Commit Graph

368 Commits

Author SHA1 Message Date
gingerBill
c6772dfd06 Merge branch 'master' into bill/fixed-capacity-dynamic-array 2026-03-15 11:41:01 +00:00
Jeroen van Rijn
27667ce36b iff -> if and only if (⟺) 2026-03-13 11:54:15 +01:00
gingerBill
8e23c58620 Add intrinsics type_fixed_capacity_dynamic_array_len_offset and type_is_fixed_capacity_dynamic_array 2026-03-12 17:39:44 +00:00
gingerBill
c7308d86d4 Fix tests as they are not direct matches to small_array 2026-03-12 17:33:54 +00:00
gingerBill
26eb58b589 Move raw closer to usage 2026-03-12 17:03:07 +00:00
gingerBill
6c61b1d46c Remove loc being passed 2026-03-12 16:59:58 +00:00
gingerBill
fac8471019 Fix typos 2026-03-12 16:59:11 +00:00
gingerBill
6e9d6bfbe5 Fixed tests 2026-03-12 16:55:46 +00:00
gingerBill
6a03cf5d68 Add "remove" procedures to fixed capacity dynamic arrays 2026-03-12 09:40:31 +00:00
gingerBill
535b70b82e Add other @builtin procedures for fixed capacity dynamic arrays 2026-03-12 09:37:27 +00:00
gingerBill
f1dbe9c242 [dynamic; N]T proof of concept: fixed capacity dynamic array (akin to small_array.Small_Array(N, T)) 2026-03-11 16:46:33 +00:00
Jeroen van Rijn
0087d6d62e Add preserve/* to base:runtime
```odin
none :: proc "preserve/none" () {}
most :: proc "preserve/most" () {}
all  :: proc "preserve/all"  () {}

print_cc :: proc(type: any) {
	ti := type_info_of(type.id)
	p := ti.variant.(runtime.Type_Info_Procedure)
	fmt.println(p.convention)
}

main :: proc() {
	print_cc(none)
	print_cc(most)
	print_cc(all)
}
```
2026-03-08 15:05:23 +01:00
Gavin Rohrer
93b1e97402 fix documentation of assign_at 2026-03-07 10:07:15 -05:00
gingerBill
217b4967b0 Improve docs for type_info_underlying 2026-03-04 14:07:24 +00:00
gingerBill
029c96ce22 Separate type_info_core and type_info_underlying 2026-03-04 14:03:24 +00:00
Jeroen van Rijn
ed74233ace Add bit_set to runtime.type_info_core. 2026-03-04 14:55:11 +01:00
gingerBill
2cb8155946 Add missing @(require_results) 2026-03-03 12:27:44 +00:00
gingerBill
a5e1eb56ab Add explicit_underlying: bool RTTI field for bit_set; add runtime.type_info_underlying 2026-03-03 12:26:42 +00:00
gingerBill
30d87a2fd7 Merge pull request #6324 from Faker-09/dynamic_array_move_assert
Small optimization for dynamic arrays
2026-02-24 08:11:34 +00:00
Jeroen van Rijn
ea80eab75a [core:sys/info] Remove @(init) where practical 2026-02-23 23:09:37 +01:00
Shane Shrybman
3fd9c915ed Move assert(a.allocator.procedure != nil) out of the common path into the if check 2026-02-23 12:20:57 -05:00
Shane Shrybman
25fde8a03a For #soa dynamic arrays. Move assert(a.allocator.procedure != nil) out of the common path into the if check 2026-02-23 11:35:16 -05:00
Shane Shrybman
a0c375dd02 A small optimization for dynamic arrays.
Move assert(a.allocator.procedure != nil) out of the common path into the if check
2026-02-23 11:21:07 -05:00
gingerBill
e6a62c4bb0 Minor optimization to map_probe_distance 2026-02-03 12:19:20 +00:00
gingerBill
bb7496a2fc Add intrinsics.count_trailing_ones and intrinsics.count_leading_ones 2026-02-02 14:28:16 +00:00
Jeroen van Rijn
b1122284f1 Fix #6197 2026-01-31 10:19:00 +01:00
gingerBill
07d814d9cf Add struct #simple to force a struct to use simple comparison if all of the fields "nearly simply comparable". 2026-01-29 10:49:26 +00:00
gingerBill
7135bbdd67 Rename try_copy_* to write_* 2026-01-28 11:54:17 +00:00
gingerBill
0d8b1481ea Improve try_copy_* logic 2026-01-28 11:53:40 +00:00
gingerBill
117e74cb8b Fix typo in try_copy_caller_location 2026-01-28 11:43:29 +00:00
gingerBill
b85f29d979 Rename to type_assertion_trap_contextless 2026-01-26 18:31:04 +00:00
gingerBill
96f1069e4a Fix type_assertion_check2* for -no-rtti 2026-01-26 18:29:39 +00:00
gingerBill
3586bda6ae Use context.assertion_failure_proc with type assertions when the context is available, otherwise use a trivial trap. 2026-01-26 18:23:29 +00:00
Laytan
792e6c75ee Merge branch 'master' into nbio 2026-01-13 21:29:41 +01:00
Faker-09
9d72025a0b Remove duplicate assingment of array.allocator = allocator in _make_dynamic_array_len_cap(...) (#6095) 2026-01-13 21:25:17 +01:00
Laytan Laats
d1fa640549 runtime: use alloc_non_zeroed in new_clone; zeroing is not needed 2026-01-11 20:21:25 +01:00
Laytan
40267e3a7a Merge pull request #6024 from blob1807/master
[`base:runtime`] fix `print_i64` using an OOB index when `min(i64)` is given.
2025-12-20 21:18:33 +01:00
Sylphrena
205bead9d2 Add @builtin to missing builtin procedure group procs 2025-12-19 15:57:25 +01:00
Laytan
3567c64d7a Fix spacing in RUNTIME_LINKAGE declaration 2025-12-17 22:56:08 +01:00
gingerBill
51438ed0c0 Redefine RUNTIME_LINKAGE when -no-entry-point is set in certain circumstances. 2025-12-17 10:46:43 +00:00
blob1807
cbe164c596 print_i64 fix getting an OOB index
fixes https://github.com/odin-lang/Odin/issues/6018
2025-12-15 21:00:27 +10:00
DuchGhast
1ed1fefc27 Fix default temp allocator under flow bug 2025-12-08 17:30:52 +00:00
Yawning Angel
ea1f1e275d base/runtime: Add chacha8rand as the default RNG 2025-11-29 16:16:52 +09:00
Yawning Angel
e1ba69ea51 base/runtime: Add rand_bytes and HAS_RAND_BYTES
Having the OS/runtime provide a cryptographic entropy source is the
right thing to do, and we need it to initialize the default random
number generator.
2025-11-29 10:45:53 +09:00
gingerBill
d380b0877d Add intrinsics.type_is_superset_of 2025-11-17 10:03:05 +00:00
gingerBill
fc2cb8fb39 Remove #no_copy 2025-11-05 13:44:14 +00:00
gingerBill
593d2e6daa Add #all_or_none 2025-11-05 13:30:40 +00:00
gingerBill
e5153a937b Merge pull request #5859 from odin-lang/bill/change-license
Change Odin's LICENSE to zlib from BSD 3-clause
2025-11-04 13:53:13 +00:00
thetarnav
72754962ab Use resize_soa instead of resize proc group in soa procs 2025-11-02 14:20:55 +01:00
thetarnav
e364e76f7f Add inject_at_soa and append_nothing_soa procedures 2025-11-02 12:13:11 +01:00