aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/i386/winnt.c
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2004-04-30 18:26:48 -0400
committerJason Merrill <jason@gcc.gnu.org>2004-04-30 18:26:48 -0400
commit672149847fcde1b055ddbcfff7849e3a6a4043aa (patch)
treef4d65d8bd351d2fdf24edc0ee51fdb6998ce6afc /gcc/config/i386/winnt.c
parent269c559dab0e8ff21c33aae0186c8144d86f3bbe (diff)
downloadgcc-672149847fcde1b055ddbcfff7849e3a6a4043aa.zip
gcc-672149847fcde1b055ddbcfff7849e3a6a4043aa.tar.gz
gcc-672149847fcde1b055ddbcfff7849e3a6a4043aa.tar.bz2
re PR c++/14587 (Multiple inheriance/DLL testcase (g++.dg/ext/dllexport-MI1.C) failures)
PR c++/14587 * config/i386/winnt.c (associated_type): Look for attributes on the TYPE_MAIN_VARIANT of *this. * attribs.c (decl_attributes): If ATTR_FLAG_TYPE_IN_PLACE, also apply the attributes to the variants. From-SVN: r81369
Diffstat (limited to 'gcc/config/i386/winnt.c')
-rw-r--r--gcc/config/i386/winnt.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/config/i386/winnt.c b/gcc/config/i386/winnt.c
index b97810a..6196d32 100644
--- a/gcc/config/i386/winnt.c
+++ b/gcc/config/i386/winnt.c
@@ -171,7 +171,8 @@ associated_type (tree decl)
dtor's are not affected by class status but virtual and
non-virtual thunks are. */
if (!DECL_ARTIFICIAL (decl) || DECL_COMDAT (decl))
- t = TREE_TYPE (TREE_VALUE (TYPE_ARG_TYPES (TREE_TYPE (decl))));
+ t = TYPE_MAIN_VARIANT
+ (TREE_TYPE (TREE_VALUE (TYPE_ARG_TYPES (TREE_TYPE (decl)))));
}
else if (DECL_CONTEXT (decl)
&& TREE_CODE_CLASS (TREE_CODE (DECL_CONTEXT (decl))) == 't')