Mercurial > projects > ldc
view ir/irforw.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 | eef8ac26c66c |
children |
line wrap: on
line source
#ifndef LDC_IR_IRFORW_H #define LDC_IR_IRFORW_H // dmd forward declarations struct Module; struct Dsymbol; struct Declaration; struct VarDeclaration; struct FuncDeclaration; struct AggregateDeclaration; struct StructDeclaration; struct ClassDeclaration; struct InterfaceDeclaration; struct Expression; struct BaseClass; struct Array; struct Argument; struct Type; struct TypeStruct; struct TypeClass; struct TypeEnum; struct TypeArray; struct TypeFunction; // llvm forward declarations namespace llvm { class Value; class GlobalValue; class GlobalVariable; class Function; class Constant; class ConstantStruct; class ConstantArray; class TargetData; class Type; class StructType; class ArrayType; class PointerType; class BasicBlock; class Instruction; } #endif