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

--- Comment #6 from joseph at codesourcery dot com <joseph at codesourcery dot 
com> 2010-12-09 21:23:53 UTC ---
On Thu, 9 Dec 2010, hjl.tools at gmail dot com wrote:

> For
> 
> int *
>  __attribute__((aligned(4096))) 
> foo2 ()
> {
>   return 0;
> }
> 
> parser applies attribute to "int *" instead of foo2.

Yes, this is as documented, just like if you had a type qualifier there.  
I see that two critical words were missing in the relevant section of the 
manual; I've applied this patch to add them.

Index: doc/extend.texi
===================================================================
--- doc/extend.texi    (revision 167663)
+++ doc/extend.texi    (working copy)
@@ -4036,7 +4036,7 @@
 declaration @code{T D} specifies the type
 `...@var{derived-declarator-type-list} @var{Type}'' for @var{ident}, then
 @code{T D1} specifies the type `...@var{derived-declarator-type-list}
-...@var{type-qualifier-and-attribute-specifier-list} @var{Type}'' for
+...@var{type-qualifier-and-attribute-specifier-list} pointer to @var{Type}'' 
for
 @var{ident}.

 For example,
Index: ChangeLog
===================================================================
--- ChangeLog    (revision 167663)
+++ ChangeLog    (working copy)
@@ -1,5 +1,10 @@
 2010-12-09  Joseph Myers  <jos...@codesourcery.com>

+    * doc/extend.texi (Attribute Syntax): Correct description of
+    attributes in pointer declarators.
+
+2010-12-09  Joseph Myers  <jos...@codesourcery.com>
+
     * config/mips/vxworks.h (DBX_REGISTER_NUMBER): Undefine.
     * config.gcc (mips64*-*-linux* | mipsisa64*-*-linux*,
     mips*-*-linux*, mips-wrs-vxworks): Don't use svr4.h.

Reply via email to