diff options
Diffstat (limited to 'test/SemaCXX/statements.cpp')
| -rw-r--r-- | test/SemaCXX/statements.cpp | 19 | 
1 files changed, 18 insertions, 1 deletions
| diff --git a/test/SemaCXX/statements.cpp b/test/SemaCXX/statements.cpp index 6d04c84a6752..15b0b50ddc75 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)); } | 
