OSDN Git Service

Changes to distinguish typedef from original type in debug output.
authorbothner <bothner@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 12 Feb 1996 20:03:24 +0000 (20:03 +0000)
committerbothner <bothner@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 12 Feb 1996 20:03:24 +0000 (20:03 +0000)
* dbxout,c (dbxout_type):  Don't canonicalize typedef type to base.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@11217 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/dbxout.c

index f12cae8..cb06b16 100644 (file)
@@ -1057,7 +1057,8 @@ dbxout_type (type, full, show_arg_types)
      by assuming `int'.  */
   if (type == error_mark_node)
     type = integer_type_node;
-  else
+  else if (!(TYPE_NAME (type) && TREE_CODE (TYPE_NAME (type)) == TYPE_DECL
+            && DECL_ORIGINAL_TYPE (TYPE_NAME (type))))
     {
       type = TYPE_MAIN_VARIANT (type);
       if (TYPE_NAME (type)
@@ -1155,6 +1156,13 @@ dbxout_type (type, full, show_arg_types)
 
   typevec[TYPE_SYMTAB_ADDRESS (type)].status = TYPE_DEFINED;
 
+  if (TYPE_NAME (type) && TREE_CODE (TYPE_NAME (type)) == TYPE_DECL
+      && DECL_ORIGINAL_TYPE (TYPE_NAME (type)))
+    { 
+      dbxout_type (DECL_ORIGINAL_TYPE (TYPE_NAME (type)), 0, 0);
+      return;
+    }
+
   switch (TREE_CODE (type))
     {
     case VOID_TYPE: