nasm/asm
H. Peter Anvin (Intel) 4b58ec1b8f preproc: properly protect %xdefine params (see below), cleanups
1. %xdefine was broken because the code used i as a loop, which is
   a standard use for the name i. To avoid that confusion in the
   future, use "op" rather than "i" to hold the directive constant.

2. Once (1) was fixed, the smacro expansion code would fail because of
   parameter token numbers being indistinguishable between the ongoing
   expansion and the %xdefine parameters. In a first pass, mark the
   parameters with a new TOK_XDEF_PARAM token number, and change them
   to proper parameter token numbers in a second pass, which is now
   moved into define_smacro() which is where it arguably belongs.

3. Add a few tests for token pasting and xdefine with and without
   parameters.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2019-10-23 12:00:50 -07:00
..
assemble.c Implement an enhanced version of MASM's dup() and "db ?" syntax. 2019-10-16 14:29:16 -07:00
assemble.h Add a generic pragma-handling infrastructure 2017-03-07 21:32:37 -08:00
directiv.c Drop unnecessary EXTERN symbols 2019-09-12 20:21:03 -04:00
directiv.dat Drop unnecessary EXTERN symbols 2019-09-12 20:21:03 -04:00
error.c error: replace nasm_verror() indirection with preproc callback 2019-08-28 19:02:47 -07:00
eval.c eval: don't try to poke *opflags if opflags is NULL 2019-09-12 18:34:14 -07:00
eval.h Clean up the handling of various passes 2018-12-18 11:14:59 -08:00
exprdump.c exprlib: move dumping code to a separate C file 2017-02-28 18:13:43 -08:00
exprlib.c exprlib: move dumping code to a separate C file 2017-02-28 18:13:43 -08:00
float.c preproc: standard macros now C-safe, %aliases off, fix %? recursion 2019-08-27 16:42:41 -07:00
float.h Reorganize the source code into subdirectories 2016-05-25 12:06:29 -07:00
labels.c Change LBL_NONE to LBL_none 2019-09-12 20:26:23 -04:00
listing.c listing: encapsulate the list_options encoding, make more comprehensive 2019-08-10 18:04:04 -07:00
listing.h listing: add the -L+ option to enable all listing options 2019-08-19 13:11:34 -07:00
nasm.c error: replace nasm_verror() indirection with preproc callback 2019-08-28 19:02:47 -07:00
parser.c Implement an enhanced version of MASM's dup() and "db ?" syntax. 2019-10-16 14:29:16 -07:00
parser.h Clean up the handling of various passes 2018-12-18 11:14:59 -08:00
phash.pl Reorganize the source code into subdirectories 2016-05-25 12:06:29 -07:00
pptok.dat preproc: add %ifusable and %ifusing directives 2019-09-12 19:39:48 -07:00
pptok.pl pptok.pl: don't leak internal codes into pptok.c 2019-08-15 01:37:48 -07:00
pragma.c pragma: handle default name/fallback handler for NULL list; cleanups 2019-09-30 13:30:15 -07:00
preproc-nop.c error: replace nasm_verror() indirection with preproc callback 2019-08-28 19:02:47 -07:00
preproc.c preproc: properly protect %xdefine params (see below), cleanups 2019-10-23 12:00:50 -07:00
preproc.h --no-line: new option to ignore %line directives 2018-12-14 12:22:11 -08:00
quote.c quote: improve comment 2019-06-06 17:32:44 -07:00
quote.h Merge branch 'master' of ssh://repo.or.cz/nasm 2019-06-06 16:26:22 -07:00
rdstrnum.c rdstrnum: Make sure we dont shift out of bound 2018-10-29 22:25:16 +03:00
segalloc.c segalloc: DO NOT reset segment numbers 2018-06-14 16:42:03 -07:00
srcfile.c Remove #includes already provided by "compiler.h" 2018-12-27 12:45:44 -08:00
srcfile.h srcfile: simplify and make most functions inline 2018-12-10 23:28:01 -08:00
stdscan.c Implement an enhanced version of MASM's dup() and "db ?" syntax. 2019-10-16 14:29:16 -07:00
stdscan.h Reorganize the source code into subdirectories 2016-05-25 12:06:29 -07:00
strfunc.c Reorganize the source code into subdirectories 2016-05-25 12:06:29 -07:00
tokens.dat Implement an enhanced version of MASM's dup() and "db ?" syntax. 2019-10-16 14:29:16 -07:00
tokhash.pl preprocessor: major cleanups; inline text into Token 2019-09-23 16:40:03 -07:00
warnings.pl warnings.pl: correct the documentation output for aliases 2019-10-07 21:11:13 -07:00