aboutsummaryrefslogtreecommitdiff
path: root/gdb/f-exp.h
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/f-exp.h')
-rw-r--r--gdb/f-exp.h175
1 files changed, 75 insertions, 100 deletions
diff --git a/gdb/f-exp.h b/gdb/f-exp.h
index 0c3bc8b..0ce23a0 100644
--- a/gdb/f-exp.h
+++ b/gdb/f-exp.h
@@ -23,15 +23,13 @@
#include "expop.h"
extern struct value *eval_op_f_abs (struct type *expect_type,
- struct expression *exp,
- enum noside noside,
+ struct expression *exp, enum noside noside,
enum exp_opcode opcode,
struct value *arg1);
extern 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 expression *exp, enum noside noside,
+ enum exp_opcode opcode, struct value *arg1,
+ struct value *arg2);
/* Implement expression evaluation for Fortran's CEILING intrinsic function
called with one argument. For EXPECT_TYPE, EXP, and NOSIDE see
@@ -121,22 +119,18 @@ extern struct value *eval_op_f_associated (struct type *expect_type,
enum noside noside,
enum exp_opcode opcode,
struct value *arg1);
-extern 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 *arg2);
-extern struct value * eval_op_f_allocated (struct type *expect_type,
- struct expression *exp,
- enum noside noside,
- enum exp_opcode op,
- struct value *arg1);
-extern struct value * eval_op_f_loc (struct type *expect_type,
- struct expression *exp,
- enum noside noside,
- enum exp_opcode op,
- struct value *arg1);
+extern 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 *arg2);
+extern struct value *eval_op_f_allocated (struct type *expect_type,
+ struct expression *exp,
+ enum noside noside,
+ enum exp_opcode op,
+ struct value *arg1);
+extern struct value *eval_op_f_loc (struct type *expect_type,
+ struct expression *exp, enum noside noside,
+ enum exp_opcode op, struct value *arg1);
/* Implement the evaluation of UNOP_FORTRAN_RANK. EXPECTED_TYPE, EXP, and
NOSIDE are as for expression::evaluate (see expression.h). OP will
@@ -145,8 +139,7 @@ extern struct value * eval_op_f_loc (struct type *expect_type,
extern struct value *eval_op_f_rank (struct type *expect_type,
struct expression *exp,
- enum noside noside,
- enum exp_opcode op,
+ enum noside noside, enum exp_opcode op,
struct value *arg1);
/* Implement expression evaluation for Fortran's SIZE keyword. For
@@ -165,12 +158,10 @@ extern struct value *eval_op_f_array_size (struct type *expect_type,
arguments, representing the two values passed to Fortran's SIZE
keyword. */
-extern 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 *arg2);
+extern 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 *arg2);
/* Implement expression evaluation for Fortran's SIZE intrinsic function called
with three arguments. For EXPECT_TYPE, EXP, and NOSIDE see
@@ -204,8 +195,7 @@ typedef value *binary_kind_ftype (type *expect_type, expression *exp,
/* Two-argument operation with the second argument being a kind argument. */
template<exp_opcode OP, binary_kind_ftype FUNC>
-class fortran_kind_2arg
- : public tuple_holding_operation<operation_up, type*>
+class fortran_kind_2arg : public tuple_holding_operation<operation_up, type *>
{
public:
@@ -218,8 +208,7 @@ public:
return FUNC (expect_type, exp, noside, OP, arg1, kind_arg);
}
- exp_opcode opcode () const override
- { return OP; }
+ exp_opcode opcode () const override { return OP; }
};
/* Function prototype for Fortran intrinsic functions taking two arguments and
@@ -245,49 +234,47 @@ public:
return FUNC (expect_type, exp, noside, OP, arg1, arg2, kind_arg);
}
- exp_opcode opcode () const override
- { return OP; }
+ exp_opcode opcode () const override { return OP; }
};
using fortran_abs_operation = unop_operation<UNOP_ABS, eval_op_f_abs>;
-using fortran_ceil_operation_1arg = unop_operation<FORTRAN_CEILING,
- eval_op_f_ceil>;
-using fortran_ceil_operation_2arg = fortran_kind_2arg<FORTRAN_CEILING,
- eval_op_f_ceil>;
-using fortran_floor_operation_1arg = unop_operation<FORTRAN_FLOOR,
- eval_op_f_floor>;
-using fortran_floor_operation_2arg = fortran_kind_2arg<FORTRAN_FLOOR,
- eval_op_f_floor>;
-using fortran_kind_operation = unop_operation<UNOP_FORTRAN_KIND,
- eval_op_f_kind>;
-using fortran_allocated_operation = unop_operation<UNOP_FORTRAN_ALLOCATED,
- eval_op_f_allocated>;
-using fortran_loc_operation = unop_operation<UNOP_FORTRAN_LOC,
- eval_op_f_loc>;
+using fortran_ceil_operation_1arg
+ = unop_operation<FORTRAN_CEILING, eval_op_f_ceil>;
+using fortran_ceil_operation_2arg
+ = fortran_kind_2arg<FORTRAN_CEILING, eval_op_f_ceil>;
+using fortran_floor_operation_1arg
+ = unop_operation<FORTRAN_FLOOR, eval_op_f_floor>;
+using fortran_floor_operation_2arg
+ = fortran_kind_2arg<FORTRAN_FLOOR, eval_op_f_floor>;
+using fortran_kind_operation
+ = unop_operation<UNOP_FORTRAN_KIND, eval_op_f_kind>;
+using fortran_allocated_operation
+ = unop_operation<UNOP_FORTRAN_ALLOCATED, eval_op_f_allocated>;
+using fortran_loc_operation = unop_operation<UNOP_FORTRAN_LOC, eval_op_f_loc>;
using fortran_mod_operation = binop_operation<BINOP_MOD, eval_op_f_mod>;
-using fortran_modulo_operation = binop_operation<BINOP_FORTRAN_MODULO,
- eval_op_f_modulo>;
-using fortran_associated_1arg = unop_operation<FORTRAN_ASSOCIATED,
- eval_op_f_associated>;
-using fortran_associated_2arg = binop_operation<FORTRAN_ASSOCIATED,
- eval_op_f_associated>;
-using fortran_rank_operation = unop_operation<UNOP_FORTRAN_RANK,
- eval_op_f_rank>;
-using fortran_array_size_1arg = unop_operation<FORTRAN_ARRAY_SIZE,
- eval_op_f_array_size>;
-using fortran_array_size_2arg = binop_operation<FORTRAN_ARRAY_SIZE,
- eval_op_f_array_size>;
-using fortran_array_size_3arg = fortran_kind_3arg<FORTRAN_ARRAY_SIZE,
- eval_op_f_array_size>;
-using fortran_array_shape_operation = unop_operation<UNOP_FORTRAN_SHAPE,
- eval_op_f_array_shape>;
-using fortran_cmplx_operation_1arg = unop_operation<FORTRAN_CMPLX,
- eval_op_f_cmplx>;
-using fortran_cmplx_operation_2arg = binop_operation<FORTRAN_CMPLX,
- eval_op_f_cmplx>;
-using fortran_cmplx_operation_3arg = fortran_kind_3arg<FORTRAN_CMPLX,
- eval_op_f_cmplx>;
+using fortran_modulo_operation
+ = binop_operation<BINOP_FORTRAN_MODULO, eval_op_f_modulo>;
+using fortran_associated_1arg
+ = unop_operation<FORTRAN_ASSOCIATED, eval_op_f_associated>;
+using fortran_associated_2arg
+ = binop_operation<FORTRAN_ASSOCIATED, eval_op_f_associated>;
+using fortran_rank_operation
+ = unop_operation<UNOP_FORTRAN_RANK, eval_op_f_rank>;
+using fortran_array_size_1arg
+ = unop_operation<FORTRAN_ARRAY_SIZE, eval_op_f_array_size>;
+using fortran_array_size_2arg
+ = binop_operation<FORTRAN_ARRAY_SIZE, eval_op_f_array_size>;
+using fortran_array_size_3arg
+ = fortran_kind_3arg<FORTRAN_ARRAY_SIZE, eval_op_f_array_size>;
+using fortran_array_shape_operation
+ = unop_operation<UNOP_FORTRAN_SHAPE, eval_op_f_array_shape>;
+using fortran_cmplx_operation_1arg
+ = unop_operation<FORTRAN_CMPLX, eval_op_f_cmplx>;
+using fortran_cmplx_operation_2arg
+ = binop_operation<FORTRAN_CMPLX, eval_op_f_cmplx>;
+using fortran_cmplx_operation_3arg
+ = fortran_kind_3arg<FORTRAN_CMPLX, eval_op_f_cmplx>;
/* OP_RANGE for Fortran. */
class fortran_range_operation
@@ -298,17 +285,13 @@ public:
using tuple_holding_operation::tuple_holding_operation;
- value *evaluate (struct type *expect_type,
- struct expression *exp,
+ value *evaluate (struct type *expect_type, struct expression *exp,
enum noside noside) override
{
- error (_("ranges not allowed in this context"));
+ error (_ ("ranges not allowed in this context"));
}
- range_flag get_flags () const
- {
- return std::get<0> (m_storage);
- }
+ range_flag get_flags () const { return std::get<0> (m_storage); }
value *evaluate0 (struct expression *exp, enum noside noside) const
{
@@ -325,8 +308,7 @@ public:
return std::get<3> (m_storage)->evaluate (nullptr, exp, noside);
}
- enum exp_opcode opcode () const override
- { return OP_RANGE; }
+ enum exp_opcode opcode () const override { return OP_RANGE; }
};
/* In F77, functions, substring ops and array subscript operations
@@ -339,12 +321,13 @@ public:
using tuple_holding_operation::tuple_holding_operation;
- value *evaluate (struct type *expect_type,
- struct expression *exp,
+ value *evaluate (struct type *expect_type, struct expression *exp,
enum noside noside) override;
enum exp_opcode opcode () const override
- { return OP_F77_UNDETERMINED_ARGLIST; }
+ {
+ return OP_F77_UNDETERMINED_ARGLIST;
+ }
private:
@@ -360,12 +343,10 @@ public:
using tuple_holding_operation::tuple_holding_operation;
- value *evaluate (struct type *expect_type,
- struct expression *exp,
+ value *evaluate (struct type *expect_type, struct expression *exp,
enum noside noside) override;
- enum exp_opcode opcode () const override
- { return std::get<0> (m_storage); }
+ enum exp_opcode opcode () const override { return std::get<0> (m_storage); }
};
/* Two-argument form of Fortran ubound/lbound intrinsics. */
@@ -376,12 +357,10 @@ public:
using tuple_holding_operation::tuple_holding_operation;
- value *evaluate (struct type *expect_type,
- struct expression *exp,
+ value *evaluate (struct type *expect_type, struct expression *exp,
enum noside noside) override;
- enum exp_opcode opcode () const override
- { return std::get<0> (m_storage); }
+ enum exp_opcode opcode () const override { return std::get<0> (m_storage); }
};
/* Three-argument form of Fortran ubound/lbound intrinsics. */
@@ -395,24 +374,20 @@ public:
value *evaluate (type *expect_type, expression *exp, noside noside) override;
- exp_opcode opcode () const override
- { return std::get<0> (m_storage); }
+ exp_opcode opcode () const override { return std::get<0> (m_storage); }
};
/* Implement STRUCTOP_STRUCT for Fortran. */
-class fortran_structop_operation
- : public structop_base_operation
+class fortran_structop_operation : public structop_base_operation
{
public:
using structop_base_operation::structop_base_operation;
- value *evaluate (struct type *expect_type,
- struct expression *exp,
+ value *evaluate (struct type *expect_type, struct expression *exp,
enum noside noside) override;
- enum exp_opcode opcode () const override
- { return STRUCTOP_STRUCT; }
+ enum exp_opcode opcode () const override { return STRUCTOP_STRUCT; }
};
} /* namespace expr */