Commit Graph

14465 Commits

Author SHA1 Message Date
Jeroen van Rijn
30c6fea9e9 Allow polymorphic #simd array as return type 2025-05-02 15:38:43 +02:00
gingerBill
19fe75f020 Merge pull request #5098 from laytan/fix-nan-comparisons
fix variable NaN comparisons
2025-05-02 13:00:42 +01:00
Jeroen van Rijn
7027d37596 Merge pull request #5103 from jasonKercher/better-box2d-build
Make build_box2d.sh more flexible
2025-05-02 04:57:58 +02:00
jason
87f5b96fcc Make build_box2d.sh more flexible
Removed the `odin root` call.
Seperated the clean rule in wasm.Makefile to enable parallel builds.
2025-05-01 22:42:32 -04:00
gingerBill
777c33a9a1 Merge pull request #5102 from Lperlind/attribute-no-sanitize-address
Add attribute @(no_sanitize_address)
2025-05-01 12:16:10 +01:00
Lucas Perlind
5c73b4ef58 Add attribute @(no_sanitize_address)
The purposes of this attribute is to let procedures opt-out of being
instrumented with asan. Typically an allocator that includes 'in-band'
meta-data will be accessing poisoned values (such as tlsf).

Making asan work with these allocators becomes very challenging so
just being to ignore asan within specific allocator procedures
makes it easier to reason and removes the need to temporarily
poison and unpoison allocator data.
2025-05-01 20:42:21 +10:00
Jeroen van Rijn
2d8ae2d23c Merge pull request #5100 from herohiralal/patch-1
Convention-related changes in `file_windows.odin`
2025-04-30 22:27:59 +02:00
Rohan Jadav
f50698b901 updated file_windows.odin to follow coding conventions 2025-05-01 00:56:31 +05:30
Laytan
dd0b8d5757 Merge pull request #5099 from laytan/add-alias-issue-tests-to-ci
adds the cases of #5043 and #5097 to the CI
2025-04-30 20:20:43 +02:00
Laytan Laats
d2f8cb1306 adds the cases of #5043 and #5097 to the CI 2025-04-30 20:13:21 +02:00
Laytan Laats
396a18efce fix variable NaN comparisons 2025-04-30 20:04:24 +02:00
Laytan
c74f777b1b Merge pull request #5097 from laytan/fix-pointer-alias-type-check
fixes assigning null as a type if it's an alias but the base type is null
2025-04-30 19:54:48 +02:00
Laytan Laats
9fb9382449 fixes assigning null as a type if it's an alias but the base type isn't resolved yet
It's a bit of a band aid fix because the field will get the type of the
alias, not the base type, but that was already the case before #5045 so
it's forward progression.

