[Bug c++/36654] [4.2/4.3 Regression] Inlined con/de-structor breaks virtual inheritance dllimport classes

2009-01-06 Thread dannysmith at gcc dot gnu dot org


--- 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

2009-01-02 Thread tdragon at tdragon dot net


--- 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

2009-01-01 Thread dannysmith at users dot sourceforge dot net


--- 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

2008-12-29 Thread rguenth at gcc dot gnu dot org


-- 

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

2008-11-30 Thread rguenth at gcc dot gnu dot org


-- 

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