(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
nested-func-1.c
       1  /* Test for proper errors for break and continue in nested functions.  */
       2  /* Origin: Joseph Myers <jsm@polyomino.org.uk> */
       3  /* { dg-do compile } */
       4  /* { dg-options "-Wno-switch-unreachable" } */
       5  
       6  void
       7  foo (int a)
       8  {
       9    switch (a) {
      10      void bar1 (void) { break; } /* { dg-error "break statement" "break switch 1" } */
      11    }
      12    switch (a) {
      13    case 0:
      14      (void) 0;
      15      void bar2 (void) { break; } /* { dg-error "break statement" "break switch 2" } */
      16    }
      17    while (1) {
      18      void bar3 (void) { break; } /* { dg-error "break statement" "break while" } */
      19    }
      20    do {
      21      void bar4 (void) { break; } /* { dg-error "break statement" "break do" } */
      22    } while (1);
      23    for (;;) {
      24      void bar5 (void) { break; } /* { dg-error "break statement" "break for" } */
      25    }
      26    while (1) {
      27      void bar6 (void) { continue; } /* { dg-error "continue statement" "continue while" } */
      28    }
      29    do {
      30      void bar7 (void) { continue; } /* { dg-error "continue statement" "continue do" } */
      31    } while (1);
      32    for (;;) {
      33      void bar8 (void) { continue; } /* { dg-error "continue statement" "continue for" } */
      34    }
      35  }