.travis.yml | 22 +- CMakeLists.txt | 51 +- README.md | 8 +- ci/travis_linux_script | 2 +- deps/lld/ELF/MarkLive.cpp | 9 + doc/docgen.zig | 19 + doc/langref.html.in | 522 ++++- src-self-hosted/arg.zig | 284 +++ src-self-hosted/introspect.zig | 57 + src-self-hosted/main.zig | 1596 ++++++++------- src-self-hosted/module.zig | 46 +- src/all_types.hpp | 105 +- src/analyze.cpp | 101 +- src/analyze.hpp | 3 +- src/ast_render.cpp | 5 +- src/bigfloat.cpp | 4 + src/bigfloat.hpp | 1 + src/bigint.cpp | 15 +- src/codegen.cpp | 588 +++++- src/ir.cpp | 2017 +++++++++++++++--- src/ir_print.cpp | 93 +- src/link.cpp | 3 + src/main.cpp | 41 +- src/os.cpp | 1 + src/parser.cpp | 28 +- src/translate_c.cpp | 116 +- src/zig_llvm.cpp | 12 +- src/zig_llvm.h | 4 +- std/array_list.zig | 66 +- std/atomic/index.zig | 7 + std/atomic/queue.zig | 126 ++ std/atomic/stack.zig | 131 ++ std/buf_map.zig | 63 +- std/buf_set.zig | 28 +- std/buffer.zig | 28 +- std/build.zig | 15 +- std/c/darwin.zig | 31 + std/c/index.zig | 12 + std/c/linux.zig | 5 + std/crypto/throughput_test.zig | 27 +- std/debug/index.zig | 25 +- std/elf.zig | 611 ++++++ std/endian.zig | 25 - std/event.zig | 235 +++ std/fmt/errol/index.zig | 79 +- std/fmt/index.zig | 570 ++++-- std/hash_map.zig | 68 +- std/heap.zig | 135 +- std/index.zig | 12 +- std/io.zig | 5 + std/io_test.zig | 18 +- std/json.zig | 1304 ++++++++++++ std/json_test.zig | 1942 ++++++++++++++++++ std/linked_list.zig | 1 + std/math/complex/abs.zig | 18 + std/math/complex/acos.zig | 21 + std/math/complex/acosh.zig | 21 + std/math/complex/arg.zig | 18 + std/math/complex/asin.zig | 27 + std/math/complex/asinh.zig | 22 + std/math/complex/atan.zig | 130 ++ std/math/complex/atanh.zig | 22 + std/math/complex/conj.zig | 17 + std/math/complex/cos.zig | 21 + std/math/complex/cosh.zig | 165 ++ std/math/complex/exp.zig | 140 ++ std/math/complex/index.zig | 171 ++ std/math/complex/ldexp.zig | 75 + std/math/complex/log.zig | 23 + std/math/complex/pow.zig | 22 + std/math/complex/proj.zig | 24 + std/math/complex/sin.zig | 22 + std/math/complex/sinh.zig | 164 ++ std/math/complex/sqrt.zig | 133 ++ std/math/complex/tan.zig | 22 + std/math/complex/tanh.zig | 111 + std/math/exp.zig | 5 + std/math/index.zig | 31 + std/math/ln.zig | 2 + std/math/log2.zig | 7 +- std/math/sqrt.zig | 295 +-- std/math/x86_64/sqrt.zig | 15 - std/mem.zig | 133 +- std/net.zig | 283 ++- std/os/darwin.zig | 30 +- std/os/epoch.zig | 26 + std/os/file.zig | 45 +- std/os/index.zig | 1104 ++++++++-- std/os/linux/i386.zig | 505 ----- std/os/linux/index.zig | 689 ++++++- std/os/linux/test.zig | 1 + std/os/linux/vdso.zig | 89 + std/os/linux/x86_64.zig | 21 + std/os/test.zig | 44 + std/os/time.zig | 288 +++ std/os/windows/index.zig | 19 + std/rand/index.zig | 24 +- std/rand/ziggurat.zig | 146 ++ std/segmented_list.zig | 379 ++++ std/special/bootstrap.zig | 27 +- std/special/bootstrap_lib.zig | 3 +- std/special/builtin.zig | 281 ++- std/special/compiler_rt/fixuint.zig | 2 +- std/special/compiler_rt/fixunsdfdi_test.zig | 2 +- std/special/compiler_rt/fixunsdfsi_test.zig | 2 +- std/special/compiler_rt/fixunsdfti_test.zig | 2 +- std/special/compiler_rt/fixunssfdi_test.zig | 2 +- std/special/compiler_rt/fixunssfsi_test.zig | 2 +- std/special/compiler_rt/fixunssfti_test.zig | 2 +- std/special/compiler_rt/fixunstfdi_test.zig | 2 +- std/special/compiler_rt/fixunstfsi_test.zig | 2 +- std/special/compiler_rt/fixunstfti_test.zig | 2 +- std/special/compiler_rt/index.zig | 26 +- std/special/compiler_rt/udivmod.zig | 2 +- std/special/compiler_rt/udivmodti4.zig | 6 + std/special/compiler_rt/udivti3.zig | 9 +- std/special/compiler_rt/umodti3.zig | 10 +- std/unicode.zig | 163 +- std/zig/ast.zig | 2579 ++++++++++++++++++----- std/zig/bench.zig | 38 + std/zig/index.zig | 8 +- std/zig/parse.zig | 3503 ++++++++++++++++++++++++++++++++ std/zig/parser.zig | 1733 ---------------- std/zig/parser_test.zig | 1183 +++++++++++ std/zig/render.zig | 1270 ++++++++++++ std/zig/tokenizer.zig | 420 ++-- test/behavior.zig | 3 + test/cases/atomics.zig | 50 +- test/cases/bugs/920.zig | 60 + test/cases/coroutines.zig | 54 + test/cases/defer.zig | 11 + test/cases/enum.zig | 9 + test/cases/error.zig | 66 + test/cases/eval.zig | 23 + test/cases/fn.zig | 17 + test/cases/fn_in_struct_in_comptime.zig | 17 + test/cases/math.zig | 41 + test/cases/reflection.zig | 24 + test/cases/type_info.zig | 200 ++ test/cases/union.zig | 22 + test/compile_errors.zig | 95 +- test/tests.zig | 9 +- test/translate_c.zig | 43 + 143 files changed, 23753 insertions(+), 5164 deletions(-)