blob: 3457e71ace2e3568faf60035a1d38ff99d37c68a [file] [log] [blame]
// 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" }