ci/azure/pipelines.yml | 28 +- ci/srht/update_download_page | 18 +- lib/docs/index.html | 26 +- lib/docs/main.js | 69 ++- lib/std/array_list.zig | 63 +++ lib/std/bounded_array.zig | 2 +- lib/std/builtin.zig | 5 +- lib/std/c/darwin.zig | 8 +- lib/std/c/dragonfly.zig | 6 +- lib/std/c/freebsd.zig | 6 +- lib/std/c/netbsd.zig | 6 +- lib/std/c/openbsd.zig | 10 +- lib/std/c/solaris.zig | 8 +- lib/std/crypto/25519/ed25519.zig | 4 +- lib/std/debug.zig | 2 +- lib/std/fs.zig | 6 +- lib/std/fs/test.zig | 3 + lib/std/hash/auto_hash.zig | 39 +- lib/std/os.zig | 11 +- lib/std/os/linux.zig | 18 +- lib/std/os/test.zig | 2 +- lib/std/os/windows.zig | 4 + lib/std/zig/Ast.zig | 2 +- lib/std/zig/parse.zig | 10 +- lib/std/zig/parser_test.zig | 7 + lib/std/zig/tokenizer.zig | 18 + src/Air.zig | 5 + src/AstGen.zig | 208 +++++++-- src/Autodoc.zig | 24 +- src/Compilation.zig | 4 + src/Liveness.zig | 2 + src/Module.zig | 64 +-- src/Sema.zig | 787 +++++++++++++++++++++++++------- src/Zir.zig | 55 ++- src/arch/aarch64/CodeGen.zig | 1 + src/arch/arm/CodeGen.zig | 195 ++++++-- src/arch/arm/Emit.zig | 57 +-- src/arch/riscv64/CodeGen.zig | 1 + src/arch/sparc64/CodeGen.zig | 1 + src/arch/wasm/CodeGen.zig | 744 +++++++++++++++++------------- src/arch/x86_64/CodeGen.zig | 49 +- src/clang_options_data.zig | 13 +- src/codegen/c.zig | 1 + src/codegen/llvm.zig | 198 +++++++- src/codegen/llvm/bindings.zig | 6 + src/link.zig | 1 + src/link/Dwarf.zig | 13 +- src/link/MachO.zig | 6 +- src/link/MachO/Atom.zig | 2 +- src/link/MachO/DebugSymbols.zig | 16 +- src/link/MachO/Object.zig | 25 +- src/main.zig | 8 +- src/print_air.zig | 1 + src/print_zir.zig | 80 +++- src/stage1/all_types.hpp | 1 + src/stage1/analyze.cpp | 6 + src/stage1/ir.cpp | 40 +- src/stage1/parser.cpp | 11 +- src/test.zig | 48 +- src/type.zig | 69 +-- src/value.zig | 48 +- test/behavior.zig | 2 + test/behavior/bugs/12430.zig | 11 + test/behavior/call.zig | 15 + test/behavior/cast.zig | 5 + test/behavior/eval.zig | 17 + test/behavior/math.zig | 15 + test/behavior/packed_struct_explicit_backing_int.zig | 53 +++ test/behavior/type.zig | 5 + test/behavior/type_info.zig | 4 +- test/behavior/vector.zig | 17 + test/cases/compile_errors/calling_function_with_naked_calling_convention.zig | 11 + test/cases/compile_errors/compile_time_null_ptr_cast.zig | 11 + test/cases/compile_errors/compile_time_undef_ptr_cast.zig | 11 + test/cases/compile_errors/exact division failure.zig | 10 + test/cases/compile_errors/float exact division failure.zig | 10 + test/cases/compile_errors/int_literal_passed_as_variadic_arg.zig | 11 + test/cases/compile_errors/member_function_arg_mismatch.zig | 15 + test/cases/compile_errors/non_constant_expression_in_array_size.zig | 2 +- test/cases/compile_errors/not_an_enum_type.zig | 2 +- test/cases/compile_errors/packed_struct_backing_int_wrong.zig | 55 +++ test/cases/compile_errors/reify_type_for_tagged_union_with_extra_union_field.zig | 35 ++ test/cases/compile_errors/shlExact_shifts_out_1_bits.zig | 10 + test/cases/compile_errors/shrExact_shifts_out_1_bits.zig | 10 + test/cases/compile_errors/signed_integer_division.zig | 9 + test/cases/compile_errors/stage1/obj/calling_function_with_naked_calling_convention.zig | 11 - test/cases/compile_errors/stage1/obj/shlExact_shifts_out_1_bits.zig | 10 - test/cases/compile_errors/stage1/obj/shrExact_shifts_out_1_bits.zig | 10 - test/cases/compile_errors/stage1/obj/signed_integer_division.zig | 9 - test/cases/compile_errors/stage1/obj/wrong_number_of_arguments_for_method_fn_call.zig | 14 - test/cases/compile_errors/tagName_on_invalid_value_of_non-exhaustive_enum.zig | 2 +- test/cases/compile_errors/wrong_number_of_arguments.zig | 3 +- test/cases/compile_errors/wrong_number_of_arguments_for_method_fn_call.zig | 15 + test/cases/error_in_nested_declaration.zig | 31 ++ test/cases/safety/zero casted to error.zig | 19 + test/link.zig | 5 + test/stack_traces.zig | 6 + test/standalone.zig | 7 +- test/tests.zig | 7 + tools/update_clang_options.zig | 22 +- 100 files changed, 2632 insertions(+), 1056 deletions(-)