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(
19521952 const auto &outer{std::get<std::optional<parser::DoConstruct>>(x.t )};
19531953 if (outer.has_value ()) {
19541954 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 ) {
19561957 auto &stmt =
19571958 std::get<parser::Statement<parser::NonLabelDoStmt>>(loop->t );
19581959 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