Eric Botcazou <ebotca...@adacore.com> writes:
> This is the C front-end + C family part.
>
>       * doc/extend.texi (type attributes): Document scalar_storage_order.
>       * doc/invoke.texi (Warnings): Document -Wno-scalar-storage-order.
> c-family/
>       * c-common.c (c_common_attributes): Add scalar_storage_order.
>       (handle_scalar_storage_order_attribute): New function.
>       * c.opt (Wscalar-storage-order): New warning.
> c/
>       * c-decl.c (finish_struct): If the structure has reverse scalar storage
>       order, rewrite the type of array fields with scalar component.
>       * c-typeck.c (build_unary_op) <ADDR_EXPR>: Remove left-overs.  Issue
>       errors on bit-fields and reverse SSO here and not...
>       (c_mark_addressable): ...here.
>
>  doc/extend.texi     |   47 +++++++++++++++++++++++++++++++++++++++++++++
>  doc/invoke.texi     |    6 +++++
>  c-family/c.opt      |    4 +++
>  c-family/c-common.c |   54 +++++++++++++++++++++++++++++++++++++++++++++++++-
>  c/c-typeck.c        |   53 +++++++++++++++++++++++++++++++-------------------
>  c/c-decl.c          |   45 +++++++++++++++++++++++++++++--------------
>  6 files changed, 175 insertions(+), 34 deletions(-)

Sorry for the nit, but:

> +@itemize
> +@item Taking the address of a scalar field of a @code{union} or a
> +@code{struct} with reverse scalar storage order is illegal and will
> +yield an error
> +@item Taking the address of an array field, whose component is scalar, of
> +a @code{union} or a @code{struct} with reverse scalar storage order is
> +permitted but will yield a warning, unless @option{-Wno-scalar-storage-order}
> +is specified
> +@item Taking the address of a @code{union} or a @code{struct} with reverse
> +scalar storage order is permitted
> +@end itemize

"illegal" -> "invalid" or "not permitted"

Thanks,
Richard

Reply via email to