diff options
Diffstat (limited to 'gcc/testsuite/gcc.dg/cilk-plus/pragma_simd_tests/errors/for_body_errors.c')
-rw-r--r-- | gcc/testsuite/gcc.dg/cilk-plus/pragma_simd_tests/errors/for_body_errors.c | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/cilk-plus/pragma_simd_tests/errors/for_body_errors.c b/gcc/testsuite/gcc.dg/cilk-plus/pragma_simd_tests/errors/for_body_errors.c new file mode 100644 index 00000000000..7d1563b030b --- /dev/null +++ b/gcc/testsuite/gcc.dg/cilk-plus/pragma_simd_tests/errors/for_body_errors.c @@ -0,0 +1,34 @@ +/* { dg-do compile } */ +/* { dg-options "-O3 -fcilkplus" } */ + +#include <setjmp.h> + +int main(void) +{ + int ii = 0; + +#pragma simd + for (ii = 0; ii < 1000; ii++) + break; /* { dg-error "goto/break/continue statments are" } */ + +#pragma simd linear (ii) + for (ii = 0; ii < 1000; ii++) + if (ii) + continue; /* { dg-error "goto/break/continue statments are" } */ + +#pragma simd + for (ii = 0; ii < 1000; ii++) + { +L5: + goto L5; /* { dg-error "goto/break/continue statments are" } */ + } + +#pragma simd + for (ii = 0; ii < 1000; ii++) + { + jmp_buf x; + if (!setjmp (x)) /* { dg-error "setjmps are not allowed inside" } */ + return 5; + } + return 5; +} |