[LLVMdev] Reference Manual Clarifications 2
delta17 at cox.net
Tue Apr 1 18:41:26 PDT 2008
Chris Lattner wrote:
> On Mon, 31 Mar 2008, Jon Sargeant wrote:
>> I'm attaching another round of changes. Please verify that they are correct.
> Applied with edits:
> I figured out what your patches don't apply. Something (your web browser,
> editor, etc) is stripping trailing whitespace.
Hmm, I realized that the alignment doesn't have a type in front of it
(unlike NumElements) so it's reasonably clear that it's a constant.
Saying "constant alignment" isn't necessary.
Regarding malloc, I think your wording isn't clear enough: "Allocating
zero bytes is undefined." My understanding is that an undefined
operation is illegal; however, the implementation is not required to
diagnose it. Allocating zero bytes is legal; it's just that the result
is meaningless. Consider rewording as "Allocating zero bytes is legal,
but the result is undefined. The result of a zero-sized allocation is a
valid argument for free."
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."
Regarding alloca, please add "The operation is undefined if there is
insufficient memory available."
Regarding malloc and alloca, I realized that the size is unsigned, so a
negative value for NumElements is impossible. I suggest replacing "it
is the number of elements allocated" with "it is the UNSIGNED number of
Regarding shl, ashr, and lshr, please add "The second argument is
interpreted as an unsigned value."
Regarding unwind, replace "The 'unwind' intrinsic" with "The 'unwind'
I'm working on another set of changes now. If it's not too much
trouble, it would be more convenient for me to post the changes (as I've
done in this e-mail) and let you integrate them into LangRef.html.
More information about the llvm-dev