diff options
| -rw-r--r-- | c/lex.c | 6 | ||||
| -rw-r--r-- | main.c | 2 |
2 files changed, 6 insertions, 2 deletions
@@ -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); } @@ -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; |