diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2013-10-15 04:56:17 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2013-10-15 04:56:17 +0000 |
commit | e952106164f6b3bc5e9069551e06dc14f53eedeb (patch) | |
tree | b113a8059d98b8bbd6555880cb2270a1f23236a9 /clang/test/SemaCXX/enum-scoped.cpp | |
parent | 84342d69b0c88179711e598eabf8daf99ec4c4c9 (diff) | |
download | bcm5719-llvm-e952106164f6b3bc5e9069551e06dc14f53eedeb.tar.gz bcm5719-llvm-e952106164f6b3bc5e9069551e06dc14f53eedeb.zip |
Correctly skip type sugar when determining the width of an enum type. Derived
from a patch by Justin Bogner.
llvm-svn: 192671
Diffstat (limited to 'clang/test/SemaCXX/enum-scoped.cpp')
-rw-r--r-- | clang/test/SemaCXX/enum-scoped.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/clang/test/SemaCXX/enum-scoped.cpp b/clang/test/SemaCXX/enum-scoped.cpp index a9a6de9592e..c6869449caa 100644 --- a/clang/test/SemaCXX/enum-scoped.cpp +++ b/clang/test/SemaCXX/enum-scoped.cpp @@ -271,3 +271,14 @@ namespace PR16900 { enum class A; A f(A a) { return -a; } // expected-error {{invalid argument type 'PR16900::A' to unary expression}} } + +namespace rdar15124329 { + enum class B : bool { F, T }; + + const rdar15124329::B T1 = B::T; + typedef B C; const C T2 = B::T; + + static_assert(T1 != B::F, ""); + static_assert(T2 == B::T, ""); +} + |