cchen | 82f2c61 | 2020-12-15 13:49:52 -0600 | [diff] [blame] | 1 | // RUN: %clang_cc1 -verify -fopenmp -fopenmp-version=51 %s -verify=expected,omp51 -Wuninitialized -DOMP51 |
| 2 | // RUN: %clang_cc1 -verify -fopenmp-simd -fopenmp-version=51 %s -verify=expected,omp51 -Wuninitialized -DOMP51 |
| 3 | |
cchen | e06f3e0 | 2019-11-15 13:02:06 -0500 | [diff] [blame] | 4 | // RUN: %clang_cc1 -verify -fopenmp -fopenmp-version=50 %s -verify=expected,omp5 -Wuninitialized -DOMP5 |
| 5 | // RUN: %clang_cc1 -verify -fopenmp-simd -fopenmp-version=50 %s -verify=expected,omp5 -Wuninitialized -DOMP5 |
Kelvin Li | a579b91 | 2016-07-14 02:54:56 +0000 | [diff] [blame] | 6 | |
cchen | e06f3e0 | 2019-11-15 13:02:06 -0500 | [diff] [blame] | 7 | // RUN: %clang_cc1 -verify -fopenmp -fopenmp-version=45 %s -verify=expected,omp45 -Wuninitialized |
| 8 | // RUN: %clang_cc1 -verify -fopenmp-simd -fopenmp-version=45 %s -verify=expected,omp45 -Wuninitialized |
Alexey Bataev | a8a9153a | 2017-12-29 18:07:07 +0000 | [diff] [blame] | 9 | |
Kelvin Li | a579b91 | 2016-07-14 02:54:56 +0000 | [diff] [blame] | 10 | void foo() { |
| 11 | } |
| 12 | |
| 13 | template <class T, typename S, int N, int ST> |
| 14 | T tmain(T argc, S **argv) { |
| 15 | int i; |
| 16 | #pragma omp target parallel for simd defaultmap // expected-error {{expected '(' after 'defaultmap'}} |
| 17 | for (i = 0; i < argc; ++i) foo(); |
cchen | 82f2c61 | 2020-12-15 13:49:52 -0600 | [diff] [blame] | 18 | #pragma omp target parallel for simd defaultmap( // omp51-error {{'alloc', 'from', 'to', 'tofrom', 'firstprivate', 'none', 'default', 'present' in OpenMP clause 'defaultmap'}} omp5-error {{expected 'alloc', 'from', 'to', 'tofrom', 'firstprivate', 'none', 'default' in OpenMP clause 'defaultmap'}} expected-error {{expected ')'}} expected-note {{to match this '('}} omp45-error {{expected 'tofrom' in OpenMP clause 'defaultmap'}} |
Kelvin Li | a579b91 | 2016-07-14 02:54:56 +0000 | [diff] [blame] | 19 | for (i = 0; i < argc; ++i) foo(); |
cchen | 82f2c61 | 2020-12-15 13:49:52 -0600 | [diff] [blame] | 20 | #pragma omp target parallel for simd defaultmap() // omp51-error {{'alloc', 'from', 'to', 'tofrom', 'firstprivate', 'none', 'default', 'present' in OpenMP clause 'defaultmap'}} omp5-error {{expected 'alloc', 'from', 'to', 'tofrom', 'firstprivate', 'none', 'default' in OpenMP clause 'defaultmap'}} omp45-error {{expected 'tofrom' in OpenMP clause 'defaultmap'}} |
Kelvin Li | a579b91 | 2016-07-14 02:54:56 +0000 | [diff] [blame] | 21 | for (i = 0; i < argc; ++i) foo(); |
Alexey Bataev | ec27527 | 2020-04-08 15:19:54 -0400 | [diff] [blame] | 22 | #pragma omp target parallel for simd defaultmap(tofrom // expected-error {{expected ')'}} expected-note {{to match this '('}} omp45-warning {{missing ':' after defaultmap modifier - ignoring}} omp45-error {{expected 'scalar' in OpenMP clause 'defaultmap'}} |
Kelvin Li | a579b91 | 2016-07-14 02:54:56 +0000 | [diff] [blame] | 23 | for (i = 0; i < argc; ++i) foo(); |
cchen | 82f2c61 | 2020-12-15 13:49:52 -0600 | [diff] [blame] | 24 | #pragma omp target parallel for simd defaultmap (tofrom: // expected-error {{expected ')'}} expected-note {{to match this '('}} omp51-error {{expected 'scalar', 'aggregate', 'pointer' in OpenMP clause 'defaultmap'}} omp5-error {{expected 'scalar', 'aggregate', 'pointer' in OpenMP clause 'defaultmap'}} omp45-error {{expected 'scalar' in OpenMP clause 'defaultmap'}} |
Kelvin Li | a579b91 | 2016-07-14 02:54:56 +0000 | [diff] [blame] | 25 | for (i = 0; i < argc; ++i) foo(); |
Alexey Bataev | ec27527 | 2020-04-08 15:19:54 -0400 | [diff] [blame] | 26 | #pragma omp target parallel for simd defaultmap(tofrom) // omp45-warning {{missing ':' after defaultmap modifier - ignoring}} omp45-error {{expected 'scalar' in OpenMP clause 'defaultmap'}} |
Kelvin Li | a579b91 | 2016-07-14 02:54:56 +0000 | [diff] [blame] | 27 | for (i = 0; i < argc; ++i) foo(); |
cchen | 82f2c61 | 2020-12-15 13:49:52 -0600 | [diff] [blame] | 28 | #pragma omp target parallel for simd defaultmap(tofrom scalar) // omp45-warning {{missing ':' after defaultmap modifier - ignoring}} omp5-error {{expected ')'}} omp5-note {{to match this '('}} omp51-error {{expected ')'}} omp51-note {{to match this '('}} |
Kelvin Li | a579b91 | 2016-07-14 02:54:56 +0000 | [diff] [blame] | 29 | for (i = 0; i < argc; ++i) foo(); |
Alexey Bataev | ec27527 | 2020-04-08 15:19:54 -0400 | [diff] [blame] | 30 | #pragma omp target parallel for simd defaultmap(tofrom, // expected-error {{expected ')'}} omp45-warning {{missing ':' after defaultmap modifier - ignoring}} expected-note {{to match this '('}} omp45-error {{expected 'scalar' in OpenMP clause 'defaultmap'}} |
Kelvin Li | a579b91 | 2016-07-14 02:54:56 +0000 | [diff] [blame] | 31 | for (i = 0; i < argc; ++i) foo(); |
cchen | 82f2c61 | 2020-12-15 13:49:52 -0600 | [diff] [blame] | 32 | #pragma omp target parallel for simd defaultmap (scalar: // expected-error {{expected ')'}} omp51-error {{expected 'scalar', 'aggregate', 'pointer' in OpenMP clause 'defaultmap'}} omp5-error {{expected 'scalar', 'aggregate', 'pointer' in OpenMP clause 'defaultmap'}} omp51-error {{'alloc', 'from', 'to', 'tofrom', 'firstprivate', 'none', 'default', 'present' in OpenMP clause 'defaultmap'}} omp5-error {{expected 'alloc', 'from', 'to', 'tofrom', 'firstprivate', 'none', 'default' in OpenMP clause 'defaultmap'}} expected-note {{to match this '('}} omp45-error {{expected 'tofrom' in OpenMP clause 'defaultmap'}} |
Kelvin Li | a579b91 | 2016-07-14 02:54:56 +0000 | [diff] [blame] | 33 | for (i = 0; i < argc; ++i) foo(); |
Alexey Bataev | ec27527 | 2020-04-08 15:19:54 -0400 | [diff] [blame] | 34 | #pragma omp target parallel for simd defaultmap(tofrom, scalar // expected-error {{expected ')'}} omp45-warning {{missing ':' after defaultmap modifier - ignoring}} expected-note {{to match this '('}} omp45-error {{expected 'scalar' in OpenMP clause 'defaultmap'}} |
Kelvin Li | a579b91 | 2016-07-14 02:54:56 +0000 | [diff] [blame] | 35 | for (i = 0; i < argc; ++i) foo(); |
| 36 | |
| 37 | return argc; |
| 38 | } |
| 39 | |
| 40 | int main(int argc, char **argv) { |
| 41 | int i; |
| 42 | #pragma omp target parallel for simd defaultmap // expected-error {{expected '(' after 'defaultmap'}} |
| 43 | for (i = 0; i < argc; ++i) foo(); |
cchen | 82f2c61 | 2020-12-15 13:49:52 -0600 | [diff] [blame] | 44 | #pragma omp target parallel for simd defaultmap( // omp51-error {{'alloc', 'from', 'to', 'tofrom', 'firstprivate', 'none', 'default', 'present' in OpenMP clause 'defaultmap'}} omp5-error {{expected 'alloc', 'from', 'to', 'tofrom', 'firstprivate', 'none', 'default' in OpenMP clause 'defaultmap'}} expected-error {{expected ')'}} expected-note {{to match this '('}} omp45-error {{expected 'tofrom' in OpenMP clause 'defaultmap'}} |
Kelvin Li | a579b91 | 2016-07-14 02:54:56 +0000 | [diff] [blame] | 45 | for (i = 0; i < argc; ++i) foo(); |
cchen | 82f2c61 | 2020-12-15 13:49:52 -0600 | [diff] [blame] | 46 | #pragma omp target parallel for simd defaultmap() // omp51-error {{'alloc', 'from', 'to', 'tofrom', 'firstprivate', 'none', 'default', 'present' in OpenMP clause 'defaultmap'}} omp5-error {{expected 'alloc', 'from', 'to', 'tofrom', 'firstprivate', 'none', 'default' in OpenMP clause 'defaultmap'}} omp45-error {{expected 'tofrom' in OpenMP clause 'defaultmap'}} |
Kelvin Li | a579b91 | 2016-07-14 02:54:56 +0000 | [diff] [blame] | 47 | for (i = 0; i < argc; ++i) foo(); |
Alexey Bataev | ec27527 | 2020-04-08 15:19:54 -0400 | [diff] [blame] | 48 | #pragma omp target parallel for simd defaultmap(tofrom // expected-error {{expected ')'}} expected-note {{to match this '('}} omp45-warning {{missing ':' after defaultmap modifier - ignoring}} omp45-error {{expected 'scalar' in OpenMP clause 'defaultmap'}} |
Kelvin Li | a579b91 | 2016-07-14 02:54:56 +0000 | [diff] [blame] | 49 | for (i = 0; i < argc; ++i) foo(); |
cchen | 82f2c61 | 2020-12-15 13:49:52 -0600 | [diff] [blame] | 50 | #pragma omp target parallel for simd defaultmap (tofrom: // expected-error {{expected ')'}} expected-note {{to match this '('}} omp51-error {{expected 'scalar', 'aggregate', 'pointer' in OpenMP clause 'defaultmap'}} omp5-error {{expected 'scalar', 'aggregate', 'pointer' in OpenMP clause 'defaultmap'}} omp45-error {{expected 'scalar' in OpenMP clause 'defaultmap'}} |
Kelvin Li | a579b91 | 2016-07-14 02:54:56 +0000 | [diff] [blame] | 51 | for (i = 0; i < argc; ++i) foo(); |
Alexey Bataev | ec27527 | 2020-04-08 15:19:54 -0400 | [diff] [blame] | 52 | #pragma omp target parallel for simd defaultmap(tofrom) // omp45-warning {{missing ':' after defaultmap modifier - ignoring}} omp45-error {{expected 'scalar' in OpenMP clause 'defaultmap'}} |
Kelvin Li | a579b91 | 2016-07-14 02:54:56 +0000 | [diff] [blame] | 53 | for (i = 0; i < argc; ++i) foo(); |
cchen | 82f2c61 | 2020-12-15 13:49:52 -0600 | [diff] [blame] | 54 | #pragma omp target parallel for simd defaultmap(tofrom scalar) // omp45-warning {{missing ':' after defaultmap modifier - ignoring}} omp5-error {{expected ')'}} omp5-note {{to match this '('}} omp51-error {{expected ')'}} omp51-note {{to match this '('}} |
Kelvin Li | a579b91 | 2016-07-14 02:54:56 +0000 | [diff] [blame] | 55 | for (i = 0; i < argc; ++i) foo(); |
Alexey Bataev | ec27527 | 2020-04-08 15:19:54 -0400 | [diff] [blame] | 56 | #pragma omp target parallel for simd defaultmap(tofrom, // expected-error {{expected ')'}} omp45-warning {{missing ':' after defaultmap modifier - ignoring}} expected-note {{to match this '('}} omp45-error {{expected 'scalar' in OpenMP clause 'defaultmap'}} |
Kelvin Li | a579b91 | 2016-07-14 02:54:56 +0000 | [diff] [blame] | 57 | for (i = 0; i < argc; ++i) foo(); |
cchen | 82f2c61 | 2020-12-15 13:49:52 -0600 | [diff] [blame] | 58 | #pragma omp target parallel for simd defaultmap (scalar: // expected-error {{expected ')'}} omp51-error {{'alloc', 'from', 'to', 'tofrom', 'firstprivate', 'none', 'default', 'present' in OpenMP clause 'defaultmap'}} omp5-error {{expected 'alloc', 'from', 'to', 'tofrom', 'firstprivate', 'none', 'default' in OpenMP clause 'defaultmap'}} omp51-error {{expected 'scalar', 'aggregate', 'pointer' in OpenMP clause 'defaultmap'}} omp5-error {{expected 'scalar', 'aggregate', 'pointer' in OpenMP clause 'defaultmap'}} expected-note {{to match this '('}} omp45-error {{expected 'tofrom' in OpenMP clause 'defaultmap'}} |
Kelvin Li | a579b91 | 2016-07-14 02:54:56 +0000 | [diff] [blame] | 59 | for (i = 0; i < argc; ++i) foo(); |
Alexey Bataev | ec27527 | 2020-04-08 15:19:54 -0400 | [diff] [blame] | 60 | #pragma omp target parallel for simd defaultmap(tofrom, scalar // expected-error {{expected ')'}} omp45-warning {{missing ':' after defaultmap modifier - ignoring}} expected-note {{to match this '('}} omp45-error {{expected 'scalar' in OpenMP clause 'defaultmap'}} |
Kelvin Li | a579b91 | 2016-07-14 02:54:56 +0000 | [diff] [blame] | 61 | for (i = 0; i < argc; ++i) foo(); |
| 62 | |
| 63 | return tmain<int, char, 1, 0>(argc, argv); |
| 64 | } |