dev-2022-11
New Language Features
-
Compiler Improvements
- Make
raw_data
an intrinsic rather than a@(builtin)
runtime procedure - Allow
transmute
to be constant for integers of the same internal endianness - Throw type checker error when scalar cast to non-square matrix
- Fix
#defined(I)
- Build script: Detect
which
and complain if not found - Add early LLVM > 14 detection, as LLVM 15 and above are not (yet) supported
- Remove previously deprecated
-opt
flag - Improve SysV ABI LLVM IR generation for development purposes
- Use direct parameter value in
lb_find_ident
when possible - Optimize
#caller_location
and#location
to use read only data section where possible - Ad-hoc pass source code location directly by pointer without stack copy
- Clarify
odin help
for-define
- Add
-minimum-os-version
for Darwin targets, e.g.-minimum-os-version:12.0.0
- Add
-target-features
flag to force extra LLVM options - Add safety check for #2161
New Packages
-
Package Improvements
- Update Darwin release map for
core:sys/info
- Unify
Static_Arena
andGrowing_Arena
intoArena
- Many improvements to
core:mem/virtual
in general - Add and correct various Windows, Darwin, glfw, objC and other bindings
- Allow for
N = -1
inwstring_to_utf8
- Add
core:math/rand.choice
- Heavily improve time handling on Windows for
time.now()
andos.File_Info