.builds/freebsd.yml | 4 +- README.md | 18 + build.zig | 9 +- ci/azure/windows_msvc_script.bat | 2 +- ci/srht/freebsd_script | 10 +- ci/srht/on_master_success | 4 +- doc/langref.html.in | 2 +- lib/std/build.zig | 126 +++-- lib/std/builtin.zig | 1 - lib/std/c.zig | 15 +- lib/std/compress.zig | 15 + lib/std/compress/deflate.zig | 635 +++++++++++++++++++++ lib/std/compress/gzip.zig | 248 +++++++++ lib/std/compress/rfc1951.txt | 955 ++++++++++++++++++++++++++++++++ lib/std/compress/rfc1951.txt.fixed.z.9 | Bin 0 -> 12836 bytes lib/std/compress/rfc1951.txt.z.0 | Bin 0 -> 36960 bytes lib/std/compress/rfc1951.txt.z.9 | Bin 0 -> 11111 bytes lib/std/compress/rfc1952.txt.gz | Bin 0 -> 8059 bytes lib/std/compress/zlib.zig | 178 ++++++ lib/std/crypto.zig | 24 + lib/std/crypto/benchmark.zig | 4 +- lib/std/crypto/blake2.zig | 8 +- lib/std/crypto/chacha20.zig | 2 - lib/std/crypto/md5.zig | 10 +- lib/std/crypto/pbkdf2.zig | 280 ++++++++++ lib/std/crypto/poly1305.zig | 2 +- lib/std/crypto/sha1.zig | 9 +- lib/std/crypto/sha2.zig | 9 +- lib/std/crypto/sha3.zig | 9 +- lib/std/crypto/siphash.zig | 3 +- lib/std/crypto/test.zig | 1 - lib/std/elf.zig | 2 +- lib/std/event/loop.zig | 3 +- lib/std/fmt.zig | 141 ++--- lib/std/fs.zig | 66 ++- lib/std/fs/file.zig | 8 +- lib/std/fs/test.zig | 161 ++++++ lib/std/hash/auto_hash.zig | 5 +- lib/std/hash/crc.zig | 5 +- lib/std/hash_map.zig | 2 +- lib/std/heap.zig | 2 +- lib/std/heap/arena_allocator.zig | 24 +- lib/std/io/serialization.zig | 4 +- lib/std/json.zig | 4 +- lib/std/macho.zig | 117 +++- lib/std/meta.zig | 79 ++- lib/std/os.zig | 56 +- lib/std/os/bits/linux.zig | 120 ++++ lib/std/os/bits/linux/powerpc64.zig | 602 ++++++++++++++++++++ lib/std/os/bits/linux/prctl.zig | 158 ++++++ lib/std/os/bits/linux/securebits.zig | 41 ++ lib/std/os/linux.zig | 5 + lib/std/os/linux/bpf.zig | 829 ++++++++++++++++++++++++--- lib/std/os/linux/bpf/btf.zig | 156 ++++++ lib/std/os/linux/bpf/btf_ext.zig | 24 + lib/std/os/linux/bpf/helpers.zig | 157 ++++++ lib/std/os/linux/bpf/kern.zig | 39 ++ lib/std/os/linux/powerpc64.zig | 127 +++++ lib/std/os/linux/tls.zig | 13 +- lib/std/os/windows.zig | 3 +- lib/std/priority_queue.zig | 11 +- lib/std/process.zig | 14 +- lib/std/special/c.zig | 55 ++ lib/std/start.zig | 15 + lib/std/std.zig | 1 + src-self-hosted/libc_installation.zig | 17 +- src-self-hosted/link/MachO.zig | 40 +- src-self-hosted/stage2.zig | 6 +- src-self-hosted/translate_c.zig | 50 +- src/all_types.hpp | 1 + src/analyze.cpp | 281 +++++----- src/codegen.cpp | 6 +- src/codegen.hpp | 2 +- src/glibc.cpp | 2 +- src/ir.cpp | 129 ++++- src/main.cpp | 8 +- src/target.cpp | 29 +- src/target.hpp | 3 +- test/compile_errors.zig | 131 ++++- test/stack_traces.zig | 6 +- test/stage1/behavior/cast.zig | 5 + test/stage1/behavior/translate_c_macros.h | 5 +- test/stage1/behavior/translate_c_macros.zig | 8 +- test/stage1/behavior/type.zig | 103 ++++ test/stage1/behavior/type_info.zig | 4 - test/translate_c.zig | 3 + 86 files changed, 5961 insertions(+), 510 deletions(-)