1 // RUN: %clang_cc1 %s -I%S -triple=x86_64-apple-darwin10 -emit-llvm -O3 -o - | FileCheck %s
6 explicit A(unsigned a
= 0xffffffff) : a(a
) { }
12 B() : A(), Empty() { }
16 C() : A(), Empty() { }
17 C(const C
& other
) : A(0x12345678), Empty(other
) { }
21 D
& operator=(const D
& other
) {
23 Empty::operator=(other
);
29 #define CHECK(x) if (!(x)) return __LINE__
32 // CHECK: define i32 @_Z1fv()
36 // Check that A::a is not overwritten by the Empty default constructor.
37 CHECK(b1
.a
== 0xffffffff);
42 // Check that A::a has the value set in the C::C copy constructor.
43 CHECK(c2
.a
== 0x12345678);
48 // Check that A::as has the value set in the D copy assignment operator.
49 CHECK(d2
.a
== 0x87654321);
70 extern "C" void printf(const char *, ...);
78 printf("test on line %d failed!\n", result
);