Mercurial > hg > CbC > CbC_gcc
diff gcc/testsuite/c-c++-common/Wimplicit-fallthrough-36.c @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gcc/testsuite/c-c++-common/Wimplicit-fallthrough-36.c Thu Oct 25 07:37:49 2018 +0900 @@ -0,0 +1,72 @@ +/* PR c/79153 */ +/* { dg-do compile } */ +/* { dg-options "-Wimplicit-fallthrough" } */ + +int +test (int v1, int v2) +{ + switch (v1) + { + case 3: + switch (v2) /* { dg-warning "this statement may fall through" } */ + { + case 1: + return 28; + case 2: + return 38; + case 3: + return 88; + default: + break; + } + case 4: /* { dg-message "here" } */ + return 168; + case 5: + switch (v2) /* { dg-warning "this statement may fall through" } */ + { + case 4: + break; + case 5: + return 38; + case 6: + return 88; + } + case 6: /* { dg-message "here" } */ + return 169; + case 7: + switch (v2) /* { dg-warning "this statement may fall through" } */ + { + case 7: + return 38; + case 8: + return 88; + } + case 8: /* { dg-message "here" } */ + return 170; + case 9: + switch (v2) /* { dg-bogus "this statement may fall through" } */ + { + case 9: + return 38; + case 10: + return 88; + default: + return 89; + } + case 10: + return 171; + case 11: + switch (v2) /* { dg-bogus "this statement may fall through" } */ + { + case -__INT_MAX__ - 1 ... 31: + return 38; + case 32: + return 88; + case 33 ... __INT_MAX__: + return 89; + } + case 12: + return 172; + } + return -1; +}