diff gen/dvalue.cpp @ 435:74101be2a553

Added type param to DVarValue as DMD sometimes overrides the type of the VarDeclaration. Added support for align(1)/packed structs, other alignments are still ignored. Fixed some problems with accessing lazy arguments.
author Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
date Wed, 30 Jul 2008 10:12:55 +0200
parents 6057fdf797d8
children 45a67b6f1310
line wrap: on
line diff
--- a/gen/dvalue.cpp	Wed Jul 30 09:21:06 2008 +0200
+++ b/gen/dvalue.cpp	Wed Jul 30 10:12:55 2008 +0200
@@ -10,13 +10,13 @@
 /////////////////////////////////////////////////////////////////////////////////////////////////
 /////////////////////////////////////////////////////////////////////////////////////////////////
 
-DVarValue::DVarValue(VarDeclaration* vd, LLValue* llvmValue, bool lvalue)
+DVarValue::DVarValue(Type* t, VarDeclaration* vd, LLValue* llvmValue, bool lvalue)
 {
     var = vd;
     val = llvmValue;
     rval = 0;
     lval = lvalue;
-    type = var->type;
+    type = t;
 }
 
 DVarValue::DVarValue(Type* t, LLValue* lv, LLValue* rv)