Subject: CVS commit: pkgsrc/lang/zig
From: Adam Ciarcinski
Date: 2023-01-19 13:32:18
Message id: 20230119123218.E77C1FA90@cvs.NetBSD.org

Log Message:
zig: updated to 0.10.1

0.10.1

LLVM 15.0.7

This release of Zig upgrades to LLVM 15.0.7 which fixed a handful of bugs, \ 
including regressions introduced in LLVM 15.0.0. At time of writing, this \ 
hyperlink 404s because LLVM project did not provide release notes for this \ 
version.

Compiler

cmake: move 'continue' statement to avoid cmake bug
C backend: improve support for non-native float types
C backend: enough fixes for compiler to to be able to build itself
C backend: include zig.h with quotes instead of angle brackets.
C backend: remove redundant definition of u16/i16 in zig.h
C backend: fixed some C warnings and errors on gcc 11.3.0.
c backend: Output string literals for array init of bytes
Fixed typo in zig.h causing incorrect behavior.
LLVM: mangle extern function names for Wasm target
Fixed detection of MSVC installation on aarch64-windows.
Fixed comptime array initialization.
Fixed performance regression due to unnecessary copies. There is still another \ 
known similar performance regression that is not fixed in 0.10.1.
Fixed CPU model detection for neoverse_n1 on aarch64-linux
LLVM: fix canElideLoad behavior with loops
Improved error messages.
Fixed false positive dependency loops.
Sema: resolve elem type for non-default aligned ptrs
Compilation: fixed deadlock when compiling the same C source file twice
Fixed compiler crashes.
mingw: add missing vscprintf.c file
LLVM: Respect alignment for `.union_init`
Ensure f128 alignment matches c_longdouble alignment
Support modifiers in inline assembly.
Fixes bug in AVR codegen for LLVM backend
Fixed compilation not failing when there are linker errors.
cache: Fix LockViolation during C compilation paths
Fix another LockViolation case on Windows
Fixed C ABI bug regarding double types
fix Nvptx backend outputing files at the top level of zig-cache
Sema: make `InferredErrorSet` deterministic
Sema: avoid breaking hash contract when instantiating generic functions
Sema: fix missing struct layout for llvm backend
Miscellaneous fixes to the experimental ARM and aarch64 backends.
cli: set sysroot when --sysroot option was passed
macho: do not zero-out file if there are no nonzerofill sects
macho: parse weak imports in tbd descriptors
fixes to the DWARF parser
Fixed handling of explicitly provided pdb
windows: add native CPU and features detection for Armv8 chips
Improve aarch64 feature detection based on the readouts from privileged system \ 
registers
Remove incorrect assertion in readMachODebugInfo panicking during panic
Add missing clang opts: -install_name and -undefined
macho: add missing defs of compact unwind info records
Bug fix: Prevent uninitialized parse nodes
Sema: resolve lazy align in zirReify for union fields
llvm codegen: fix f16,f32,f64 nan bitcasts
support building zig on BSDs with dynamic libstdc++/libc++
Elf: link libcompiler_rt after libc
macos: enable -headerpad_max_install_names
Translate-C Remainder Macro Fix
Many compiler crashes are fixed.
Many compile error messages are more helpful.
LLVM: implement packed unions
Sema: remove `block` and `src` parameters from `getBuiltin`
translate-c: cast unsuffixed floats to f64
LLVM: fix x86_64 sysV ABI of big vectors on avx512 enabled CPUs
LLVM: improve emitted debug info
Improve debuggability of programs built by the self hosted compiler.
windows: fix _tls_index not being defined if libc wasn't linked, and fix x86 \ 
name mangling
zig-cache: support windows drive + fwd-slash paths
Fix error reporting the wrong line for struct field inits
Call ensureResultUsed before comptime .call is evaluated.
add arm-features.h from glibc source

Standard Library

os: windows: fix unhandled error
std.os.windows.ReadLink: add missing alignment of local data buffer
Fixed condition variable (futex implementation) broadcast failing to wake all threads
Fixes to make zig work better with BSD operating systems.
uefi: Delete unneeded alignment and use default 4K
Fixed update() method in PriorityQueue and PriorityDequeue
std.c: Add definition for pthread_key_t
std.os.linux: Add setitimer and getitimer syscalls
Handle sentinel slices in `std.mem.zeroes`
add missing std.c.pthread_sigmask
std.big.int.Mutable: fix set(@as(DoubleLimb, 0))
wasi: fixes IterableDir.nextWasi for large directory
Fix buffer overflow in fmt when DAZ is set
std.os: fix alignment of Sigaction.handler_fn
gzip: add missing header fields and bounds for header parsing
os.windows.OpenFile: Add `USER_MAPPED_FILE` as a possible error
Dir.openDirAccessMaskW: Add ACCESS_DENIED as a possible error
wasi: fixes os.isatty on type mismatch
Add 0-length buffer checks to os.read and os.write
Fixes to linux/bpf/btf.zig
std: fix bug in Pcg32 fill function
std.net: check for localhost names before asking DNS
std.os.linux.T: translate more MIPS values
std.atomic.Queue: fix unget implementation and add doc
std.Thread.Futex.PosixImpl.Address.from: fix `alignment` type

crypto

Ed25519.KeyPair.fromSecretKey() didn't compile after the API changes
ed25519: recommend using the seed to recover a key pair
std.crypto.ed25519 incremental signatures: hash the fallback noise
std.crypto.pwhash.bcrypt: inline the Feistel network function
crypto.salsa20: make the number of rounds a comptime parameter
crypto.core.aes: process 6 block in parallel instead of 8 on aarch64
crypto.bcrypt: fix speed regression when using self-hosted compiler

zig cc / zig c++

detect -z stack-size arguments
support -stack in addition to --stack for linker arg
fix wrong flag name from earlier commit

compiler-rt

Fixed duplicate symbol error when linking libc on arm64 Windows.
Added aarch64 outline atomics.
Avoid using weak aliases.

Documentation

langref: Simplify printing types in examples
packed struct fix example and clarify least to most significant ordering
langref: add appendix and explain 'container' terminology
Add docstrings to some functions in std.meta
Improve doc comments for two functions
document std.heap.StackFallbackAllocator
std.array_list: add a comment on every methods invalidating pointers.

Files:
RevisionActionfile
1.21modifypkgsrc/lang/zig/Makefile
1.10modifypkgsrc/lang/zig/PLIST
1.12modifypkgsrc/lang/zig/distinfo