Mercurial > projects > ldc
annotate tests/mini/fiber.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 | 4ac97ec7c18e |
children |
rev | line source |
---|---|
741
4ac97ec7c18e
Applied easy part from wilsonk's x86-64 patch in #107
Christian Kamm <kamm incasoftware de>
parents:
640
diff
changeset
|
1 private import tango.core.Thread; |
640
c2a342b5d8e5
Made Fibers work with LLVMDC on x86 Posix.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
2 |
c2a342b5d8e5
Made Fibers work with LLVMDC on x86 Posix.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
3 extern(C) void printf(char*, ...); |
c2a342b5d8e5
Made Fibers work with LLVMDC on x86 Posix.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
4 |
c2a342b5d8e5
Made Fibers work with LLVMDC on x86 Posix.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
5 void foo() |
c2a342b5d8e5
Made Fibers work with LLVMDC on x86 Posix.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
6 { |
c2a342b5d8e5
Made Fibers work with LLVMDC on x86 Posix.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
7 printf("-- I am here\n"); |
c2a342b5d8e5
Made Fibers work with LLVMDC on x86 Posix.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
8 Fiber.yield(); |
c2a342b5d8e5
Made Fibers work with LLVMDC on x86 Posix.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
9 printf("-- Now I am here\n"); |
c2a342b5d8e5
Made Fibers work with LLVMDC on x86 Posix.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
10 } |
c2a342b5d8e5
Made Fibers work with LLVMDC on x86 Posix.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
11 |
c2a342b5d8e5
Made Fibers work with LLVMDC on x86 Posix.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
12 void main() |
c2a342b5d8e5
Made Fibers work with LLVMDC on x86 Posix.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
13 { |
c2a342b5d8e5
Made Fibers work with LLVMDC on x86 Posix.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
14 Fiber f = new Fiber(&foo); |
c2a342b5d8e5
Made Fibers work with LLVMDC on x86 Posix.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
15 |
c2a342b5d8e5
Made Fibers work with LLVMDC on x86 Posix.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
16 printf("Running f once\n"); |
c2a342b5d8e5
Made Fibers work with LLVMDC on x86 Posix.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
17 f.call(); |
c2a342b5d8e5
Made Fibers work with LLVMDC on x86 Posix.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
18 printf("Running f again\n"); |
c2a342b5d8e5
Made Fibers work with LLVMDC on x86 Posix.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
19 f.call(); |
c2a342b5d8e5
Made Fibers work with LLVMDC on x86 Posix.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
20 } |