diff options
author | Douglas Gregor <dgregor@apple.com> | 2011-02-22 20:32:04 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2011-02-22 20:32:04 +0000 |
commit | a1aec29a2d09edcc8ef487eddef289e7e6842f16 (patch) | |
tree | 67447de84cb61e1f2c6e5c65539c39e9068cefba /clang/test/SemaCXX/MicrosoftExtensions.cpp | |
parent | 7a24210ebdcefc1446369ec98f4209a93353335e (diff) | |
download | bcm5719-llvm-a1aec29a2d09edcc8ef487eddef289e7e6842f16.tar.gz bcm5719-llvm-a1aec29a2d09edcc8ef487eddef289e7e6842f16.zip |
Enable enumeration types with a fixed underlying type, e.g.,
enum X : long { Value = 0x100000000 };
when in Microsoft-extension mode (-fms-extensions). This (now C++0x)
feature has been supported since Microsoft Visual Studio .NET 2003.
llvm-svn: 126243
Diffstat (limited to 'clang/test/SemaCXX/MicrosoftExtensions.cpp')
-rw-r--r-- | clang/test/SemaCXX/MicrosoftExtensions.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/clang/test/SemaCXX/MicrosoftExtensions.cpp b/clang/test/SemaCXX/MicrosoftExtensions.cpp index 2bcbbcaeb52..3592e2760ae 100644 --- a/clang/test/SemaCXX/MicrosoftExtensions.cpp +++ b/clang/test/SemaCXX/MicrosoftExtensions.cpp @@ -109,3 +109,16 @@ int main() f(0xffffffffffffffffLL); f(0xffffffffffffffffi64); } + +// Enumeration types with a fixed underlying type. +const int seventeen = 17; +typedef int Int; + +struct X0 { + enum E1 : Int { SomeOtherValue } field; // expected-warning{{enumeration types with a fixed underlying type are a Microsoft extension}} + enum E1 : seventeen; +}; + +enum : long { // expected-warning{{enumeration types with a fixed underlying type are a Microsoft extension}} + SomeValue = 0x100000000 +}; |