File tree Expand file tree Collapse file tree 2 files changed +12
-1
lines changed Expand file tree Collapse file tree 2 files changed +12
-1
lines changed Original file line number Diff line number Diff line change @@ -1952,7 +1952,8 @@ void OmpAttributeVisitor::PrivatizeAssociatedLoopIndexAndCheckLoopLevel(
1952
1952
const auto &outer{std::get<std::optional<parser::DoConstruct>>(x.t )};
1953
1953
if (outer.has_value ()) {
1954
1954
for (const parser::DoConstruct *loop{&*outer}; loop && level > 0 ; --level) {
1955
- if (loop->IsDoConcurrent ()) {
1955
+ // DO CONCURRENT is allowed for loop constructs but not loop nests
1956
+ if (loop->IsDoConcurrent () && GetContext ().associatedLoopLevel != 1 ) {
1956
1957
auto &stmt =
1957
1958
std::get<parser::Statement<parser::NonLabelDoStmt>>(loop->t );
1958
1959
context_.Say (stmt.source ,
Original file line number Diff line number Diff line change
1
+ ! RUN: %not_todo_cmd bbc -emit-fir -fopenmp -o - %s 2>&1 | FileCheck %s
2
+ ! RUN: %not_todo_cmd %flang_fc1 -emit-fir -fopenmp -o - %s 2>&1 | FileCheck %s
3
+
4
+ ! CHECK: not yet implemented: Do Concurrent in Worksharing loop construct
5
+ subroutine sb ()
6
+ ! $omp do
7
+ do concurrent(i= 1 :10 )
8
+ print * , i
9
+ end do
10
+ end subroutine
You can’t perform that action at this time.
0 commit comments