diff options
Diffstat (limited to 'flang/lib/Parser/preprocessor.cpp')
-rw-r--r-- | flang/lib/Parser/preprocessor.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/flang/lib/Parser/preprocessor.cpp b/flang/lib/Parser/preprocessor.cpp index 5af1632..88efcf7 100644 --- a/flang/lib/Parser/preprocessor.cpp +++ b/flang/lib/Parser/preprocessor.cpp @@ -397,9 +397,9 @@ std::optional<TokenSequence> Preprocessor::MacroReplacement( (n + 1 == argStart.size() ? k : argStart[n + 1] - 1) - at}; args.emplace_back(TokenSequence(input, at, count)); } + TokenSequence applied{def->Apply(args, prescanner)}; def->set_isDisabled(true); - TokenSequence replaced{ - ReplaceMacros(def->Apply(args, prescanner), prescanner)}; + TokenSequence replaced{ReplaceMacros(std::move(applied), prescanner)}; def->set_isDisabled(false); if (!replaced.empty()) { ProvenanceRange from{def->replacement().GetProvenanceRange()}; |