diff options
author | H. Peter Anvin <hpa@zytor.com> | 2009-04-07 21:59:24 -0700 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2009-04-07 21:59:24 -0700 |
commit | 9bb46df4b716c5d8c483e66d39d2edb3ceb161f0 (patch) | |
tree | 3692eb5836c0b99b78954aec41c9811d754cc22d /test/weirdpaste.asm | |
parent | 1582d52863ee6f857c1c76e2abe9a413f278e648 (diff) | |
download | nasm-9bb46df4b716c5d8c483e66d39d2edb3ceb161f0.tar.gz |
Handle weird cases of token pasting
Especially when token pasting involves floating-point numbers, we can
have some really strange effects from token pasting: for example,
pasting the two tokens "xyzzy" and "1e+10" ends up with *three*
tokens: "xyzzy1e" "+" "10". The easiest way to deal with this is to
explicitly combine the string and then run tokenize() on it.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Diffstat (limited to 'test/weirdpaste.asm')
-rw-r--r-- | test/weirdpaste.asm | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/test/weirdpaste.asm b/test/weirdpaste.asm new file mode 100644 index 00000000..c6e98150 --- /dev/null +++ b/test/weirdpaste.asm @@ -0,0 +1,14 @@ +;Testname=preproc; Arguments=-E; Files=stdout stderr +;Testname=bin; Arguments=-fbin -oweirdpaste.bin; Files=stdout stderr weirdpaste.bin + + %define foo xyzzy +%define bar 1e+10 + +%define xyzzy1e 15 + +%macro dx 2 +%assign xx %1%2 + dw xx +%endmacro + + dx foo, bar |