This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c/17251] visibility changes not backward compatible
- From: "jsm at polyomino dot org dot uk" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 31 Aug 2004 13:12:05 -0000
- Subject: [Bug c/17251] visibility changes not backward compatible
- References: <20040831125523.17251.jakub@gcc.gnu.org>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From jsm at polyomino dot org dot uk 2004-08-31 13:12 -------
Subject: Re: New: visibility changes not backward compatible
On Tue, 31 Aug 2004, jakub at gcc dot gnu dot org wrote:
> The thing unclear to me is why the attribute located in between return type
> and function name is sometimes applicable to the return type and sometimes
> to the FUNCTION_DECL.
If the return type is a sequence of declaration specifiers, the attribute
forms one of the declaration specifiers and applies to the declaration.
If not - for example, a return type int *__hidden - then it applies to the
return type, as per the syntax in extend.texi.
If you want to make an attribute applied to a function return type really
apply to the function itself, check the flags argument to the handler and
act appropriately. If you want an attribute in the declaration specifiers
to apply instead to the type given in those specifiers, look at the
handling of vector_size attributes.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17251