# HG changeset patch # User Shinji KONO # Date 1472037041 -32400 # Node ID facf19d07cd921abd352e8cac463c2e0ce919245 # Parent a609e5c42ecc1206dcd3119e163ca504d467c307 check EHStack on EmitCall (CbC goto) diff -r a609e5c42ecc -r facf19d07cd9 tools/clang/lib/CodeGen/CGCall.cpp --- a/tools/clang/lib/CodeGen/CGCall.cpp Mon Aug 08 19:47:00 2016 +0900 +++ b/tools/clang/lib/CodeGen/CGCall.cpp Wed Aug 24 20:10:41 2016 +0900 @@ -3460,7 +3460,7 @@ IRCallArgs[IRFunctionArgs.getInallocaArgNo()] = Arg; } #ifndef noCbC - if (this->FnRetTy.getTypePtr()->is__CodeType()) { + if (this->FnRetTy.getTypePtr()->is__CodeType() && ! EHStack.empty() ) { EHCleanupScope &Scope = cast(*EHStack.begin()); auto *CleanupSource = reinterpret_cast(Scope.getCleanupBuffer()); llvm::AlignedCharArray CleanupBufferStack;