aboutsummaryrefslogtreecommitdiff
path: root/gdb/stack.c
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2012-07-19 15:33:25 +0000
committerTom Tromey <tromey@redhat.com>2012-07-19 15:33:25 +0000
commit9eaf670568f57fc78fe40d30fc89ac5b442693fb (patch)
tree4feb162ee44c711926d1d7f72db9dd486f374cde /gdb/stack.c
parentb1e0c0fa45dd11ac221adf99789aaaa8517a7b47 (diff)
downloadgdb-9eaf670568f57fc78fe40d30fc89ac5b442693fb.zip
gdb-9eaf670568f57fc78fe40d30fc89ac5b442693fb.tar.gz
gdb-9eaf670568f57fc78fe40d30fc89ac5b442693fb.tar.bz2
* 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.
Diffstat (limited to 'gdb/stack.c')
-rw-r--r--gdb/stack.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gdb/stack.c b/gdb/stack.c
index 35d379d..51747ea 100644
--- a/gdb/stack.c
+++ b/gdb/stack.c
@@ -2308,7 +2308,8 @@ return_command (char *retval_exp, int from_tty)
return_type = TYPE_TARGET_TYPE (SYMBOL_TYPE (thisfun));
if (return_type == NULL)
{
- if (retval_expr->elts[0].opcode != UNOP_CAST)
+ if (retval_expr->elts[0].opcode != UNOP_CAST
+ && retval_expr->elts[0].opcode != UNOP_CAST_TYPE)
error (_("Return value type not available for selected "
"stack frame.\n"
"Please use an explicit cast of the value to return."));