diff options
| author | Chris Lattner <sabre@nondot.org> | 2007-12-13 00:38:03 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2007-12-13 00:38:03 +0000 |
| commit | 70efff25be7273ad69f5309b26fc378bf040a7ab (patch) | |
| tree | 552a48a70d7378ae0458d65571109fbf0f0f370d /clang/CodeGen/CodeGenModule.cpp | |
| parent | ce8d55b087af6af6ba028adec0b1535a5dfc9eec (diff) | |
| download | bcm5719-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.cpp | 10 |
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; |

