Mercurial > projects > ldc
diff gen/dvalue.h @ 486:a34078905d01
Added pragma(llvmdc, "string") for misc per-module compiler configuration, currently "string" can only be "verbose" which forces -vv for module it appears in.
Reimplemented support for nested functions/class using a new approach.
Added error on taking address of intrinsic.
Fixed problems with the ->syntaxCopy of TypeFunction delegate exp.
Removed DtoDType and replaced all uses with ->toBasetype() instead.
Removed unused inplace stuff.
Fixed a bunch of issues in the runtime unittests, not complete yet.
Added mini tests.
author | Tomas Lindquist Olsen <tomas.l.olsen@gmail.com> |
---|---|
date | Sun, 10 Aug 2008 08:37:38 +0200 |
parents | 45a67b6f1310 |
children | fbb1a366cfbc |
line wrap: on
line diff
--- a/gen/dvalue.h Sat Aug 09 09:03:52 2008 +0200 +++ b/gen/dvalue.h Sun Aug 10 08:37:38 2008 +0200 @@ -54,8 +54,6 @@ virtual DComplexValue* isComplex() { return NULL; } virtual DLRValue* isLRValue() { return NULL; } - virtual bool inPlace() { return false; } - protected: DValue() {} DValue(const DValue&) { } @@ -67,16 +65,13 @@ { Type* type; LLValue* val; - bool inplace; - DImValue(Type* t, LLValue* v, bool in_place = false) { type = t; val = v; inplace = in_place; } + DImValue(Type* t, LLValue* v) : type(t), val(v) { } virtual LLValue* getRVal() { assert(val); return val; } virtual Type*& getType() { assert(type); return type; } virtual DImValue* isIm() { return this; } - - virtual bool inPlace() { return inplace; } }; // constant d-value