aboutsummaryrefslogtreecommitdiff
path: root/gdb/varobj.c
diff options
context:
space:
mode:
authorDaniel Jacobowitz <drow@false.org>2003-06-19 20:40:40 +0000
committerDaniel Jacobowitz <drow@false.org>2003-06-19 20:40:40 +0000
commit6766a268ba1e52b0a8acc78ca4c07cb5b09da7fc (patch)
tree592de44ac302ef29d88797df8a03fc5704299fdb /gdb/varobj.c
parent5f73c3782d031631d1e193da1b4149af5eeb0728 (diff)
downloadgdb-6766a268ba1e52b0a8acc78ca4c07cb5b09da7fc.zip
gdb-6766a268ba1e52b0a8acc78ca4c07cb5b09da7fc.tar.gz
gdb-6766a268ba1e52b0a8acc78ca4c07cb5b09da7fc.tar.bz2
* varobj.c (get_type, get_target_type): Use check_typedef.
Diffstat (limited to 'gdb/varobj.c')
-rw-r--r--gdb/varobj.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/gdb/varobj.c b/gdb/varobj.c
index 0c9f048..1c5fc63 100644
--- a/gdb/varobj.c
+++ b/gdb/varobj.c
@@ -1379,9 +1379,8 @@ make_cleanup_free_variable (struct varobj *var)
return make_cleanup (do_free_variable_cleanup, var);
}
-/* This returns the type of the variable. This skips past typedefs
- and returns the real type of the variable. It also dereferences
- pointers and references.
+/* This returns the type of the variable. It also skips past typedefs
+ to return the real type of the variable.
NOTE: TYPE_TARGET_TYPE should NOT be used anywhere in this file
except within get_target_type and get_type. */
@@ -1391,8 +1390,8 @@ get_type (struct varobj *var)
struct type *type;
type = var->type;
- while (type != NULL && TYPE_CODE (type) == TYPE_CODE_TYPEDEF)
- type = TYPE_TARGET_TYPE (type);
+ if (type != NULL)
+ type = check_typedef (type);
return type;
}
@@ -1423,8 +1422,8 @@ get_target_type (struct type *type)
if (type != NULL)
{
type = TYPE_TARGET_TYPE (type);
- while (type != NULL && TYPE_CODE (type) == TYPE_CODE_TYPEDEF)
- type = TYPE_TARGET_TYPE (type);
+ if (type != NULL)
+ type = check_typedef (type);
}
return type;