Mercurial > projects > ldc
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()); |