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

--- Comment #4 from joseph at codesourcery dot com <joseph at codesourcery dot 
com> ---
On Sat, 3 Aug 2013, rearnsha at gcc dot gnu.org wrote:

> Although the compiler shouldn't ICE, it's arguable that passing over-aligned
> values by value to functions is not supportable (c11, for example, does not
> support over-aligning function arguments even though it does permit
> over-aligning some other objects) and that this case is really an ICE on
> invalid.

I see no such restriction in C11.  You can't use _Alignas directly on a 
parameter, but if you have somehow constructed an over-aligned type (and, 
as I noted on the WG14 reflector some time ago, and more recently in 
N1731, there is no syntax for doing so despite the discussion of such 
types in C11), being a struct or union with an alignment specifier used 
therein, nothing I see prohibits passing it to a function - it's simply 
implementation-defined whether that is a context in which such a type is 
supported.

Reply via email to