]> git.ipfire.org Git - thirdparty/gcc.git/commit
Do not apply scalar storage order to pointer fields
authorEric Botcazou <ebotcazou@adacore.com>
Fri, 7 May 2021 18:44:36 +0000 (20:44 +0200)
committerEric Botcazou <ebotcazou@adacore.com>
Fri, 7 May 2021 18:47:48 +0000 (20:47 +0200)
commite2bc5b6c04df820017c497a2578bd3c4c7b6c89b
tree73027313566ab3c2f1d9fb5e60bbce6177735b14
parent7af392687952608b988bd5a476583106b3f51740
Do not apply scalar storage order to pointer fields

Pointer fields (and vector fields originally) were not really considered
when the scalar_storage_order attribute, so they are swapped as well.
As pointed out, this is problematic to describe in DWARF and probably
not very useful in any case, so this pulls them out.

gcc/
* doc/extend.texi (scalar_storage_order): Mention effect on pointer
and vector fields.
* tree.h (reverse_storage_order_for_component_p): Return false if
the type is a pointer.
gcc/c/
* c-typeck.c (build_unary_op) <ADDR_EXPR>: Do not issue an error
on the address of a pointer field in a record with reverse SSO.
gcc/testsuite/
* gcc.dg/sso-12.c: New test.
gcc/c/c-typeck.c
gcc/doc/extend.texi
gcc/testsuite/gcc.dg/sso-12.c [new file with mode: 0644]
gcc/tree.h