PR exp/11349.

* printcmd.c (x_command): Only dereference once implicitly for
	TYPE_CODE_REF.

testsuite dir:
	PR exp/11349.
	* testsuite/gdb.cp/ref-types.exp: Add test to examine
	use a reference local variable.
This commit is contained in:
Pierre Muller 2010-05-04 06:48:27 +00:00
parent 23c5e64ea4
commit e1c34c5d94
4 changed files with 18 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2010-05-04 Pierre Muller <muller@ics.u-strasbg.fr>
PR exp/11349.
* printcmd.c (x_command): Only dereference once implicitly for
TYPE_CODE_REF.
2010-05-03 Doug Evans <dje@google.com>
* event-loop.c (gdb_timer): Delete unused global.

View File

@ -1420,7 +1420,7 @@ x_command (char *exp, int from_tty)
old_chain = make_cleanup (free_current_contents, &expr);
val = evaluate_expression (expr);
if (TYPE_CODE (value_type (val)) == TYPE_CODE_REF)
val = value_ind (val);
val = coerce_ref (val);
/* In rvalue contexts, such as this, functions are coerced into
pointers to functions. This makes "x/i main" work. */
if (/* last_format == 'i' && */

View File

@ -1,3 +1,9 @@
2010-05-04 Pierre Muller <muller@ics.u-strasbg.fr>
PR exp/11349.
* testsuite/gdb.cp/ref-types.exp: Add test to examine
use a reference local variable.
2010-05-02 Jan Kratochvil <jan.kratochvil@redhat.com>
* gdb.base/break-interp.exp: Remove $exec.debug safety removal.

View File

@ -200,6 +200,11 @@ gdb_expect {
timeout { fail "(timeout) print value of *rps" }
}
# GDB had a bug about dereferencing a pointer type
# that would lead to wrong results
# if we try to examine memory at pointer value.
gdb_test "x /hd rps" "$hex:\[ \t\]*-1" "examine value at rps"
send_gdb "ptype rps\n"
gdb_expect {