Closes #5092
Fixes #5061
2025-04-30 19:39:38 +02:00
gingerBill
e64bcc7709 Merge pull request #5088 from leecommamichael/master
vendor:wasm/WebGL: Fix incorrect parameter types
2025-04-30 13:24:00 +01:00
Jeroen van Rijn
b04a83ce9f Merge pull request #5096 from jdennis9/master
os2: Fix reading directory on Windows sometimes failing to decode a file name following one with exotic unicode characters
2025-04-30 12:10:09 +02:00
Jamie Dennis
ff0eac2a71 os2: Use win32_wstring_to_utf8 over win32_utf16_to_utf8 when converting FIND_DATAW to File_Info 2025-04-30 21:38:17 +12:00
Michael Lee
757ae5e270 Merge branch 'odin-lang:master' into master 2025-04-29 17:11:10 -05:00
gingerBill
0de802d388 All N-valued (N>=2) expressions in or_else expressions 2025-04-29 17:39:28 +01:00
Michael Lee
9c5fa073df Update webgl.odin 2025-04-29 10:52:11 -05:00
Jeroen van Rijn
7c294a6e55 Merge pull request #5090 from Barinzaya/cbor-fix-unmarshal-slice-overflow
Fixed CBOR Slice Overflow
2025-04-29 14:34:16 +02:00
Barinzaya
3f5e09a0df Fixed an overflow when decoding a large CBOR slice.
The initial allocation for the slice is limited to prevent untrusted
data from forcing a huge allocation, but then the dynamic array was
created with a capacity of the unlimited length, rather than the actual
capacity of the allocation. This was causing a buffer overrun.
2025-04-29 08:19:43 -04:00
gingerBill
03dcff59e8 Merge pull request #5089 from Lperlind/asan-docs
Document base:sanitizer
2025-04-29 13:19:00 +01:00
Lucas Perlind
4763da4b0d Document base:sanitizer 2025-04-29 19:06:09 +10:00
Michael Lee
808eec8e23 Fix incorrect parameter types 2025-04-28 20:24:41 -05:00
Jeroen van Rijn
4f00224dd2 Add cbor.unmarshal_from_bytes taking a []byte 2025-04-29 01:10:15 +02:00
Jeroen van Rijn
8c47d42394 Fix lru.remove 2025-04-29 00:14:46 +02:00
Jeroen van Rijn
26f1cb493e Merge pull request #5087 from elyalon/typo
Fix typo in private function
2025-04-28 21:25:10 +02:00
Ely Alon
13566306d2 Fix typo in private function 2025-04-28 22:03:20 +03:00
Jeroen van Rijn
d463aba7d1 Warn if someone imports the same case-folded path twice 2025-04-27 14:32:26 +02:00
Jeroen van Rijn
7d4c3d23e6 Merge pull request #5079 from herohiralal/master
Pipe size on windows.
2025-04-26 23:05:16 +02:00
Rohan Jadav
80a6f8928a fix: Pipe size on windows. 2025-04-27 01:58:37 +05:30
Laytan Laats
6c1a3c4f0c box2d: fix World_CollideMover 2025-04-25 18:24:41 +02:00
gingerBill
f3cc734b39 Add copy_directory 2025-04-25 09:01:53 +01:00
gingerBill
b5c658a2cf Merge pull request #5069 from laytan/box2d-3.1.0
box2d: update to 3.1.0
2025-04-25 08:26:43 +01:00
gingerBill
9f30380712 Merge pull request #5072 from Lperlind/asan
Add more asan support to the odin runtime and begin sanitizing allocators
2025-04-25 08:24:18 +01:00
gingerBill
b83809779b Merge pull request #5075 from Barinzaya/global-var-alignment
Fix Global/Static Variable Alignment
2025-04-25 08:23:48 +01:00
Barinzaya
9284ebb5e8 Add missing cast to global/static var alignments. 2025-04-24 14:35:00 -04:00
Barinzaya
b41a776027 Correctly align global and static variables.
This can be important if matrices or SIMD vectors are being used in
global or static variables, as otherwise it may result in crashes due to
aligned instructions accessing misaligned variables.
2025-04-24 14:21:21 -04:00
Jeroen van Rijn
cfb478808e Merge pull request #5074 from Barinzaya/time-tick-add
Add `tick_add` proc to `core:time`
2025-04-24 15:28:58 +02:00
Barinzaya
6400693197 Added tick_add proc to core:time. 2025-04-24 09:20:31 -04:00
Lucas Perlind
5e985bcd74 Remove dependency on runtime; Add to examples 2025-04-24 20:34:32 +10:00
Lucas Perlind
5c117bde6d Add base:sanitizer package 2025-04-24 20:28:32 +10:00
Lucas Perlind
7502e7f2bc make asan procs contextless 2025-04-24 19:56:40 +10:00
Lucas Perlind
4a0be1f3a8 make vet happy 2025-04-24 16:02:31 +10:00
Lucas Perlind
ab0b26e876 Add more asan support to the odin runtime and begin sanitizing
allocators

This adds various bindings to the asan runtime which can be used
to poison/unpoison memory handed out by various allocators. This
means we can catch use after free memory bugs when using operations
such as free_all during runtime.

Asan poisoning are added for the follow allocators in mem:
Arena (including temporary arenas)
Scratch
Stack
Small_Stack

Additionally a bug in the stack allocator was fixed to disallow freeing
in the middle of the stack (caught by the asan!).

I plan on adding support for all the allocators in core. This is just
a good starting point and were some of the easiest ones to implement
asan for.
2025-04-24 15:17:51 +10:00
laytan
38f56c0ede box2d: update windows libs to 3.1.0 and call thread.yield in vendor/libc 2025-04-23 16:59:54 +02:00
Laytan Laats
e086151fcd box2d: update to 3.1.0 2025-04-22 22:38:15 +02:00
mtarik34b
c7f9d2b1b7 Correctly capitalize 'E' for the %E format specifier (#5065) 2025-04-22 02:35:02 +02:00
Jeroen van Rijn
47f889569f Fix float64_range example 2025-04-21 18:37:57 +02:00
Jeroen van Rijn
ab5ca087a7 Add comment 2025-04-19 23:44:02 +02:00