This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/13905] Use of __attribute__ ((visibility("X"))) in class and struct declarations
- From: "s_gccbugzilla at nedprod dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 29 Jan 2004 20:01:56 -0000
- Subject: [Bug c++/13905] Use of __attribute__ ((visibility("X"))) in class and struct declarations
- References: <20040128224951.13905.s_gccbugzilla@nedprod.com>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- 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