Mercurial > projects > ldc
view tests/mini/bug50.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 | 44f08170f4ef |
children |
line wrap: on
line source
module bug50; extern(C) int printf(char*, ...); struct S { int i; float f; long l; void print() { printf("%d %f %lx\n", i, f, l); } } void main() { S s; s.print(); s = S(1,2,3); s.print(); S[] arr; {arr ~= s;} {arr[0].print();} {arr ~= S(1,2,3);} {arr[1].print();} }