https://gcc.gnu.org/bugzilla/show_bug.cgi?id=32667
--- Comment #14 from Patrick J. LoPresti <lopresti at gmail dot com> --- D Hugh Redelmeier in comment 12 is mistaken... memcpy is a reserved identifier (see e.g. http://stackoverflow.com/a/23841970), so the user cannot legally redefine it. That said, this is clearly a real bug in GCC. memcpy has a well-defined interface; GCC emits calls violating that interface; therefore GCC is buggy. I do not see why this is even controversial. (Also see Julian Seward's description of real-world problems in comment 5.) GCC either needs to provide its own mempcy or it needs to respect the interface. The cost of the latter is surely trivial, especially since many cases could be optimized by alias analysis.