summaryrefslogtreecommitdiffstats
path: root/test/SemaCXX/statements.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/SemaCXX/statements.cpp')
-rw-r--r--test/SemaCXX/statements.cpp19
1 files changed, 18 insertions, 1 deletions
diff --git a/test/SemaCXX/statements.cpp b/test/SemaCXX/statements.cpp
index 6d04c84..15b0b50 100644
--- a/test/SemaCXX/statements.cpp
+++ b/test/SemaCXX/statements.cpp
@@ -10,7 +10,7 @@ struct X {
};
void test2() {
- goto later; // expected-error {{goto into protected scope}}
+ goto later; // expected-error {{cannot jump}}
X x; // expected-note {{jump bypasses variable initialization}}
later:
;
@@ -20,3 +20,20 @@ namespace PR6536 {
struct A {};
void a() { goto out; A x; out: return; }
}
+
+void test3() {
+ __asm__ ("":"+r" (test3)); // expected-error{{invalid lvalue in asm output}}
+}
+
+void test4(); // expected-note{{possible target for call}}
+void test4(int) { // expected-note{{possible target for call}}
+ // expected-error@+1{{overloaded function could not be resolved}}
+ __asm__ ("":"+r" (test4)); // expected-error{{invalid lvalue in asm output}}
+}
+void test5() {
+ char buf[1];
+ __asm__ ("":"+r" (buf));
+}
+
+struct MMX_t {};
+void test6() { __asm__("" : "=m"(*(MMX_t *)0)); }
OpenPOWER on IntegriCloud