view gcc/testsuite/g++.dg/cpp1y/constexpr-89785-1.C @ 145:1830386684a0

gcc-9.2.0
author anatofuz
date Thu, 13 Feb 2020 11:34:05 +0900
parents
children
line wrap: on
line source

// PR c++/89785
// { dg-do compile { target c++14 } }

constexpr int
foo (int x)
{
  switch (x)
    {
    case 0:
      throw -42;
    case 2:
      return 42;
    }
  throw 42;
}

constexpr int
bar (int x)
{
  do
    {
      switch (x)
	{
	case 0:
	  throw 42;
	case 1:
	  continue;
	}
      throw -42;
    }
  while (0);
  return x;
}

static_assert (foo (2) == 42, "");
static_assert (bar (1) == 1, "");