I found this when reading the documentation for Kito's recent patch. >From the discussion it sounds like this is the desired behavior, so let's document it.
gcc/doc/ChangeLog * invoke.texi (-falign-functions): Mention __align__ --- gcc/doc/invoke.texi | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 2a9ea3455f6..8326a60dcf1 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -13136,7 +13136,9 @@ effective only in combination with @option{-fstrict-aliasing}. Align the start of functions to the next power-of-two greater than or equal to @var{n}, skipping up to @var{m}-1 bytes. This ensures that at least the first @var{m} bytes of the function can be fetched by the CPU -without crossing an @var{n}-byte alignment boundary. +without crossing an @var{n}-byte alignment boundary. This does not override +functions that otherwise specify their own alignment constraints, such as via +an alignment attribute. If @var{m} is not specified, it defaults to @var{n}. -- 2.34.1