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