https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104276
--- Comment #8 from Darrell Wright <Darrell.Wright at gmail dot com> --- What about something like a __builtin_overwrite( ptr, size_t ) that tells the compiler that the range specified will be written. It forms a contract to do so with the compiler and would allow the memset to be eliminated or augmented to part of the range