Mercurial > hg > CbC > CbC_gcc
diff gcc/testsuite/g++.dg/cpp1y/constexpr-88983.C @ 145:1830386684a0
gcc-9.2.0
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 11:34:05 +0900 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gcc/testsuite/g++.dg/cpp1y/constexpr-88983.C Thu Feb 13 11:34:05 2020 +0900 @@ -0,0 +1,71 @@ +// 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, "");