1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
|
void f0 (void);
void f1 (void);
#pragma omp declare variant /* { dg-error "expected '\\(' before end of line" } */
void f2 (void);
#pragma omp declare variant ( /* { dg-error "" } */
void f3 (void);
#pragma omp declare variant () /* { dg-error "" } */
void f4 (void);
#pragma omp declare variant match(user={condition(0)}) /* { dg-error "expected '\\(' before 'match'" } */
void f5 (void);
#pragma omp declare variant (f1) /* { dg-error "expected 'match', 'adjust_args' or 'append_args' clause before end of line" } */
void f6 (void);
#pragma omp declare variant (f1) simd /* { dg-error "expected 'match', 'adjust_args' or 'append_args' clause before 'simd'" } */
void f7 (void);
#pragma omp declare variant (f1) match /* { dg-error "expected '\\(' before end of line" } */
void f8 (void);
#pragma omp declare variant (f1) match( /* { dg-error "expected context selector set name before end of line" } */
void f9 (void);
#pragma omp declare variant (f1) match() /* { dg-error "expected context selector set name before '\\)' token" } */
void f10 (void);
#pragma omp declare variant (f1) match(foo) /* { dg-error "expected context selector set name before 'foo'" } */
void f11 (void);
#pragma omp declare variant (f1) match(something={something}) /* { dg-error "expected context selector set name before 'something'" } */
void f12 (void);
#pragma omp declare variant (f1) match(user) /* { dg-error "expected '=' before '\\)' token" } */
void f13 (void);
#pragma omp declare variant (f1) match(user=) /* { dg-error "expected '\\\{' before '\\)' token" } */
void f14 (void);
#pragma omp declare variant (f1) match(user= /* { dg-error "expected '\\\{' before end of line" } */
void f15 (void);
#pragma omp declare variant (f1) match(user={) /* { dg-error "expected trait selector name before '\\)' token" } */
void f16 (void); /* { dg-error "expected '\\\}' before" "" { target c++ } .-1 } */
#pragma omp declare variant (f1) match(user={}) /* { dg-error "expected trait selector name before '\\\}' token" } */
void f17 (void);
#pragma omp declare variant (f1) match(user={condition}) /* { dg-error "expected '\\(' before '\\\}' token" } */
void f18 (void);
#pragma omp declare variant (f1) match(user={condition(}) /* { dg-error "expected \[^\n\r]*expression before '\\\}' token" } */
void f19 (void);
#pragma omp declare variant (f1) match(user={condition()}) /* { dg-error "expected \[^\n\r]*expression before '\\)' token" } */
void f20 (void);
#pragma omp declare variant (f1) match(user={condition(f1)})
void f21 (void);
#pragma omp declare variant (f1) match(user={condition(1, 2, 3)}) /* { dg-error "expected '\\)' before ',' token" } */
void f22 (void);
#pragma omp declare variant (f1) match(construct={master}) /* { dg-warning "unknown selector 'master' for context selector set 'construct'" } */
void f23 (void);
#pragma omp declare variant (f1) match(construct={teams,parallel,master,for}) /* { dg-warning "unknown selector 'master' for context selector set 'construct'" } */
void f24 (void);
#pragma omp declare variant (f1) match(construct={parallel(1 /* { dg-error "selector 'parallel' does not accept any properties" } */
void f25 (void); /* { dg-error "expected '\\\}' before end of line" "" { target *-*-* } .-1 } */
#pragma omp declare variant (f1) match(construct={parallel(1)}) /* { dg-error "selector 'parallel' does not accept any properties" } */
void f26 (void);
#pragma omp declare variant (f0) match(construct={simd(12)}) /* { dg-error "expected \[^\n\r]* clause before" } */
void f27 (void); /* { dg-error "'\\)' before numeric constant" "" { target c++ } .-1 } */
#pragma omp declare variant (f1) match(construct={parallel},construct={for}) /* { dg-error "selector set 'construct' specified more than once" } */
void f28 (void);
#pragma omp declare variant (f1) match(construct={parallel},construct={parallel}) /* { dg-error "selector set 'construct' specified more than once" } */
void f29 (void);
#pragma omp declare variant (f1) match(user={condition(0)},construct={target},user={condition(0)}) /* { dg-error "selector set 'user' specified more than once" } */
void f30 (void);
#pragma omp declare variant (f1) match(user={condition(0)},user={condition(1)}) /* { dg-error "selector set 'user' specified more than once" } */
void f31 (void);
#pragma omp declare variant (f1) match(device={kind}) /* { dg-error "expected '\\(' before '\\\}' token" } */
void f32 (void);
#pragma omp declare variant (f1) match(device={isa}) /* { dg-error "expected '\\(' before '\\\}' token" } */
void f33 (void);
#pragma omp declare variant (f1) match(device={arch}) /* { dg-error "expected '\\(' before '\\\}' token" } */
void f34 (void);
#pragma omp declare variant (f1) match(device={kind,isa,arch}) /* { dg-error "expected '\\(' before ',' token" } */
void f35 (void);
#pragma omp declare variant (f1) match(device={kind(}) /* { dg-error "expected identifier or string literal before '\\\}' token" } */
void f36 (void);
#pragma omp declare variant (f1) match(device={kind(unknown)}) /* { dg-warning "unknown property 'unknown' of 'kind' selector" } */
void f37 (void);
#pragma omp declare variant (f1) match(device={kind(unknown,foobar)}) /* { dg-warning "unknown property 'unknown' of 'kind' selector" } */
void f38 (void); /* { dg-warning "unknown property 'foobar' of 'kind' selector" "" { target *-*-* } .-1 } */
#pragma omp declare variant (f1) match(device={isa(1)}) /* { dg-error "expected identifier or string literal before numeric constant" } */
void f39 (void);
#pragma omp declare variant (f1) match(device={arch(17)}) /* { dg-error "expected identifier or string literal before numeric constant" } */
void f40 (void);
#pragma omp declare variant (f1) match(device={foobar(3)}) /* { dg-warning "unknown selector 'foobar' for context selector set 'device'" } */
void f41 (void);
#pragma omp declare variant (f1) match(device={arch(x86_64)},device={isa(avx512vl)}) /* { dg-error "selector set 'device' specified more than once" } */
void f42 (void);
#pragma omp declare variant (f1) match(implementation={foobar(3)}) /* { dg-warning "unknown selector 'foobar' for context selector set 'implementation'" } */
void f43 (void);
#pragma omp declare variant (f1) match(implementation={vendor}) /* { dg-error "expected '\\(' before '\\\}' token" } */
void f44 (void);
#pragma omp declare variant (f1) match(implementation={extension}) /* { dg-error "expected '\\(' before '\\\}' token" } */
void f45 (void);
#pragma omp declare variant (f1) match(implementation={vendor()}) /* { dg-error "expected identifier or string literal before '\\)' token" } */
void f45 (void);
#pragma omp declare variant (f1) match(implementation={vendor(123-234)}) /* { dg-error "expected identifier or string literal before numeric constant" } */
void f46 (void);
#pragma omp declare variant (f1) match(implementation={vendor("foobar")}) /* { dg-warning "unknown property '.foobar.' of 'vendor' selector" } */
void f47 (void);
#pragma omp declare variant (f1) match(implementation={unified_address(yes)}) /* { dg-error "selector 'unified_address' does not accept any properties" } */
void f48 (void);
#pragma omp declare variant (f1) match(implementation={unified_shared_memory(no)}) /* { dg-error "selector 'unified_shared_memory' does not accept any properties" } */
void f49 (void);
#pragma omp declare variant (f1) match(implementation={dynamic_allocators(42)}) /* { dg-error "selector 'dynamic_allocators' does not accept any properties" } */
void f50 (void);
#pragma omp declare variant (f1) match(implementation={reverse_offload()}) /* { dg-error "selector 'reverse_offload' does not accept any properties" } */
void f51 (void);
#pragma omp declare variant (f1) match(implementation={atomic_default_mem_order}) /* { dg-error "expected '\\(' before '\\\}' token" } */
void f52 (void);
#pragma omp declare variant (f1) match(implementation={atomic_default_mem_order(acquire)})
void f53 (void);
#pragma omp declare variant (f1) match(implementation={atomic_default_mem_order(release)})
void f54 (void);
#pragma omp declare variant (f1) match(implementation={atomic_default_mem_order(foobar)}) /* { dg-error "incorrect property 'foobar' of 'atomic_default_mem_order' selector" } */
void f55 (void);
#pragma omp declare variant (f1) match(implementation={atomic_default_mem_order(relaxed,seq_cst)}) /* { dg-error "expected '\\)' before ',' token" } */
void f56 (void);
#pragma omp declare variant (f1) match(implementation={atomic_default_mem_order(relaxed)},implementation={atomic_default_mem_order(relaxed)}) /* { dg-error "selector set 'implementation' specified more than once" } */
void f57 (void);
#pragma omp declare variant (f1) match(user={foobar(3)}) /* { dg-warning "unknown selector 'foobar' for context selector set 'user'" } */
void f58 (void);
#pragma omp declare variant (f1) match(construct={foobar(3)}) /* { dg-warning "unknown selector 'foobar' for context selector set 'construct'" } */
void f59 (void);
#pragma omp declare variant (f1) match(construct={parallel},foobar={bar}) /* { dg-error "expected context selector set name before 'foobar'" } */
void f60 (void);
#pragma omp declare variant (f1) match(construct={parallel,parallel}) /* { dg-error "selector 'parallel' specified more than once in set 'construct'" } */
void f61 (void);
#pragma omp declare variant (f1) match(construct={target,parallel,for,simd,parallel}) /* { dg-error "selector 'parallel' specified more than once in set 'construct'" } */
void f62 (void);
#pragma omp declare variant (f1) match(construct={target,teams,teams}) /* { dg-error "selector 'teams' specified more than once in set 'construct'" } */
void f63 (void);
#pragma omp declare variant (f1) match(construct={single}) /* { dg-warning "unknown selector 'single' for context selector set 'construct'" } */
void f64 (void);
#pragma omp declare variant (f1) match(construct={taskgroup}) /* { dg-warning "unknown selector 'taskgroup' for context selector set 'construct'" } */
void f65 (void);
#pragma omp declare variant (f1) match(construct={do}) /* { dg-warning "unknown selector 'do' for context selector set 'construct'" } */
void f66 (void);
#pragma omp declare variant (f1) match(construct={threadprivate}) /* { dg-warning "unknown selector 'threadprivate' for context selector set 'construct'" } */
void f67 (void);
#pragma omp declare variant (f1) match(construct={critical}) /* { dg-warning "unknown selector 'critical' for context selector set 'construct'" } */
void f68 (void);
#pragma omp declare variant (f1) match(construct={task}) /* { dg-warning "unknown selector 'task' for context selector set 'construct'" } */
void f69 (void);
#pragma omp declare variant (f1) match(construct={taskloop}) /* { dg-warning "unknown selector 'taskloop' for context selector set 'construct'" } */
void f70 (void);
#pragma omp declare variant (f1) match(construct={sections}) /* { dg-warning "unknown selector 'sections' for context selector set 'construct'" } */
void f71 (void);
#pragma omp declare variant (f1) match(construct={section}) /* { dg-warning "unknown selector 'section' for context selector set 'construct'" } */
void f72 (void);
#pragma omp declare variant (f1) match(construct={workshare}) /* { dg-warning "unknown selector 'workshare' for context selector set 'construct'" } */
void f73 (void);
#pragma omp declare variant (f1) match(construct={requires}) /* { dg-warning "unknown selector 'requires' for context selector set 'construct'" } */
void f74 (void);
void f75a (void);
#pragma omp declare variant (f75a),match(construct={parallel})
void f75 (void);
#pragma omp declare variant (f1) match(implementation={atomic_default_mem_order("relaxed")}) /* { dg-error "expected identifier before string constant" } */
void f76 (void);
#pragma omp declare variant (f1) match(user={condition(score(&f76):1)}) /* { dg-error ".score. argument must be constant integer expression" "" { target { ! c++98_only } } } */
void f77 (void); /* { dg-error "cannot appear in a constant-expression" "" { target c++98_only } .-1 } */
#pragma omp declare variant (f1) match(user={condition(score(-130):1)}) /* { dg-error ".score. argument must be non-negative" } */
void f78 (void);
|