Age | Commit message (Collapse) | Author | Files | Lines |
|
The NASM 2.09 preprocessor allows some illogical constructs, but which
unfortunately has been found in real code in the field. We need
a compatibility solution or a pragma before we can avoid that.
However, we need the other features in NASM 2.10 to come out, so
revert the preprocessor changes for now.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
pptok.dat: merge from preproc-rewrite branch
macros.pl: merge from preproc-rewrite branch
version: changed to 2.10rc2
|
|
Add %ifenv to test for the presence of an environment variable. The
environment variable can, but does not have to be, prefixed with %!.
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
|
|
preproc: change PP_RIMACRO to PP_IRMACRO
nasmdoc: add entries for %[i]deftok and %[i]rmacro
|
|
pptok: add %deftok and %ideftok preprocessor directives
|
|
preproc: revamp for use with rmacro/rimacro instead of overloading macro/imacro with optional recursion parameter
|
|
Add copyright notices to the other *.dat files.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
Only process %error or %warning directives on the final pass. Add a
new %fatal directive which terminates assembly immediately.
|
|
Add %un[i]macro, and a few stylistic cleanups.
Note: unlike %undef, %un[i]macro takes an argument specification,
which must *exactly* match the macro being undefined. Similarly,
%unimacro has to be used to undefine a macro defined with %imacro, and
vice versa.
|
|
I noticed there was no sane way to concatenate the contents of quoted
strings, so add the %strcat directive.
These really need to become preprocessor functions at some stage.
|
|
Add a builtin equivalent to the %include directive called %use.
%use includes a standard macro file compiled into the binary; these
come from the macros/ directory in the source code.
The idea here is to be able to provide optional macro packages with
the distribution, without adding complex host filesystem dependencies.
|
|
- Add %warning directive
- Only unquote an %error or %warning string if it is the only thing on
the directive line.
- Don't expand macros inside a quoted string, even for %error.
|
|
Add %defstr and %idefstr, to define a macro as a quoted string.
|
|
Introduce new preprocessor directives %depend and %pathsearch, and
make incbin a standard macro using these filenames. This lets us
remove the code that makes incbin search the path.
|
|
|
|
Implement %iftoken, a test for a single token. This is useful in
cases using %+ to splice a macro-provided token.
|
|
Use a perfect hash to look up preprocessor directives, and generate
the preprocessor directive list automatically.
|