New Language Features
-
Compiler Improvements
- Make
raw_dataan intrinsic rather than a@(builtin)runtime procedure - Allow
transmuteto 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
whichand complain if not found - Add early LLVM > 14 detection, as LLVM 15 and above are not (yet) supported
- Remove previously deprecated
-optflag - Improve SysV ABI LLVM IR generation for development purposes
- Use direct parameter value in
lb_find_identwhen possible - Optimize
#caller_locationand#locationto use read only data section where possible - Ad-hoc pass source code location directly by pointer without stack copy
- Clarify
odin helpfor-define - Add
-minimum-os-versionfor Darwin targets, e.g.-minimum-os-version:12.0.0 - Add
-target-featuresflag to force extra LLVM options - Add safety check for #2161
New Packages
-
Package Improvements
- Update Darwin release map for
core:sys/info - Unify
Static_ArenaandGrowing_ArenaintoArena - Many improvements to
core:mem/virtualin general - Add and correct various Windows, Darwin, glfw, objC and other bindings
- Allow for
N = -1inwstring_to_utf8 - Add
core:math/rand.choice - Heavily improve time handling on Windows for
time.now()andos.File_Info