From 0404d86f340f43e55c2a62a59462311fbaef3d57 Mon Sep 17 00:00:00 2001 From: Nathan Sidwell Date: Mon, 26 Jun 2000 11:06:39 +0000 Subject: [PATCH] decl2.c (handle_class_head): Bash typedefs to the type's main decl. * decl2.c (handle_class_head): Bash typedefs to the type's main decl. From-SVN: r34707 --- gcc/cp/ChangeLog | 5 +++++ gcc/cp/decl2.c | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 854eb8f935d..6046799d48e 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2000-06-26 Nathan Sidwell + + * decl2.c (handle_class_head): Bash typedefs to the type's main + decl. + 2000-06-25 Mark Mitchell * cp-tree.h (genrtl_begin_stmt_expr): Rename to ... diff --git a/gcc/cp/decl2.c b/gcc/cp/decl2.c index 8fe160ea889..af29ae064f9 100644 --- a/gcc/cp/decl2.c +++ b/gcc/cp/decl2.c @@ -5362,7 +5362,9 @@ handle_class_head (aggr, scope, id) tree decl; if (TREE_CODE (id) == TYPE_DECL) - decl = id; + /* We must bash typedefs back to the main decl of the type. Otherwise + we become confused about scopes. */ + decl = TYPE_MAIN_DECL (TREE_TYPE (id)); else if (DECL_CLASS_TEMPLATE_P (id)) decl = DECL_TEMPLATE_RESULT (id); else -- 2.30.2