diff options
Diffstat (limited to 'src/prc1/arg.c')
| -rw-r--r-- | src/prc1/arg.c | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/src/prc1/arg.c b/src/prc1/arg.c index f55d322..e844aee 100644 --- a/src/prc1/arg.c +++ b/src/prc1/arg.c @@ -26,11 +26,19 @@ static int debug(struct args *a, const char *arg) static int target(struct args *a, const char *arg) { + fprintf(stderr, "%s: TODO, arg=%s\n", __func__, arg); + return -1; +} + +static int backend(struct args *a, const char *arg) +{ if (!strcmp(arg, "qbe")) - a->tgt = QBE; + a->backend = QBE; + else if (!strcmp(arg, "c99")) + a->backend = C99; else { - fprintf(stderr, "invalid or unsupported target \"%s\"", arg); + fprintf(stderr, "invalid or unsupported backend \"%s\"", arg); return -1; } @@ -90,7 +98,8 @@ int arg(struct args *a, const char *value) static const struct arg args[] = { {"-d", debug}, - {"-t", target}, + {"-t", target, SPACEVAL}, + {"-b", backend, SPACEVAL}, {"-I", inc, SPACEVAL | JOINVAL} }; @@ -124,7 +133,9 @@ int arg(struct args *a, const char *value) void arg_defaults(struct args *a) { - a->tgt = QBE; + a->backend = QBE; + /* TODO: replace */ + a->triplet = "x86_64-linux-gnu"; } static void free_input(struct arg_input *i) |
