# HG changeset patch # User Christian Kamm # Date 1223498618 -7200 # Node ID 22b6947fd30cadad2c0fe4c8b1612bf229266922 # Parent 4f004553de332b6dee3897f138367809c8e1ef68# Parent 96e425004a6808a21e112e9d0dbf3a8b797eadd9 Automated merge with http://hg.dsource.org/projects/llvmdc diff -r 96e425004a68 -r 22b6947fd30c gen/llvmhelpers.cpp --- a/gen/llvmhelpers.cpp Wed Oct 08 20:41:43 2008 +0200 +++ b/gen/llvmhelpers.cpp Wed Oct 08 22:43:38 2008 +0200 @@ -1562,8 +1562,10 @@ // dynamic array else if (ty == Tarray) { - // return (arr.length != 0) - return gIR->ir->CreateICmpNE(DtoArrayLen(dval), DtoConstSize_t(0), "tmp"); + // return (arr.ptr !is null) + LLValue* ptr = DtoArrayPtr(dval); + LLConstant* nul = getNullPtr(ptr->getType()); + return gIR->ir->CreateICmpNE(ptr, nul, "tmp"); } // delegate else if (ty == Tdelegate) diff -r 96e425004a68 -r 22b6947fd30c tests/mini/strings2.d --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/mini/strings2.d Wed Oct 08 22:43:38 2008 +0200 @@ -0,0 +1,5 @@ +void main() +{ + char[] s = ""; + assert(s); +}