mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-07-15 05:01:13 +08:00
* parser-defs.h (enum precedence): Added PREC_BUILTIN_FUNCTION.
* expression.h (enum exp_opcode): Added UNOP_LOWER, UNOP_UPPER, UNUP_LENGTH. * expprint.c (dump_expression): Handle the new exp_opcodes. (print_subexp): Handle PREC_BUILTIN_FUNCTION. (print_simple_m2_func): Removed. (print_subexp): Remove support for Modula2 builtin functions. * m2-lang.c (m2_op_print_tab): Add support for builtin functions. * ch-exp.y: Parse LOWER, UPPER, and LENGTH builtins. (write_lower_upper_value): Convenience function for LOWER and UPPER. (upper_lower_argument, length_argument): Removed non-terminals. * ch-lang.c (chill_op_print_tab): Entries for UPPER, LOWER, LENGTH. (type_lower_upper): New function. Calculate LOWER/UPPER of type. (value_chill_length): New function. Calcalate LENGTH of ARRAY/STRING. (evaluate_subexp_chill): Handle UNOP_LOWER, UNOP_UPPER, UNOP_LENGTH. This fixes PR 5015 (and 5826 which is a duplicate).
This commit is contained in:
@ -378,6 +378,15 @@ static const struct op_print m2_op_print_tab[] = {
|
||||
{"<", BINOP_LESS, PREC_ORDER, 0},
|
||||
{"^", UNOP_IND, PREC_PREFIX, 0},
|
||||
{"@", BINOP_REPEAT, PREC_REPEAT, 0},
|
||||
{"CAP", UNOP_CAP, PREC_BUILTIN_FUNCTION, 0},
|
||||
{"CHR", UNOP_CHR, PREC_BUILTIN_FUNCTION, 0},
|
||||
{"ORD", UNOP_ORD, PREC_BUILTIN_FUNCTION, 0},
|
||||
{"FLOAT",UNOP_FLOAT, PREC_BUILTIN_FUNCTION, 0},
|
||||
{"HIGH", UNOP_HIGH, PREC_BUILTIN_FUNCTION, 0},
|
||||
{"MAX", UNOP_MAX, PREC_BUILTIN_FUNCTION, 0},
|
||||
{"MIN", UNOP_MIN, PREC_BUILTIN_FUNCTION, 0},
|
||||
{"ODD", UNOP_ODD, PREC_BUILTIN_FUNCTION, 0},
|
||||
{"TRUNC", UNOP_TRUNC, PREC_BUILTIN_FUNCTION, 0},
|
||||
{NULL, 0, 0, 0}
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user