[flang] Fix flang-compiler/f18#425, build fail with libc++
Original-commit: flang-compiler/f18@96a553b189 Reviewed-on: https://github.com/flang-compiler/f18/pull/426
This commit is contained in:
parent
ffb2704be1
commit
6d93fd2e54
|
@ -20,6 +20,12 @@
|
|||
|
||||
namespace Fortran::evaluate {
|
||||
|
||||
ActualArgument::ActualArgument(Expr<SomeType> &&x) : u_{std::move(x)} {}
|
||||
ActualArgument::ActualArgument(common::CopyableIndirection<Expr<SomeType>> &&v)
|
||||
: u_{std::move(v)} {}
|
||||
ActualArgument::ActualArgument(AssumedType x) : u_{x} {}
|
||||
ActualArgument::~ActualArgument() {}
|
||||
|
||||
ActualArgument::AssumedType::AssumedType(const semantics::Symbol &symbol)
|
||||
: symbol_{&symbol} {
|
||||
const semantics::DeclTypeSpec *type{symbol.GetType()};
|
||||
|
|
|
@ -59,11 +59,10 @@ public:
|
|||
const semantics::Symbol *symbol_;
|
||||
};
|
||||
|
||||
explicit ActualArgument(Expr<SomeType> &&x) : u_{std::move(x)} {}
|
||||
explicit ActualArgument(common::CopyableIndirection<Expr<SomeType>> &&v)
|
||||
: u_{std::move(v)} {}
|
||||
explicit ActualArgument(AssumedType x) : u_{x} {}
|
||||
|
||||
explicit ActualArgument(Expr<SomeType> &&);
|
||||
explicit ActualArgument(common::CopyableIndirection<Expr<SomeType>> &&);
|
||||
explicit ActualArgument(AssumedType);
|
||||
~ActualArgument();
|
||||
ActualArgument &operator=(Expr<SomeType> &&);
|
||||
|
||||
Expr<SomeType> *GetExpr() {
|
||||
|
|
|
@ -187,6 +187,9 @@ bool IsOptional(const DummyArgument &da) {
|
|||
da);
|
||||
}
|
||||
|
||||
FunctionResult::FunctionResult(DynamicType t) : u{TypeAndShape{t}} {}
|
||||
FunctionResult::FunctionResult(TypeAndShape &&t) : u{std::move(t)} {}
|
||||
FunctionResult::FunctionResult(Procedure &&p) : u{std::move(p)} {}
|
||||
FunctionResult::~FunctionResult() = default;
|
||||
|
||||
bool FunctionResult::operator==(const FunctionResult &that) const {
|
||||
|
|
|
@ -127,9 +127,9 @@ std::optional<DummyArgument> CharacterizeDummyArgument(
|
|||
struct FunctionResult {
|
||||
ENUM_CLASS(Attr, Allocatable, Pointer, Contiguous)
|
||||
DECLARE_CONSTRUCTORS_AND_ASSIGNMENTS(FunctionResult)
|
||||
explicit FunctionResult(DynamicType t) : u{TypeAndShape{t}} {}
|
||||
explicit FunctionResult(TypeAndShape &&t) : u{std::move(t)} {}
|
||||
explicit FunctionResult(Procedure &&p) : u{std::move(p)} {}
|
||||
explicit FunctionResult(DynamicType);
|
||||
explicit FunctionResult(TypeAndShape &&);
|
||||
explicit FunctionResult(Procedure &&);
|
||||
~FunctionResult();
|
||||
bool operator==(const FunctionResult &) const;
|
||||
static std::optional<FunctionResult> Characterize(
|
||||
|
|
Loading…
Reference in a new issue