summaryrefslogtreecommitdiffstats
path: root/clang/CodeGen/CodeGenModule.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2007-12-13 00:38:03 +0000
committerChris Lattner <sabre@nondot.org>2007-12-13 00:38:03 +0000
commit70efff25be7273ad69f5309b26fc378bf040a7ab (patch)
tree552a48a70d7378ae0458d65571109fbf0f0f370d /clang/CodeGen/CodeGenModule.cpp
parentce8d55b087af6af6ba028adec0b1535a5dfc9eec (diff)
downloadbcm5719-llvm-70efff25be7273ad69f5309b26fc378bf040a7ab.tar.gz
bcm5719-llvm-70efff25be7273ad69f5309b26fc378bf040a7ab.zip
builtin id 0 is invalid, don't use a slot for it.
llvm-svn: 44968
Diffstat (limited to 'clang/CodeGen/CodeGenModule.cpp')
-rw-r--r--clang/CodeGen/CodeGenModule.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/clang/CodeGen/CodeGenModule.cpp b/clang/CodeGen/CodeGenModule.cpp
index 47a0081b7b1..2df1877e79c 100644
--- a/clang/CodeGen/CodeGenModule.cpp
+++ b/clang/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;
OpenPOWER on IntegriCloud