Mercurial > projects > dstress
changeset 1047:90fb42f640a4
partial DMD-0.160 review
author | thomask |
---|---|
date | Fri, 09 Jun 2006 14:30:39 +0000 |
parents | 01fb56fb4971 |
children | ea0247788622 |
files | compile/a/asm_rdmsr_01_A.d compile/a/asm_rdpmc_01_A.d compile/a/asm_rdtsc_01_A.d compile/a/asm_rsm_01_A.d compile/a/asm_ud2_01.d run/a/asm_femms_01.d run/a/asm_rol_01_F.d run/a/assert_13_A.d run/a/assert_13_B.d run/d/debug_info_10_A.d run/d/debug_info_10_B.d run/d/debug_info_11_A.d run/o/opAndAnd_02_C.d |
diffstat | 13 files changed, 249 insertions(+), 33 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/compile/a/asm_rdmsr_01_A.d Fri Jun 09 14:30:39 2006 +0000 @@ -0,0 +1,22 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.compile.a.asm_rdmsr_01_A; + +version(D_InlineAsm_X86){ + version = runTest; +}else version(D_InlineAsm_X86_64){ + version = runTest; +} + +version(runTest){ + void main(){ + asm{ + rdmsr; + } + } +}else{ + pragma(msg, "DSTRESS{XFAIL}: no inline ASM support"); + static assert(0); +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/compile/a/asm_rdpmc_01_A.d Fri Jun 09 14:30:39 2006 +0000 @@ -0,0 +1,22 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.compile.a.asm_rdpmc_01_A; + +version(D_InlineAsm_X86){ + version = runTest; +}else version(D_InlineAsm_X86_64){ + version = runTest; +} + +version(runTest){ + void main(){ + asm{ + rdpmc; + } + } +}else{ + pragma(msg, "DSTRESS{XFAIL}: no inline ASM support"); + static assert(0); +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/compile/a/asm_rdtsc_01_A.d Fri Jun 09 14:30:39 2006 +0000 @@ -0,0 +1,22 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.compile.a.asm_rdtsc_01_A; + +version(D_InlineAsm_X86){ + version = runTest; +}else version(D_InlineAsm_X86_64){ + version = runTest; +} + +version(runTest){ + void main(){ + asm{ + rdtsc; + } + } +}else{ + pragma(msg, "DSTRESS{XFAIL}: no inline ASM support"); + static assert(0); +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/compile/a/asm_rsm_01_A.d Fri Jun 09 14:30:39 2006 +0000 @@ -0,0 +1,22 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.compile.a.asm_rsm_01_A; + +version(D_InlineAsm_X86){ + version = runTest; +}else version(D_InlineAsm_X86_64){ + version = runTest; +} + +version(runTest){ + void main(){ + asm{ + rsm; + } + } +}else{ + pragma(msg, "DSTRESS{XFAIL}: no inline ASM support"); + static assert(0); +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/compile/a/asm_ud2_01.d Fri Jun 09 14:30:39 2006 +0000 @@ -0,0 +1,24 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.norun.a.asm_ud2_01; + +version(D_InlineAsm_X86){ + version = runTest; +}else version(D_InlineAsm_X86_64){ + version = runTest; +} + +version(runTest){ + int main(){ + asm{ + ud2; + } + + return 0; + } +}else{ + pragma(msg, "DSTRESS{XPASS}: no inline ASM support"); + static assert(0); +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/a/asm_femms_01.d Fri Jun 09 14:30:39 2006 +0000 @@ -0,0 +1,25 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_femms_01; + +version(D_InlineAsm_X86){ + version = runTest; +}else version(D_InlineAsm_X86_64){ + version = runTest; +} + +version(runTest){ + import addon.cpuinfo; + int main(){ + have3DNow!()(); + asm{ + femms; + } + return 0; + } +}else{ + pragma(msg, "DSTRESS{XFAIL}: no inline ASM support"); + static assert(0); +}
--- a/run/a/asm_rol_01_F.d Fri Jun 09 10:33:25 2006 +0000 +++ b/run/a/asm_rol_01_F.d Fri Jun 09 14:30:39 2006 +0000 @@ -9,13 +9,13 @@ }else version(D_InlineAsm_X86_64){ version = runTest; } - +import std.stdio; version(runTest){ int main(){ uint a = 0b1111_1100__0000_0000__0111_1111__1111_1111; asm{ - rol a, 2; + rol a, 3; } if(a != 0b1110_0000__0000_0011__1111_1111__1111_1111){
--- a/run/a/assert_13_A.d Fri Jun 09 10:33:25 2006 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,15 +0,0 @@ -// $HeadURL$ -// $Date$ -// $Author$ - -// @author@ Derek Parnell <derek@psych.ward> -// @date@ 2006-02-16 -// @uri@ news:9zjj1lakhsqb$.vh2lqmuohfvm$.dlg@40tude.net - -module dstress.run.a.assert_13_A; - -int main(){ - assert("\u00aa", "\u00aa\uff16"); - - return 0; -}
--- a/run/a/assert_13_B.d Fri Jun 09 10:33:25 2006 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,16 +0,0 @@ -// $HeadURL$ -// $Date$ -// $Author$ - -// @author@ Derek Parnell <derek@psych.ward> -// @date@ 2006-02-16 -// @uri@ news:9zjj1lakhsqb$.vh2lqmuohfvm$.dlg@40tude.net - -module dstress.run.a.assert_13_B; - -int main(){ - char[] s; - assert(s = "\u00aa", "\u00aa\uff16"); - - return 0; -}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/d/debug_info_10_A.d Fri Jun 09 14:30:39 2006 +0000 @@ -0,0 +1,21 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// __DSTRESS_TORTURE_REQUIRE__ -g +// __GDB_SCRIPT__ break debug_info_10_A.d:16\nrun\nprint i +// __GDB_PATTERN__ 1 = 12340011 + +module dstress.run.d.debug_info_10_A; + +int main(char[][] args){ + int i = args.length / 1000; + + i += 12340011; + + if(i % 4){ + return 0; + } + + assert(0); +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/d/debug_info_10_B.d Fri Jun 09 14:30:39 2006 +0000 @@ -0,0 +1,28 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// __DSTRESS_TORTURE_REQUIRE__ -g +// __GDB_SCRIPT__ break debug_info_10_B.d:23\nrun\nprint i +// __GDB_PATTERN__ 1 = 5678 + +module dstress.run.d.debug_info_10_A; + +int i = 1234; + +int main(char[][] args){ + int i = 5678 + args.length / 1000; + + { + int i = 9002 + args.length / 1000; + if(i % 2){ + assert(0); + } + } + + if(i % 4){ + return 0; + } + + assert(0); +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/d/debug_info_11_A.d Fri Jun 09 14:30:39 2006 +0000 @@ -0,0 +1,35 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// __DSTRESS_TORTURE_REQUIRE__ -g +// __GDB_SCRIPT__ break debug_info_11_A.d:23\nrun\nprint i +// __GDB_PATTERN__ 1 = 12345679 + +module dstress.run.d.debug_info_10_A; + +version(D_InlineAsm_X86){ + version = runTest; +}else version(D_InlineAsm_X86_64){ + version = runTest; +} + +version(runTest){ + int main(char[][] args){ + int i = 12345678; + + asm{ + inc i; + nop; + inc i; + } + if(i != 12345680){ + assert(0); + } + + return 0; + } +}else{ + pragma(msg, "DSTRESS{XPASS}: no inline ASM support"); + static assert(0); +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/o/opAndAnd_02_C.d Fri Jun 09 14:30:39 2006 +0000 @@ -0,0 +1,26 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ <clugdbug@yahoo.com.au> +// @date@ 2006-05-29 +// @uri@ news:bug-160-3@http.d.puremagic.com/bugzilla/ + +module dstress.run.o.opAndAnd_02_C; + +template dog(char [] bird){ + static if ((bird.length > 99) && (bird[1234] == 'b')){ + const int dog = 2; + }else{ + const int dog = 3; + } +} + +const int pig = dog!("a"); + +int main(){ + if(pig != 3){ + assert(0); + } + return 0; +}