Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/c-c++-common/Wimplicit-fallthrough-7.c @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
/* PR c/7652 */ /* { dg-do compile } */ /* { dg-require-effective-target alloca } */ /* { dg-options "-Wimplicit-fallthrough" } */ extern void bar (int); extern int bar2 (void); extern int *map; void f (int i) { switch (i) { case 1: bar (0); /* { dg-warning "statement may fall through" } */ static int i = 10; case 2: bar (99); } switch (i) { case 1: { /* { dg-warning "statement may fall through" "" { target c } } */ int a[i]; /* { dg-warning "statement may fall through" "" { target c++ } } */ } case 2: bar (99); } switch (i) { case 1: for (int j = 0; j < 10; j++) /* { dg-warning "statement may fall through" "" { target c } } */ map[j] = j; /* { dg-warning "statement may fall through" "" { target c++ } } */ case 2: bar (99); } switch (i) { case 1: do bar (2); while (--i); /* { dg-warning "statement may fall through" } */ case 2: bar (99); } switch (i) { case 1: { switch (i + 2) /* { dg-warning "statement may fall through" } */ case 4: bar (1); case 5: bar (5); return; } case 2: bar (99); } switch (i) { case 1:; case 2:; } switch (i) { } switch (i) { case 1: if (i & 1) /* { dg-warning "statement may fall through" } */ { bar (23); break; } case 2: bar (99); } switch (i) { case 1: if (i > 9) /* { dg-warning "statement may fall through" } */ { bar (9); if (i == 10) { bar (10); break; } } case 2: bar (99); } int r; switch (i) { case 1: r = bar2 (); if (r) /* { dg-warning "statement may fall through" } */ break; case 2: bar (99); } switch (i) { case 1: r = bar2 (); if (r) return; if (!i) /* { dg-warning "statement may fall through" } */ return; case 2: bar (99); } }