Mercurial > projects > ldc
annotate tests/mini/arrayinit1.d @ 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 | 489f6f39ca09 |
children |
rev | line source |
---|---|
826
ea4c6adf8b00
Added testcase for fix in rev [825]
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents:
diff
changeset
|
1 void main() |
ea4c6adf8b00
Added testcase for fix in rev [825]
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents:
diff
changeset
|
2 { |
ea4c6adf8b00
Added testcase for fix in rev [825]
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents:
diff
changeset
|
3 float m[4][4]; |
ea4c6adf8b00
Added testcase for fix in rev [825]
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents:
diff
changeset
|
4 |
ea4c6adf8b00
Added testcase for fix in rev [825]
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents:
diff
changeset
|
5 float* fp = &m[0][0]; |
827
489f6f39ca09
... and fixed that test case :P ...
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents:
826
diff
changeset
|
6 for (int i=0; i<16; i++,fp++) |
826
ea4c6adf8b00
Added testcase for fix in rev [825]
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents:
diff
changeset
|
7 assert(*fp !<>= 0); |
ea4c6adf8b00
Added testcase for fix in rev [825]
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents:
diff
changeset
|
8 } |