diff options
author | Carlo Bertolli <cbertol@us.ibm.com> | 2016-06-24 19:20:02 +0000 |
---|---|---|
committer | Carlo Bertolli <cbertol@us.ibm.com> | 2016-06-24 19:20:02 +0000 |
commit | b8503d5399d0693e49e731d96ca06ce22e425c2b (patch) | |
tree | 06ddc1cf4b280859a97cb8139c7737de7941eb67 /clang/test/OpenMP/nesting_of_regions.cpp | |
parent | 3830479f4155cd30473453e8bdc5c00c1e013482 (diff) | |
download | bcm5719-llvm-b8503d5399d0693e49e731d96ca06ce22e425c2b.tar.gz bcm5719-llvm-b8503d5399d0693e49e731d96ca06ce22e425c2b.zip |
Revert r273705
[OpenMP] Initial implementation of parse and sema for composite pragma 'distribute parallel for'
llvm-svn: 273709
Diffstat (limited to 'clang/test/OpenMP/nesting_of_regions.cpp')
-rw-r--r-- | clang/test/OpenMP/nesting_of_regions.cpp | 745 |
1 files changed, 3 insertions, 742 deletions
diff --git a/clang/test/OpenMP/nesting_of_regions.cpp b/clang/test/OpenMP/nesting_of_regions.cpp index 8d884a2e614..23ba70776db 100644 --- a/clang/test/OpenMP/nesting_of_regions.cpp +++ b/clang/test/OpenMP/nesting_of_regions.cpp @@ -137,13 +137,7 @@ void foo() { { #pragma omp target update to(a) } -#pragma omp parallel - { -#pragma omp distribute parallel for // expected-error {{region cannot be closely nested inside 'parallel' region; perhaps you forget to enclose 'omp distribute parallel for' directive into a teams region?}} - for (int i = 0; i < 10; ++i) - ; - } - + // SIMD DIRECTIVE #pragma omp simd for (int i = 0; i < 10; ++i) { @@ -307,12 +301,6 @@ void foo() { for (int i = 0; i < 10; ++i) { #pragma omp target update to(a) // expected-error {{OpenMP constructs may not be nested inside a simd region}} } -#pragma omp simd - for (int i = 0; i < 10; ++i) { -#pragma omp distribute parallel for// expected-error {{OpenMP constructs may not be nested inside a simd region}} - for (int j = 0; j < 10; ++j) - ; - } // FOR DIRECTIVE #pragma omp for @@ -500,12 +488,6 @@ void foo() { for (int i = 0; i < 10; ++i) { #pragma omp target update to(a) } -#pragma omp for - for (int i = 0; i < 10; ++i) { -#pragma omp distribute parallel for // expected-error {{region cannot be closely nested inside 'for' region; perhaps you forget to enclose 'omp distribute parallel for' directive into a teams region?}} - for (int j = 0; j < 10; ++j) - ; - } // FOR SIMD DIRECTIVE #pragma omp for simd @@ -671,12 +653,6 @@ void foo() { #pragma omp target update to(a) // expected-error {{OpenMP constructs may not be nested inside a simd region}} bar(); } -#pragma omp for simd - for (int i = 0; i < 10; ++i) { -#pragma omp distribute parallel for // expected-error {{OpenMP constructs may not be nested inside a simd region}} - for (int j = 0; j < 10; ++j) - ; - } // SECTIONS DIRECTIVE #pragma omp sections @@ -869,12 +845,6 @@ void foo() { { #pragma omp target update to(a) } -#pragma omp sections - { -#pragma omp distribute parallel for // expected-error {{region cannot be closely nested inside 'sections' region; perhaps you forget to enclose 'omp distribute parallel for' directive into a teams region?}} - for (int i = 0; i < 10; ++i) - ; - } // SECTION DIRECTIVE #pragma omp section // expected-error {{orphaned 'omp section' directives are prohibited, it must be closely nested to a sections region}} @@ -1121,13 +1091,6 @@ void foo() { #pragma omp target update to(a) } } -#pragma omp sections - { -#pragma omp section -#pragma omp distribute parallel for // expected-error {{region cannot be closely nested inside 'section' region; perhaps you forget to enclose 'omp distribute parallel for' directive into a teams region?}} - for (int i = 0; i < 10; ++i) - ; - } // SINGLE DIRECTIVE #pragma omp single @@ -1306,12 +1269,6 @@ void foo() { #pragma omp target update to(a) bar(); } -#pragma omp single - { -#pragma omp distribute parallel for // expected-error {{region cannot be closely nested inside 'single' region; perhaps you forget to enclose 'omp distribute parallel for' directive into a teams region?}} - for (int i = 0; i < 10; ++i) - ; - } // MASTER DIRECTIVE #pragma omp master @@ -1490,12 +1447,6 @@ void foo() { #pragma omp target update to(a) bar(); } -#pragma omp master - { -#pragma omp distribute parallel for // expected-error {{region cannot be closely nested inside 'master' region; perhaps you forget to enclose 'omp distribute parallel for' directive into a teams region?}} - for (int i = 0; i < 10; ++i) - ; - } // CRITICAL DIRECTIVE #pragma omp critical @@ -1688,12 +1639,6 @@ void foo() { #pragma omp target update to(a) bar(); } -#pragma omp critical - { -#pragma omp distribute parallel for // expected-error {{region cannot be closely nested inside 'critical' region; perhaps you forget to enclose 'omp distribute parallel for' directive into a teams region?}} - for (int i = 0; i < 10; ++i) - ; - } // PARALLEL FOR DIRECTIVE #pragma omp parallel for @@ -1886,12 +1831,6 @@ void foo() { for (int i = 0; i < 10; ++i) { #pragma omp target update to(a) } -#pragma omp parallel for - for (int i = 0; i < 10; ++i) { -#pragma omp distribute parallel for // expected-error {{region cannot be closely nested inside 'parallel for' region; perhaps you forget to enclose 'omp distribute parallel for' directive into a teams region?}} - for (int j = 0; j < 10; ++j) - ; - } // PARALLEL FOR SIMD DIRECTIVE #pragma omp parallel for simd @@ -2085,12 +2024,6 @@ void foo() { #pragma omp target update to(a) // expected-error {{OpenMP constructs may not be nested inside a simd region}} bar(); } -#pragma omp parallel for simd - for (int i = 0; i < 10; ++i) { -#pragma omp distribute parallel for // expected-error {{OpenMP constructs may not be nested inside a simd region}} - for (int j = 0; j < 10; ++j) - ; - } // PARALLEL SECTIONS DIRECTIVE #pragma omp parallel sections @@ -2272,12 +2205,6 @@ void foo() { { #pragma omp target update to(a) } -#pragma omp parallel sections - { -#pragma omp distribute parallel for // expected-error {{region cannot be closely nested inside 'parallel sections' region; perhaps you forget to enclose 'omp distribute parallel for' directive into a teams region?}} - for (int i = 0; i < 10; ++i) - ; - } // TASK DIRECTIVE #pragma omp task @@ -2406,12 +2333,6 @@ void foo() { #pragma omp target update to(a) bar(); } -#pragma omp task - { -#pragma omp distribute parallel for // expected-error {{region cannot be closely nested inside 'task' region; perhaps you forget to enclose 'omp distribute parallel for' directive into a teams region?}} - for (int i = 0; i < 10; ++i) - ; - } // ORDERED DIRECTIVE #pragma omp ordered @@ -2611,12 +2532,6 @@ void foo() { #pragma omp target update to(a) bar(); } -#pragma omp ordered - { -#pragma omp distribute parallel for // expected-error {{region cannot be closely nested inside 'ordered' region; perhaps you forget to enclose 'omp distribute parallel for' directive into a teams region?}} - for (int i = 0; i < 10; ++i) - ; - } // ATOMIC DIRECTIVE #pragma omp atomic @@ -2838,14 +2753,6 @@ void foo() { #pragma omp target update to(a) // expected-error {{OpenMP constructs may not be nested inside an atomic region}} bar(); } -#pragma omp atomic - // expected-error@+2 {{the statement for 'atomic' must be an expression statement of form '++x;', '--x;', 'x++;', 'x--;', 'x binop= expr;', 'x = x binop expr' or 'x = expr binop x', where x is an l-value expression with scalar type}} - // expected-note@+1 {{expected an expression statement}} - { -#pragma omp distribute parallel for // expected-error {{OpenMP constructs may not be nested inside an atomic region}} - for (int i = 0; i < 10; ++i) - ; - } // TARGET DIRECTIVE #pragma omp target @@ -2984,12 +2891,6 @@ void foo() { { #pragma omp target update to(a) // expected-error {{region cannot be nested inside 'target' region}} } -#pragma omp target - { -#pragma omp distribute parallel for // expected-error {{region cannot be closely nested inside 'target' region; perhaps you forget to enclose 'omp distribute parallel for' directive into a teams region?}} - for (int i = 0; i < 10; ++i) - ; - } // TARGET PARALLEL DIRECTIVE #pragma omp target parallel @@ -3128,12 +3029,6 @@ void foo() { { #pragma omp target update to(a) // expected-error {{region cannot be nested inside 'target parallel' region}} } -#pragma omp target parallel - { -#pragma omp distribute parallel for // expected-error {{region cannot be closely nested inside 'target parallel' region; perhaps you forget to enclose 'omp distribute parallel for' directive into a teams region?}} - for (int i = 0; i < 10; ++i) - ; - } // TARGET PARALLEL FOR DIRECTIVE #pragma omp target parallel for @@ -3326,12 +3221,6 @@ void foo() { for (int i = 0; i < 10; ++i) { #pragma omp target update to(a) // expected-error {{region cannot be nested inside 'target parallel for' region}} } -#pragma omp target parallel for - for (int i = 0; i < 10; ++i) { -#pragma omp distribute parallel for // expected-error {{region cannot be closely nested inside 'target parallel for' region; perhaps you forget to enclose 'omp distribute parallel for' directive into a teams region?}} - for (int j = 0; j < 10; ++j) - ; - } // TEAMS DIRECTIVE #pragma omp target @@ -3500,16 +3389,7 @@ void foo() { { #pragma omp target update to(a) // expected-error {{region cannot be closely nested inside 'teams' region; perhaps you forget to enclose 'omp target update' directive into a parallel region?}} } -#pragma omp target -#pragma omp teams - { -#pragma omp distribute parallel for - for (int i = 0; i < 10; ++i) - ; -#pragma omp distribute parallel for - for (int j = 0; j < 10; ++j) - ; - } + // TASKLOOP DIRECTIVE #pragma omp taskloop for (int i = 0; i < 10; ++i) { @@ -3686,18 +3566,6 @@ void foo() { #pragma omp target update to(a) bar(); } -#pragma omp taskloop - for (int i = 0; i < 10; ++i) { -#pragma omp distribute // expected-error {{region cannot be closely nested inside 'taskloop' region; perhaps you forget to enclose 'omp distribute' directive into a teams region?}} - for (int j = 0; j < 10; ++j) - ++a; - } -#pragma omp taskloop - for (int i = 0; i < 10; ++i) { -#pragma omp distribute parallel for // expected-error {{region cannot be closely nested inside 'taskloop' region; perhaps you forget to enclose 'omp distribute parallel for' directive into a teams region?}} - for (int j = 0; j < 10; ++j) - ++a; - } // DISTRIBUTE DIRECTIVE @@ -3924,239 +3792,6 @@ void foo() { #pragma omp target update to(a) // expected-error {{region cannot be nested inside 'target' region}} ++a; } - -// DISTRIBUTE PARALLEL FOR DIRECTIVE -#pragma omp target -#pragma omp teams -#pragma omp distribute parallel for - for (int i = 0; i < 10; ++i) { -#pragma omp distribute parallel for // expected-error {{region cannot be closely nested inside 'distribute parallel for' region; perhaps you forget to enclose 'omp distribute parallel for' directive into a teams region?}} - for (int i = 0; i < 10; ++i) - ; - } -#pragma omp target -#pragma omp teams -#pragma omp distribute parallel for - for (int i = 0; i < 10; ++i) { -#pragma omp distribute // expected-error {{region cannot be closely nested inside 'distribute parallel for' region; perhaps you forget to enclose 'omp distribute' directive into a teams region?}} - for (int i = 0; i < 10; ++i) - ; - } -#pragma omp target -#pragma omp teams -#pragma omp distribute parallel for - for (int i = 0; i < 10; ++i) { -#pragma omp for // expected-error {{region cannot be closely nested inside 'distribute parallel for' region; perhaps you forget to enclose 'omp for' directive into a parallel region?}} - for (int i = 0; i < 10; ++i) - ; - } -#pragma omp target -#pragma omp teams -#pragma omp distribute parallel for - for (int i = 0; i < 10; ++i) { -#pragma omp simd - for (int i = 0; i < 10; ++i) - ; - } -#pragma omp target -#pragma omp teams -#pragma omp distribute parallel for - for (int i = 0; i < 10; ++i) { -#pragma omp for simd // expected-error {{region cannot be closely nested inside 'distribute parallel for' region; perhaps you forget to enclose 'omp for simd' directive into a parallel region?}} - for (int i = 0; i < 10; ++i) - ; - } -#pragma omp target -#pragma omp teams -#pragma omp distribute parallel for - for (int i = 0; i < 10; ++i) { -#pragma omp parallel - for (int i = 0; i < 10; ++i) - ; - } -#pragma omp target -#pragma omp teams -#pragma omp distribute parallel for - for (int i = 0; i < 10; ++i) { -#pragma omp sections // expected-error {{region cannot be closely nested inside 'distribute parallel for' region; perhaps you forget to enclose 'omp sections' directive into a parallel region?}} - { - bar(); - } - } -#pragma omp target -#pragma omp teams -#pragma omp distribute parallel for - for (int i = 0; i < 10; ++i) { -#pragma omp section // expected-error {{'omp section' directive must be closely nested to a sections region, not a distribute parallel for region}} - { - bar(); - } - } -#pragma omp target -#pragma omp teams -#pragma omp distribute parallel for - for (int i = 0; i < 10; ++i) { -#pragma omp single // expected-error {{region cannot be closely nested inside 'distribute parallel for' region; perhaps you forget to enclose 'omp single' directive into a parallel region?}} - { - bar(); - } - } -#pragma omp target -#pragma omp teams -#pragma omp distribute parallel for - for (int i = 0; i < 10; ++i) { -#pragma omp master // expected-error {{region cannot be closely nested inside 'distribute parallel for' region}} - { - bar(); - } - } -#pragma omp target -#pragma omp teams -#pragma omp distribute parallel for - for (int i = 0; i < 10; ++i) { -#pragma omp critical - { - bar(); - } - } -#pragma omp target -#pragma omp teams -#pragma omp distribute parallel for - for (int i = 0; i < 10; ++i) { -#pragma omp parallel - { -#pragma omp single - { - bar(); - } - } - } -#pragma omp target -#pragma omp teams -#pragma omp distribute parallel for - for (int i = 0; i < 10; ++i) { -#pragma omp parallel for - for (int i = 0; i < 10; ++i) - ; - } -#pragma omp target -#pragma omp teams -#pragma omp distribute parallel for - for (int i = 0; i < 10; ++i) { -#pragma omp parallel for simd - for (int i = 0; i < 10; ++i) - ; - } -#pragma omp target -#pragma omp teams -#pragma omp distribute parallel for - for (int i = 0; i < 10; ++i) { -#pragma omp parallel sections - { - bar(); - } - } -#pragma omp target -#pragma omp teams -#pragma omp distribute parallel for - for (int i = 0; i < 10; ++i) { -#pragma omp task - { - bar(); - } - } -#pragma omp target -#pragma omp teams -#pragma omp distribute parallel for - for (int i = 0; i < 10; ++i) { -#pragma omp taskyield - bar(); - } -#pragma omp target -#pragma omp teams -#pragma omp distribute parallel for - for (int i = 0; i < 10; ++i) { -#pragma omp barrier // expected-error {{region cannot be closely nested inside 'distribute parallel for' region}} - bar(); - } -#pragma omp target -#pragma omp teams -#pragma omp distribute parallel for - for (int i = 0; i < 10; ++i) { -#pragma omp taskwait - bar(); - } -#pragma omp target -#pragma omp teams -#pragma omp distribute parallel for - for (int i = 0; i < 10; ++i) { -#pragma omp flush - bar(); - } -#pragma omp target -#pragma omp teams -#pragma omp distribute parallel for - for (int i = 0; i < 10; ++i) { -#pragma omp ordered // expected-error {{region cannot be closely nested inside 'distribute parallel for' region; perhaps you forget to enclose 'omp ordered' directive into a for or a parallel for region with 'ordered' clause?}} - bar(); - } -#pragma omp target -#pragma omp teams -#pragma omp distribute parallel for - for (int i = 0; i < 10; ++i) { -#pragma omp atomic - ++a; - } -#pragma omp target -#pragma omp teams -#pragma omp distribute parallel for - for (int i = 0; i < 10; ++i) { -#pragma omp target // expected-error {{region cannot be nested inside 'target' region}} - ++a; - } -#pragma omp target -#pragma omp teams -#pragma omp distribute parallel for - for (int i = 0; i < 10; ++i) { -#pragma omp target parallel // expected-error {{region cannot be nested inside 'target' region}} - ++a; - } -#pragma omp target -#pragma omp teams -#pragma omp distribute parallel for - for (int i = 0; i < 10; ++i) { -#pragma omp target parallel for // expected-error {{region cannot be nested inside 'target' region}} - for (int i = 0; i < 10; ++i) - ; - } -#pragma omp target -#pragma omp teams -#pragma omp distribute parallel for - for (int i = 0; i < 10; ++i) { -#pragma omp target enter data map(to: a) // expected-error {{region cannot be nested inside 'target' region}} - ++a; - } -#pragma omp target -#pragma omp teams -#pragma omp distribute parallel for - for (int i = 0; i < 10; ++i) { -#pragma omp target exit data map(from: a) // expected-error {{region cannot be nested inside 'target' region}} - ++a; - } -#pragma omp target -#pragma omp teams -#pragma omp distribute parallel for - for (int i = 0; i < 10; ++i) { -#pragma omp teams // expected-error {{region cannot be closely nested inside 'distribute parallel for' region; perhaps you forget to enclose 'omp teams' directive into a target region?}} - ++a; - } -#pragma omp target -#pragma omp teams -#pragma omp distribute parallel for - for (int i = 0; i < 10; ++i) { -#pragma omp target update to(a) // expected-error {{region cannot be nested inside 'target' region}} - ++a; - } } void foo() { @@ -4292,12 +3927,6 @@ void foo() { #pragma omp target update to(a) a++; } -#pragma omp parallel - { -#pragma omp distribute parallel for // expected-error {{region cannot be closely nested inside 'parallel' region; perhaps you forget to enclose 'omp distribute parallel for' directive into a teams region?}} - for (int i = 0; i < 10; ++i) - ; - } // SIMD DIRECTIVE #pragma omp simd @@ -4456,12 +4085,6 @@ void foo() { #pragma omp target update to(a) // expected-error {{OpenMP constructs may not be nested inside a simd region}} a++; } -#pragma omp simd - for (int i = 0; i < 10; ++i) { -#pragma omp distribute parallel for // expected-error {{OpenMP constructs may not be nested inside a simd region}} - for (int j = 0; j < 10; ++j) - ; - } // FOR DIRECTIVE #pragma omp for @@ -4640,12 +4263,6 @@ void foo() { #pragma omp target update to(a) ++a; } -#pragma omp for - for (int i = 0; i < 10; ++i) { -#pragma omp distribute parallel for // expected-error {{region cannot be closely nested inside 'for' region; perhaps you forget to enclose 'omp distribute parallel for' directive into a teams region?}} - for (int j = 0; j < 10; ++j) - ; - } // FOR SIMD DIRECTIVE #pragma omp for simd @@ -4804,12 +4421,6 @@ void foo() { #pragma omp target update to(a) // expected-error {{OpenMP constructs may not be nested inside a simd region}} ++a; } -#pragma omp for simd - for (int i = 0; i < 10; ++i) { -#pragma omp distribute parallel for // expected-error {{OpenMP constructs may not be nested inside a simd region}} - for (int j = 0; j < 10; ++j) - ; - } // SECTIONS DIRECTIVE #pragma omp sections @@ -4977,12 +4588,6 @@ void foo() { { #pragma omp target update to(a) } -#pragma omp sections - { -#pragma omp distribute parallel for // expected-error {{region cannot be closely nested inside 'sections' region; perhaps you forget to enclose 'omp distribute parallel for' directive into a teams region?}} - for (int i = 0; i < 10; ++i) - ; - } // SECTION DIRECTIVE #pragma omp section // expected-error {{orphaned 'omp section' directives are prohibited, it must be closely nested to a sections region}} @@ -5239,13 +4844,6 @@ void foo() { a++; } } -#pragma omp sections - { -#pragma omp section -#pragma omp distribute parallel for // expected-error {{region cannot be closely nested inside 'section' region; perhaps you forget to enclose 'omp distribute parallel for' directive into a teams region?}} - for (int i = 0; i < 10; ++i) - ; - } // SINGLE DIRECTIVE #pragma omp single @@ -5414,12 +5012,6 @@ void foo() { #pragma omp target update to(a) a++; } -#pragma omp single - { -#pragma omp distribute parallel for // expected-error {{region cannot be closely nested inside 'single' region; perhaps you forget to enclose 'omp distribute parallel for' directive into a teams region?}} - for (int i = 0; i < 10; ++i) - ; - } // MASTER DIRECTIVE #pragma omp master @@ -5598,12 +5190,6 @@ void foo() { #pragma omp target update to(a) ++a; } -#pragma omp master - { -#pragma omp distribute parallel for // expected-error {{region cannot be closely nested inside 'master' region; perhaps you forget to enclose 'omp distribute parallel for' directive into a teams region?}} - for (int i = 0; i < 10; ++i) - ; - } // CRITICAL DIRECTIVE #pragma omp critical @@ -5801,12 +5387,6 @@ void foo() { #pragma omp target update to(a) a++; } -#pragma omp critical - { -#pragma omp distribute parallel for // expected-error {{region cannot be closely nested inside 'critical' region; perhaps you forget to enclose 'omp distribute parallel for' directive into a teams region?}} - for (int i = 0; i < 10; ++i) - ; - } // PARALLEL FOR DIRECTIVE #pragma omp parallel for @@ -6000,12 +5580,6 @@ void foo() { #pragma omp target update to(a) a++; } -#pragma omp parallel for - for (int i = 0; i < 10; ++i) { -#pragma omp distribute parallel for // expected-error {{region cannot be closely nested inside 'parallel for' region; perhaps you forget to enclose 'omp distribute parallel for' directive into a teams region?}} - for (int j = 0; j < 10; ++j) - ; - } // PARALLEL FOR SIMD DIRECTIVE #pragma omp parallel for simd @@ -6199,12 +5773,6 @@ void foo() { #pragma omp target update to(a) // expected-error {{OpenMP constructs may not be nested inside a simd region}} a++; } -#pragma omp parallel for simd - for (int i = 0; i < 10; ++i) { -#pragma omp distribute parallel for // expected-error {{OpenMP constructs may not be nested inside a simd region}} - for (int j = 0; j < 10; ++j) - ; - } // PARALLEL SECTIONS DIRECTIVE #pragma omp parallel sections @@ -6382,12 +5950,6 @@ void foo() { { #pragma omp target update to(a) } -#pragma omp parallel sections - { -#pragma omp distribute parallel for // expected-error {{region cannot be closely nested inside 'parallel sections' region; perhaps you forget to enclose 'omp distribute parallel for' directive into a teams region?}} - for (int i = 0; i < 10; ++i) - ; - } // TASK DIRECTIVE #pragma omp task @@ -6515,12 +6077,6 @@ void foo() { #pragma omp target update to(a) a++; } -#pragma omp task - { -#pragma omp distribute parallel for // expected-error {{region cannot be closely nested inside 'task' region; perhaps you forget to enclose 'omp distribute parallel for' directive into a teams region?}} - for (int i = 0; i < 10; ++i) - ; - } // ATOMIC DIRECTIVE #pragma omp atomic @@ -6741,14 +6297,6 @@ void foo() { { #pragma omp target update // expected-error {{OpenMP constructs may not be nested inside an atomic region}} } -#pragma omp atomic - // expected-error@+2 {{the statement for 'atomic' must be an expression statement of form '++x;', '--x;', 'x++;', 'x--;', 'x binop= expr;', 'x = x binop expr' or 'x = expr binop x', where x is an l-value expression with scalar type}} - // expected-note@+1 {{expected an expression statement}} - { -#pragma omp distribute parallel for// expected-error {{OpenMP constructs may not be nested inside an atomic region}} - for (int i = 0; i < 10; ++i) - ; - } // TARGET DIRECTIVE #pragma omp target @@ -6890,12 +6438,6 @@ void foo() { #pragma omp target update to(a) // expected-error {{OpenMP constructs may not be nested inside an atomic region}} a++; } -#pragma omp target - { -#pragma omp distribute parallel for // expected-error {{region cannot be closely nested inside 'target' region; perhaps you forget to enclose 'omp distribute parallel for' directive into a teams region?}} - for (int i = 0; i < 10; ++i) - ; - } // TARGET PARALLEL DIRECTIVE #pragma omp target parallel @@ -7034,12 +6576,6 @@ void foo() { { #pragma omp target update to(a) // expected-error {{region cannot be nested inside 'target parallel' region}} } -#pragma omp target parallel - { -#pragma omp distribute parallel for // expected-error {{region cannot be closely nested inside 'target parallel' region; perhaps you forget to enclose 'omp distribute parallel for' directive into a teams region?}} - for (int i = 0; i < 10; ++i) - ; - } // TARGET PARALLEL FOR DIRECTIVE @@ -7234,12 +6770,6 @@ void foo() { #pragma omp target update to(a) // expected-error {{region cannot be nested inside 'target parallel for' region}} a++; } -#pragma omp target parallel for - for (int i = 0; i < 10; ++i) { -#pragma omp distribute parallel for // expected-error {{region cannot be closely nested inside 'target parallel for' region; perhaps you forget to enclose 'omp distribute parallel for' directive into a teams region?}} - for (int j = 0; j < 10; ++j) - ; - } // TEAMS DIRECTIVE #pragma omp target @@ -7407,21 +6937,7 @@ void foo() { #pragma omp target update to(a) // expected-error {{region cannot be closely nested inside 'teams' region; perhaps you forget to enclose 'omp target update' directive into a parallel region?}} ++a; } -#pragma omp target -#pragma omp teams -#pragma omp distribute parallel for - for (int i = 0; i < 10; ++i) - ; -#pragma omp target -#pragma omp teams - { -#pragma omp distribute parallel for - for (int i = 0; i < 10; ++i) - ; -#pragma omp distribute parallel for - for (int j = 0; j < 10; ++j) - ; - } + // TASKLOOP DIRECTIVE #pragma omp taskloop for (int i = 0; i < 10; ++i) { @@ -7598,18 +7114,6 @@ void foo() { #pragma omp target update to(a) ++a; } -#pragma omp taskloop - for (int i = 0; i < 10; ++i) { -#pragma omp distribute // expected-error {{region cannot be closely nested inside 'taskloop' region; perhaps you forget to enclose 'omp distribute' directive into a teams region?}} - for (int i = 0; i < 10; ++i) - ; - } -#pragma omp taskloop - for (int i = 0; i < 10; ++i) { -#pragma omp distribute parallel for // expected-error {{region cannot be closely nested inside 'taskloop' region; perhaps you forget to enclose 'omp distribute parallel for' directive into a teams region?}} - for (int i = 0; i < 10; ++i) - ; - } // DISTRIBUTE DIRECTIVE #pragma omp target @@ -7836,247 +7340,4 @@ void foo() { #pragma omp target update to(a) // expected-error {{region cannot be nested inside 'target' region}} ++a; } -#pragma omp target -#pragma omp teams -#pragma omp distribute - for (int i = 0; i < 10; ++i) { -#pragma omp distribute parallel for // expected-error {{region cannot be closely nested inside 'distribute' region; perhaps you forget to enclose 'omp distribute parallel for' directive into a teams region?}} - for (int i = 0; i < 10; ++i) - ++a; - } - - // DISTRIBUTE PARALLEL FOR DIRECTIVE -#pragma omp target -#pragma omp teams -#pragma omp distribute parallel for - for (int i = 0; i < 10; ++i) { -#pragma omp distribute parallel for // expected-error {{region cannot be closely nested inside 'distribute parallel for' region; perhaps you forget to enclose 'omp distribute parallel for' directive into a teams region?}} - for (int i = 0; i < 10; ++i) - ; - } - -#pragma omp target -#pragma omp teams -#pragma omp distribute parallel for - for (int i = 0; i < 10; ++i) { -#pragma omp distribute // expected-error {{region cannot be closely nested inside 'distribute parallel for' region; perhaps you forget to enclose 'omp distribute' directive into a teams region?}} - for (int i = 0; i < 10; ++i) - ; - } -#pragma omp target -#pragma omp teams -#pragma omp distribute parallel for - for (int i = 0; i < 10; ++i) { -#pragma omp for // expected-error {{region cannot be closely nested inside 'distribute parallel for' region; perhaps you forget to enclose 'omp for' directive into a parallel region?}} - for (int i = 0; i < 10; ++i) - ; - } -#pragma omp target -#pragma omp teams -#pragma omp distribute parallel for - for (int i = 0; i < 10; ++i) { -#pragma omp simd - for (int i = 0; i < 10; ++i) - ; - } -#pragma omp target -#pragma omp teams -#pragma omp distribute parallel for - for (int i = 0; i < 10; ++i) { -#pragma omp for simd // expected-error {{region cannot be closely nested inside 'distribute parallel for' region; perhaps you forget to enclose 'omp for simd' directive into a parallel region?}} - for (int i = 0; i < 10; ++i) - ; - } -#pragma omp target -#pragma omp teams -#pragma omp distribute parallel for - for (int i = 0; i < 10; ++i) { -#pragma omp parallel - for (int i = 0; i < 10; ++i) - ; - } -#pragma omp target -#pragma omp teams -#pragma omp distribute parallel for - for (int i = 0; i < 10; ++i) { -#pragma omp sections // expected-error {{region cannot be closely nested inside 'distribute parallel for' region; perhaps you forget to enclose 'omp sections' directive into a parallel region?}} - { - bar(); - } - } -#pragma omp target -#pragma omp teams -#pragma omp distribute parallel for - for (int i = 0; i < 10; ++i) { -#pragma omp section // expected-error {{'omp section' directive must be closely nested to a sections region, not a distribute parallel for region}} - { - bar(); - } - } -#pragma omp target -#pragma omp teams -#pragma omp distribute parallel for - for (int i = 0; i < 10; ++i) { -#pragma omp single // expected-error {{region cannot be closely nested inside 'distribute parallel for' region; perhaps you forget to enclose 'omp single' directive into a parallel region?}} - { - bar(); - } - } -#pragma omp target -#pragma omp teams -#pragma omp distribute parallel for - for (int i = 0; i < 10; ++i) { -#pragma omp master // expected-error {{region cannot be closely nested inside 'distribute parallel for' region}} - { - bar(); - } - } -#pragma omp target -#pragma omp teams -#pragma omp distribute parallel for - for (int i = 0; i < 10; ++i) { -#pragma omp critical - { - bar(); - } - } -#pragma omp target -#pragma omp teams -#pragma omp distribute parallel for - for (int i = 0; i < 10; ++i) { -#pragma omp parallel - { -#pragma omp single - { - bar(); - } - } - } -#pragma omp target -#pragma omp teams -#pragma omp distribute parallel for - for (int i = 0; i < 10; ++i) { -#pragma omp parallel for - for (int i = 0; i < 10; ++i) - ; - } -#pragma omp target -#pragma omp teams -#pragma omp distribute parallel for - for (int i = 0; i < 10; ++i) { -#pragma omp parallel for simd - for (int i = 0; i < 10; ++i) - ; - } -#pragma omp target -#pragma omp teams -#pragma omp distribute parallel for - for (int i = 0; i < 10; ++i) { -#pragma omp parallel sections - { - bar(); - } - } -#pragma omp target -#pragma omp teams -#pragma omp distribute parallel for - for (int i = 0; i < 10; ++i) { -#pragma omp task - { - bar(); - } - } -#pragma omp target -#pragma omp teams -#pragma omp distribute parallel for - for (int i = 0; i < 10; ++i) { -#pragma omp taskyield - bar(); - } -#pragma omp target -#pragma omp teams -#pragma omp distribute parallel for - for (int i = 0; i < 10; ++i) { -#pragma omp barrier // expected-error {{region cannot be closely nested inside 'distribute parallel for' region}} - bar(); - } -#pragma omp target -#pragma omp teams -#pragma omp distribute parallel for - for (int i = 0; i < 10; ++i) { -#pragma omp taskwait - bar(); - } -#pragma omp target -#pragma omp teams -#pragma omp distribute parallel for - for (int i = 0; i < 10; ++i) { -#pragma omp flush - bar(); - } -#pragma omp target -#pragma omp teams -#pragma omp distribute parallel for - for (int i = 0; i < 10; ++i) { -#pragma omp ordered // expected-error {{region cannot be closely nested inside 'distribute parallel for' region; perhaps you forget to enclose 'omp ordered' directive into a for or a parallel for region with 'ordered' clause?}} - bar(); - } -#pragma omp target -#pragma omp teams -#pragma omp distribute parallel for - for (int i = 0; i < 10; ++i) { -#pragma omp atomic - ++a; - } -#pragma omp target -#pragma omp teams -#pragma omp distribute parallel for - for (int i = 0; i < 10; ++i) { -#pragma omp target // expected-error {{region cannot be nested inside 'target' region}} - ++a; - } -#pragma omp target -#pragma omp teams -#pragma omp distribute parallel for - for (int i = 0; i < 10; ++i) { -#pragma omp target parallel // expected-error {{region cannot be nested inside 'target' region}} - ++a; - } -#pragma omp target -#pragma omp teams -#pragma omp distribute parallel for - for (int i = 0; i < 10; ++i) { -#pragma omp target parallel for // expected-error {{region cannot be nested inside 'target' region}} - for (int i = 0; i < 10; ++i) - ; - } -#pragma omp target -#pragma omp teams -#pragma omp distribute parallel for - for (int i = 0; i < 10; ++i) { -#pragma omp teams // expected-error {{region cannot be closely nested inside 'distribute parallel for' region; perhaps you forget to enclose 'omp teams' directive into a target region?}} - ++a; - } - return foo<int>(); -#pragma omp target -#pragma omp teams -#pragma omp distribute parallel for - for (int i = 0; i < 10; ++i) { -#pragma omp target enter data map(to: a) // expected-error {{region cannot be nested inside 'target' region}} - ++a; - } -#pragma omp target -#pragma omp teams -#pragma omp distribute parallel for - for (int i = 0; i < 10; ++i) { -#pragma omp target exit data map(from: a) // expected-error {{region cannot be nested inside 'target' region}} - ++a; - } -#pragma omp target -#pragma omp teams -#pragma omp distribute parallel for - for (int i = 0; i < 10; ++i) { -#pragma omp target update to(a) // expected-error {{region cannot be nested inside 'target' region}} - ++a; - } } |