aboutsummaryrefslogtreecommitdiff
path: root/src/types.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Comment out `t->Struct.are_offsets_being_processed.load()`gingerBill13 days1-3/+3
|
* Move `return true;` to after the if checkgingerBill13 days1-2/+2
|
* Make atomic `variant_block_size` and `tag_size` in `TypeUnion`gingerBill13 days1-12/+12
|
* Add `struct #simple` to force a struct to use simple comparison if all of ↵gingerBill2026-01-291-2/+23
| | | | the fields "nearly simply comparable".
* Complete `is_type_simple_compare` `switch` rulesgingerBill2026-01-291-0/+11
|
* Add `#must_tail` and `"preserve/none"` calling conventiongingerBill2026-01-151-33/+5
|
* missed a semicolonMorgan2025-12-011-1/+1
|
* undetected type declaration cycles work-aroundMorgan2025-12-011-0/+3
|
* Add `#all_or_none`gingerBill2025-11-051-3/+5
|
* fixes for 32bit with regards to typeidLaytan2025-11-041-1/+4
|
* Add `intrinsics.constant_(floor|truncate|ceil|round)`gingerBill2025-10-301-0/+9
|
* Set minimum #load(file, type) alignment to 16 bytesJeroen van Rijn2025-10-151-0/+3
|
* Simple compare is also comparableJeroen van Rijn2025-10-111-1/+1
|
* Fix #5786Jeroen van Rijn2025-10-111-1/+1
|
* #5788Jeroen van Rijn2025-10-111-2/+2
|
* Automatically emit objc_msgSend calls when calling imported or implemented ↵Harold Brenes2025-09-291-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Disable `#raw_union` constants for the time beingbill/const-uniongingerBill2025-09-291-1/+2
|
* Rudimentary support for some constant `struct #raw_union`gingerBill2025-09-291-2/+16
|
* Add more `check_is_operand_compound_lit_constant` usesgingerBill2025-09-281-1/+4
|
* Allow for constant `[]typeid`gingerBill2025-09-281-5/+25
|
* Begin to support constant array of unionsgingerBill2025-09-281-1/+21
|
* Fix absolutely random change between `,` and newlinegingerBill2025-09-261-2/+2
|
* Use `RecursiveMutex` to fix a race condition with parapoly recordsgingerBill2025-09-261-2/+4
|
* Use a `RwMutex` instead of `BlockingMutex`gingerBill2025-09-101-8/+5
|
* Remove global `PtrMap<Type *, GenTypesData *>` and store on the `TypeNamed` ↵gingerBill2025-09-101-5/+10
| | | | directly
* Multithread min dep set by removing the set itselfgingerBill2025-09-101-0/+1
|
* Add `nullptr` checks to more type helpers.Jeroen van Rijn2025-09-091-4/+24
|
* Change `is_utf16` field to `encoding` and use an enumgingerBill2025-08-051-0/+2
|
* Merge branch 'master' into bill/utf16-stringsgingerBill2025-08-051-9/+69
|\
| * Fix atomics for tuplesdev-2025-08gingerBill2025-08-051-1/+1
| |
| * Fix possible race condition with struct offsetsgingerBill2025-08-051-8/+12
| |
| * Add `intrinsics.type_is_nearly_simple_compare`gingerBill2025-08-041-0/+56
| |
* | Add `string16` and `cstring16` (UTF-16 based strings)gingerBill2025-08-021-17/+116
|/
* Remove the semantics of `#no_copy`, keep the grammargingerBill2025-07-301-7/+0
|
* Add to `tests/internal`Jeroen van Rijn2025-06-261-1/+0
| | | | Turn repro code into a proper test, and delete superfluous files from Odin root.
* Fix bug where compiler treats uint enums as intsTohei Ichikawa2025-06-241-0/+4
|
* Merge pull request #5378 from laytan/fix-wasm-c-abi-raw-unionsgingerBill2025-06-211-0/+77
|\ | | | | Fix WASM C ABI for raw unions
| * add returnLaytan Laats2025-06-201-0/+1
| |
| * Fix WASM C ABI for raw unionsLaytan Laats2025-06-201-0/+76
| |
* | Merge pull request #5211 from Barinzaya/union-custom-align-tag-sizeLaytan2025-06-201-5/+9
|\ \ | |/ |/| Consider custom `#align` when determining union tag size
| * Change union tag size to account for `#align`.Barinzaya2025-05-241-5/+9
| | | | | | | | | | | | | | | | The prior behavior was adjusting the tag size based on the alignment of the types in the union, even when the union has a custom alignment specified with `#align`. This changes the behavior so that a custom alignment, if specified, takes precedence over the alignment of the types.
* | Add additional nullptr checks in types.cppJeroen van Rijn2025-06-141-9/+43
|/ | | | Ran into a bunch of nullptr problems while reviving an 8-year old Odin problem.
* Merge pull request #5117 from bogwi/bug/5024gingerBill2025-05-091-0/+4
|\ | | | | Bug/5024
| * CHECK 2 donebogwi2025-05-051-0/+4
| | | | | | | | | | | | | | | | Add support for handling generic types in LLVM backend - Updated `lb_type_internal` to return a pointer type for unspecialized generics. - Modified `write_type_to_canonical_string` to handle specialized generics without panicking. - Enhanced `default_type` to return the default type of specialized generics when applicable.
* | Merge pull request #5064 from harold-b/hb/objc-classesgingerBill2025-05-081-0/+34
|\ \ | | | | | | Add support for Objective-C class implementation
| * | Add support for Objective-C method implementation with Odin calling convention.Harold Brenes2025-04-231-0/+23
| | | | | | | | | | | | Use @objc_context_provider to provide a context for a type.
| * | Include the ivar in the Objective-C class unconditionally of it being used ↵Harold Brenes2025-04-221-0/+9
| | | | | | | | | | | | | | | | | | or not. Allow pseudo-fields for ivar access.
| * | Add initial support for Objective-C class implementationHarold Brenes2025-04-201-0/+2
| |/
* / Fix `type_union_tag_offset` when all members are zero sizedJeroen van Rijn2025-05-051-2/+2
|/
* Change hashing rules for float-like types to make `0 == -0`gingerBill2025-04-161-1/+1
|