diff options
Diffstat (limited to 'clang/test/OpenMP/simd_misc_messages.c')
-rw-r--r-- | clang/test/OpenMP/simd_misc_messages.c | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/clang/test/OpenMP/simd_misc_messages.c b/clang/test/OpenMP/simd_misc_messages.c index 622c4389b5f..0800d22988c 100644 --- a/clang/test/OpenMP/simd_misc_messages.c +++ b/clang/test/OpenMP/simd_misc_messages.c @@ -77,6 +77,75 @@ void test_non_identifiers() for (i = 0; i < 16; ++i) ; } +extern int foo(); +void test_safelen() +{ + int i; + // expected-error@+1 {{expected '('}} + #pragma omp simd safelen + for (i = 0; i < 16; ++i) ; + // expected-error@+1 {{expected expression}} expected-error@+1 {{expected ')'}} expected-note@+1 {{to match this '('}} + #pragma omp simd safelen( + for (i = 0; i < 16; ++i) ; + // expected-error@+1 {{expected expression}} + #pragma omp simd safelen() + for (i = 0; i < 16; ++i) ; + // expected-error@+1 {{expected expression}} expected-error@+1 {{expected ')'}} expected-note@+1 {{to match this '('}} + #pragma omp simd safelen(, + for (i = 0; i < 16; ++i) ; + // expected-error@+1 {{expected expression}} expected-error@+1 {{expected ')'}} expected-note@+1 {{to match this '('}} + #pragma omp simd safelen(,) + for (i = 0; i < 16; ++i) ; + // expected-warning@+2 {{extra tokens at the end of '#pragma omp simd' are ignored}} + // expected-error@+1 {{expected '('}} + #pragma omp simd safelen 4) + for (i = 0; i < 16; ++i) ; + // expected-error@+2 {{expected ')'}} + // expected-note@+1 {{to match this '('}} + #pragma omp simd safelen(4 + for (i = 0; i < 16; ++i) ; + // expected-error@+2 {{expected ')'}} + // expected-note@+1 {{to match this '('}} + #pragma omp simd safelen(4, + for (i = 0; i < 16; ++i) ; + // expected-error@+2 {{expected ')'}} + // expected-note@+1 {{to match this '('}} + #pragma omp simd safelen(4,) + for (i = 0; i < 16; ++i) ; + // xxpected-error@+1 {{expected expression}} + #pragma omp simd safelen(4) + for (i = 0; i < 16; ++i) ; + // expected-error@+2 {{expected ')'}} + // expected-note@+1 {{to match this '('}} + #pragma omp simd safelen(4 4) + for (i = 0; i < 16; ++i) ; + // expected-error@+2 {{expected ')'}} + // expected-note@+1 {{to match this '('}} + #pragma omp simd safelen(4,,4) + for (i = 0; i < 16; ++i) ; + #pragma omp simd safelen(4) + for (i = 0; i < 16; ++i) ; + // expected-error@+2 {{expected ')'}} + // expected-note@+1 {{to match this '('}} + #pragma omp simd safelen(4,8) + for (i = 0; i < 16; ++i) ; + // expected-error@+1 {{expression is not an integer constant expression}} + #pragma omp simd safelen(2.5) + for (i = 0; i < 16; ++i); + // expected-error@+1 {{expression is not an integer constant expression}} + #pragma omp simd safelen(foo()) + for (i = 0; i < 16; ++i); + // expected-error@+1 {{argument to 'safelen' clause must be a positive integer value}} + #pragma omp simd safelen(-5) + for (i = 0; i < 16; ++i); + // expected-error@+1 {{argument to 'safelen' clause must be a positive integer value}} + #pragma omp simd safelen(0) + for (i = 0; i < 16; ++i); + // expected-error@+1 {{argument to 'safelen' clause must be a positive integer value}} + #pragma omp simd safelen(5-5) + for (i = 0; i < 16; ++i); +} + void test_private() { int i; @@ -121,3 +190,4 @@ void test_firstprivate() #pragma omp simd firstprivate( for (i = 0; i < 16; ++i) ; } + |