diff options
| author | 2022-08-22 17:47:02 +0200 | |
|---|---|---|
| committer | 2022-08-22 17:47:02 +0200 | |
| commit | d74ed7fb65bf7ac245d2548ac13f3f3fdabadd16 (patch) | |
| tree | 7d98ba2472073d5414d51651742911993b5fbf81 /src/type.cff | |
| parent | e0686f7953bbc74ff03a7a6b22c0b82995ab494e (diff) | |
llvm hello worlding
Diffstat (limited to 'src/type.cff')
| -rw-r--r-- | src/type.cff | 11 |
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); + } +} |