Add one-past-the-end language to the inbounds keyword.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77460 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Dan Gohman 2009-07-29 16:00:30 +00:00
parent dcb40a3c1c
commit 0a28d18cd4

View File

@ -3998,10 +3998,13 @@ entry:
</pre>
<p>If the <tt>inbounds</tt> keyword is present, the result value of the
<tt>getelementptr</tt> is undefined if the base pointer is not pointing
into an allocated object, or if any of the addresses formed by successive
addition of the offsets implied by the indices to the base address is
outside of the allocated object into which the base pointer points.</p>
<tt>getelementptr</tt> is undefined if the base pointer is not an
<i>in bounds</i> address of an allocated object, or if any of the addresses
formed by successive addition of the offsets implied by the indices to
the base address are not an <i>in bounds</i> address of that allocated
object.
The <i>in bounds</i> addresses for an allocated object are all the addresses
that point into the object, plus the address one past the end.</p>
<p>If the <tt>inbounds</tt> keyword is not present, the offsets are added to
the base address with silently-wrapping two's complement arithmetic, and