From 1426fecdf90dd1986751b9940422e675880ff671 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Thu, 13 Dec 2007 00:38:03 +0000 Subject: builtin id 0 is invalid, don't use a slot for it. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44968 91177308-0d34-0410-b5e6-96231b3b80d8 --- CodeGen/CodeGenModule.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'CodeGen/CodeGenModule.cpp') diff --git a/CodeGen/CodeGenModule.cpp b/CodeGen/CodeGenModule.cpp index 47a0081b7b..2df1877e79 100644 --- a/CodeGen/CodeGenModule.cpp +++ b/CodeGen/CodeGenModule.cpp @@ -518,11 +518,13 @@ void CodeGenModule::EmitGlobalVarDeclarator(const FileVarDecl *D) { /// getBuiltinLibFunction llvm::Function *CodeGenModule::getBuiltinLibFunction(unsigned BuiltinID) { - if (BuiltinFunctions.size() <= BuiltinID) - BuiltinFunctions.resize(BuiltinID+1); + if (BuiltinID > BuiltinFunctions.size()) + BuiltinFunctions.resize(BuiltinID); - // Already available? - llvm::Function *&FunctionSlot = BuiltinFunctions[BuiltinID]; + // Cache looked up functions. Since builtin id #0 is invalid we don't reserve + // a slot for it. + assert(BuiltinID && "Invalid Builtin ID"); + llvm::Function *&FunctionSlot = BuiltinFunctions[BuiltinID-1]; if (FunctionSlot) return FunctionSlot; -- cgit v1.2.3-18-g5258