// P2324R2 - Labels at the end of compound statements
// PR c++/103539
// { dg-do compile { target c++23 } }
// Test bad cases.

void
fn1 ()
{
  /* A selection-statement wants a statement, but a mere label isn't a statement.  */
  if (1)
lab:
} // { dg-error "expected" }

void
fn2 ()
{
  if (0)
    {
    }
  else
lab:
} // { dg-error "expected" }

void
fn3 ()
{
  do
lab:
  while (0); // { dg-error "expected" }
} // { dg-error "expected" }

void
fn4 ()
{
  for (;;)
lab:
} // { dg-error "expected" }

void
fn5 ()
{
  switch (1)
  lab:
} // { dg-error "expected" }

void
fn6 ()
{
  if (1)
lab1:
lab2:
} // { dg-error "expected" }