// RUN: %clang_cc1 %s -fsyntax-only -pedantic -verify void foo() { return foo(); } // PR6451 - C++ Jump checking struct X { X(); }; void test2() { goto later; // expected-error {{cannot jump}} X x; // expected-note {{jump bypasses variable initialization}} later: ; } 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)); } template T test7(T v) { return ({ // expected-warning{{use of GNU statement expression extension}} T a = v; a; ; ; }); } void test8() { int a = test7(1); double b = test7(2.0); }