On 16/06/15 09:54, Eric Botcazou wrote:
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(-)


A very cursory glance at the patch set but should we restrict this attribute to apply only to scalar types rather than allow them on vector extensions. I haven't had enough coffee this morning but a first thought is that if it does apply on vector type extensions, clarifying the lane ordering up front would be helpful especially as we now allow indexing into short vectors.


regards
Ramana



Reply via email to