clang-1/test/CodeGenCXX/member-expressions.cpp

47 строки
622 B
C++

// 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();
}
}