From fb2120120ee0b5a0165e4d10ee64dfd7bf01814b Mon Sep 17 00:00:00 2001 From: lemon Date: Mon, 2 Mar 2026 17:54:04 +0100 Subject: driver: fix -pthread, -U --- c/lex.c | 6 +++++- main.c | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/c/lex.c b/c/lex.c index 07b5cb0..6099539 100644 --- a/c/lex.c +++ b/c/lex.c @@ -2175,7 +2175,11 @@ cpppredef(bool undef, const char *cmd) char line[1024]; struct wbuf wbuf = MEMBUF(line, sizeof line); if (!ppcmdline.p) vinit(&ppcmdline, NULL, 1<<10); - int n = bfmt(&wbuf, "%s %S %s\n", undef ? "#undef" : "#define", cmd, namelen, body); + int n; + if (undef) + n = bfmt(&wbuf, "#undef %S\n", cmd, namelen); + else + n = bfmt(&wbuf, "#define %S %s\n", cmd, namelen, body); assert(n <= sizeof line); vpushn(&ppcmdline, line, n); } diff --git a/main.c b/main.c index 3eb56ea..9710814 100644 --- a/main.c +++ b/main.c @@ -199,7 +199,7 @@ optparse(char **args) const char *s = *++args; if (!s) fatal(NULL, "missing target name"); task.targ = s; - } else if (*arg == 'l' || *arg == 'L' || *arg == 'B' || !strcmp(arg, "shared")) { + } else if (*arg == 'l' || *arg == 'L' || *arg == 'B' || !strcmp(arg, "shared") || !strcmp(arg, "pthread")) { vpush(&task.linkargs, arg-1); } else if (!strcmp(arg, "v") || !strcmp(arg, "-verbose")) { task.verbose = 1; -- cgit v1.2.3