summaryrefslogtreecommitdiff
path: root/sys/src/cmd/cpp/include.c
diff options
context:
space:
mode:
authorOri Bernstein <ori@eigenstate.org>2020-03-17 22:03:25 -0700
committerOri Bernstein <ori@eigenstate.org>2020-03-17 22:03:25 -0700
commit37b86df09ff381bcc4f60802d43e57bd9bfcac73 (patch)
tree76065637ec0ea0d646ec783c00a156f9702968c7 /sys/src/cmd/cpp/include.c
parent52dc943702a8f7815546e76286b153c3813e1db0 (diff)
Improve the posix preprocessor.
This fixes token pasting, making it expand when it should expand, and paste before expansion when it should paste before expanding. #define CAT(a, b) a ## b #define BAR 3 #define FOO CAT(BAR, 3) FOO now produces 33, while #define CAT(a, b) a ## b #define EOF (-1) #define NOP(x) x NOP(CAT(foo, EOF)) CAT(,EOF) CAT(,) produces fooEOF (-1) <empty> respectively.
Diffstat (limited to 'sys/src/cmd/cpp/include.c')
-rw-r--r--sys/src/cmd/cpp/include.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/src/cmd/cpp/include.c b/sys/src/cmd/cpp/include.c
index c7511d9c8..edd51f3a8 100644
--- a/sys/src/cmd/cpp/include.c
+++ b/sys/src/cmd/cpp/include.c
@@ -18,7 +18,7 @@ doinclude(Tokenrow *trp)
goto syntax;
if (trp->tp->type!=STRING && trp->tp->type!=LT) {
len = trp->tp - trp->bp;
- expandrow(trp, "<include>", Notinmacro);
+ expandrow(trp, "<include>");
trp->tp = trp->bp+len;
}
if (trp->tp->type==STRING) {