// RUN: %clang_cc1 -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(); | |
} | |
} |