mirror of
https://github.com/netwide-assembler/nasm.git
synced 2024-12-15 09:09:58 +08:00
d784a083a3
Unify the token-pasting code between the macro expansion and the preprocessor parameter case. Parameterize whether or not to handle %+ tokens during expansion (%+ tokens have late binding semantics.) Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
30 lines
403 B
NASM
30 lines
403 B
NASM
;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
|
|
|
|
%macro df 2
|
|
%assign xy __float32__(%1e+%2)
|
|
dd xy
|
|
dd %1e+%2
|
|
%endmacro
|
|
|
|
df 1, 36
|
|
df 33, 20
|
|
df 0, 2
|
|
df 1.2, 5
|
|
|
|
|
|
%define N 1e%++%+ 5
|
|
dd N, 1e+5
|