Commit Graph

129 Commits

Author SHA1 Message Date
Harold Brenes
1505edef01 Change ivar offsets from u32 to (odin base type) int/native pointer size. 2025-04-30 22:09:33 -04:00
Harold Brenes
f3923ed666 Fix indentations
Fix Objective-C wrapper procs not forwarding return value
2025-04-27 22:55:53 -04:00
Harold Brenes
bca02f81cd Include the ivar in the Objective-C class unconditionally of it being used or not.
Allow pseudo-fields for ivar access.
2025-04-22 19:18:53 -04:00
Harold Brenes
b3b4d501ca Fix ivar in multi-module mode. 2025-04-21 02:43:16 -04:00
Harold Brenes
a3de9c8de4 Add initial support for Objective-C class implementation 2025-04-20 21:53:46 -04:00
gingerBill
4ebaed1fdd Remove refactor 2025-04-03 09:54:44 +01:00
gingerBill
e412d3b4c1 Minor clean up to lb_handle_objc_find_or_register_internal 2025-04-03 09:48:30 +01:00
gingerBill
cd5bef4f61 Rewrite objc SEL/Class register handling code 2025-04-03 09:37:38 +01:00
gingerBill
5eaff20f4a Add mutex for lb_handle_objc_find_or_register_class 2025-04-02 18:26:40 +01:00
gingerBill
d0dd1b2d80 Add mutex for lb_handle_objc_find_or_register_selector 2025-04-02 18:23:08 +01:00
Laytan Laats
f85db012b8 fix off by one temp cstring and put objc names on permanent allocator to be safe
Fixes #4922
2025-03-21 22:56:19 +01:00
gingerBill
d3b1aaad18 Use :: rather than $ to try and fix mac SEL stuff 2025-03-12 12:53:26 +00:00
gingerBill
fd6d7d412d Use more predictable object name 2025-02-25 14:55:33 +00:00
gingerBill
f9d85a7311 Try to make globally generated variables deterministic in name 2025-02-25 14:29:14 +00:00
gingerBill
e8c38e7427 Handle any correctly for 32-bit systems 2025-02-20 17:50:56 +00:00
Laytan Laats
b77430bea8 -obfuscate-source-code-locations on bounds checks and type assertions 2025-02-05 19:42:20 +01:00
Laytan Laats
9dc17f4c47 optimize fix 2025-01-24 19:33:57 +01:00
Laytan Laats
b2aaf90f88 fix separate modules with objc code 2025-01-24 19:23:49 +01:00
gingerBill
a2a0a2c8d8 Merge pull request #4611 from tf2spi/4491-max-field-align-pack
Add packing + aligned access w/ field_align
2025-01-01 18:03:44 +00:00
gingerBill
7b334d2bd9 Add #branch_location 2025-01-01 17:26:15 +00:00
misomosi
fdf510b7b3 Pack struct when needed, use field_align metadata 2024-12-22 10:05:13 -05:00
gingerBill
e38a08013e Remove #relative types from the compiler 2024-11-14 16:17:24 +00:00
gingerBill
89a5decc33 Keep ASAN happy on type assertions 2024-11-13 18:32:50 +00:00
Laytan Laats
da1e09c95d check packed load and set alignment on all loads, not just lb_emit_load 2024-10-25 15:23:15 +02:00
Feoramund
c424c94030 Fix inline transmutation of [16]i8 to i128
Forbids LLVM from generating SSE aligned loads on unaligned data.
2024-08-26 04:48:31 -04:00
gingerBill
8e52a52580 Cache the paddding filler type 2024-08-18 18:37:40 +01:00
Laytan Laats
6f1cc8071c wasm: add foreign import and linking of wasm object files 2024-07-02 15:28:08 +02:00
Laytan Laats
b79d7e6917 disallow non-global foreign import of variables on wasm 2024-06-28 01:34:09 +02:00
gingerBill
ae63fd9230 Fix #3649 2024-05-30 23:08:42 +01:00
Kamil T
f6ef395057 Fix Odin to LLVM memory order mapping for .Relaxed and .Consume 2024-05-20 13:57:08 +01:00
gingerBill
c9b1c99a40 Fix soa_zip and soa_unzip 2024-05-16 16:27:09 +01:00
gingerBill
de5ce90fa7 Add metadata to packed structs field accesses to state it is packed 2024-05-07 15:28:09 +01:00
Laytan Laats
25f1d0906d compiler: improve target features support 2024-05-02 00:59:52 +02:00
gingerBill
c330e5b5c1 Improve codegen for bit_field compound literals with an integer backing 2024-04-24 14:46:34 +01:00
gingerBill
ece78d22d2 Add -no-type-assert and ODIN_NO_TYPE_ASSERT 2024-04-18 11:22:31 +01:00
gingerBill
a61ae7c861 Fix #3427 2024-04-16 13:31:49 +01:00
gingerBill
df526549e2 Fix min/max for wasm 2024-03-26 14:31:28 +00:00
gingerBill
a750fc0ba6 Add #row_major matrix[R, C]T
As well as `#column_major matrix[R, C]T` as an alias for just `matrix[R, C]T`.
This is because some libraries require a row_major internal layout but still want to be used with row or major oriented vectors.
2024-03-19 21:05:23 +00:00
gingerBill
b1903b915b Change to IEEE 754-2008 conformance for min/max runtime operations. 2024-03-06 15:16:11 +00:00
gingerBill
a7bab89c93 Unify min/max semantics for simd_(min|max) 2024-03-06 15:07:21 +00:00
gingerBill
a1ee9e7035 Change min/max runtime behaviour to match IEEE 754-2019 2024-03-06 15:04:46 +00:00
gingerBill
c14b9d461a Support using of a bit_field within a struct 2024-02-22 19:14:16 +00:00
gingerBill
c1d853a24e Remove dead code 2024-01-28 17:32:34 +00:00
gingerBill
3102abf1aa mem zero rather than store to a union where the variant is of size zero 2023-11-24 10:57:18 +00:00
gingerBill
082324d7b9 Begin work on making the type info table be constantly initialized 2023-09-22 14:39:51 +01:00
gingerBill
c91898a888 Remove #relative slices; Replace with #relative multi-pointers 2023-08-05 16:05:39 +01:00
gingerBill
296674e18b Rename ODIN_DISALLOW_RTTI to ODIN_NO_RTTI; Remove dead command line flags 2023-06-12 14:53:05 +01:00
gingerBill
ca6cef9a7d Fix wasm intrinsics; fix len for strings and slices 2023-06-06 23:11:42 +01:00
gingerBill
685f7d0fea Rename word_size to ptr_size internally to make it clearer 2023-04-20 12:18:13 +01:00
gingerBill
f5d9ca64f9 Begin work on new pseudo-architecture: wasm64p32 2023-04-20 12:02:32 +01:00