aboutsummaryrefslogtreecommitdiff
path: root/src/prc1/arg.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/prc1/arg.c')
-rw-r--r--src/prc1/arg.c19
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)