summaryrefslogtreecommitdiff
path: root/gdb/expprint.c
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2012-07-19 15:38:18 +0000
committerTom Tromey <tromey@redhat.com>2012-07-19 15:38:18 +0000
commit608b49672edd92191a25a2c365def9d2f4f51db7 (patch)
tree0ecad22ba0bdc2504d989da1742810ccc34a69b0 /gdb/expprint.c
parent274b54d7e28ed7bb6c03c9d3a27b43151548b8af (diff)
PR exp/13206:
* ax-gdb.c (gen_expr) <OP_TYPEOF, OP_DECLTYPE>: New cases. * breakpoint.c (watchpoint_exp_is_const) <OP_TYPEOF, OP_DECLTYPE>: New cases. * c-exp.y (TYPEOF, DECLTYPE): New tokens. (type_exp): Add new productions. (ident_tokens): Add __typeof__, typeof, __typeof, __decltype, and decltype. * eval.c (evaluate_subexp_standard) <OP_TYPEOF, OP_DECLTYPE>: New case. * expprint.c (dump_subexp_body_standard) <OP_TYPEOF, OP_DECLTYPE>: New case. * parse.c (operator_length_standard) <OP_TYPEOF, OP_DECLTYPE>: New case. * std-operator.def (OP_TYPEOF, OP_DECLTYPE): New constants. * varobj.c (varobj_create): Handle OP_TYPEOF, OP_DECLTYPE. gdb/testsuite * gdb.cp/casts.exp: Add tests for typeof and decltype. * gdb.cp/casts.cc (decltype): New function. (main): Use it.
Diffstat (limited to 'gdb/expprint.c')
-rw-r--r--gdb/expprint.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gdb/expprint.c b/gdb/expprint.c
index c3f6697f62..945389c437 100644
--- a/gdb/expprint.c
+++ b/gdb/expprint.c
@@ -971,6 +971,12 @@ dump_subexp_body_standard (struct expression *exp,
fprintf_filtered (stream, ")");
elt += 2;
break;
+ case OP_TYPEOF:
+ case OP_DECLTYPE:
+ fprintf_filtered (stream, "Typeof (");
+ elt = dump_subexp (exp, stream, elt);
+ fprintf_filtered (stream, ")");
+ break;
case STRUCTOP_STRUCT:
case STRUCTOP_PTR:
{