206template<exp_opcode OP, binary_kind_ftype FUNC>
218 return FUNC (expect_type, exp,
noside,
OP, arg1, kind_arg);
232template<exp_opcode OP, ternary_kind_ftype FUNC>
245 return FUNC (expect_type, exp,
noside,
OP, arg1, arg2, kind_arg);
305 error (_(
"ranges not allowed in this context"));
347 {
return OP_F77_UNDETERMINED_ARGLIST; }
408 using structop_base_operation::structop_base_operation;
415 {
return STRUCTOP_STRUCT; }
enum exp_opcode opcode() const override
value * evaluate(struct type *expect_type, struct expression *exp, enum noside noside) override
value * evaluate(struct type *expect_type, struct expression *exp, enum noside noside) override
enum exp_opcode opcode() const override
exp_opcode opcode() const override
value * evaluate(type *expect_type, expression *exp, noside noside) override
exp_opcode opcode() const override
value * evaluate(type *expect_type, expression *exp, noside noside) override
value * evaluate(type *expect_type, expression *exp, noside noside) override
exp_opcode opcode() const override
value * evaluate0(struct expression *exp, enum noside noside) const
value * evaluate2(struct expression *exp, enum noside noside) const
value * evaluate1(struct expression *exp, enum noside noside) const
enum exp_opcode opcode() const override
range_flag get_flags() const
value * evaluate(struct type *expect_type, struct expression *exp, enum noside noside) override
enum exp_opcode opcode() const override
value * evaluate(struct type *expect_type, struct expression *exp, enum noside noside) override
value * value_subarray(value *array, struct expression *exp, enum noside noside)
value * evaluate(struct type *expect_type, struct expression *exp, enum noside noside) override
enum exp_opcode opcode() const override
std::tuple< Arg... > m_storage
tuple_holding_operation(Arg... args)
struct value * eval_op_f_kind(struct type *expect_type, struct expression *exp, enum noside noside, enum exp_opcode opcode, struct value *arg1)
struct value * eval_op_f_floor(struct type *expect_type, struct expression *exp, enum noside noside, enum exp_opcode opcode, struct value *arg1)
struct value * eval_op_f_modulo(struct type *expect_type, struct expression *exp, enum noside noside, enum exp_opcode opcode, struct value *arg1, struct value *arg2)
struct value * eval_op_f_loc(struct type *expect_type, struct expression *exp, enum noside noside, enum exp_opcode op, struct value *arg1)
struct value * eval_op_f_abs(struct type *expect_type, struct expression *exp, enum noside noside, enum exp_opcode opcode, struct value *arg1)
struct value * eval_op_f_array_size(struct type *expect_type, struct expression *exp, enum noside noside, enum exp_opcode opcode, struct value *arg1)
struct value * eval_op_f_associated(struct type *expect_type, struct expression *exp, enum noside noside, enum exp_opcode opcode, struct value *arg1)
struct value * eval_op_f_rank(struct type *expect_type, struct expression *exp, enum noside noside, enum exp_opcode op, struct value *arg1)
struct value * eval_op_f_array_shape(struct type *expect_type, struct expression *exp, enum noside noside, enum exp_opcode op, struct value *arg1)
value * eval_op_f_cmplx(type *expect_type, expression *exp, noside noside, exp_opcode opcode, value *arg1)
struct value * eval_op_f_ceil(struct type *expect_type, struct expression *exp, enum noside noside, enum exp_opcode opcode, struct value *arg1)
struct value * eval_op_f_mod(struct type *expect_type, struct expression *exp, enum noside noside, enum exp_opcode opcode, struct value *arg1, struct value *arg2)
struct value * eval_op_f_allocated(struct type *expect_type, struct expression *exp, enum noside noside, enum exp_opcode op, struct value *arg1)
value * binary_kind_ftype(type *expect_type, expression *exp, noside noside, exp_opcode op, value *arg1, type *kind_arg)
value * ternary_kind_ftype(type *expect_type, expression *exp, noside noside, exp_opcode op, value *arg1, value *arg2, type *kind_arg)