summaryrefslogtreecommitdiff
path: root/sys/src/cmd/cpp/cpp.h
diff options
context:
space:
mode:
authorOri Bernstein <ori@eigenstate.org>2020-07-13 18:50:14 -0700
committerOri Bernstein <ori@eigenstate.org>2020-07-13 18:50:14 -0700
commit0366f11300521165ff22423514a5d829a1f34912 (patch)
tree5e68418013d8a327d746dc49fd0968ad7091c5fa /sys/src/cmd/cpp/cpp.h
parent77ddc8c654824962149160af822f849b78cc6cc0 (diff)
downloadplan9front-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.h2
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 *);