diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/doc/extend.texi | 7 |
2 files changed, 10 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index be3b820..72c8dbb 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2007-06-15 Matthew Wilcox <matthew@wil.cx> + + * doc/extend.texi: Document behavior of __attribute__((aligned)) + on typedefs. + 2007-06-15 Mark Mitchell <mark@codesourcery.com> * rtlanal.c (note_stores): Improve documentation. diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi index baeff30..c957757 100644 --- a/gcc/doc/extend.texi +++ b/gcc/doc/extend.texi @@ -3153,8 +3153,11 @@ copy operations more efficient, because the compiler can use whatever instructions copy the biggest chunks of memory when performing copies to or from the variables or fields that you have aligned this way. -The @code{aligned} attribute can only increase the alignment; but you -can decrease it by specifying @code{packed} as well. See below. +When used on a struct, or struct member, the @code{aligned} attribute can +only increase the alignment; in order to decrease it, the @code{packed} +attribute must be specified as well. When used as part of a typedef, the +@code{aligned} attribute can both increase and decrease alignment, and +specifying the @code{packed} attribute will generate a warning. Note that the effectiveness of @code{aligned} attributes may be limited by inherent limitations in your linker. On many systems, the linker is |