From b255b88f06b81523c64369fe686fedab0225de54 Mon Sep 17 00:00:00 2001 From: Dan Gohman Date: Thu, 20 Aug 2009 17:08:17 +0000 Subject: Clarify a few things in the inbounds description. Describing inbounds in terms of infinitely precise arithmetic prohibits the assumption address-space-sized integer arithmetic will wrap, with a wrapped-around value landing within the same object. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79538 91177308-0d34-0410-b5e6-96231b3b80d8 --- docs/LangRef.html | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'docs/LangRef.html') diff --git a/docs/LangRef.html b/docs/LangRef.html index 9ef7cce..384c120 100644 --- a/docs/LangRef.html +++ b/docs/LangRef.html @@ -4004,11 +4004,11 @@ entry:

If the inbounds keyword is present, the result value of the getelementptr is undefined if the base pointer is not an in bounds 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 in bounds address of that allocated - object. + that would be formed by successive addition of the offsets implied by the + indices to the base address with infinitely precise arithmetic are not an + in bounds address of that allocated object. The in bounds addresses for an allocated object are all the addresses - that point into the object, plus the address one past the end.

+ that point into the object, plus the address one byte past the end.

If the inbounds keyword is not present, the offsets are added to the base address with silently-wrapping two's complement arithmetic, and -- cgit v1.1