summaryrefslogtreecommitdiffstats
path: root/test/SemaCXX/expressions.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/SemaCXX/expressions.cpp')
-rw-r--r--test/SemaCXX/expressions.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/test/SemaCXX/expressions.cpp b/test/SemaCXX/expressions.cpp
index b51194a..c4e9dcc 100644
--- a/test/SemaCXX/expressions.cpp
+++ b/test/SemaCXX/expressions.cpp
@@ -14,3 +14,21 @@ void f0() {
register int x;
f0_1(&x);
}
+
+namespace test1 {
+ template <class T> void bar(T &x) { T::fail(); }
+ template <class T> void bar(volatile T &x) {}
+
+ void test_ints() {
+ volatile int x;
+ bar(x = 5);
+ bar(x += 5);
+ }
+
+ enum E { E_zero };
+ void test_enums() {
+ volatile E x;
+ bar(x = E_zero);
+ bar(x += E_zero); // expected-error {{incompatible type}}
+ }
+}
OpenPOWER on IntegriCloud