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