changeset 672:22b6947fd30c

Automated merge with http://hg.dsource.org/projects/llvmdc
author Christian Kamm <kamm incasoftware de>
date Wed, 08 Oct 2008 22:43:38 +0200
parents 4f004553de33 (diff) 96e425004a68 (current diff)
children 37a7688a7494
files
diffstat 2 files changed, 9 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- 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)
--- /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);
+}