member-expressions.cpp revision a5728872c7702ddd09537c95bc3cbd20e1f2fb09
1// RUN: %clang_cc1 -emit-llvm %s -o - -triple=x86_64-apple-darwin10 | FileCheck %s 2 3// PR5392 4namespace PR5392 { 5struct A 6{ 7 static int a; 8}; 9 10A a1; 11void f() 12{ 13 // CHECK: store i32 10, i32* @_ZN6PR53921A1aE 14 a1.a = 10; 15 // CHECK: store i32 20, i32* @_ZN6PR53921A1aE 16 A().a = 20; 17} 18 19} 20 21struct A { 22 A(); 23 ~A(); 24 enum E { Foo }; 25}; 26 27A *g(); 28 29void f(A *a) { 30 A::E e1 = a->Foo; 31 32 // CHECK: call %struct.A* @_Z1gv() 33 A::E e2 = g()->Foo; 34 // CHECK: call void @_ZN1AC1Ev( 35 // CHECK: call void @_ZN1AD1Ev( 36 A::E e3 = A().Foo; 37} 38 39namespace test3 { 40struct A { 41 static int foo(); 42}; 43int f() { 44 return A().foo(); 45} 46} 47