Clang Project

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