// RUN: clang-cc -emit-llvm %s -o - -triple=x86_64-apple-darwin10 | FileCheck %s // PR5392 namespace PR5392 { struct A { static int a; }; A a1; void f() { // CHECK: store i32 10, i32* @_ZN6PR53921A1aE a1.a = 10; // CHECK: store i32 20, i32* @_ZN6PR53921A1aE A().a = 20; } } struct A { A(); ~A(); enum E { Foo }; }; A *g(); void f(A *a) { A::E e1 = a->Foo; // CHECK: call %struct.A* @_Z1gv() A::E e2 = g()->Foo; // CHECK: call void @_ZN1AC1Ev( // CHECK: call void @_ZN1AD1Ev( A::E e3 = A().Foo; } namespace test3 { struct A { static int foo(); }; int f() { return A().foo(); } }