gdb/ChangeLog:

2006-05-03  Vladimir Prus  <ghost@cs.msu.su>

       * varobj.c (c_value_of_variable): Ignore top-level references.
       (Committed by Jim Blandy.)
This commit is contained in:
Jim Blandy
2006-05-03 22:59:38 +00:00
parent 104b4fab38
commit 14b3d9c967
2 changed files with 14 additions and 3 deletions

View File

@@ -2054,10 +2054,16 @@ c_variable_editable (struct varobj *var)
static char *
c_value_of_variable (struct varobj *var)
{
/* BOGUS: if val_print sees a struct/class, it will print out its
children instead of "{...}" */
/* BOGUS: if val_print sees a struct/class, or a reference to one,
it will print out its children instead of "{...}". So we need to
catch that case explicitly. */
struct type *type = get_type (var);
switch (TYPE_CODE (get_type (var)))
/* Strip top-level references. */
while (TYPE_CODE (type) == TYPE_CODE_REF)
type = check_typedef (TYPE_TARGET_TYPE (type));
switch (TYPE_CODE (type))
{
case TYPE_CODE_STRUCT:
case TYPE_CODE_UNION: