* ax-gdb.c (gen_expr): Handle UNOP_CAST_TYPE, UNOP_MEMVAL_TYPE.
* breakpoint.c (watchpoint_exp_is_const): Handle UNOP_CAST_TYPE, UNOP_REINTERPRET_CAST, UNOP_DYNAMIC_CAST. * c-exp.y (exp): Emit UNOP_MEMVAL_TYPE, UNOP_CAST_TYPE. Update for changes to UNOP_REINTERPRET_CAST, UNOP_DYNAMIC_CAST. Use type_exp production where appropriate. * eval.c (evaluate_subexp_standard) <UNOP_CAST_TYPE>: New case. <UNOP_DYNAMIC_CAST, UNOP_REINTERPRET_CAST>: Update. <UNOP_MEMVAL_TYPE>: New case. (evaluate_subexp_for_address) <UNOP_MEMVAL_TYPE>: New case. (evaluate_subexp_for_sizeof) <UNOP_MEMVAL_TYPE>: New case. * expprint.c (print_subexp_standard) <UNOP_CAST_TYPE>: New case. <UNOP_MEMVAL_TYPE>: New case. (dump_subexp_body_standard) <UNOP_DYNAMIC_CAST, UNOP_REINTERPRET_CAST>: Update. <UNOP_CAST_TYPE, UNOP_MEMVAL_TYPE>: New cases. * parse.c (operator_length_standard) <UNOP_DYNAMIC_CAST, UNOP_REINTERPRET_CAST>: Update. <UNOP_CAST_TYPE, UNOP_MEMVAL_TYPE>: New cases. * stack.c (return_command): Also check for UNOP_CAST_TYPE. * std-operator.def (UNOP_CAST_TYPE, UNOP_MEMVAL_TYPE): New constants.
This commit is contained in:
parent
b1e0c0fa45
commit
9eaf670568
9 changed files with 178 additions and 37 deletions
12
gdb/parse.c
12
gdb/parse.c
|
@ -910,10 +910,16 @@ operator_length_standard (const struct expression *expr, int endpos,
|
|||
oplen = 3;
|
||||
break;
|
||||
|
||||
case BINOP_VAL:
|
||||
case UNOP_CAST:
|
||||
case UNOP_CAST_TYPE:
|
||||
case UNOP_DYNAMIC_CAST:
|
||||
case UNOP_REINTERPRET_CAST:
|
||||
case UNOP_MEMVAL_TYPE:
|
||||
oplen = 1;
|
||||
args = 2;
|
||||
break;
|
||||
|
||||
case BINOP_VAL:
|
||||
case UNOP_CAST:
|
||||
case UNOP_MEMVAL:
|
||||
oplen = 3;
|
||||
args = 1;
|
||||
|
@ -1732,8 +1738,6 @@ operator_check_standard (struct expression *exp, int pos,
|
|||
case OP_SCOPE:
|
||||
case OP_TYPE:
|
||||
case UNOP_CAST:
|
||||
case UNOP_DYNAMIC_CAST:
|
||||
case UNOP_REINTERPRET_CAST:
|
||||
case UNOP_MAX:
|
||||
case UNOP_MEMVAL:
|
||||
case UNOP_MIN:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue