CMakeLists.txt | 2 +- build.zig | 96 +- ci/zinc/linux_test.sh | 3 +- cmake/Findllvm.cmake | 12 +- lib/std/debug.zig | 2 + lib/std/os.zig | 2 + lib/std/os/linux.zig | 1 + lib/std/target.zig | 10 +- lib/std/target/s390x.zig | 621 +++++++++++ lib/std/target/systemz.zig | 621 ----------- lib/std/zig/parse.zig | 2 +- lib/std/zig/parser_test.zig | 8 + src/Air.zig | 5 +- src/AstGen.zig | 9 +- src/Compilation.zig | 17 - src/Module.zig | 30 + src/Sema.zig | 1881 ++++++++++++++++++++++---------- src/TypedValue.zig | 14 +- src/Zir.zig | 13 +- src/arch/arm/CodeGen.zig | 61 +- src/arch/wasm/CodeGen.zig | 4 +- src/clang.zig | 3 + src/codegen/llvm.zig | 141 ++- src/link/Elf.zig | 9 + src/main.zig | 25 +- src/print_zir.zig | 15 +- src/stage1/parser.hpp | 2 - src/translate_c.zig | 30 +- src/translate_c/ast.zig | 8 + src/type.zig | 16 +- src/value.zig | 51 +- src/zig_clang.cpp | 28 + src/zig_clang.h | 1 + test/behavior/switch.zig | 9 - test/behavior/tuple.zig | 35 + test/cases/compile_errors/comptime_continue_inside_runtime_catch.zig | 16 + test/cases/compile_errors/comptime_continue_inside_runtime_if_bool.zig | 15 + test/cases/compile_errors/comptime_continue_inside_runtime_if_error.zig | 15 + test/cases/compile_errors/comptime_continue_inside_runtime_if_optional.zig | 15 + test/cases/compile_errors/comptime_continue_inside_runtime_orelse.zig | 16 + test/cases/compile_errors/comptime_continue_inside_runtime_switch.zig | 18 + test/cases/compile_errors/comptime_continue_inside_runtime_while_bool.zig | 15 + test/cases/compile_errors/comptime_continue_inside_runtime_while_error.zig | 17 + test/cases/compile_errors/comptime_continue_inside_runtime_while_optional.zig | 15 + test/cases/compile_errors/comptime_slice-sentinel_does_not_match_memory_at_target_index_terminated.zig | 74 ++ test/cases/compile_errors/comptime_slice-sentinel_does_not_match_memory_at_target_index_unterminated.zig | 74 ++ test/cases/compile_errors/comptime_slice-sentinel_does_not_match_target-sentinel.zig | 74 ++ test/cases/compile_errors/comptime_slice-sentinel_is_out_of_bounds_terminated.zig | 67 ++ test/cases/compile_errors/comptime_slice-sentinel_is_out_of_bounds_unterminated.zig | 67 ++ test/cases/compile_errors/comptime_slice_of_an_undefined_slice.zig | 11 + test/cases/compile_errors/method_call_with_first_arg_type_wrong_container.zig | 6 +- test/cases/compile_errors/reify_type.Fn_with_is_generic_true.zig | 17 + test/cases/compile_errors/reify_type.Fn_with_is_var_args_true_and_non-C_callconv.zig | 17 + test/cases/compile_errors/reify_type.Fn_with_return_type_null.zig | 17 + test/cases/compile_errors/reify_type_for_exhaustive_enum_with_non-integer_tag_type.zig | 18 + test/cases/compile_errors/reify_type_for_exhaustive_enum_with_undefined_tag_type.zig | 18 + test/cases/compile_errors/reify_type_for_exhaustive_enum_with_zero_fields.zig | 18 + test/cases/compile_errors/reify_type_for_tagged_union_with_extra_enum_field.zig | 36 + test/cases/compile_errors/reify_type_for_tagged_union_with_extra_union_field.zig | 35 + test/cases/compile_errors/reify_type_for_union_with_zero_fields.zig | 17 + test/cases/compile_errors/reify_type_union_payload_is_undefined.zig | 10 + test/cases/compile_errors/reify_type_with_Type.Int.zig | 15 + test/cases/compile_errors/reify_type_with_undefined.zig | 20 + test/cases/compile_errors/stage1/obj/comptime_continue_inside_runtime_catch.zig | 16 - test/cases/compile_errors/stage1/obj/comptime_continue_inside_runtime_if_bool.zig | 15 - test/cases/compile_errors/stage1/obj/comptime_continue_inside_runtime_if_error.zig | 15 - test/cases/compile_errors/stage1/obj/comptime_continue_inside_runtime_if_optional.zig | 15 - test/cases/compile_errors/stage1/obj/comptime_continue_inside_runtime_switch.zig | 18 - test/cases/compile_errors/stage1/obj/comptime_continue_inside_runtime_while_bool.zig | 15 - test/cases/compile_errors/stage1/obj/comptime_continue_inside_runtime_while_error.zig | 17 - test/cases/compile_errors/stage1/obj/comptime_continue_inside_runtime_while_optional.zig | 15 - test/cases/compile_errors/stage1/obj/comptime_slice-sentinel_does_not_match_memory_at_target_index_terminated.zig | 67 -- test/cases/compile_errors/stage1/obj/comptime_slice-sentinel_does_not_match_memory_at_target_index_unterminated.zig | 67 -- test/cases/compile_errors/stage1/obj/comptime_slice-sentinel_does_not_match_target-sentinel.zig | 67 -- test/cases/compile_errors/stage1/obj/comptime_slice-sentinel_is_out_of_bounds_terminated.zig | 67 -- test/cases/compile_errors/stage1/obj/comptime_slice-sentinel_is_out_of_bounds_unterminated.zig | 67 -- test/cases/compile_errors/stage1/obj/comptime_slice_of_an_undefined_slice.zig | 11 - test/cases/compile_errors/stage1/obj/reify_type.Fn_with_is_generic_true.zig | 17 - test/cases/compile_errors/stage1/obj/reify_type.Fn_with_is_var_args_true_and_non-C_callconv.zig | 17 - test/cases/compile_errors/stage1/obj/reify_type.Fn_with_return_type_null.zig | 17 - test/cases/compile_errors/stage1/obj/reify_type.Pointer_with_invalid_address_space.zig | 18 - test/cases/compile_errors/stage1/obj/reify_type_for_exhaustive_enum_with_non-integer_tag_type.zig | 18 - test/cases/compile_errors/stage1/obj/reify_type_for_exhaustive_enum_with_undefined_tag_type.zig | 18 - test/cases/compile_errors/stage1/obj/reify_type_for_exhaustive_enum_with_zero_fields.zig | 18 - test/cases/compile_errors/stage1/obj/reify_type_for_tagged_union_with_extra_enum_field.zig | 34 - test/cases/compile_errors/stage1/obj/reify_type_for_tagged_union_with_extra_union_field.zig | 35 - test/cases/compile_errors/stage1/obj/reify_type_for_union_with_zero_fields.zig | 17 - test/cases/compile_errors/stage1/obj/reify_type_union_payload_is_undefined.zig | 10 - test/cases/compile_errors/stage1/obj/reify_type_with_Type.Int.zig | 13 - test/cases/compile_errors/stage1/obj/reify_type_with_non-constant_expression.zig | 11 - test/cases/compile_errors/stage1/obj/reify_type_with_undefined.zig | 20 - test/cases/compile_errors/stage1/reify_type.Pointer_with_invalid_address_space.zig | 18 + test/cases/compile_errors/stage1/reify_type_with_non-constant_expression.zig | 11 + test/cases/compile_errors/stage1/test/type_mismatch_with_tuple_concatenation.zig | 11 - test/cases/compile_errors/tuple_init_edge_cases.zig | 44 + test/cases/compile_errors/type_mismatch_with_tuple_concatenation.zig | 10 + test/cases/compile_errors/wrong_size_to_an_array_literal.zig | 2 +- test/cases/llvm/shift_right_plus_left.0.zig | 12 - test/cases/llvm/shift_right_plus_left.1.zig | 10 - test/run_translated_c.zig | 44 +- tools/update_cpu_features.zig | 2 +- 101 files changed, 3300 insertions(+), 2139 deletions(-)