aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.c')
-rw-r--r--src/main.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/main.c b/src/main.c
index 92066cf..e8e1030 100644
--- a/src/main.c
+++ b/src/main.c
@@ -1,6 +1,7 @@
#include "ast.h"
#include "cli.h"
#include "codegen.h"
+#include "codegen_wasm.h"
#include "common.h"
#include "fs.h"
#include "io.h"
@@ -44,9 +45,17 @@ int main(int argc, char** argv) {
assembly_filename = temp_filename;
}
FILE* assembly_file = assembly_filename ? fopen(assembly_filename, "wb") : stdout;
- codegen(prog, assembly_file);
+ if (cli_args->wasm) {
+ codegen_wasm(prog, assembly_file);
+ } else {
+ codegen(prog, assembly_file);
+ }
fclose(assembly_file);
+ if (cli_args->wasm) {
+ return 0;
+ }
+
if (!cli_args->output_assembly) {
char cmd_buf[256];
if (cli_args->only_compile) {