diff options
author | H. Peter Anvin (Intel) <hpa@zytor.com> | 2019-04-25 18:00:32 -0700 |
---|---|---|
committer | H. Peter Anvin (Intel) <hpa@zytor.com> | 2019-04-25 18:00:32 -0700 |
commit | 41e9682efed7cd1df133b1b4ac806e07723f1486 (patch) | |
tree | 001a3ef33fa108a5aac02318526f401e9c4d0e71 /nasmlib | |
parent | 61891333636f2bda70f28c7cc5324f808412de58 (diff) | |
download | nasm-41e9682efed7cd1df133b1b4ac806e07723f1486.tar.gz |
preproc: massive cleanup of smacro expansion
The smacro expansion code was virtually impossible to understand, and
was leading to very strange failures. Clean it up, and do much better
handling of magic macros. This should also allow for recursive
macros, but recursive macros are extremely tricky in that it is very
hard to keep them from recursing forever, unless there is at least one
argument which is never expanded. They are not currently implemented.
Even so, I believe token pasting makes it possible to create infinite
loops; e.g.:
%define foo foo %+
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
Diffstat (limited to 'nasmlib')
-rw-r--r-- | nasmlib/raa.c | 5 |
1 files changed, 0 insertions, 5 deletions
diff --git a/nasmlib/raa.c b/nasmlib/raa.c index feb86970..038f97ac 100644 --- a/nasmlib/raa.c +++ b/nasmlib/raa.c @@ -50,11 +50,6 @@ typedef union RAA_UNION RAA_UNION; typedef struct RAA_LEAF RAA_LEAF; typedef struct RAA_BRANCH RAA_BRANCH; -union intorptr { - int64_t i; - void *p; -}; - struct RAA { /* Last position in this RAA */ raaindex endposn; |