Mercurial > hg > CbC > CbC_llvm
changeset 119:d9df2cbd60cd
check callee is __code when genrating lifetime end before cbc goto.
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 14 Sep 2016 00:12:37 +0900 |
parents | cc378dc45926 |
children | 36195a0db682 |
files | tools/clang/lib/CodeGen/CGCall.cpp |
diffstat | 1 files changed, 1 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/tools/clang/lib/CodeGen/CGCall.cpp Thu Aug 25 19:09:12 2016 +0900 +++ b/tools/clang/lib/CodeGen/CGCall.cpp Wed Sep 14 00:12:37 2016 +0900 @@ -3460,7 +3460,7 @@ IRCallArgs[IRFunctionArgs.getInallocaArgNo()] = Arg; } #ifndef noCbC - if (this->FnRetTy.getTypePtr()->is__CodeType() && ! EHStack.empty() ) { + if (this->FnRetTy.getTypePtr()->is__CodeType() && CallInfo.getReturnType().getTypePtr()->is__CodeType() && ! EHStack.empty() ) { EHCleanupScope &Scope = cast<EHCleanupScope>(*EHStack.begin()); auto *CleanupSource = reinterpret_cast<char *>(Scope.getCleanupBuffer()); llvm::AlignedCharArray<EHScopeStack::ScopeStackAlignment, 8 * sizeof(void *)> CleanupBufferStack;