• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // RUN: %clang_cc1 -emit-llvm %s -o - -cxx-abi microsoft -triple=i386-pc-win32 | FileCheck %s
2 
3 class A {
4  public:
A()5   A() { }
~A()6   ~A() { }
7 };
8 
no_contstructor_destructor_infinite_recursion()9 void no_contstructor_destructor_infinite_recursion() {
10   A a;
11 
12 // Make sure that the constructor doesn't call itself:
13 // CHECK: define {{.*}} @"\01??0A@@QAE@XZ"
14 // CHECK-NOT: call void @"\01??0A@@QAE@XZ"
15 // CHECK: ret
16 
17 // Make sure that the destructor doesn't call itself:
18 // CHECK: define {{.*}} @"\01??1A@@QAE@XZ"
19 // CHECK-NOT: call void @"\01??1A@@QAE@XZ"
20 // CHECK: ret
21 }
22