diff --git a/flang/include/flang/Common/indirection.h b/flang/include/flang/Common/indirection.h --- a/flang/include/flang/Common/indirection.h +++ b/flang/include/flang/Common/indirection.h @@ -60,7 +60,7 @@ bool operator==(const Indirection &that) const { return *p_ == *that.p_; } template - static common::IfNoLvalue Make(ARGS &&... args) { + static common::IfNoLvalue Make(ARGS &&...args) { return {new A(std::move(args)...)}; } @@ -112,7 +112,7 @@ bool operator==(const Indirection &that) const { return *p_ == *that.p_; } template - static common::IfNoLvalue Make(ARGS &&... args) { + static common::IfNoLvalue Make(ARGS &&...args) { return {new A(std::move(args)...)}; } diff --git a/flang/include/flang/Common/template.h b/flang/include/flang/Common/template.h --- a/flang/include/flang/Common/template.h +++ b/flang/include/flang/Common/template.h @@ -135,7 +135,7 @@ // CombineTuples, std::tuple> // is std::tuple. template struct CombineTuplesHelper { - static decltype(auto) f(TUPLES *... a) { + static decltype(auto) f(TUPLES *...a) { return std::tuple_cat(std::move(*a)...); } using type = decltype(f(static_cast(nullptr)...)); @@ -265,7 +265,7 @@ // i.e., given some number of optional values, return a optional tuple of // those values that is present only of all of the values were so. template -std::optional> AllPresent(std::optional &&... x) { +std::optional> AllPresent(std::optional &&...x) { return AllElementsPresent(std::make_tuple(std::move(x)...)); } @@ -276,14 +276,14 @@ // run it through JoinOptional to "squash" it. template std::optional MapOptional( - std::function &&f, std::optional &&... x) { + std::function &&f, std::optional &&...x) { if (auto args{AllPresent(std::move(x)...)}) { return std::make_optional(std::apply(std::move(f), std::move(*args))); } return std::nullopt; } template -std::optional MapOptional(R (*f)(A &&...), std::optional &&... x) { +std::optional MapOptional(R (*f)(A &&...), std::optional &&...x) { return MapOptional(std::function{f}, std::move(x)...); } diff --git a/flang/include/flang/Evaluate/expression.h b/flang/include/flang/Evaluate/expression.h --- a/flang/include/flang/Evaluate/expression.h +++ b/flang/include/flang/Evaluate/expression.h @@ -129,8 +129,8 @@ public: CLASS_BOILERPLATE(Operation) - explicit Operation(const Expr &... x) : operand_{x...} {} - explicit Operation(Expr &&... x) : operand_{std::move(x)...} {} + explicit Operation(const Expr &...x) : operand_{x...} {} + explicit Operation(Expr &&...x) : operand_{std::move(x)...} {} Derived &derived() { return *static_cast(this); } const Derived &derived() const { return *static_cast(this); } diff --git a/flang/include/flang/Evaluate/tools.h b/flang/include/flang/Evaluate/tools.h --- a/flang/include/flang/Evaluate/tools.h +++ b/flang/include/flang/Evaluate/tools.h @@ -864,7 +864,7 @@ parser::Message *AttachDeclaration(parser::Message *, const Symbol &); template parser::Message *SayWithDeclaration( - MESSAGES &messages, const Symbol &symbol, A &&... x) { + MESSAGES &messages, const Symbol &symbol, A &&...x) { return AttachDeclaration(messages.Say(std::forward(x)...), symbol); } diff --git a/flang/include/flang/Evaluate/traverse.h b/flang/include/flang/Evaluate/traverse.h --- a/flang/include/flang/Evaluate/traverse.h +++ b/flang/include/flang/Evaluate/traverse.h @@ -241,7 +241,7 @@ } template - Result Combine(const A &x, const Bs &... ys) const { + Result Combine(const A &x, const Bs &...ys) const { if constexpr (sizeof...(Bs) == 0) { return visitor_(x); } else { diff --git a/flang/include/flang/Parser/message.h b/flang/include/flang/Parser/message.h --- a/flang/include/flang/Parser/message.h +++ b/flang/include/flang/Parser/message.h @@ -67,7 +67,7 @@ class MessageFormattedText { public: template - MessageFormattedText(const MessageFixedText &text, A &&... x) + MessageFormattedText(const MessageFixedText &text, A &&...x) : isFatal_{text.isFatal()} { Format(&text, Convert(std::forward(x))...); } @@ -166,7 +166,7 @@ : location_{csr}, text_{t} {} template - Message(RANGE r, const MessageFixedText &t, A &&x, As &&... xs) + Message(RANGE r, const MessageFixedText &t, A &&x, As &&...xs) : location_{r}, text_{MessageFormattedText{ t, std::forward(x), std::forward(xs)...}} {} @@ -179,7 +179,7 @@ } Message &Attach(Message *); Message &Attach(std::unique_ptr &&); - template Message &Attach(A &&... args) { + template Message &Attach(A &&...args) { return Attach(new Message{std::forward(args)...}); // reference-counted } @@ -234,7 +234,7 @@ bool empty() const { return messages_.empty(); } void clear(); - template Message &Say(A &&... args) { + template Message &Say(A &&...args) { last_ = messages_.emplace_after(last_, std::forward(args)...); return *last_; } @@ -298,7 +298,7 @@ return common::ScopedSet(messages_, nullptr); } - template Message *Say(CharBlock at, A &&... args) { + template Message *Say(CharBlock at, A &&...args) { if (messages_ != nullptr) { return &messages_->Say(at, std::forward(args)...); } else { @@ -306,7 +306,7 @@ } } - template Message *Say(A &&... args) { + template Message *Say(A &&...args) { return Say(at_, std::forward(args)...); } diff --git a/flang/include/flang/Parser/parse-state.h b/flang/include/flang/Parser/parse-state.h --- a/flang/include/flang/Parser/parse-state.h +++ b/flang/include/flang/Parser/parse-state.h @@ -131,19 +131,18 @@ context_ = context_->attachment(); } - template void Say(CharBlock range, A &&... args) { + template void Say(CharBlock range, A &&...args) { if (deferMessages_) { anyDeferredMessages_ = true; } else { messages_.Say(range, std::forward(args)...).SetContext(context_.get()); } } - template - void Say(const MessageFixedText &text, A &&... args) { + template void Say(const MessageFixedText &text, A &&...args) { Say(p_, text, std::forward(args)...); } template - void Say(const MessageExpectedText &text, A &&... args) { + void Say(const MessageExpectedText &text, A &&...args) { Say(p_, text, std::forward(args)...); } diff --git a/flang/include/flang/Parser/parse-tree.h b/flang/include/flang/Parser/parse-tree.h --- a/flang/include/flang/Parser/parse-tree.h +++ b/flang/include/flang/Parser/parse-tree.h @@ -108,7 +108,7 @@ // is conventionally named "t". #define TUPLE_CLASS_BOILERPLATE(classname) \ template > \ - classname(Ts &&... args) : t(std::move(args)...) {} \ + classname(Ts &&...args) : t(std::move(args)...) {} \ using TupleTrait = std::true_type; \ BOILERPLATE(classname) diff --git a/flang/include/flang/Semantics/expression.h b/flang/include/flang/Semantics/expression.h --- a/flang/include/flang/Semantics/expression.h +++ b/flang/include/flang/Semantics/expression.h @@ -115,12 +115,12 @@ return foldingContext_.messages(); } - template parser::Message *Say(A &&... args) { + template parser::Message *Say(A &&...args) { return GetContextualMessages().Say(std::forward(args)...); } template - parser::Message *SayAt(const T &parsed, A &&... args) { + parser::Message *SayAt(const T &parsed, A &&...args) { return Say(parser::FindSourceLocation(parsed), std::forward(args)...); } diff --git a/flang/include/flang/Semantics/semantics.h b/flang/include/flang/Semantics/semantics.h --- a/flang/include/flang/Semantics/semantics.h +++ b/flang/include/flang/Semantics/semantics.h @@ -133,12 +133,12 @@ bool HasError(const parser::Name &); void SetError(Symbol &, bool = true); - template parser::Message &Say(A &&... args) { + template parser::Message &Say(A &&...args) { CHECK(location_); return messages_.Say(*location_, std::forward(args)...); } template - parser::Message &Say(parser::CharBlock at, A &&... args) { + parser::Message &Say(parser::CharBlock at, A &&...args) { return messages_.Say(at, std::forward(args)...); } parser::Message &Say(parser::Message &&msg) { @@ -146,7 +146,7 @@ } template void SayWithDecl(const Symbol &symbol, const parser::CharBlock &at, - parser::MessageFixedText &&msg, A &&... args) { + parser::MessageFixedText &&msg, A &&...args) { auto &message{Say(at, std::move(msg), args...)}; evaluate::AttachDeclaration(&message, symbol); } diff --git a/flang/lib/Evaluate/intrinsics-library-templates.h b/flang/lib/Evaluate/intrinsics-library-templates.h --- a/flang/lib/Evaluate/intrinsics-library-templates.h +++ b/flang/lib/Evaluate/intrinsics-library-templates.h @@ -78,7 +78,7 @@ template struct CallableHostWrapper { static Scalar scalarCallable(FoldingContext &context, HostFuncPointer func, - const Scalar &... x) { + const Scalar &...x) { if constexpr (host::HostTypeExists()) { host::HostFloatingPointEnvironment hostFPE; hostFPE.SetUpHostFloatingPointEnvironment(context); @@ -192,7 +192,7 @@ if (match) { return {HostProcedureWrapper{ [=](FoldingContext &context, - const ConstantContainer &... args) { + const ConstantContainer &...args) { auto callable{FromGenericFunctionPointer, FoldingContext &, GenericFunctionPointer, const ConstantContainer &...>(iter->second.callable)}; diff --git a/flang/lib/Parser/basic-parsers.h b/flang/lib/Parser/basic-parsers.h --- a/flang/lib/Parser/basic-parsers.h +++ b/flang/lib/Parser/basic-parsers.h @@ -636,14 +636,14 @@ template inline constexpr auto applyFunction( - ApplicableFunctionPointer f, const PARSER &... parser) { + ApplicableFunctionPointer f, const PARSER &...parser) { return ApplyFunction{ f, parser...}; } template inline /* not constexpr */ auto applyLambda( - ApplicableFunctionObject f, const PARSER &... parser) { + ApplicableFunctionObject f, const PARSER &...parser) { return ApplyFunction{ f, parser...}; } diff --git a/flang/lib/Parser/prescan.h b/flang/lib/Parser/prescan.h --- a/flang/lib/Parser/prescan.h +++ b/flang/lib/Parser/prescan.h @@ -64,7 +64,7 @@ TokenSequence TokenizePreprocessorDirective(); Provenance GetCurrentProvenance() const { return GetProvenance(at_); } - template Message &Say(A &&... a) { + template Message &Say(A &&...a) { Message &m{messages_.Say(std::forward(a)...)}; std::optional range{m.GetProvenanceRange(cooked_)}; CHECK(!range || cooked_.IsValid(*range)); diff --git a/flang/lib/Semantics/assignment.cpp b/flang/lib/Semantics/assignment.cpp --- a/flang/lib/Semantics/assignment.cpp +++ b/flang/lib/Semantics/assignment.cpp @@ -47,7 +47,7 @@ parser::CharBlock rhsSource, bool isPointerAssignment); void CheckShape(parser::CharBlock, const SomeExpr *); template - parser::Message *Say(parser::CharBlock at, A &&... args) { + parser::Message *Say(parser::CharBlock at, A &&...args) { return &context_.Say(at, std::forward(args)...); } evaluate::FoldingContext &foldingContext() { diff --git a/flang/lib/Semantics/check-declarations.cpp b/flang/lib/Semantics/check-declarations.cpp --- a/flang/lib/Semantics/check-declarations.cpp +++ b/flang/lib/Semantics/check-declarations.cpp @@ -86,7 +86,7 @@ return innermostSymbol_ && IsFunction(*innermostSymbol_); } template - void SayWithDeclaration(const Symbol &symbol, A &&... x) { + void SayWithDeclaration(const Symbol &symbol, A &&...x) { if (parser::Message * msg{messages_.Say(std::forward(x)...)}) { if (messages_.at().begin() != symbol.name().begin()) { evaluate::AttachDeclaration(*msg, symbol); @@ -1507,7 +1507,7 @@ // Report an error referring to first symbol with declaration of second symbol template void SubprogramMatchHelper::Say(const Symbol &symbol1, const Symbol &symbol2, - parser::MessageFixedText &&text, A &&... args) { + parser::MessageFixedText &&text, A &&...args) { auto &message{context.Say(symbol1.name(), std::move(text), symbol1.name(), std::forward(args)...)}; evaluate::AttachDeclaration(message, symbol2); diff --git a/flang/lib/Semantics/pointer-assignment.cpp b/flang/lib/Semantics/pointer-assignment.cpp --- a/flang/lib/Semantics/pointer-assignment.cpp +++ b/flang/lib/Semantics/pointer-assignment.cpp @@ -345,7 +345,7 @@ } template -parser::Message *PointerAssignmentChecker::Say(A &&... x) { +parser::Message *PointerAssignmentChecker::Say(A &&...x) { auto *msg{context_.messages().Say(std::forward(x)...)}; if (lhs_) { return evaluate::AttachDeclaration(msg, *lhs_); diff --git a/flang/lib/Semantics/resolve-names.cpp b/flang/lib/Semantics/resolve-names.cpp --- a/flang/lib/Semantics/resolve-names.cpp +++ b/flang/lib/Semantics/resolve-names.cpp @@ -118,7 +118,7 @@ Message &Say(const SourceName &, MessageFixedText &&); // Emit a formatted message associated with a source location. template - Message &Say(const SourceName &source, MessageFixedText &&msg, A &&... args) { + Message &Say(const SourceName &source, MessageFixedText &&msg, A &&...args) { return context_->Say(source, std::move(msg), std::forward(args)...); } @@ -214,12 +214,12 @@ } } - template Message &Say(A &&... args) { + template Message &Say(A &&...args) { return messageHandler_.Say(std::forward(args)...); } template Message &Say( - const parser::Name &name, MessageFixedText &&text, const A &... args) { + const parser::Name &name, MessageFixedText &&text, const A &...args) { return messageHandler_.Say(name.source, std::move(text), args...); } diff --git a/flang/unittests/Evaluate/intrinsics.cpp b/flang/unittests/Evaluate/intrinsics.cpp --- a/flang/unittests/Evaluate/intrinsics.cpp +++ b/flang/unittests/Evaluate/intrinsics.cpp @@ -69,7 +69,7 @@ strings.Save(x.keyword); return *this; } - template TestCall &Push(A &&x, As &&... xs) { + template TestCall &Push(A &&x, As &&...xs) { Push(std::move(x)); return Push(std::move(xs)...); } diff --git a/flang/unittests/Runtime/external-io.cpp b/flang/unittests/Runtime/external-io.cpp --- a/flang/unittests/Runtime/external-io.cpp +++ b/flang/unittests/Runtime/external-io.cpp @@ -137,7 +137,7 @@ // FORM='UNFORMATTED',RECL=8,STATUS='SCRATCH') auto io{IONAME(BeginOpenNewUnit)(__FILE__, __LINE__)}; IONAME(SetAccess) - (io, "SEQUENTIAL", 10) || (Fail() << "SetAccess(SEQUENTIAL)", 0); + (io, "SEQUENTIAL", 10) || (Fail() << "SetAccess(SEQUENTIAL)", 0); IONAME(SetAction) (io, "READWRITE", 9) || (Fail() << "SetAction(READWRITE)", 0); IONAME(SetForm)