From: Devang Patel Date: Tue, 13 Oct 2009 22:59:11 +0000 (+0000) Subject: Check void type before using replaceAllUsesWith(). X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9c0957069f3a92c5ee1e3da630ef360eca5b2061;p=clang Check void type before using replaceAllUsesWith(). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84050 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/CodeGenModule.cpp b/lib/CodeGen/CodeGenModule.cpp index d84a397a7f..d091157f87 100644 --- a/lib/CodeGen/CodeGenModule.cpp +++ b/lib/CodeGen/CodeGenModule.cpp @@ -1110,7 +1110,8 @@ static void ReplaceUsesOfNonProtoTypeWithRealFunction(llvm::GlobalValue *Old, NewCall->setCallingConv(CI->getCallingConv()); // Finally, remove the old call, replacing any uses with the new one. - CI->replaceAllUsesWith(NewCall); + if (CI->getType() != llvm::Type::getVoidTy(CI->getContext())) + CI->replaceAllUsesWith(NewCall); CI->eraseFromParent(); }