From da7fdb94f7d0935d8d47b9997dbc72b310cf2113 Mon Sep 17 00:00:00 2001 From: Kelly Wilson Date: Mon, 9 Mar 2009 20:11:42 -0600 Subject: [PATCH] Fix for asm { jle short Lret; }, used by Tango since dmd accepts the 'short'. We just throw the 'short/long' away right now. --- gen/asm-x86-64.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/gen/asm-x86-64.h b/gen/asm-x86-64.h index 6a5243e2..e86912fd 100644 --- a/gen/asm-x86-64.h +++ b/gen/asm-x86-64.h @@ -1499,7 +1499,15 @@ namespace AsmParserx8664 } if ( token->value == TOKcomma ) + { nextToken(); + } + else if ( token->value == TOKint16 || token->value == TOKint32 || token->value == TOKint64 ) + { + //throw away the 'short' in "jle short Label;". Works for long also. + operands[0] = operands[1]; + return; + } else if ( token->value != TOKeof ) { ok = false; @@ -2911,6 +2919,12 @@ namespace AsmParserx8664 ident = Id::__dollar; goto do_dollar; break; + case TOKint16: + case TOKint32: + case TOKint64: + //This is for the 'short' in "jle short Label;" + return Handled; + break; default: invalidExpression(); return Handled;