[flang] Tweak code for readability and maybe better performance.
authorpeter klausler <pklausler@nvidia.com>
Thu, 12 Jul 2018 22:05:34 +0000 (15:05 -0700)
committerpeter klausler <pklausler@nvidia.com>
Thu, 12 Jul 2018 22:05:34 +0000 (15:05 -0700)
Original-commit: flang-compiler/f18@e4d9b8587e84714df3476f8f32ac156f36b32449
Reviewed-on: https://github.com/flang-compiler/f18/pull/122
Tree-same-pre-rewrite: false

flang/lib/parser/basic-parsers.h

index 1e03a50..c1abb08 100644 (file)
@@ -198,17 +198,17 @@ public:
     std::optional<resultType> result{parser_.Parse(state)};
     if (result.has_value()) {
       messages.Annex(state.messages());
-      state.messages() = std::move(messages);
-      return result;
     }
     state.messages() = std::move(messages);
-    state.Say(text_);
-    return {};
+    if (!result.has_value()) {
+      state.Say(text_);
+    }
+    return result;
   }
 
 private:
   const MessageFixedText text_;
-  const BacktrackingParser<PA> parser_;
+  const PA parser_;
 };
 
 template<typename PA>