Mercurial > projects > ldc
changeset 1078:9c63438c3207
Fix for asm { jle short Lret; }, used by Tango since dmd accepts the 'short'. We just
throw the 'short/long' away right now.
author | Kelly Wilson <wilsonk cpsc.ucalgary.ca> |
---|---|
date | Mon, 09 Mar 2009 20:11:42 -0600 |
parents | bb57632d27ea |
children | 44d1c557a07b |
files | gen/asm-x86-64.h |
diffstat | 1 files changed, 14 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/gen/asm-x86-64.h Mon Mar 09 21:38:31 2009 +0100 +++ b/gen/asm-x86-64.h Mon Mar 09 20:11:42 2009 -0600 @@ -1499,7 +1499,15 @@ } 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 @@ 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;