mirror of
https://github.com/netwide-assembler/nasm.git
synced 2025-03-07 17:46:58 +08:00
%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> |
||
---|---|---|
.. | ||
assemble.c | ||
assemble.h | ||
directiv.c | ||
directiv.dat | ||
error.c | ||
eval.c | ||
eval.h | ||
exprdump.c | ||
exprlib.c | ||
float.c | ||
float.h | ||
labels.c | ||
listing.c | ||
listing.h | ||
nasm.c | ||
parser.c | ||
parser.h | ||
phash.pl | ||
pptok.dat | ||
pptok.pl | ||
pragma.c | ||
preproc-nop.c | ||
preproc.c | ||
preproc.h | ||
quote.c | ||
quote.h | ||
rdstrnum.c | ||
segalloc.c | ||
srcfile.c | ||
srcfile.h | ||
stdscan.c | ||
stdscan.h | ||
strfunc.c | ||
tokens.dat | ||
tokhash.pl | ||
warnings.pl |