Mercurial > projects > ldc
diff dmd/mtype.c @ 585:fbb1a366cfbc
Complex number should now follow the D ABI on x86. They're also treated as first class values now. Big change.
author | Tomas Lindquist Olsen <tomas.l.olsen@gmail.com> |
---|---|
date | Tue, 09 Sep 2008 16:49:47 -0700 |
parents | 337554fd34f1 |
children | e6bcc4d9e5ff |
line wrap: on
line diff
--- a/dmd/mtype.c Mon Sep 08 20:38:55 2008 +0200 +++ b/dmd/mtype.c Tue Sep 09 16:49:47 2008 -0700 @@ -4456,18 +4456,17 @@ // *(&e + offset) accessCheck(e->loc, sc, e, d); + +// LLVMDC we don't want dot exprs turned into pointer arithmetic. it complicates things for no apparent gain +#ifndef IN_LLVM b = new AddrExp(e->loc, e); b->type = e->type->pointerTo(); b = new AddExp(e->loc, b, new IntegerExp(e->loc, v->offset, Type::tint32)); -#if IN_LLVM - // LLVMDC modification - // this is *essential* - ((AddExp*)b)->llvmFieldIndex = true; -#endif b->type = v->type->pointerTo(); e = new PtrExp(e->loc, b); e->type = v->type; return e; +#endif } de = new DotVarExp(e->loc, e, d);