diff options
author | Ori Bernstein <ori@eigenstate.org> | 2020-07-13 18:50:14 -0700 |
---|---|---|
committer | Ori Bernstein <ori@eigenstate.org> | 2020-07-13 18:50:14 -0700 |
commit | 0366f11300521165ff22423514a5d829a1f34912 (patch) | |
tree | 5e68418013d8a327d746dc49fd0968ad7091c5fa /sys/src/cmd/cpp/cpp.h | |
parent | 77ddc8c654824962149160af822f849b78cc6cc0 (diff) | |
download | plan9front-0366f11300521165ff22423514a5d829a1f34912.tar.xz |
cpp: fix mutually recursive macros
Handle cases where parameterless macros expand to each other:
#define FOO BAR
#define BAR FOO
FOO
There were cases where the macros didn't make it into the hidesets,
and we would recurse infinitely. This fixes that.
Diffstat (limited to 'sys/src/cmd/cpp/cpp.h')
-rw-r--r-- | sys/src/cmd/cpp/cpp.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/src/cmd/cpp/cpp.h b/sys/src/cmd/cpp/cpp.h index cb21a785e..25a832a12 100644 --- a/sys/src/cmd/cpp/cpp.h +++ b/sys/src/cmd/cpp/cpp.h @@ -110,7 +110,7 @@ void doif(Tokenrow *, enum kwtype); void expand(Tokenrow *, Nlist *); void builtin(Tokenrow *, int); int gatherargs(Tokenrow *, Tokenrow **, int, int *); -void substargs(Nlist *, Tokenrow *, Tokenrow **); +void substargs(Nlist *, Tokenrow *, Tokenrow **, int); void expandrow(Tokenrow *, char *); void maketokenrow(int, Tokenrow *); Tokenrow *copytokenrow(Tokenrow *, Tokenrow *); |