# HG changeset patch # User thomask # Date 1173677413 0 # Node ID 596115f2077635171901bfa95a2642f51659448e # Parent 3204340ec93b4119739d81b07065e78d53c0ba35 fixed #1042 diff -r 3204340ec93b -r 596115f20776 nocompile/a/asm_offset_01_B.d --- a/nocompile/a/asm_offset_01_B.d Mon Mar 12 05:29:36 2007 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,34 +0,0 @@ -// $HeadURL$ -// $Date$ -// $Author$ - -// @author@ -// @date@ 2006-04-28 -// @uri@ http://d.puremagic.com/issues/show_bug.cgi?id=116 - -// __DSTRESS_ELINE__ 24 - -module dstress.nocompile.a.asm_offset_01_B; - -version(D_InlineAsm_X86){ - version = runTest; -} - -version(runTest){ - byte b; - - void main(){ - - static if(size_t.sizeof == 4){ - asm{ - mov EAX, offsetof b; - } - }else{ - pragma(msg, "DSTRESS{ERROR}: unsupported pointer size"); - static assert(0); - } - } -}else{ - pragma(msg, "DSTRESS{XFAIL}: no inline x86 asm support"); - static assert(0); -} diff -r 3204340ec93b -r 596115f20776 run/a/asm_offset_01_A.d --- a/run/a/asm_offset_01_A.d Mon Mar 12 05:29:36 2007 +0000 +++ b/run/a/asm_offset_01_A.d Mon Mar 12 05:30:13 2007 +0000 @@ -6,12 +6,16 @@ // @date@ 2006-04-28 // @uri@ http://d.puremagic.com/issues/show_bug.cgi?id=116 +// __DSTRESS_TORTURE_BLOCK__ -fPIC + module dstress.run.a.asm_offset_01_A; version(D_InlineAsm_X86){ version = runTest; }else version(D_InlineAsm_X86_64){ version = runTest; +}else{ + static assert(0, "DSTRESS{XFAIL}: no inline x86 asm support"); } version(runTest){ @@ -26,6 +30,10 @@ mov EAX, offset b; mov y, EAX; } + }else static if(size_t.sizeof == 8){ + asm{ + mov RAX, offset b; + mov y, RAX; }else{ pragma(msg, "DSTRESS{ERROR}: unsupported pointer size"); static assert(0); @@ -37,7 +45,4 @@ return 0; } -}else{ - pragma(msg, "DSTRESS{XFAIL}: no inline ASM support"); - static assert(0); } diff -r 3204340ec93b -r 596115f20776 run/a/asm_offset_01_B.d --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/a/asm_offset_01_B.d Mon Mar 12 05:30:13 2007 +0000 @@ -0,0 +1,38 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ +// @date@ 2006-04-28 +// @uri@ http://d.puremagic.com/issues/show_bug.cgi?id=116 + +// __DSTRESS_TORTURE_BLOCK__ -fPIC + +module dstress.run.a.asm_offset_01_B; + +version(D_InlineAsm_X86){ + version = runTest; +}else version(D_InlineAsm_X86_64){ + version = runTest; +}else{ + static assert(0, "DSTRESS{XFAIL}: no inline x86 asm support"); +} + +version(runTest){ + byte b; + + void main(){ + static if(size_t.sizeof == 4){ + asm{ + mov EAX, offsetof b; + } + }else static if(size_t.sizeof == 8){ + asm{ + mov RAX, offsetof b; + } + }else{ + pragma(msg, "DSTRESS{ERROR}: unsupported pointer size"); + static assert(0); + } + } +}