view gcc/testsuite/g++.dg/cpp1y/constexpr-89785-1.C @ 158:494b0b89df80 default tip

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 25 May 2020 18:13:55 +0900
parents 1830386684a0
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, "");