Home | History | Annotate | Download | only in CodeGenCXX
      1 // REQUIRES: x86-64-registered-target
      2 // RUN: %clang_cc1 -triple x86_64-apple-darwin -std=c++11 -S %s -o %t-64.s
      3 // RUN: FileCheck -check-prefix LP64 --input-file=%t-64.s %s
      4 
      5 extern "C" int printf(...);
      6 
      7 int count;
      8 
      9 struct S {
     10   S() : iS(++count) { printf("S::S(%d)\n", iS); }
     11   ~S() { printf("S::~S(%d)\n", iS); }
     12   int iS;
     13 };
     14 
     15 
     16 S arr[2][1];
     17 S s1;
     18 S arr1[3];
     19 static S sarr[4];
     20 
     21 int main () {}
     22 S arr2[2];
     23 static S sarr1[4];
     24 S s2;
     25 S arr3[3];
     26 
     27 // CHECK-LP64: callq    ___cxa_atexit
     28 // CHECK-LP64: callq    ___cxa_atexit
     29 // CHECK-LP64: callq    ___cxa_atexit
     30 // CHECK-LP64: callq    ___cxa_atexit
     31 // CHECK-LP64: callq    ___cxa_atexit
     32 // CHECK-LP64: callq    ___cxa_atexit
     33 // CHECK-LP64: callq    ___cxa_atexit
     34 // CHECK-LP64: callq    ___cxa_atexit
     35