aboutsummaryrefslogtreecommitdiff
path: root/include/llvm/Function.h
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2011-05-16 03:05:33 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2011-05-16 03:05:33 +0000
commit0e00c6c561181be7e9cc75ad2fee9cd4cbbfca1e (patch)
treece64246a87e40887e6b6a022317abfec99e024d1 /include/llvm/Function.h
parentbaaa3201681d58434a54f9cedfd600c248dc10e9 (diff)
Don't do tail calls in a function that call setjmp. The stack might be
corrupted when setjmp returns again. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131399 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Function.h')
-rw-r--r--include/llvm/Function.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/llvm/Function.h b/include/llvm/Function.h
index 9a0825ab4a..b34a6b2542 100644
--- a/include/llvm/Function.h
+++ b/include/llvm/Function.h
@@ -414,6 +414,10 @@ public:
///
bool hasAddressTaken(const User** = 0) const;
+ /// callsFunctionThatReturnsTwice - Return true if the function has a call to
+ /// setjmp or other function that gcc recognizes as "returning twice".
+ bool callsFunctionThatReturnsTwice() const;
+
private:
// Shadow Value::setValueSubclassData with a private forwarding method so that
// subclasses cannot accidentally use it.