This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c++/13905] Use of __attribute__ ((visibility("X"))) in class and struct declarations


------- Additional Comments From s_gccbugzilla at nedprod dot com  2004-01-29 20:01 -------
(In reply to comment #9)
> This is a dup of bug 9283.
> 
> *** This bug has been marked as a duplicate of 9283 ***

Can you mark #9283 as the resolved duplicate as I think I'm right in saying that 
this one supersedes #9283 whereas the reverse is not true?

To explain: #9283 wants the ability to mark classes and structs as hidden but 
this is bad DLL interface design. By default *everything* should be hidden and 
you should mark things as visible. That way if you forget anything you notice 
real quick - however you also by default *don't* export things. Lastly these 
semantics (hidden by default) are the ones Windows uses, which benefits cygwin, 
mingw and all cross-platform apps.

Also, #9283 has the major failing of not letting the compiler optimise the 
object files knowing that many symbols can be elided. See http://people.redhat.
com/drepper/dsohowto.pdf for more on this.

I may take a stab at this myself once v3.4 is more stable. It takes many hours 
for me to download it and every time I have so far it won't compile completely :
(

Cheers,
Niall


-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
         Resolution|DUPLICATE                   |


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]