1 // RUN: %clang -x c-header -o %t.pch %s 2 // RUN: echo > %t.empty.c 3 // RUN: %clang -include %t -x c %t.empty.c -emit-llvm -S -o - 4 5 // PR 4489: Crash with PCH 6 // PR 4492: Crash with PCH (round two) 7 // PR 4509: Crash with PCH (round three) 8 typedef struct _IO_FILE FILE; 9 extern int fprintf (struct _IO_FILE *__restrict __stream, 10 __const char *__restrict __format, ...); 11 x(void)12int x(void) 13 { 14 switch (1) { 15 case 2: ; 16 int y = 0; 17 } 18 } 19 y(void)20void y(void) { 21 extern char z; 22 fprintf (0, "a"); 23 } 24 25 struct y0 { int i; } y0[1] = {}; 26 x0(void)27void x0(void) 28 { 29 extern char z0; 30 fprintf (0, "a"); 31 } 32 x1(void)33void x1(void) 34 { 35 fprintf (0, "asdf"); 36 } 37 y1(void)38void y1(void) 39 { 40 extern char e; 41 fprintf (0, "asdf"); 42 } 43