Mercurial > projects > ldc
view dmd2/hdrgen.h @ 1512:09734fb929c0
Make == for associative arrays test for equality, not identity.
_aaEq was added to runtime/internal/aaA.d which forwards to
TypeInfo_AssociativeArray.equals in genobj.d. On the codegen side, DtoAAEquals
was added to gen/aa.cpp and is called from EqualExp::toElem in gen/toir.cpp.
I assume that the frontend will produce an error if == is used on associative
arrays of different type.
This fixes DMD bug 1429.
author | Christian Kamm <kamm incasoftware de> |
---|---|
date | Sun, 21 Jun 2009 19:05:24 +0200 |
parents | f04dde6e882c |
children |
line wrap: on
line source
// Compiler implementation of the D programming language // Copyright (c) 1999-2006 by Digital Mars // All Rights Reserved // initial header generation implementation by Dave Fladebo // http://www.digitalmars.com // License for redistribution is by either the Artistic License // in artistic.txt, or the GNU General Public License in gnu.txt. // See the included readme.txt for details. struct HdrGenState { int hdrgen; // 1 if generating header file int ddoc; // 1 if generating Ddoc file int console; // 1 if writing to console int tpltMember; int inCallExp; int inPtrExp; int inSlcExp; int inDotExp; int inBinExp; int inArrExp; int emitInst; struct { int init; int decl; } FLinit; HdrGenState() { memset(this, 0, sizeof(HdrGenState)); } };