1// RUN: %clang_cc1 -triple i386-pc-linux-gnu -emit-llvm -o %t %s 2// RUN: grep "g.b = internal global i8. getelementptr" %t 3 4struct AStruct { 5 int i; 6 char *s; 7 double d; 8}; 9 10void f() { 11 static int i = 42; 12 static int is[] = { 1, 2, 3, 4 }; 13 static char* str = "forty-two"; 14 static char* strs[] = { "one", "two", "three", "four" }; 15 static struct AStruct myStruct = { 1, "two", 3.0 }; 16} 17 18void g() { 19 static char a[10]; 20 static char *b = a; 21} 22 23struct s { void *p; }; 24 25void foo(void) { 26 static struct s var = {((void*)&((char*)0)[0])}; 27} 28 29// RUN: grep "f1.l0 = internal global i32 ptrtoint (i32 ()\* @f1 to i32)" %t 30int f1(void) { static int l0 = (unsigned) f1; } 31 32// PR7044 33char *f2(char key) { 34 switch (key) { 35 static char _msg[40]; 36 case '\014': 37 return _msg; 38 } 39 40 return 0; 41} 42