xref: /aosp_15_r20/external/clang/test/OpenMP/target_defaultmap_messages.cpp (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li // RUN: %clang_cc1 -verify -fopenmp %s
2*67e74705SXin Li 
foo()3*67e74705SXin Li void foo() {
4*67e74705SXin Li }
5*67e74705SXin Li 
6*67e74705SXin Li template <class T, typename S, int N, int ST>
tmain(T argc,S ** argv)7*67e74705SXin Li T tmain(T argc, S **argv) {
8*67e74705SXin Li   #pragma omp target defaultmap // expected-error {{expected '(' after 'defaultmap'}}
9*67e74705SXin Li   foo();
10*67e74705SXin Li   #pragma omp target defaultmap ( // expected-error {{expected 'tofrom' in OpenMP clause 'defaultmap'}} expected-error {{expected ')'}} expected-note {{to match this '('}}
11*67e74705SXin Li   foo();
12*67e74705SXin Li   #pragma omp target defaultmap () // expected-error {{expected 'tofrom' in OpenMP clause 'defaultmap'}}
13*67e74705SXin Li   foo();
14*67e74705SXin Li   #pragma omp target defaultmap (tofrom // expected-error {{expected ')'}} expected-note {{to match this '('}} expected-warning {{missing ':' after defaultmap modifier - ignoring}} expected-error {{expected 'scalar' in OpenMP clause 'defaultmap'}}
15*67e74705SXin Li   foo();
16*67e74705SXin Li   #pragma omp target defaultmap (tofrom: // expected-error {{expected ')'}} expected-note {{to match this '('}} expected-error {{expected 'scalar' in OpenMP clause 'defaultmap'}}
17*67e74705SXin Li   foo();
18*67e74705SXin Li   #pragma omp target defaultmap (tofrom) // expected-warning {{missing ':' after defaultmap modifier - ignoring}} expected-error {{expected 'scalar' in OpenMP clause 'defaultmap'}}
19*67e74705SXin Li   foo();
20*67e74705SXin Li   #pragma omp target defaultmap (tofrom scalar) // expected-warning {{missing ':' after defaultmap modifier - ignoring}}
21*67e74705SXin Li   foo();
22*67e74705SXin Li   #pragma omp target defaultmap (tofrom, // expected-error {{expected ')'}} expected-error {{expected 'scalar' in OpenMP clause 'defaultmap'}} expected-warning {{missing ':' after defaultmap modifier - ignoring}} expected-note {{to match this '('}}
23*67e74705SXin Li   foo();
24*67e74705SXin Li   #pragma omp target defaultmap (scalar: // expected-error {{expected ')'}} expected-error {{expected 'tofrom' in OpenMP clause 'defaultmap'}} expected-note {{to match this '('}}
25*67e74705SXin Li   foo();
26*67e74705SXin Li   #pragma omp target defaultmap (tofrom, scalar // expected-error {{expected ')'}} expected-warning {{missing ':' after defaultmap modifier - ignoring}} expected-error {{expected 'scalar' in OpenMP clause 'defaultmap'}} expected-note {{to match this '('}}
27*67e74705SXin Li   foo();
28*67e74705SXin Li 
29*67e74705SXin Li   return argc;
30*67e74705SXin Li }
31*67e74705SXin Li 
main(int argc,char ** argv)32*67e74705SXin Li int main(int argc, char **argv) {
33*67e74705SXin Li   #pragma omp target defaultmap // expected-error {{expected '(' after 'defaultmap'}}
34*67e74705SXin Li   foo();
35*67e74705SXin Li   #pragma omp target defaultmap ( // expected-error {{expected 'tofrom' in OpenMP clause 'defaultmap'}} expected-error {{expected ')'}} expected-note {{to match this '('}}
36*67e74705SXin Li   foo();
37*67e74705SXin Li   #pragma omp target defaultmap () // expected-error {{expected 'tofrom' in OpenMP clause 'defaultmap'}}
38*67e74705SXin Li   foo();
39*67e74705SXin Li   #pragma omp target defaultmap (tofrom // expected-error {{expected ')'}} expected-note {{to match this '('}} expected-warning {{missing ':' after defaultmap modifier - ignoring}} expected-error {{expected 'scalar' in OpenMP clause 'defaultmap'}}
40*67e74705SXin Li   foo();
41*67e74705SXin Li   #pragma omp target defaultmap (tofrom: // expected-error {{expected ')'}} expected-note {{to match this '('}} expected-error {{expected 'scalar' in OpenMP clause 'defaultmap'}}
42*67e74705SXin Li   foo();
43*67e74705SXin Li   #pragma omp target defaultmap (tofrom) // expected-warning {{missing ':' after defaultmap modifier - ignoring}} expected-error {{expected 'scalar' in OpenMP clause 'defaultmap'}}
44*67e74705SXin Li   foo();
45*67e74705SXin Li   #pragma omp target defaultmap (tofrom scalar) // expected-warning {{missing ':' after defaultmap modifier - ignoring}}
46*67e74705SXin Li   foo();
47*67e74705SXin Li   #pragma omp target defaultmap (tofrom, // expected-error {{expected ')'}} expected-error {{expected 'scalar' in OpenMP clause 'defaultmap'}} expected-warning {{missing ':' after defaultmap modifier - ignoring}} expected-note {{to match this '('}}
48*67e74705SXin Li   foo();
49*67e74705SXin Li   #pragma omp target defaultmap (scalar: // expected-error {{expected ')'}} expected-error {{expected 'tofrom' in OpenMP clause 'defaultmap'}} expected-note {{to match this '('}}
50*67e74705SXin Li   foo();
51*67e74705SXin Li   #pragma omp target defaultmap (tofrom, scalar // expected-error {{expected ')'}} expected-warning {{missing ':' after defaultmap modifier - ignoring}} expected-error {{expected 'scalar' in OpenMP clause 'defaultmap'}} expected-note {{to match this '('}}
52*67e74705SXin Li   foo();
53*67e74705SXin Li 
54*67e74705SXin Li   return tmain<int, char, 1, 0>(argc, argv);
55*67e74705SXin Li }
56*67e74705SXin Li 
57