blob: f6b35361570a25b5e69904d6ae7108aa08468133 [file] [log] [blame]
Daniel Dunbara5728872009-12-15 20:14:24 +00001// RUN: %clang_cc1 -triple i386-unknown-unknown -emit-llvm %s -o %t
Daniel Dunbare4c92382009-02-13 22:58:39 +00002
Lauro Ramos Venancio305762c2008-02-18 22:44:02 +00003void f1() {
4 // Scalars in braces.
5 int a = { 1 };
Lauro Ramos Venancio305762c2008-02-18 22:44:02 +00006}
7
8void f2() {
9 int a[2][2] = { { 1, 2 }, { 3, 4 } };
10 int b[3][3] = { { 1, 2 }, { 3, 4 } };
11 int *c[2] = { &a[1][1], &b[2][2] };
12 int *d[2][2] = { {&a[1][1], &b[2][2]}, {&a[0][0], &b[1][1]} };
13 int *e[3][3] = { {&a[1][1], &b[2][2]}, {&a[0][0], &b[1][1]} };
Lauro Ramos Venancio145cd892008-02-19 19:27:31 +000014 char ext[3][3] = {".Y",".U",".V"};
Anders Carlssona3881fc2008-01-29 01:28:48 +000015}
Chris Lattnerd3c38562008-05-04 00:56:25 +000016
17typedef void (* F)(void);
18extern void foo(void);
19struct S { F f; };
20void f3() {
21 struct S a[1] = { { foo } };
22}
23
Daniel Dunbare4c92382009-02-13 22:58:39 +000024// Constants
Daniel Dunbar4fcfde42009-11-08 01:45:36 +000025// RUN: grep '@g3 = constant i32 10' %t
Daniel Dunbare4c92382009-02-13 22:58:39 +000026// RUN: grep '@f4.g4 = internal constant i32 12' %t
27const int g3 = 10;
28int f4() {
29 static const int g4 = 12;
30 return g4;
31}