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

llvm-svn: 77460
This commit is contained in:
Dan Gohman 2009-07-29 16:00:30 +00:00
parent 16cbbe43d8
commit 61acaaa0f0
1 changed files with 7 additions and 4 deletions

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