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
Yhya Ibrahim
89a5e93818
Remove a debug printf that caused regression
2025-10-05 09:56:03 +03: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
Tohei Ichikawa
5e71ba4456
Remove an outdated TODO
2025-09-16 10:57:54 -04:00
Tohei Ichikawa
403ca2fb2e
Improve type inferencing of literals when calling proc groups
2025-09-15 20:40:20 -04:00
gingerBill
5ea2e1fe60
Minimize mutex usage when in single threaded mode.
2025-09-10 21:41:52 +01:00
gingerBill
549edcc0f9
Use a RwMutex instead of BlockingMutex
2025-09-10 21:00:43 +01:00
gingerBill
34e3d30780
More thread contention removal
2025-09-10 20:51:52 +01:00
gingerBill
bc36ea4170
Use macro instead of a C++ iterator - for speed
...
C++ iterators are bad.
2025-09-10 20:11:36 +01:00
gingerBill
1c648126c7
Move more from heap_allocator() to temporary_allocator()
2025-09-10 19:47:29 +01:00
gingerBill
a36a8722dc
Minimize more thread contention
2025-09-10 19:30:32 +01:00
gingerBill
21b1173076
Minor clean up of permanent/temporary arena usage
2025-09-10 18:20:20 +01:00
gingerBill
9abc3f67b5
Fix constant procedure parameters when passing literals
2025-09-09 10:36:22 +01:00
smoke-y
906eddd1d4
formatting
2025-09-05 21:28:00 +05:30
smoke-y
5161731ce0
proc at type lvl seg fault
2025-09-05 11:27:28 +05:30
A1029384756
3074146784
skip errors on polymorphic procs when in a proc group with other options
2025-08-28 11:30:47 -04:00
gingerBill
409e397566
Fix bug with $fn: proc() when passed with a global variable
2025-08-18 21:47:09 +01:00
gingerBill
8df69c95c3
Add -integer-division-by-zero:all-bits
2025-08-10 18:29:08 +01:00
gingerBill
1524b40bc9
Merge pull request #5556 from odin-lang/bill/division-by-zero
...
Define Integer Division By Zero
2025-08-10 14:48:33 +01:00
gingerBill
a0ff05e633
Merge pull request #5558 from odin-lang/bill/init-fini-changes
...
`@(init)` & `@(finit)` Changes.
2025-08-10 12:47:15 +01:00
janga-perlind
5db6ea8354
Do not check for explicit allocators when determining proc in proc group
2025-08-09 12:37:15 +10:00
gingerBill
786d454443
Merge pull request #5559 from Creativty/variable_dereference_suggestion
...
Improve dereference missing suggestion message
2025-08-08 15:34:45 +01:00
xenobas
443dd566e3
Add a better suggestion for cases that don't need ^ operator
2025-08-08 14:40:43 +01:00
gingerBill
06e48099ca
Improve error message
2025-08-08 12:23:22 +01:00
gingerBill
ee01643229
Add -integer-division-by-zero:self
2025-08-08 10:41:05 +01:00
gingerBill
991883d0e1
Add #+feature integer-division-by-zero:<string>
2025-08-08 10:24:44 +01:00
gingerBill
e4a0228a80
Define the behaviour of integer division by zero
2025-08-08 10:00:11 +01:00
gingerBill
eae43f1225
Merge branch 'master' into bill/utf16-strings
2025-08-05 15:07:06 +01:00
gingerBill
c910b5e583
Add intrinsics.type_is_nearly_simple_compare
2025-08-04 12:13:30 +01: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
gingerBill
7057fc8dfc
Remove the semantics of #no_copy, keep the grammar
2025-07-30 23:14:29 +01:00