view tests/mini/classinfo5.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 8d46c475842a
children
line wrap: on
line source

extern(C) int printf(char*, ...);

class BaseClass {} 
 
void main() 
{ 
    Object o_cr = BaseClass.classinfo.create();
    Object o_new = new BaseClass;
    printf("CIaddr: %X\n", cast(size_t*)BaseClass.classinfo);
    printf("Create: %X\n", cast(size_t*)o_cr.classinfo);
    printf("New:    %X\n", cast(size_t*)o_new.classinfo);
    assert(cast(size_t*)o_cr.classinfo == cast(size_t*)o_new.classinfo);
}