[cfe-dev] [LLVMdev] RFC: Adding attribute(nonnull) to things in libc++
mclow.lists at gmail.com
Mon Jun 1 10:52:20 PDT 2015
On Mon, Jun 1, 2015 at 10:35 AM, Joerg Sonnenberger <joerg at britannica.bec.de
> On Mon, Jun 01, 2015 at 09:57:17AM -0700, Reid Kleckner wrote:
> > Why should memset / memcpy be attribute nonnull? Is there standardese
> > supports that?
> The generic entry text of the standard section. IMO this is a standard
> bug and someone should *please* get it fixed. It is ridiculous that zero
> sized operations are considered UB.
That would require a change to the C standard, and, as far as I know, there
are no current plans to issue a revised C standard.
I *suppose* that we could change it in the C++ standard, but I doubt that
there would be any support on the committee for making std::memcpy
different from ::memcpy.
P.S. recent gcc (at least 4.8.x and later) make optimizations based on
this UB (i.e, if you pass a pointer to memcpy, then it can't be NULL).
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the cfe-dev