Laytan
c4d1cd6ee5
fixes for 32bit with regards to typeid
2025-11-04 21:37:29 +01:00
jakubtomsu
c21453acc5
comment
2025-10-18 16:18:58 +02:00
jakubtomsu
91750e2f1b
prefer Type pointer over LLVMTypeRef when doing a struct_field_remapping lookup
2025-10-18 16:11:47 +02:00
Laytan
e7ecb16a1e
llvm 21 support
2025-10-14 19:55:00 +02:00
Harold Brenes
e79e53dbbd
Use module-prefixed naming scheme for tracking
...
objc block instead of shared id counter.
2025-10-05 16:14:32 -04:00
Harold Brenes
86f9c920da
Fix Objective-C block symbols naming conflict across modules.
...
Fix assert triggered when there's checker errors and
Objective-C method implementations.
2025-10-05 15:53:42 -04:00
gingerBill
3f7fc1e9bf
Merge pull request #5738 from jakubtomsu/fix-simd-ptr-transmute
...
[LLVM backend] SIMD vector transmute only uses bitcast when the elements aren't pointers
2025-10-05 20:27:23 +01:00
gingerBill
810ca89253
Merge pull request #5727 from harold-b/hb.intrinsics.objc_super
...
Add intrinsics.objc_super and Automatically emit objc_msgSend calls
2025-10-05 20:27:01 +01:00
Jakub Tomsu
588513a510
bitcast only non-pointer-like-element simd vectors, handle others like other aggregate types
2025-10-01 15:54:32 +02:00
Harold Brenes
6d9ace4a2c
Remove outdated todo
2025-09-29 20:38:16 -04:00
Harold Brenes
5af13f5d53
Automatically emit objc_msgSend calls when calling imported or implemented Objective-C methods
...
- Add intrinsics.objc_super()
- Emit objc_msgSendSuper2 calls when an objc method call is combined with objc_super(self)
- Fix objc_block return value ABI for large struct returns
- Fix objc_implement method wrappers bad ABI for large struct returns and indirect args
- Simplify parameter forwarding for objc_imlpement methods
- Add intrinsics.objc_instancetype to mimi Objective-C instancetype* returns
This facilitates returning the correct type on subclasses when calling mehtods
such as `alloc`, `init`, `retain`, etc.
- Refactor Objective-C class implementations generation so that hierarchies are properly initialized
- Better codegen for context passing with ivar-based autocontext
- Allow @superclass on imported objc-c objects
- Better codegen for block forwarding invoker, arguments are forwarded directly
2025-09-29 20:37:48 -04:00
gingerBill
34d040cef1
Correct format strings
2025-09-29 16:51:38 +01:00
gingerBill
9e8be055c1
Rename to -build-diagnostics
2025-09-29 16:16:19 +01:00
gingerBill
11712627cb
Add module stuff to -para-poly-diagnostics
2025-09-29 16:14:55 +01:00
gingerBill
1fc1d8e451
Change sort for single instanced procedures
2025-09-29 14:32:21 +01:00
gingerBill
53f4fc1cbb
Add -para-poly-diagnostics
2025-09-29 14:03:32 +01:00
Harold Brenes
9d8e15b3af
Implementes the block ABI.2010.3.16 natively via the objc_block intrinsic and the Objc_Block builtin type.
...
See: https://clang.llvm.org/docs/Block-ABI-Apple.html
2025-08-06 20:27:31 -04:00
gingerBill
bb4bc316a4
for in string16; Support string16 across core
2025-08-02 12:20:35 +01:00
gingerBill
ae02d3d02d
Begin supporting string16 across the core library
2025-08-02 11:55:16 +01:00
gingerBill
2561427dd3
Add string16 and cstring16 (UTF-16 based strings)
2025-08-02 11:00:15 +01:00
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