23 lines
		
	
	
		
			386 B
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			23 lines
		
	
	
		
			386 B
		
	
	
	
		
			C++
		
	
	
	
| // 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 {{goto into protected scope}}
 | |
|   X x;         // expected-note {{jump bypasses variable initialization}} 
 | |
| later:
 | |
|   ;
 | |
| }
 | |
| 
 | |
| namespace PR6536 {
 | |
|   struct A {};
 | |
|   void a() { goto out; A x; out: return; }
 | |
| }
 |