dev-2024-09
版本发布时间: 2024-09-02 23:33:25
odin-lang/Odin最新发布版本:dev-2024-09(2024-09-02 23:33:25)
New Language Features
- Add support for linux_riscv64 and freestanding_riscv64
Compiler Improvements
- Support RISC-V for the compiler itself
- Fix crash if referencing import "aliased" in other file
- Added a hint at end of
build.bat
about release mode when building in debug mode - Allow symlink test to work irrespective of git settings
- Use another BSD URL for pkgsrc on CI
- Fix type switching over internal pointer union
- Fix c_vararg bit_set
- Add table-driven (in)definite article to some errors.
- Fix alias handling of procedures
- riscv: add an error when atomics are used without the atomics extension
- Remove extra format item at end of
context
error message - Fix inline transmutation of
[16]i8
toi128
- Fix 'odin [run|test] --' giving a compiler out of bounds
- UL_COMPARE_AND_WAIT_SHARED is macOS 10.15+
- query brew for llvm-config location if possible
New Packages
- Add
vendor:box2d
- Add
core:text/regex
Package Improvements
- Add
sdl2glue
tovendor:wgpu
package - Fix os.read_dir with symlinks
-
os.Error
to replaceos.Errno
-
core:image/common.odin
Fixes - Prevent
SIGPIPE
on Darwin when writing to a closedcore:net
socket - Add
reflect.struct_field_count
that returns the number of fields in a struct type - Fix missing closing brace for Bit_Field in
core:odin/parser
- Fix SIMD intrinsics wording
- Core sys windows rawinput code
- Port
core:net
to FreeBSD - Allow testing for intentional leaks in test runner
- Various
core:encoding/cbor
fixes - Various
core:crypto
improvements - Vectorize
index_byte
- Use
intrinsics.reverse_bits
incore:compress/zlib
- Fix
type_info_union_is_pure_maybe
only working with regular pointers - Add support for field tags on bit_field fields to
core:odin
- Loop
os.write_entire_file
to write more than MAX_RW - [fmt] Add bit fields to the pointer printing logic
- Fix
os.read_dir
closing the given file descriptor - Fix type hint propagation for shift
- Let memory failures be errors in the test runner
- Check if procedure parameter type declares polymorphic args
-
vendor:x11
: Added a few procedures for xrandr, xinput, and xFixes -
vendor:egl
: Added a few more egl procedures and constants -
core:time
WASI implementation -
core:sys/linux
: Add binding to ioctl syscall + standard fd constants. - Update mem doc example formatting
- Error if assigning to
rodata
variable with index - Report error when a variadic procedure parameter has a default value
-
core:sys/posix
andcore:os/os2
based on it (for darwin, netbsd, freebsd and openbsd) - Fix error handling in os2.read_entire_file_from_file()
- add shm_open and shm_unlink syscalls for darwin
- More Foundation bindings.
- Add autogenerated orca bindings and macros from laytan
- os2 process linux implementation
- Improve benchmarks.
- Check if file open-mode is
O_CREATE
on Darwin before forcing chmod - Fix
open
bindings - Fix log unnecessary allocations
- (raygui) Restores vertical text alignment broken after 4.0 migration
- Implement
lshrti3
on wasm - Add
core:math.count_digits_of_base
- Remove deprecated
log
procs fromcore:testing
- Fix SIMD var typo
- Fix wiki link in the
README.md
- Add support for Linux on os/sys/posix termios.
- A couple of foundation binding. Vet tabs.
- core:sys/linux - implement clock_settime, clock_getres and clock_nanosleep
- os2: process API for Darwin and most of it for BSDs
- orca: implement
core:time
andcore:log
- Fix ambiguous generic type names
- Added missing slice advancing.
- Fix binding: Make
rl.LoadImageAnim
take a pointer instead of a multi-pointer. - Fix
core:reflect/iterator.odin
- Fix binding to cmark_node_get_fence_info
- Fix win32 dwmapi DWMWINDOWATTRIBUTE enum.
- os2: propagate errors from execv
- Free the arenas allocated in
test_core_runtime
- Fix use-after-free in
thread.Pool
- Fix error for uuid to require 36 bytes instead 32 (4 bytes for dashes)
- Fix
-vet
and-strict-style
failures in tests - [os2/process]: Don't free process info fields in partial success scenarios
- Add API for freeing
thread_local
state - wgpu: update to v22.1.0.1
- Delay lexical checking for foreign blocks that are in file scope
- -vet -strict-style -disallow-do in tests
- Win32 clipboard procedures
- os2: disable custom heap allocator
- mem/virtual: use
sysconf
for retrieving page size and actually use these init procs - mem/virtual: make sure the given size is used for subsequent blocks
- Add missing lexer checking delay for foreign blocks
- Add
core:io
test suite - Add a file tag parser to core:odin/parser
- Fix some issues with the "bad import name" errors
- Add math.remap_clamped, which clamps the result in range [new_min, new_max]
1、 odin-macos-amd64-dev-2024-09.zip 110.23MB
2、 odin-macos-arm64-dev-2024-09.zip 102.76MB
3、 odin-ubuntu-amd64-dev-2024-09.zip 52.42MB
4、 odin-windows-amd64-dev-2024-09.zip 133.22MB