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.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/src/prc1/arg.c b/src/prc1/arg.c
index f61bca7..f55d322 100644
--- a/src/prc1/arg.c
+++ b/src/prc1/arg.c
@@ -20,7 +20,20 @@ struct arg
static int debug(struct args *a, const char *arg)
{
- dbgen = 1;
+ dbgen++;
+ return 0;
+}
+
+static int target(struct args *a, const char *arg)
+{
+ if (!strcmp(arg, "qbe"))
+ a->tgt = QBE;
+ else
+ {
+ fprintf(stderr, "invalid or unsupported target \"%s\"", arg);
+ return -1;
+ }
+
return 0;
}
@@ -77,6 +90,7 @@ int arg(struct args *a, const char *value)
static const struct arg args[] =
{
{"-d", debug},
+ {"-t", target},
{"-I", inc, SPACEVAL | JOINVAL}
};
@@ -110,6 +124,7 @@ int arg(struct args *a, const char *value)
void arg_defaults(struct args *a)
{
+ a->tgt = QBE;
}
static void free_input(struct arg_input *i)