aboutsummaryrefslogtreecommitdiff
path: root/src/type.cff
diff options
context:
space:
mode:
authorlemon <lsof@mailbox.org>2022-08-22 17:47:02 +0200
committerlemon <lsof@mailbox.org>2022-08-22 17:47:02 +0200
commitd74ed7fb65bf7ac245d2548ac13f3f3fdabadd16 (patch)
tree7d98ba2472073d5414d51651742911993b5fbf81 /src/type.cff
parente0686f7953bbc74ff03a7a6b22c0b82995ab494e (diff)
llvm hello worlding
Diffstat (limited to 'src/type.cff')
-rw-r--r--src/type.cff11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/type.cff b/src/type.cff
index ddb4cd8..194ff01 100644
--- a/src/type.cff
+++ b/src/type.cff
@@ -115,14 +115,13 @@ struct TypeTraits {
}
}
+static types_set Set<*const Type, TypeTraits> = {};
extern fn interntype(ty0 Type) *const Type {
- static set Set<*const Type, TypeTraits> = {};
-
if ty0.align == 0 {
ty0.align = ty0.size;
}
- return *set->intern(&ty0);
+ return *types_set->intern(&ty0);
}
extern fn completetype(ty *const Type) bool {
@@ -307,3 +306,9 @@ extern fn typeof2(a *const Type, b *const Type) *const Type {
}
return #null;
}
+
+extern fn types_to_llvm() void {
+ set_each(ty, types_set) {
+ llvm_addtype(ty);
+ }
+}