1
- // RUN: %clang_cc1 -verify=omp50,expected -fopenmp -fopenmp-version=50 -ferror-limit 100 -DOMP50 %s
2
- // RUN: %clang_cc1 -verify=omp51,expected -fopenmp -ferror-limit 100 %s
3
- // RUN: %clang_cc1 -verify=expected,omp52 -fopenmp -fopenmp-version=52 -ferror-limit 100 -DOMP52 %s
4
- // RUN: %clang_cc1 -verify=expected,omp60 -fopenmp -fopenmp-version=60 -ferror-limit 100 -DOMP60 %s
1
+ // RUN: %clang_cc1 -verify=omp50,omp5x, expected -fopenmp -fopenmp-version=50 -ferror-limit 100 -DOMP50 %s
2
+ // RUN: %clang_cc1 -verify=omp51,omp5x, expected -fopenmp -ferror-limit 100 %s
3
+ // RUN: %clang_cc1 -verify=expected,omp52,omp5x -fopenmp -fopenmp-version=52 -ferror-limit 100 -DOMP52 %s
4
+ // RUN: %clang_cc1 -verify=expected,omp60,omp60-maybe-simd -fopenmp -fopenmp-version=60 -ferror-limit 100 -DOMP60 %s
5
5
6
- // RUN: %clang_cc1 -verify=omp50,expected -fopenmp-simd -fopenmp-version=50 -ferror-limit 100 -DOMP50 %s
7
- // RUN: %clang_cc1 -verify=omp51-simd,expected -fopenmp-simd -ferror-limit 100 %s
8
- // RUN: %clang_cc1 -verify=expected,omp52 -fopenmp-simd -fopenmp-version=52 -ferror-limit 100 -DOMP52 %s
9
- // RUN: %clang_cc1 -verify=expected,omp60-simd -fopenmp-simd -fopenmp-version=60 -ferror-limit 100 -DOMP60 %s
6
+ // RUN: %clang_cc1 -verify=omp50,omp5x, expected -fopenmp-simd -fopenmp-version=50 -ferror-limit 100 -DOMP50 %s
7
+ // RUN: %clang_cc1 -verify=omp51-simd,omp5x, expected -fopenmp-simd -ferror-limit 100 %s
8
+ // RUN: %clang_cc1 -verify=expected,omp52,omp5x -fopenmp-simd -fopenmp-version=52 -ferror-limit 100 -DOMP52 %s
9
+ // RUN: %clang_cc1 -verify=expected,omp60-simd,omp60-maybe-simd -fopenmp-simd -fopenmp-version=60 -ferror-limit 100 -DOMP60 %s
10
10
11
11
int temp ; // expected-note {{'temp' declared here}}
12
12
@@ -16,17 +16,38 @@ struct vec { // expec
16
16
double * data ;
17
17
};
18
18
19
- #pragma omp declare mapper // expected-error {{expected '(' after 'declare mapper'}}
20
- #pragma omp declare mapper { // expected-error {{expected '(' after 'declare mapper'}}
21
- #pragma omp declare mapper( // expected-error {{expected a type}} expected-error {{expected declarator on 'omp declare mapper' directive}}
22
- #pragma omp declare mapper(# // expected-error {{expected a type}} expected-error {{expected declarator on 'omp declare mapper' directive}}
23
- #pragma omp declare mapper(struct v // expected-error {{expected declarator on 'omp declare mapper' directive}}
24
- #pragma omp declare mapper(struct vec // expected-error {{expected declarator on 'omp declare mapper' directive}}
25
- #pragma omp declare mapper(S v // expected-error {{unknown type name 'S'}}
26
- #pragma omp declare mapper(struct vec v // expected-error {{expected ')'}} expected-note {{to match this '('}}
27
- #pragma omp declare mapper(aa:struct vec v) // expected-error {{expected at least one clause on '#pragma omp declare mapper' directive}}
28
- #pragma omp declare mapper(bb:struct vec v) private(v) // expected-error {{expected at least one clause on '#pragma omp declare mapper' directive}} // expected-error {{unexpected OpenMP clause 'private' in directive '#pragma omp declare mapper'}}
29
- #pragma omp declare mapper(cc:struct vec v) map(v) ( // expected-warning {{extra tokens at the end of '#pragma omp declare mapper' are ignored}}
19
+ // omp60-maybe-simd-error@+2 {{expected '(' after 'declare_mapper'}}
20
+ // omp5x-error@+1 {{expected '(' after 'declare mapper'}}
21
+ #pragma omp declare mapper
22
+ // omp60-maybe-simd-error@+2 {{expected '(' after 'declare_mapper'}}
23
+ // omp5x-error@+1 {{expected '(' after 'declare mapper'}}
24
+ #pragma omp declare mapper {
25
+ // expected-error@+2 {{expected a type}}
26
+ // expected-error@+1 {{expected declarator on 'omp declare mapper' directive}}
27
+ #pragma omp declare mapper(
28
+ // expected-error@+2 {{expected a type}}
29
+ // expected-error@+1 {{expected declarator on 'omp declare mapper' directive}}
30
+ #pragma omp declare mapper(#
31
+ // expected-error@+1 {{expected declarator on 'omp declare mapper' directive}}
32
+ #pragma omp declare mapper(struct v
33
+ // expected-error@+1 {{expected declarator on 'omp declare mapper' directive}}
34
+ #pragma omp declare mapper(struct vec
35
+ // expected-error@+1 {{unknown type name 'S'}}
36
+ #pragma omp declare mapper(S v
37
+ // expected-error@+2 {{expected ')'}}
38
+ // expected-note@+1 {{to match this '('}}
39
+ #pragma omp declare mapper(struct vec v
40
+ // omp60-maybe-simd-error@+2 {{expected at least one clause on '#pragma omp declare_mapper' directive}}
41
+ // omp5x-error@+1 {{expected at least one clause on '#pragma omp declare mapper' directive}}
42
+ #pragma omp declare mapper(aa:struct vec v)
43
+ // omp60-maybe-simd-error@+4 {{expected at least one clause on '#pragma omp declare_mapper' directive}}
44
+ // omp60-maybe-simd-error@+3 {{unexpected OpenMP clause 'private' in directive '#pragma omp declare_mapper'}}
45
+ // omp5x-error@+2 {{expected at least one clause on '#pragma omp declare mapper' directive}}
46
+ // omp5x-error@+1 {{unexpected OpenMP clause 'private' in directive '#pragma omp declare mapper'}}
47
+ #pragma omp declare mapper(bb:struct vec v) private(v)
48
+ // omp60-maybe-simd-warning@+2 {{extra tokens at the end of '#pragma omp declare_mapper' are ignored}}
49
+ // omp5x-warning@+1 {{extra tokens at the end of '#pragma omp declare mapper' are ignored}}
50
+ #pragma omp declare mapper(cc:struct vec v) map(v) (
30
51
31
52
#pragma omp declare mapper(++: struct vec v) map(v.len) // expected-error {{illegal OpenMP user-defined mapper identifier}}
32
53
#pragma omp declare mapper(id1: struct vec v) map(v.len, temp) // expected-error {{only variable 'v' is allowed in map clauses of this 'omp declare mapper' directive}}
@@ -58,7 +79,9 @@ int fun(int arg) {
58
79
#pragma omp declare mapper(id: struct vec v) map(v.len) // expected-note {{previous definition is here}}
59
80
#pragma omp declare mapper(id: struct vec v) map(v.len) // expected-error {{redefinition of user-defined mapper for type 'struct vec' with name 'id'}}
60
81
{
61
- #pragma omp declare mapper(id: struct vec v) map(v.len) allocate(v) // expected-error {{unexpected OpenMP clause 'allocate' in directive '#pragma omp declare mapper'}}
82
+ // omp60-maybe-simd-error@+2 {{unexpected OpenMP clause 'allocate' in directive '#pragma omp declare_mapper'}}
83
+ // omp5x-error@+1 {{unexpected OpenMP clause 'allocate' in directive '#pragma omp declare mapper'}}
84
+ #pragma omp declare mapper(id: struct vec v) map(v.len) allocate(v)
62
85
struct vec vv , v1 ;
63
86
struct vec arr [10 ];
64
87
double d ;
0 commit comments