| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Perform type kind check before making use relevant fields in objc_superclass ↵ | Harold Brenes | 2025-10-08 | 1 | -5/+5 |
| | | | | | check | ||||
| * | Merge pull request #5727 from harold-b/hb.intrinsics.objc_super | gingerBill | 2025-10-05 | 1 | -42/+80 |
| |\ | | | | | Add intrinsics.objc_super and Automatically emit objc_msgSend calls | ||||
| | * | Automatically emit objc_msgSend calls when calling imported or implemented ↵ | Harold Brenes | 2025-09-29 | 1 | -42/+80 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 | ||||
| * | | Preempt field checking on `signature_parameter_similar_enough` with a type ↵ | Harold Brenes | 2025-09-30 | 1 | -2/+7 |
| | | | | | | | | | ptr equality check | ||||
| * | | Short circuit for `#raw_union` in `signature_parameter_similar_enough` | gingerBill | 2025-09-30 | 1 | -0/+3 |
| | | | |||||
| * | | Improve `signature_parameter_similar_enough` for structs | gingerBill | 2025-09-30 | 1 | -2/+32 |
| | | | |||||
| * | | Fix various foreign signatures | Harold Brenes | 2025-09-29 | 1 | -0/+6 |
| |/ | |||||
| * | Allow for constant `[]typeid` | gingerBill | 2025-09-28 | 1 | -0/+21 |
| | | |||||
| * | Allow unions with one variant to be constant | gingerBill | 2025-09-19 | 1 | -1/+1 |
| | | |||||
| * | `Entity *` to `std::atomic<Entity *>` to remove the need for a PtrMap+Mutex | gingerBill | 2025-09-19 | 1 | -4/+4 |
| | | |||||
| * | Minimize mutex usage when in single threaded mode. | gingerBill | 2025-09-10 | 1 | -1/+1 |
| | | |||||
| * | Minor mutex rearrangement | gingerBill | 2025-09-10 | 1 | -2/+2 |
| | | |||||
| * | Use macro instead of a C++ iterator - for speed | gingerBill | 2025-09-10 | 1 | -1/+1 |
| | | | | | C++ iterators are bad. | ||||
| * | Minimize more thread contention | gingerBill | 2025-09-10 | 1 | -2/+2 |
| | | |||||
| * | Add `@(raddbg_type_view=<optional-string>)` | gingerBill | 2025-08-21 | 1 | -0/+7 |
| | | | | | | If no string parameter is provided, then one will be generated from the struct field tags. The attribute must be applied if the automatic struct field tag approach is to be used. | ||||
| * | Add `#+feature global-context` | gingerBill | 2025-08-10 | 1 | -1/+6 |
| | | | | | This allows to use of `context` in the global scope on a per file basis. | ||||
| * | Disallow `proc "odin"` procedures to be called in the global scope in ↵ | gingerBill | 2025-08-08 | 1 | -0/+6 |
| | | | | | variable declarations | ||||
| * | Add `string16` and `cstring16` (UTF-16 based strings) | gingerBill | 2025-08-02 | 1 | -0/+6 |
| | | |||||
| * | Remove the semantics of `#no_copy`, keep the grammar | gingerBill | 2025-07-30 | 1 | -7/+0 |
| | | |||||
| * | Allow objective-c procedures to have their `@objc_name` attribute inferred. | Harold Brenes | 2025-07-16 | 1 | -94/+102 |
| | | | | | | | The `@objc_name` is automatically inferred if it is not specified and the procedure name is prefixed with type name specified in `@objc_type`, followed by an `_`. What followed the `_` is interpreted as the `@objc_name`. | ||||
| * | Forbid nested declaration of instrumentation procedures | Feoramund | 2025-06-23 | 1 | -0/+6 |
| | | | | | Fixes #3774 | ||||
| * | Fix spurious failure to compile procedures marked `@instrumentation_enter` | Feoramund | 2025-06-23 | 1 | -0/+1 |
| | | | | | | The type `Source_Code_Location` may not be available yet, which causes the compiler to not recognize the procedure type correctly. | ||||
| * | Add `@(no_sanitize_memory)` proc attribute with MSan additions to ↵ | Feoramund | 2025-06-05 | 1 | -0/+1 |
| | | | | | `base:sanitizer` | ||||
| * | Merge pull request #5064 from harold-b/hb/objc-classes | gingerBill | 2025-05-08 | 1 | -36/+177 |
| |\ | | | | | Add support for Objective-C class implementation | ||||
| | * | Resolve other TODOs | Harold Brenes | 2025-05-03 | 1 | -87/+86 |
| | | | |||||
| | * | Remove some TODO. Leave important note | Harold Brenes | 2025-05-03 | 1 | -0/+4 |
| | | | |||||
| | * | Move unconditionally exporting Objective-C methods to the right location | Harold Brenes | 2025-05-03 | 1 | -1/+13 |
| | | | |||||
| | * | Fix checker errors. | Harold Brenes | 2025-05-03 | 1 | -15/+15 |
| | | | |||||
| | * | Prevent multiple uses of the same Objective-C class name | Harold Brenes | 2025-05-03 | 1 | -0/+9 |
| | | | |||||
| | * | Implement all checker specification for Objective-C class implementations ↵ | Harold Brenes | 2025-05-03 | 1 | -9/+33 |
| | | | | | | | | | and `objc_ivar_get` intrinsic | ||||
| | * | Cleanup ivar generation for selector expressions. | Harold Brenes | 2025-04-30 | 1 | -1/+1 |
| | | | | | | | | | Cleanup ObjC superclass resolution. | ||||
| | * | Better Objective-C object superclass cycle check | Harold Brenes | 2025-04-30 | 1 | -36/+34 |
| | | | |||||
| | * | Fix indentations | Harold Brenes | 2025-04-27 | 1 | -87/+87 |
| | | | | | | | | | Fix Objective-C wrapper procs not forwarding return value | ||||
| | * | Add support for Objective-C method implementation with Odin calling convention. | Harold Brenes | 2025-04-23 | 1 | -22/+44 |
| | | | | | | | | | Use @objc_context_provider to provide a context for a type. | ||||
| | * | Add initial support for Objective-C class implementation | Harold Brenes | 2025-04-20 | 1 | -0/+73 |
| | | | |||||
| * | | Add attribute @(no_sanitize_address) | Lucas Perlind | 2025-05-01 | 1 | -0/+1 |
| |/ | | | | | | | | | | | The purposes of this attribute is to let procedures opt-out of being instrumented with asan. Typically an allocator that includes 'in-band' meta-data will be accessing poisoned values (such as tlsf). Making asan work with these allocators becomes very challenging so just being to ignore asan within specific allocator procedures makes it easier to reason and removes the need to temporarily poison and unpoison allocator data. | ||||
| * | fix not resolving to alias in a recursive declaration | Laytan | 2025-04-16 | 1 | -1/+5 |
| | | |||||
| * | Fix #4975dev-2025-04 | gingerBill | 2025-04-03 | 1 | -0/+4 |
| | | |||||
| * | Use `TypeSet` for DeclInfo deps | gingerBill | 2025-02-18 | 1 | -2/+2 |
| | | |||||
| * | Work on making name mangling deterministic | gingerBill | 2025-02-17 | 1 | -0/+6 |
| | | |||||
| * | Remove debug code | gingerBill | 2025-02-05 | 1 | -1/+1 |
| | | |||||
| * | `@(export) foreign import` to be package scope level | gingerBill | 2025-01-30 | 1 | -1/+2 |
| | | |||||
| * | fix grammar in error message | jason | 2025-01-21 | 1 | -1/+1 |
| | | |||||
| * | Merge pull request #4608 from zen3ger/assignment-of-non-specialized-parapoly | gingerBill | 2025-01-01 | 1 | -4/+6 |
| |\ | | | | | Fix crash on assignment of parapoly proc to variable | ||||
| | * | Fix crash on assignment of parapoly proc to variable | Roland Kovacs | 2024-12-22 | 1 | -4/+6 |
| | | | |||||
| * | | Support multiple paths for wasm in `foreign import` | gingerBill | 2025-01-01 | 1 | -46/+42 |
| |/ | |||||
| * | Fix #4390 by assigning invalid entity type | Misomosi | 2024-10-20 | 1 | -3/+4 |
| | | |||||
| * | Fix #4330 | gingerBill | 2024-10-02 | 1 | -0/+4 |
| | | |||||
| * | make c vararg with any vs concrete type similar enough | Laytan | 2024-09-04 | 1 | -0/+24 |
| | | |||||
| * | fix `open` bindings | Laytan Laats | 2024-08-16 | 1 | -0/+15 |
| | | | | | | | | | | | `open` specifies the `mode` argument as vararg (presumably to make it optional). varargs actually have rules about casting, in this case the rule that any integer arg of size <= 4 has to be casted to `i32` before passing it. Not doing that implicit cast makes the permissions wrong or not apply at all. | ||||