1 // RUN: %clang_cc1 -fsyntax-only -verify -Wall -Wno-unused-but-set-variable -fblocks %s
5 void f(bool b1
, bool b2
) {
24 void f(bool b1
, bool b2
) {
43 end
= 1; // expected-error{{incompatible integer to pointer conversion assigning to 'double *' from 'int'}}
48 goto end
; // expected-error{{use of undeclared label 'end'}}
60 end
: // expected-warning{{unused label 'end'}}
76 struct NonPOD
{ NonPOD(); ~NonPOD(); };
81 goto undeclared
; // expected-error{{use of undeclared label 'undeclared'}}
89 goto undeclared
; // expected-error{{use of undeclared label 'undeclared'}}
112 goto done
; // expected-error {{cannot jump}}
113 const S
s2(s
); // expected-note {{jump bypasses variable initialization}}
120 struct A
{ A(); A(const A
&); ~A(); };
121 void test(A a
) { // expected-note {{jump enters lifetime of block}} FIXME: weird location
122 goto lbl
; // expected-error {{cannot jump}}
123 (void) ^{ (void) a
; };