https://gcc.gnu.org/bugzilla/show_bug.cgi?id=32667
--- Comment #71 from Patrick J. LoPresti <lopresti at gmail dot com> --- (In reply to Eric Botcazou from comment #70) > > No, there is no bug in GCC, since it effectively does not apply "restrict" > to the internal calls to memcpy it generates. "restrict" is not something you apply to a call; it is something the call applies to you. If a function declares two argument pointers "restrict" and you pass in overlapping (or identical) memory regions, you are invoking undefined behavior. I still believe this is a bug in GCC, as I did a decade ago. But at least the developers eventually documented this non-standard library constraint they impose.
