gingerBill
4dceffd049
When parsing an incorrect for loop, remove assert
...
// caused by this:
```
for a
b, c := d()
```
2026-03-30 11:50:59 +01:00
mtarik34b
7de688d893
Use int instead of u64
2026-03-28 02:50:05 +01:00
mtarik34b
2640a18296
Undo rename of cmp_entities_for_printing
2026-03-28 02:26:56 +01:00
mtarik34b
ac17852f36
Add option to show docs in source order within each file
2026-03-28 02:26:39 +01:00
gingerBill
44bf8ba464
Support odin doc core:os style paths
2026-03-27 17:43:06 +00:00
Harold Brenes
e11bbdaa37
Fix issue where 2 when statements which eval to true
...
in a `foreign` block cause the rest of the statements on
the block to go unchecked
2026-03-26 19:53:59 -04:00
gingerBill
25c10c18cc
Remove tilde backend
2026-03-26 11:49:39 +00:00
gingerBill
4697c8837c
Merge pull request #6479 from cuiweixie/fix/llvm-cstring16-u16-multi-ptr-transmute
...
Fix u16 multi-pointer to cstring16 transmute condition in lb_emit_conv
2026-03-26 11:16:49 +00:00
gingerBill
e0f348bf06
Merge pull request #6478 from cuiweixie/fix/llvm-panic-subtype-cast-format
...
Fix GB_PANIC format string in lb_emit_conv invalid subtype cast
2026-03-26 11:16:20 +00:00
Weixie Cui
4e87f47fe3
Fix >= comparison runtime dependencies for string and cstring types
...
Token_GtEq incorrectly added *_gt runtime symbols for cstring, cstring16,
string16, and string comparisons; use the correct *_ge dependencies instead.
2026-03-26 18:21:27 +08:00
Weixie Cui
b16eaea8a8
Fix u16 multi-pointer to cstring16 transmute condition in lb_emit_conv
...
cstring16 uses UTF-16 code units; accept u16 multi-pointers, not u8.
2026-03-26 17:57:18 +08:00
Weixie Cui
a2f1aafed3
Fix GB_PANIC format string in lb_emit_conv invalid subtype cast
...
The panic string passed two type names but only had one %s placeholder.
2026-03-26 17:54:17 +08:00
gingerBill
0fce2da442
Add suggestion when trying to slice an enumerated array
2026-03-25 15:03:37 +00:00
gingerBill
e10257f86a
Fix slicing logic of a FCD array to check if it can be sliced or not
2026-03-25 14:11:22 +00:00
gingerBill
59eaa13625
Fix indexing logic of FCD arrays
2026-03-25 14:10:08 +00:00
gingerBill
e6d7ccad2c
Merge branch 'master' of https://github.com/odin-lang/Odin
2026-03-25 14:08:48 +00:00
gingerBill
a9e81e01aa
Allow addressing of an index expression of an soa slice/dynamic array
2026-03-25 14:08:39 +00:00
gingerBill
e3d4d44ad9
Merge pull request #6413 from Znarf64/master
...
Fix #6407
2026-03-25 12:04:12 +00:00
gingerBill
b178e39f80
Improve error message when trying to pass a parapoly type to value parameter
2026-03-25 11:33:05 +00:00
gingerBill
85eeca2f03
Add missing generic #soa pointers to parapoly handling system
2026-03-25 10:15:58 +00:00
gingerBill
7fbabb491b
Merge pull request #6466 from jakubtomsu/bit-field-intrin
...
Bit field intrinsics and fixes
2026-03-25 09:55:28 +00:00
Harold Brenes
4f6caf19f0
Ensure checking for proc property equality before checking param assignability
2026-03-23 21:15:12 -04:00
Harold Brenes
147542b5cc
Allow pointers to types which have subtype fields at offset 0
...
to be assignable in proc parameters.
```odin
// Virtual interface
IFoo :: struct {
foo: proc( self: ^IFoo ),
}
// Implements IFoo interface
Foo :: struct {
using vt: IFoo,
name: string,
}
// Implement interface via `Foo`
Foo_Impl :: IFoo {
// `self` of type `^Foo` (not `^IFoo`) is now accepted as a valid parameter.
foo = proc( self: ^Foo ) {
...
},
}
```
2026-03-23 20:55:44 -04:00
jakubtomsu
b1d9db7b15
make offset_of(Bit_Field, ...) an error, typo fix
2026-03-23 16:43:11 +01:00
jakubtomsu
a097f3c938
add type_field_bit_offset/size intrinsics
2026-03-23 16:42:30 +01:00
gingerBill
111bee6ecd
Fix scope->elements iteration causing a few bugs in the doc-format
2026-03-19 20:31:01 +00:00
gingerBill
3fb430ceb7
Merge branch 'master' of https://github.com/odin-lang/Odin
2026-03-19 18:50:17 +00:00
gingerBill
e6521ed269
Inline the generic count stuff
2026-03-19 18:50:01 +00:00
Jeroen van Rijn
ea1d97f703
Merge pull request #6448 from SpaceTravelCompany/master
...
fixes Android build
2026-03-19 19:45:33 +01:00
Jeroen van Rijn
c29fd7f872
Merge pull request #6436 from nathanchere/patch-1
...
Update build_odin.sh to support LLVM 22
2026-03-19 19:18:31 +01:00
Yawning Angel
62d78d61fa
src: Allow clang-style +/- for target features
...
This largely works as expected, except that as far as I can tell,
without explicit annotations added to the caller, (or a
`#force_inline`), the LLVM `target-features` function attribute
gets ignored by the inliner under the rationale of `-sse,-avx,-avx2`
is a subset of `+sse,+avx,+avx2`.
With `#force_no_inline` the correct code does get generated, but in
the regression I am trying to fix, the caller gratuitously also uses
SIMD, leading to horrific performance.
2026-03-19 19:25:23 +09:00
Znarf
e0d84ce73a
Merge branch 'odin-lang:master' into master
2026-03-19 00:34:44 +01:00
xfitgd
b965e46d7c
fixes Android build
2026-03-19 08:27:09 +09:00
Nathan Chere
d18eff9a93
Fix LLVMStructType calls deprecated as of LLVM 22
2026-03-18 21:21:00 +01:00
Nathan Chere
c2e42fe455
Remove deprecated LLVMGetGlobalContext calls
2026-03-18 21:11:12 +01:00
Nathan Chere
82d985b458
add LLVM 22 support to optimisation pass pipelines
2026-03-18 20:31:27 +01:00
Nathan Chere
eddc8084f1
update microarch table for LLVM 22
2026-03-18 18:30:39 +01:00
gingerBill
85c05b238e
Handle bit fields separately
2026-03-17 13:50:49 +00:00
gingerBill
d28e19c957
Minor improve to check if the entity was already there
2026-03-17 13:47:02 +00:00
gingerBill
153a522228
Use normal i64 arithmetic instead of big-ints for hot path
2026-03-17 13:34:06 +00:00
gingerBill
46936e0e52
General improvements
2026-03-17 12:55:25 +00:00
gingerBill
e18b15e8f0
Move error-only things to the error scopes
2026-03-17 12:16:44 +00:00
gingerBill
9ad3a23f27
More improvements to performance; AtomicFreelist abstraction
2026-03-17 12:10:49 +00:00
gingerBill
b19e89578f
Improve check_struct_fields performance; use CheckerTypePath free list
2026-03-17 11:42:03 +00:00
gingerBill
04cb889aed
Begin interning ScopeMap strings
2026-03-17 11:04:32 +00:00
gingerBill
d5a78a9cf1
Remove canonical hash shortcut
2026-03-17 09:43:16 +00:00
gingerBill
239b86c566
Fix typos
2026-03-17 09:20:14 +00:00
gingerBill
a8c6ea7c8a
Implement a new StringInterner
2026-03-17 09:18:39 +00:00
gingerBill
f7ede8632f
Minor changes
2026-03-17 08:10:13 +00:00
gingerBill
cb7a87773b
Split keys and slots and allocate them both together
2026-03-16 18:04:25 +00:00