view nocompile/a/asm_loop_02_B.d @ 1591:a62d2a1c5f14

Add check for D_InlineAsm_X86 to nocompile tests that were missing it. If the version condition is missing, the result is XFAIL.
author Christian Kamm <kamm incasoftware de>
date Thu, 28 Aug 2008 09:59:22 +0200
parents 24fcb78d93f6
children
line wrap: on
line source

// $HeadURL$
// $Date$
// $Author$

// @author@	<grahamc001uk@yahoo.co.uk>
// @date@	2007-09-28
// @uri@	http://d.puremagic.com/issues/show_bug.cgi?id=1539
// @desc@	[Issue 1539] X86 inline assembler fails to recognize when the branch address outside range

module dstress.nocompile.a.asm_loop_02_B;

version(D_InlineAsm_X86){
	version = runTest;
}else version(D_InlineAsm_X86_64){
	version = runTest;
}

version(runTest){
	int main(){
		int count = 0;

		asm{
			mov EAX, 0;
			mov ECX, 2;
		Lnext:
			inc EAX;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			nop;
			loop Lnext;
		Ldone:
			mov count, EAX;
		}

		if(2 != count){
			assert(0);
		}

		return 0;
	}
}else{
	static assert(0, "DSTRESS{XFAIL}: no inline x86 ASM support");
}