Skip to content

Commit de02e17

Browse files
committed
Fixes to make Windows happy
1 parent 0e7c0af commit de02e17

File tree

1 file changed

+6
-7
lines changed

1 file changed

+6
-7
lines changed

flang/lib/Semantics/rewrite-parse-tree.cpp

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -164,11 +164,8 @@ void RewriteMutator::OpenMPSimdOnly(parser::SpecificationPart &specPart) {
164164
// loop.
165165
void RewriteMutator::OpenMPSimdOnly(
166166
parser::Block &block, bool isNonSimdLoopBody = false) {
167-
using ExecutionListIterator =
168-
std::_List_iterator<parser::ExecutionPartConstruct>;
169167
auto replaceInlineBlock =
170-
[&](std::list<parser::ExecutionPartConstruct> &block,
171-
ExecutionListIterator it) -> ExecutionListIterator {
168+
[&](std::list<parser::ExecutionPartConstruct> &block, auto it) -> auto {
172169
auto insertPos = std::next(it);
173170
block.splice(insertPos, block);
174171
block.erase(it);
@@ -410,9 +407,11 @@ bool RewriteMutator::Pre(parser::OpenMPLoopConstruct &ompLoop) {
410407
// call OpenMPSimdOnly on the nested loop block while indicating where
411408
// the block comes from.
412409
auto &nest = std::get<std::optional<parser::NestedConstruct>>(ompLoop.t);
413-
if (nest.has_value()) {
414-
auto &doConstruct = std::get<parser::DoConstruct>(nest.value());
415-
auto &innerBlock = std::get<parser::Block>(doConstruct.t);
410+
if (!nest.has_value()) {
411+
return true;
412+
}
413+
if (auto *doConstruct = std::get_if<parser::DoConstruct>(&*nest)) {
414+
auto &innerBlock = std::get<parser::Block>(doConstruct->t);
416415
OpenMPSimdOnly(innerBlock, /*isNonSimdLoopBody=*/true);
417416
}
418417
}

0 commit comments

Comments
 (0)