minix/external/bsd/llvm/dist/clang/test/CodeGenCXX/default-destructor-synthesis.cpp

39 lines
528 B
C++
Raw Normal View History

// RUN: %clang_cc1 %s -triple=x86_64-apple-darwin10 -emit-llvm -O2 -o - | FileCheck %s
static int count = 0;
struct S {
S() { count++; }
~S() { count--; }
};
struct P {
P() { count++; }
~P() { count--; }
};
struct Q {
Q() { count++; }
~Q() { count--; }
};
struct M : Q, P {
S s;
Q q;
P p;
P p_arr[3];
Q q_arr[2][3];
};
// CHECK: define i32 @_Z1fv() [[NUW:#[0-9]+]]
int f() {
{
count = 1;
M a;
}
// CHECK: ret i32 1
return count;
}
// CHECK: attributes [[NUW]] = { nounwind{{.*}} }