diff options
| author | Francois Pichet <pichet2000@gmail.com> | 2010-10-18 15:01:13 +0000 |
|---|---|---|
| committer | Francois Pichet <pichet2000@gmail.com> | 2010-10-18 15:01:13 +0000 |
| commit | a310806ae57f873baf1d0a4de47eb122fd9d4202 (patch) | |
| tree | 5427075ca0e54b0870e8072ed150b270443df22f /clang/test/Sema | |
| parent | 6769922d8c5f5ae49c4d0c040eabcdf3a567a573 (diff) | |
| download | bcm5719-llvm-a310806ae57f873baf1d0a4de47eb122fd9d4202.tar.gz bcm5719-llvm-a310806ae57f873baf1d0a4de47eb122fd9d4202.zip | |
Microsoft enum extensions. 2 things will change on -fms-extensions:
1. enum underlying type is int by default.
2. Error "enumerator value is not representable in the underlying type"is a ExtWarning
llvm-svn: 116704
Diffstat (limited to 'clang/test/Sema')
| -rw-r--r-- | clang/test/Sema/MicrosoftExtensions.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/clang/test/Sema/MicrosoftExtensions.c b/clang/test/Sema/MicrosoftExtensions.c index 96c5639810b..47071a383d6 100644 --- a/clang/test/Sema/MicrosoftExtensions.c +++ b/clang/test/Sema/MicrosoftExtensions.c @@ -19,3 +19,15 @@ struct D { int l; int D[]; }; + + +enum ENUM1; // expected-warning {{forward references to 'enum' types are a Microsoft extension}} +enum ENUM1 var1 = 3; +enum ENUM1* var2 = 0; + + +enum ENUM2 { + ENUM2_a = (enum ENUM2) 4, + ENUM2_b = 0x9FFFFFFF, // expected-warning {{enumerator value is not representable in the underlying type 'int'}} + ENUM2_c = 0x100000000 // expected-warning {{enumerator value is not representable in the underlying type 'int'}} +}; |

