Bug 14489 - alternate keywords for visibility attribute
Summary: alternate keywords for visibility attribute
Status: NEW
Alias: None
Product: gcc
Classification: Unclassified
Component: c (show other bugs)
Version: 3.3.2
: P2 enhancement
Target Milestone: ---
Assignee: Not yet assigned to anyone
URL:
Keywords: visibility
Depends on:
Blocks:
 
Reported: 2004-03-08 20:39 UTC by Markus Gyger
Modified: 2006-08-15 18:11 UTC (History)
2 users (show)

See Also:
Host:
Target:
Build:
Known to work:
Known to fail:
Last reconfirmed: 2006-01-21 02:57:00


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Markus Gyger 2004-03-08 20:39:43 UTC
The Sun ONE Studio 8 and Sun Studio 9 compilers on Solaris support the linker
scoping specifiers __global, __hidden and __symbolic which roughly correspond to
gcc's default, hidden and protected visibility attributes. Is there a chance to
have these keywords supported on gcc?  E.g.

__global   void linker_scope_global()   {}
__hidden   void linker_scope_hidden()   {}
__symbolic void linker_scope_symbolic() {}
           void linker_scope_default()  {}

in addition to

__attribute__ ((visibility ("default")))   void linker_scope_global()   {}
__attribute__ ((visibility ("internal")))  void linker_scope_internal() {}
__attribute__ ((visibility ("hidden")))    void linker_scope_hidden()   {}
__attribute__ ((visibility ("protected"))) void linker_scope_symbolic() {}
                                           void linker_scope_default()  {}

The command line option -xldscope={global|hidden|symbolic} allows to set the
default scope. See also:

http://docs.sun.com/source/817-0924/sun.specific.html#83476
http://developers.sun.com/tools/cc/documentation/s1s8cc_documentation/READMEs/c.html#feature13
Comment 1 Andrew Pinski 2004-03-08 20:42:59 UTC
You can use the preprocessor aka '-D__hidden=__attribute__ ((visibility ("hidden")))' as setting what the 
defualt is, I think there is another bug for that.
Comment 2 Andrew Pinski 2004-04-07 02:52:02 UTC
Confirmed, but as I said you can use the preprocessor, just like what cgwin/mgwin does 
for their keywords.