aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/cli.c
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2025-12-11 21:09:40 +0900
committernsfisis <nsfisis@gmail.com>2025-12-11 21:09:40 +0900
commit1908a8898cc2455dddd881a4883ce51bb36f5d8e (patch)
tree2abb48d7c722b5c0f60b99fcee2fce64045ed229 /src/cli.c
parent000f1d7f7412440619112b09f64ff653d960ed25 (diff)
downloadducc-1908a8898cc2455dddd881a4883ce51bb36f5d8e.tar.gz
ducc-1908a8898cc2455dddd881a4883ce51bb36f5d8e.tar.zst
ducc-1908a8898cc2455dddd881a4883ce51bb36f5d8e.zip
Reapply "feat: minimal wasm backend"HEADmain
This reverts commit 47d43f5a583dc2d474e553afe0cb682d878231b1.
Diffstat (limited to 'src/cli.c')
-rw-r--r--src/cli.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/cli.c b/src/cli.c
index 5448d3f..e6ae89f 100644
--- a/src/cli.c
+++ b/src/cli.c
@@ -14,6 +14,7 @@ CliArgs* parse_cli_args(int argc, char** argv) {
int positional_arguments_start = -1;
bool opt_c = false;
bool opt_E = false;
+ bool opt_wasm = false;
bool opt_MMD = false;
StrArray include_dirs;
strings_init(&include_dirs);
@@ -62,6 +63,8 @@ CliArgs* parse_cli_args(int argc, char** argv) {
exit(0);
} else if (strcmp(argv[i], "--std=gnu23") == 0) {
// ignore --std=gnu23
+ } else if (strcmp(argv[i], "--wasm") == 0) {
+ opt_wasm = true;
} else {
fatal_error("unknown option: %s", argv[i]);
}
@@ -73,10 +76,11 @@ CliArgs* parse_cli_args(int argc, char** argv) {
CliArgs* a = calloc(1, sizeof(CliArgs));
a->input_filename = argv[positional_arguments_start];
a->output_filename = output_filename;
- a->output_assembly = !output_filename || str_ends_with(output_filename, ".s");
+ a->output_assembly = !output_filename || str_ends_with(output_filename, ".s") || opt_wasm;
a->only_compile = opt_c;
a->preprocess_only = opt_E;
a->totally_deligate_to_gcc = false;
+ a->wasm = opt_wasm;
a->gcc_command = NULL;
a->generate_deps = opt_MMD;
a->include_dirs = include_dirs;