From: Eli Friedman Date: Tue, 20 May 2008 09:21:07 +0000 (+0000) Subject: Disable the function address cache; this doesn't have any ill effects, X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=be14c5c6e29af948f6f809c499f83d844e755af9;p=clang Disable the function address cache; this doesn't have any ill effects, as far as I can tell, and it fixes code like test/CodeGen/functions.c. (Whatever performance effect it might have, crashing on a construct like this isn't really acceptable; I've run into this multiple times.) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51312 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/CodeGenModule.cpp b/lib/CodeGen/CodeGenModule.cpp index b234788a08..7bf1e01b27 100644 --- a/lib/CodeGen/CodeGenModule.cpp +++ b/lib/CodeGen/CodeGenModule.cpp @@ -168,8 +168,11 @@ llvm::Constant *CodeGenModule::GetAddrOfFunctionDecl(const FunctionDecl *D, bool isDefinition) { // See if it is already in the map. If so, just return it. llvm::Constant *&Entry = GlobalDeclMap[D]; +#if 0 + // FIXME: The cache is currently broken! if (Entry) return Entry; - +#endif + const llvm::Type *Ty = getTypes().ConvertType(D->getType()); // Check to see if the function already exists.