aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPer Bothner <bothner@gcc.gnu.org>1996-02-12 12:03:24 -0800
committerPer Bothner <bothner@gcc.gnu.org>1996-02-12 12:03:24 -0800
commit79afd9061c9323a9b8394ae4470a522233856048 (patch)
tree0e616fb415f5d4cdab2d75612da466be6ce7ccf0
parent9506a28da93192d601373957c0b57826bcf14ed6 (diff)
downloadgcc-79afd9061c9323a9b8394ae4470a522233856048.zip
gcc-79afd9061c9323a9b8394ae4470a522233856048.tar.gz
gcc-79afd9061c9323a9b8394ae4470a522233856048.tar.bz2
Changes to distinguish typedef from original type in debug output.
* dbxout,c (dbxout_type): Don't canonicalize typedef type to base. From-SVN: r11217
-rw-r--r--gcc/dbxout.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/gcc/dbxout.c b/gcc/dbxout.c
index f12cae8..cb06b16 100644
--- a/gcc/dbxout.c
+++ b/gcc/dbxout.c
@@ -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: