From 632ea0ccc5c4c3f9fc06881bfedfc4b075873941 Mon Sep 17 00:00:00 2001 From: "gdb-2.5.1" Date: Mon, 2 May 1988 01:00:00 +0100 Subject: gdb-2.5.1 --- gdb/expprint.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'gdb/expprint.c') diff --git a/gdb/expprint.c b/gdb/expprint.c index 36b31c6..02a1ed3 100644 --- a/gdb/expprint.c +++ b/gdb/expprint.c @@ -79,7 +79,9 @@ static struct op_print op_print_tab[] = {"&", UNOP_ADDR, PREC_PREFIX, 0}, {"sizeof ", UNOP_SIZEOF, PREC_PREFIX, 0}, {"++", UNOP_PREINCREMENT, PREC_PREFIX, 0}, - {"--", UNOP_PREDECREMENT, PREC_PREFIX, 0} + {"--", UNOP_PREDECREMENT, PREC_PREFIX, 0}, + /* C++ */ + {"::", BINOP_SCOPE, PREC_PREFIX, 0}, }; static void print_subexp (); @@ -119,6 +121,18 @@ print_subexp (exp, pos, stream, prec) opcode = exp->elts[pc].opcode; switch (opcode) { + case OP_SCOPE: + myprec = PREC_PREFIX; + assoc = 0; + (*pos) += 2; + print_subexp (exp, pos, stream, (int) myprec + assoc); + fprintf (stream, " :: "); + nargs = strlen (&exp->elts[pc + 2].string); + (*pos) += 1 + (nargs + sizeof (union exp_element)) / sizeof (union exp_element); + + fprintf (stream, &exp->elts[pc + 2].string); + return; + case OP_LONG: (*pos) += 3; value_print (value_from_long (exp->elts[pc + 1].type, -- cgit v1.1