Changes / improvements
- Disallow multiple
_in a row in digits, e.g.1__000. - Added
@linkattribute. - New 'linker' build option.
- "linker" project setting updated, "system-linker" removed.
Fixes
- Struct/union members now correctly rejects members without storage size #1147.
math::powwill now correctly promote integer arguments.- Pointer difference would fail where alignment != size (structs etc) #1150
- Fixed array calculation for npot2 vectors.
- $$memcpy_inline and $$memset_inline fixed.
.$Type = ...and.$foo = ...now works #1156.int.minincorrect behaviour #1154.- Bitstruct cast to other bitstruct by way of underlying type would fail #1159.
- Bug in
time.add_seconds#1162. - Remove initial './' in Win32 and convert '/' to '' for paths when running a binary.
- 'output' directory for projects was incorrect in templates.
- Regression: no stacktrace.
- For MacOS, running with higher optimization would crash as initializers were removed.
compile-runandrunnow returns the proper return code.- Allow String constants -> ichar*, and allow integer pointers to explicitly convert between unsigned signed.
- Bug in unaligned return value lowering for Aarch64.
Stdlib changes
- Added
new_alignedandalloc_alignedfunctions to prevent accidental under-alignment when allocating simd. - Fixes to realloc of aligned allocations
- Use native Windows calls on aligned allocations on Windows.
- mem::copy_inline, mem::clear_inline and mem::set_inline added.
- mem::copy / clear / set no longer has an
$inlineattribute. - Native aligned libc malloc on Windows & POSIX.
- Simplification of the allocator interface.
- CoreFoundation only linked on MacOS when used.