block-labels.c revision 2fda14afb1e3234aad9a15e83c8ab5285fee35a4
1// RUN: %clang_cc1 %s -verify -fblocks -fsyntax-only 2 3void xx(); 4 5int a() { 6 A: 7 8 if (1) xx(); 9 return ^{ 10 A: return 1; 11 }(); 12} 13int b() { 14 A: return ^{int a; A:return 1;}(); 15} 16 17int d() { 18 A: return ^{int a; A: a = ^{int a; A:return 1;}() + ^{int b; A:return 2;}(); return a; }(); 19} 20 21int c() { 22 goto A; // expected-error {{use of undeclared label 'A'}} 23 return ^{ 24 A: 25 return 1; 26 }(); 27} 28