diff options
author | Eli Friedman <eli.friedman@gmail.com> | 2013-08-16 00:09:18 +0000 |
---|---|---|
committer | Eli Friedman <eli.friedman@gmail.com> | 2013-08-16 00:09:18 +0000 |
commit | 9ee175d8f0975c459a1c90141d69bd78f3ea0047 (patch) | |
tree | 12d984e5c9571b692ebd2e427e51218b5af7e841 /clang/test/SemaCXX/enum-scoped.cpp | |
parent | 2a1d9a92903473486b2e476e065658c34039cad2 (diff) | |
download | bcm5719-llvm-9ee175d8f0975c459a1c90141d69bd78f3ea0047.tar.gz bcm5719-llvm-9ee175d8f0975c459a1c90141d69bd78f3ea0047.zip |
Don't allow unary negation on scoped enums.
PR16900.
llvm-svn: 188511
Diffstat (limited to 'clang/test/SemaCXX/enum-scoped.cpp')
-rw-r--r-- | clang/test/SemaCXX/enum-scoped.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/clang/test/SemaCXX/enum-scoped.cpp b/clang/test/SemaCXX/enum-scoped.cpp index d01000d22bb..a9a6de9592e 100644 --- a/clang/test/SemaCXX/enum-scoped.cpp +++ b/clang/test/SemaCXX/enum-scoped.cpp @@ -266,3 +266,8 @@ namespace PR15633 { struct B { enum class E; }; template<typename T> enum class B::E { e }; // expected-error {{enumeration cannot be a template}} } + +namespace PR16900 { + enum class A; + A f(A a) { return -a; } // expected-error {{invalid argument type 'PR16900::A' to unary expression}} +} |