diff options
author | Bill Wendling <isanbard@gmail.com> | 2011-11-29 00:10:10 +0000 |
---|---|---|
committer | Bill Wendling <isanbard@gmail.com> | 2011-11-29 00:10:10 +0000 |
commit | bcefeae5c1215377130c16e03a247ce84f2eef10 (patch) | |
tree | 60bd4e934d12d21fe2b74ad2e76624f2a057b88a /clang/lib/CodeGen/CGObjCMac.cpp | |
parent | d690111dd45d03268b0d501cfc62628ac44305f2 (diff) | |
download | bcm5719-llvm-bcefeae5c1215377130c16e03a247ce84f2eef10.tar.gz bcm5719-llvm-bcefeae5c1215377130c16e03a247ce84f2eef10.zip |
The _setjmp builtin library function should have the "returns twice"
attribute. This prevents the stack slot allocator from coming along and using a
stack which it thinks is available but isn't.
<rdar://problem/10492556>
llvm-svn: 145332
Diffstat (limited to 'clang/lib/CodeGen/CGObjCMac.cpp')
-rw-r--r-- | clang/lib/CodeGen/CGObjCMac.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/clang/lib/CodeGen/CGObjCMac.cpp b/clang/lib/CodeGen/CGObjCMac.cpp index 1cbcc58ae5f..1db50a8f578 100644 --- a/clang/lib/CodeGen/CGObjCMac.cpp +++ b/clang/lib/CodeGen/CGObjCMac.cpp @@ -516,7 +516,8 @@ public: llvm::Type *params[] = { CGM.Int32Ty->getPointerTo() }; return CGM.CreateRuntimeFunction(llvm::FunctionType::get(CGM.Int32Ty, params, false), - "_setjmp"); + "_setjmp", + llvm::Attribute::ReturnsTwice); } public: |