[LLVMdev] Reference Manual Clarifications 2
Nick Lewycky
nicholas at mxc.ca
Sat Apr 19 14:21:33 PDT 2008
Chris Lattner wrote:
> On Apr 1, 2008, at 6:41 PM, Jon Sargeant wrote:
>> Regarding free, I also think your wording isn't clear enough: "If the
>> pointer is null, the result is undefined." The free result is void.
>> Consider rewording as "If the pointer is null, the operation is valid
>> but does not free the pointer."
>
> It isn't though. free(NULL) could segfault the app, for example.
That's not compatible with C free(). From 7.20.3.2/2:
"The free function causes the space pointed to by ptr to be deallocated,
that is, made available for further allocation. If ptr is a null
pointer, no action occurs."
For whatever reason, I thought that free of null was a normal no-op in LLVM.
Nick
More information about the llvm-dev
mailing list