aboutsummaryrefslogtreecommitdiff
path: root/src/check_type.cpp
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2017-11-27 20:18:06 +0000
committergingerBill <bill@gingerbill.org>2017-11-27 20:18:06 +0000
commit05e374934de040092ef79c41f94645633e53b57d (patch)
treeaa3371a01e69b82887047efe9830e47a652119ea /src/check_type.cpp
parent3e1ff0ec67806f73c09f02dfbb3ce7f252ea6738 (diff)
Change proc ABI for Odin specific types
Diffstat (limited to 'src/check_type.cpp')
-rw-r--r--src/check_type.cpp23
1 files changed, 10 insertions, 13 deletions
diff --git a/src/check_type.cpp b/src/check_type.cpp
index cb6222be8..81bc7a0d1 100644
--- a/src/check_type.cpp
+++ b/src/check_type.cpp
@@ -1709,17 +1709,16 @@ Type *type_to_abi_compat_param_type(gbAllocator a, Type *original_type) {
case Type_Pointer: break;
case Type_Proc: break; // NOTE(bill): Just a pointer
- // Odin only types
- case Type_Slice:
- case Type_DynamicArray:
- case Type_Map:
- break;
-
// Odin specific
+ case Type_Slice:
case Type_Array:
case Type_Vector:
+ case Type_DynamicArray:
+ case Type_Map:
+ case Type_Union:
// Could be in C too
- case Type_Struct: {
+ case Type_Struct:
+ {
i64 align = type_align_of(a, original_type);
i64 size = type_size_of(a, original_type);
switch (8*size) {
@@ -1752,15 +1751,13 @@ Type *type_to_abi_compat_param_type(gbAllocator a, Type *original_type) {
case Type_Pointer: break;
case Type_Proc: break; // NOTE(bill): Just a pointer
- // Odin only types
- case Type_Slice:
- case Type_DynamicArray:
- case Type_Map:
- break;
-
// Odin specific
+ case Type_Slice:
case Type_Array:
case Type_Vector:
+ case Type_DynamicArray:
+ case Type_Map:
+ case Type_Union:
// Could be in C too
case Type_Struct: {
i64 align = type_align_of(a, original_type);