https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56888
M Welinder <terra at gnome dot org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |terra at gnome dot org --- Comment #31 from M Welinder <terra at gnome dot org> --- Extra complication: the C library's memcpy may change errno to any non-zero value if it so desires. (C99 section 7.5 #5.) That means that raw calls to memcpy (and friends) cannot be generated anywhere where the compiler is unable to prove that the value of errno isn't used. Extra code to store and restore errno must be emitted otherwise.