* varobj.c (get_type, get_target_type): Use check_typedef.
authorDaniel Jacobowitz <drow@false.org>
Thu, 19 Jun 2003 20:40:40 +0000 (20:40 +0000)
committerDaniel Jacobowitz <drow@false.org>
Thu, 19 Jun 2003 20:40:40 +0000 (20:40 +0000)
gdb/ChangeLog
gdb/varobj.c

index b235fa2314e79f6e409d991a4ae96b623609c33c..badbac7aebfb20724ce5ef54a81dabc4dae0987f 100644 (file)
@@ -1,3 +1,7 @@
+2003-06-19  Daniel Jacobowitz  <drow@mvista.com>
+
+       * varobj.c (get_type, get_target_type): Use check_typedef.
+
 2003-06-19  Daniel Jacobowitz  <drow@mvista.com>
 
        * breakpoint.c (insert_catchpoint): Call internal_error.
index 0c9f0484268f53f5d5ae63af1a526b4507399c09..1c5fc6382f577c26b92c50764792cf7d33d61aa2 100644 (file)
@@ -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;