https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88800
Martin Sebor <msebor at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2019-01-11
CC| |msebor at gcc dot gnu.org
Ever confirmed|0 |1
Known to fail| |8.2.0, 9.0
--- Comment #3 from Martin Sebor <msebor at gcc dot gnu.org> ---
Confirmed. The warning is issued by the restrict pass when the memmove call is
being folded into MEM_REF, i.e.,
__builtin_memmove (&b.data, &c, 16);
into:
_15 = MEM[(char * {ref-all})&c];
MEM[(char * {ref-all})&b] = _15;
and before b.size's initial negative value has been constant-propagated. I
don't know if teaching the restrict pass about MEM_REF rather than having the
folder call into the pass would be viable given the unreliability of the
MEM_REF argument.