[Bug c++/14587] New: Multiple inheriance/DLL testcase (g++.dg/ext/dllexport-MI1.C) failures

dannysmith at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Mon Mar 15 20:14:00 GMT 2004


g++.dg/ext/dllexport-MI1.C  has been failing on windows targets since 9
Mar 2004

Compare:
http://gcc.gnu.org/ml/gcc-testresults/2004-03/msg00362.html
http://gcc.gnu.org/ml/gcc-testresults/2004-03/msg00579.html

Reverting this patch:

2004-03-08  Jason Merrill  <jason@redhat.com>

	PR c++/13170
	* decl.c (xref_tag): Remove attribute handling.
	* cp-tree.h: Adjust prototype.
	* decl.c, parser.c, rtti.c: Adjust callers.
	* parser.c (cp_parser_class_head): Pass back attributes in the
	class head.
	(cp_parser_class_specifier): Adjust.


results in this testcase passing again.

Before the 8 Mar patch, these symbols were being exported from the dll: 

dllMI1
dllMI1Copy
_ZN2D2C1ERKS_
_ZN2D2C1Ev
_ZN2D2C2ERKS_
_ZN2D2C2Ev
_ZN5MBaseD0Ev
_ZN5MBaseD1Ev
_ZN5MBaseD2Ev
_ZNK2D12vfEv
_ZNK2D22vfEv
_ZNK3MI12vfEv
_ZTC3MI10_2D1
_ZTC3MI14_2D2
_ZThn4_N3MI1D0Ev
_ZThn4_N3MI1D1Ev
_ZThn4_NK3MI12vfEv
_ZTT2D1
_ZTT2D2
_ZTT3MI1
_ZTv0_n12_NK2D12vfEv
_ZTv0_n12_NK2D22vfEv
_ZTv0_n12_NK3MI12vfEv
_ZTv0_n16_N2D1D0Ev
_ZTv0_n16_N2D1D1Ev
_ZTv0_n16_N2D2D0Ev
_ZTv0_n16_N2D2D1Ev
_ZTv0_n16_N3MI1D0Ev
_ZTv0_n16_N3MI1D1Ev
_ZTV2D1
_ZTV2D2
_ZTV3MI1
_ZTV5MBase


With Jason's  patch, these symbols are missing:

10,12d9
< _ZNK2D12vfEv
< _ZNK2D22vfEv
< _ZNK3MI12vfEv
17d13
< _ZThn4_NK3MI12vfEv
21,23d16
< _ZTv0_n12_NK2D12vfEv
< _ZTv0_n12_NK2D22vfEv
< _ZTv0_n12_NK3MI12vfEv


Note that although the class constructors remain marked as dllexport,
the virtual method vf() in the derived classes are not.

Perhaps this is exposing a bug in the handling of dllexport in target file 
config/i386/winnt.c.  

Danny

-- 
           Summary: Multiple inheriance/DLL testcase (g++.dg/ext/dllexport-
                    MI1.C) failures
           Product: gcc
           Version: 3.4.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: dannysmith at gcc dot gnu dot org
                CC: gcc-bugs at gcc dot gnu dot org,jason at redhat dot com
 GCC build triplet: i686-pc-mingw32
  GCC host triplet: i686-pc-mingw32
GCC target triplet: i686-pc-mingw32


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14587



More information about the Gcc-bugs mailing list