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