[Bug c++/36654] [4.2/4.3 Regression] Inlined con/de-structor breaks virtual inheritance dllimport classes
--- Comment #10 from dannysmith at gcc dot gnu dot org 2009-01-07 07:33 --- Subject: Bug 36654 Author: dannysmith Date: Wed Jan 7 07:32:58 2009 New Revision: 143150 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=143150 Log: PR target/36654 * config/i386/winnt-cxx.c (i386_pe_type_dllimport_p): Check DECL_NOT_REALLY_EXTERN rather than !DECL_EXTERNAL Modified: branches/gcc-4_3-branch/gcc/ChangeLog branches/gcc-4_3-branch/gcc/config/i386/winnt-cxx.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36654
[Bug c++/36654] [4.2/4.3 Regression] Inlined con/de-structor breaks virtual inheritance dllimport classes
--- Comment #9 from tdragon at tdragon dot net 2009-01-02 14:23 --- That patch seems to work fine, and I haven't seen any unwarranted errors relating to static data members so far. Thank you very much for tracking this down! -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36654
[Bug c++/36654] [4.2/4.3 Regression] Inlined con/de-structor breaks virtual inheritance dllimport classes
--- Comment #8 from dannysmith at users dot sourceforge dot net 2009-01-02 04:19 --- Hello John, This patch: Index: gcc/config/i386/winnt-cxx.c === --- gcc/config/i386/winnt-cxx.c (revision 142383) +++ gcc/config/i386/winnt-cxx.c (working copy) @@ -65,7 +65,7 @@ ignore the class attribute. */ else if (TREE_CODE (decl) == VAR_DECL TREE_STATIC (decl) TREE_PUBLIC (decl) - !DECL_EXTERNAL (decl)) + DECL_NOT_REALLY_EXTERN (decl)) { if (!DECL_VIRTUAL_P (decl)) error (definition of static data member %q+D of fixes your testcase and causes no regressions in g++ testsuite. I have only tested on narrow range of dll builds, to check that the patch does not break anything. I think it may cause spurious errors with import of static data members, but that can be fixed. Could you please test with your projects. Thanks Danny -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36654
[Bug c++/36654] [4.2/4.3 Regression] Inlined con/de-structor breaks virtual inheritance dllimport classes
-- rguenth at gcc dot gnu dot org changed: What|Removed |Added Keywords||ice-on-valid-code Priority|P3 |P2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36654
[Bug c++/36654] [4.2/4.3 Regression] Inlined con/de-structor breaks virtual inheritance dllimport classes
-- rguenth at gcc dot gnu dot org changed: What|Removed |Added Summary|[4.3 regression] Inlined|[4.2/4.3 Regression] Inlined |con/de-structor breaks |con/de-structor breaks |virtual inheritance |virtual inheritance |dllimport classes |dllimport classes Target Milestone|4.3.3 |4.2.5 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36654