https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93210

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2020-01-09
     Ever confirmed|0                           |1

--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Apparently it isn't related to anonymous aggregates at all.
And, before r273435 aka
https://gcc.gnu.org/ml/gcc-patches/2019-07/msg00893.html
(so e.g. in GCC 9 and earlier) we weren't simplifying the u.b case either).
Since r273435 fold_array_ctor_reference can handle extraction from multiple
fields, but fold_nonarray_ctor_reference still doesn't, so this PR could be
fixed by teaching it to handle it.
It might be also worth to either add CONSTRUCTOR support to native_encode_expr,
or add a wrapper to that function for fold*ctor_reference that would handle
that and perform native encoding of a whole CONSTRUCTOR (provided that its
ultimate elements are only what native_encode_expr supports), but first
clearing the whole range of the buffer and then just recursing in there.

Reply via email to