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 | 2050af838d717c1bc06fd1f340f8839c092e694a (patch) | |
| tree | 72b3c2adee1a062bcfffbc9f3ff4e2985c705fe3 /llvm/include | |
| parent | 93ecc368c12ee10d098ff26871178db83ddbf2de (diff) | |
| download | bcm5719-llvm-2050af838d717c1bc06fd1f340f8839c092e694a.tar.gz bcm5719-llvm-2050af838d717c1bc06fd1f340f8839c092e694a.zip | |
Don't do tail calls in a function that call setjmp. The stack might be
corrupted when setjmp returns again.
llvm-svn: 131399
Diffstat (limited to 'llvm/include')
| -rw-r--r-- | llvm/include/llvm/Function.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/include/llvm/Function.h b/llvm/include/llvm/Function.h index 9a0825ab4a9..b34a6b25421 100644 --- a/llvm/include/llvm/Function.h +++ b/llvm/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. |

