CMakeLists.txt | 3 +- doc/langref.html.in | 256 +++++++++++++++----- example/hello_world/hello_libc.zig | 2 +- src-self-hosted/main.zig | 63 ++++- src/all_types.hpp | 44 ++++ src/analyze.cpp | 12 +- src/codegen.cpp | 47 ++-- src/ir.cpp | 416 ++++++++++++++++++++++++++++---- src/ir_print.cpp | 53 ++++ src/link.cpp | 4 +- src/main.cpp | 2 +- src/os.cpp | 21 +- src/target.cpp | 50 ++-- std/array_list.zig | 34 +-- std/base64.zig | 4 +- std/build.zig | 2 +- std/crypto/blake2.zig | 10 +- std/crypto/md5.zig | 6 +- std/crypto/sha1.zig | 6 +- std/crypto/sha2.zig | 12 +- std/debug/index.zig | 9 +- std/dynamic_library.zig | 156 ++++++++++++ std/elf.zig | 15 ++ std/fmt/errol/index.zig | 82 +++---- std/fmt/index.zig | 27 ++- std/hash/crc.zig | 4 +- std/hash/siphash.zig | 6 +- std/heap.zig | 2 +- std/index.zig | 1 + std/io.zig | 7 +- std/json.zig | 4 +- std/math/acos.zig | 4 +- std/math/asin.zig | 4 +- std/math/atan.zig | 4 +- std/math/atan2.zig | 8 +- std/math/atanh.zig | 2 +- std/math/big/int.zig | 386 +++++++++++++---------------- std/math/cbrt.zig | 6 +- std/math/ceil.zig | 4 +- std/math/complex/atan.zig | 10 +- std/math/complex/cosh.zig | 4 +- std/math/complex/exp.zig | 6 +- std/math/complex/index.zig | 14 +- std/math/complex/ldexp.zig | 13 +- std/math/complex/sinh.zig | 10 +- std/math/complex/sqrt.zig | 19 +- std/math/complex/tanh.zig | 10 +- std/math/cos.zig | 4 +- std/math/cosh.zig | 2 +- std/math/exp.zig | 12 +- std/math/exp2.zig | 14 +- std/math/expm1.zig | 20 +- std/math/floor.zig | 4 +- std/math/fma.zig | 6 +- std/math/frexp.zig | 4 +- std/math/hypot.zig | 2 +- std/math/ilogb.zig | 4 +- std/math/index.zig | 36 ++- std/math/ln.zig | 12 +- std/math/log.zig | 11 +- std/math/log10.zig | 14 +- std/math/log1p.zig | 12 +- std/math/log2.zig | 12 +- std/math/modf.zig | 8 +- std/math/pow.zig | 4 +- std/math/scalbn.zig | 4 +- std/math/sin.zig | 4 +- std/math/sinh.zig | 2 +- std/math/sqrt.zig | 2 +- std/math/tan.zig | 4 +- std/math/tanh.zig | 4 +- std/math/trunc.zig | 8 +- std/mem.zig | 12 +- std/os/child_process.zig | 2 +- std/os/darwin.zig | 11 +- std/os/file.zig | 28 +-- std/os/index.zig | 30 ++- std/os/linux/index.zig | 80 +++--- std/os/linux/test.zig | 6 +- std/os/linux/vdso.zig | 4 +- std/os/time.zig | 24 +- std/os/windows/util.zig | 9 +- std/rand/index.zig | 16 +- std/segmented_list.zig | 12 +- std/special/bootstrap.zig | 2 +- std/special/builtin.zig | 30 +-- std/special/compiler_rt/comparetf2.zig | 2 +- std/special/compiler_rt/divti3.zig | 2 +- std/special/compiler_rt/fixuint.zig | 8 +- std/special/compiler_rt/index.zig | 12 +- std/special/compiler_rt/udivmod.zig | 34 +-- std/unicode.zig | 20 +- std/zig/tokenizer.zig | 2 +- test/behavior.zig | 1 + test/build_examples.zig | 12 +- test/cases/bool.zig | 8 +- test/cases/byval_arg_var.zig | 27 +++ test/cases/cast.zig | 32 ++- test/cases/enum.zig | 2 +- test/cases/eval.zig | 8 +- test/cases/fn.zig | 59 ++++- test/cases/for.zig | 4 +- test/cases/struct.zig | 8 +- test/cases/var_args.zig | 12 - test/compare_output.zig | 6 +- test/compile_errors.zig | 51 ++-- test/runtime_safety.zig | 4 +- test/standalone/load_dynamic_library/add.zig | 3 + test/standalone/load_dynamic_library/build.zig | 21 ++ test/standalone/load_dynamic_library/main.zig | 17 ++ 110 files changed, 1812 insertions(+), 882 deletions(-)