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

Paul Thomas <pault at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Assignee|unassigned at gcc dot gnu.org      |pault at gcc dot gnu.org

--- Comment #3 from Paul Thomas <pault at gcc dot gnu.org> ---
The bug arises because array sections are marked as DECL_ARTIFICIAL and so the
offending SOURCE expression produces a temporary variable, whose offset is out
of kilter, being zero. The most economical solution, in terms of effort, is
simply to suppress the creation of the temporary, when the source is a
variable. This is regtesting right now. Alternatively, the array descriptor
could be converted to unity based indexes, with the appropriate offset.

I'll take it.

Paul

Reply via email to