nasm/asm
H. Peter Anvin (Intel) b292748d9f preproc, srcfile: much saner handling of %line directives
%line directives really need to be preprocessed early, before normal
directive processing. In particular, they are *not* affected by such
thing as smacro expansion, or deferred into an mmacro expansion.

The %line directive is special because it is explicitly indented to be
inserted by an external preprocessor, which can happen at any point.

For mmacro and rep expansions, store the current file and line for
each expansion line. Similarly, let each istk entry contain such
information.

Don't emit empty lines in preprocessing-only mode when we are
already required to issue a %line directive anyway. This cuts down on
clutter a fair bit.

Quote filenames in %line directives (and accept quoted filenames in
%line directives) if and only if it is necessary for
disambiguation. This is required if:

1. The filename contains control characters;
2. The filename begins or ends with whitespace or a quotation mark;
3. The filename is empty.

Otherwise issue the filename as-is, for backwards compatibility.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2020-06-14 20:09:11 -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 asm/error.c: handle warning "all" correctly 2020-06-04 15:59: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
labels.c Change LBL_NONE to LBL_none 2019-09-12 20:26:23 -04:00
listing.c listing: make it possible to flush the listing output after every line 2019-10-23 12:45:08 -07:00
listing.h listing: add the -L+ option to enable all listing options 2019-08-19 13:11:34 -07:00
nasm.c preproc, srcfile: much saner handling of %line directives 2020-06-14 20:09:11 -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
pptok.dat preproc: fix %undef of macro aliases, and add %ifdefalias 2019-10-23 12:59:06 -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, srcfile: much saner handling of %line directives 2020-06-14 20:09:11 -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 preproc, srcfile: much saner handling of %line directives 2020-06-14 20:09:11 -07:00
srcfile.h preproc, srcfile: much saner handling of %line directives 2020-06-14 20:09:11 -07:00
stdscan.c Implement an enhanced version of MASM's dup() and "db ?" syntax. 2019-10-16 14:29:16 -07:00
stdscan.h
strfunc.c
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