From 0366f11300521165ff22423514a5d829a1f34912 Mon Sep 17 00:00:00 2001 From: Ori Bernstein Date: Mon, 13 Jul 2020 18:50:14 -0700 Subject: 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. --- sys/src/cmd/cpp/cpp.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'sys/src/cmd/cpp/cpp.h') 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 *); -- cgit v1.2.3