diff options
author | Chris Lattner <sabre@nondot.org> | 2008-07-25 23:18:17 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2008-07-25 23:18:17 +0000 |
commit | 834a72ac74cf4ff07ba6215545dba3db578f8a07 (patch) | |
tree | f960808436ff542480fe7577898626489185d0bf /test/Sema/enum.c | |
parent | e8e4f928e51091c1f9c7f5b4595941e33dc0bfec (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.c | 15 |
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; +} + |