1651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// RUN: %clang_cc1 -triple x86_64-apple-darwin -std=c++11 -emit-llvm %s -o - | \
2651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// RUN: FileCheck %s
3651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// RUN: %clang_cc1 -triple i386-apple-darwin -std=c++11 -emit-llvm %s -o - | \
4651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// RUN: FileCheck %s
5ae013b9da64b48f22ca82828aa3c7a909f99dbd7Fariborz Jahanian
6ae013b9da64b48f22ca82828aa3c7a909f99dbd7Fariborz Jahanianextern "C" int printf(...);
7ae013b9da64b48f22ca82828aa3c7a909f99dbd7Fariborz Jahanian
8ae013b9da64b48f22ca82828aa3c7a909f99dbd7Fariborz Jahanianstatic int count;
9ae013b9da64b48f22ca82828aa3c7a909f99dbd7Fariborz Jahanianstatic float fcount;
10ae013b9da64b48f22ca82828aa3c7a909f99dbd7Fariborz Jahanian
11ae013b9da64b48f22ca82828aa3c7a909f99dbd7Fariborz Jahanianclass xpto {
12ae013b9da64b48f22ca82828aa3c7a909f99dbd7Fariborz Jahanianpublic:
13ae013b9da64b48f22ca82828aa3c7a909f99dbd7Fariborz Jahanian  xpto() : i(count++), f(fcount++) {
14ae013b9da64b48f22ca82828aa3c7a909f99dbd7Fariborz Jahanian    printf("xpto::xpto()\n");
15ae013b9da64b48f22ca82828aa3c7a909f99dbd7Fariborz Jahanian  }
16ae013b9da64b48f22ca82828aa3c7a909f99dbd7Fariborz Jahanian  int i;
17ae013b9da64b48f22ca82828aa3c7a909f99dbd7Fariborz Jahanian  float f;
18ae013b9da64b48f22ca82828aa3c7a909f99dbd7Fariborz Jahanian
19ae013b9da64b48f22ca82828aa3c7a909f99dbd7Fariborz Jahanian  ~xpto() {
20ae013b9da64b48f22ca82828aa3c7a909f99dbd7Fariborz Jahanian    printf("xpto::~xpto()\n");
21ae013b9da64b48f22ca82828aa3c7a909f99dbd7Fariborz Jahanian  }
22ae013b9da64b48f22ca82828aa3c7a909f99dbd7Fariborz Jahanian};
23ae013b9da64b48f22ca82828aa3c7a909f99dbd7Fariborz Jahanian
24ae013b9da64b48f22ca82828aa3c7a909f99dbd7Fariborz Jahanianint main() {
25ae013b9da64b48f22ca82828aa3c7a909f99dbd7Fariborz Jahanian  xpto array[2][3][4];
26ae013b9da64b48f22ca82828aa3c7a909f99dbd7Fariborz Jahanian  for (int h = 0; h < 2; h++)
27ae013b9da64b48f22ca82828aa3c7a909f99dbd7Fariborz Jahanian   for (int i = 0; i < 3; i++)
28ae013b9da64b48f22ca82828aa3c7a909f99dbd7Fariborz Jahanian    for (int j = 0; j < 4; j++)
29ae013b9da64b48f22ca82828aa3c7a909f99dbd7Fariborz Jahanian       printf("array[%d][%d][%d] = {%d, %f}\n",
30ae013b9da64b48f22ca82828aa3c7a909f99dbd7Fariborz Jahanian              h, i, j, array[h][i][j].i, array[h][i][j].f);
31ae013b9da64b48f22ca82828aa3c7a909f99dbd7Fariborz Jahanian}
32ae013b9da64b48f22ca82828aa3c7a909f99dbd7Fariborz Jahanian
33651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: call void @_ZN4xptoC1Ev
34