foo(void)1static int foo(void) 2 { 3 goto l; 4 ({ 5 l: 6 0; 7 }); 8 goto l; 9 } 10 bar(void)11static void bar(void) 12 { 13 goto l; 14 goto l; 15 ({ 16 l: 17 0; 18 }); 19 } 20 baz(void)21static void baz(void) 22 { 23 ({ 24 l: 25 0; 26 }); 27 goto l; 28 goto l; 29 } 30 31 /* 32 * check-name: label-stmt-expr2 33 * 34 * check-error-start 35 label-stmt-expr2.c:3:9: error: label 'l' used outside statement expression 36 label-stmt-expr2.c:5:1: label 'l' defined here 37 label-stmt-expr2.c:8:9: error: label 'l' used outside statement expression 38 label-stmt-expr2.c:5:1: label 'l' defined here 39 label-stmt-expr2.c:13:9: error: label 'l' used outside statement expression 40 label-stmt-expr2.c:16:1: label 'l' defined here 41 label-stmt-expr2.c:27:9: error: label 'l' used outside statement expression 42 label-stmt-expr2.c:24:1: label 'l' defined here 43 label-stmt-expr2.c:28:9: error: label 'l' used outside statement expression 44 label-stmt-expr2.c:24:1: label 'l' defined here 45 * check-error-end 46 */ 47