Commit Graph

5872 Commits

Author SHA1 Message Date
gingerBill
adc44312bf const string -> constant string 2025-10-09 10:36:50 +01:00
gingerBill
a60058259d Allow intrinsics.type_union_tag_offset with maybe-like unions 2025-10-09 10:25:48 +01:00
gingerBill
41c523faa5 Add intrinsics.type_is_raw_union 2025-10-09 10:10:49 +01:00
gingerBill
cadac43f14 Merge pull request #5765 from odin-lang/bill/new-slice-sort
New `slice.sort` implementation
2025-10-09 09:55:43 +01:00
gingerBill
e001e402c2 Add intrinsics.type_is_cstring and intrinsics.type_is_cstring16 2025-10-09 09:55:14 +01:00
Laytan
f564f66c03 Merge pull request #5770 from harold-b/hb.fix-objc-superclass-check
Fix `@objc_superclass` attribute crashing when referenced type was invalid
2025-10-08 18:02:12 +02:00
Harold Brenes
9f5bde4a6f Perform type kind check before making use relevant fields in objc_superclass check 2025-10-08 11:38:20 -04:00
A1029384756
067fbfb48c Merge remote-tracking branch 'upstream/master' into llvm-14-fixes 2025-10-07 23:29:10 -04:00
A1029384756
cfe651e8d2 formatting 2025-10-07 23:26:29 -04:00
A1029384756
7179987ac9 casting 2025-10-07 23:15:12 -04:00
A1029384756
b55cf5f8f4 llvm 14 fixed 2025-10-07 22:58:50 -04:00
gingerBill
097a41a6cc Merge pull request #5739 from Creativty/master
Fix proc group named operands issue #4971
2025-10-07 15:34:33 +01:00
gingerBill
24253643d7 Merge pull request #5757 from Creativty/fix_out_of_place_default_params_exclusion
Fix #5734, Default params exclusion counting in proc groups issue
2025-10-07 15:34:02 +01:00
gingerBill
185e7cd538 Merge pull request #5760 from harold-b/hb.fix-objc-block-name-collision
Fix Objective-C block symbols naming conflict across modules
2025-10-06 13:27:47 +01:00
gingerBill
bc9e6f852e Merge pull request #5762 from A1029384756/llvm-14-entry-fix
[llvm-14-entry-fix] bitcast context pointer to match types for llvm 14
2025-10-06 13:26:52 +01:00
A1029384756
866486fa1c [llvm-14-entry-fix] bitcast context pointer to match types for llvm 14 2025-10-06 00:12:31 -04: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
xenobas
61db9c71f6 Fix non infix params with default value exclusion counting 2025-10-05 15:46:02 +01:00
Yhya Ibrahim
89a5e93818 Remove a debug printf that caused regression 2025-10-05 09:56:03 +03:00
xenobas
0158e4009b Fix proc group named operands issue #4971 2025-10-01 18:01:10 +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
a769e341cb Preempt field checking on signature_parameter_similar_enough with a type ptr equality check 2025-09-30 11:50:30 -04:00
gingerBill
4945168e6d Short circuit for #raw_union in signature_parameter_similar_enough 2025-09-30 10:48:05 +01:00
gingerBill
668df4a571 Improve signature_parameter_similar_enough for structs 2025-09-30 10:47:31 +01:00
gingerBill
748b4cdc6b Merge pull request #5729 from harold-b/hb.fix-foreign-signatures
Relax `signature_parameter_similar_enough` on struct params and fix various foreign signatures
2025-09-30 10:41:51 +01:00
gingerBill
51a8660d52 Disallow dynamic-literals withint procedure scopes where context is not defined 2025-09-30 10:24:20 +01:00
Harold Brenes
fc44b10431 Include objc runtime type dependencies only on darwin 2025-09-29 20:38:16 -04:00
Harold Brenes
481deee4ae Fix entity nullptr check 2025-09-29 20:38:16 -04: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
Harold Brenes
c23d30f050 Fix printf format 2025-09-29 19:58:28 -04:00
Harold Brenes
24daa4427c Fix various foreign signatures 2025-09-29 19:58:14 -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
gingerBill
240b2f1819 Disable #raw_union constants for the time being 2025-09-29 12:54:52 +01:00
gingerBill
b711e92968 Add bit cast 2025-09-29 12:27:28 +01:00
gingerBill
89645921e2 Only add packing if the padding is non-zero for a #raw_union constant 2025-09-29 11:00:08 +01:00
gingerBill
e511f07d76 Short circuit for Union{} 2025-09-29 10:45:24 +01:00
gingerBill
0d946268ee Disallow constant access x.y on struct #raw_union 2025-09-29 10:41:35 +01:00
gingerBill
10ba956d6a Rudimentary support for some constant struct #raw_union 2025-09-29 10:28:16 +01:00
gingerBill
1f2cedcf78 Remove debug code 2025-09-29 09:53:04 +01:00
gingerBill
4f442c6045 Rearrange const union initialization so that it is priority 2025-09-29 09:51:23 +01:00
gingerBill
4877214f34 Add more check_is_operand_compound_lit_constant uses 2025-09-28 23:53:07 +01:00
gingerBill
dd15a5bc8e Do not need an extra local copy for the slices 2025-09-28 23:32:37 +01:00