changeset 466:6989f040ea06

stupid merges
author Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
date Sun, 03 Aug 2008 16:16:16 +0200
parents 5bd9a617d297 (diff) ea991021a56a (current diff)
children 261b05cf4d1c
files
diffstat 3 files changed, 4 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/gen/toir.cpp	Sun Aug 03 14:03:15 2008 +0200
+++ b/gen/toir.cpp	Sun Aug 03 16:16:16 2008 +0200
@@ -60,19 +60,17 @@
         Logger::println("VarDeclaration %s", vd->toChars());
 
         // _arguments
-        if (vd->ident == Id::_arguments)
+        if (vd->ident == Id::_arguments && p->func()->_arguments)
         {
             Logger::println("Id::_arguments");
             LLValue* v = p->func()->_arguments;
-            assert(v);
             return new DVarValue(type, vd, v, true);
         }
         // _argptr
-        else if (vd->ident == Id::_argptr)
+        else if (vd->ident == Id::_argptr && p->func()->_argptr)
         {
             Logger::println("Id::_argptr");
             LLValue* v = p->func()->_argptr;
-            assert(v);
             return new DVarValue(type, vd, v, true);
         }
         // _dollar
--- a/gen/tollvm.cpp	Sun Aug 03 14:03:15 2008 +0200
+++ b/gen/tollvm.cpp	Sun Aug 03 16:16:16 2008 +0200
@@ -556,7 +556,7 @@
 {
     if (isaPointer(ptr->getType())) {
         const LLType* data = ptr->getType()->getContainedType(0);
-        return data->isFirstClassType() && !data->isAggregateType();
+        return data->isFirstClassType() && !(isaStruct(data) || isaArray(data));
     }
     return false;
 }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/mini/compile_nested1.d	Sun Aug 03 16:16:16 2008 +0200
@@ -0,0 +1,1 @@
+void append(lazy char[] exp) { char[] s = exp; }