diff options
Diffstat (limited to 'gcc/testsuite/gcc.dg/gomp/teams-1.c')
-rw-r--r-- | gcc/testsuite/gcc.dg/gomp/teams-1.c | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/gomp/teams-1.c b/gcc/testsuite/gcc.dg/gomp/teams-1.c new file mode 100644 index 00000000000..73c00ded78b --- /dev/null +++ b/gcc/testsuite/gcc.dg/gomp/teams-1.c @@ -0,0 +1,61 @@ +/* { dg-do compile } */ + +void +foo (int x) +{ + bad1: + #pragma omp target teams + goto bad1; /* { dg-error "invalid branch" } */ + + goto bad2; /* { dg-error "invalid entry" } */ + #pragma omp target teams + { + bad2: ; + } + + #pragma omp target teams + { + int i; + goto ok1; + for (i = 0; i < 10; ++i) + { ok1: break; } + } + + switch (x) /* { dg-error "invalid entry" } */ + { + #pragma omp target teams + { case 0:; } + } +} + +void +bar (int x) +{ + bad1: + #pragma omp target + #pragma omp teams + goto bad1; /* { dg-error "invalid branch" } */ + + goto bad2; /* { dg-error "invalid entry" } */ + #pragma omp target + #pragma omp teams + { + bad2: ; + } + + #pragma omp target + #pragma omp teams + { + int i; + goto ok1; + for (i = 0; i < 10; ++i) + { ok1: break; } + } + + switch (x) /* { dg-error "invalid entry" } */ + { + #pragma omp target + #pragma omp teams + { case 0:; } + } +} |