aboutsummaryrefslogtreecommitdiff
path: root/src/targ.cff
diff options
context:
space:
mode:
authorlemon <lsof@mailbox.org>2022-08-13 13:00:37 +0200
committerlemon <lsof@mailbox.org>2022-08-13 13:00:37 +0200
commita4ddca68662f4bc0531763357b4bc00b6c50b456 (patch)
tree97f83407da049732ec97dd2d32ee34e0cd3c8c0f /src/targ.cff
parent5b95abb249604e7df9be1d63b1f3dc85b8f5990b (diff)
target
Diffstat (limited to 'src/targ.cff')
-rw-r--r--src/targ.cff28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/targ.cff b/src/targ.cff
new file mode 100644
index 0000000..6490dff
--- /dev/null
+++ b/src/targ.cff
@@ -0,0 +1,28 @@
+import "all.hff";
+
+static const targs []const Targ = {
+ {
+ "amd64-sysv",
+ .ptrsize: 8,
+ .intsize: 4,
+ .longsize: 8, .longalign: 8,
+ .llongsize: 8, .llongalign: 8,
+ .sizesize: 8,
+ .f64align: 8,
+ .valistsize: 24, .valistalign: 8,
+ .charsigned: #t,
+ .shortenum: #f,
+ }
+};
+
+extern static g_targ *const Targ = {};
+
+extern fn targ_ini(name *const u8) bool {
+ foreach(targ, i, targs[0::],
+ if streq(name, targ.name) {
+ g_targ = &targs[i];
+ return #t;
+ }
+ )
+ return #f;
+}