Commit Graph

14466 Commits

Author SHA1 Message Date
Jeroen van Rijn 9681d88cd3 Fix #5107
Fixes #5107 by checking whether `result_count` is non-zero before indexing `type->Proc.results->Tuple.variables`.
2025-05-03 14:42:20 +02:00
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