aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorlemon <lsof@mailbox.org>2026-03-02 17:54:04 +0100
committerlemon <lsof@mailbox.org>2026-03-02 17:54:18 +0100
commitfb2120120ee0b5a0165e4d10ee64dfd7bf01814b (patch)
tree73915e0ede0e30cf27a78bd573a58ece8072c6ff
parentf2285400e65dafe730a073b3ca92494d72c7295b (diff)
driver: fix -pthread, -U
-rw-r--r--c/lex.c6
-rw-r--r--main.c2
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;