diff options
Diffstat (limited to 'clang/test/PCH/pr4489.c')
-rw-r--r-- | clang/test/PCH/pr4489.c | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/clang/test/PCH/pr4489.c b/clang/test/PCH/pr4489.c new file mode 100644 index 0000000..033e55b --- /dev/null +++ b/clang/test/PCH/pr4489.c @@ -0,0 +1,48 @@ +// RUN: %clang -x c-header -o %t.pch %s +// RUN: echo > %t.empty.c +// RUN: %clang -include %t -x c %t.empty.c -emit-llvm -S -o - + +// FIXME: This test is forcibly disabled, it is flaky on the clang-i686-xp-msvc9 +// buildbot. +// +// RUN: false +// XFAIL: * + +// PR 4489: Crash with PCH +// PR 4492: Crash with PCH (round two) +// PR 4509: Crash with PCH (round three) +typedef struct _IO_FILE FILE; +extern int fprintf (struct _IO_FILE *__restrict __stream, + __const char *__restrict __format, ...); + +int x(void) +{ + switch (1) { + case 2: ; + int y = 0; + } +} + +void y(void) { + extern char z; + fprintf (0, "a"); +} + +struct y0 { int i; } y0[1] = {}; + +void x0(void) +{ + extern char z0; + fprintf (0, "a"); +} + +void x1(void) +{ + fprintf (0, "asdf"); +} + +void y1(void) +{ + extern char e; + fprintf (0, "asdf"); +} |