OSDN Git Service

be very explicit that readnone/readonly functions can't
authorChris Lattner <sabre@nondot.org>
Sun, 3 May 2009 18:49:37 +0000 (18:49 +0000)
committerChris Lattner <sabre@nondot.org>
Sun, 3 May 2009 18:49:37 +0000 (18:49 +0000)
throw exceptions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70788 91177308-0d34-0410-b5e6-96231b3b80d8

docs/LangRef.html

index be8ff73..1a9567a 100644 (file)
@@ -1066,7 +1066,8 @@ exception it throws) based strictly on its arguments, without dereferencing any
 pointer arguments or otherwise accessing any mutable state (e.g. memory, control
 registers, etc) visible to caller functions.  It does not write through any
 pointer arguments (including <tt><a href="#byval">byval</a></tt> arguments) and
-never changes any state visible to callers.</dd>
+never changes any state visible to callers.  readnone functions may not throw
+an exception that escapes into the caller.</dd>
 
 <dt><tt><a name="readonly">readonly</a></tt></dt>
 <dd>This attribute indicates that the function does not write through any
@@ -1075,7 +1076,8 @@ or otherwise modify any state (e.g. memory, control registers, etc) visible to
 caller functions.  It may dereference pointer arguments and read state that may
 be set in the caller.  A readonly function always returns the same value (or
 throws the same exception) when called with the same set of arguments and global
-state.</dd>
+state.  readonly functions may not throw an exception that escapes into the
+caller.</dd>
 
 <dt><tt><a name="ssp">ssp</a></tt></dt>
 <dd>This attribute indicates that the function should emit a stack smashing