| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Add `preserve/most` and `preserve/all`bill/must-tail | gingerBill | 2026-01-15 | 1 | -0/+4 |
| | | |||||
| * | Add `#must_tail` and `"preserve/none"` calling convention | gingerBill | 2026-01-15 | 1 | -0/+2 |
| | | |||||
| * | Add `#must_tail` (similar syntax to `#force_inline` | gingerBill | 2026-01-15 | 1 | -3/+10 |
| | | |||||
| * | Add `#all_or_none` | gingerBill | 2025-11-05 | 1 | -0/+1 |
| | | |||||
| * | Automatically emit objc_msgSend calls when calling imported or implemented ↵ | Harold Brenes | 2025-09-29 | 1 | -1/+2 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 | ||||
| * | Begin to support constant array of unions | gingerBill | 2025-09-28 | 1 | -0/+18 |
| | | |||||
| * | Minimize mutex usage when in single threaded mode. | gingerBill | 2025-09-10 | 1 | -0/+1 |
| | | |||||
| * | `#unroll(N) for` | gingerBill | 2025-01-10 | 1 | -0/+1 |
| | | |||||
| * | Add `#+feature dynamic-literals` | gingerBill | 2025-01-05 | 1 | -0/+2 |
| | | |||||
| * | `#min_field_align` & `#max_field_align`; deprecate `#field_align` in favour ↵ | gingerBill | 2024-09-30 | 1 | -1/+2 |
| | | | | | of `#min_field_align` | ||||
| * | checker: delay foreign block checking | avanspector | 2024-08-26 | 1 | -0/+1 |
| | | | | | if file scope, otherwise as before | ||||
| * | Improve `parse_enforce_tabs` usage | gingerBill | 2024-08-24 | 1 | -1/+4 |
| | | |||||
| * | Manually implement tail-recursion for `parse_if_stmt` | gingerBill | 2024-08-24 | 1 | -2/+0 |
| | | |||||
| * | Add a recursion depth limit for #3987 with a consideration to use a `switch` ↵ | gingerBill | 2024-08-24 | 1 | -0/+2 |
| | | | | | statement or refactor the code to not use a large if-else chain | ||||
| * | Remove need for `BlockingMutex` in `Arena` | gingerBill | 2024-07-15 | 1 | -3/+1 |
| | | |||||
| * | Imply `#no_capture` to all variadic parameters | gingerBill | 2024-07-14 | 1 | -2/+3 |
| | | |||||
| * | Add `#no_capture args: ..T` to reuse the backing array stack memory | gingerBill | 2024-07-14 | 1 | -2/+6 |
| | | |||||
| * | Cache files, env, and args | gingerBill | 2024-07-09 | 1 | -0/+4 |
| | | |||||
| * | Remove `*_test.odin`; always compile it for all targets | gingerBill | 2024-07-04 | 1 | -1/+0 |
| | | |||||
| * | Add `intrinsics.procedure_of` | gingerBill | 2024-06-10 | 1 | -0/+1 |
| | | | | | | | | | ```odin foo :: proc(x: $T) { fmt.println(x) } bar :: intrinsics.procedure_of(foo(int(123))) // parameters are never ran at compile time, similar to `size_of` bar(333) // prints 333 ``` | ||||
| * | Delay checking foreign import paths until after global scope is checked | gingerBill | 2024-05-28 | 1 | -0/+1 |
| | | |||||
| * | Begin moving `foreign import` import paths to be evaluated in the semantic ↵ | gingerBill | 2024-05-27 | 1 | -1/+1 |
| | | | | | phase rather than parsing. | ||||
| * | Add `#no_broadcast` procedure parameter to disallow automatic array ↵ | gingerBill | 2024-03-21 | 1 | -1/+2 |
| | | | | | programming broadcasting on procedure arguments | ||||
| * | Add `#row_major matrix[R, C]T` | gingerBill | 2024-03-19 | 1 | -0/+1 |
| | | | | | | As well as `#column_major matrix[R, C]T` as an alias for just `matrix[R, C]T`. This is because some libraries require a row_major internal layout but still want to be used with row or major oriented vectors. | ||||
| * | Fix #3284 | gingerBill | 2024-03-16 | 1 | -0/+2 |
| | | |||||
| * | Add field tags to `bit_field` | gingerBill | 2024-02-22 | 1 | -0/+1 |
| | | |||||
| * | Add general support for `bit_field`s | gingerBill | 2024-02-22 | 1 | -0/+1 |
| | | |||||
| * | Begin work adding `bit_field` | gingerBill | 2024-02-22 | 1 | -0/+15 |
| | | |||||
| * | Add `#field_align(N)` | gingerBill | 2024-01-28 | 1 | -0/+1 |
| | | | | | | It sets the minimum alignment for the fields within a struct. This cannot be used with `#packed`, but can be used with `#align(N)`. If `#align(N)` is less than `#field_align(N)`, then a warning will be printed. | ||||
| * | Add frontend stuff instrumentation tooling | gingerBill | 2024-01-07 | 1 | -0/+2 |
| | | | | | | | | //+no-instrumentation @(no_instrumentation) @(instrumentation_enter) @(instrumentation_exit) | ||||
| * | Add `or_break` and `or_continue` constructs | gingerBill | 2023-09-30 | 1 | -0/+1 |
| | | |||||
| * | Add `sanitize_address` attribute to all normal packages | gingerBill | 2023-09-21 | 1 | -0/+1 |
| | | |||||
| * | Add attribute `@(require) import "foo"` to replace/supplement `_ :: foo` | gingerBill | 2023-08-22 | 1 | -0/+1 |
| | | |||||
| * | Disallow `import` declarations within a `when` statement | gingerBill | 2023-08-04 | 1 | -0/+1 |
| | | |||||
| * | Add separate `-vet` flags; `-vet-using-*` flags; `//+vet` file flags | gingerBill | 2023-07-31 | 1 | -0/+2 |
| | | |||||
| * | Fix line error printing for error messages | gingerBill | 2023-06-19 | 1 | -2/+2 |
| | | |||||
| * | Basic support for new procedure code (non-polymorphic, non-proc-group) | gingerBill | 2023-06-15 | 1 | -0/+6 |
| | | |||||
| * | Basic support for `#reverse for in` on normal arrays | gingerBill | 2023-05-29 | 1 | -0/+1 |
| | | |||||
| * | Minor change to handling of propagation of errors with `---` as a value | gingerBill | 2023-05-22 | 1 | -1/+1 |
| | | |||||
| * | Add `intrinsics.type_merge` | gingerBill | 2023-05-19 | 1 | -0/+9 |
| | | |||||
| * | Add `struct #no_copy` | gingerBill | 2023-04-15 | 1 | -0/+1 |
| | | |||||
| * | Fix potential race condition when determining the package name | gingerBill | 2023-01-16 | 1 | -0/+1 |
| | | |||||
| * | Remove `auto_cast` procedure field flag | gingerBill | 2023-01-16 | 1 | -2/+2 |
| | | | | | Fixes #2285 | ||||
| * | Replace all queues with MPSCQueue where possible | gingerBill | 2023-01-12 | 1 | -0/+1 |
| | | |||||
| * | General improves to `alloc_ast_node` and other unnecessary checks | gingerBill | 2023-01-03 | 1 | -3/+2 |
| | | |||||
| * | Use a package local mutex for `add_type_and_value` | gingerBill | 2023-01-02 | 1 | -0/+1 |
| | | |||||
| * | Remove need the MPMC in single threaded case | gingerBill | 2022-12-22 | 1 | -3/+2 |
| | | |||||
| * | Clean up mutex usage in the parser | gingerBill | 2022-12-22 | 1 | -22/+29 |
| | | |||||
| * | Add minor comment | gingerBill | 2022-12-22 | 1 | -2/+2 |
| | | |||||
| * | Revert "Change `tav` to be a pointer internally" | gingerBill | 2022-12-22 | 1 | -5/+2 |
| | | | | | This reverts commit e98f1a28e68e82753728f58b3465793192b74f9d. | ||||