diff options
| author | gingerBill <bill@gingerbill.org> | 2017-11-27 20:18:06 +0000 |
|---|---|---|
| committer | gingerBill <bill@gingerbill.org> | 2017-11-27 20:18:06 +0000 |
| commit | 05e374934de040092ef79c41f94645633e53b57d (patch) | |
| tree | aa3371a01e69b82887047efe9830e47a652119ea /src/check_type.cpp | |
| parent | 3e1ff0ec67806f73c09f02dfbb3ce7f252ea6738 (diff) | |
Change proc ABI for Odin specific types
Diffstat (limited to 'src/check_type.cpp')
| -rw-r--r-- | src/check_type.cpp | 23 |
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); |