aboutsummaryrefslogtreecommitdiff
path: root/test/Sema/enum.c
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2008-07-25 23:18:17 +0000
committerChris Lattner <sabre@nondot.org>2008-07-25 23:18:17 +0000
commit834a72ac74cf4ff07ba6215545dba3db578f8a07 (patch)
treef960808436ff542480fe7577898626489185d0bf /test/Sema/enum.c
parente8e4f928e51091c1f9c7f5b4595941e33dc0bfec (diff)
Fix rdar://6095136, various crashes with incomplete enum types.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54074 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Sema/enum.c')
-rw-r--r--test/Sema/enum.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/test/Sema/enum.c b/test/Sema/enum.c
index 2a20d3d7d5..8d184d3d85 100644
--- a/test/Sema/enum.c
+++ b/test/Sema/enum.c
@@ -33,3 +33,18 @@ int test2(int i)
union u0; // expected-error {{previous use is here}}
enum u0 { U0A }; // expected-error {{error: use of 'u0' with tag type that does not match previous declaration}}
+
+// rdar://6095136
+extern enum some_undefined_enum ve2; // expected-warning {{ISO C forbids forward references to 'enum' types}}
+
+void test4() {
+ for (; ve2;) // expected-error {{statement requires expression of scalar type}}
+ ;
+ (_Bool)ve2; // expected-error {{statement requires expression of scalar type}}
+
+ for (; ;ve2)
+ ;
+ (void)ve2;
+ ve2;
+}
+