| // PR c++/88983 |
| // { dg-do compile { target c++14 } } |
| |
| constexpr int |
| fn1 (int ay) |
| { |
| switch (ay) |
| { |
| if (1) |
| { |
| case 1: |
| return 1; |
| } |
| else |
| { |
| default:; |
| } |
| } |
| |
| return 0; |
| } |
| |
| constexpr int |
| fn2 (int ay) |
| { |
| switch (ay) |
| { |
| if (1) |
| { |
| case 1: |
| break; |
| } |
| else |
| { |
| default:; |
| } |
| } |
| |
| return 0; |
| } |
| |
| constexpr int |
| fn3 (int ay) |
| { |
| int i = 0; |
| while (i++ < 100) |
| { |
| if (i == 1) |
| return 1; |
| switch (ay) |
| { |
| if (1) |
| { |
| case 1: |
| continue; |
| } |
| else |
| { |
| default:; |
| return -1; |
| } |
| } |
| return -1; |
| } |
| |
| return -1; |
| } |
| |
| static_assert (fn1 (1) == 1, ""); |
| static_assert (fn2 (1) == 0, ""); |
| static_assert (fn3 (1) == 1, ""); |