Mercurial > projects > ldc
comparison gen/llvmhelpers.cpp @ 670:4f004553de33
Fixed dynamic array -> boolean. does (arr.ptr !is null) now instead of (arr.length != 0)
author | Tomas Lindquist Olsen <tomas.l.olsen@gmail.com> |
---|---|
date | Wed, 08 Oct 2008 22:38:52 +0200 |
parents | c42173b3557b |
children | b411c41a9716 |
comparison
equal
deleted
inserted
replaced
669:92ec7487a1a0 | 670:4f004553de33 |
---|---|
1560 return gIR->ir->CreateICmpNE(val, zero, "tmp"); | 1560 return gIR->ir->CreateICmpNE(val, zero, "tmp"); |
1561 } | 1561 } |
1562 // dynamic array | 1562 // dynamic array |
1563 else if (ty == Tarray) | 1563 else if (ty == Tarray) |
1564 { | 1564 { |
1565 // return (arr.length != 0) | 1565 // return (arr.ptr !is null) |
1566 return gIR->ir->CreateICmpNE(DtoArrayLen(dval), DtoConstSize_t(0), "tmp"); | 1566 LLValue* ptr = DtoArrayPtr(dval); |
1567 LLConstant* nul = getNullPtr(ptr->getType()); | |
1568 return gIR->ir->CreateICmpNE(ptr, nul, "tmp"); | |
1567 } | 1569 } |
1568 // delegate | 1570 // delegate |
1569 else if (ty == Tdelegate) | 1571 else if (ty == Tdelegate) |
1570 { | 1572 { |
1571 // return (dg !is null) | 1573 // return (dg !is null) |