(root)/
gcc-13.2.0/
gcc/
testsuite/
g++.dg/
cpp1y/
constexpr-88983.C
// 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, "");