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