comparison gen/aa.cpp @ 1116:d584cda84b00

Disable this for -release, -disable-boundscheck, etc.
author Frits van Bommel <fvbommel wxs.nl>
date Sat, 14 Mar 2009 01:32:10 +0100
parents af625ea2d3cf
children 0686701178d3
comparison
equal deleted inserted replaced
1115:af625ea2d3cf 1116:d584cda84b00
93 if (ret->getType() != targettype) 93 if (ret->getType() != targettype)
94 ret = DtoBitCast(ret, targettype); 94 ret = DtoBitCast(ret, targettype);
95 95
96 // Only check bounds for rvalues ('aa[key]'). 96 // Only check bounds for rvalues ('aa[key]').
97 // Lvalue use ('aa[key] = value') auto-adds an element. 97 // Lvalue use ('aa[key] = value') auto-adds an element.
98 if (!lvalue) { 98 if (!lvalue && global.params.useArrayBounds) {
99 llvm::BasicBlock* oldend = gIR->scopeend(); 99 llvm::BasicBlock* oldend = gIR->scopeend();
100 llvm::BasicBlock* failbb = llvm::BasicBlock::Create("aaboundscheckfail", gIR->topfunc(), oldend); 100 llvm::BasicBlock* failbb = llvm::BasicBlock::Create("aaboundscheckfail", gIR->topfunc(), oldend);
101 llvm::BasicBlock* okbb = llvm::BasicBlock::Create("aaboundsok", gIR->topfunc(), oldend); 101 llvm::BasicBlock* okbb = llvm::BasicBlock::Create("aaboundsok", gIR->topfunc(), oldend);
102 102
103 LLValue* nullaa = LLConstant::getNullValue(ret->getType()); 103 LLValue* nullaa = LLConstant::getNullValue(ret->getType());