xref: /llvm-project/clang/test/CodeGenCXX/array-construction.cpp (revision 1612b810f40bf776908de01d96642b5e293038f0)
1*1612b810SRafael Espindola // RUN: %clang_cc1 -triple x86_64-apple-darwin -std=c++11 -emit-llvm %s -o - | \
2*1612b810SRafael Espindola // RUN: FileCheck %s
3*1612b810SRafael Espindola // RUN: %clang_cc1 -triple i386-apple-darwin -std=c++11 -emit-llvm %s -o - | \
4*1612b810SRafael Espindola // RUN: FileCheck %s
5f1639fffSFariborz Jahanian 
6f1639fffSFariborz Jahanian extern "C" int printf(...);
7f1639fffSFariborz Jahanian 
8f1639fffSFariborz Jahanian static int count;
9f1639fffSFariborz Jahanian static float fcount;
10f1639fffSFariborz Jahanian 
11f1639fffSFariborz Jahanian class xpto {
12f1639fffSFariborz Jahanian public:
xpto()13f1639fffSFariborz Jahanian   xpto() : i(count++), f(fcount++) {
14f1639fffSFariborz Jahanian     printf("xpto::xpto()\n");
15f1639fffSFariborz Jahanian   }
16f1639fffSFariborz Jahanian   int i;
17f1639fffSFariborz Jahanian   float f;
18f1639fffSFariborz Jahanian 
~xpto()19f1639fffSFariborz Jahanian   ~xpto() {
20f1639fffSFariborz Jahanian     printf("xpto::~xpto()\n");
21f1639fffSFariborz Jahanian   }
22f1639fffSFariborz Jahanian };
23f1639fffSFariborz Jahanian 
main()24f1639fffSFariborz Jahanian int main() {
25f1639fffSFariborz Jahanian   xpto array[2][3][4];
26f1639fffSFariborz Jahanian   for (int h = 0; h < 2; h++)
27f1639fffSFariborz Jahanian    for (int i = 0; i < 3; i++)
28f1639fffSFariborz Jahanian     for (int j = 0; j < 4; j++)
29f1639fffSFariborz Jahanian        printf("array[%d][%d][%d] = {%d, %f}\n",
30f1639fffSFariborz Jahanian               h, i, j, array[h][i][j].i, array[h][i][j].f);
31f1639fffSFariborz Jahanian }
32f1639fffSFariborz Jahanian 
33*1612b810SRafael Espindola // CHECK: call void @_ZN4xptoC1Ev
34