Commit Graph

1138 Commits

Author SHA1 Message Date
gingerBill
27bd72c18a Fix constant indexing within a call that doesn't exist 2026-01-26 19:15:40 +00:00
gingerBill
3586bda6ae Use context.assertion_failure_proc with type assertions when the context is available, otherwise use a trivial trap. 2026-01-26 18:23:29 +00:00
Jeroen van Rijn
cd684ed7a0 Merge pull request #6159 from Barinzaya/fix-const-bitset-contains
Fix `in`/`not_in` on constant `bit_set`s
2026-01-24 14:32:33 +01:00
Jeroen van Rijn
e0ff16f98c Fix #6126
`ExactValue_Compound` wasn't handled properly.
2026-01-24 10:53:38 +01:00
Barinzaya
5e4895e76d Fixed some issues with in and not_in on constant bit_sets.
This addresses two issues:
- With a `bit_set` having no underlying type and a non-zero lower bound,
  `in` and `not_in` were returning incorrect results when done at
  compile-time.
- With a `bit_set` of more than 128 bits, `in` always returns false on
  values that fall within the upper 64 bits.
2026-01-23 16:19:46 -05:00
gingerBill
b0064f38cf Minor rearrange of check_is_operand_compound_lit_constant for future optimization prep 2026-01-22 13:17:54 +00:00
gingerBill
16254ed8fa Merge pull request #6119 from slowhei/master
Fix assertion error when imported proc groups are passed as proc arguments
2026-01-16 09:16:25 +00:00
gingerBill
5f07055ac1 Add #must_tail and "preserve/none" calling convention 2026-01-15 17:28:28 +00:00
gingerBill
0366cd3304 Add #must_tail (similar syntax to #force_inline 2026-01-15 16:32:52 +00:00
gingerBill
0f875727a2 Merge branch 'master' of https://github.com/odin-lang/Odin 2026-01-11 18:54:55 +00:00
gingerBill
5938c783a6 Fix #type not being handled as in normal expressions 2026-01-11 18:54:46 +00:00
ske
3e31055ca7 Fix regression in #6118 2026-01-10 10:46:53 -03:00
Tohei Ichikawa
bf7c92bf09 Fix assertion error when imported proc groups are passed as proc arguments 2026-01-10 03:05:04 -05:00
ske
91c1950b9f Fix constant conversion checks (#6104) 2026-01-07 02:19:41 -03:00
Harold Brenes
ef33e55182 Fix auto objc_msgSend incorrectly treating certain class methods as instance methods. 2025-12-29 15:31:12 -05:00
gingerBill
c5a54a0e52 Do naive compound literal comparison for $ parameters to parapoly procedures 2025-12-15 10:41:50 +00:00
gingerBill
aed11c4619 Remove debug string 2025-12-15 10:19:59 +00:00
gingerBill
ae314a4c6b Propagate array arithmetic fix 2025-12-15 09:43:29 +00:00
gingerBill
56876e32da Present constant array arithmetic error correctly 2025-12-15 09:42:08 +00:00
gingerBill
79ef9f0a43 Fix #6003 2025-12-09 12:47:49 +00:00
gingerBill
4ce01854d5 Improve error positioning for #all_or_none 2025-11-06 09:37:16 +00:00
gingerBill
593d2e6daa Add #all_or_none 2025-11-05 13:30:40 +00:00
gingerBill
d8f26720bb Improve error handling for #5506 2025-11-02 15:27:33 +00:00
gingerBill
ee36f6fe33 Fix #5506 2025-11-02 15:21:12 +00:00
gingerBill
7e7b6ac0de Add short-circuit for check_cast_internal 2025-10-10 14:37:18 +01:00
gingerBill
7e64dedb77 Fix #5778 2025-10-10 14:31:41 +01: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
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
gingerBill
51a8660d52 Disallow dynamic-literals withint procedure scopes where context is not defined 2025-09-30 10:24:20 +01: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
53f4fc1cbb Add -para-poly-diagnostics 2025-09-29 14:03:32 +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
4877214f34 Add more check_is_operand_compound_lit_constant uses 2025-09-28 23:53:07 +01:00
gingerBill
1df9f1d01d Fix constant union{proc()} 2025-09-28 22:02:25 +01:00
gingerBill
8be18d9a40 Allow for constant []typeid 2025-09-28 21:47:56 +01:00
gingerBill
f743110f63 Correct union type checking for constants 2025-09-28 21:00:36 +01:00
gingerBill
ffdfbfe2c2 Begin to support constant array of unions 2025-09-28 20:20:26 +01:00
gingerBill
a974c51d57 First step towards constant unions 2025-09-28 19:52:52 +01:00
gingerBill
62a03f118e Merge pull request #5689 from slowhei/master
Improve type inferencing of literals when calling proc groups
2025-09-26 14:13:05 +01:00
gingerBill
01c10f3f5e Use RecursiveMutex to fix a race condition with parapoly records 2025-09-26 10:18:46 +01:00
Tohei Ichikawa
6ed9351955 Merge remote-tracking branch 'upstream/master' 2025-09-24 21:09:31 -04:00
gingerBill
31cafda30d Remove unused variable 2025-09-19 12:31:06 +01:00
gingerBill
be1e889abb Remove debug message 2025-09-19 12:29:26 +01:00
gingerBill
6338e0a8a3 Allow unions with one variant to be constant 2025-09-19 11:56:44 +01:00
gingerBill
6ce889f4eb Entity * to std::atomic<Entity *> to remove the need for a PtrMap+Mutex 2025-09-19 11:01:41 +01:00