diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2011-05-16 03:05:33 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2011-05-16 03:05:33 +0000 |
commit | 0e00c6c561181be7e9cc75ad2fee9cd4cbbfca1e (patch) | |
tree | ce64246a87e40887e6b6a022317abfec99e024d1 /include/llvm/Function.h | |
parent | baaa3201681d58434a54f9cedfd600c248dc10e9 (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.h | 4 |
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. |