aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlemon <lsof@mailbox.org>2022-08-24 07:40:13 +0200
committerlemon <lsof@mailbox.org>2022-08-24 07:40:13 +0200
commitfa541d48d80d99d78e2ff41b0bea66d8a92c9bd6 (patch)
tree02269a4050b1000a19ef25aec1985c034988dfd1
parentd5c61681198527d70bc95f8ed10f19e881ac51b3 (diff)
send target triple to llvm
-rw-r--r--src/cffc.hff1
-rw-r--r--src/llvm.cff1
-rw-r--r--src/main.cff1
3 files changed, 3 insertions, 0 deletions
diff --git a/src/cffc.hff b/src/cffc.hff
index 21418b9..a4099e7 100644
--- a/src/cffc.hff
+++ b/src/cffc.hff
@@ -363,6 +363,7 @@ struct Targ {
shortenum bool,
B *Backend,
+ triple *const u8,
}
// parse.cff
diff --git a/src/llvm.cff b/src/llvm.cff
index 053d44d..b12c995 100644
--- a/src/llvm.cff
+++ b/src/llvm.cff
@@ -778,4 +778,5 @@ extern fn llvm_fini() void {
extern fn llvm_init(out *FILE) void {
alloc = {&arena, &Arena:allocf, #null};
outfp = out;
+ gen("target triple = \"%s\"\n", g_targ.triple);
}
diff --git a/src/main.cff b/src/main.cff
index 32664fd..46cd8dc 100644
--- a/src/main.cff
+++ b/src/main.cff
@@ -11,6 +11,7 @@ extern fn main(argc int, argv **u8) int {
return 1;
}
targ_ini(targ);
+ g_targ.triple = triple;
let p = Parser {};
parser_init(&p, argv[1]);