summaryrefslogtreecommitdiffstats
path: root/clang/test/OpenMP/simd_misc_messages.c
diff options
context:
space:
mode:
Diffstat (limited to 'clang/test/OpenMP/simd_misc_messages.c')
-rw-r--r--clang/test/OpenMP/simd_misc_messages.c70
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) ;
}
+
OpenPOWER on IntegriCloud