[flang] Fix a bug with BLOCK DATA name matching
authorEric Schweitz <eschweitz@nvidia.com>
Wed, 19 Sep 2018 22:00:33 +0000 (15:00 -0700)
committerEric Schweitz <eschweitz@nvidia.com>
Wed, 19 Sep 2018 22:01:38 +0000 (15:01 -0700)
Original-commit: flang-compiler/f18@f0af26df12912839d94a8ec5e7f66b8c22674a85
Reviewed-on: https://github.com/flang-compiler/f18/pull/189

flang/lib/semantics/resolve-labels.cc

index 668ae8e..d89c6e9 100644 (file)
@@ -318,10 +318,10 @@ public:
 
   // C1414
   void Post(const parser::BlockData &blockData) {
-    if (!namesBothEqualOrBothNone(
-            std::get<parser::Statement<parser::BlockDataStmt>>(blockData.t)
-                .statement.v,
+    if (!firstNameNoneOrBothEqual(
             std::get<parser::Statement<parser::EndBlockDataStmt>>(blockData.t)
+                .statement.v,
+            std::get<parser::Statement<parser::BlockDataStmt>>(blockData.t)
                 .statement.v)) {
       errorHandler_.Say(currentPosition_,
           parser::MessageFormattedText{"BLOCK DATA name mismatch"_err_en_US});