From: Eli Friedman Date: Fri, 20 Feb 2009 01:18:21 +0000 (+0000) Subject: Initialize the Init variable to something reasonable when we emit an X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=6e656f45ae04b415ba7a4c0c25e55633e2d0ecd0;p=clang Initialize the Init variable to something reasonable when we emit an error, so we don't crash. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65099 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/CodeGenModule.cpp b/lib/CodeGen/CodeGenModule.cpp index 3d01770cd3..7432b01e25 100644 --- a/lib/CodeGen/CodeGenModule.cpp +++ b/lib/CodeGen/CodeGenModule.cpp @@ -626,8 +626,11 @@ void CodeGenModule::EmitGlobalVarDefinition(const VarDecl *D) { Init = llvm::Constant::getNullValue(InitTy); } else { Init = EmitConstantExpr(D->getInit()); - if (!Init) + if (!Init) { ErrorUnsupported(D, "static initializer"); + QualType T = D->getInit()->getType(); + Init = llvm::UndefValue::get(getTypes().ConvertType(T)); + } } const llvm::Type* InitType = Init->getType();