Viewing file: constexpr-86767.C (1.42 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
// PR c++/86767 // { dg-do compile { target c++14 } }
constexpr int fn0 () noexcept { int r = 0; for (int i = 0; i < 10; ++i) { continue; r++; for (int j = 0; j < 10; ++j ) { } } return r; } static_assert (fn0 () == 0, "");
constexpr int fn1 () noexcept { int r = 0; for (int i = 0; i < 10; ++i) for (int j = 0; j < 10; ++j) { continue; r++; } return r; } static_assert (fn1 () == 0, "");
constexpr int fn2 () noexcept { int r = 0; for (int i = 0; i < 10; ++i) { continue; r++; } return r; } static_assert (fn2 () == 0, "");
constexpr int fn3 () noexcept { int r = 0; for (int i = 0; i < 10; ++i) { continue; r++; while (1) { } } return r; } static_assert (fn3 () == 0, "");
constexpr int fn4 () noexcept { for (int i = 0; i < 10; ++i) { switch (i) { case 5: return i; default: continue; } while (1) { } } return 0; } static_assert (fn4 () == 5, "");
constexpr int fn5 () noexcept { for (int i = 0; i < 10; ++i) { switch (i) { case 0: case 1: case 2: case 3: case 4: continue; default: return i; } while (1) { } } return 0; } static_assert (fn5 () == 5, "");
constexpr int fn6 () noexcept { int r = 0; for (int i = 0; i < 10; ++i) { continue; for (int j = 0; j < 10; ++j ) r++; } return r; } static_assert (fn6 () == 0, "");
|