blob: 46c6ba8e602d1b12d18e35adf51a035ccc8b72af (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
/* N3355 - Named loops. */
/* { dg-do compile } */
/* { dg-options "-std=gnu99" } */
void
foo (int x)
{
label1:
for (int i = 0; i < 16; ++i)
another_label1:
for (int j = 0; j < 16; ++j)
break label2; /* { dg-error "'break' statement operand 'label2' does not refer to a named loop or 'switch'; did you mean 'label1'\\\?" } */
for (int i = 0; i < 16; ++i)
break label3; /* { dg-error "'break' statement operand 'label3' does not refer to a named loop or 'switch'" } */
label4: /* { dg-message "'switch' name defined here" } */
switch (x)
{
case 0:
for (int i = 0; i < 16; ++i)
continue label5; /* { dg-error "'continue' statement operand 'label5' does not refer to a named loop" } */
break label4;
case 1:
for (int i = 0; i < 16; ++i)
continue label4; /* { dg-error "'continue' statement operand 'label4' refers to a named 'switch'" } */
}
label6:
for (int i = 0; i < 16; ++i)
continue label7; /* { dg-error "'continue' statement operand 'label7' does not refer to a named loop; did you mean 'label6'\\\?" } */
label2:
for (int i = 0; i < 16; ++i)
;
label8:;
for (int i = 0; i < 16; ++i)
break label8; /* { dg-error "'break' statement operand 'label8' does not refer to a named loop or 'switch'" } */
label9:;
for (int i = 0; i < 16; ++i)
continue label9; /* { dg-error "'continue' statement operand 'label9' does not refer to a named loop" } */
label10:
;
switch (x)
{
case 0:
break label10; /* { dg-error "'break' statement operand 'label10' does not refer to a named loop or 'switch'" } */
}
}
|