1ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao// RUN: %clang_cc1 -emit-llvm %s -o %t
2ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
3ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaoint A[10] = { 1,2,3,4,5 };
4ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
5ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
6ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaoextern int x[];
7ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaovoid foo() { x[0] = 1; }
8ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaoint x[10];
9ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaovoid bar() { x[0] = 1; }
10ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
11ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
12ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaoextern int y[];
13ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaovoid *g = y;
14ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
15ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaoint latin_ptr2len (char *p);
16ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaoint (*mb_ptr2len) (char *p) = latin_ptr2len;
17ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
18ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
19ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaochar string[8] = "string";   // extend init
20ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaochar string2[4] = "string";  // truncate init
21ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
22ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaochar *test(int c) {
23ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao static char buf[10];
24ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao static char *bufptr = buf;
25ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
26ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao return c ? buf : bufptr;
27ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao}
28ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
29ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
30ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao_Bool booltest = 0;
31ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaovoid booltest2() {
32ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  static _Bool booltest3 = 4;
33ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao}
34ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
35ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao// Scalars in braces.
36ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaostatic int a = { 1 };
37ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
38ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao// References to enums.
39ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaoenum {
40ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  EnumA, EnumB
41ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao};
42ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
43ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaoint c[] = { EnumA, EnumB };
44ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
45ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao// Binary operators
46ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaoint d[] = { EnumA | EnumB };
47ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
48ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao// PR1968
49ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaostatic int array[];
50ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaostatic int array[4];
51ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
52