---- tst.S ----
%macro hexcmp 1
%if 0x%1 >= 0x100
%endif
%endmacro
hexcmp 9E
---------------
Now fails with:
$ /mnt/svn/nasm/nasm tst.S
tst.S:6: warning: (hexcmp:1) trailing garbage after expression ignored
Failing versions:
$ nasm -v
NASM version 2.09.04 compiled on Jan 5 2011
$ /mnt/svn/nasm/nasm -v
NASM version 2.10rc3 compiled on Jan 6 2011
Working versions:
$ ~/nasm-2.07/nasm -v
NASM version 2.07 compiled on Dec 18 2010
$ nasm -v
NASM version 2.08.02 compiled on Jan 6 2011
It was also working with:
$ nasm -v
NASM version 0.98.39 compiled on Jan 6 2011
but NOT with:
$ nasm -v
NASM version 2.05.01 compiled on Jan 6 2011
so it seems this behaviour might be intentional...
This is something which should work per our normal token-pasting rules, but which can easily break due to the fragile implementation of token pasting. As such, it is definitely a bug.
I'll take a look, thanks for report