cosmopolitan/third_party/chibicc/chibicc.main.c
Justine Tunney 18bb5888e1
Make more fixes and improvements
- Remove PAGESIZE constant
- Fix realloc() documentation
- Fix ttyname_r() error reporting
- Make forking more reliable on Windows
- Make execvp() a few microseconds faster
- Make system() a few microseconds faster
- Tighten up the socket-related magic numbers
- Loosen restrictions on mmap() offset alignment
- Improve GetProgramExecutableName() with getenv("_")
- Use mkstemp() as basis for mktemp(), tmpfile(), tmpfd()
- Fix flakes in pthread_cancel_test, unix_test, fork_test
- Fix recently introduced futex stack overflow regression
- Let sockets be passed as stdio to subprocesses on Windows
- Improve security of bind() on Windows w/ SO_EXCLUSIVEADDRUSE
2023-07-29 18:44:15 -07:00

21 lines
484 B
C

#include "third_party/chibicc/chibicc.h"
#include "libc/runtime/internal.h"
#include "libc/x/x.h"
#include "tool/build/lib/getargs.h"
int main(int argc, char **argv) {
int n;
char **p;
const char *arg;
struct GetArgs ga;
n = 0;
p = xcalloc(n + 1, sizeof(*p));
getargs_init(&ga, argv);
while ((arg = getargs_next(&ga))) {
p = xrealloc(p, (++n + 1) * sizeof(*p));
p[n - 1] = xstrdup(arg);
p[n - 0] = 0;
}
getargs_destroy(&ga);
return chibicc(n, p);
}