[flang] Add explicit nullptr check in initialisation of inDoConstruct.
authorDavid Truby <david.truby@arm.com>
Thu, 19 Mar 2020 11:04:28 +0000 (11:04 +0000)
committerDavid Truby <david.truby@arm.com>
Wed, 25 Mar 2020 18:37:31 +0000 (18:37 +0000)
This explicit check is needed as we are using braced initialisation here so
implicit narrowing conversions (such as pointer to bool) are not allowed.

Original-commit: flang-compiler/f18@ff8dad10bffb70666ba3b4ff229dc4b608f9e116
Reviewed-on: https://github.com/flang-compiler/f18/pull/1083

flang/lib/Semantics/check-do-forall.cpp

index 6dfd51c..58b434b 100644 (file)
@@ -912,7 +912,7 @@ void DoForallChecker::CheckForBadLeave(
 static bool StmtMatchesConstruct(const parser::Name *stmtName,
     StmtType stmtType, const parser::Name *constructName,
     const ConstructNode &construct) {
-  bool inDoConstruct{MaybeGetDoConstruct(construct)};
+  bool inDoConstruct{MaybeGetDoConstruct(construct) != nullptr};
   if (!stmtName) {
     return inDoConstruct;  // Unlabeled statements match all DO constructs
   } else if (constructName && constructName->source == stmtName->source) {