Mercurial > projects > ldc
annotate tests/mini/bug189_interfacecast.d @ 1215:08f87d8cd101
Fix some unittests for 64-bit asm. They were operating on int variables as if
they were longs.
This was causing asm1_1 to fail when compiled with -O3 because it was
overwriting the spilled value of callee-saved register %rbx, which the runtime
was using as a pointer value at the time.
author | Frits van Bommel <fvbommel wxs.nl> |
---|---|
date | Mon, 13 Apr 2009 17:42:36 +0200 |
parents | acc834cb1657 |
children |
rev | line source |
---|---|
907
acc834cb1657
Add testcase for #189 to mini tests.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
1 interface I {} |
acc834cb1657
Add testcase for #189 to mini tests.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
2 class A : I {} |
acc834cb1657
Add testcase for #189 to mini tests.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
3 class B : A {} |
acc834cb1657
Add testcase for #189 to mini tests.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
4 |
acc834cb1657
Add testcase for #189 to mini tests.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
5 void main () { |
acc834cb1657
Add testcase for #189 to mini tests.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
6 A a = new A; |
acc834cb1657
Add testcase for #189 to mini tests.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
7 I i = a; |
acc834cb1657
Add testcase for #189 to mini tests.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
8 |
acc834cb1657
Add testcase for #189 to mini tests.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
9 assert(!cast(B)a); |
acc834cb1657
Add testcase for #189 to mini tests.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
10 assert(!cast(B)i); |
acc834cb1657
Add testcase for #189 to mini tests.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
11 } |