ci/azure/linux_script | 2 +- ci/azure/macos_script | 2 +- doc/langref.html.in | 2 +- lib/std/Thread.zig | 18 +- lib/std/array_hash_map.zig | 44 +++++ lib/std/atomic/Atomic.zig | 36 ++-- lib/std/build.zig | 13 ++ lib/std/crypto/aes/aesni.zig | 24 +-- lib/std/crypto/aes/armcrypto.zig | 28 +-- lib/std/crypto/ghash.zig | 8 +- lib/std/debug.zig | 2 +- lib/std/fmt.zig | 3 +- lib/std/hash_map.zig | 48 +++++ lib/std/mem.zig | 2 +- lib/std/os/linux/arm-eabi.zig | 32 ++-- lib/std/os/linux/arm64.zig | 30 +-- lib/std/os/linux/i386.zig | 36 ++-- lib/std/os/linux/mips.zig | 40 ++-- lib/std/os/linux/powerpc.zig | 30 +-- lib/std/os/linux/powerpc64.zig | 30 +-- lib/std/os/linux/riscv64.zig | 30 +-- lib/std/os/linux/sparc64.zig | 38 ++-- lib/std/os/linux/start_pie.zig | 10 +- lib/std/os/linux/thumb.zig | 32 ++-- lib/std/os/linux/tls.zig | 12 +- lib/std/os/linux/x86_64.zig | 30 +-- lib/std/os/windows.zig | 6 +- lib/std/special/build_runner.zig | 7 + lib/std/special/compiler_rt/clear_cache.zig | 6 +- lib/std/start.zig | 26 +-- lib/std/valgrind.zig | 8 +- lib/std/zig/parser_test.zig | 44 ++--- lib/std/zig/render.zig | 8 +- lib/std/zig/system/x86.zig | 4 +- src/AstGen.zig | 277 ++++++++++++++-------------- src/Module.zig | 5 +- src/codegen.zig | 66 +++++-- src/codegen/arm.zig | 4 +- src/codegen/llvm.zig | 151 ++++++++++++++- src/codegen/llvm/bindings.zig | 269 +++++++++------------------ src/link/MachO.zig | 26 +-- src/link/MachO/TextBlock.zig | 4 +- src/translate_c.zig | 73 +++----- src/translate_c/ast.zig | 23 ++- test/behavior.zig | 2 + test/behavior/asm.zig | 30 +-- test/behavior/comptime_memory.zig | 317 ++++++++++++++++++++++++++++++++ test/behavior/generics.zig | 3 +- test/behavior/misc.zig | 4 +- test/cases.zig | 9 +- test/compile_errors.zig | 24 +++ test/tests.zig | 64 +++---- test/translate_c.zig | 16 +- 53 files changed, 1291 insertions(+), 767 deletions(-)