.gitattributes | 12 +- build.zig | 1 + ci/drone/linux_script | 4 +- doc/langref.html.in | 22 +++- lib/std/atomic/bool.zig | 2 +- lib/std/atomic/int.zig | 4 +- lib/std/build.zig | 5 + lib/std/crypto.zig | 2 +- lib/std/crypto/25519/curve25519.zig | 20 +-- lib/std/crypto/25519/ed25519.zig | 34 +++-- lib/std/crypto/25519/edwards25519.zig | 83 +++++++++--- lib/std/crypto/25519/field.zig | 9 +- lib/std/crypto/25519/ristretto255.zig | 14 +- lib/std/crypto/25519/scalar.zig | 5 +- lib/std/crypto/25519/x25519.zig | 15 ++- lib/std/crypto/aegis.zig | 6 +- lib/std/crypto/aes_gcm.zig | 4 +- lib/std/crypto/aes_ocb.zig | 4 +- lib/std/crypto/bcrypt.zig | 11 +- lib/std/crypto/chacha20.zig | 6 +- lib/std/crypto/error.zig | 34 ----- lib/std/crypto/errors.zig | 35 +++++ lib/std/crypto/gimli.zig | 4 +- lib/std/crypto/isap.zig | 4 +- lib/std/crypto/pbkdf2.zig | 5 +- lib/std/crypto/salsa20.zig | 19 +-- lib/std/event/rwlock.zig | 4 +- lib/std/math.zig | 9 -- lib/std/math/sqrt.zig | 20 ++- lib/std/meta.zig | 18 ++- lib/std/os/bits/linux/powerpc.zig | 10 +- lib/std/os/linux.zig | 50 ++++++- lib/std/os/linux/bpf/btf.zig | 2 +- lib/std/os/windows/user32.zig | 2 +- lib/std/special/c.zig | 151 ++++++++++++++++----- lib/std/special/compiler_rt.zig | 4 +- lib/std/special/compiler_rt/extendXfYf2.zig | 4 + lib/std/special/compiler_rt/extendXfYf2_test.zig | 49 ++++++- lib/std/special/compiler_rt/truncXfYf2.zig | 6 +- lib/std/special/compiler_rt/truncXfYf2_test.zig | 56 ++++++++ lib/std/target.zig | 11 +- lib/std/target/powerpc.zig | 7 - lib/std/zig/parse.zig | 3 +- lib/std/zig/parser_test.zig | 57 +++++++- lib/std/zig/render.zig | 11 +- src/Compilation.zig | 34 ++--- src/codegen.zig | 1 - src/link/MachO.zig | 3 +- src/link/MachO/Archive.zig | 5 +- src/link/MachO/Object.zig | 47 ++++++- src/link/MachO/Symbol.zig | 2 +- src/link/MachO/Zld.zig | 224 ++++++++++++++++++++++---------- src/link/MachO/reloc/aarch64.zig | 4 +- src/main.zig | 6 + src/register_manager.zig | 111 ++++++++++------ src/stage1/bigfloat.cpp | 9 +- src/stage1/bigint.cpp | 4 +- src/stage1/bigint.hpp | 2 +- src/stage1/codegen.cpp | 5 +- src/stage1/ir.cpp | 33 ++--- src/stage1/parser.cpp | 5 +- src/stage1/softfloat_ext.cpp | 38 +++++- src/stage1/softfloat_ext.hpp | 3 + src/translate_c.zig | 16 ++- src/translate_c/ast.zig | 6 +- test/compile_errors.zig | 14 +- test/run_translated_c.zig | 23 ++++ test/runtime_safety.zig | 34 ++--- test/stage1/behavior/async_fn.zig | 84 ++++++------ test/stage1/behavior/math.zig | 35 ++++- test/tests.zig | 16 +++ test/translate_c.zig | 24 +++- tools/update_cpu_features.zig | 6 + 73 files changed, 1162 insertions(+), 470 deletions(-)