This is the mail archive of the
mailing list for the GCC project.
Re: RFC: Make dllimport/dllexport imply default visibility
- From: Geoffrey Keating <geoffk at apple dot com>
- To: Mark Mitchell <mark at codesourcery dot com>
- Cc: Chris Lattner <clattner at apple dot com>, Bill Wendling <wendling at apple dot com>, GCC <gcc at gcc dot gnu dot org>
- Date: Tue, 3 Jul 2007 18:31:47 -0700
- Subject: Re: RFC: Make dllimport/dllexport imply default visibility
- References: <firstname.lastname@example.org> <1FDE76E6-38BE-4C81-8B16-E76A259C4604@apple.com> <4673166C.email@example.com> <1BEC6BE6-3949-44F3-A103-18CCCC87CCB4@apple.com> <467324F8.firstname.lastname@example.org> <20070616020337.GA22579@caradoc.them.org> <email@example.com> <firstname.lastname@example.org> <468AE622.email@example.com>
On 03/07/2007, at 5:13 PM, Mark Mitchell wrote:
Geoffrey Keating wrote:
GCC's concept of visibility is very different to that of some other
Yes, and that may be a problem. For some features, we want to have
semantics that are consistent that across platforms; for others, we
to match other compilers on a particular platform.
Yes. __attribute__((visibility)) has consistent GNU semantics, and
other features (eg. -fvisibility-ms-compat, __dllspec) match other
To be clear, I don't have any objection to the semantics you stated,
from the point of view of first principles of language design. But,
they do not match existing practice on various systems -- and I
that a serious problem.
It's not possible for any semantics to match existing practise on
every system, since systems differ. As I said, I think that it would
be best for GCC to have one standard consistent set of semantics for
__attribute__((visibility)), and then if it's desirable to match
existing practise on other systems that should be done with other
features explicitly labelled as such.
I hope you don't mean that there are other system's compilers using
the '__attribute__((visibility))' syntax in a way that's incompatible
with GCC. If there are, I think the appropriate response is a
combination of fixincludes and a polite e-mail asking them to stop.
Description: S/MIME cryptographic signature