summaryrefslogtreecommitdiffstats
path: root/clang/test/SemaCXX/enum-scoped.cpp
diff options
context:
space:
mode:
authorEli Friedman <eli.friedman@gmail.com>2013-08-16 00:09:18 +0000
committerEli Friedman <eli.friedman@gmail.com>2013-08-16 00:09:18 +0000
commit9ee175d8f0975c459a1c90141d69bd78f3ea0047 (patch)
tree12d984e5c9571b692ebd2e427e51218b5af7e841 /clang/test/SemaCXX/enum-scoped.cpp
parent2a1d9a92903473486b2e476e065658c34039cad2 (diff)
downloadbcm5719-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.cpp5
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}}
+}
OpenPOWER on IntegriCloud