view tests/mini/structinit3.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 794c8af186ce
children
line wrap: on
line source

struct S {
    int a; int b; int c; int d = 7;
}
void test(int i) {
    S s = { 1, i };   // q.a = 1, q.b = i, q.c = 0, q.d = 7
    assert(s.a == 1);
    assert(s.b == i);
    assert(s.c == 0); // line 8
    assert(s.d == 7);
}
void main() {
    test(42);
}