From 222e2a7620e6520ffaf4fc4e69d79c18da31542e Mon Sep 17 00:00:00 2001 From: "Zancanaro; Carlo" Date: Mon, 24 Sep 2012 09:58:17 +1000 Subject: Add the clang library to the repo (with some of my changes, too). --- clang/test/PCH/pr4489.c | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 clang/test/PCH/pr4489.c (limited to 'clang/test/PCH/pr4489.c') 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"); +} -- cgit v1.2.3