aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #4893 from Barinzaya/for-bitset-ctzgingerBill2025-03-041-49/+30
|\ | | | | Use CTZ in `for in bit_set` codegen
| * Implemented `#reverse` for `for in bit_set`.Barinzaya2025-03-021-1/+10
| |
| * Re-implemented `for` on `bit_set`s to use CTZ.Barinzaya2025-02-281-50/+22
| | | | | | | | | | | | This solution is both faster at run-time and a simpler implementation than the original solution, which required separate cases for enums and ranges.
* | Merge pull request #4900 from Barinzaya/fix-bitset-xor-changes-enumgingerBill2025-03-031-3/+2
|\ \ | | | | | | Fix `~bit_set[Some_Enum]` altering the enum
| * | Fixed `~` on `bit_set[Some_Enum]` altering the definition of the enum.Barinzaya2025-03-021-3/+2
| |/ | | | | | | | | This was occurring for enums whose minimum values were greater than zero.
* | Merge branch 'master' of https://github.com/odin-lang/OdingingerBill2025-03-011-2/+2
|\ \
| * | fix hidden linkage applied to foreign symbolsLaytan Laats2025-03-011-2/+2
| |/
* / Fix for `-use-single-module`gingerBill2025-03-011-6/+9
|/
* Improve global array index to be on a per module basisgingerBill2025-02-254-22/+20
|
* Make `lb_add_global_generated_from_procedure` not use a global index but ↵gingerBill2025-02-251-6/+2
| | | | local to procedure
* Fix `lb_add_global_generated_with_name`gingerBill2025-02-251-2/+3
|
* Use more predictable object namegingerBill2025-02-253-28/+31
|
* Use more deterministic module namesgingerBill2025-02-252-5/+9
|
* Try to make globally generated variables deterministic in namegingerBill2025-02-255-34/+35
|
* Support `-show-timings` for `odin doc`gingerBill2025-02-241-0/+5
|
* Fix `nullptr` checkgingerBill2025-02-241-0/+3
|
* Fix name canonicalization for doc writergingerBill2025-02-242-1/+20
|
* Use type hash for doc writergingerBill2025-02-242-52/+12
|
* Use more type hashes where possiblegingerBill2025-02-242-7/+24
|
* Canonicalize generated procedures (hasher/equal/map)gingerBill2025-02-243-42/+25
|
* Canonicalize global source code locationsgingerBill2025-02-241-6/+32
|
* More name canonicalization for globalsgingerBill2025-02-241-4/+5
|
* Fix canonicalizationgingerBill2025-02-243-8/+39
|
* Canonicalize generated proceduresgingerBill2025-02-243-27/+17
|
* Fix #4822gingerBill2025-02-241-2/+2
|
* Fix #4819gingerBill2025-02-241-2/+2
|
* Added simd_extract_lsbs intrinsic as well.Barinzaya2025-02-243-3/+10
| | | | | Equivalent to the simd_extract_msbs intrinsic, except it extracts the least significant bit of each element instead.
* Added simd_extract_msbs intrinsic.Barinzaya2025-02-243-0/+60
|
* Improve semicolon checking rules when parsinggingerBill2025-02-241-2/+6
|
* Move temporary array out of `CheckerInfo`gingerBill2025-02-224-20/+24
|
* Minor rearrange for parsing field listsgingerBill2025-02-221-113/+116
|
* Disallow syntax: `proc(x,:T)`gingerBill2025-02-221-0/+3
|
* Improve error message for matrices with no rows or columnsgingerBill2025-02-221-6/+14
|
* Allow indirection for swizzling on procedure parametersgingerBill2025-02-211-0/+5
|
* Merge pull request #4860 from odin-lang/bill/typeid_hash_tablegingerBill2025-02-217-73/+80
|\ | | | | Change `typeid` definition to be based around the canonical type hash
| * Fix typeid size in LLVMgingerBill2025-02-201-1/+1
| |
| * Handle `any` correctly for 32-bit systemsgingerBill2025-02-202-5/+21
| |
| * Fix `typeid` size for 32-bit platformsgingerBill2025-02-201-3/+3
| |
| * Change `typeid` definition to be based around the canonical type hashgingerBill2025-02-205-64/+55
| | | | | | | | | | | | | | | | `typeid` used to be a fancy index with extra metadata stored on it. Now it is direct hash of the type. This is safe to do in practice since any possible collisions are checked at compile time AND the chances of having a 1% collision are around 1 in 600K (see the Birthday Paradox). Therefore accessing a `^Type_Info` is now a hash table lookup with linear probing. The table is twice the size than necessary so prevent too much probing due to an overly dense hash table.
* | Fixed an issue with SIMD vector equality.Barinzaya2025-02-201-1/+10
|/ | | | | | Comparing SIMD vectors with `==` was checking that the mask of elements that matched was not 0, meaning it succeeded if *any* element was equal, rather than if *all* elements were equal.
* Add `cast` backgingerBill2025-02-201-1/+1
|
* Use `PtrMap` temporarilygingerBill2025-02-203-5/+5
|
* Use `TypeSet` instead of `PtrSet<Type *>`gingerBill2025-02-202-38/+4
|
* Improve name canonicalization for some debuggersgingerBill2025-02-201-3/+3
|
* Make debug symbols use the new name canonicalization rulesgingerBill2025-02-202-20/+31
|
* Move docs to the headergingerBill2025-02-192-29/+23
|
* Number fields within procedures with a depth-first numbering systemgingerBill2025-02-193-1/+12
|
* Add to check to fix crashgingerBill2025-02-181-2/+3
|
* Fix for weird builtin typesgingerBill2025-02-181-4/+10
|
* Add offset for nested thingsgingerBill2025-02-181-11/+10
|