summaryrefslogtreecommitdiff
path: root/flang/lib/Semantics/check-do-forall.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'flang/lib/Semantics/check-do-forall.cpp')
-rw-r--r--flang/lib/Semantics/check-do-forall.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/flang/lib/Semantics/check-do-forall.cpp b/flang/lib/Semantics/check-do-forall.cpp
index cc1d4bf58745..e258df86a4b1 100644
--- a/flang/lib/Semantics/check-do-forall.cpp
+++ b/flang/lib/Semantics/check-do-forall.cpp
@@ -1180,7 +1180,9 @@ void DoForallChecker::Leave(const parser::IoControlSpec &ioControlSpec) {
void DoForallChecker::Leave(const parser::OutputImpliedDo &outputImpliedDo) {
const auto &control{std::get<parser::IoImpliedDoControl>(outputImpliedDo.t)};
const parser::Name &name{control.name.thing.thing};
- context_.CheckIndexVarRedefine(name.source, *name.symbol);
+ if (name.symbol) {
+ context_.CheckIndexVarRedefine(name.source, *name.symbol);
+ }
}
void DoForallChecker::Leave(const parser::StatVariable &statVariable) {