blob: 95e6b2d440309f7a6ce9254f977187de03b5908d [file] [log] [blame]
/* { dg-do compile } */
/* { dg-options "-fcilkplus -fopenmp" } */
/* { dg-require-effective-target fopenmp } */
int *a, *b, c;
void foo()
{
#pragma simd
for (int i=0; i < 1000; ++i)
{
a[i] = b[i];
if (c == 5)
return; /* { dg-error "invalid branch to/from a Cilk Plus structured block" } */
}
}
void bar()
{
#pragma simd
for (int i=0; i < 1000; ++i)
{
lab:
a[i] = b[i];
}
if (c == 6)
goto lab; /* { dg-error "invalid entry to Cilk Plus structured block" } */
}
void baz()
{
bad1:
#pragma omp parallel
goto bad1; /* { dg-error "invalid branch to/from an OpenMP structured block" } */
goto bad2; /* { dg-error "invalid entry to OpenMP structured block" } */
#pragma omp parallel
{
bad2: ;
}
#pragma omp parallel
{
int i;
goto ok1;
for (i = 0; i < 10; ++i)
{ ok1: break; }
}
}