OSDN Git Service

* doc/md.texi (Machine Constraints): Refer to all files with paths
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.dg / stmt-expr-label-2.c
1 /* Test for labels in statement expressions: bugs 772 and 17913.
2    switch statements must not jump into statement expressions.  */
3
4 /* Origin: Joseph Myers <joseph@codesourcery.com> */
5 /* { dg-do compile } */
6 /* { dg-options "" } */
7
8 void
9 f (int a)
10 {
11   switch (a)
12     {
13     case 0:
14     case 1:
15       ({
16       case 2: /* { dg-error "error: case label in statement expression not containing enclosing switch statement" } */
17       default: /* { dg-error "error: 'default' label in statement expression not containing enclosing switch statement" } */
18         switch (a)
19           {
20           case 3:
21           default:
22             ;
23           }
24         0;
25       });
26     }
27 }