From 62625d9d9518644bcf4fa94e1d5c67edde22b91b Mon Sep 17 00:00:00 2001 From: Jakub Konka Date: Thu, 28 Apr 2022 14:44:34 +0200 Subject: [PATCH] test: migrate stage1 compile error tests to updated test manifest --- src/test.zig | 35 +-- test/cases.zig | 5 - test/compile_errors.zig | 218 ------------------ .../stage1/exe/main_missing_name.zig | 5 +- .../exe/missing_main_fn_in_executable.zig | 5 +- .../stage1/exe/private_main_fn.zig | 5 +- ..._ABI_compatible_type_or_has_align_attr.zig | 4 +- .../stage1/obj/C_pointer_to_anyopaque.zig | 4 +- .../stage1/obj/Frame_of_generic_function.zig | 4 +- ...nus_for_unsigned_types_a_compile_error.zig | 4 +- ...e_6823_dont_allow_._to_be_followed_by_.zig | 4 +- ...5_windows_tcp_server_compilation_error.zig | 4 +- ...ccess_non-existent_member_of_error_set.zig | 4 +- ..._runtime_parameter_from_outer_function.zig | 4 +- .../obj/add_assign_on_undefined_value.zig | 4 +- .../stage1/obj/add_on_undefined_value.zig | 4 +- .../add_overflow_in_function_evaluation.zig | 4 +- .../add_wrap_assign_on_undefined_value.zig | 4 +- .../obj/add_wrap_on_undefined_value.zig | 4 +- .../stage1/obj/addition_with_non_numbers.zig | 4 +- .../stage1/obj/address_of_number_literal.zig | 4 +- .../alignCast_expects_pointer_or_slice.zig | 4 +- ...r_function_pointers_is_a_compile_error.zig | 9 + .../obj/aligned_variable_of_zero-bit_type.zig | 4 +- .../obj/alignment_of_enum_field_specified.zig | 4 +- .../stage1/obj/ambiguous_decl_reference.zig | 4 +- .../stage1/obj/and_on_undefined_value.zig | 4 +- .../stage1/obj/array_access_of_non_array.zig | 4 +- .../stage1/obj/array_access_of_type.zig | 4 +- .../array_access_of_undeclared_identifier.zig | 4 +- .../array_access_with_non_integer_index.zig | 4 +- .../array_concatenation_with_wrong_type.zig | 4 +- .../obj/array_in_c_exported_function.zig | 4 +- .../stage1/obj/asm_at_compile_time.zig | 4 +- .../assign_inline_fn_to_non-comptime_var.zig | 4 +- .../assign_null_to_non-optional_pointer.zig | 4 +- .../obj/assign_through_constant_pointer.zig | 4 +- .../obj/assign_through_constant_slice.zig | 4 +- .../stage1/obj/assign_to_constant_field.zig | 4 +- .../obj/assign_to_constant_variable.zig | 4 +- .../obj/assign_to_invalid_dereference.zig | 4 +- .../obj/assign_too_big_number_to_u16.zig | 4 +- .../stage1/obj/assign_unreachable.zig | 4 +- ...th_a_function_that_returns_an_optional.zig | 4 +- ...sync_function_depends_on_its_own_frame.zig | 4 +- ...on_indirectly_depends_on_its_own_frame.zig | 4 +- ...rings_of_atomicStore_Acquire_or_AcqRel.zig | 4 +- ..._cmpxchg-failure_stricter_than_success.zig | 4 +- ..._cmpxchg-success_Monotonic_or_stricter.zig | 4 +- ...orderings_of_fence_Acquire_or_stricter.zig | 4 +- .../obj/atomicrmw_with_bool_op_not_.Xchg.zig | 4 +- .../obj/atomicrmw_with_enum_op_not_.Xchg.zig | 4 +- ...w_with_float_op_not_.Xchg_.Add_or_.Sub.zig | 4 +- .../attempt_to_cast_enum_literal_to_error.zig | 4 +- ...ver_comptime_variable_from_outer_scope.zig | 4 +- .../attempt_to_create_17_bit_float_type.zig | 4 +- ...n-integer_non-float_or_non-vector_type.zig | 4 +- ...attempt_to_use_0_bit_type_in_extern_fn.zig | 4 +- .../stage1/obj/attempted_double_ampersand.zig | 4 +- ...ttempted_double_pipe_on_boolean_values.zig | 4 +- ..._implicit_cast_from_T_to_slice_const_T.zig | 4 +- ...cit_cast_from_const_T_to_array_len_1_T.zig | 4 +- ...d_implicit_cast_from_const_T_to_sliceT.zig | 4 +- .../stage1/obj/bad_alignCast_at_comptime.zig | 4 +- .../stage1/obj/bad_alignment_in_asynccall.zig | 12 + ...licit_cast_from_array_pointer_to_slice.zig | 4 +- .../stage1/obj/bad_alignment_type.zig | 4 +- ..._function_which_references_local_const.zig | 4 +- test/compile_errors/stage1/obj/bad_import.zig | 4 +- .../stage1/obj/bad_usage_of_call.zig | 4 +- .../obj/bin_and_assign_on_undefined_value.zig | 4 +- .../stage1/obj/bin_and_on_undefined_value.zig | 4 +- .../stage1/obj/bin_not_on_undefined_value.zig | 4 +- .../obj/bin_or_assign_on_undefined_value.zig | 4 +- .../stage1/obj/bin_or_on_undefined_value.zig | 4 +- .../obj/bin_xor_assign_on_undefined_value.zig | 4 +- .../stage1/obj/bin_xor_on_undefined_value.zig | 4 +- .../obj/binary_not_on_number_literal.zig | 4 +- ...tCast_same_size_but_bit_count_mismatch.zig | 4 +- .../stage1/obj/bitCast_to_enum_type.zig | 4 +- ...h_different_sizes_inside_an_expression.zig | 4 +- ...t_shifting_only_works_on_integer_types.zig | 4 +- .../stage1/obj/bogus_compile_var.zig | 4 +- .../stage1/obj/bogus_method_call_on_slice.zig | 4 +- .../obj/bool_not_on_undefined_value.zig | 4 +- .../stage1/obj/branch_on_undefined_value.zig | 4 +- .../stage1/obj/cImport_with_bogus_include.zig | 4 +- .../stage1/obj/call_assigned_to_constant.zig | 4 +- ...l_with_new_stack_on_unsupported_target.zig | 11 + ...aapcs_aapcsvfp_on_unsupported_platform.zig | 11 + ...conv_interrupt_on_unsupported_platform.zig | 7 + ...allconv_signal_on_unsupported_platform.zig | 7 + ...all_thiscall_on_unsupported_platform-0.zig | 23 ++ ...all_thiscall_on_unsupported_platform-1.zig | 11 + ...onv_vectorcall_on_unsupported_platform.zig | 7 + ...generic_function_only_known_at_runtime.zig | 4 +- ...function_with_naked_calling_convention.zig | 4 +- ...ction_passing_array_instead_of_pointer.zig | 4 +- .../cannot_break_out_of_defer_expression.zig | 4 +- ...annot_continue_out_of_defer_expression.zig | 4 +- ..._prong_with_incompatible_payload_types.zig | 4 +- ...um_literal_to_enum_but_it_doesnt_match.zig | 4 +- ...et_to_error_union_of_smaller_error_set.zig | 4 +- .../cast_global_error_set_to_error_set.zig | 4 +- ...cast_negative_integer_literal_to_usize.zig | 4 +- ...ast_negative_value_to_unsigned_integer.zig | 4 +- .../stage1/obj/cast_unreachable.zig | 4 +- ..._bit_offset_pointer_to_regular_pointer.zig | 4 +- .../stage1/obj/catch_on_undefined_value.zig | 4 +- .../obj/chained_comparison_operators.zig | 4 +- .../stage1/obj/cmpxchg_with_float.zig | 4 +- .../colliding_invalid_top_level_functions.zig | 4 +- ...nal_to_non-optional_with_invalid_types.zig | 4 +- ...ng_a_non-optional_pointer_against_null.zig | 4 +- ...nst_undefined_produces_undefined_value.zig | 4 +- ...parison_operators_with_undefined_value.zig | 4 +- ...rison_with_error_union_and_error_value.zig | 4 +- .../obj/compile-time_division_by_zero.zig | 4 +- ...ompile-time_remainder_division_by_zero.zig | 4 +- ...traceback_of_references_that_caused_it.zig | 4 +- ..._tagged_enum_doesnt_crash_the_compiler.zig | 4 +- ...ompile_error_in_struct_init_expression.zig | 4 +- ...ting_return_type_of_inferred_error_set.zig | 4 +- .../compile_errors/stage1/obj/compile_log.zig | 4 +- ...mpile_log_a_pointer_to_an_opaque_value.zig | 4 +- ...ction_which_must_be_comptime_evaluated.zig | 4 +- ...nt_warning_deduplication_in_generic_fn.zig | 4 +- .../obj/compile_time_division_by_zero.zig | 4 +- ...st_enum_to_union_but_field_has_payload.zig | 4 +- ...comptime_continue_inside_runtime_catch.zig | 4 +- ...mptime_continue_inside_runtime_if_bool.zig | 4 +- ...ptime_continue_inside_runtime_if_error.zig | 4 +- ...me_continue_inside_runtime_if_optional.zig | 4 +- ...omptime_continue_inside_runtime_switch.zig | 4 +- ...ime_continue_inside_runtime_while_bool.zig | 4 +- ...me_continue_inside_runtime_while_error.zig | 4 +- ...continue_inside_runtime_while_optional.zig | 4 +- .../obj/comptime_float_in_asm_input.zig | 4 +- .../obj/comptime_implicit_cast_f64_to_f32.zig | 4 +- .../stage1/obj/comptime_int_in_asm_input.zig | 4 +- .../comptime_ptrcast_of_zero-sized_type.zig | 4 +- ...atch_memory_at_target_index_terminated.zig | 4 +- ...ch_memory_at_target_index_unterminated.zig | 4 +- ...entinel_does_not_match_target-sentinel.zig | 4 +- ...e-sentinel_is_out_of_bounds_terminated.zig | 4 +- ...sentinel_is_out_of_bounds_unterminated.zig | 4 +- .../comptime_slice_of_an_undefined_slice.zig | 4 +- ...lice_of_undefined_pointer_non-zero_len.zig | 4 +- .../comptime_struct_field_no_init_value.zig | 4 +- .../obj/const_frame_cast_to_anyframe.zig | 4 +- ...const_is_a_statement_not_an_expression.zig | 4 +- .../obj/container_init_with_non-type.zig | 4 +- ...trol_flow_uses_comptime_var_at_runtime.zig | 4 +- ...ntrol_reaches_end_of_non-void_function.zig | 4 +- .../stage1/obj/declaration_between_fields.zig | 4 +- ...e_as_primitive_must_use_special_syntax.zig | 4 +- .../obj/deduplicate_undeclared_identifier.zig | 4 +- .../stage1/obj/deref_on_undefined_value.zig | 4 +- .../obj/deref_slice_and_get_len_field.zig | 4 +- .../stage1/obj/dereference_an_array.zig | 4 +- .../dereference_unknown_length_pointer.zig | 4 +- .../stage1/obj/direct_struct_loop.zig | 4 +- ...edding_opaque_type_in_struct_and_union.zig | 4 +- ...ted_pointer_to_null-terminated_pointer.zig | 4 +- .../stage1/obj/discarding_error_value.zig | 4 +- .../obj/div_assign_on_undefined_value.zig | 4 +- .../stage1/obj/div_on_undefined_value.zig | 4 +- .../stage1/obj/division_by_zero.zig | 4 +- ...licit_cast_double_pointer_to_anyopaque.zig | 4 +- .../double_optional_on_main_return_value.zig | 4 +- .../obj/duplicate_boolean_switch_value.zig | 4 +- .../stage1/obj/duplicate_enum_field.zig | 4 +- .../stage1/obj/duplicate_error_in_switch.zig | 4 +- .../duplicate_error_value_in_error_set.zig | 4 +- ...icate_field_in_struct_value_expression.zig | 4 +- .../stage1/obj/duplicate_struct_field.zig | 4 +- .../stage1/obj/duplicate_union_field.zig | 4 +- .../stage1/obj/embedFile_with_bogus_file.zig | 4 +- .../stage1/obj/empty_for_loop_body.zig | 4 +- .../stage1/obj/empty_if_body.zig | 4 +- .../stage1/obj/empty_switch_on_an_integer.zig | 4 +- .../stage1/obj/empty_while_loop_body.zig | 4 +- .../endless_loop_in_function_evaluation.zig | 4 +- .../obj/enum_field_value_references_enum.zig | 4 +- ...field_count_range_but_not_matching_tag.zig | 4 +- .../stage1/obj/enum_value_already_taken.zig | 4 +- .../stage1/obj/enum_with_0_fields.zig | 4 +- ...eclarations_unavailable_for_reify_type.zig | 4 +- ...uality_but_sets_have_no_common_members.zig | 4 +- .../obj/error_not_handled_in_switch.zig | 4 +- ...for_function_parameter_incompatibility.zig | 4 +- ..._union_operator_with_non_error_set_LHS.zig | 4 +- .../obj/error_when_evaluating_return_type.zig | 4 +- .../exceeded_maximum_bit_width_of_integer.zig | 4 +- ...ger_when_there_is_a_fraction_component.zig | 4 +- ..._known_at_comptime_violates_error_sets.zig | 4 +- ...xplicitly_casting_non_tag_type_to_enum.zig | 4 +- ...xport_function_with_comptime_parameter.zig | 4 +- .../stage1/obj/export_generic_function.zig | 4 +- .../stage1/obj/exported_async_function.zig | 4 +- ...enum_without_explicit_integer_tag_type.zig | 4 +- .../obj/extern_function_pointer_mismatch.zig | 4 +- ...xtern_function_with_comptime_parameter.zig | 4 +- ...mpatible_but_inferred_integer_tag_type.zig | 4 +- ...non-extern-compatible_integer_tag_type.zig | 4 +- .../obj/extern_union_field_missing_type.zig | 4 +- .../obj/extern_union_given_enum_tag_type.zig | 4 +- .../obj/extern_variable_has_no_type.zig | 4 +- .../obj/fieldParentPtr-bad_field_name.zig | 4 +- ...comptime_field_ptr_not_based_on_struct.zig | 4 +- ...ldParentPtr-comptime_wrong_field_index.zig | 4 +- ...ParentPtr-field_pointer_is_not_pointer.zig | 4 +- .../stage1/obj/fieldParentPtr-non_struct.zig | 4 +- .../obj/field_access_of_opaque_type.zig | 4 +- .../stage1/obj/field_access_of_slices.zig | 4 +- ...field_access_of_unknown_length_pointer.zig | 4 +- .../obj/field_type_supplied_in_an_enum.zig | 4 +- .../stage1/obj/floatToInt_comptime_safety.zig | 4 +- .../obj/float_literal_too_large_error.zig | 4 +- ...float_literal_too_small_error_denormal.zig | 4 +- .../obj/for_loop_body_expression_ignored.zig | 4 +- ..._called_outside_of_function_definition.zig | 4 +- .../obj/frame_causes_function_to_be_async.zig | 4 +- .../obj/function_alignment_non_power_of_2.zig | 4 +- ...nction_call_assigned_to_incorrect_type.zig | 4 +- .../obj/function_parameter_is_opaque.zig | 4 +- .../obj/function_prototype_with_no_body.zig | 4 +- .../obj/function_returning_opaque_type.zig | 4 +- ..._ccc_indirectly_calling_async_function.zig | 4 +- .../obj/function_with_invalid_return_type.zig | 4 +- ...h_non-extern_non-packed_enum_parameter.zig | 4 +- ...non-extern_non-packed_struct_parameter.zig | 4 +- ..._non-extern_non-packed_union_parameter.zig | 4 +- ..._as_parameter_without_comptime_keyword.zig | 4 +- ...nction_call_assigned_to_incorrect_type.zig | 4 +- ..._instance_with_non-constant_expression.zig | 4 +- ...generic_function_returning_opaque_type.zig | 4 +- ...n_where_return_type_is_self-referenced.zig | 4 +- ...obal_variable_alignment_non_power_of_2.zig | 4 +- ...nitializer_must_be_constant_expression.zig | 4 +- .../stage1/obj/hasDecl_with_non-container.zig | 4 +- .../obj/if_condition_is_bool_not_int.zig | 4 +- .../ignored_assert-err-ok_return_value.zig | 4 +- .../obj/ignored_comptime_statement_value.zig | 4 +- .../stage1/obj/ignored_comptime_value.zig | 4 +- .../obj/ignored_deferred_function_call.zig | 4 +- .../obj/ignored_deferred_statement_value.zig | 4 +- ...nored_expression_in_while_continuation.zig | 4 +- .../stage1/obj/ignored_return_value.zig | 4 +- .../stage1/obj/ignored_statement_value.zig | 4 +- .../obj/illegal_comparison_of_types.zig | 4 +- ..._and_Zig_pointer-bad_const-align-child.zig | 4 +- ...icit_cast_const_array_to_mutable_slice.zig | 4 +- ...licit_cast_from_array_to_mutable_slice.zig | 4 +- .../obj/implicit_cast_from_f64_to_f32.zig | 4 +- ...mplicit_cast_of_error_set_not_a_subset.zig | 4 +- ...ers_which_would_mess_up_null_semantics.zig | 4 +- ..._casting_null_c_pointer_to_zig_pointer.zig | 4 +- ...casting_too_big_integers_to_C_pointers.zig | 4 +- ...ing_undefined_c_pointer_to_zig_pointer.zig | 4 +- .../obj/implicit_dependency_on_libc.zig | 11 + .../obj/implicit_semicolon-block_expr.zig | 4 +- .../implicit_semicolon-block_statement.zig | 4 +- ...implicit_semicolon-comptime_expression.zig | 4 +- .../implicit_semicolon-comptime_statement.zig | 4 +- .../stage1/obj/implicit_semicolon-defer.zig | 4 +- .../obj/implicit_semicolon-for_expression.zig | 4 +- .../obj/implicit_semicolon-for_statement.zig | 4 +- ...t_semicolon-if-else-if-else_expression.zig | 4 +- ...it_semicolon-if-else-if-else_statement.zig | 4 +- ...plicit_semicolon-if-else-if_expression.zig | 4 +- ...mplicit_semicolon-if-else-if_statement.zig | 4 +- .../implicit_semicolon-if-else_expression.zig | 4 +- .../implicit_semicolon-if-else_statement.zig | 4 +- .../obj/implicit_semicolon-if_expression.zig | 4 +- .../obj/implicit_semicolon-if_statement.zig | 4 +- .../implicit_semicolon-test_expression.zig | 4 +- .../obj/implicit_semicolon-test_statement.zig | 4 +- ...it_semicolon-while-continue_expression.zig | 4 +- ...cit_semicolon-while-continue_statement.zig | 4 +- .../implicit_semicolon-while_expression.zig | 4 +- .../implicit_semicolon-while_statement.zig | 4 +- .../implicitly_casting_enum_to_tag_type.zig | 4 +- ...mplicitly_increasing_pointer_alignment.zig | 4 +- .../implicitly_increasing_slice_alignment.zig | 4 +- .../obj/import_outside_package_path.zig | 4 +- .../stage1/obj/incompatible_sentinels.zig | 29 +++ .../stage1/obj/incorrect_return_type.zig | 4 +- .../increase_pointer_alignment_in_ptrCast.zig | 4 +- ...indexing_a_undefined_slice_at_comptime.zig | 4 +- .../obj/indexing_an_array_of_size_zero.zig | 4 +- ..._array_of_size_zero_with_runtime_index.zig | 4 +- .../obj/indexing_single-item_pointer.zig | 4 +- ..._recursion_of_async_functions_detected.zig | 4 +- .../stage1/obj/indirect_struct_loop.zig | 4 +- .../obj/inferred_array_size_invalid_here.zig | 4 +- ...nferring_error_set_of_function_pointer.zig | 4 +- .../initializing_array_with_struct_syntax.zig | 4 +- ...an_invalid_struct_that_contains_itself.zig | 4 +- .../obj/intToPtr_with_misaligned_address.zig | 4 +- .../obj/int_to_err_global_invalid_number.zig | 4 +- .../int_to_err_non_global_invalid_number.zig | 4 +- .../stage1/obj/int_to_ptr_of_0_bits.zig | 4 +- .../obj/integer_cast_truncates_bits.zig | 4 +- .../stage1/obj/integer_overflow_error.zig | 4 +- .../stage1/obj/integer_underflow_error.zig | 4 +- .../stage1/obj/invalid_break_expression.zig | 4 +- .../stage1/obj/invalid_builtin_fn.zig | 4 +- ...nvalid_cast_from_integral_type_to_enum.zig | 4 +- ...valid_comparison_for_function_pointers.zig | 4 +- .../obj/invalid_continue_expression.zig | 4 +- .../obj/invalid_deref_on_switch_target.zig | 4 +- .../obj/invalid_empty_unicode_escape.zig | 4 +- .../invalid_exponent_in_float_literal-1.zig | 4 +- .../invalid_exponent_in_float_literal-2.zig | 4 +- .../obj/invalid_field_access_in_comptime.zig | 4 +- ...valid_field_in_struct_value_expression.zig | 4 +- .../stage1/obj/invalid_float_literal.zig | 4 +- .../obj/invalid_legacy_unicode_escape.zig | 4 +- .../stage1/obj/invalid_maybe_type.zig | 4 +- .../obj/invalid_member_of_builtin_enum.zig | 4 +- .../obj/invalid_multiple_dereferences.zig | 4 +- ...invalid_optional_type_in_extern_struct.zig | 4 +- .../obj/invalid_pointer_for_var_type.zig | 4 +- .../stage1/obj/invalid_pointer_syntax.zig | 4 +- .../stage1/obj/invalid_shift_amount_error.zig | 4 +- .../stage1/obj/invalid_struct_field.zig | 4 +- .../invalid_suspend_in_exported_function.zig | 4 +- .../stage1/obj/invalid_type.zig | 4 +- .../obj/invalid_type_used_in_array_type.zig | 4 +- ...nderscore_placement_in_float_literal-1.zig | 4 +- ...derscore_placement_in_float_literal-10.zig | 4 +- ...derscore_placement_in_float_literal-11.zig | 4 +- ...derscore_placement_in_float_literal-12.zig | 4 +- ...derscore_placement_in_float_literal-13.zig | 4 +- ...derscore_placement_in_float_literal-14.zig | 4 +- ...nderscore_placement_in_float_literal-2.zig | 4 +- ...nderscore_placement_in_float_literal-3.zig | 4 +- ...nderscore_placement_in_float_literal-4.zig | 4 +- ...nderscore_placement_in_float_literal-5.zig | 4 +- ...nderscore_placement_in_float_literal-6.zig | 4 +- ...nderscore_placement_in_float_literal-7.zig | 4 +- ...nderscore_placement_in_float_literal-9.zig | 4 +- ..._underscore_placement_in_int_literal-1.zig | 4 +- ..._underscore_placement_in_int_literal-2.zig | 4 +- ..._underscore_placement_in_int_literal-3.zig | 4 +- ..._underscore_placement_in_int_literal-4.zig | 4 +- ...invalid_union_field_access_in_comptime.zig | 4 +- ...gnostic_string_for_top_level_decl_type.zig | 4 +- ..._from_undefined_array_pointer_to_slice.zig | 4 +- ..._3818_bitcast_from_parray-slice_to_u16.zig | 4 +- ...terminated-slice_to_terminated-pointer.zig | 4 +- ...d_by_typeInfo_and_passed_into_function.zig | 4 +- ...ional_anyopaque_to_anyopaque_must_fail.zig | 4 +- ...time_slice-len_increment_beyond_bounds.zig | 4 +- ..._9346_return_outside_of_function_scope.zig | 4 +- .../stage1/obj/labeled_break_not_found.zig | 4 +- .../stage1/obj/labeled_continue_not_found.zig | 4 +- ...zy_pointer_with_undefined_element_type.zig | 4 +- .../stage1/obj/libc_headers_note.zig | 12 + ...es_from_comptime_reinterpreted_pointer.zig | 4 +- ...tor_pointer_with_unknown_runtime_index.zig | 4 +- ...local_shadows_global_that_occurs_later.zig | 4 +- .../obj/local_variable_redeclaration.zig | 4 +- .../local_variable_redeclares_parameter.zig | 4 +- .../obj/local_variable_shadowing_global.zig | 4 +- .../locally_shadowing_a_primitive_type.zig | 4 +- .../main_function_with_bogus_args_type.zig | 4 +- ...hod_call_with_first_arg_type_primitive.zig | 4 +- ...ll_with_first_arg_type_wrong_container.zig | 4 +- .../obj/missing_boolean_switch_value.zig | 4 +- ..._const_in_slice_with_nested_array_type.zig | 4 +- .../stage1/obj/missing_else_clause.zig | 4 +- ...ssing_field_in_struct_value_expression.zig | 4 +- .../obj/missing_function_call_param.zig | 4 +- .../stage1/obj/missing_function_name.zig | 4 +- .../stage1/obj/missing_param_name.zig | 4 +- ...ing_parameter_name_of_generic_function.zig | 4 +- .../obj/missing_result_type_for_phi_node.zig | 4 +- ...elled_type_with_pointer_only_reference.zig | 4 +- .../obj/mod_assign_on_undefined_value.zig | 4 +- .../stage1/obj/mod_on_undefined_value.zig | 4 +- .../mul_overflow_in_function_evaluation.zig | 4 +- .../obj/mult_assign_on_undefined_value.zig | 4 +- .../stage1/obj/mult_on_undefined_value.zig | 4 +- .../mult_wrap_assign_on_undefined_value.zig | 4 +- .../obj/mult_wrap_on_undefined_value.zig | 4 +- .../obj/multiple_function_definitions.zig | 4 +- .../stage1/obj/negate_on_undefined_value.zig | 4 +- .../obj/negate_wrap_on_undefined_value.zig | 4 +- ...gation_overflow_in_function_evaluation.zig | 4 +- .../stage1/obj/nested_error_set_mismatch.zig | 4 +- ...se_prong_on_switch_on_global_error_set.zig | 4 +- .../obj/noalias_on_non_pointer_param.zig | 4 +- ...eventually_is_inferred_to_become_async.zig | 4 +- ...h_struct_return_value_outside_function.zig | 4 +- ...ion_in_struct_literal_outside_function.zig | 4 +- .../obj/non-const_switch_number_literal.zig | 4 +- ...of_things_that_require_const_variables.zig | 4 +- .../obj/non-enum_tag_type_passed_to_union.zig | 4 +- .../obj/non-extern_function_with_var_args.zig | 4 +- ..._loop_on_a_type_that_requires_comptime.zig | 4 +- ...teger_tag_type_to_automatic_union_enum.zig | 4 +- .../obj/non-pure_function_returns_type.zig | 4 +- ...c_function_pointer_passed_to_asyncCall.zig | 4 +- .../non_compile_time_array_concatenation.zig | 4 +- .../non_constant_expression_in_array_size.zig | 4 +- ...sets_used_in_merge_error_sets_operator.zig | 4 +- .../obj/non_float_passed_to_floatToInt.zig | 4 +- .../obj/non_int_passed_to_intToFloat.zig | 4 +- .../obj/non_pointer_given_to_ptrToInt.zig | 4 +- .../stage1/obj/normal_string_with_newline.zig | 4 +- .../stage1/obj/offsetOf-bad_field_name.zig | 4 +- .../stage1/obj/offsetOf-non_struct.zig | 4 +- ...binary_operator_allowed_for_error_sets.zig | 4 +- .../stage1/obj/opaque_type_with_field.zig | 4 +- ...ional_pointer_to_void_in_extern_struct.zig | 4 +- .../stage1/obj/or_on_undefined_value.zig | 4 +- .../stage1/obj/orelse_on_undefined_value.zig | 4 +- ...ange_comptime_int_passed_to_floatToInt.zig | 4 +- .../obj/overflow_in_enum_value_allocation.zig | 4 +- .../obj/packed_union_given_enum_tag_type.zig | 4 +- ...cked_union_with_automatic_layout_field.zig | 4 +- .../obj/panic_called_at_compile_time.zig | 4 +- .../stage1/obj/parameter_redeclaration.zig | 4 +- .../stage1/obj/parameter_shadowing_global.zig | 4 +- .../obj/pass_const_ptr_to_mutable_ptr_fn.zig | 4 +- ..._not-aligned-enough_pointer_to_cmpxchg.zig | 4 +- ...sing_an_under-aligned_function_pointer.zig | 4 +- ...ast_const_pointer_to_mutable_C_pointer.zig | 4 +- ...pointer_arithmetic_on_pointer-to-array.zig | 4 +- ..._when_coercing_pointer_to_anon_literal.zig | 4 +- .../stage1/obj/pointer_to_noreturn.zig | 4 +- .../stage1/obj/popCount-non-integer.zig | 4 +- ...bad_implicit_casting_of_anyframe_types.zig | 4 +- ...ives_take_precedence_over_declarations.zig | 4 +- ...Cast_a_0_bit_type_to_a_non-_0_bit_type.zig | 4 +- .../obj/ptrCast_discards_const_qualifier.zig | 4 +- .../ptrToInt_0_to_non_optional_pointer.zig | 4 +- .../stage1/obj/ptrToInt_on_void.zig | 4 +- .../stage1/obj/ptrcast_to_non-pointer.zig | 4 +- ...e_operator_in_switch_used_on_error_set.zig | 4 +- ...ading_past_end_of_pointer_casted_array.zig | 4 +- .../obj/recursive_inferred_error_set.zig | 4 +- .../stage1/obj/redefinition_of_enums.zig | 4 +- .../obj/redefinition_of_global_variables.zig | 4 +- .../stage1/obj/redefinition_of_struct.zig | 4 +- ...efer_to_the_type_of_a_generic_function.zig | 4 +- .../referring_to_a_struct_that_is_invalid.zig | 4 +- ...when_assigning_a_value_within_a_struct.zig | 4 +- .../reify_type.Fn_with_is_generic_true.zig | 4 +- ...th_is_var_args_true_and_non-C_callconv.zig | 4 +- .../reify_type.Fn_with_return_type_null.zig | 4 +- ...ype.Pointer_with_invalid_address_space.zig | 4 +- ...austive_enum_with_non-integer_tag_type.zig | 4 +- ...xhaustive_enum_with_undefined_tag_type.zig | 4 +- ...e_for_exhaustive_enum_with_zero_fields.zig | 4 +- ...for_tagged_union_with_extra_enum_field.zig | 4 +- ...or_tagged_union_with_extra_union_field.zig | 4 +- ...reify_type_for_union_with_opaque_field.zig | 4 +- .../reify_type_for_union_with_zero_fields.zig | 4 +- .../reify_type_union_payload_is_undefined.zig | 4 +- .../stage1/obj/reify_type_with_Type.Int.zig | 4 +- ...eify_type_with_non-constant_expression.zig | 4 +- .../stage1/obj/reify_type_with_undefined.zig | 4 +- ...ompatibility_mismatching_handle_is_ptr.zig | 4 +- ...mismatching_handle_is_ptr_generic_call.zig | 4 +- .../obj/return_from_defer_expression.zig | 4 +- ...turning_error_from_void_async_function.zig | 4 +- .../runtime-known_async_function_called.zig | 4 +- ...own_function_called_with_async_keyword.zig | 4 +- ...ime_assignment_to_comptime_struct_type.zig | 4 +- ...time_assignment_to_comptime_union_type.zig | 4 +- ...ast_to_union_which_has_non-void_fields.zig | 4 +- ...runtime_index_into_comptime_type_slice.zig | 4 +- ...ating_arithmetic_does_not_allow_floats.zig | 4 +- ...oes_not_allow_negative_rhs_at_comptime.zig | 4 +- ...oes_not_allow_negative_rhs_at_comptime.zig | 4 +- .../obj/setAlignStack_in_inline_function.zig | 4 +- .../obj/setAlignStack_in_naked_function.zig | 4 +- .../obj/setAlignStack_outside_function.zig | 4 +- .../stage1/obj/setAlignStack_set_twice.zig | 4 +- .../stage1/obj/setAlignStack_too_big.zig | 4 +- .../obj/setFloatMode_twice_for_same_scope.zig | 4 +- .../setRuntimeSafety_twice_for_same_scope.zig | 4 +- .../setting_a_section_on_a_local_variable.zig | 4 +- ...shift_amount_has_to_be_an_integer_type.zig | 4 +- .../shift_by_negative_comptime_integer.zig | 4 +- .../shift_left_assign_on_undefined_value.zig | 4 +- .../obj/shift_left_on_undefined_value.zig | 4 +- .../shift_right_assign_on_undefined_value.zig | 4 +- .../obj/shift_right_on_undefined_value.zig | 4 +- ...fting_RHS_is_log2_of_LHS_int_bit_width.zig | 4 +- ...ing_without_int_type_or_comptime_known.zig | 4 +- .../stage1/obj/shlExact_shifts_out_1_bits.zig | 4 +- .../stage1/obj/shrExact_shifts_out_1_bits.zig | 4 +- .../stage1/obj/signed_integer_division.zig | 4 +- .../obj/signed_integer_remainder_division.zig | 4 +- .../stage1/obj/sizeOf_bad_type.zig | 4 +- ...ce_cannot_have_its_bytes_reinterpreted.zig | 4 +- .../obj/slice_passed_as_array_init_type.zig | 4 +- ...e_passed_as_array_init_type_with_elems.zig | 4 +- .../stage1/obj/slice_sentinel_mismatch-1.zig | 4 +- .../stage1/obj/slice_sentinel_mismatch-2.zig | 4 +- .../slicing_of_global_undefined_pointer.zig | 4 +- .../obj/slicing_single-item_pointer.zig | 4 +- ...pecify_enum_tag_type_that_is_too_small.zig | 4 +- .../obj/specify_non-integer_enum_tag_type.zig | 4 +- .../stage1/obj/src_outside_function.zig | 4 +- .../std.fmt_error_for_unused_arguments.zig | 4 +- ...tor_pointer_with_unknown_runtime_index.zig | 4 +- ...in_compile_time_variable_then_using_it.zig | 4 +- ...t_depends_on_itself_via_optional_field.zig | 4 +- .../stage1/obj/struct_field_missing_type.zig | 4 +- .../obj/struct_init_syntax_for_array.zig | 4 +- ...eclarations_unavailable_for_reify_type.zig | 4 +- .../stage1/obj/struct_with_invalid_field.zig | 4 +- .../obj/sub_assign_on_undefined_value.zig | 4 +- .../stage1/obj/sub_on_undefined_value.zig | 4 +- .../sub_overflow_in_function_evaluation.zig | 4 +- .../sub_wrap_assign_on_undefined_value.zig | 4 +- .../obj/sub_wrap_on_undefined_value.zig | 4 +- .../obj/suspend_inside_suspend_block.zig | 4 +- ...expression-duplicate_enumeration_prong.zig | 4 +- ...te_enumeration_prong_when_else_present.zig | 4 +- ...duplicate_or_overlapping_integer_value.zig | 4 +- .../obj/switch_expression-duplicate_type.zig | 4 +- ...expression-duplicate_type_struct_alias.zig | 4 +- ...h_expression-missing_enumeration_prong.zig | 4 +- ...switch_expression-multiple_else_prongs.zig | 4 +- ...pression-non_exhaustive_integer_prongs.zig | 4 +- ...on-switch_on_pointer_type_with_no_else.zig | 4 +- ...expression-unreachable_else_prong_bool.zig | 4 +- ...expression-unreachable_else_prong_enum.zig | 4 +- ...ession-unreachable_else_prong_range_i8.zig | 4 +- ...ession-unreachable_else_prong_range_u8.zig | 4 +- ...h_expression-unreachable_else_prong_u1.zig | 4 +- ...h_expression-unreachable_else_prong_u2.zig | 4 +- ...ch_on_enum_with_1_field_with_no_prongs.zig | 4 +- .../switch_on_union_with_no_attached_enum.zig | 4 +- ...itch_with_invalid_expression_parameter.zig | 4 +- .../switch_with_overlapping_case_ranges.zig | 4 +- ...d_on_union_with_no_associated_enum_tag.zig | 4 +- .../obj/take_slice_of_invalid_dereference.zig | 4 +- ...ing_bit_offset_of_void_field_in_struct.zig | 4 +- ...ng_byte_offset_of_void_field_in_struct.zig | 4 +- .../obj/threadlocal_qualifier_on_const.zig | 4 +- .../obj/top_level_decl_dependency_loop.zig | 4 +- .../stage1/obj/truncate_sign_mismatch.zig | 4 +- .../stage1/obj/truncate_undefined_value.zig | 4 +- ...in_function_with_non_error_return_type.zig | 4 +- .../obj/type_checking_function_pointers.zig | 4 +- .../obj/type_variables_must_be_constant.zig | 4 +- .../stage1/obj/undeclared_identifier.zig | 4 +- ...ntifier_error_should_mark_fn_as_impure.zig | 4 +- ...clared_identifier_in_unanalyzed_branch.zig | 4 +- .../undefined_as_field_type_is_rejected.zig | 4 +- .../stage1/obj/undefined_function_call.zig | 4 +- .../underscore_is_not_a_declarable_symbol.zig | 4 +- ...rscore_should_not_be_usable_inside_for.zig | 4 +- ...core_should_not_be_usable_inside_while.zig | 4 +- ...should_not_be_usable_inside_while_else.zig | 4 +- .../union_auto-enum_value_already_taken.zig | 4 +- .../union_enum_field_does_not_match_enum.zig | 4 +- .../union_fields_with_value_assignments.zig | 4 +- .../stage1/obj/union_with_0_fields.zig | 4 +- .../union_with_specified_enum_omits_field.zig | 4 +- ...ith_too_small_explicit_signed_tag_type.zig | 4 +- ...h_too_small_explicit_unsigned_tag_type.zig | 4 +- .../obj/unknown_length_pointer_to_opaque.zig | 4 +- .../obj/unreachable_code-double_break.zig | 4 +- .../obj/unreachable_code-nested_returns.zig | 4 +- .../stage1/obj/unreachable_code.zig | 4 +- .../obj/unreachable_executed_at_comptime.zig | 4 +- .../stage1/obj/unreachable_parameter.zig | 4 +- .../stage1/obj/unreachable_variable.zig | 4 +- .../stage1/obj/unreachable_with_return.zig | 4 +- ...fier_at_start_of_asm_output_constraint.zig | 4 +- .../obj/unused_variable_error_on_errdefer.zig | 4 +- ...use_anyopaque_as_return_type_of_fn_ptr.zig | 4 +- ...to_assign_null_to_non-nullable_pointer.zig | 4 +- ..._invalid_number_literal_as_array_index.zig | 4 +- ...omptime-known_undefined_function_value.zig | 4 +- .../obj/use_of_undeclared_identifier.zig | 4 +- ..._unknown_len_ptr_type_instead_of_array.zig | 4 +- ...types_in_function_call_raises_an_error.zig | 4 +- .../obj/usingnamespace_with_wrong_type.zig | 4 +- .../stage1/obj/variable_has_wrong_type.zig | 4 +- ...line_assembly_template_cannot_be_found.zig | 12 + ...lization_compile_error_then_referenced.zig | 4 +- .../obj/variable_with_type_noreturn.zig | 4 +- .../stage1/obj/vector_index_out_of_bounds.zig | 4 +- .../obj/volatile_on_global_assembly.zig | 4 +- ...is_a_compile_error_in_non-Wasm_targets.zig | 4 +- ...is_a_compile_error_in_non-Wasm_targets.zig | 4 +- .../while_expected_bool_got_error_union.zig | 4 +- .../obj/while_expected_bool_got_optional.zig | 4 +- .../while_expected_error_union_got_bool.zig | 4 +- ...hile_expected_error_union_got_optional.zig | 4 +- .../obj/while_expected_optional_got_bool.zig | 4 +- ...hile_expected_optional_got_error_union.zig | 4 +- .../while_loop_body_expression_ignored.zig | 4 +- .../obj/write_to_const_global_variable.zig | 4 +- .../wrong_frame_type_used_for_async_call.zig | 4 +- .../stage1/obj/wrong_function_type.zig | 4 +- ...ializer_for_union_payload_of_type_type.zig | 4 +- .../stage1/obj/wrong_number_of_arguments.zig | 4 +- ...number_of_arguments_for_method_fn_call.zig | 4 +- ...wrong_panic_signature_generic_function.zig | 4 +- ...wrong_panic_signature_runtime_function.zig | 4 +- ...ointer_coerced_to_pointer_to_opaque_{}.zig | 4 +- .../stage1/obj/wrong_return_type_for_main.zig | 4 +- .../obj/wrong_size_to_an_array_literal.zig | 4 +- ...g_type_for_argument_tuple_to_asyncCall.zig | 4 +- .../stage1/obj/wrong_type_for_reify_type.zig | 4 +- ...wrong_type_for_result_ptr_to_asyncCall.zig | 4 +- .../stage1/obj/wrong_type_passed_to_panic.zig | 4 +- .../stage1/obj/wrong_type_to_hasField.zig | 4 +- ..._given_to_atomic_order_args_in_cmpxchg.zig | 4 +- .../obj/wrong_types_given_to_export.zig | 4 +- .../test/access_invalid_typeInfo_decl.zig | 5 +- .../test/alignCast_of_zero_sized_types.zig | 5 +- .../stage1/test/bad_splat_type.zig | 5 +- .../test/binary_OR_operator_on_error_sets.zig | 5 +- ...ts_non_comptime-known_fn-always_inline.zig | 5 +- ...cts_non_comptime-known_fn-compile_time.zig | 5 +- ...en_optional_T_where_T_is_not_a_pointer.zig | 5 +- .../combination_of_nosuspend_and_async.zig | 5 +- ...n_of_non-tagged_union_and_enum_literal.zig | 5 +- ...mptime_vector_overflow_shows_the_index.zig | 5 +- ...cate_field_in_anonymous_struct_literal.zig | 5 +- ..._initializer_doesnt_crash_the_compiler.zig | 5 +- ...rors_in_for_loop_bodies_are_propagated.zig | 5 +- .../test/export_with_empty_name_string.zig | 5 +- .../helpful_return_type_error_message.zig | 5 +- ...float_conversion_to_comptime_int-float.zig | 5 +- .../stage1/test/invalid_assignments.zig | 5 +- .../stage1/test/invalid_float_casts.zig | 5 +- .../stage1/test/invalid_int_casts.zig | 5 +- .../invalid_non-exhaustive_enum_to_union.zig | 5 +- .../test/invalid_pointer_with_reify_type.zig | 5 +- .../stage1/test/nested_vectors.zig | 5 +- ...xhaustive_enum_marker_assigned_a_value.zig | 5 +- .../stage1/test/non-exhaustive_enums.zig | 5 +- .../stage1/test/not_an_enum_type.zig | 5 +- ...truct_with_fields_of_not_allowed_types.zig | 5 +- ...rToInt_with_pointer_to_zero-sized_type.zig | 5 +- .../test/reassign_to_array_parameter.zig | 5 +- .../test/reassign_to_slice_parameter.zig | 5 +- .../test/reassign_to_struct_parameter.zig | 5 +- .../stage1/test/reference_to_const_data.zig | 5 +- ...ify_typeOf_with_incompatible_arguments.zig | 5 +- .../test/reify_typeOf_with_no_arguments.zig | 5 +- ..._extern_function_definitions_with_body.zig | 5 +- ...ect_extern_variables_with_initializers.zig | 5 +- ...n_returning_type_crashes_compiler_2655.zig | 5 +- .../test/return_invalid_type_from_test.zig | 5 +- ...ift_on_type_with_non-power-of-two_size.zig | 5 +- ...elected_index_past_first_vector_length.zig | 5 +- .../switch_ranges_endpoints_are_validated.zig | 5 +- ...hing_with_exhaustive_enum_has___prong_.zig | 5 +- .../switching_with_non-exhaustive_enums.zig | 5 +- ...n_invalid_value_of_non-exhaustive_enum.zig | 5 +- ...e_mismatch_in_C_prototype_with_varargs.zig | 5 +- ...type_mismatch_with_tuple_concatenation.zig | 5 +- ...de_comptime_function_has_compile_error.zig | 1 + .../stage2/duplicate-unused_labels.zig | 1 + .../stage2/embed_outside_package.zig | 1 + .../stage2/import_outside_package.zig | 1 + .../stage2/out_of_bounds_index.zig | 1 + .../stage2/slice_of_null_pointer.zig | 1 + .../stage2/struct_duplicate_field_name.zig | 1 + .../stage2/union_access_of_inactive_field.zig | 1 + .../stage2/union_duplicate_enum_field.zig | 1 + .../union_duplicate_field_definition.zig | 1 + .../stage2/union_enum_field_missing.zig | 1 + .../stage2/union_extra_field.zig | 1 + .../union_runtime_coercion_from_enum.zig | 1 + 678 files changed, 2175 insertions(+), 902 deletions(-) create mode 100644 test/compile_errors/stage1/obj/align_n_expr_function_pointers_is_a_compile_error.zig create mode 100644 test/compile_errors/stage1/obj/bad_alignment_in_asynccall.zig create mode 100644 test/compile_errors/stage1/obj/call_with_new_stack_on_unsupported_target.zig create mode 100644 test/compile_errors/stage1/obj/callconv_apcs_aapcs_aapcsvfp_on_unsupported_platform.zig create mode 100644 test/compile_errors/stage1/obj/callconv_interrupt_on_unsupported_platform.zig create mode 100644 test/compile_errors/stage1/obj/callconv_signal_on_unsupported_platform.zig create mode 100644 test/compile_errors/stage1/obj/callconv_stdcall_fastcall_thiscall_on_unsupported_platform-0.zig create mode 100644 test/compile_errors/stage1/obj/callconv_stdcall_fastcall_thiscall_on_unsupported_platform-1.zig create mode 100644 test/compile_errors/stage1/obj/callconv_vectorcall_on_unsupported_platform.zig create mode 100644 test/compile_errors/stage1/obj/implicit_dependency_on_libc.zig create mode 100644 test/compile_errors/stage1/obj/incompatible_sentinels.zig create mode 100644 test/compile_errors/stage1/obj/libc_headers_note.zig create mode 100644 test/compile_errors/stage1/obj/variable_in_inline_assembly_template_cannot_be_found.zig diff --git a/src/test.zig b/src/test.zig index 3579370c04..adcfeb8dff 100644 --- a/src/test.zig +++ b/src/test.zig @@ -34,15 +34,12 @@ test { var ctx = TestContext.init(std.testing.allocator, arena); defer ctx.deinit(); - const compile_errors_dir_path = try std.fs.path.join(arena, &.{ - std.fs.path.dirname(@src().file).?, "..", "test", "compile_errors", - }); - - var compile_errors_dir = try std.fs.cwd().openDir(compile_errors_dir_path, .{}); - defer compile_errors_dir.close(); - { - var dir = try compile_errors_dir.openDir("stage2", .{ .iterate = true }); + const dir_path = try std.fs.path.join(arena, &.{ + std.fs.path.dirname(@src().file).?, "..", "test", "compile_errors", + }); + + var dir = try std.fs.cwd().openDir(dir_path, .{ .iterate = true }); defer dir.close(); // TODO make this incremental once the bug is solved that it triggers @@ -50,28 +47,6 @@ test { ctx.addTestCasesFromDir(dir, .independent); } - if (!skip_stage1) { - var stage1_dir = try compile_errors_dir.openDir("stage1", .{}); - defer stage1_dir.close(); - - const Config = struct { - name: []const u8, - is_test: bool, - output_mode: std.builtin.OutputMode, - }; - - for ([_]Config{ - .{ .name = "obj", .is_test = false, .output_mode = .Obj }, - .{ .name = "exe", .is_test = false, .output_mode = .Exe }, - .{ .name = "test", .is_test = true, .output_mode = .Exe }, - }) |config| { - var dir = try stage1_dir.openDir(config.name, .{ .iterate = true }); - defer dir.close(); - - ctx.addErrorCasesFromDir("stage1", dir, .stage1, config.output_mode, config.is_test, .independent); - } - } - { const dir_path = try std.fs.path.join(arena, &.{ std.fs.path.dirname(@src().file).?, "..", "test", "incremental", diff --git a/test/cases.zig b/test/cases.zig index 3e340dcddb..65eec90f1b 100644 --- a/test/cases.zig +++ b/test/cases.zig @@ -1,11 +1,6 @@ const std = @import("std"); const TestContext = @import("../src/test.zig").TestContext; -// Self-hosted has differing levels of support for various architectures. For now we pass explicit -// target parameters to each test case. At some point we will take this to the next level and have -// a set of targets that all test cases run on unless specifically overridden. For now, each test -// case applies to only the specified target. - pub fn addCases(ctx: *TestContext) !void { try @import("compile_errors.zig").addCases(ctx); try @import("stage2/cbe.zig").addCases(ctx); diff --git a/test/compile_errors.zig b/test/compile_errors.zig index d0e4156f18..f79d2b8e92 100644 --- a/test/compile_errors.zig +++ b/test/compile_errors.zig @@ -3,207 +3,6 @@ const builtin = @import("builtin"); const TestContext = @import("../src/test.zig").TestContext; pub fn addCases(ctx: *TestContext) !void { - { - const case = ctx.obj("callconv(.Interrupt) on unsupported platform", .{ - .cpu_arch = .aarch64, - .os_tag = .linux, - .abi = .none, - }); - case.backend = .stage1; - case.addError( - \\export fn entry() callconv(.Interrupt) void {} - , &[_][]const u8{ - "tmp.zig:1:28: error: callconv 'Interrupt' is only available on x86, x86_64, AVR, and MSP430, not aarch64", - }); - } - { - var case = ctx.obj("callconv(.Signal) on unsupported platform", .{ - .cpu_arch = .x86_64, - .os_tag = .linux, - .abi = .none, - }); - case.backend = .stage1; - case.addError( - \\export fn entry() callconv(.Signal) void {} - , &[_][]const u8{ - "tmp.zig:1:28: error: callconv 'Signal' is only available on AVR, not x86_64", - }); - } - { - const case = ctx.obj("callconv(.Stdcall, .Fastcall, .Thiscall) on unsupported platform", .{ - .cpu_arch = .x86_64, - .os_tag = .linux, - .abi = .none, - }); - case.backend = .stage1; - case.addError( - \\const F1 = fn () callconv(.Stdcall) void; - \\const F2 = fn () callconv(.Fastcall) void; - \\const F3 = fn () callconv(.Thiscall) void; - \\export fn entry1() void { var a: F1 = undefined; _ = a; } - \\export fn entry2() void { var a: F2 = undefined; _ = a; } - \\export fn entry3() void { var a: F3 = undefined; _ = a; } - , &[_][]const u8{ - "tmp.zig:1:27: error: callconv 'Stdcall' is only available on x86, not x86_64", - "tmp.zig:2:27: error: callconv 'Fastcall' is only available on x86, not x86_64", - "tmp.zig:3:27: error: callconv 'Thiscall' is only available on x86, not x86_64", - }); - } - { - const case = ctx.obj("callconv(.Stdcall, .Fastcall, .Thiscall) on unsupported platform", .{ - .cpu_arch = .x86_64, - .os_tag = .linux, - .abi = .none, - }); - case.backend = .stage1; - case.addError( - \\export fn entry1() callconv(.Stdcall) void {} - \\export fn entry2() callconv(.Fastcall) void {} - \\export fn entry3() callconv(.Thiscall) void {} - , &[_][]const u8{ - "tmp.zig:1:29: error: callconv 'Stdcall' is only available on x86, not x86_64", - "tmp.zig:2:29: error: callconv 'Fastcall' is only available on x86, not x86_64", - "tmp.zig:3:29: error: callconv 'Thiscall' is only available on x86, not x86_64", - }); - } - { - const case = ctx.obj("callconv(.Vectorcall) on unsupported platform", .{ - .cpu_arch = .x86_64, - .os_tag = .linux, - .abi = .none, - }); - case.backend = .stage1; - case.addError( - \\export fn entry() callconv(.Vectorcall) void {} - , &[_][]const u8{ - "tmp.zig:1:28: error: callconv 'Vectorcall' is only available on x86 and AArch64, not x86_64", - }); - } - { - const case = ctx.obj("callconv(.APCS, .AAPCS, .AAPCSVFP) on unsupported platform", .{ - .cpu_arch = .x86_64, - .os_tag = .linux, - .abi = .none, - }); - case.backend = .stage1; - case.addError( - \\export fn entry1() callconv(.APCS) void {} - \\export fn entry2() callconv(.AAPCS) void {} - \\export fn entry3() callconv(.AAPCSVFP) void {} - , &[_][]const u8{ - "tmp.zig:1:29: error: callconv 'APCS' is only available on ARM, not x86_64", - "tmp.zig:2:29: error: callconv 'AAPCS' is only available on ARM, not x86_64", - "tmp.zig:3:29: error: callconv 'AAPCSVFP' is only available on ARM, not x86_64", - }); - } - - { - const case = ctx.obj("call with new stack on unsupported target", .{ - .cpu_arch = .wasm32, - .os_tag = .wasi, - .abi = .none, - }); - case.backend = .stage1; - case.addError( - \\var buf: [10]u8 align(16) = undefined; - \\export fn entry() void { - \\ @call(.{.stack = &buf}, foo, .{}); - \\} - \\fn foo() void {} - , &[_][]const u8{ - "tmp.zig:3:5: error: target arch 'wasm32' does not support calling with a new stack", - }); - } - - // Note: One of the error messages here is backwards. It would be nice to fix, but that's not - // going to stop me from merging this branch which fixes a bunch of other stuff. - ctx.objErrStage1("incompatible sentinels", - \\export fn entry1(ptr: [*:255]u8) [*:0]u8 { - \\ return ptr; - \\} - \\export fn entry2(ptr: [*]u8) [*:0]u8 { - \\ return ptr; - \\} - \\export fn entry3() void { - \\ var array: [2:0]u8 = [_:255]u8{1, 2}; - \\ _ = array; - \\} - \\export fn entry4() void { - \\ var array: [2:0]u8 = [_]u8{1, 2}; - \\ _ = array; - \\} - , &[_][]const u8{ - "tmp.zig:2:12: error: expected type '[*:0]u8', found '[*:255]u8'", - "tmp.zig:2:12: note: destination pointer requires a terminating '0' sentinel, but source pointer has a terminating '255' sentinel", - "tmp.zig:5:12: error: expected type '[*:0]u8', found '[*]u8'", - "tmp.zig:5:12: note: destination pointer requires a terminating '0' sentinel", - - "tmp.zig:8:35: error: expected type '[2:255]u8', found '[2:0]u8'", - "tmp.zig:8:35: note: destination array requires a terminating '255' sentinel, but source array has a terminating '0' sentinel", - "tmp.zig:12:31: error: expected type '[2:0]u8', found '[2]u8'", - "tmp.zig:12:31: note: destination array requires a terminating '0' sentinel", - }); - - { - const case = ctx.obj("variable in inline assembly template cannot be found", .{ - .cpu_arch = .x86_64, - .os_tag = .linux, - .abi = .gnu, - }); - case.backend = .stage1; - case.addError( - \\export fn entry() void { - \\ var sp = asm volatile ( - \\ "mov %[foo], sp" - \\ : [bar] "=r" (-> usize) - \\ ); - \\ _ = sp; - \\} - , &[_][]const u8{ - "tmp.zig:2:14: error: could not find 'foo' in the inputs or outputs", - }); - } - - { - const case = ctx.obj("bad alignment in @asyncCall", .{ - .cpu_arch = .aarch64, - .os_tag = .linux, - .abi = .none, - }); - case.backend = .stage1; - case.addError( - \\export fn entry() void { - \\ var ptr: fn () callconv(.Async) void = func; - \\ var bytes: [64]u8 = undefined; - \\ _ = @asyncCall(&bytes, {}, ptr, .{}); - \\} - \\fn func() callconv(.Async) void {} - , &[_][]const u8{ - "tmp.zig:4:21: error: expected type '[]align(8) u8', found '*[64]u8'", - }); - } - - if (builtin.os.tag == .linux) { - ctx.testErrStage1("implicit dependency on libc", - \\extern "c" fn exit(u8) void; - \\export fn entry() void { - \\ exit(0); - \\} - , &[_][]const u8{ - "tmp.zig:3:5: error: dependency on libc must be explicitly specified in the build command", - }); - - ctx.testErrStage1("libc headers note", - \\const c = @cImport(@cInclude("stdio.h")); - \\export fn entry() void { - \\ _ = c.printf("hello, world!\n"); - \\} - , &[_][]const u8{ - "tmp.zig:1:11: error: C import failed", - "tmp.zig:1:11: note: libc headers not available; compilation does not link against libc", - }); - } - { const case = ctx.obj("wrong same named struct", .{}); case.backend = .stage1; @@ -366,21 +165,4 @@ pub fn addCases(ctx: *TestContext) !void { //, &[_][]const u8{ // "tmp.zig:4:1: error: unable to inline function", //}); - - { - const case = ctx.obj("align(N) expr function pointers is a compile error", .{ - .cpu_arch = .wasm32, - .os_tag = .freestanding, - .abi = .none, - }); - case.backend = .stage1; - - case.addError( - \\export fn foo() align(1) void { - \\ return; - \\} - , &[_][]const u8{ - "tmp.zig:1:23: error: align(N) expr is not allowed on function prototypes in wasm32/wasm64", - }); - } } diff --git a/test/compile_errors/stage1/exe/main_missing_name.zig b/test/compile_errors/stage1/exe/main_missing_name.zig index c029665367..1a53e43cfb 100644 --- a/test/compile_errors/stage1/exe/main_missing_name.zig +++ b/test/compile_errors/stage1/exe/main_missing_name.zig @@ -1,5 +1,8 @@ pub fn (main) void {} -// main missing name +// error +// backend=stage1 +// target=native +// output_mode=Exe // // tmp.zig:1:5: error: missing function name diff --git a/test/compile_errors/stage1/exe/missing_main_fn_in_executable.zig b/test/compile_errors/stage1/exe/missing_main_fn_in_executable.zig index eb9ab469fd..65813abac3 100644 --- a/test/compile_errors/stage1/exe/missing_main_fn_in_executable.zig +++ b/test/compile_errors/stage1/exe/missing_main_fn_in_executable.zig @@ -1,5 +1,8 @@ -// missing main fn in executable +// error +// backend=stage1 +// target=native +// output_mode=Exe // // error: root source file has no member called 'main' diff --git a/test/compile_errors/stage1/exe/private_main_fn.zig b/test/compile_errors/stage1/exe/private_main_fn.zig index da617899a5..5a178389e8 100644 --- a/test/compile_errors/stage1/exe/private_main_fn.zig +++ b/test/compile_errors/stage1/exe/private_main_fn.zig @@ -1,6 +1,9 @@ fn main() void {} -// private main fn +// error +// backend=stage1 +// target=native +// output_mode=Exe // // error: 'main' is private // tmp.zig:1:1: note: declared here diff --git a/test/compile_errors/stage1/obj/C_pointer_pointing_to_non_C_ABI_compatible_type_or_has_align_attr.zig b/test/compile_errors/stage1/obj/C_pointer_pointing_to_non_C_ABI_compatible_type_or_has_align_attr.zig index 24fd0d1b9f..72c58adbd6 100644 --- a/test/compile_errors/stage1/obj/C_pointer_pointing_to_non_C_ABI_compatible_type_or_has_align_attr.zig +++ b/test/compile_errors/stage1/obj/C_pointer_pointing_to_non_C_ABI_compatible_type_or_has_align_attr.zig @@ -5,6 +5,8 @@ export fn a() void { _ = t; } -// C pointer pointing to non C ABI compatible type or has align attr +// error +// backend=stage1 +// target=native // // tmp.zig:3:19: error: C pointers cannot point to non-C-ABI-compatible type 'Foo' diff --git a/test/compile_errors/stage1/obj/C_pointer_to_anyopaque.zig b/test/compile_errors/stage1/obj/C_pointer_to_anyopaque.zig index 3012996145..36c9789d20 100644 --- a/test/compile_errors/stage1/obj/C_pointer_to_anyopaque.zig +++ b/test/compile_errors/stage1/obj/C_pointer_to_anyopaque.zig @@ -4,6 +4,8 @@ export fn a() void { _ = y; } -// C pointer to anyopaque +// error +// backend=stage1 +// target=native // // tmp.zig:3:16: error: C pointers cannot point to opaque types diff --git a/test/compile_errors/stage1/obj/Frame_of_generic_function.zig b/test/compile_errors/stage1/obj/Frame_of_generic_function.zig index b9b2280dd7..d90e53eb46 100644 --- a/test/compile_errors/stage1/obj/Frame_of_generic_function.zig +++ b/test/compile_errors/stage1/obj/Frame_of_generic_function.zig @@ -7,6 +7,8 @@ fn func(comptime T: type) void { _ = x; } -// @Frame() of generic function +// error +// backend=stage1 +// target=native // // tmp.zig:2:16: error: @Frame() of generic function diff --git a/test/compile_errors/stage1/obj/Issue_5586_Make_unary_minus_for_unsigned_types_a_compile_error.zig b/test/compile_errors/stage1/obj/Issue_5586_Make_unary_minus_for_unsigned_types_a_compile_error.zig index d01e68e4eb..e1d498e65f 100644 --- a/test/compile_errors/stage1/obj/Issue_5586_Make_unary_minus_for_unsigned_types_a_compile_error.zig +++ b/test/compile_errors/stage1/obj/Issue_5586_Make_unary_minus_for_unsigned_types_a_compile_error.zig @@ -8,7 +8,9 @@ export fn f2(x: V(4, u32)) V(4, u32) { return -y; } -// Issue #5586: Make unary minus for unsigned types a compile error +// error +// backend=stage1 +// target=native // // tmp.zig:3:12: error: negation of type 'u32' // tmp.zig:8:12: error: negation of type 'u32' diff --git a/test/compile_errors/stage1/obj/Issue_6823_dont_allow_._to_be_followed_by_.zig b/test/compile_errors/stage1/obj/Issue_6823_dont_allow_._to_be_followed_by_.zig index c21df43362..1aa0996ba4 100644 --- a/test/compile_errors/stage1/obj/Issue_6823_dont_allow_._to_be_followed_by_.zig +++ b/test/compile_errors/stage1/obj/Issue_6823_dont_allow_._to_be_followed_by_.zig @@ -3,6 +3,8 @@ fn foo() void { _ = sequence; } -// Issue #6823: don't allow .* to be followed by ** +// error +// backend=stage1 +// target=native // // tmp.zig:2:28: error: '.*' cannot be followed by '*'. Are you missing a space? diff --git a/test/compile_errors/stage1/obj/Issue_9165_windows_tcp_server_compilation_error.zig b/test/compile_errors/stage1/obj/Issue_9165_windows_tcp_server_compilation_error.zig index e3b9d4b009..3d150693f5 100644 --- a/test/compile_errors/stage1/obj/Issue_9165_windows_tcp_server_compilation_error.zig +++ b/test/compile_errors/stage1/obj/Issue_9165_windows_tcp_server_compilation_error.zig @@ -9,6 +9,8 @@ pub fn main() !void { } } -// Issue #9165: windows tcp server compilation error +// error +// backend=stage1 +// target=native // // error: Unsupported OS diff --git a/test/compile_errors/stage1/obj/access_non-existent_member_of_error_set.zig b/test/compile_errors/stage1/obj/access_non-existent_member_of_error_set.zig index 42a54b08cd..caddf36a84 100644 --- a/test/compile_errors/stage1/obj/access_non-existent_member_of_error_set.zig +++ b/test/compile_errors/stage1/obj/access_non-existent_member_of_error_set.zig @@ -4,6 +4,8 @@ comptime { _ = z; } -// access non-existent member of error set +// error +// backend=stage1 +// target=native // // tmp.zig:3:18: error: no error named 'Bar' in 'Foo' diff --git a/test/compile_errors/stage1/obj/accessing_runtime_parameter_from_outer_function.zig b/test/compile_errors/stage1/obj/accessing_runtime_parameter_from_outer_function.zig index 68b23c6a43..73a9e94d44 100644 --- a/test/compile_errors/stage1/obj/accessing_runtime_parameter_from_outer_function.zig +++ b/test/compile_errors/stage1/obj/accessing_runtime_parameter_from_outer_function.zig @@ -12,7 +12,9 @@ export fn entry() void { _ = x; } -// accessing runtime parameter from outer function +// error +// backend=stage1 +// target=native // // tmp.zig:4:24: error: 'y' not accessible from inner function // tmp.zig:3:28: note: crossed function definition here diff --git a/test/compile_errors/stage1/obj/add_assign_on_undefined_value.zig b/test/compile_errors/stage1/obj/add_assign_on_undefined_value.zig index 0076cf1bab..38e4fef81b 100644 --- a/test/compile_errors/stage1/obj/add_assign_on_undefined_value.zig +++ b/test/compile_errors/stage1/obj/add_assign_on_undefined_value.zig @@ -3,6 +3,8 @@ comptime { a += a; } -// add assign on undefined value +// error +// backend=stage1 +// target=native // // tmp.zig:3:5: error: use of undefined value here causes undefined behavior diff --git a/test/compile_errors/stage1/obj/add_on_undefined_value.zig b/test/compile_errors/stage1/obj/add_on_undefined_value.zig index 5f64c6999b..4a66f9c102 100644 --- a/test/compile_errors/stage1/obj/add_on_undefined_value.zig +++ b/test/compile_errors/stage1/obj/add_on_undefined_value.zig @@ -3,6 +3,8 @@ comptime { _ = a + a; } -// add on undefined value +// error +// backend=stage1 +// target=native // // tmp.zig:3:9: error: use of undefined value here causes undefined behavior diff --git a/test/compile_errors/stage1/obj/add_overflow_in_function_evaluation.zig b/test/compile_errors/stage1/obj/add_overflow_in_function_evaluation.zig index b01e005a04..d4fa312482 100644 --- a/test/compile_errors/stage1/obj/add_overflow_in_function_evaluation.zig +++ b/test/compile_errors/stage1/obj/add_overflow_in_function_evaluation.zig @@ -5,6 +5,8 @@ fn add(a: u16, b: u16) u16 { export fn entry() usize { return @sizeOf(@TypeOf(y)); } -// add overflow in function evaluation +// error +// backend=stage1 +// target=native // // tmp.zig:3:14: error: operation caused overflow diff --git a/test/compile_errors/stage1/obj/add_wrap_assign_on_undefined_value.zig b/test/compile_errors/stage1/obj/add_wrap_assign_on_undefined_value.zig index 37dbf9106f..5f9a4c61fc 100644 --- a/test/compile_errors/stage1/obj/add_wrap_assign_on_undefined_value.zig +++ b/test/compile_errors/stage1/obj/add_wrap_assign_on_undefined_value.zig @@ -3,6 +3,8 @@ comptime { a +%= a; } -// add wrap assign on undefined value +// error +// backend=stage1 +// target=native // // tmp.zig:3:5: error: use of undefined value here causes undefined behavior diff --git a/test/compile_errors/stage1/obj/add_wrap_on_undefined_value.zig b/test/compile_errors/stage1/obj/add_wrap_on_undefined_value.zig index 3ba9bd11c6..582b8ec1cf 100644 --- a/test/compile_errors/stage1/obj/add_wrap_on_undefined_value.zig +++ b/test/compile_errors/stage1/obj/add_wrap_on_undefined_value.zig @@ -3,6 +3,8 @@ comptime { _ = a +% a; } -// add wrap on undefined value +// error +// backend=stage1 +// target=native // // tmp.zig:3:9: error: use of undefined value here causes undefined behavior diff --git a/test/compile_errors/stage1/obj/addition_with_non_numbers.zig b/test/compile_errors/stage1/obj/addition_with_non_numbers.zig index 296b9f4103..8f343926f2 100644 --- a/test/compile_errors/stage1/obj/addition_with_non_numbers.zig +++ b/test/compile_errors/stage1/obj/addition_with_non_numbers.zig @@ -5,6 +5,8 @@ const x = Foo {.field = 1} + Foo {.field = 2}; export fn entry() usize { return @sizeOf(@TypeOf(x)); } -// addition with non numbers +// error +// backend=stage1 +// target=native // // tmp.zig:4:28: error: invalid operands to binary expression: 'Foo' and 'Foo' diff --git a/test/compile_errors/stage1/obj/address_of_number_literal.zig b/test/compile_errors/stage1/obj/address_of_number_literal.zig index ee61f2180f..76d321929d 100644 --- a/test/compile_errors/stage1/obj/address_of_number_literal.zig +++ b/test/compile_errors/stage1/obj/address_of_number_literal.zig @@ -3,6 +3,8 @@ const y = &x; fn foo() *const i32 { return y; } export fn entry() usize { return @sizeOf(@TypeOf(foo)); } -// address of number literal +// error +// backend=stage1 +// target=native // // tmp.zig:3:30: error: expected type '*const i32', found '*const comptime_int' diff --git a/test/compile_errors/stage1/obj/alignCast_expects_pointer_or_slice.zig b/test/compile_errors/stage1/obj/alignCast_expects_pointer_or_slice.zig index 91b269cef4..9f76d3ca4f 100644 --- a/test/compile_errors/stage1/obj/alignCast_expects_pointer_or_slice.zig +++ b/test/compile_errors/stage1/obj/alignCast_expects_pointer_or_slice.zig @@ -2,6 +2,8 @@ export fn entry() void { @alignCast(4, @as(u32, 3)); } -// @alignCast expects pointer or slice +// error +// backend=stage1 +// target=native // // tmp.zig:2:19: error: expected pointer or slice, found 'u32' diff --git a/test/compile_errors/stage1/obj/align_n_expr_function_pointers_is_a_compile_error.zig b/test/compile_errors/stage1/obj/align_n_expr_function_pointers_is_a_compile_error.zig new file mode 100644 index 0000000000..bd41b3e657 --- /dev/null +++ b/test/compile_errors/stage1/obj/align_n_expr_function_pointers_is_a_compile_error.zig @@ -0,0 +1,9 @@ +export fn foo() align(1) void { + return; +} + +// error +// backend=stage1 +// target=wasm32-freestanding-none +// +// tmp.zig:1:23: error: align(N) expr is not allowed on function prototypes in wasm32/wasm64 diff --git a/test/compile_errors/stage1/obj/aligned_variable_of_zero-bit_type.zig b/test/compile_errors/stage1/obj/aligned_variable_of_zero-bit_type.zig index 90e690056d..f09f92aca7 100644 --- a/test/compile_errors/stage1/obj/aligned_variable_of_zero-bit_type.zig +++ b/test/compile_errors/stage1/obj/aligned_variable_of_zero-bit_type.zig @@ -3,6 +3,8 @@ export fn f() void { _ = s; } -// aligned variable of zero-bit type +// error +// backend=stage1 +// target=native // // tmp.zig:2:5: error: variable 's' of zero-bit type 'struct:2:12' has no in-memory representation, it cannot be aligned diff --git a/test/compile_errors/stage1/obj/alignment_of_enum_field_specified.zig b/test/compile_errors/stage1/obj/alignment_of_enum_field_specified.zig index cf5cdfd213..9b6f1e452d 100644 --- a/test/compile_errors/stage1/obj/alignment_of_enum_field_specified.zig +++ b/test/compile_errors/stage1/obj/alignment_of_enum_field_specified.zig @@ -7,6 +7,8 @@ export fn entry1() void { _ = x; } -// alignment of enum field specified +// error +// backend=stage1 +// target=native // // tmp.zig:3:7: error: expected ',' after field diff --git a/test/compile_errors/stage1/obj/ambiguous_decl_reference.zig b/test/compile_errors/stage1/obj/ambiguous_decl_reference.zig index 421c41d2c2..82e6a0a24c 100644 --- a/test/compile_errors/stage1/obj/ambiguous_decl_reference.zig +++ b/test/compile_errors/stage1/obj/ambiguous_decl_reference.zig @@ -12,7 +12,9 @@ export fn entry() void { bar(); } -// ambiguous decl reference +// error +// backend=stage1 +// target=native // // tmp.zig:5:13: error: ambiguous reference // tmp.zig:7:9: note: declared here diff --git a/test/compile_errors/stage1/obj/and_on_undefined_value.zig b/test/compile_errors/stage1/obj/and_on_undefined_value.zig index 82363848f3..6071d81062 100644 --- a/test/compile_errors/stage1/obj/and_on_undefined_value.zig +++ b/test/compile_errors/stage1/obj/and_on_undefined_value.zig @@ -3,6 +3,8 @@ comptime { _ = a and a; } -// and on undefined value +// error +// backend=stage1 +// target=native // // tmp.zig:3:9: error: use of undefined value here causes undefined behavior diff --git a/test/compile_errors/stage1/obj/array_access_of_non_array.zig b/test/compile_errors/stage1/obj/array_access_of_non_array.zig index e4420debcd..7045f2fdbd 100644 --- a/test/compile_errors/stage1/obj/array_access_of_non_array.zig +++ b/test/compile_errors/stage1/obj/array_access_of_non_array.zig @@ -7,7 +7,9 @@ export fn g() void { _ = bad[0]; } -// array access of non array +// error +// backend=stage1 +// target=native // // tmp.zig:3:8: error: array access of non-array type 'bool' // tmp.zig:7:12: error: array access of non-array type 'bool' diff --git a/test/compile_errors/stage1/obj/array_access_of_type.zig b/test/compile_errors/stage1/obj/array_access_of_type.zig index 82708eed6c..c0029f2492 100644 --- a/test/compile_errors/stage1/obj/array_access_of_type.zig +++ b/test/compile_errors/stage1/obj/array_access_of_type.zig @@ -3,6 +3,8 @@ export fn foo() void { _ = b; } -// array access of type +// error +// backend=stage1 +// target=native // // tmp.zig:2:14: error: array access of non-array type 'type' diff --git a/test/compile_errors/stage1/obj/array_access_of_undeclared_identifier.zig b/test/compile_errors/stage1/obj/array_access_of_undeclared_identifier.zig index 193a7bf5de..7d16a0d60e 100644 --- a/test/compile_errors/stage1/obj/array_access_of_undeclared_identifier.zig +++ b/test/compile_errors/stage1/obj/array_access_of_undeclared_identifier.zig @@ -2,6 +2,8 @@ export fn f() void { i[i] = i[i]; } -// array access of undeclared identifier +// error +// backend=stage1 +// target=native // // tmp.zig:2:5: error: use of undeclared identifier 'i' diff --git a/test/compile_errors/stage1/obj/array_access_with_non_integer_index.zig b/test/compile_errors/stage1/obj/array_access_with_non_integer_index.zig index 1a3e17d896..de0a58656c 100644 --- a/test/compile_errors/stage1/obj/array_access_with_non_integer_index.zig +++ b/test/compile_errors/stage1/obj/array_access_with_non_integer_index.zig @@ -9,7 +9,9 @@ export fn g() void { _ = array[bad]; } -// array access with non integer index +// error +// backend=stage1 +// target=native // // tmp.zig:4:11: error: expected type 'usize', found 'bool' // tmp.zig:9:15: error: expected type 'usize', found 'bool' diff --git a/test/compile_errors/stage1/obj/array_concatenation_with_wrong_type.zig b/test/compile_errors/stage1/obj/array_concatenation_with_wrong_type.zig index 91036e5f25..ccddc7efbd 100644 --- a/test/compile_errors/stage1/obj/array_concatenation_with_wrong_type.zig +++ b/test/compile_errors/stage1/obj/array_concatenation_with_wrong_type.zig @@ -4,6 +4,8 @@ const a = derp ++ "foo"; export fn entry() usize { return @sizeOf(@TypeOf(a)); } -// array concatenation with wrong type +// error +// backend=stage1 +// target=native // // tmp.zig:3:11: error: expected array, found 'usize' diff --git a/test/compile_errors/stage1/obj/array_in_c_exported_function.zig b/test/compile_errors/stage1/obj/array_in_c_exported_function.zig index fe03d220b1..5137755474 100644 --- a/test/compile_errors/stage1/obj/array_in_c_exported_function.zig +++ b/test/compile_errors/stage1/obj/array_in_c_exported_function.zig @@ -6,7 +6,9 @@ export fn zig_return_array() [10]u8 { return "1234567890".*; } -// array in c exported function +// error +// backend=stage1 +// target=native // // tmp.zig:1:24: error: parameter of type '[10]u8' not allowed in function with calling convention 'C' // tmp.zig:5:30: error: return type '[10]u8' not allowed in function with calling convention 'C' diff --git a/test/compile_errors/stage1/obj/asm_at_compile_time.zig b/test/compile_errors/stage1/obj/asm_at_compile_time.zig index e08b500c6e..fcfd5e7da6 100644 --- a/test/compile_errors/stage1/obj/asm_at_compile_time.zig +++ b/test/compile_errors/stage1/obj/asm_at_compile_time.zig @@ -10,6 +10,8 @@ fn doSomeAsm() void { ); } -// asm at compile time +// error +// backend=stage1 +// target=native // // tmp.zig:6:5: error: unable to evaluate constant expression diff --git a/test/compile_errors/stage1/obj/assign_inline_fn_to_non-comptime_var.zig b/test/compile_errors/stage1/obj/assign_inline_fn_to_non-comptime_var.zig index aa7bb91d1b..7714bb7282 100644 --- a/test/compile_errors/stage1/obj/assign_inline_fn_to_non-comptime_var.zig +++ b/test/compile_errors/stage1/obj/assign_inline_fn_to_non-comptime_var.zig @@ -4,7 +4,9 @@ export fn entry() void { } fn b() callconv(.Inline) void { } -// assign inline fn to non-comptime var +// error +// backend=stage1 +// target=native // // tmp.zig:2:5: error: functions marked inline must be stored in const or comptime var // tmp.zig:5:1: note: declared here diff --git a/test/compile_errors/stage1/obj/assign_null_to_non-optional_pointer.zig b/test/compile_errors/stage1/obj/assign_null_to_non-optional_pointer.zig index 9c1aaf5031..110d6c2629 100644 --- a/test/compile_errors/stage1/obj/assign_null_to_non-optional_pointer.zig +++ b/test/compile_errors/stage1/obj/assign_null_to_non-optional_pointer.zig @@ -2,6 +2,8 @@ const a: *u8 = null; export fn entry() usize { return @sizeOf(@TypeOf(a)); } -// assign null to non-optional pointer +// error +// backend=stage1 +// target=native // // tmp.zig:1:16: error: expected type '*u8', found '@Type(.Null)' diff --git a/test/compile_errors/stage1/obj/assign_through_constant_pointer.zig b/test/compile_errors/stage1/obj/assign_through_constant_pointer.zig index 452e3ea617..69ba383843 100644 --- a/test/compile_errors/stage1/obj/assign_through_constant_pointer.zig +++ b/test/compile_errors/stage1/obj/assign_through_constant_pointer.zig @@ -3,6 +3,8 @@ export fn f() void { cstr[0] = 'W'; } -// assign through constant pointer +// error +// backend=stage1 +// target=native // // tmp.zig:3:13: error: cannot assign to constant diff --git a/test/compile_errors/stage1/obj/assign_through_constant_slice.zig b/test/compile_errors/stage1/obj/assign_through_constant_slice.zig index e36991897b..55d2e7e7c7 100644 --- a/test/compile_errors/stage1/obj/assign_through_constant_slice.zig +++ b/test/compile_errors/stage1/obj/assign_through_constant_slice.zig @@ -3,6 +3,8 @@ export fn f() void { cstr[0] = 'W'; } -// assign through constant slice +// error +// backend=stage1 +// target=native // // tmp.zig:3:13: error: cannot assign to constant diff --git a/test/compile_errors/stage1/obj/assign_to_constant_field.zig b/test/compile_errors/stage1/obj/assign_to_constant_field.zig index f371655fb5..610818118a 100644 --- a/test/compile_errors/stage1/obj/assign_to_constant_field.zig +++ b/test/compile_errors/stage1/obj/assign_to_constant_field.zig @@ -6,6 +6,8 @@ export fn derp() void { f.field = 0; } -// assign to constant field +// error +// backend=stage1 +// target=native // // tmp.zig:6:15: error: cannot assign to constant diff --git a/test/compile_errors/stage1/obj/assign_to_constant_variable.zig b/test/compile_errors/stage1/obj/assign_to_constant_variable.zig index 1e8dd6c06f..531f669c1a 100644 --- a/test/compile_errors/stage1/obj/assign_to_constant_variable.zig +++ b/test/compile_errors/stage1/obj/assign_to_constant_variable.zig @@ -3,6 +3,8 @@ export fn f() void { a = 4; } -// assign to constant variable +// error +// backend=stage1 +// target=native // // tmp.zig:3:9: error: cannot assign to constant diff --git a/test/compile_errors/stage1/obj/assign_to_invalid_dereference.zig b/test/compile_errors/stage1/obj/assign_to_invalid_dereference.zig index 6466f7afc8..7fef5db83c 100644 --- a/test/compile_errors/stage1/obj/assign_to_invalid_dereference.zig +++ b/test/compile_errors/stage1/obj/assign_to_invalid_dereference.zig @@ -2,6 +2,8 @@ export fn entry() void { 'a'.* = 1; } -// assign to invalid dereference +// error +// backend=stage1 +// target=native // // tmp.zig:2:8: error: attempt to dereference non-pointer type 'comptime_int' diff --git a/test/compile_errors/stage1/obj/assign_too_big_number_to_u16.zig b/test/compile_errors/stage1/obj/assign_too_big_number_to_u16.zig index 13b5280588..3138ed5faf 100644 --- a/test/compile_errors/stage1/obj/assign_too_big_number_to_u16.zig +++ b/test/compile_errors/stage1/obj/assign_too_big_number_to_u16.zig @@ -3,6 +3,8 @@ export fn foo() void { _ = vga_mem; } -// assign too big number to u16 +// error +// backend=stage1 +// target=native // // tmp.zig:2:24: error: integer value 753664 cannot be coerced to type 'u16' diff --git a/test/compile_errors/stage1/obj/assign_unreachable.zig b/test/compile_errors/stage1/obj/assign_unreachable.zig index 78e2305abc..f87adcd994 100644 --- a/test/compile_errors/stage1/obj/assign_unreachable.zig +++ b/test/compile_errors/stage1/obj/assign_unreachable.zig @@ -2,7 +2,9 @@ export fn f() void { const a = return; } -// assign unreachable +// error +// backend=stage1 +// target=native // // tmp.zig:2:5: error: unreachable code // tmp.zig:2:15: note: control flow is diverted here diff --git a/test/compile_errors/stage1/obj/assigning_to_struct_or_union_fields_that_are_not_optionals_with_a_function_that_returns_an_optional.zig b/test/compile_errors/stage1/obj/assigning_to_struct_or_union_fields_that_are_not_optionals_with_a_function_that_returns_an_optional.zig index f93650821b..8285991c05 100644 --- a/test/compile_errors/stage1/obj/assigning_to_struct_or_union_fields_that_are_not_optionals_with_a_function_that_returns_an_optional.zig +++ b/test/compile_errors/stage1/obj/assigning_to_struct_or_union_fields_that_are_not_optionals_with_a_function_that_returns_an_optional.zig @@ -14,6 +14,8 @@ export fn entry() void { _ = s; } -// assigning to struct or union fields that are not optionals with a function that returns an optional +// error +// backend=stage1 +// target=native // // tmp.zig:11:27: error: cannot convert optional to payload type. consider using `.?`, `orelse`, or `if`. expected type 'u8', found '?u8' diff --git a/test/compile_errors/stage1/obj/async_function_depends_on_its_own_frame.zig b/test/compile_errors/stage1/obj/async_function_depends_on_its_own_frame.zig index 0d1cd7f77e..4dde5860ba 100644 --- a/test/compile_errors/stage1/obj/async_function_depends_on_its_own_frame.zig +++ b/test/compile_errors/stage1/obj/async_function_depends_on_its_own_frame.zig @@ -6,6 +6,8 @@ fn amain() callconv(.Async) void { _ = x; } -// async function depends on its own frame +// error +// backend=stage1 +// target=native // // tmp.zig:4:1: error: cannot resolve '@Frame(amain)': function not fully analyzed yet diff --git a/test/compile_errors/stage1/obj/async_function_indirectly_depends_on_its_own_frame.zig b/test/compile_errors/stage1/obj/async_function_indirectly_depends_on_its_own_frame.zig index 809409f524..4dac0d4fa3 100644 --- a/test/compile_errors/stage1/obj/async_function_indirectly_depends_on_its_own_frame.zig +++ b/test/compile_errors/stage1/obj/async_function_indirectly_depends_on_its_own_frame.zig @@ -9,7 +9,9 @@ fn other() void { _ = x; } -// async function indirectly depends on its own frame +// error +// backend=stage1 +// target=native // // tmp.zig:4:1: error: unable to determine async function frame of 'amain' // tmp.zig:5:10: note: analysis of function 'other' depends on the frame diff --git a/test/compile_errors/stage1/obj/atomic_orderings_of_atomicStore_Acquire_or_AcqRel.zig b/test/compile_errors/stage1/obj/atomic_orderings_of_atomicStore_Acquire_or_AcqRel.zig index 7d97c2813e..dfc7ff5036 100644 --- a/test/compile_errors/stage1/obj/atomic_orderings_of_atomicStore_Acquire_or_AcqRel.zig +++ b/test/compile_errors/stage1/obj/atomic_orderings_of_atomicStore_Acquire_or_AcqRel.zig @@ -3,6 +3,8 @@ export fn entry() void { @atomicStore(u32, &x, 1, .Acquire); } -// atomic orderings of atomicStore Acquire or AcqRel +// error +// backend=stage1 +// target=native // // tmp.zig:3:30: error: @atomicStore atomic ordering must not be Acquire or AcqRel diff --git a/test/compile_errors/stage1/obj/atomic_orderings_of_cmpxchg-failure_stricter_than_success.zig b/test/compile_errors/stage1/obj/atomic_orderings_of_cmpxchg-failure_stricter_than_success.zig index d6d9ab478b..929950e754 100644 --- a/test/compile_errors/stage1/obj/atomic_orderings_of_cmpxchg-failure_stricter_than_success.zig +++ b/test/compile_errors/stage1/obj/atomic_orderings_of_cmpxchg-failure_stricter_than_success.zig @@ -4,6 +4,8 @@ export fn f() void { while (!@cmpxchgWeak(i32, &x, 1234, 5678, AtomicOrder.Monotonic, AtomicOrder.SeqCst)) {} } -// atomic orderings of cmpxchg - failure stricter than success +// error +// backend=stage1 +// target=native // // tmp.zig:4:81: error: failure atomic ordering must be no stricter than success diff --git a/test/compile_errors/stage1/obj/atomic_orderings_of_cmpxchg-success_Monotonic_or_stricter.zig b/test/compile_errors/stage1/obj/atomic_orderings_of_cmpxchg-success_Monotonic_or_stricter.zig index 770c08f3fe..fe3344e536 100644 --- a/test/compile_errors/stage1/obj/atomic_orderings_of_cmpxchg-success_Monotonic_or_stricter.zig +++ b/test/compile_errors/stage1/obj/atomic_orderings_of_cmpxchg-success_Monotonic_or_stricter.zig @@ -4,6 +4,8 @@ export fn f() void { while (!@cmpxchgWeak(i32, &x, 1234, 5678, AtomicOrder.Unordered, AtomicOrder.Unordered)) {} } -// atomic orderings of cmpxchg - success Monotonic or stricter +// error +// backend=stage1 +// target=native // // tmp.zig:4:58: error: success atomic ordering must be Monotonic or stricter diff --git a/test/compile_errors/stage1/obj/atomic_orderings_of_fence_Acquire_or_stricter.zig b/test/compile_errors/stage1/obj/atomic_orderings_of_fence_Acquire_or_stricter.zig index 34ee200eeb..8a01871a80 100644 --- a/test/compile_errors/stage1/obj/atomic_orderings_of_fence_Acquire_or_stricter.zig +++ b/test/compile_errors/stage1/obj/atomic_orderings_of_fence_Acquire_or_stricter.zig @@ -2,6 +2,8 @@ export fn entry() void { @fence(.Monotonic); } -// atomic orderings of fence Acquire or stricter +// error +// backend=stage1 +// target=native // // tmp.zig:2:12: error: atomic ordering must be Acquire or stricter diff --git a/test/compile_errors/stage1/obj/atomicrmw_with_bool_op_not_.Xchg.zig b/test/compile_errors/stage1/obj/atomicrmw_with_bool_op_not_.Xchg.zig index 03309737cf..0b5b0cd3c1 100644 --- a/test/compile_errors/stage1/obj/atomicrmw_with_bool_op_not_.Xchg.zig +++ b/test/compile_errors/stage1/obj/atomicrmw_with_bool_op_not_.Xchg.zig @@ -3,6 +3,8 @@ export fn entry() void { _ = @atomicRmw(bool, &x, .Add, true, .SeqCst); } -// atomicrmw with bool op not .Xchg +// error +// backend=stage1 +// target=native // // tmp.zig:3:30: error: @atomicRmw with bool only allowed with .Xchg diff --git a/test/compile_errors/stage1/obj/atomicrmw_with_enum_op_not_.Xchg.zig b/test/compile_errors/stage1/obj/atomicrmw_with_enum_op_not_.Xchg.zig index 95e6a7d95d..adbf4ca45e 100644 --- a/test/compile_errors/stage1/obj/atomicrmw_with_enum_op_not_.Xchg.zig +++ b/test/compile_errors/stage1/obj/atomicrmw_with_enum_op_not_.Xchg.zig @@ -9,6 +9,8 @@ export fn entry() void { _ = @atomicRmw(E, &x, .Add, .b, .SeqCst); } -// atomicrmw with enum op not .Xchg +// error +// backend=stage1 +// target=native // // tmp.zig:9:27: error: @atomicRmw with enum only allowed with .Xchg diff --git a/test/compile_errors/stage1/obj/atomicrmw_with_float_op_not_.Xchg_.Add_or_.Sub.zig b/test/compile_errors/stage1/obj/atomicrmw_with_float_op_not_.Xchg_.Add_or_.Sub.zig index a7359dbf32..4f3ebfcef6 100644 --- a/test/compile_errors/stage1/obj/atomicrmw_with_float_op_not_.Xchg_.Add_or_.Sub.zig +++ b/test/compile_errors/stage1/obj/atomicrmw_with_float_op_not_.Xchg_.Add_or_.Sub.zig @@ -3,6 +3,8 @@ export fn entry() void { _ = @atomicRmw(f32, &x, .And, 2, .SeqCst); } -// atomicrmw with float op not .Xchg, .Add or .Sub +// error +// backend=stage1 +// target=native // // tmp.zig:3:29: error: @atomicRmw with float only allowed with .Xchg, .Add and .Sub diff --git a/test/compile_errors/stage1/obj/attempt_to_cast_enum_literal_to_error.zig b/test/compile_errors/stage1/obj/attempt_to_cast_enum_literal_to_error.zig index fd120af3eb..f1c30815fc 100644 --- a/test/compile_errors/stage1/obj/attempt_to_cast_enum_literal_to_error.zig +++ b/test/compile_errors/stage1/obj/attempt_to_cast_enum_literal_to_error.zig @@ -4,6 +4,8 @@ export fn entry() void { } } -// attempt to cast enum literal to error +// error +// backend=stage1 +// target=native // // tmp.zig:3:9: error: expected type 'error{Hi}', found '@Type(.EnumLiteral)' diff --git a/test/compile_errors/stage1/obj/attempt_to_close_over_comptime_variable_from_outer_scope.zig b/test/compile_errors/stage1/obj/attempt_to_close_over_comptime_variable_from_outer_scope.zig index 5eb5db3dc8..58eb9d19d2 100644 --- a/test/compile_errors/stage1/obj/attempt_to_close_over_comptime_variable_from_outer_scope.zig +++ b/test/compile_errors/stage1/obj/attempt_to_close_over_comptime_variable_from_outer_scope.zig @@ -5,7 +5,9 @@ fn SimpleList(comptime L: usize) type { }; } -// attempt to close over comptime variable from outer scope +// error +// backend=stage1 +// target=native // // tmp.zig:4:19: error: mutable 'T' not accessible from here // tmp.zig:2:9: note: declared mutable here diff --git a/test/compile_errors/stage1/obj/attempt_to_create_17_bit_float_type.zig b/test/compile_errors/stage1/obj/attempt_to_create_17_bit_float_type.zig index bdea578696..ba7393fcb7 100644 --- a/test/compile_errors/stage1/obj/attempt_to_create_17_bit_float_type.zig +++ b/test/compile_errors/stage1/obj/attempt_to_create_17_bit_float_type.zig @@ -3,6 +3,8 @@ comptime { _ = @Type(.{ .Float = .{ .bits = 17 } }); } -// attempt to create 17 bit float type +// error +// backend=stage1 +// target=native // // tmp.zig:3:16: error: 17-bit float unsupported diff --git a/test/compile_errors/stage1/obj/attempt_to_negate_a_non-integer_non-float_or_non-vector_type.zig b/test/compile_errors/stage1/obj/attempt_to_negate_a_non-integer_non-float_or_non-vector_type.zig index 00ee26033d..e9bbf921ab 100644 --- a/test/compile_errors/stage1/obj/attempt_to_negate_a_non-integer_non-float_or_non-vector_type.zig +++ b/test/compile_errors/stage1/obj/attempt_to_negate_a_non-integer_non-float_or_non-vector_type.zig @@ -7,6 +7,8 @@ export fn entry() void { _ = x; } -// attempt to negate a non-integer, non-float or non-vector type +// error +// backend=stage1 +// target=native // // tmp.zig:6:15: error: negation of type 'anyerror!u32' diff --git a/test/compile_errors/stage1/obj/attempt_to_use_0_bit_type_in_extern_fn.zig b/test/compile_errors/stage1/obj/attempt_to_use_0_bit_type_in_extern_fn.zig index d7767e25e9..021cd97f19 100644 --- a/test/compile_errors/stage1/obj/attempt_to_use_0_bit_type_in_extern_fn.zig +++ b/test/compile_errors/stage1/obj/attempt_to_use_0_bit_type_in_extern_fn.zig @@ -9,7 +9,9 @@ export fn entry2() void { bar(&{}); } -// attempt to use 0 bit type in extern fn +// error +// backend=stage1 +// target=native // // tmp.zig:1:23: error: parameter of type '*void' has 0 bits; not allowed in function with calling convention 'C' // tmp.zig:7:11: error: parameter of type '*void' has 0 bits; not allowed in function with calling convention 'C' diff --git a/test/compile_errors/stage1/obj/attempted_double_ampersand.zig b/test/compile_errors/stage1/obj/attempted_double_ampersand.zig index cc92bc2fae..c749b172c6 100644 --- a/test/compile_errors/stage1/obj/attempted_double_ampersand.zig +++ b/test/compile_errors/stage1/obj/attempted_double_ampersand.zig @@ -5,6 +5,8 @@ export fn entry(a: bool, b: bool) i32 { return 5678; } -// attempted `&&` +// error +// backend=stage1 +// target=native // // tmp.zig:2:11: error: ambiguous use of '&&'; use 'and' for logical AND, or change whitespace to ' & &' for bitwise AND diff --git a/test/compile_errors/stage1/obj/attempted_double_pipe_on_boolean_values.zig b/test/compile_errors/stage1/obj/attempted_double_pipe_on_boolean_values.zig index 8e67b4950d..b991b1b61b 100644 --- a/test/compile_errors/stage1/obj/attempted_double_pipe_on_boolean_values.zig +++ b/test/compile_errors/stage1/obj/attempted_double_pipe_on_boolean_values.zig @@ -5,7 +5,9 @@ export fn entry(a: bool, b: bool) i32 { return 5678; } -// attempted `||` on boolean values +// error +// backend=stage1 +// target=native // // tmp.zig:2:9: error: expected error set type, found 'bool' // tmp.zig:2:11: note: `||` merges error sets; `or` performs boolean OR diff --git a/test/compile_errors/stage1/obj/attempted_implicit_cast_from_T_to_slice_const_T.zig b/test/compile_errors/stage1/obj/attempted_implicit_cast_from_T_to_slice_const_T.zig index 4776104928..c3b0847129 100644 --- a/test/compile_errors/stage1/obj/attempted_implicit_cast_from_T_to_slice_const_T.zig +++ b/test/compile_errors/stage1/obj/attempted_implicit_cast_from_T_to_slice_const_T.zig @@ -3,6 +3,8 @@ export fn entry() void { _ = x; } -// attempted implicit cast from T to [*]const T +// error +// backend=stage1 +// target=native // // tmp.zig:2:30: error: expected type '[*]const bool', found 'bool' diff --git a/test/compile_errors/stage1/obj/attempted_implicit_cast_from_const_T_to_array_len_1_T.zig b/test/compile_errors/stage1/obj/attempted_implicit_cast_from_const_T_to_array_len_1_T.zig index d389c572ca..760866dd65 100644 --- a/test/compile_errors/stage1/obj/attempted_implicit_cast_from_const_T_to_array_len_1_T.zig +++ b/test/compile_errors/stage1/obj/attempted_implicit_cast_from_const_T_to_array_len_1_T.zig @@ -6,7 +6,9 @@ export fn entry(byte: u8) void { _ = byte; } -// attempted implicit cast from *const T to *[1]T +// error +// backend=stage1 +// target=native // // tmp.zig:4:22: error: expected type '*[1]i32', found '*const i32' // tmp.zig:4:22: note: cast discards const qualifier diff --git a/test/compile_errors/stage1/obj/attempted_implicit_cast_from_const_T_to_sliceT.zig b/test/compile_errors/stage1/obj/attempted_implicit_cast_from_const_T_to_sliceT.zig index 70d1cbece2..3ff9937983 100644 --- a/test/compile_errors/stage1/obj/attempted_implicit_cast_from_const_T_to_sliceT.zig +++ b/test/compile_errors/stage1/obj/attempted_implicit_cast_from_const_T_to_sliceT.zig @@ -4,6 +4,8 @@ export fn entry() void { _ = x; } -// attempted implicit cast from *const T to []T +// error +// backend=stage1 +// target=native // // tmp.zig:3:23: error: expected type '[]u32', found '*const u32' diff --git a/test/compile_errors/stage1/obj/bad_alignCast_at_comptime.zig b/test/compile_errors/stage1/obj/bad_alignCast_at_comptime.zig index 7396dfc4dd..f1ed25e191 100644 --- a/test/compile_errors/stage1/obj/bad_alignCast_at_comptime.zig +++ b/test/compile_errors/stage1/obj/bad_alignCast_at_comptime.zig @@ -4,6 +4,8 @@ comptime { _ = aligned; } -// bad @alignCast at comptime +// error +// backend=stage1 +// target=native // // tmp.zig:3:35: error: pointer address 0x1 is not aligned to 4 bytes diff --git a/test/compile_errors/stage1/obj/bad_alignment_in_asynccall.zig b/test/compile_errors/stage1/obj/bad_alignment_in_asynccall.zig new file mode 100644 index 0000000000..3999140009 --- /dev/null +++ b/test/compile_errors/stage1/obj/bad_alignment_in_asynccall.zig @@ -0,0 +1,12 @@ +export fn entry() void { + var ptr: fn () callconv(.Async) void = func; + var bytes: [64]u8 = undefined; + _ = @asyncCall(&bytes, {}, ptr, .{}); +} +fn func() callconv(.Async) void {} + +// error +// backend=stage1 +// target=aarch64-linux-none +// +// tmp.zig:4:21: error: expected type '[]align(8) u8', found '*[64]u8' diff --git a/test/compile_errors/stage1/obj/bad_alignment_in_implicit_cast_from_array_pointer_to_slice.zig b/test/compile_errors/stage1/obj/bad_alignment_in_implicit_cast_from_array_pointer_to_slice.zig index ecfc5523d0..12064bd9ab 100644 --- a/test/compile_errors/stage1/obj/bad_alignment_in_implicit_cast_from_array_pointer_to_slice.zig +++ b/test/compile_errors/stage1/obj/bad_alignment_in_implicit_cast_from_array_pointer_to_slice.zig @@ -4,6 +4,8 @@ export fn a() void { _ = y; } -// bad alignment in implicit cast from array pointer to slice +// error +// backend=stage1 +// target=native // // tmp.zig:3:30: error: expected type '[]align(16) u8', found '*[10]u8' diff --git a/test/compile_errors/stage1/obj/bad_alignment_type.zig b/test/compile_errors/stage1/obj/bad_alignment_type.zig index 902ffc79d6..a4d8b7d68f 100644 --- a/test/compile_errors/stage1/obj/bad_alignment_type.zig +++ b/test/compile_errors/stage1/obj/bad_alignment_type.zig @@ -7,7 +7,9 @@ export fn entry2() void { _ = x; } -// bad alignment type +// error +// backend=stage1 +// target=native // // tmp.zig:2:20: error: expected type 'u29', found 'bool' // tmp.zig:6:19: error: fractional component prevents float value 12.340000 from being casted to type 'u29' diff --git a/test/compile_errors/stage1/obj/bad_identifier_in_function_with_struct_defined_inside_function_which_references_local_const.zig b/test/compile_errors/stage1/obj/bad_identifier_in_function_with_struct_defined_inside_function_which_references_local_const.zig index f32301f9ff..7e44ad5057 100644 --- a/test/compile_errors/stage1/obj/bad_identifier_in_function_with_struct_defined_inside_function_which_references_local_const.zig +++ b/test/compile_errors/stage1/obj/bad_identifier_in_function_with_struct_defined_inside_function_which_references_local_const.zig @@ -10,6 +10,8 @@ export fn entry() void { _ = Block; } -// bad identifier in function with struct defined inside function which references local const +// error +// backend=stage1 +// target=native // // tmp.zig:8:5: error: use of undeclared identifier 'bogus' diff --git a/test/compile_errors/stage1/obj/bad_import.zig b/test/compile_errors/stage1/obj/bad_import.zig index f6e93559b2..1a7ab5f00b 100644 --- a/test/compile_errors/stage1/obj/bad_import.zig +++ b/test/compile_errors/stage1/obj/bad_import.zig @@ -1,5 +1,7 @@ const bogus = @import("bogus-does-not-exist.zig",); -// bad import +// error +// backend=stage1 +// target=native // // tmp.zig:1:23: error: unable to load '${DIR}bogus-does-not-exist.zig': FileNotFound diff --git a/test/compile_errors/stage1/obj/bad_usage_of_call.zig b/test/compile_errors/stage1/obj/bad_usage_of_call.zig index 928c39b5a8..c77ccf1a52 100644 --- a/test/compile_errors/stage1/obj/bad_usage_of_call.zig +++ b/test/compile_errors/stage1/obj/bad_usage_of_call.zig @@ -19,7 +19,9 @@ fn bar() callconv(.Inline) void {} fn baz1() void {} fn baz2() void {} -// bad usage of @call +// error +// backend=stage1 +// target=native // // tmp.zig:2:21: error: expected tuple or struct, found 'void' // tmp.zig:5:14: error: unable to perform 'never_inline' call at compile-time diff --git a/test/compile_errors/stage1/obj/bin_and_assign_on_undefined_value.zig b/test/compile_errors/stage1/obj/bin_and_assign_on_undefined_value.zig index d9dbdea741..1076f9abdb 100644 --- a/test/compile_errors/stage1/obj/bin_and_assign_on_undefined_value.zig +++ b/test/compile_errors/stage1/obj/bin_and_assign_on_undefined_value.zig @@ -3,6 +3,8 @@ comptime { a &= a; } -// bin and assign on undefined value +// error +// backend=stage1 +// target=native // // tmp.zig:3:5: error: use of undefined value here causes undefined behavior diff --git a/test/compile_errors/stage1/obj/bin_and_on_undefined_value.zig b/test/compile_errors/stage1/obj/bin_and_on_undefined_value.zig index 6775cd56ea..a53d9a10ac 100644 --- a/test/compile_errors/stage1/obj/bin_and_on_undefined_value.zig +++ b/test/compile_errors/stage1/obj/bin_and_on_undefined_value.zig @@ -3,6 +3,8 @@ comptime { _ = a & a; } -// bin and on undefined value +// error +// backend=stage1 +// target=native // // tmp.zig:3:9: error: use of undefined value here causes undefined behavior diff --git a/test/compile_errors/stage1/obj/bin_not_on_undefined_value.zig b/test/compile_errors/stage1/obj/bin_not_on_undefined_value.zig index 0e543c4f00..7e0f554f0b 100644 --- a/test/compile_errors/stage1/obj/bin_not_on_undefined_value.zig +++ b/test/compile_errors/stage1/obj/bin_not_on_undefined_value.zig @@ -3,6 +3,8 @@ comptime { _ = ~a; } -// bin not on undefined value +// error +// backend=stage1 +// target=native // // tmp.zig:3:10: error: use of undefined value here causes undefined behavior diff --git a/test/compile_errors/stage1/obj/bin_or_assign_on_undefined_value.zig b/test/compile_errors/stage1/obj/bin_or_assign_on_undefined_value.zig index bfbeb7ce3e..cc61fc03e1 100644 --- a/test/compile_errors/stage1/obj/bin_or_assign_on_undefined_value.zig +++ b/test/compile_errors/stage1/obj/bin_or_assign_on_undefined_value.zig @@ -3,6 +3,8 @@ comptime { a |= a; } -// bin or assign on undefined value +// error +// backend=stage1 +// target=native // // tmp.zig:3:5: error: use of undefined value here causes undefined behavior diff --git a/test/compile_errors/stage1/obj/bin_or_on_undefined_value.zig b/test/compile_errors/stage1/obj/bin_or_on_undefined_value.zig index 7a62ace9dd..7ac30bcb4e 100644 --- a/test/compile_errors/stage1/obj/bin_or_on_undefined_value.zig +++ b/test/compile_errors/stage1/obj/bin_or_on_undefined_value.zig @@ -3,6 +3,8 @@ comptime { _ = a | a; } -// bin or on undefined value +// error +// backend=stage1 +// target=native // // tmp.zig:3:9: error: use of undefined value here causes undefined behavior diff --git a/test/compile_errors/stage1/obj/bin_xor_assign_on_undefined_value.zig b/test/compile_errors/stage1/obj/bin_xor_assign_on_undefined_value.zig index bea5e1e089..37e3eae321 100644 --- a/test/compile_errors/stage1/obj/bin_xor_assign_on_undefined_value.zig +++ b/test/compile_errors/stage1/obj/bin_xor_assign_on_undefined_value.zig @@ -3,6 +3,8 @@ comptime { a ^= a; } -// bin xor assign on undefined value +// error +// backend=stage1 +// target=native // // tmp.zig:3:5: error: use of undefined value here causes undefined behavior diff --git a/test/compile_errors/stage1/obj/bin_xor_on_undefined_value.zig b/test/compile_errors/stage1/obj/bin_xor_on_undefined_value.zig index f6ddb24521..f1656b6013 100644 --- a/test/compile_errors/stage1/obj/bin_xor_on_undefined_value.zig +++ b/test/compile_errors/stage1/obj/bin_xor_on_undefined_value.zig @@ -3,6 +3,8 @@ comptime { _ = a ^ a; } -// bin xor on undefined value +// error +// backend=stage1 +// target=native // // tmp.zig:3:9: error: use of undefined value here causes undefined behavior diff --git a/test/compile_errors/stage1/obj/binary_not_on_number_literal.zig b/test/compile_errors/stage1/obj/binary_not_on_number_literal.zig index 12f5953f16..34ddf9adfa 100644 --- a/test/compile_errors/stage1/obj/binary_not_on_number_literal.zig +++ b/test/compile_errors/stage1/obj/binary_not_on_number_literal.zig @@ -4,6 +4,8 @@ var block_aligned_stuff: usize = (4 + TINY_QUANTUM_SIZE) & ~(TINY_QUANTUM_SIZE - export fn entry() usize { return @sizeOf(@TypeOf(block_aligned_stuff)); } -// binary not on number literal +// error +// backend=stage1 +// target=native // // tmp.zig:3:60: error: unable to perform binary not operation on type 'comptime_int' diff --git a/test/compile_errors/stage1/obj/bitCast_same_size_but_bit_count_mismatch.zig b/test/compile_errors/stage1/obj/bitCast_same_size_but_bit_count_mismatch.zig index e4945a1194..9150dc3285 100644 --- a/test/compile_errors/stage1/obj/bitCast_same_size_but_bit_count_mismatch.zig +++ b/test/compile_errors/stage1/obj/bitCast_same_size_but_bit_count_mismatch.zig @@ -3,6 +3,8 @@ export fn entry(byte: u8) void { _ = oops; } -// @bitCast same size but bit count mismatch +// error +// backend=stage1 +// target=native // // tmp.zig:2:25: error: destination type 'u7' has 7 bits but source type 'u8' has 8 bits diff --git a/test/compile_errors/stage1/obj/bitCast_to_enum_type.zig b/test/compile_errors/stage1/obj/bitCast_to_enum_type.zig index dbb73eba18..4d63ab9e01 100644 --- a/test/compile_errors/stage1/obj/bitCast_to_enum_type.zig +++ b/test/compile_errors/stage1/obj/bitCast_to_enum_type.zig @@ -3,6 +3,8 @@ export fn entry() void { _ = y; } -// bitCast to enum type +// error +// backend=stage1 +// target=native // // tmp.zig:2:24: error: cannot cast a value of type 'y' diff --git a/test/compile_errors/stage1/obj/bitCast_with_different_sizes_inside_an_expression.zig b/test/compile_errors/stage1/obj/bitCast_with_different_sizes_inside_an_expression.zig index bb5c0c5936..64caef7cd0 100644 --- a/test/compile_errors/stage1/obj/bitCast_with_different_sizes_inside_an_expression.zig +++ b/test/compile_errors/stage1/obj/bitCast_with_different_sizes_inside_an_expression.zig @@ -3,6 +3,8 @@ export fn entry() void { _ = foo; } -// @bitCast with different sizes inside an expression +// error +// backend=stage1 +// target=native // // tmp.zig:2:25: error: destination type 'u8' has size 1 but source type 'f32' has size 4 diff --git a/test/compile_errors/stage1/obj/bit_shifting_only_works_on_integer_types.zig b/test/compile_errors/stage1/obj/bit_shifting_only_works_on_integer_types.zig index 98fa3128aa..7d1c5873a1 100644 --- a/test/compile_errors/stage1/obj/bit_shifting_only_works_on_integer_types.zig +++ b/test/compile_errors/stage1/obj/bit_shifting_only_works_on_integer_types.zig @@ -3,6 +3,8 @@ export fn entry() void { _ = x; } -// bit shifting only works on integer types +// error +// backend=stage1 +// target=native // // tmp.zig:2:16: error: bit shifting operation expected integer type, found '*const u8' diff --git a/test/compile_errors/stage1/obj/bogus_compile_var.zig b/test/compile_errors/stage1/obj/bogus_compile_var.zig index 05777b9ecd..845d943c7d 100644 --- a/test/compile_errors/stage1/obj/bogus_compile_var.zig +++ b/test/compile_errors/stage1/obj/bogus_compile_var.zig @@ -1,6 +1,8 @@ const x = @import("builtin").bogus; export fn entry() usize { return @sizeOf(@TypeOf(x)); } -// bogus compile var +// error +// backend=stage1 +// target=native // // tmp.zig:1:29: error: container 'builtin' has no member called 'bogus' diff --git a/test/compile_errors/stage1/obj/bogus_method_call_on_slice.zig b/test/compile_errors/stage1/obj/bogus_method_call_on_slice.zig index 8d34a09817..3ede578b34 100644 --- a/test/compile_errors/stage1/obj/bogus_method_call_on_slice.zig +++ b/test/compile_errors/stage1/obj/bogus_method_call_on_slice.zig @@ -4,6 +4,8 @@ fn f(m: []const u8) void { } export fn entry() usize { return @sizeOf(@TypeOf(f)); } -// bogus method call on slice +// error +// backend=stage1 +// target=native // // tmp.zig:3:6: error: no member named 'copy' in '[]const u8' diff --git a/test/compile_errors/stage1/obj/bool_not_on_undefined_value.zig b/test/compile_errors/stage1/obj/bool_not_on_undefined_value.zig index 71ea7d5e96..5c99a9739b 100644 --- a/test/compile_errors/stage1/obj/bool_not_on_undefined_value.zig +++ b/test/compile_errors/stage1/obj/bool_not_on_undefined_value.zig @@ -3,6 +3,8 @@ comptime { _ = !a; } -// bool not on undefined value +// error +// backend=stage1 +// target=native // // tmp.zig:3:10: error: use of undefined value here causes undefined behavior diff --git a/test/compile_errors/stage1/obj/branch_on_undefined_value.zig b/test/compile_errors/stage1/obj/branch_on_undefined_value.zig index d02ac22a2a..f4b922a332 100644 --- a/test/compile_errors/stage1/obj/branch_on_undefined_value.zig +++ b/test/compile_errors/stage1/obj/branch_on_undefined_value.zig @@ -2,6 +2,8 @@ const x = if (undefined) true else false; export fn entry() usize { return @sizeOf(@TypeOf(x)); } -// branch on undefined value +// error +// backend=stage1 +// target=native // // tmp.zig:1:15: error: use of undefined value here causes undefined behavior diff --git a/test/compile_errors/stage1/obj/cImport_with_bogus_include.zig b/test/compile_errors/stage1/obj/cImport_with_bogus_include.zig index 89627b354f..141f21cb9a 100644 --- a/test/compile_errors/stage1/obj/cImport_with_bogus_include.zig +++ b/test/compile_errors/stage1/obj/cImport_with_bogus_include.zig @@ -1,7 +1,9 @@ const c = @cImport(@cInclude("bogus.h")); export fn entry() usize { return @sizeOf(@TypeOf(c.bogo)); } -// @cImport with bogus include +// error +// backend=stage1 +// target=native // // tmp.zig:1:11: error: C import failed // .h:1:10: note: 'bogus.h' file not found diff --git a/test/compile_errors/stage1/obj/call_assigned_to_constant.zig b/test/compile_errors/stage1/obj/call_assigned_to_constant.zig index fb2febadb2..ca4e8b67cd 100644 --- a/test/compile_errors/stage1/obj/call_assigned_to_constant.zig +++ b/test/compile_errors/stage1/obj/call_assigned_to_constant.zig @@ -16,7 +16,9 @@ export fn entry1() void { baz = bar(42); } -// call assigned to constant +// error +// backend=stage1 +// target=native // // tmp.zig:12:14: error: cannot assign to constant // tmp.zig:16:14: error: cannot assign to constant diff --git a/test/compile_errors/stage1/obj/call_with_new_stack_on_unsupported_target.zig b/test/compile_errors/stage1/obj/call_with_new_stack_on_unsupported_target.zig new file mode 100644 index 0000000000..7cb504a3f9 --- /dev/null +++ b/test/compile_errors/stage1/obj/call_with_new_stack_on_unsupported_target.zig @@ -0,0 +1,11 @@ +var buf: [10]u8 align(16) = undefined; +export fn entry() void { + @call(.{ .stack = &buf }, foo, .{}); +} +fn foo() void {} + +// error +// backend=stage1 +// target=wasm32-wasi-none +// +// tmp.zig:3:5: error: target arch 'wasm32' does not support calling with a new stack diff --git a/test/compile_errors/stage1/obj/callconv_apcs_aapcs_aapcsvfp_on_unsupported_platform.zig b/test/compile_errors/stage1/obj/callconv_apcs_aapcs_aapcsvfp_on_unsupported_platform.zig new file mode 100644 index 0000000000..fa06287803 --- /dev/null +++ b/test/compile_errors/stage1/obj/callconv_apcs_aapcs_aapcsvfp_on_unsupported_platform.zig @@ -0,0 +1,11 @@ +export fn entry1() callconv(.APCS) void {} +export fn entry2() callconv(.AAPCS) void {} +export fn entry3() callconv(.AAPCSVFP) void {} + +// error +// backend=stage1 +// target=x86_64-linux-none +// +// tmp.zig:1:29: error: callconv 'APCS' is only available on ARM, not x86_64 +// tmp.zig:2:29: error: callconv 'AAPCS' is only available on ARM, not x86_64 +// tmp.zig:3:29: error: callconv 'AAPCSVFP' is only available on ARM, not x86_64 diff --git a/test/compile_errors/stage1/obj/callconv_interrupt_on_unsupported_platform.zig b/test/compile_errors/stage1/obj/callconv_interrupt_on_unsupported_platform.zig new file mode 100644 index 0000000000..8304fb90c1 --- /dev/null +++ b/test/compile_errors/stage1/obj/callconv_interrupt_on_unsupported_platform.zig @@ -0,0 +1,7 @@ +export fn entry() callconv(.Interrupt) void {} + +// error +// backend=stage1 +// target=aarch64-linux-none +// +// tmp.zig:1:28: error: callconv 'Interrupt' is only available on x86, x86_64, AVR, and MSP430, not aarch64 diff --git a/test/compile_errors/stage1/obj/callconv_signal_on_unsupported_platform.zig b/test/compile_errors/stage1/obj/callconv_signal_on_unsupported_platform.zig new file mode 100644 index 0000000000..4b19b188fd --- /dev/null +++ b/test/compile_errors/stage1/obj/callconv_signal_on_unsupported_platform.zig @@ -0,0 +1,7 @@ +export fn entry() callconv(.Signal) void {} + +// error +// backend=stage1 +// target=x86_64-linux-none +// +// tmp.zig:1:28: error: callconv 'Signal' is only available on AVR, not x86_64 diff --git a/test/compile_errors/stage1/obj/callconv_stdcall_fastcall_thiscall_on_unsupported_platform-0.zig b/test/compile_errors/stage1/obj/callconv_stdcall_fastcall_thiscall_on_unsupported_platform-0.zig new file mode 100644 index 0000000000..f4994107cd --- /dev/null +++ b/test/compile_errors/stage1/obj/callconv_stdcall_fastcall_thiscall_on_unsupported_platform-0.zig @@ -0,0 +1,23 @@ +const F1 = fn () callconv(.Stdcall) void; +const F2 = fn () callconv(.Fastcall) void; +const F3 = fn () callconv(.Thiscall) void; +export fn entry1() void { + var a: F1 = undefined; + _ = a; +} +export fn entry2() void { + var a: F2 = undefined; + _ = a; +} +export fn entry3() void { + var a: F3 = undefined; + _ = a; +} + +// error +// backend=stage1 +// target=x86_64-linux-none +// +// tmp.zig:1:27: error: callconv 'Stdcall' is only available on x86, not x86_64 +// tmp.zig:2:27: error: callconv 'Fastcall' is only available on x86, not x86_64 +// tmp.zig:3:27: error: callconv 'Thiscall' is only available on x86, not x86_64 diff --git a/test/compile_errors/stage1/obj/callconv_stdcall_fastcall_thiscall_on_unsupported_platform-1.zig b/test/compile_errors/stage1/obj/callconv_stdcall_fastcall_thiscall_on_unsupported_platform-1.zig new file mode 100644 index 0000000000..aa23f9ae51 --- /dev/null +++ b/test/compile_errors/stage1/obj/callconv_stdcall_fastcall_thiscall_on_unsupported_platform-1.zig @@ -0,0 +1,11 @@ +export fn entry1() callconv(.Stdcall) void {} +export fn entry2() callconv(.Fastcall) void {} +export fn entry3() callconv(.Thiscall) void {} + +// error +// backend=stage1 +// target=x86_64-linux-none +// +// tmp.zig:1:29: error: callconv 'Stdcall' is only available on x86, not x86_64 +// tmp.zig:2:29: error: callconv 'Fastcall' is only available on x86, not x86_64 +// tmp.zig:3:29: error: callconv 'Thiscall' is only available on x86, not x86_64 diff --git a/test/compile_errors/stage1/obj/callconv_vectorcall_on_unsupported_platform.zig b/test/compile_errors/stage1/obj/callconv_vectorcall_on_unsupported_platform.zig new file mode 100644 index 0000000000..e60e6ab42c --- /dev/null +++ b/test/compile_errors/stage1/obj/callconv_vectorcall_on_unsupported_platform.zig @@ -0,0 +1,7 @@ +export fn entry() callconv(.Vectorcall) void {} + +// error +// backend=stage1 +// target=x86_64-linux-none +// +// tmp.zig:1:28: error: callconv 'Vectorcall' is only available on x86 and AArch64, not x86_64 diff --git a/test/compile_errors/stage1/obj/calling_a_generic_function_only_known_at_runtime.zig b/test/compile_errors/stage1/obj/calling_a_generic_function_only_known_at_runtime.zig index c31b18bb6f..3081f0f1e1 100644 --- a/test/compile_errors/stage1/obj/calling_a_generic_function_only_known_at_runtime.zig +++ b/test/compile_errors/stage1/obj/calling_a_generic_function_only_known_at_runtime.zig @@ -7,6 +7,8 @@ pub fn main() !void { foos[0](true); } -// calling a generic function only known at runtime +// error +// backend=stage1 +// target=native // // tmp.zig:7:9: error: calling a generic function requires compile-time known function value diff --git a/test/compile_errors/stage1/obj/calling_function_with_naked_calling_convention.zig b/test/compile_errors/stage1/obj/calling_function_with_naked_calling_convention.zig index c99e5b7831..401f84e687 100644 --- a/test/compile_errors/stage1/obj/calling_function_with_naked_calling_convention.zig +++ b/test/compile_errors/stage1/obj/calling_function_with_naked_calling_convention.zig @@ -3,7 +3,9 @@ export fn entry() void { } fn foo() callconv(.Naked) void { } -// calling function with naked calling convention +// error +// backend=stage1 +// target=native // // tmp.zig:2:5: error: unable to call function with naked calling convention // tmp.zig:4:1: note: declared here diff --git a/test/compile_errors/stage1/obj/calling_var_args_extern_function_passing_array_instead_of_pointer.zig b/test/compile_errors/stage1/obj/calling_var_args_extern_function_passing_array_instead_of_pointer.zig index e3cc4425db..a71ab051f2 100644 --- a/test/compile_errors/stage1/obj/calling_var_args_extern_function_passing_array_instead_of_pointer.zig +++ b/test/compile_errors/stage1/obj/calling_var_args_extern_function_passing_array_instead_of_pointer.zig @@ -3,6 +3,8 @@ export fn entry() void { } pub extern fn foo(format: *const u8, ...) void; -// calling var args extern function, passing array instead of pointer +// error +// backend=stage1 +// target=native // // tmp.zig:2:16: error: expected type '*const u8', found '[5:0]u8' diff --git a/test/compile_errors/stage1/obj/cannot_break_out_of_defer_expression.zig b/test/compile_errors/stage1/obj/cannot_break_out_of_defer_expression.zig index 002a7717d3..3c7ae4fa2f 100644 --- a/test/compile_errors/stage1/obj/cannot_break_out_of_defer_expression.zig +++ b/test/compile_errors/stage1/obj/cannot_break_out_of_defer_expression.zig @@ -6,6 +6,8 @@ export fn foo() void { } } -// cannot break out of defer expression +// error +// backend=stage1 +// target=native // // tmp.zig:4:13: error: cannot break out of defer expression diff --git a/test/compile_errors/stage1/obj/cannot_continue_out_of_defer_expression.zig b/test/compile_errors/stage1/obj/cannot_continue_out_of_defer_expression.zig index 8adb7eafd6..56b8ced05b 100644 --- a/test/compile_errors/stage1/obj/cannot_continue_out_of_defer_expression.zig +++ b/test/compile_errors/stage1/obj/cannot_continue_out_of_defer_expression.zig @@ -6,6 +6,8 @@ export fn foo() void { } } -// cannot continue out of defer expression +// error +// backend=stage1 +// target=native // // tmp.zig:4:13: error: cannot continue out of defer expression diff --git a/test/compile_errors/stage1/obj/capture_group_on_switch_prong_with_incompatible_payload_types.zig b/test/compile_errors/stage1/obj/capture_group_on_switch_prong_with_incompatible_payload_types.zig index 8a4c94f503..ce2068d6c7 100644 --- a/test/compile_errors/stage1/obj/capture_group_on_switch_prong_with_incompatible_payload_types.zig +++ b/test/compile_errors/stage1/obj/capture_group_on_switch_prong_with_incompatible_payload_types.zig @@ -12,7 +12,9 @@ comptime { } } -// capture group on switch prong with incompatible payload types +// error +// backend=stage1 +// target=native // // tmp.zig:8:20: error: capture group with incompatible types // tmp.zig:8:9: note: type 'usize' here diff --git a/test/compile_errors/stage1/obj/cast_enum_literal_to_enum_but_it_doesnt_match.zig b/test/compile_errors/stage1/obj/cast_enum_literal_to_enum_but_it_doesnt_match.zig index 10717ff392..ba53646efc 100644 --- a/test/compile_errors/stage1/obj/cast_enum_literal_to_enum_but_it_doesnt_match.zig +++ b/test/compile_errors/stage1/obj/cast_enum_literal_to_enum_but_it_doesnt_match.zig @@ -7,7 +7,9 @@ export fn entry() void { _ = x; } -// cast enum literal to enum but it doesn't match +// error +// backend=stage1 +// target=native // // tmp.zig:6:20: error: enum 'Foo' has no field named 'c' // tmp.zig:1:13: note: 'Foo' declared here diff --git a/test/compile_errors/stage1/obj/cast_error_union_of_global_error_set_to_error_union_of_smaller_error_set.zig b/test/compile_errors/stage1/obj/cast_error_union_of_global_error_set_to_error_union_of_smaller_error_set.zig index fbb68c30c8..08962afc85 100644 --- a/test/compile_errors/stage1/obj/cast_error_union_of_global_error_set_to_error_union_of_smaller_error_set.zig +++ b/test/compile_errors/stage1/obj/cast_error_union_of_global_error_set_to_error_union_of_smaller_error_set.zig @@ -7,7 +7,9 @@ fn foo() anyerror!i32 { return error.B; } -// cast error union of global error set to error union of smaller error set +// error +// backend=stage1 +// target=native // // tmp.zig:3:35: error: expected type 'SmallErrorSet!i32', found 'anyerror!i32' // tmp.zig:3:35: note: error set 'anyerror' cannot cast into error set 'SmallErrorSet' diff --git a/test/compile_errors/stage1/obj/cast_global_error_set_to_error_set.zig b/test/compile_errors/stage1/obj/cast_global_error_set_to_error_set.zig index f37ffce229..be9487cc5a 100644 --- a/test/compile_errors/stage1/obj/cast_global_error_set_to_error_set.zig +++ b/test/compile_errors/stage1/obj/cast_global_error_set_to_error_set.zig @@ -7,7 +7,9 @@ fn foo() anyerror { return error.B; } -// cast global error set to error set +// error +// backend=stage1 +// target=native // // tmp.zig:3:31: error: expected type 'SmallErrorSet', found 'anyerror' // tmp.zig:3:31: note: cannot cast global error set into smaller set diff --git a/test/compile_errors/stage1/obj/cast_negative_integer_literal_to_usize.zig b/test/compile_errors/stage1/obj/cast_negative_integer_literal_to_usize.zig index 37e42c062c..763e0c8a23 100644 --- a/test/compile_errors/stage1/obj/cast_negative_integer_literal_to_usize.zig +++ b/test/compile_errors/stage1/obj/cast_negative_integer_literal_to_usize.zig @@ -3,6 +3,8 @@ export fn entry() void { _ = x; } -// cast negative integer literal to usize +// error +// backend=stage1 +// target=native // // tmp.zig:2:26: error: cannot cast negative value -10 to unsigned integer type 'usize' diff --git a/test/compile_errors/stage1/obj/cast_negative_value_to_unsigned_integer.zig b/test/compile_errors/stage1/obj/cast_negative_value_to_unsigned_integer.zig index e740d406f6..d2e3187140 100644 --- a/test/compile_errors/stage1/obj/cast_negative_value_to_unsigned_integer.zig +++ b/test/compile_errors/stage1/obj/cast_negative_value_to_unsigned_integer.zig @@ -9,7 +9,9 @@ export fn entry1() void { _ = unsigned; } -// cast negative value to unsigned integer +// error +// backend=stage1 +// target=native // // tmp.zig:3:22: error: attempt to cast negative value to unsigned integer // tmp.zig:8:27: error: cannot cast negative value -1 to unsigned integer type 'u32' diff --git a/test/compile_errors/stage1/obj/cast_unreachable.zig b/test/compile_errors/stage1/obj/cast_unreachable.zig index 94fa121770..b043108737 100644 --- a/test/compile_errors/stage1/obj/cast_unreachable.zig +++ b/test/compile_errors/stage1/obj/cast_unreachable.zig @@ -3,7 +3,9 @@ fn f() i32 { } export fn entry() void { _ = f(); } -// cast unreachable +// error +// backend=stage1 +// target=native // // tmp.zig:2:12: error: unreachable code // tmp.zig:2:21: note: control flow is diverted here diff --git a/test/compile_errors/stage1/obj/casting_bit_offset_pointer_to_regular_pointer.zig b/test/compile_errors/stage1/obj/casting_bit_offset_pointer_to_regular_pointer.zig index 9b6c5ea0e6..f109cdf295 100644 --- a/test/compile_errors/stage1/obj/casting_bit_offset_pointer_to_regular_pointer.zig +++ b/test/compile_errors/stage1/obj/casting_bit_offset_pointer_to_regular_pointer.zig @@ -14,6 +14,8 @@ fn bar(x: *const u3) u3 { export fn entry() usize { return @sizeOf(@TypeOf(foo)); } -// casting bit offset pointer to regular pointer +// error +// backend=stage1 +// target=native // // tmp.zig:8:26: error: expected type '*const u3', found '*align(:3:1) const u3' diff --git a/test/compile_errors/stage1/obj/catch_on_undefined_value.zig b/test/compile_errors/stage1/obj/catch_on_undefined_value.zig index 9d22d07219..53a5f1c2a9 100644 --- a/test/compile_errors/stage1/obj/catch_on_undefined_value.zig +++ b/test/compile_errors/stage1/obj/catch_on_undefined_value.zig @@ -3,6 +3,8 @@ comptime { _ = a catch false; } -// catch on undefined value +// error +// backend=stage1 +// target=native // // tmp.zig:3:11: error: use of undefined value here causes undefined behavior diff --git a/test/compile_errors/stage1/obj/chained_comparison_operators.zig b/test/compile_errors/stage1/obj/chained_comparison_operators.zig index 89e1ea1e75..1e4ed8d82e 100644 --- a/test/compile_errors/stage1/obj/chained_comparison_operators.zig +++ b/test/compile_errors/stage1/obj/chained_comparison_operators.zig @@ -2,6 +2,8 @@ export fn a(value: u32) bool { return 1 < value < 1000; } -// chained comparison operators +// error +// backend=stage1 +// target=native // // tmp.zig:2:22: error: comparison operators cannot be chained diff --git a/test/compile_errors/stage1/obj/cmpxchg_with_float.zig b/test/compile_errors/stage1/obj/cmpxchg_with_float.zig index 8926ffc36b..11f2dc21c3 100644 --- a/test/compile_errors/stage1/obj/cmpxchg_with_float.zig +++ b/test/compile_errors/stage1/obj/cmpxchg_with_float.zig @@ -3,6 +3,8 @@ export fn entry() void { _ = @cmpxchgWeak(f32, &x, 1, 2, .SeqCst, .SeqCst); } -// cmpxchg with float +// error +// backend=stage1 +// target=native // // tmp.zig:3:22: error: expected bool, integer, enum or pointer type, found 'f32' diff --git a/test/compile_errors/stage1/obj/colliding_invalid_top_level_functions.zig b/test/compile_errors/stage1/obj/colliding_invalid_top_level_functions.zig index f4e5d24c46..344edbaa9f 100644 --- a/test/compile_errors/stage1/obj/colliding_invalid_top_level_functions.zig +++ b/test/compile_errors/stage1/obj/colliding_invalid_top_level_functions.zig @@ -2,7 +2,9 @@ fn func() bogus {} fn func() bogus {} export fn entry() usize { return @sizeOf(@TypeOf(func)); } -// colliding invalid top level functions +// error +// backend=stage1 +// target=native // // tmp.zig:2:1: error: redeclaration of 'func' // tmp.zig:1:1: note: other declaration here diff --git a/test/compile_errors/stage1/obj/compare_optional_to_non-optional_with_invalid_types.zig b/test/compile_errors/stage1/obj/compare_optional_to_non-optional_with_invalid_types.zig index 8713cf4501..32e1fe9b24 100644 --- a/test/compile_errors/stage1/obj/compare_optional_to_non-optional_with_invalid_types.zig +++ b/test/compile_errors/stage1/obj/compare_optional_to_non-optional_with_invalid_types.zig @@ -22,7 +22,9 @@ export fn invalidChildType() void { _ = (x == y); } -// compare optional to non-optional with invalid types +// error +// backend=stage1 +// target=native // // :4:12: error: cannot compare types '?i32' and 'comptime_int' // :4:12: note: optional child type 'i32' must be the same as non-optional type 'comptime_int' diff --git a/test/compile_errors/stage1/obj/comparing_a_non-optional_pointer_against_null.zig b/test/compile_errors/stage1/obj/comparing_a_non-optional_pointer_against_null.zig index 69a5120135..62b5708034 100644 --- a/test/compile_errors/stage1/obj/comparing_a_non-optional_pointer_against_null.zig +++ b/test/compile_errors/stage1/obj/comparing_a_non-optional_pointer_against_null.zig @@ -3,6 +3,8 @@ export fn entry() void { _ = &x == null; } -// comparing a non-optional pointer against null +// error +// backend=stage1 +// target=native // // tmp.zig:3:12: error: comparison of '*i32' with null diff --git a/test/compile_errors/stage1/obj/comparing_against_undefined_produces_undefined_value.zig b/test/compile_errors/stage1/obj/comparing_against_undefined_produces_undefined_value.zig index c329f51ef7..8bad61e6d1 100644 --- a/test/compile_errors/stage1/obj/comparing_against_undefined_produces_undefined_value.zig +++ b/test/compile_errors/stage1/obj/comparing_against_undefined_produces_undefined_value.zig @@ -2,6 +2,8 @@ export fn entry() void { if (2 == undefined) {} } -// comparing against undefined produces undefined value +// error +// backend=stage1 +// target=native // // tmp.zig:2:11: error: use of undefined value here causes undefined behavior diff --git a/test/compile_errors/stage1/obj/comparison_operators_with_undefined_value.zig b/test/compile_errors/stage1/obj/comparison_operators_with_undefined_value.zig index 6021382fd4..818a575fc8 100644 --- a/test/compile_errors/stage1/obj/comparison_operators_with_undefined_value.zig +++ b/test/compile_errors/stage1/obj/comparison_operators_with_undefined_value.zig @@ -35,7 +35,9 @@ comptime { if (a <= a) x += 1; } -// comparison operators with undefined value +// error +// backend=stage1 +// target=native // // tmp.zig:5:11: error: use of undefined value here causes undefined behavior // tmp.zig:11:11: error: use of undefined value here causes undefined behavior diff --git a/test/compile_errors/stage1/obj/comparison_with_error_union_and_error_value.zig b/test/compile_errors/stage1/obj/comparison_with_error_union_and_error_value.zig index 260ccc6f01..16f3b21c3d 100644 --- a/test/compile_errors/stage1/obj/comparison_with_error_union_and_error_value.zig +++ b/test/compile_errors/stage1/obj/comparison_with_error_union_and_error_value.zig @@ -3,6 +3,8 @@ export fn entry() void { _ = number_or_error == error.SomethingAwful; } -// comparison with error union and error value +// error +// backend=stage1 +// target=native // // tmp.zig:3:25: error: operator not allowed for type 'anyerror!i32' diff --git a/test/compile_errors/stage1/obj/compile-time_division_by_zero.zig b/test/compile_errors/stage1/obj/compile-time_division_by_zero.zig index 578dbc7b4a..e16f5f8cf4 100644 --- a/test/compile_errors/stage1/obj/compile-time_division_by_zero.zig +++ b/test/compile_errors/stage1/obj/compile-time_division_by_zero.zig @@ -5,6 +5,8 @@ comptime { _ = c; } -// compile-time division by zero +// error +// backend=stage1 +// target=native // // tmp.zig:4:17: error: division by zero diff --git a/test/compile_errors/stage1/obj/compile-time_remainder_division_by_zero.zig b/test/compile_errors/stage1/obj/compile-time_remainder_division_by_zero.zig index 015d229110..63f0def52c 100644 --- a/test/compile_errors/stage1/obj/compile-time_remainder_division_by_zero.zig +++ b/test/compile_errors/stage1/obj/compile-time_remainder_division_by_zero.zig @@ -5,6 +5,8 @@ comptime { _ = c; } -// compile-time remainder division by zero +// error +// backend=stage1 +// target=native // // tmp.zig:4:17: error: division by zero diff --git a/test/compile_errors/stage1/obj/compileError_shows_traceback_of_references_that_caused_it.zig b/test/compile_errors/stage1/obj/compileError_shows_traceback_of_references_that_caused_it.zig index 4273741ad2..c58e9b7768 100644 --- a/test/compile_errors/stage1/obj/compileError_shows_traceback_of_references_that_caused_it.zig +++ b/test/compile_errors/stage1/obj/compileError_shows_traceback_of_references_that_caused_it.zig @@ -7,6 +7,8 @@ export fn entry() i32 { return bar; } -// @compileError shows traceback of references that caused it +// error +// backend=stage1 +// target=native // // tmp.zig:1:13: error: aoeu diff --git a/test/compile_errors/stage1/obj/compileLog_of_tagged_enum_doesnt_crash_the_compiler.zig b/test/compile_errors/stage1/obj/compileLog_of_tagged_enum_doesnt_crash_the_compiler.zig index 0770b3b6a4..36e1ee1118 100644 --- a/test/compile_errors/stage1/obj/compileLog_of_tagged_enum_doesnt_crash_the_compiler.zig +++ b/test/compile_errors/stage1/obj/compileLog_of_tagged_enum_doesnt_crash_the_compiler.zig @@ -10,6 +10,8 @@ pub fn main () void { comptime testCompileLog(Bar{.X = 123}); } -// compileLog of tagged enum doesn't crash the compiler +// error +// backend=stage1 +// target=native // // tmp.zig:6:5: error: found compile log statement diff --git a/test/compile_errors/stage1/obj/compile_error_in_struct_init_expression.zig b/test/compile_errors/stage1/obj/compile_error_in_struct_init_expression.zig index 6215c9ad76..041d09b002 100644 --- a/test/compile_errors/stage1/obj/compile_error_in_struct_init_expression.zig +++ b/test/compile_errors/stage1/obj/compile_error_in_struct_init_expression.zig @@ -9,6 +9,8 @@ export fn entry() void { _ = x; } -// compile error in struct init expression +// error +// backend=stage1 +// target=native // // tmp.zig:2:14: error: use of undeclared identifier 'crap' diff --git a/test/compile_errors/stage1/obj/compile_error_when_evaluating_return_type_of_inferred_error_set.zig b/test/compile_errors/stage1/obj/compile_error_when_evaluating_return_type_of_inferred_error_set.zig index 44d5b6a389..7b1d11b0a4 100644 --- a/test/compile_errors/stage1/obj/compile_error_when_evaluating_return_type_of_inferred_error_set.zig +++ b/test/compile_errors/stage1/obj/compile_error_when_evaluating_return_type_of_inferred_error_set.zig @@ -7,6 +7,8 @@ export fn entry() void { _ = car; } -// compile error when evaluating return type of inferred error set +// error +// backend=stage1 +// target=native // // tmp.zig:2:11: error: use of undeclared identifier 'SymbolThatDoesNotExist' diff --git a/test/compile_errors/stage1/obj/compile_log.zig b/test/compile_errors/stage1/obj/compile_log.zig index ef1cba4502..7f5d522407 100644 --- a/test/compile_errors/stage1/obj/compile_log.zig +++ b/test/compile_errors/stage1/obj/compile_log.zig @@ -7,7 +7,9 @@ fn bar(a: i32, b: []const u8) void { @compileLog("end",); } -// compile log +// error +// backend=stage1 +// target=native // // tmp.zig:5:5: error: found compile log statement // tmp.zig:6:5: error: found compile log statement diff --git a/test/compile_errors/stage1/obj/compile_log_a_pointer_to_an_opaque_value.zig b/test/compile_errors/stage1/obj/compile_log_a_pointer_to_an_opaque_value.zig index 15b7825a91..d585712b8a 100644 --- a/test/compile_errors/stage1/obj/compile_log_a_pointer_to_an_opaque_value.zig +++ b/test/compile_errors/stage1/obj/compile_log_a_pointer_to_an_opaque_value.zig @@ -2,6 +2,8 @@ export fn entry() void { @compileLog(@ptrCast(*const anyopaque, &entry)); } -// compile log a pointer to an opaque value +// error +// backend=stage1 +// target=native // // tmp.zig:2:5: error: found compile log statement diff --git a/test/compile_errors/stage1/obj/compile_log_statement_inside_function_which_must_be_comptime_evaluated.zig b/test/compile_errors/stage1/obj/compile_log_statement_inside_function_which_must_be_comptime_evaluated.zig index f848ed7c7c..19b96048cb 100644 --- a/test/compile_errors/stage1/obj/compile_log_statement_inside_function_which_must_be_comptime_evaluated.zig +++ b/test/compile_errors/stage1/obj/compile_log_statement_inside_function_which_must_be_comptime_evaluated.zig @@ -7,6 +7,8 @@ export fn entry() void { _ = @typeName(Foo(i32)); } -// compile log statement inside function which must be comptime evaluated +// error +// backend=stage1 +// target=native // // tmp.zig:2:5: error: found compile log statement diff --git a/test/compile_errors/stage1/obj/compile_log_statement_warning_deduplication_in_generic_fn.zig b/test/compile_errors/stage1/obj/compile_log_statement_warning_deduplication_in_generic_fn.zig index 05ac76724c..991021932d 100644 --- a/test/compile_errors/stage1/obj/compile_log_statement_warning_deduplication_in_generic_fn.zig +++ b/test/compile_errors/stage1/obj/compile_log_statement_warning_deduplication_in_generic_fn.zig @@ -7,6 +7,8 @@ fn inner(comptime n: usize) void { inline while (i < n) : (i += 1) { @compileLog("!@#$"); } } -// compile log statement warning deduplication in generic fn +// error +// backend=stage1 +// target=native // // tmp.zig:7:39: error: found compile log statement diff --git a/test/compile_errors/stage1/obj/compile_time_division_by_zero.zig b/test/compile_errors/stage1/obj/compile_time_division_by_zero.zig index 17187c47bf..7f7e168f02 100644 --- a/test/compile_errors/stage1/obj/compile_time_division_by_zero.zig +++ b/test/compile_errors/stage1/obj/compile_time_division_by_zero.zig @@ -5,6 +5,8 @@ fn foo(x: u32) u32 { export fn entry() usize { return @sizeOf(@TypeOf(y)); } -// compile time division by zero +// error +// backend=stage1 +// target=native // // tmp.zig:3:14: error: division by zero diff --git a/test/compile_errors/stage1/obj/comptime_cast_enum_to_union_but_field_has_payload.zig b/test/compile_errors/stage1/obj/comptime_cast_enum_to_union_but_field_has_payload.zig index 36a2079a01..c3cf9e76e5 100644 --- a/test/compile_errors/stage1/obj/comptime_cast_enum_to_union_but_field_has_payload.zig +++ b/test/compile_errors/stage1/obj/comptime_cast_enum_to_union_but_field_has_payload.zig @@ -9,7 +9,9 @@ export fn entry() void { _ = x; } -// comptime cast enum to union but field has payload +// error +// backend=stage1 +// target=native // // tmp.zig:8:26: error: cast to union 'Value' must initialize 'i32' field 'A' // tmp.zig:3:5: note: field 'A' declared here diff --git a/test/compile_errors/stage1/obj/comptime_continue_inside_runtime_catch.zig b/test/compile_errors/stage1/obj/comptime_continue_inside_runtime_catch.zig index 18c78c858c..7eefeb80b4 100644 --- a/test/compile_errors/stage1/obj/comptime_continue_inside_runtime_catch.zig +++ b/test/compile_errors/stage1/obj/comptime_continue_inside_runtime_catch.zig @@ -8,7 +8,9 @@ fn bad() !void { return error.Bad; } -// comptime continue inside runtime catch +// error +// backend=stage1 +// target=native // // tmp.zig:4:21: error: comptime control flow inside runtime block // tmp.zig:4:15: note: runtime block created here diff --git a/test/compile_errors/stage1/obj/comptime_continue_inside_runtime_if_bool.zig b/test/compile_errors/stage1/obj/comptime_continue_inside_runtime_if_bool.zig index f6ec1b98b1..9ace5ddceb 100644 --- a/test/compile_errors/stage1/obj/comptime_continue_inside_runtime_if_bool.zig +++ b/test/compile_errors/stage1/obj/comptime_continue_inside_runtime_if_bool.zig @@ -7,7 +7,9 @@ export fn entry() void { } } -// comptime continue inside runtime if bool +// error +// backend=stage1 +// target=native // // tmp.zig:5:22: error: comptime control flow inside runtime block // tmp.zig:5:9: note: runtime block created here diff --git a/test/compile_errors/stage1/obj/comptime_continue_inside_runtime_if_error.zig b/test/compile_errors/stage1/obj/comptime_continue_inside_runtime_if_error.zig index 556a8769a5..554ba3c43e 100644 --- a/test/compile_errors/stage1/obj/comptime_continue_inside_runtime_if_error.zig +++ b/test/compile_errors/stage1/obj/comptime_continue_inside_runtime_if_error.zig @@ -7,7 +7,9 @@ export fn entry() void { } } -// comptime continue inside runtime if error +// error +// backend=stage1 +// target=native // // tmp.zig:5:20: error: comptime control flow inside runtime block // tmp.zig:5:9: note: runtime block created here diff --git a/test/compile_errors/stage1/obj/comptime_continue_inside_runtime_if_optional.zig b/test/compile_errors/stage1/obj/comptime_continue_inside_runtime_if_optional.zig index 4f35398a2b..32c71e5c77 100644 --- a/test/compile_errors/stage1/obj/comptime_continue_inside_runtime_if_optional.zig +++ b/test/compile_errors/stage1/obj/comptime_continue_inside_runtime_if_optional.zig @@ -7,7 +7,9 @@ export fn entry() void { } } -// comptime continue inside runtime if optional +// error +// backend=stage1 +// target=native // // tmp.zig:5:20: error: comptime control flow inside runtime block // tmp.zig:5:9: note: runtime block created here diff --git a/test/compile_errors/stage1/obj/comptime_continue_inside_runtime_switch.zig b/test/compile_errors/stage1/obj/comptime_continue_inside_runtime_switch.zig index 259cbd602e..d145897b41 100644 --- a/test/compile_errors/stage1/obj/comptime_continue_inside_runtime_switch.zig +++ b/test/compile_errors/stage1/obj/comptime_continue_inside_runtime_switch.zig @@ -10,7 +10,9 @@ export fn entry() void { } } -// comptime continue inside runtime switch +// error +// backend=stage1 +// target=native // // tmp.zig:6:19: error: comptime control flow inside runtime block // tmp.zig:5:9: note: runtime block created here diff --git a/test/compile_errors/stage1/obj/comptime_continue_inside_runtime_while_bool.zig b/test/compile_errors/stage1/obj/comptime_continue_inside_runtime_while_bool.zig index 5d86394815..8e57854728 100644 --- a/test/compile_errors/stage1/obj/comptime_continue_inside_runtime_while_bool.zig +++ b/test/compile_errors/stage1/obj/comptime_continue_inside_runtime_while_bool.zig @@ -7,7 +7,9 @@ export fn entry() void { } } -// comptime continue inside runtime while bool +// error +// backend=stage1 +// target=native // // tmp.zig:5:25: error: comptime control flow inside runtime block // tmp.zig:5:9: note: runtime block created here diff --git a/test/compile_errors/stage1/obj/comptime_continue_inside_runtime_while_error.zig b/test/compile_errors/stage1/obj/comptime_continue_inside_runtime_while_error.zig index 0ba49cb3ca..818455c354 100644 --- a/test/compile_errors/stage1/obj/comptime_continue_inside_runtime_while_error.zig +++ b/test/compile_errors/stage1/obj/comptime_continue_inside_runtime_while_error.zig @@ -9,7 +9,9 @@ export fn entry() void { } } -// comptime continue inside runtime while error +// error +// backend=stage1 +// target=native // // tmp.zig:6:13: error: comptime control flow inside runtime block // tmp.zig:5:9: note: runtime block created here diff --git a/test/compile_errors/stage1/obj/comptime_continue_inside_runtime_while_optional.zig b/test/compile_errors/stage1/obj/comptime_continue_inside_runtime_while_optional.zig index b2cfd2f69d..ed22cc2cac 100644 --- a/test/compile_errors/stage1/obj/comptime_continue_inside_runtime_while_optional.zig +++ b/test/compile_errors/stage1/obj/comptime_continue_inside_runtime_while_optional.zig @@ -7,7 +7,9 @@ export fn entry() void { } } -// comptime continue inside runtime while optional +// error +// backend=stage1 +// target=native // // tmp.zig:5:23: error: comptime control flow inside runtime block // tmp.zig:5:9: note: runtime block created here diff --git a/test/compile_errors/stage1/obj/comptime_float_in_asm_input.zig b/test/compile_errors/stage1/obj/comptime_float_in_asm_input.zig index c2333586b4..92ffadc4f7 100644 --- a/test/compile_errors/stage1/obj/comptime_float_in_asm_input.zig +++ b/test/compile_errors/stage1/obj/comptime_float_in_asm_input.zig @@ -2,6 +2,8 @@ export fn foo() void { asm volatile ("" : : [bar]"r"(3.17) : ""); } -// comptime_float in asm input +// error +// backend=stage1 +// target=native // // tmp.zig:2:35: error: expected sized integer or sized float, found comptime_float diff --git a/test/compile_errors/stage1/obj/comptime_implicit_cast_f64_to_f32.zig b/test/compile_errors/stage1/obj/comptime_implicit_cast_f64_to_f32.zig index f98c45a348..af5d49c7cb 100644 --- a/test/compile_errors/stage1/obj/comptime_implicit_cast_f64_to_f32.zig +++ b/test/compile_errors/stage1/obj/comptime_implicit_cast_f64_to_f32.zig @@ -4,6 +4,8 @@ export fn entry() void { _ = y; } -// comptime implicit cast f64 to f32 +// error +// backend=stage1 +// target=native // // tmp.zig:3:20: error: cast of value 16777217.000000 to type 'f32' loses information diff --git a/test/compile_errors/stage1/obj/comptime_int_in_asm_input.zig b/test/compile_errors/stage1/obj/comptime_int_in_asm_input.zig index 5a587e5a77..3e3ccf8c27 100644 --- a/test/compile_errors/stage1/obj/comptime_int_in_asm_input.zig +++ b/test/compile_errors/stage1/obj/comptime_int_in_asm_input.zig @@ -2,6 +2,8 @@ export fn foo() void { asm volatile ("" : : [bar]"r"(3) : ""); } -// comptime_int in asm input +// error +// backend=stage1 +// target=native // // tmp.zig:2:35: error: expected sized integer or sized float, found comptime_int diff --git a/test/compile_errors/stage1/obj/comptime_ptrcast_of_zero-sized_type.zig b/test/compile_errors/stage1/obj/comptime_ptrcast_of_zero-sized_type.zig index 1d3f91fe91..231e735cfa 100644 --- a/test/compile_errors/stage1/obj/comptime_ptrcast_of_zero-sized_type.zig +++ b/test/compile_errors/stage1/obj/comptime_ptrcast_of_zero-sized_type.zig @@ -5,6 +5,8 @@ fn foo() void { } comptime { foo(); } -// comptime ptrcast of zero-sized type +// error +// backend=stage1 +// target=native // // tmp.zig:3:21: error: '*const struct:2:17' and '[*]const u8' do not have the same in-memory representation diff --git a/test/compile_errors/stage1/obj/comptime_slice-sentinel_does_not_match_memory_at_target_index_terminated.zig b/test/compile_errors/stage1/obj/comptime_slice-sentinel_does_not_match_memory_at_target_index_terminated.zig index 622e0cf76b..598d23a305 100644 --- a/test/compile_errors/stage1/obj/comptime_slice-sentinel_does_not_match_memory_at_target_index_terminated.zig +++ b/test/compile_errors/stage1/obj/comptime_slice-sentinel_does_not_match_memory_at_target_index_terminated.zig @@ -54,7 +54,9 @@ export fn foo_slice() void { } } -// comptime slice-sentinel does not match memory at target index (terminated) +// error +// backend=stage1 +// target=native // // :4:29: error: slice-sentinel does not match memory at target index // :12:29: error: slice-sentinel does not match memory at target index diff --git a/test/compile_errors/stage1/obj/comptime_slice-sentinel_does_not_match_memory_at_target_index_unterminated.zig b/test/compile_errors/stage1/obj/comptime_slice-sentinel_does_not_match_memory_at_target_index_unterminated.zig index e9451cf9aa..d6b469aaf1 100644 --- a/test/compile_errors/stage1/obj/comptime_slice-sentinel_does_not_match_memory_at_target_index_unterminated.zig +++ b/test/compile_errors/stage1/obj/comptime_slice-sentinel_does_not_match_memory_at_target_index_unterminated.zig @@ -54,7 +54,9 @@ export fn foo_slice() void { } } -// comptime slice-sentinel does not match memory at target index (unterminated) +// error +// backend=stage1 +// target=native // // :4:29: error: slice-sentinel does not match memory at target index // :12:29: error: slice-sentinel does not match memory at target index diff --git a/test/compile_errors/stage1/obj/comptime_slice-sentinel_does_not_match_target-sentinel.zig b/test/compile_errors/stage1/obj/comptime_slice-sentinel_does_not_match_target-sentinel.zig index 597a493705..b204cfc684 100644 --- a/test/compile_errors/stage1/obj/comptime_slice-sentinel_does_not_match_target-sentinel.zig +++ b/test/compile_errors/stage1/obj/comptime_slice-sentinel_does_not_match_target-sentinel.zig @@ -54,7 +54,9 @@ export fn foo_slice() void { } } -// comptime slice-sentinel does not match target-sentinel +// error +// backend=stage1 +// target=native // // :4:29: error: slice-sentinel does not match target-sentinel // :12:29: error: slice-sentinel does not match target-sentinel diff --git a/test/compile_errors/stage1/obj/comptime_slice-sentinel_is_out_of_bounds_terminated.zig b/test/compile_errors/stage1/obj/comptime_slice-sentinel_is_out_of_bounds_terminated.zig index d5fc64ea84..82c19126c0 100644 --- a/test/compile_errors/stage1/obj/comptime_slice-sentinel_is_out_of_bounds_terminated.zig +++ b/test/compile_errors/stage1/obj/comptime_slice-sentinel_is_out_of_bounds_terminated.zig @@ -54,7 +54,9 @@ export fn foo_slice() void { } } -// comptime slice-sentinel is out of bounds (terminated) +// error +// backend=stage1 +// target=native // // :4:29: error: out of bounds slice // :12:29: error: out of bounds slice diff --git a/test/compile_errors/stage1/obj/comptime_slice-sentinel_is_out_of_bounds_unterminated.zig b/test/compile_errors/stage1/obj/comptime_slice-sentinel_is_out_of_bounds_unterminated.zig index 05a499ca8a..952b17600a 100644 --- a/test/compile_errors/stage1/obj/comptime_slice-sentinel_is_out_of_bounds_unterminated.zig +++ b/test/compile_errors/stage1/obj/comptime_slice-sentinel_is_out_of_bounds_unterminated.zig @@ -54,7 +54,9 @@ export fn foo_slice() void { } } -// comptime slice-sentinel is out of bounds (unterminated) +// error +// backend=stage1 +// target=native // // :4:29: error: slice-sentinel is out of bounds // :12:29: error: slice-sentinel is out of bounds diff --git a/test/compile_errors/stage1/obj/comptime_slice_of_an_undefined_slice.zig b/test/compile_errors/stage1/obj/comptime_slice_of_an_undefined_slice.zig index b56feddc02..4aa519f41e 100644 --- a/test/compile_errors/stage1/obj/comptime_slice_of_an_undefined_slice.zig +++ b/test/compile_errors/stage1/obj/comptime_slice_of_an_undefined_slice.zig @@ -4,6 +4,8 @@ comptime { _ = b; } -// comptime slice of an undefined slice +// error +// backend=stage1 +// target=native // // tmp.zig:3:14: error: slice of undefined diff --git a/test/compile_errors/stage1/obj/comptime_slice_of_undefined_pointer_non-zero_len.zig b/test/compile_errors/stage1/obj/comptime_slice_of_undefined_pointer_non-zero_len.zig index bcddd1d866..ec7fbdc6e2 100644 --- a/test/compile_errors/stage1/obj/comptime_slice_of_undefined_pointer_non-zero_len.zig +++ b/test/compile_errors/stage1/obj/comptime_slice_of_undefined_pointer_non-zero_len.zig @@ -3,6 +3,8 @@ export fn entry() void { _ = slice; } -// comptime slice of undefined pointer non-zero len +// error +// backend=stage1 +// target=native // // tmp.zig:2:41: error: non-zero length slice of undefined pointer diff --git a/test/compile_errors/stage1/obj/comptime_struct_field_no_init_value.zig b/test/compile_errors/stage1/obj/comptime_struct_field_no_init_value.zig index c3de76a794..b889911a4d 100644 --- a/test/compile_errors/stage1/obj/comptime_struct_field_no_init_value.zig +++ b/test/compile_errors/stage1/obj/comptime_struct_field_no_init_value.zig @@ -6,6 +6,8 @@ export fn entry() void { _ = f; } -// comptime struct field, no init value +// error +// backend=stage1 +// target=native // // tmp.zig:2:5: error: comptime field without default initialization value diff --git a/test/compile_errors/stage1/obj/const_frame_cast_to_anyframe.zig b/test/compile_errors/stage1/obj/const_frame_cast_to_anyframe.zig index 1e6cdba507..affdb953d7 100644 --- a/test/compile_errors/stage1/obj/const_frame_cast_to_anyframe.zig +++ b/test/compile_errors/stage1/obj/const_frame_cast_to_anyframe.zig @@ -11,7 +11,9 @@ fn func() void { suspend {} } -// const frame cast to anyframe +// error +// backend=stage1 +// target=native // // tmp.zig:3:12: error: expected type 'anyframe', found '*const @Frame(func)' // tmp.zig:7:24: error: expected type 'anyframe', found '*const @Frame(func)' diff --git a/test/compile_errors/stage1/obj/const_is_a_statement_not_an_expression.zig b/test/compile_errors/stage1/obj/const_is_a_statement_not_an_expression.zig index 4396407dd1..b90878abeb 100644 --- a/test/compile_errors/stage1/obj/const_is_a_statement_not_an_expression.zig +++ b/test/compile_errors/stage1/obj/const_is_a_statement_not_an_expression.zig @@ -2,6 +2,8 @@ export fn f() void { (const a = 0); } -// const is a statement, not an expression +// error +// backend=stage1 +// target=native // // tmp.zig:2:6: error: expected expression, found 'const' diff --git a/test/compile_errors/stage1/obj/container_init_with_non-type.zig b/test/compile_errors/stage1/obj/container_init_with_non-type.zig index 6464555df5..3364b2f5b6 100644 --- a/test/compile_errors/stage1/obj/container_init_with_non-type.zig +++ b/test/compile_errors/stage1/obj/container_init_with_non-type.zig @@ -3,6 +3,8 @@ const a = zero{1}; export fn entry() usize { return @sizeOf(@TypeOf(a)); } -// container init with non-type +// error +// backend=stage1 +// target=native // // tmp.zig:2:11: error: expected type 'type', found 'i32' diff --git a/test/compile_errors/stage1/obj/control_flow_uses_comptime_var_at_runtime.zig b/test/compile_errors/stage1/obj/control_flow_uses_comptime_var_at_runtime.zig index ee2c0234c3..cb2c3e9f6e 100644 --- a/test/compile_errors/stage1/obj/control_flow_uses_comptime_var_at_runtime.zig +++ b/test/compile_errors/stage1/obj/control_flow_uses_comptime_var_at_runtime.zig @@ -7,7 +7,9 @@ export fn foo() void { fn bar() void { } -// control flow uses comptime var at runtime +// error +// backend=stage1 +// target=native // // tmp.zig:3:5: error: control flow attempts to use compile-time variable at runtime // tmp.zig:3:24: note: compile-time variable assigned here diff --git a/test/compile_errors/stage1/obj/control_reaches_end_of_non-void_function.zig b/test/compile_errors/stage1/obj/control_reaches_end_of_non-void_function.zig index 13d2876823..e15c1bd40b 100644 --- a/test/compile_errors/stage1/obj/control_reaches_end_of_non-void_function.zig +++ b/test/compile_errors/stage1/obj/control_reaches_end_of_non-void_function.zig @@ -1,6 +1,8 @@ fn a() i32 {} export fn entry() void { _ = a(); } -// control reaches end of non-void function +// error +// backend=stage1 +// target=native // // tmp.zig:1:12: error: expected type 'i32', found 'void' diff --git a/test/compile_errors/stage1/obj/declaration_between_fields.zig b/test/compile_errors/stage1/obj/declaration_between_fields.zig index 6e6b60f2e4..25a1ff5abc 100644 --- a/test/compile_errors/stage1/obj/declaration_between_fields.zig +++ b/test/compile_errors/stage1/obj/declaration_between_fields.zig @@ -15,7 +15,9 @@ comptime { _ = S; } -// declaration between fields +// error +// backend=stage1 +// target=native // // tmp.zig:9:5: error: declarations are not allowed between container fields // tmp.zig:5:5: note: field before declarations here diff --git a/test/compile_errors/stage1/obj/declaration_with_same_name_as_primitive_must_use_special_syntax.zig b/test/compile_errors/stage1/obj/declaration_with_same_name_as_primitive_must_use_special_syntax.zig index c10f397da4..46b0257ed5 100644 --- a/test/compile_errors/stage1/obj/declaration_with_same_name_as_primitive_must_use_special_syntax.zig +++ b/test/compile_errors/stage1/obj/declaration_with_same_name_as_primitive_must_use_special_syntax.zig @@ -4,7 +4,9 @@ export fn entry() void { _ = a; } -// declaration with same name as primitive must use special syntax +// error +// backend=stage1 +// target=native // // tmp.zig:1:7: error: name shadows primitive 'u8' // tmp.zig:1:7: note: consider using @"u8" to disambiguate diff --git a/test/compile_errors/stage1/obj/deduplicate_undeclared_identifier.zig b/test/compile_errors/stage1/obj/deduplicate_undeclared_identifier.zig index 1c9d6c3d31..1e3b3bf6db 100644 --- a/test/compile_errors/stage1/obj/deduplicate_undeclared_identifier.zig +++ b/test/compile_errors/stage1/obj/deduplicate_undeclared_identifier.zig @@ -5,6 +5,8 @@ export fn b() void { x += 1; } -// deduplicate undeclared identifier +// error +// backend=stage1 +// target=native // // tmp.zig:2:5: error: use of undeclared identifier 'x' diff --git a/test/compile_errors/stage1/obj/deref_on_undefined_value.zig b/test/compile_errors/stage1/obj/deref_on_undefined_value.zig index 607f6ea5e0..f64d567a26 100644 --- a/test/compile_errors/stage1/obj/deref_on_undefined_value.zig +++ b/test/compile_errors/stage1/obj/deref_on_undefined_value.zig @@ -3,6 +3,8 @@ comptime { _ = a.*; } -// deref on undefined value +// error +// backend=stage1 +// target=native // // tmp.zig:3:9: error: attempt to dereference undefined value diff --git a/test/compile_errors/stage1/obj/deref_slice_and_get_len_field.zig b/test/compile_errors/stage1/obj/deref_slice_and_get_len_field.zig index 2fa5ff6133..98097597cc 100644 --- a/test/compile_errors/stage1/obj/deref_slice_and_get_len_field.zig +++ b/test/compile_errors/stage1/obj/deref_slice_and_get_len_field.zig @@ -3,6 +3,8 @@ export fn entry() void { _ = a.*.len; } -// deref slice and get len field +// error +// backend=stage1 +// target=native // // tmp.zig:3:10: error: attempt to dereference non-pointer type '[]u8' diff --git a/test/compile_errors/stage1/obj/dereference_an_array.zig b/test/compile_errors/stage1/obj/dereference_an_array.zig index 713c655784..0dd91f70e5 100644 --- a/test/compile_errors/stage1/obj/dereference_an_array.zig +++ b/test/compile_errors/stage1/obj/dereference_an_array.zig @@ -7,6 +7,8 @@ pub fn pass(in: []u8) []u8 { export fn entry() usize { return @sizeOf(@TypeOf(pass)); } -// dereference an array +// error +// backend=stage1 +// target=native // // tmp.zig:4:10: error: attempt to dereference non-pointer type '[10]u8' diff --git a/test/compile_errors/stage1/obj/dereference_unknown_length_pointer.zig b/test/compile_errors/stage1/obj/dereference_unknown_length_pointer.zig index 22ad181fb2..c305e4bc98 100644 --- a/test/compile_errors/stage1/obj/dereference_unknown_length_pointer.zig +++ b/test/compile_errors/stage1/obj/dereference_unknown_length_pointer.zig @@ -2,6 +2,8 @@ export fn entry(x: [*]i32) i32 { return x.*; } -// dereference unknown length pointer +// error +// backend=stage1 +// target=native // // tmp.zig:2:13: error: index syntax required for unknown-length pointer type '[*]i32' diff --git a/test/compile_errors/stage1/obj/direct_struct_loop.zig b/test/compile_errors/stage1/obj/direct_struct_loop.zig index 25b3c724c3..3062e617d6 100644 --- a/test/compile_errors/stage1/obj/direct_struct_loop.zig +++ b/test/compile_errors/stage1/obj/direct_struct_loop.zig @@ -1,6 +1,8 @@ const A = struct { a : A, }; export fn entry() usize { return @sizeOf(A); } -// direct struct loop +// error +// backend=stage1 +// target=native // // tmp.zig:1:11: error: struct 'A' depends on itself diff --git a/test/compile_errors/stage1/obj/directly_embedding_opaque_type_in_struct_and_union.zig b/test/compile_errors/stage1/obj/directly_embedding_opaque_type_in_struct_and_union.zig index 811fc00f50..8b8d84ad2a 100644 --- a/test/compile_errors/stage1/obj/directly_embedding_opaque_type_in_struct_and_union.zig +++ b/test/compile_errors/stage1/obj/directly_embedding_opaque_type_in_struct_and_union.zig @@ -20,7 +20,9 @@ export fn c() void { _ = qux; } -// directly embedding opaque type in struct and union +// error +// backend=stage1 +// target=native // // tmp.zig:3:5: error: opaque types have unknown size and therefore cannot be directly embedded in structs // tmp.zig:7:5: error: opaque types have unknown size and therefore cannot be directly embedded in unions diff --git a/test/compile_errors/stage1/obj/disallow_coercion_from_non-null-terminated_pointer_to_null-terminated_pointer.zig b/test/compile_errors/stage1/obj/disallow_coercion_from_non-null-terminated_pointer_to_null-terminated_pointer.zig index a8467ddc87..1d0a6216dd 100644 --- a/test/compile_errors/stage1/obj/disallow_coercion_from_non-null-terminated_pointer_to_null-terminated_pointer.zig +++ b/test/compile_errors/stage1/obj/disallow_coercion_from_non-null-terminated_pointer_to_null-terminated_pointer.zig @@ -5,6 +5,8 @@ pub fn main() void { _ = puts(no_zero_ptr); } -// disallow coercion from non-null-terminated pointer to null-terminated pointer +// error +// backend=stage1 +// target=native // // tmp.zig:5:14: error: expected type '[*:0]const u8', found '[*]const u8' diff --git a/test/compile_errors/stage1/obj/discarding_error_value.zig b/test/compile_errors/stage1/obj/discarding_error_value.zig index 966a43a47c..dcfa22e8cb 100644 --- a/test/compile_errors/stage1/obj/discarding_error_value.zig +++ b/test/compile_errors/stage1/obj/discarding_error_value.zig @@ -5,6 +5,8 @@ fn foo() !void { return error.OutOfMemory; } -// discarding error value +// error +// backend=stage1 +// target=native // // tmp.zig:2:12: error: error is discarded. consider using `try`, `catch`, or `if` diff --git a/test/compile_errors/stage1/obj/div_assign_on_undefined_value.zig b/test/compile_errors/stage1/obj/div_assign_on_undefined_value.zig index 40c31649fb..5f18e6286a 100644 --- a/test/compile_errors/stage1/obj/div_assign_on_undefined_value.zig +++ b/test/compile_errors/stage1/obj/div_assign_on_undefined_value.zig @@ -3,6 +3,8 @@ comptime { a /= a; } -// div assign on undefined value +// error +// backend=stage1 +// target=native // // tmp.zig:3:5: error: use of undefined value here causes undefined behavior diff --git a/test/compile_errors/stage1/obj/div_on_undefined_value.zig b/test/compile_errors/stage1/obj/div_on_undefined_value.zig index 17af3fa221..9857b1c779 100644 --- a/test/compile_errors/stage1/obj/div_on_undefined_value.zig +++ b/test/compile_errors/stage1/obj/div_on_undefined_value.zig @@ -3,6 +3,8 @@ comptime { _ = a / a; } -// div on undefined value +// error +// backend=stage1 +// target=native // // tmp.zig:3:9: error: use of undefined value here causes undefined behavior diff --git a/test/compile_errors/stage1/obj/division_by_zero.zig b/test/compile_errors/stage1/obj/division_by_zero.zig index 178d1d935b..3023f0c6f3 100644 --- a/test/compile_errors/stage1/obj/division_by_zero.zig +++ b/test/compile_errors/stage1/obj/division_by_zero.zig @@ -8,7 +8,9 @@ export fn entry2() usize { return @sizeOf(@TypeOf(lit_float_x)); } export fn entry3() usize { return @sizeOf(@TypeOf(int_x)); } export fn entry4() usize { return @sizeOf(@TypeOf(float_x)); } -// division by zero +// error +// backend=stage1 +// target=native // // tmp.zig:1:21: error: division by zero // tmp.zig:2:25: error: division by zero diff --git a/test/compile_errors/stage1/obj/dont_implicit_cast_double_pointer_to_anyopaque.zig b/test/compile_errors/stage1/obj/dont_implicit_cast_double_pointer_to_anyopaque.zig index 5894103f1c..f61dec2ee0 100644 --- a/test/compile_errors/stage1/obj/dont_implicit_cast_double_pointer_to_anyopaque.zig +++ b/test/compile_errors/stage1/obj/dont_implicit_cast_double_pointer_to_anyopaque.zig @@ -6,6 +6,8 @@ export fn entry() void { _ = ptr2; } -// don't implicit cast double pointer to *anyopaque +// error +// backend=stage1 +// target=native // // tmp.zig:5:29: error: expected type '*anyopaque', found '**u32' diff --git a/test/compile_errors/stage1/obj/double_optional_on_main_return_value.zig b/test/compile_errors/stage1/obj/double_optional_on_main_return_value.zig index c85706bc87..c61ac400ba 100644 --- a/test/compile_errors/stage1/obj/double_optional_on_main_return_value.zig +++ b/test/compile_errors/stage1/obj/double_optional_on_main_return_value.zig @@ -1,6 +1,8 @@ pub fn main() ??void { } -// double ?? on main return value +// error +// backend=stage1 +// target=native // // error: expected return type of main to be 'void', '!void', 'noreturn', 'u8', or '!u8' diff --git a/test/compile_errors/stage1/obj/duplicate_boolean_switch_value.zig b/test/compile_errors/stage1/obj/duplicate_boolean_switch_value.zig index 8c496d5e19..5b85c0a2eb 100644 --- a/test/compile_errors/stage1/obj/duplicate_boolean_switch_value.zig +++ b/test/compile_errors/stage1/obj/duplicate_boolean_switch_value.zig @@ -15,7 +15,9 @@ comptime { _ = x; } -// duplicate boolean switch value +// error +// backend=stage1 +// target=native // // tmp.zig:5:9: error: duplicate switch value // tmp.zig:13:9: error: duplicate switch value diff --git a/test/compile_errors/stage1/obj/duplicate_enum_field.zig b/test/compile_errors/stage1/obj/duplicate_enum_field.zig index 2aee3cc2dc..cd024270bd 100644 --- a/test/compile_errors/stage1/obj/duplicate_enum_field.zig +++ b/test/compile_errors/stage1/obj/duplicate_enum_field.zig @@ -8,7 +8,9 @@ export fn entry() void { _ = a; } -// duplicate enum field +// error +// backend=stage1 +// target=native // // tmp.zig:3:5: error: duplicate enum field: 'Bar' // tmp.zig:2:5: note: other field here diff --git a/test/compile_errors/stage1/obj/duplicate_error_in_switch.zig b/test/compile_errors/stage1/obj/duplicate_error_in_switch.zig index bca59056c3..140a14ec81 100644 --- a/test/compile_errors/stage1/obj/duplicate_error_in_switch.zig +++ b/test/compile_errors/stage1/obj/duplicate_error_in_switch.zig @@ -14,7 +14,9 @@ fn foo(x: i32) !void { } } -// duplicate error in switch +// error +// backend=stage1 +// target=native // // tmp.zig:5:14: error: duplicate switch value: '@typeInfo(@typeInfo(@TypeOf(foo)).Fn.return_type.?).ErrorUnion.error_set.Foo' // tmp.zig:3:14: note: other value here diff --git a/test/compile_errors/stage1/obj/duplicate_error_value_in_error_set.zig b/test/compile_errors/stage1/obj/duplicate_error_value_in_error_set.zig index 90457562b2..30d3bee8ab 100644 --- a/test/compile_errors/stage1/obj/duplicate_error_value_in_error_set.zig +++ b/test/compile_errors/stage1/obj/duplicate_error_value_in_error_set.zig @@ -7,7 +7,9 @@ export fn entry() void { _ = a; } -// duplicate error value in error set +// error +// backend=stage1 +// target=native // // tmp.zig:3:5: error: duplicate error set field 'Bar' // tmp.zig:2:5: note: previous declaration here diff --git a/test/compile_errors/stage1/obj/duplicate_field_in_struct_value_expression.zig b/test/compile_errors/stage1/obj/duplicate_field_in_struct_value_expression.zig index 6df71430d9..1c0bac75e2 100644 --- a/test/compile_errors/stage1/obj/duplicate_field_in_struct_value_expression.zig +++ b/test/compile_errors/stage1/obj/duplicate_field_in_struct_value_expression.zig @@ -13,6 +13,8 @@ export fn f() void { _ = a; } -// duplicate field in struct value expression +// error +// backend=stage1 +// target=native // // tmp.zig:11:9: error: duplicate field diff --git a/test/compile_errors/stage1/obj/duplicate_struct_field.zig b/test/compile_errors/stage1/obj/duplicate_struct_field.zig index d1fd05aacc..93afdef70e 100644 --- a/test/compile_errors/stage1/obj/duplicate_struct_field.zig +++ b/test/compile_errors/stage1/obj/duplicate_struct_field.zig @@ -7,7 +7,9 @@ export fn entry() void { _ = a; } -// duplicate struct field +// error +// backend=stage1 +// target=native // // tmp.zig:3:5: error: duplicate struct field: 'Bar' // tmp.zig:2:5: note: other field here diff --git a/test/compile_errors/stage1/obj/duplicate_union_field.zig b/test/compile_errors/stage1/obj/duplicate_union_field.zig index a8bff106c6..5cbdcb7820 100644 --- a/test/compile_errors/stage1/obj/duplicate_union_field.zig +++ b/test/compile_errors/stage1/obj/duplicate_union_field.zig @@ -7,7 +7,9 @@ export fn entry() void { _ = a; } -// duplicate union field +// error +// backend=stage1 +// target=native // // tmp.zig:3:5: error: duplicate union field: 'Bar' // tmp.zig:2:5: note: other field here diff --git a/test/compile_errors/stage1/obj/embedFile_with_bogus_file.zig b/test/compile_errors/stage1/obj/embedFile_with_bogus_file.zig index e50e091909..a03949b40a 100644 --- a/test/compile_errors/stage1/obj/embedFile_with_bogus_file.zig +++ b/test/compile_errors/stage1/obj/embedFile_with_bogus_file.zig @@ -2,6 +2,8 @@ const resource = @embedFile("bogus.txt",); export fn entry() usize { return @sizeOf(@TypeOf(resource)); } -// @embedFile with bogus file +// error +// backend=stage1 +// target=native // // tmp.zig:1:29: error: unable to find ' diff --git a/test/compile_errors/stage1/obj/empty_for_loop_body.zig b/test/compile_errors/stage1/obj/empty_for_loop_body.zig index 6e042f71e4..b824c93131 100644 --- a/test/compile_errors/stage1/obj/empty_for_loop_body.zig +++ b/test/compile_errors/stage1/obj/empty_for_loop_body.zig @@ -2,6 +2,8 @@ export fn a() void { for(undefined) |x|; } -// empty for loop body +// error +// backend=stage1 +// target=native // // tmp.zig:2:23: error: expected block or assignment, found ';' diff --git a/test/compile_errors/stage1/obj/empty_if_body.zig b/test/compile_errors/stage1/obj/empty_if_body.zig index a81973396f..0a7b5b1b8b 100644 --- a/test/compile_errors/stage1/obj/empty_if_body.zig +++ b/test/compile_errors/stage1/obj/empty_if_body.zig @@ -2,6 +2,8 @@ export fn a() void { if(true); } -// empty if body +// error +// backend=stage1 +// target=native // // tmp.zig:2:13: error: expected block or assignment, found ';' diff --git a/test/compile_errors/stage1/obj/empty_switch_on_an_integer.zig b/test/compile_errors/stage1/obj/empty_switch_on_an_integer.zig index eb0bdbab19..a7b8e2a81b 100644 --- a/test/compile_errors/stage1/obj/empty_switch_on_an_integer.zig +++ b/test/compile_errors/stage1/obj/empty_switch_on_an_integer.zig @@ -3,6 +3,8 @@ export fn entry() void { switch(x) {} } -// empty switch on an integer +// error +// backend=stage1 +// target=native // // tmp.zig:3:5: error: switch must handle all possibilities diff --git a/test/compile_errors/stage1/obj/empty_while_loop_body.zig b/test/compile_errors/stage1/obj/empty_while_loop_body.zig index 3a186f1a2b..01b2132518 100644 --- a/test/compile_errors/stage1/obj/empty_while_loop_body.zig +++ b/test/compile_errors/stage1/obj/empty_while_loop_body.zig @@ -2,6 +2,8 @@ export fn a() void { while(true); } -// empty while loop body +// error +// backend=stage1 +// target=native // // tmp.zig:2:16: error: expected block or assignment, found ';' diff --git a/test/compile_errors/stage1/obj/endless_loop_in_function_evaluation.zig b/test/compile_errors/stage1/obj/endless_loop_in_function_evaluation.zig index fa422ba588..302ee242e0 100644 --- a/test/compile_errors/stage1/obj/endless_loop_in_function_evaluation.zig +++ b/test/compile_errors/stage1/obj/endless_loop_in_function_evaluation.zig @@ -5,6 +5,8 @@ fn fibonacci(x: i32) i32 { export fn entry() usize { return @sizeOf(@TypeOf(seventh_fib_number)); } -// endless loop in function evaluation +// error +// backend=stage1 +// target=native // // tmp.zig:3:21: error: evaluation exceeded 1000 backwards branches diff --git a/test/compile_errors/stage1/obj/enum_field_value_references_enum.zig b/test/compile_errors/stage1/obj/enum_field_value_references_enum.zig index 02dcfc1f9d..ebf32db5e0 100644 --- a/test/compile_errors/stage1/obj/enum_field_value_references_enum.zig +++ b/test/compile_errors/stage1/obj/enum_field_value_references_enum.zig @@ -8,6 +8,8 @@ export fn entry() void { } const D = 1; -// enum field value references enum +// error +// backend=stage1 +// target=native // // tmp.zig:1:17: error: enum 'Foo' depends on itself diff --git a/test/compile_errors/stage1/obj/enum_in_field_count_range_but_not_matching_tag.zig b/test/compile_errors/stage1/obj/enum_in_field_count_range_but_not_matching_tag.zig index dc90c467df..e783cbee52 100644 --- a/test/compile_errors/stage1/obj/enum_in_field_count_range_but_not_matching_tag.zig +++ b/test/compile_errors/stage1/obj/enum_in_field_count_range_but_not_matching_tag.zig @@ -7,7 +7,9 @@ export fn entry() void { _ = x; } -// enum in field count range but not matching tag +// error +// backend=stage1 +// target=native // // tmp.zig:6:13: error: enum 'Foo' has no tag matching integer value 0 // tmp.zig:1:13: note: 'Foo' declared here diff --git a/test/compile_errors/stage1/obj/enum_value_already_taken.zig b/test/compile_errors/stage1/obj/enum_value_already_taken.zig index 9939553c41..60e88f0062 100644 --- a/test/compile_errors/stage1/obj/enum_value_already_taken.zig +++ b/test/compile_errors/stage1/obj/enum_value_already_taken.zig @@ -10,7 +10,9 @@ export fn entry() void { _ = x; } -// enum value already taken +// error +// backend=stage1 +// target=native // // tmp.zig:6:5: error: enum tag value 60 already taken // tmp.zig:4:5: note: other occurrence here diff --git a/test/compile_errors/stage1/obj/enum_with_0_fields.zig b/test/compile_errors/stage1/obj/enum_with_0_fields.zig index 10559d15b3..9ee18f51ca 100644 --- a/test/compile_errors/stage1/obj/enum_with_0_fields.zig +++ b/test/compile_errors/stage1/obj/enum_with_0_fields.zig @@ -1,5 +1,7 @@ const Foo = enum {}; -// enum with 0 fields +// error +// backend=stage1 +// target=native // // tmp.zig:1:13: error: enum declarations must have at least one tag diff --git a/test/compile_errors/stage1/obj/enum_with_declarations_unavailable_for_reify_type.zig b/test/compile_errors/stage1/obj/enum_with_declarations_unavailable_for_reify_type.zig index 4a27caab3d..ffe9a2a78a 100644 --- a/test/compile_errors/stage1/obj/enum_with_declarations_unavailable_for_reify_type.zig +++ b/test/compile_errors/stage1/obj/enum_with_declarations_unavailable_for_reify_type.zig @@ -2,6 +2,8 @@ export fn entry() void { _ = @Type(@typeInfo(enum { foo, const bar = 1; })); } -// enum with declarations unavailable for @Type +// error +// backend=stage1 +// target=native // // tmp.zig:2:15: error: Type.Enum.decls must be empty for @Type diff --git a/test/compile_errors/stage1/obj/error_equality_but_sets_have_no_common_members.zig b/test/compile_errors/stage1/obj/error_equality_but_sets_have_no_common_members.zig index 433f6d50e3..d42169b503 100644 --- a/test/compile_errors/stage1/obj/error_equality_but_sets_have_no_common_members.zig +++ b/test/compile_errors/stage1/obj/error_equality_but_sets_have_no_common_members.zig @@ -9,6 +9,8 @@ fn foo(x: Set1) void { } } -// error equality but sets have no common members +// error +// backend=stage1 +// target=native // // tmp.zig:7:11: error: error sets 'Set1' and 'Set2' have no common errors diff --git a/test/compile_errors/stage1/obj/error_not_handled_in_switch.zig b/test/compile_errors/stage1/obj/error_not_handled_in_switch.zig index a69c538eac..12ee35daef 100644 --- a/test/compile_errors/stage1/obj/error_not_handled_in_switch.zig +++ b/test/compile_errors/stage1/obj/error_not_handled_in_switch.zig @@ -12,7 +12,9 @@ fn foo(x: i32) !void { } } -// error not handled in switch +// error +// backend=stage1 +// target=native // // tmp.zig:2:26: error: error.Baz not handled in switch // tmp.zig:2:26: error: error.Bar not handled in switch diff --git a/test/compile_errors/stage1/obj/error_note_for_function_parameter_incompatibility.zig b/test/compile_errors/stage1/obj/error_note_for_function_parameter_incompatibility.zig index 5014d01a3d..edc421d8f4 100644 --- a/test/compile_errors/stage1/obj/error_note_for_function_parameter_incompatibility.zig +++ b/test/compile_errors/stage1/obj/error_note_for_function_parameter_incompatibility.zig @@ -4,7 +4,9 @@ export fn entry() void { do_the_thing(bar); } -// error note for function parameter incompatibility +// error +// backend=stage1 +// target=native // // tmp.zig:4:18: error: expected type 'fn(i32) void', found 'fn(bool) void // tmp.zig:4:18: note: parameter 0: 'bool' cannot cast into 'i32' diff --git a/test/compile_errors/stage1/obj/error_union_operator_with_non_error_set_LHS.zig b/test/compile_errors/stage1/obj/error_union_operator_with_non_error_set_LHS.zig index 40b5872fc8..785e42fb9b 100644 --- a/test/compile_errors/stage1/obj/error_union_operator_with_non_error_set_LHS.zig +++ b/test/compile_errors/stage1/obj/error_union_operator_with_non_error_set_LHS.zig @@ -4,6 +4,8 @@ comptime { _ = x; } -// error union operator with non error set LHS +// error +// backend=stage1 +// target=native // // tmp.zig:2:15: error: expected error set type, found type 'i32' diff --git a/test/compile_errors/stage1/obj/error_when_evaluating_return_type.zig b/test/compile_errors/stage1/obj/error_when_evaluating_return_type.zig index 60baa1c5b4..60731740b7 100644 --- a/test/compile_errors/stage1/obj/error_when_evaluating_return_type.zig +++ b/test/compile_errors/stage1/obj/error_when_evaluating_return_type.zig @@ -10,6 +10,8 @@ export fn entry() void { _ = rule_set; } -// error when evaluating return type +// error +// backend=stage1 +// target=native // // tmp.zig:2:19: error: expected type 'i32', found 'type' diff --git a/test/compile_errors/stage1/obj/exceeded_maximum_bit_width_of_integer.zig b/test/compile_errors/stage1/obj/exceeded_maximum_bit_width_of_integer.zig index e1784de63e..2a3c795f81 100644 --- a/test/compile_errors/stage1/obj/exceeded_maximum_bit_width_of_integer.zig +++ b/test/compile_errors/stage1/obj/exceeded_maximum_bit_width_of_integer.zig @@ -7,7 +7,9 @@ export fn entry2() void { _ = x; } -// exceeded maximum bit width of integer +// error +// backend=stage1 +// target=native // // tmp.zig:2:15: error: primitive integer type 'u65536' exceeds maximum bit width of 65535 // tmp.zig:6:12: error: primitive integer type 'i65536' exceeds maximum bit width of 65535 diff --git a/test/compile_errors/stage1/obj/explicit_cast_float_literal_to_integer_when_there_is_a_fraction_component.zig b/test/compile_errors/stage1/obj/explicit_cast_float_literal_to_integer_when_there_is_a_fraction_component.zig index eaa2be84c7..696fef57fa 100644 --- a/test/compile_errors/stage1/obj/explicit_cast_float_literal_to_integer_when_there_is_a_fraction_component.zig +++ b/test/compile_errors/stage1/obj/explicit_cast_float_literal_to_integer_when_there_is_a_fraction_component.zig @@ -2,6 +2,8 @@ export fn entry() i32 { return @as(i32, 12.34); } -// explicit cast float literal to integer when there is a fraction component +// error +// backend=stage1 +// target=native // // tmp.zig:2:21: error: fractional component prevents float value 12.340000 from being casted to type 'i32' diff --git a/test/compile_errors/stage1/obj/explicit_error_set_cast_known_at_comptime_violates_error_sets.zig b/test/compile_errors/stage1/obj/explicit_error_set_cast_known_at_comptime_violates_error_sets.zig index 68d78e0f92..4a41920107 100644 --- a/test/compile_errors/stage1/obj/explicit_error_set_cast_known_at_comptime_violates_error_sets.zig +++ b/test/compile_errors/stage1/obj/explicit_error_set_cast_known_at_comptime_violates_error_sets.zig @@ -6,6 +6,8 @@ comptime { _ = y; } -// explicit error set cast known at comptime violates error sets +// error +// backend=stage1 +// target=native // // tmp.zig:5:13: error: error.B not a member of error set 'Set2' diff --git a/test/compile_errors/stage1/obj/explicitly_casting_non_tag_type_to_enum.zig b/test/compile_errors/stage1/obj/explicitly_casting_non_tag_type_to_enum.zig index e7c4d5f5d9..1999fd70a7 100644 --- a/test/compile_errors/stage1/obj/explicitly_casting_non_tag_type_to_enum.zig +++ b/test/compile_errors/stage1/obj/explicitly_casting_non_tag_type_to_enum.zig @@ -11,6 +11,8 @@ export fn entry() void { _ = x; } -// explicitly casting non tag type to enum +// error +// backend=stage1 +// target=native // // tmp.zig:10:31: error: expected integer type, found 'f32' diff --git a/test/compile_errors/stage1/obj/export_function_with_comptime_parameter.zig b/test/compile_errors/stage1/obj/export_function_with_comptime_parameter.zig index 0f300f324b..ccfda1ba67 100644 --- a/test/compile_errors/stage1/obj/export_function_with_comptime_parameter.zig +++ b/test/compile_errors/stage1/obj/export_function_with_comptime_parameter.zig @@ -2,6 +2,8 @@ export fn foo(comptime x: i32, y: i32) i32{ return x + y; } -// export function with comptime parameter +// error +// backend=stage1 +// target=native // // tmp.zig:1:15: error: comptime parameter not allowed in function with calling convention 'C' diff --git a/test/compile_errors/stage1/obj/export_generic_function.zig b/test/compile_errors/stage1/obj/export_generic_function.zig index 3fb4375ed4..9f6bcd4cf4 100644 --- a/test/compile_errors/stage1/obj/export_generic_function.zig +++ b/test/compile_errors/stage1/obj/export_generic_function.zig @@ -3,6 +3,8 @@ export fn foo(num: anytype) i32 { return 0; } -// export generic function +// error +// backend=stage1 +// target=native // // tmp.zig:1:15: error: parameter of type 'anytype' not allowed in function with calling convention 'C' diff --git a/test/compile_errors/stage1/obj/exported_async_function.zig b/test/compile_errors/stage1/obj/exported_async_function.zig index 296a5950e9..b9ac591227 100644 --- a/test/compile_errors/stage1/obj/exported_async_function.zig +++ b/test/compile_errors/stage1/obj/exported_async_function.zig @@ -1,5 +1,7 @@ export fn foo() callconv(.Async) void {} -// exported async function +// error +// backend=stage1 +// target=native // // tmp.zig:1:1: error: exported function cannot be async diff --git a/test/compile_errors/stage1/obj/exported_enum_without_explicit_integer_tag_type.zig b/test/compile_errors/stage1/obj/exported_enum_without_explicit_integer_tag_type.zig index 3d6e63db43..c432bedd6b 100644 --- a/test/compile_errors/stage1/obj/exported_enum_without_explicit_integer_tag_type.zig +++ b/test/compile_errors/stage1/obj/exported_enum_without_explicit_integer_tag_type.zig @@ -7,7 +7,9 @@ comptime { @export(e, .{ .name = "e" }); } -// exported enum without explicit integer tag type +// error +// backend=stage1 +// target=native // // tmp.zig:3:13: error: exported enum without explicit integer tag type // tmp.zig:7:13: error: exported enum value without explicit integer tag type diff --git a/test/compile_errors/stage1/obj/extern_function_pointer_mismatch.zig b/test/compile_errors/stage1/obj/extern_function_pointer_mismatch.zig index f93a24db34..888b59a626 100644 --- a/test/compile_errors/stage1/obj/extern_function_pointer_mismatch.zig +++ b/test/compile_errors/stage1/obj/extern_function_pointer_mismatch.zig @@ -5,6 +5,8 @@ export fn c(x: i32) i32 {return x + 2;} export fn entry() usize { return @sizeOf(@TypeOf(fns)); } -// extern function pointer mismatch +// error +// backend=stage1 +// target=native // // tmp.zig:1:37: error: expected type 'fn(i32) i32', found 'fn(i32) callconv(.C) i32' diff --git a/test/compile_errors/stage1/obj/extern_function_with_comptime_parameter.zig b/test/compile_errors/stage1/obj/extern_function_with_comptime_parameter.zig index 3dfdfe663e..93e26b9543 100644 --- a/test/compile_errors/stage1/obj/extern_function_with_comptime_parameter.zig +++ b/test/compile_errors/stage1/obj/extern_function_with_comptime_parameter.zig @@ -4,6 +4,8 @@ fn f() i32 { } export fn entry() usize { return @sizeOf(@TypeOf(f)); } -// extern function with comptime parameter +// error +// backend=stage1 +// target=native // // tmp.zig:1:15: error: comptime parameter not allowed in function with calling convention 'C' diff --git a/test/compile_errors/stage1/obj/extern_struct_with_extern-compatible_but_inferred_integer_tag_type.zig b/test/compile_errors/stage1/obj/extern_struct_with_extern-compatible_but_inferred_integer_tag_type.zig index e65c438da3..8f45a0e5dc 100644 --- a/test/compile_errors/stage1/obj/extern_struct_with_extern-compatible_but_inferred_integer_tag_type.zig +++ b/test/compile_errors/stage1/obj/extern_struct_with_extern-compatible_but_inferred_integer_tag_type.zig @@ -36,6 +36,8 @@ export fn entry() void { _ = s; } -// extern struct with extern-compatible but inferred integer tag type +// error +// backend=stage1 +// target=native // // tmp.zig:31:5: error: extern structs cannot contain fields of type 'E' diff --git a/test/compile_errors/stage1/obj/extern_struct_with_non-extern-compatible_integer_tag_type.zig b/test/compile_errors/stage1/obj/extern_struct_with_non-extern-compatible_integer_tag_type.zig index 6d698ce8e3..aa508056a1 100644 --- a/test/compile_errors/stage1/obj/extern_struct_with_non-extern-compatible_integer_tag_type.zig +++ b/test/compile_errors/stage1/obj/extern_struct_with_non-extern-compatible_integer_tag_type.zig @@ -7,6 +7,8 @@ export fn entry() void { _ = s; } -// extern struct with non-extern-compatible integer tag type +// error +// backend=stage1 +// target=native // // tmp.zig:3:5: error: extern structs cannot contain fields of type 'E' diff --git a/test/compile_errors/stage1/obj/extern_union_field_missing_type.zig b/test/compile_errors/stage1/obj/extern_union_field_missing_type.zig index 1287ce0159..9d8532f8a1 100644 --- a/test/compile_errors/stage1/obj/extern_union_field_missing_type.zig +++ b/test/compile_errors/stage1/obj/extern_union_field_missing_type.zig @@ -6,6 +6,8 @@ export fn entry() void { _ = a; } -// extern union field missing type +// error +// backend=stage1 +// target=native // // tmp.zig:2:5: error: union field missing type diff --git a/test/compile_errors/stage1/obj/extern_union_given_enum_tag_type.zig b/test/compile_errors/stage1/obj/extern_union_given_enum_tag_type.zig index 5b38d77eb6..86ac42cccf 100644 --- a/test/compile_errors/stage1/obj/extern_union_given_enum_tag_type.zig +++ b/test/compile_errors/stage1/obj/extern_union_given_enum_tag_type.zig @@ -13,6 +13,8 @@ export fn entry() void { _ = a; } -// extern union given enum tag type +// error +// backend=stage1 +// target=native // // tmp.zig:6:30: error: extern union does not support enum tag type diff --git a/test/compile_errors/stage1/obj/extern_variable_has_no_type.zig b/test/compile_errors/stage1/obj/extern_variable_has_no_type.zig index f9d3952275..58d67f14e1 100644 --- a/test/compile_errors/stage1/obj/extern_variable_has_no_type.zig +++ b/test/compile_errors/stage1/obj/extern_variable_has_no_type.zig @@ -3,6 +3,8 @@ pub export fn entry() void { foo; } -// extern variable has no type +// error +// backend=stage1 +// target=native // // tmp.zig:1:8: error: unable to infer variable type diff --git a/test/compile_errors/stage1/obj/fieldParentPtr-bad_field_name.zig b/test/compile_errors/stage1/obj/fieldParentPtr-bad_field_name.zig index 8c40641113..73022167f5 100644 --- a/test/compile_errors/stage1/obj/fieldParentPtr-bad_field_name.zig +++ b/test/compile_errors/stage1/obj/fieldParentPtr-bad_field_name.zig @@ -5,6 +5,8 @@ export fn foo(a: *i32) *Foo { return @fieldParentPtr(Foo, "a", a); } -// @fieldParentPtr - bad field name +// error +// backend=stage1 +// target=native // // tmp.zig:5:33: error: struct 'Foo' has no field 'a' diff --git a/test/compile_errors/stage1/obj/fieldParentPtr-comptime_field_ptr_not_based_on_struct.zig b/test/compile_errors/stage1/obj/fieldParentPtr-comptime_field_ptr_not_based_on_struct.zig index a8a5431352..9375f4639a 100644 --- a/test/compile_errors/stage1/obj/fieldParentPtr-comptime_field_ptr_not_based_on_struct.zig +++ b/test/compile_errors/stage1/obj/fieldParentPtr-comptime_field_ptr_not_based_on_struct.zig @@ -10,6 +10,8 @@ comptime { _ = another_foo_ptr; } -// @fieldParentPtr - comptime field ptr not based on struct +// error +// backend=stage1 +// target=native // // tmp.zig:9:55: error: pointer value not based on parent struct diff --git a/test/compile_errors/stage1/obj/fieldParentPtr-comptime_wrong_field_index.zig b/test/compile_errors/stage1/obj/fieldParentPtr-comptime_wrong_field_index.zig index 11bb7282fc..c322543dc0 100644 --- a/test/compile_errors/stage1/obj/fieldParentPtr-comptime_wrong_field_index.zig +++ b/test/compile_errors/stage1/obj/fieldParentPtr-comptime_wrong_field_index.zig @@ -9,6 +9,8 @@ comptime { _ = another_foo_ptr; } -// @fieldParentPtr - comptime wrong field index +// error +// backend=stage1 +// target=native // // tmp.zig:8:29: error: field 'b' has index 1 but pointer value is index 0 of struct 'Foo' diff --git a/test/compile_errors/stage1/obj/fieldParentPtr-field_pointer_is_not_pointer.zig b/test/compile_errors/stage1/obj/fieldParentPtr-field_pointer_is_not_pointer.zig index 8db9075b7b..71360e5681 100644 --- a/test/compile_errors/stage1/obj/fieldParentPtr-field_pointer_is_not_pointer.zig +++ b/test/compile_errors/stage1/obj/fieldParentPtr-field_pointer_is_not_pointer.zig @@ -5,6 +5,8 @@ export fn foo(a: i32) *Foo { return @fieldParentPtr(Foo, "a", a); } -// @fieldParentPtr - field pointer is not pointer +// error +// backend=stage1 +// target=native // // tmp.zig:5:38: error: expected pointer, found 'i32' diff --git a/test/compile_errors/stage1/obj/fieldParentPtr-non_struct.zig b/test/compile_errors/stage1/obj/fieldParentPtr-non_struct.zig index 325fbe5b3b..16b9a9b332 100644 --- a/test/compile_errors/stage1/obj/fieldParentPtr-non_struct.zig +++ b/test/compile_errors/stage1/obj/fieldParentPtr-non_struct.zig @@ -3,6 +3,8 @@ export fn foo(a: *i32) *Foo { return @fieldParentPtr(Foo, "a", a); } -// @fieldParentPtr - non struct +// error +// backend=stage1 +// target=native // // tmp.zig:3:28: error: expected struct type, found 'i32' diff --git a/test/compile_errors/stage1/obj/field_access_of_opaque_type.zig b/test/compile_errors/stage1/obj/field_access_of_opaque_type.zig index 3354c0f471..963c89dafe 100644 --- a/test/compile_errors/stage1/obj/field_access_of_opaque_type.zig +++ b/test/compile_errors/stage1/obj/field_access_of_opaque_type.zig @@ -9,6 +9,8 @@ fn bar(x: *MyType) bool { return x.blah; } -// field access of opaque type +// error +// backend=stage1 +// target=native // // tmp.zig:9:13: error: no member named 'blah' in opaque type 'MyType' diff --git a/test/compile_errors/stage1/obj/field_access_of_slices.zig b/test/compile_errors/stage1/obj/field_access_of_slices.zig index 3e79e1f0e0..45ca711367 100644 --- a/test/compile_errors/stage1/obj/field_access_of_slices.zig +++ b/test/compile_errors/stage1/obj/field_access_of_slices.zig @@ -4,6 +4,8 @@ export fn entry() void { _ = info; } -// field access of slices +// error +// backend=stage1 +// target=native // // tmp.zig:3:32: error: type 'type' does not support field access diff --git a/test/compile_errors/stage1/obj/field_access_of_unknown_length_pointer.zig b/test/compile_errors/stage1/obj/field_access_of_unknown_length_pointer.zig index 7097c13605..f9a37cabcc 100644 --- a/test/compile_errors/stage1/obj/field_access_of_unknown_length_pointer.zig +++ b/test/compile_errors/stage1/obj/field_access_of_unknown_length_pointer.zig @@ -6,6 +6,8 @@ export fn entry(foo: [*]Foo) void { foo.a += 1; } -// field access of unknown length pointer +// error +// backend=stage1 +// target=native // // tmp.zig:6:8: error: type '[*]Foo' does not support field access diff --git a/test/compile_errors/stage1/obj/field_type_supplied_in_an_enum.zig b/test/compile_errors/stage1/obj/field_type_supplied_in_an_enum.zig index cb308307bb..d6ba214c0c 100644 --- a/test/compile_errors/stage1/obj/field_type_supplied_in_an_enum.zig +++ b/test/compile_errors/stage1/obj/field_type_supplied_in_an_enum.zig @@ -4,7 +4,9 @@ const Letter = enum { C, }; -// field type supplied in an enum +// error +// backend=stage1 +// target=native // // tmp.zig:2:8: error: enum fields do not have types // tmp.zig:1:16: note: consider 'union(enum)' here to make it a tagged union diff --git a/test/compile_errors/stage1/obj/floatToInt_comptime_safety.zig b/test/compile_errors/stage1/obj/floatToInt_comptime_safety.zig index e54047fb2f..1e5fa746a1 100644 --- a/test/compile_errors/stage1/obj/floatToInt_comptime_safety.zig +++ b/test/compile_errors/stage1/obj/floatToInt_comptime_safety.zig @@ -8,7 +8,9 @@ comptime { _ = @floatToInt(u8, @as(f32, 256.1)); } -// @floatToInt comptime safety +// error +// backend=stage1 +// target=native // // tmp.zig:2:9: error: integer value '-129' cannot be stored in type 'i8' // tmp.zig:5:9: error: integer value '-1' cannot be stored in type 'u8' diff --git a/test/compile_errors/stage1/obj/float_literal_too_large_error.zig b/test/compile_errors/stage1/obj/float_literal_too_large_error.zig index d7be9874ac..c3865c3110 100644 --- a/test/compile_errors/stage1/obj/float_literal_too_large_error.zig +++ b/test/compile_errors/stage1/obj/float_literal_too_large_error.zig @@ -3,6 +3,8 @@ comptime { _ = a; } -// float literal too large error +// error +// backend=stage1 +// target=native // // tmp.zig:2:15: error: float literal out of range of any type diff --git a/test/compile_errors/stage1/obj/float_literal_too_small_error_denormal.zig b/test/compile_errors/stage1/obj/float_literal_too_small_error_denormal.zig index 2657775be0..0b0bfee1de 100644 --- a/test/compile_errors/stage1/obj/float_literal_too_small_error_denormal.zig +++ b/test/compile_errors/stage1/obj/float_literal_too_small_error_denormal.zig @@ -3,6 +3,8 @@ comptime { _ = a; } -// float literal too small error (denormal) +// error +// backend=stage1 +// target=native // // tmp.zig:2:15: error: float literal out of range of any type diff --git a/test/compile_errors/stage1/obj/for_loop_body_expression_ignored.zig b/test/compile_errors/stage1/obj/for_loop_body_expression_ignored.zig index fffbb13604..6281d4b276 100644 --- a/test/compile_errors/stage1/obj/for_loop_body_expression_ignored.zig +++ b/test/compile_errors/stage1/obj/for_loop_body_expression_ignored.zig @@ -10,7 +10,9 @@ export fn f2() void { _ = x; } -// for loop body expression ignored +// error +// backend=stage1 +// target=native // // tmp.zig:5:30: error: expression value is ignored // tmp.zig:9:30: error: expression value is ignored diff --git a/test/compile_errors/stage1/obj/frame_called_outside_of_function_definition.zig b/test/compile_errors/stage1/obj/frame_called_outside_of_function_definition.zig index a76fff93a8..d140998152 100644 --- a/test/compile_errors/stage1/obj/frame_called_outside_of_function_definition.zig +++ b/test/compile_errors/stage1/obj/frame_called_outside_of_function_definition.zig @@ -4,6 +4,8 @@ export fn entry() bool { return handle_undef == handle_dummy; } -// @frame() called outside of function definition +// error +// backend=stage1 +// target=native // // tmp.zig:2:30: error: @frame() called outside of function definition diff --git a/test/compile_errors/stage1/obj/frame_causes_function_to_be_async.zig b/test/compile_errors/stage1/obj/frame_causes_function_to_be_async.zig index b45ff6965e..f8493b08b2 100644 --- a/test/compile_errors/stage1/obj/frame_causes_function_to_be_async.zig +++ b/test/compile_errors/stage1/obj/frame_causes_function_to_be_async.zig @@ -5,7 +5,9 @@ fn func() void { _ = @frame(); } -// @frame() causes function to be async +// error +// backend=stage1 +// target=native // // tmp.zig:1:1: error: function with calling convention 'C' cannot be async // tmp.zig:5:9: note: @frame() causes function to be async diff --git a/test/compile_errors/stage1/obj/function_alignment_non_power_of_2.zig b/test/compile_errors/stage1/obj/function_alignment_non_power_of_2.zig index 949e11c115..617939a120 100644 --- a/test/compile_errors/stage1/obj/function_alignment_non_power_of_2.zig +++ b/test/compile_errors/stage1/obj/function_alignment_non_power_of_2.zig @@ -1,6 +1,8 @@ extern fn foo() align(3) void; export fn entry() void { return foo(); } -// function alignment non power of 2 +// error +// backend=stage1 +// target=native // // tmp.zig:1:23: error: alignment value 3 is not a power of 2 diff --git a/test/compile_errors/stage1/obj/function_call_assigned_to_incorrect_type.zig b/test/compile_errors/stage1/obj/function_call_assigned_to_incorrect_type.zig index 4257b802c1..51bc82ffb8 100644 --- a/test/compile_errors/stage1/obj/function_call_assigned_to_incorrect_type.zig +++ b/test/compile_errors/stage1/obj/function_call_assigned_to_incorrect_type.zig @@ -6,6 +6,8 @@ fn concat() [16]f32 { return [1]f32{0}**16; } -// function call assigned to incorrect type +// error +// backend=stage1 +// target=native // // tmp.zig:3:17: error: expected type '[4]f32', found '[16]f32' diff --git a/test/compile_errors/stage1/obj/function_parameter_is_opaque.zig b/test/compile_errors/stage1/obj/function_parameter_is_opaque.zig index 12e50ca59b..5b52370d86 100644 --- a/test/compile_errors/stage1/obj/function_parameter_is_opaque.zig +++ b/test/compile_errors/stage1/obj/function_parameter_is_opaque.zig @@ -19,7 +19,9 @@ export fn entry4() void { _ = bar; } -// function parameter is opaque +// error +// backend=stage1 +// target=native // // tmp.zig:3:28: error: parameter of opaque type 'FooType' not allowed // tmp.zig:8:28: error: parameter of type '@Type(.Null)' not allowed diff --git a/test/compile_errors/stage1/obj/function_prototype_with_no_body.zig b/test/compile_errors/stage1/obj/function_prototype_with_no_body.zig index 07597af015..7926faaa44 100644 --- a/test/compile_errors/stage1/obj/function_prototype_with_no_body.zig +++ b/test/compile_errors/stage1/obj/function_prototype_with_no_body.zig @@ -3,6 +3,8 @@ export fn entry() void { foo(); } -// function prototype with no body +// error +// backend=stage1 +// target=native // // tmp.zig:1:1: error: non-extern function has no body diff --git a/test/compile_errors/stage1/obj/function_returning_opaque_type.zig b/test/compile_errors/stage1/obj/function_returning_opaque_type.zig index 956a4ed224..e2c084b517 100644 --- a/test/compile_errors/stage1/obj/function_returning_opaque_type.zig +++ b/test/compile_errors/stage1/obj/function_returning_opaque_type.zig @@ -9,7 +9,9 @@ export fn baz() !@TypeOf(undefined) { return error.InvalidValue; } -// function returning opaque type +// error +// backend=stage1 +// target=native // // tmp.zig:2:18: error: Opaque return type 'FooType' not allowed // tmp.zig:1:1: note: type declared here diff --git a/test/compile_errors/stage1/obj/function_with_ccc_indirectly_calling_async_function.zig b/test/compile_errors/stage1/obj/function_with_ccc_indirectly_calling_async_function.zig index 1ccf486be6..9fadb992b4 100644 --- a/test/compile_errors/stage1/obj/function_with_ccc_indirectly_calling_async_function.zig +++ b/test/compile_errors/stage1/obj/function_with_ccc_indirectly_calling_async_function.zig @@ -8,7 +8,9 @@ fn bar() void { suspend {} } -// function with ccc indirectly calling async function +// error +// backend=stage1 +// target=native // // tmp.zig:1:1: error: function with calling convention 'C' cannot be async // tmp.zig:2:8: note: async function call here diff --git a/test/compile_errors/stage1/obj/function_with_invalid_return_type.zig b/test/compile_errors/stage1/obj/function_with_invalid_return_type.zig index acedbac7d1..897b298a3d 100644 --- a/test/compile_errors/stage1/obj/function_with_invalid_return_type.zig +++ b/test/compile_errors/stage1/obj/function_with_invalid_return_type.zig @@ -1,5 +1,7 @@ export fn foo() boid {} -// function with invalid return type +// error +// backend=stage1 +// target=native // // tmp.zig:1:17: error: use of undeclared identifier 'boid' diff --git a/test/compile_errors/stage1/obj/function_with_non-extern_non-packed_enum_parameter.zig b/test/compile_errors/stage1/obj/function_with_non-extern_non-packed_enum_parameter.zig index 9c1913305d..8de26c08b8 100644 --- a/test/compile_errors/stage1/obj/function_with_non-extern_non-packed_enum_parameter.zig +++ b/test/compile_errors/stage1/obj/function_with_non-extern_non-packed_enum_parameter.zig @@ -1,6 +1,8 @@ const Foo = enum { A, B, C }; export fn entry(foo: Foo) void { _ = foo; } -// function with non-extern non-packed enum parameter +// error +// backend=stage1 +// target=native // // tmp.zig:2:22: error: parameter of type 'Foo' not allowed in function with calling convention 'C' diff --git a/test/compile_errors/stage1/obj/function_with_non-extern_non-packed_struct_parameter.zig b/test/compile_errors/stage1/obj/function_with_non-extern_non-packed_struct_parameter.zig index eb2617f279..ecb4a36267 100644 --- a/test/compile_errors/stage1/obj/function_with_non-extern_non-packed_struct_parameter.zig +++ b/test/compile_errors/stage1/obj/function_with_non-extern_non-packed_struct_parameter.zig @@ -5,6 +5,8 @@ const Foo = struct { }; export fn entry(foo: Foo) void { _ = foo; } -// function with non-extern non-packed struct parameter +// error +// backend=stage1 +// target=native // // tmp.zig:6:22: error: parameter of type 'Foo' not allowed in function with calling convention 'C' diff --git a/test/compile_errors/stage1/obj/function_with_non-extern_non-packed_union_parameter.zig b/test/compile_errors/stage1/obj/function_with_non-extern_non-packed_union_parameter.zig index 662ffd349b..bfe2dc6cfa 100644 --- a/test/compile_errors/stage1/obj/function_with_non-extern_non-packed_union_parameter.zig +++ b/test/compile_errors/stage1/obj/function_with_non-extern_non-packed_union_parameter.zig @@ -5,6 +5,8 @@ const Foo = union { }; export fn entry(foo: Foo) void { _ = foo; } -// function with non-extern non-packed union parameter +// error +// backend=stage1 +// target=native // // tmp.zig:6:22: error: parameter of type 'Foo' not allowed in function with calling convention 'C' diff --git a/test/compile_errors/stage1/obj/generic_fn_as_parameter_without_comptime_keyword.zig b/test/compile_errors/stage1/obj/generic_fn_as_parameter_without_comptime_keyword.zig index fceea0961b..72e27e3a0d 100644 --- a/test/compile_errors/stage1/obj/generic_fn_as_parameter_without_comptime_keyword.zig +++ b/test/compile_errors/stage1/obj/generic_fn_as_parameter_without_comptime_keyword.zig @@ -4,6 +4,8 @@ export fn entry() void { f(g); } -// generic fn as parameter without comptime keyword +// error +// backend=stage1 +// target=native // // tmp.zig:1:9: error: parameter of type 'fn(anytype) anytype' must be declared comptime diff --git a/test/compile_errors/stage1/obj/generic_function_call_assigned_to_incorrect_type.zig b/test/compile_errors/stage1/obj/generic_function_call_assigned_to_incorrect_type.zig index b48d5def57..72ed66b20a 100644 --- a/test/compile_errors/stage1/obj/generic_function_call_assigned_to_incorrect_type.zig +++ b/test/compile_errors/stage1/obj/generic_function_call_assigned_to_incorrect_type.zig @@ -6,6 +6,8 @@ fn myAlloc(comptime arg: type) anyerror!arg{ unreachable; } -// generic function call assigned to incorrect type +// error +// backend=stage1 +// target=native // // tmp.zig:3:18: error: expected type '[]i32', found 'anyerror!i32 diff --git a/test/compile_errors/stage1/obj/generic_function_instance_with_non-constant_expression.zig b/test/compile_errors/stage1/obj/generic_function_instance_with_non-constant_expression.zig index 3698370b57..9cdd653766 100644 --- a/test/compile_errors/stage1/obj/generic_function_instance_with_non-constant_expression.zig +++ b/test/compile_errors/stage1/obj/generic_function_instance_with_non-constant_expression.zig @@ -5,6 +5,8 @@ fn test1(a: i32, b: i32) i32 { export fn entry() usize { return @sizeOf(@TypeOf(test1)); } -// generic function instance with non-constant expression +// error +// backend=stage1 +// target=native // // tmp.zig:3:16: error: runtime value cannot be passed to comptime arg diff --git a/test/compile_errors/stage1/obj/generic_function_returning_opaque_type.zig b/test/compile_errors/stage1/obj/generic_function_returning_opaque_type.zig index c109a5ce7c..247c1a49bf 100644 --- a/test/compile_errors/stage1/obj/generic_function_returning_opaque_type.zig +++ b/test/compile_errors/stage1/obj/generic_function_returning_opaque_type.zig @@ -12,7 +12,9 @@ export fn baz() void { _ = generic(@TypeOf(undefined)); } -// generic function returning opaque type +// error +// backend=stage1 +// target=native // // tmp.zig:6:16: error: call to generic function with Opaque return type 'FooType' not allowed // tmp.zig:2:1: note: function declared here diff --git a/test/compile_errors/stage1/obj/generic_function_where_return_type_is_self-referenced.zig b/test/compile_errors/stage1/obj/generic_function_where_return_type_is_self-referenced.zig index 18237a5023..c8d31ec8df 100644 --- a/test/compile_errors/stage1/obj/generic_function_where_return_type_is_self-referenced.zig +++ b/test/compile_errors/stage1/obj/generic_function_where_return_type_is_self-referenced.zig @@ -8,6 +8,8 @@ export fn entry() void { _ = t; } -// generic function where return type is self-referenced +// error +// backend=stage1 +// target=native // // tmp.zig:1:29: error: evaluation exceeded 1000 backwards branches diff --git a/test/compile_errors/stage1/obj/global_variable_alignment_non_power_of_2.zig b/test/compile_errors/stage1/obj/global_variable_alignment_non_power_of_2.zig index a6c4ccaa98..f23f340b16 100644 --- a/test/compile_errors/stage1/obj/global_variable_alignment_non_power_of_2.zig +++ b/test/compile_errors/stage1/obj/global_variable_alignment_non_power_of_2.zig @@ -1,6 +1,8 @@ const some_data: [100]u8 align(3) = undefined; export fn entry() usize { return @sizeOf(@TypeOf(some_data)); } -// global variable alignment non power of 2 +// error +// backend=stage1 +// target=native // // tmp.zig:1:32: error: alignment value 3 is not a power of 2 diff --git a/test/compile_errors/stage1/obj/global_variable_initializer_must_be_constant_expression.zig b/test/compile_errors/stage1/obj/global_variable_initializer_must_be_constant_expression.zig index 1d6c20f3af..d01e828da6 100644 --- a/test/compile_errors/stage1/obj/global_variable_initializer_must_be_constant_expression.zig +++ b/test/compile_errors/stage1/obj/global_variable_initializer_must_be_constant_expression.zig @@ -2,6 +2,8 @@ extern fn foo() i32; const x = foo(); export fn entry() i32 { return x; } -// global variable initializer must be constant expression +// error +// backend=stage1 +// target=native // // tmp.zig:2:11: error: unable to evaluate constant expression diff --git a/test/compile_errors/stage1/obj/hasDecl_with_non-container.zig b/test/compile_errors/stage1/obj/hasDecl_with_non-container.zig index 50f1231997..e9aeacdd4e 100644 --- a/test/compile_errors/stage1/obj/hasDecl_with_non-container.zig +++ b/test/compile_errors/stage1/obj/hasDecl_with_non-container.zig @@ -2,6 +2,8 @@ export fn entry() void { _ = @hasDecl(i32, "hi"); } -// @hasDecl with non-container +// error +// backend=stage1 +// target=native // // tmp.zig:2:18: error: expected struct, enum, or union; found 'i32' diff --git a/test/compile_errors/stage1/obj/if_condition_is_bool_not_int.zig b/test/compile_errors/stage1/obj/if_condition_is_bool_not_int.zig index e8b7c61417..53afb2792a 100644 --- a/test/compile_errors/stage1/obj/if_condition_is_bool_not_int.zig +++ b/test/compile_errors/stage1/obj/if_condition_is_bool_not_int.zig @@ -2,6 +2,8 @@ export fn f() void { if (0) {} } -// if condition is bool, not int +// error +// backend=stage1 +// target=native // // tmp.zig:2:9: error: expected type 'bool', found 'comptime_int' diff --git a/test/compile_errors/stage1/obj/ignored_assert-err-ok_return_value.zig b/test/compile_errors/stage1/obj/ignored_assert-err-ok_return_value.zig index 53fbcaa8b5..4d45ae1304 100644 --- a/test/compile_errors/stage1/obj/ignored_assert-err-ok_return_value.zig +++ b/test/compile_errors/stage1/obj/ignored_assert-err-ok_return_value.zig @@ -3,6 +3,8 @@ export fn foo() void { } fn bar() anyerror!i32 { return 0; } -// ignored assert-err-ok return value +// error +// backend=stage1 +// target=native // // tmp.zig:2:11: error: expression value is ignored diff --git a/test/compile_errors/stage1/obj/ignored_comptime_statement_value.zig b/test/compile_errors/stage1/obj/ignored_comptime_statement_value.zig index 80925d6c84..0e82c9ae3e 100644 --- a/test/compile_errors/stage1/obj/ignored_comptime_statement_value.zig +++ b/test/compile_errors/stage1/obj/ignored_comptime_statement_value.zig @@ -2,6 +2,8 @@ export fn foo() void { comptime {1;} } -// ignored comptime statement value +// error +// backend=stage1 +// target=native // // tmp.zig:2:15: error: expression value is ignored diff --git a/test/compile_errors/stage1/obj/ignored_comptime_value.zig b/test/compile_errors/stage1/obj/ignored_comptime_value.zig index 375a5d242c..0306ea72ff 100644 --- a/test/compile_errors/stage1/obj/ignored_comptime_value.zig +++ b/test/compile_errors/stage1/obj/ignored_comptime_value.zig @@ -2,6 +2,8 @@ export fn foo() void { comptime 1; } -// ignored comptime value +// error +// backend=stage1 +// target=native // // tmp.zig:2:5: error: expression value is ignored diff --git a/test/compile_errors/stage1/obj/ignored_deferred_function_call.zig b/test/compile_errors/stage1/obj/ignored_deferred_function_call.zig index 58b85da985..41812bfda9 100644 --- a/test/compile_errors/stage1/obj/ignored_deferred_function_call.zig +++ b/test/compile_errors/stage1/obj/ignored_deferred_function_call.zig @@ -3,6 +3,8 @@ export fn foo() void { } fn bar() anyerror!i32 { return 0; } -// ignored deferred function call +// error +// backend=stage1 +// target=native // // tmp.zig:2:14: error: error is ignored. consider using `try`, `catch`, or `if` diff --git a/test/compile_errors/stage1/obj/ignored_deferred_statement_value.zig b/test/compile_errors/stage1/obj/ignored_deferred_statement_value.zig index effc79b039..1042c4f40a 100644 --- a/test/compile_errors/stage1/obj/ignored_deferred_statement_value.zig +++ b/test/compile_errors/stage1/obj/ignored_deferred_statement_value.zig @@ -2,6 +2,8 @@ export fn foo() void { defer {1;} } -// ignored deferred statement value +// error +// backend=stage1 +// target=native // // tmp.zig:2:12: error: expression value is ignored diff --git a/test/compile_errors/stage1/obj/ignored_expression_in_while_continuation.zig b/test/compile_errors/stage1/obj/ignored_expression_in_while_continuation.zig index fb205924e3..43f3713fc6 100644 --- a/test/compile_errors/stage1/obj/ignored_expression_in_while_continuation.zig +++ b/test/compile_errors/stage1/obj/ignored_expression_in_while_continuation.zig @@ -13,7 +13,9 @@ fn bad() anyerror!void { return error.Bad; } -// ignored expression in while continuation +// error +// backend=stage1 +// target=native // // tmp.zig:2:24: error: error is ignored. consider using `try`, `catch`, or `if` // tmp.zig:6:25: error: error is ignored. consider using `try`, `catch`, or `if` diff --git a/test/compile_errors/stage1/obj/ignored_return_value.zig b/test/compile_errors/stage1/obj/ignored_return_value.zig index 9c8cfa0aa4..b918523b37 100644 --- a/test/compile_errors/stage1/obj/ignored_return_value.zig +++ b/test/compile_errors/stage1/obj/ignored_return_value.zig @@ -3,6 +3,8 @@ export fn foo() void { } fn bar() i32 { return 0; } -// ignored return value +// error +// backend=stage1 +// target=native // // tmp.zig:2:8: error: expression value is ignored diff --git a/test/compile_errors/stage1/obj/ignored_statement_value.zig b/test/compile_errors/stage1/obj/ignored_statement_value.zig index 7855cf584b..a0e540a92b 100644 --- a/test/compile_errors/stage1/obj/ignored_statement_value.zig +++ b/test/compile_errors/stage1/obj/ignored_statement_value.zig @@ -2,6 +2,8 @@ export fn foo() void { 1; } -// ignored statement value +// error +// backend=stage1 +// target=native // // tmp.zig:2:5: error: expression value is ignored diff --git a/test/compile_errors/stage1/obj/illegal_comparison_of_types.zig b/test/compile_errors/stage1/obj/illegal_comparison_of_types.zig index 462664a400..d04eaec3b5 100644 --- a/test/compile_errors/stage1/obj/illegal_comparison_of_types.zig +++ b/test/compile_errors/stage1/obj/illegal_comparison_of_types.zig @@ -12,7 +12,9 @@ fn bad_eql_2(a: *const EnumWithData, b: *const EnumWithData) bool { export fn entry1() usize { return @sizeOf(@TypeOf(bad_eql_1)); } export fn entry2() usize { return @sizeOf(@TypeOf(bad_eql_2)); } -// illegal comparison of types +// error +// backend=stage1 +// target=native // // tmp.zig:2:14: error: operator not allowed for type '[]u8' // tmp.zig:9:16: error: operator not allowed for type 'EnumWithData' diff --git a/test/compile_errors/stage1/obj/implicit_cast_between_C_pointer_and_Zig_pointer-bad_const-align-child.zig b/test/compile_errors/stage1/obj/implicit_cast_between_C_pointer_and_Zig_pointer-bad_const-align-child.zig index 1dd751f989..6ff155b591 100644 --- a/test/compile_errors/stage1/obj/implicit_cast_between_C_pointer_and_Zig_pointer-bad_const-align-child.zig +++ b/test/compile_errors/stage1/obj/implicit_cast_between_C_pointer_and_Zig_pointer-bad_const-align-child.zig @@ -29,7 +29,9 @@ export fn f() void { _ = x; } -// implicit cast between C pointer and Zig pointer - bad const/align/child +// error +// backend=stage1 +// target=native // // tmp.zig:3:27: error: cast increases pointer alignment // tmp.zig:8:18: error: cast discards const qualifier diff --git a/test/compile_errors/stage1/obj/implicit_cast_const_array_to_mutable_slice.zig b/test/compile_errors/stage1/obj/implicit_cast_const_array_to_mutable_slice.zig index f38c2c9fe1..3f22cbed6b 100644 --- a/test/compile_errors/stage1/obj/implicit_cast_const_array_to_mutable_slice.zig +++ b/test/compile_errors/stage1/obj/implicit_cast_const_array_to_mutable_slice.zig @@ -4,7 +4,9 @@ export fn entry() void { _ = sliceA; } -// implicit cast const array to mutable slice +// error +// backend=stage1 +// target=native // // tmp.zig:3:27: error: cannot cast pointer to array literal to slice type '[]u8' // tmp.zig:3:27: note: cast discards const qualifier diff --git a/test/compile_errors/stage1/obj/implicit_cast_from_array_to_mutable_slice.zig b/test/compile_errors/stage1/obj/implicit_cast_from_array_to_mutable_slice.zig index 60fc5baf1f..012555928c 100644 --- a/test/compile_errors/stage1/obj/implicit_cast_from_array_to_mutable_slice.zig +++ b/test/compile_errors/stage1/obj/implicit_cast_from_array_to_mutable_slice.zig @@ -4,6 +4,8 @@ export fn entry() void { foo(global_array); } -// implicit cast from array to mutable slice +// error +// backend=stage1 +// target=native // // tmp.zig:4:9: error: expected type '[]i32', found '[10]i32' diff --git a/test/compile_errors/stage1/obj/implicit_cast_from_f64_to_f32.zig b/test/compile_errors/stage1/obj/implicit_cast_from_f64_to_f32.zig index d1d4417f34..f18a46b7f5 100644 --- a/test/compile_errors/stage1/obj/implicit_cast_from_f64_to_f32.zig +++ b/test/compile_errors/stage1/obj/implicit_cast_from_f64_to_f32.zig @@ -3,6 +3,8 @@ var y: f32 = x; export fn entry() usize { return @sizeOf(@TypeOf(y)); } -// implicit cast from f64 to f32 +// error +// backend=stage1 +// target=native // // tmp.zig:2:14: error: expected type 'f32', found 'f64' diff --git a/test/compile_errors/stage1/obj/implicit_cast_of_error_set_not_a_subset.zig b/test/compile_errors/stage1/obj/implicit_cast_of_error_set_not_a_subset.zig index 9cfce6524f..5958a41639 100644 --- a/test/compile_errors/stage1/obj/implicit_cast_of_error_set_not_a_subset.zig +++ b/test/compile_errors/stage1/obj/implicit_cast_of_error_set_not_a_subset.zig @@ -8,7 +8,9 @@ fn foo(set1: Set1) void { _ = x; } -// implicit cast of error set not a subset +// error +// backend=stage1 +// target=native // // tmp.zig:7:19: error: expected type 'Set2', found 'Set1' // tmp.zig:1:23: note: 'error.B' not a member of destination error set diff --git a/test/compile_errors/stage1/obj/implicit_casting_C_pointers_which_would_mess_up_null_semantics.zig b/test/compile_errors/stage1/obj/implicit_casting_C_pointers_which_would_mess_up_null_semantics.zig index cdc35e3963..760bab41da 100644 --- a/test/compile_errors/stage1/obj/implicit_casting_C_pointers_which_would_mess_up_null_semantics.zig +++ b/test/compile_errors/stage1/obj/implicit_casting_C_pointers_which_would_mess_up_null_semantics.zig @@ -14,7 +14,9 @@ export fn entry2() void { _ = c_ptr; } -// implicit casting C pointers which would mess up null semantics +// error +// backend=stage1 +// target=native // // tmp.zig:6:24: error: expected type '*const [*]const u8', found '[*c]const [*c]const u8' // tmp.zig:6:24: note: pointer type child '[*c]const u8' cannot cast into pointer type child '[*]const u8' diff --git a/test/compile_errors/stage1/obj/implicit_casting_null_c_pointer_to_zig_pointer.zig b/test/compile_errors/stage1/obj/implicit_casting_null_c_pointer_to_zig_pointer.zig index 29dd6d06f9..0bd38d868b 100644 --- a/test/compile_errors/stage1/obj/implicit_casting_null_c_pointer_to_zig_pointer.zig +++ b/test/compile_errors/stage1/obj/implicit_casting_null_c_pointer_to_zig_pointer.zig @@ -4,6 +4,8 @@ comptime { _ = zig_ptr; } -// implicit casting null c pointer to zig pointer +// error +// backend=stage1 +// target=native // // tmp.zig:3:24: error: null pointer casted to type '*u8' diff --git a/test/compile_errors/stage1/obj/implicit_casting_too_big_integers_to_C_pointers.zig b/test/compile_errors/stage1/obj/implicit_casting_too_big_integers_to_C_pointers.zig index 3deb817b76..f142540ff6 100644 --- a/test/compile_errors/stage1/obj/implicit_casting_too_big_integers_to_C_pointers.zig +++ b/test/compile_errors/stage1/obj/implicit_casting_too_big_integers_to_C_pointers.zig @@ -8,7 +8,9 @@ export fn b() void { _ = ptr; } -// implicit casting too big integers to C pointers +// error +// backend=stage1 +// target=native // // tmp.zig:2:33: error: integer value 18446744073709551617 cannot be coerced to type 'usize' // tmp.zig:7:23: error: integer type 'u65' too big for implicit @intToPtr to type '[*c]u8' diff --git a/test/compile_errors/stage1/obj/implicit_casting_undefined_c_pointer_to_zig_pointer.zig b/test/compile_errors/stage1/obj/implicit_casting_undefined_c_pointer_to_zig_pointer.zig index 4c19f57442..5554146fa5 100644 --- a/test/compile_errors/stage1/obj/implicit_casting_undefined_c_pointer_to_zig_pointer.zig +++ b/test/compile_errors/stage1/obj/implicit_casting_undefined_c_pointer_to_zig_pointer.zig @@ -4,6 +4,8 @@ comptime { _ = zig_ptr; } -// implicit casting undefined c pointer to zig pointer +// error +// backend=stage1 +// target=native // // tmp.zig:3:24: error: use of undefined value here causes undefined behavior diff --git a/test/compile_errors/stage1/obj/implicit_dependency_on_libc.zig b/test/compile_errors/stage1/obj/implicit_dependency_on_libc.zig new file mode 100644 index 0000000000..f069f78551 --- /dev/null +++ b/test/compile_errors/stage1/obj/implicit_dependency_on_libc.zig @@ -0,0 +1,11 @@ +extern "c" fn exit(u8) void; +export fn entry() void { + exit(0); +} + +// error +// backend=stage1 +// target=native-linux +// is_test=1 +// +// tmp.zig:3:5: error: dependency on libc must be explicitly specified in the build command diff --git a/test/compile_errors/stage1/obj/implicit_semicolon-block_expr.zig b/test/compile_errors/stage1/obj/implicit_semicolon-block_expr.zig index bacd484c0c..a57da8ac0b 100644 --- a/test/compile_errors/stage1/obj/implicit_semicolon-block_expr.zig +++ b/test/compile_errors/stage1/obj/implicit_semicolon-block_expr.zig @@ -5,6 +5,8 @@ export fn entry() void { var bad = {}; } -// implicit semicolon - block expr +// error +// backend=stage1 +// target=native // // tmp.zig:4:11: error: expected ';' after statement diff --git a/test/compile_errors/stage1/obj/implicit_semicolon-block_statement.zig b/test/compile_errors/stage1/obj/implicit_semicolon-block_statement.zig index dca8998ee6..2d9d850e75 100644 --- a/test/compile_errors/stage1/obj/implicit_semicolon-block_statement.zig +++ b/test/compile_errors/stage1/obj/implicit_semicolon-block_statement.zig @@ -5,6 +5,8 @@ export fn entry() void { var bad = {}; } -// implicit semicolon - block statement +// error +// backend=stage1 +// target=native // // tmp.zig:4:9: error: expected ';' after statement diff --git a/test/compile_errors/stage1/obj/implicit_semicolon-comptime_expression.zig b/test/compile_errors/stage1/obj/implicit_semicolon-comptime_expression.zig index a3f679a59a..b4cd4de849 100644 --- a/test/compile_errors/stage1/obj/implicit_semicolon-comptime_expression.zig +++ b/test/compile_errors/stage1/obj/implicit_semicolon-comptime_expression.zig @@ -5,6 +5,8 @@ export fn entry() void { var bad = {}; } -// implicit semicolon - comptime expression +// error +// backend=stage1 +// target=native // // tmp.zig:4:20: error: expected ';' after statement diff --git a/test/compile_errors/stage1/obj/implicit_semicolon-comptime_statement.zig b/test/compile_errors/stage1/obj/implicit_semicolon-comptime_statement.zig index 299b081e4b..3b83ef92eb 100644 --- a/test/compile_errors/stage1/obj/implicit_semicolon-comptime_statement.zig +++ b/test/compile_errors/stage1/obj/implicit_semicolon-comptime_statement.zig @@ -5,6 +5,8 @@ export fn entry() void { var bad = {}; } -// implicit semicolon - comptime statement +// error +// backend=stage1 +// target=native // // tmp.zig:4:18: error: expected ';' after statement diff --git a/test/compile_errors/stage1/obj/implicit_semicolon-defer.zig b/test/compile_errors/stage1/obj/implicit_semicolon-defer.zig index 7e58d930d6..0ded4fcf26 100644 --- a/test/compile_errors/stage1/obj/implicit_semicolon-defer.zig +++ b/test/compile_errors/stage1/obj/implicit_semicolon-defer.zig @@ -5,6 +5,8 @@ export fn entry() void { var bad = {}; } -// implicit semicolon - defer +// error +// backend=stage1 +// target=native // // tmp.zig:4:15: error: expected ';' after statement diff --git a/test/compile_errors/stage1/obj/implicit_semicolon-for_expression.zig b/test/compile_errors/stage1/obj/implicit_semicolon-for_expression.zig index 3e332ef189..964a48d30b 100644 --- a/test/compile_errors/stage1/obj/implicit_semicolon-for_expression.zig +++ b/test/compile_errors/stage1/obj/implicit_semicolon-for_expression.zig @@ -5,6 +5,8 @@ export fn entry() void { var bad = {}; } -// implicit semicolon - for expression +// error +// backend=stage1 +// target=native // // tmp.zig:4:26: error: expected ';' after statement diff --git a/test/compile_errors/stage1/obj/implicit_semicolon-for_statement.zig b/test/compile_errors/stage1/obj/implicit_semicolon-for_statement.zig index 092c28889f..1320e4cc46 100644 --- a/test/compile_errors/stage1/obj/implicit_semicolon-for_statement.zig +++ b/test/compile_errors/stage1/obj/implicit_semicolon-for_statement.zig @@ -5,6 +5,8 @@ export fn entry() void { var bad = {}; } -// implicit semicolon - for statement +// error +// backend=stage1 +// target=native // // tmp.zig:4:24: error: expected ';' or 'else' after statement diff --git a/test/compile_errors/stage1/obj/implicit_semicolon-if-else-if-else_expression.zig b/test/compile_errors/stage1/obj/implicit_semicolon-if-else-if-else_expression.zig index fd55529a8f..40b1a33d78 100644 --- a/test/compile_errors/stage1/obj/implicit_semicolon-if-else-if-else_expression.zig +++ b/test/compile_errors/stage1/obj/implicit_semicolon-if-else-if-else_expression.zig @@ -5,6 +5,8 @@ export fn entry() void { var bad = {}; } -// implicit semicolon - if-else-if-else expression +// error +// backend=stage1 +// target=native // // tmp.zig:4:45: error: expected ';' after statement diff --git a/test/compile_errors/stage1/obj/implicit_semicolon-if-else-if-else_statement.zig b/test/compile_errors/stage1/obj/implicit_semicolon-if-else-if-else_statement.zig index 3d59e38aa9..8444fe654d 100644 --- a/test/compile_errors/stage1/obj/implicit_semicolon-if-else-if-else_statement.zig +++ b/test/compile_errors/stage1/obj/implicit_semicolon-if-else-if-else_statement.zig @@ -5,6 +5,8 @@ export fn entry() void { var bad = {}; } -// implicit semicolon - if-else-if-else statement +// error +// backend=stage1 +// target=native // // tmp.zig:4:47: error: expected ';' after statement diff --git a/test/compile_errors/stage1/obj/implicit_semicolon-if-else-if_expression.zig b/test/compile_errors/stage1/obj/implicit_semicolon-if-else-if_expression.zig index 2caaad52b8..7466d64691 100644 --- a/test/compile_errors/stage1/obj/implicit_semicolon-if-else-if_expression.zig +++ b/test/compile_errors/stage1/obj/implicit_semicolon-if-else-if_expression.zig @@ -5,6 +5,8 @@ export fn entry() void { var bad = {}; } -// implicit semicolon - if-else-if expression +// error +// backend=stage1 +// target=native // // tmp.zig:4:37: error: expected ';' after statement diff --git a/test/compile_errors/stage1/obj/implicit_semicolon-if-else-if_statement.zig b/test/compile_errors/stage1/obj/implicit_semicolon-if-else-if_statement.zig index 263aa36da3..34e116b3f7 100644 --- a/test/compile_errors/stage1/obj/implicit_semicolon-if-else-if_statement.zig +++ b/test/compile_errors/stage1/obj/implicit_semicolon-if-else-if_statement.zig @@ -5,6 +5,8 @@ export fn entry() void { var bad = {}; } -// implicit semicolon - if-else-if statement +// error +// backend=stage1 +// target=native // // tmp.zig:4:37: error: expected ';' or 'else' after statement diff --git a/test/compile_errors/stage1/obj/implicit_semicolon-if-else_expression.zig b/test/compile_errors/stage1/obj/implicit_semicolon-if-else_expression.zig index 12d993f6a7..3c1e0add62 100644 --- a/test/compile_errors/stage1/obj/implicit_semicolon-if-else_expression.zig +++ b/test/compile_errors/stage1/obj/implicit_semicolon-if-else_expression.zig @@ -5,6 +5,8 @@ export fn entry() void { var bad = {}; } -// implicit semicolon - if-else expression +// error +// backend=stage1 +// target=native // // tmp.zig:4:28: error: expected ';' after statement diff --git a/test/compile_errors/stage1/obj/implicit_semicolon-if-else_statement.zig b/test/compile_errors/stage1/obj/implicit_semicolon-if-else_statement.zig index 401fc46a51..e9c52fb6bb 100644 --- a/test/compile_errors/stage1/obj/implicit_semicolon-if-else_statement.zig +++ b/test/compile_errors/stage1/obj/implicit_semicolon-if-else_statement.zig @@ -5,6 +5,8 @@ export fn entry() void { var bad = {}; } -// implicit semicolon - if-else statement +// error +// backend=stage1 +// target=native // // tmp.zig:4:28: error: expected ';' after statement diff --git a/test/compile_errors/stage1/obj/implicit_semicolon-if_expression.zig b/test/compile_errors/stage1/obj/implicit_semicolon-if_expression.zig index b3a81e9d36..2082588e0e 100644 --- a/test/compile_errors/stage1/obj/implicit_semicolon-if_expression.zig +++ b/test/compile_errors/stage1/obj/implicit_semicolon-if_expression.zig @@ -5,6 +5,8 @@ export fn entry() void { var bad = {}; } -// implicit semicolon - if expression +// error +// backend=stage1 +// target=native // // tmp.zig:4:20: error: expected ';' after statement diff --git a/test/compile_errors/stage1/obj/implicit_semicolon-if_statement.zig b/test/compile_errors/stage1/obj/implicit_semicolon-if_statement.zig index e543925d78..26cefd0237 100644 --- a/test/compile_errors/stage1/obj/implicit_semicolon-if_statement.zig +++ b/test/compile_errors/stage1/obj/implicit_semicolon-if_statement.zig @@ -5,6 +5,8 @@ export fn entry() void { var bad = {}; } -// implicit semicolon - if statement +// error +// backend=stage1 +// target=native // // tmp.zig:4:18: error: expected ';' or 'else' after statement diff --git a/test/compile_errors/stage1/obj/implicit_semicolon-test_expression.zig b/test/compile_errors/stage1/obj/implicit_semicolon-test_expression.zig index 1702bec048..c31f3520c1 100644 --- a/test/compile_errors/stage1/obj/implicit_semicolon-test_expression.zig +++ b/test/compile_errors/stage1/obj/implicit_semicolon-test_expression.zig @@ -5,6 +5,8 @@ export fn entry() void { var bad = {}; } -// implicit semicolon - test expression +// error +// backend=stage1 +// target=native // // tmp.zig:4:26: error: expected ';' after statement diff --git a/test/compile_errors/stage1/obj/implicit_semicolon-test_statement.zig b/test/compile_errors/stage1/obj/implicit_semicolon-test_statement.zig index 8715ca9ac0..8abb1cbcb1 100644 --- a/test/compile_errors/stage1/obj/implicit_semicolon-test_statement.zig +++ b/test/compile_errors/stage1/obj/implicit_semicolon-test_statement.zig @@ -5,6 +5,8 @@ export fn entry() void { var bad = {}; } -// implicit semicolon - test statement +// error +// backend=stage1 +// target=native // // tmp.zig:4:24: error: expected ';' or 'else' after statement diff --git a/test/compile_errors/stage1/obj/implicit_semicolon-while-continue_expression.zig b/test/compile_errors/stage1/obj/implicit_semicolon-while-continue_expression.zig index b1a7bdbab8..4d3219eb66 100644 --- a/test/compile_errors/stage1/obj/implicit_semicolon-while-continue_expression.zig +++ b/test/compile_errors/stage1/obj/implicit_semicolon-while-continue_expression.zig @@ -5,6 +5,8 @@ export fn entry() void { var bad = {}; } -// implicit semicolon - while-continue expression +// error +// backend=stage1 +// target=native // // tmp.zig:4:28: error: expected ';' after statement diff --git a/test/compile_errors/stage1/obj/implicit_semicolon-while-continue_statement.zig b/test/compile_errors/stage1/obj/implicit_semicolon-while-continue_statement.zig index 601f1f0318..c0b3370357 100644 --- a/test/compile_errors/stage1/obj/implicit_semicolon-while-continue_statement.zig +++ b/test/compile_errors/stage1/obj/implicit_semicolon-while-continue_statement.zig @@ -5,6 +5,8 @@ export fn entry() void { var bad = {}; } -// implicit semicolon - while-continue statement +// error +// backend=stage1 +// target=native // // tmp.zig:4:26: error: expected ';' or 'else' after statement diff --git a/test/compile_errors/stage1/obj/implicit_semicolon-while_expression.zig b/test/compile_errors/stage1/obj/implicit_semicolon-while_expression.zig index 9580889bd7..39f49319d5 100644 --- a/test/compile_errors/stage1/obj/implicit_semicolon-while_expression.zig +++ b/test/compile_errors/stage1/obj/implicit_semicolon-while_expression.zig @@ -5,6 +5,8 @@ export fn entry() void { var bad = {}; } -// implicit semicolon - while expression +// error +// backend=stage1 +// target=native // // tmp.zig:4:23: error: expected ';' after statement diff --git a/test/compile_errors/stage1/obj/implicit_semicolon-while_statement.zig b/test/compile_errors/stage1/obj/implicit_semicolon-while_statement.zig index ab64dd991d..6c253ecf56 100644 --- a/test/compile_errors/stage1/obj/implicit_semicolon-while_statement.zig +++ b/test/compile_errors/stage1/obj/implicit_semicolon-while_statement.zig @@ -5,6 +5,8 @@ export fn entry() void { var bad = {}; } -// implicit semicolon - while statement +// error +// backend=stage1 +// target=native // // tmp.zig:4:18: error: expected ';' or 'else' after statement diff --git a/test/compile_errors/stage1/obj/implicitly_casting_enum_to_tag_type.zig b/test/compile_errors/stage1/obj/implicitly_casting_enum_to_tag_type.zig index 26806a3914..a40615f99b 100644 --- a/test/compile_errors/stage1/obj/implicitly_casting_enum_to_tag_type.zig +++ b/test/compile_errors/stage1/obj/implicitly_casting_enum_to_tag_type.zig @@ -10,6 +10,8 @@ export fn entry() void { _ = x; } -// implicitly casting enum to tag type +// error +// backend=stage1 +// target=native // // tmp.zig:9:22: error: expected type 'u2', found 'Small' diff --git a/test/compile_errors/stage1/obj/implicitly_increasing_pointer_alignment.zig b/test/compile_errors/stage1/obj/implicitly_increasing_pointer_alignment.zig index 8f743a3b59..3743eef0b2 100644 --- a/test/compile_errors/stage1/obj/implicitly_increasing_pointer_alignment.zig +++ b/test/compile_errors/stage1/obj/implicitly_increasing_pointer_alignment.zig @@ -12,6 +12,8 @@ fn bar(x: *u32) void { x.* += 1; } -// implicitly increasing pointer alignment +// error +// backend=stage1 +// target=native // // tmp.zig:8:13: error: expected type '*u32', found '*align(1) u32' diff --git a/test/compile_errors/stage1/obj/implicitly_increasing_slice_alignment.zig b/test/compile_errors/stage1/obj/implicitly_increasing_slice_alignment.zig index c1d4ec2a0f..2e5c201b5d 100644 --- a/test/compile_errors/stage1/obj/implicitly_increasing_slice_alignment.zig +++ b/test/compile_errors/stage1/obj/implicitly_increasing_slice_alignment.zig @@ -13,7 +13,9 @@ fn bar(x: []u32) void { x[0] += 1; } -// implicitly increasing slice alignment +// error +// backend=stage1 +// target=native // // tmp.zig:9:26: error: cast increases pointer alignment // tmp.zig:9:26: note: '*align(1) u32' has alignment 1 diff --git a/test/compile_errors/stage1/obj/import_outside_package_path.zig b/test/compile_errors/stage1/obj/import_outside_package_path.zig index 843de67b63..5a712c2e01 100644 --- a/test/compile_errors/stage1/obj/import_outside_package_path.zig +++ b/test/compile_errors/stage1/obj/import_outside_package_path.zig @@ -2,6 +2,8 @@ comptime{ _ = @import("../a.zig"); } -// import outside package path +// error +// backend=stage1 +// target=native // // tmp.zig:2:9: error: import of file outside package path: '../a.zig' diff --git a/test/compile_errors/stage1/obj/incompatible_sentinels.zig b/test/compile_errors/stage1/obj/incompatible_sentinels.zig new file mode 100644 index 0000000000..a292ae3d7c --- /dev/null +++ b/test/compile_errors/stage1/obj/incompatible_sentinels.zig @@ -0,0 +1,29 @@ +// Note: One of the error messages here is backwards. It would be nice to fix, but that's not +// going to stop me from merging this branch which fixes a bunch of other stuff. +export fn entry1(ptr: [*:255]u8) [*:0]u8 { + return ptr; +} +export fn entry2(ptr: [*]u8) [*:0]u8 { + return ptr; +} +export fn entry3() void { + var array: [2:0]u8 = [_:255]u8{ 1, 2 }; + _ = array; +} +export fn entry4() void { + var array: [2:0]u8 = [_]u8{ 1, 2 }; + _ = array; +} + +// error +// backend=stage1 +// target=native +// +// tmp.zig:4:12: error: expected type '[*:0]u8', found '[*:255]u8' +// tmp.zig:4:12: note: destination pointer requires a terminating '0' sentinel, but source pointer has a terminating '255' sentinel +// tmp.zig:7:12: error: expected type '[*:0]u8', found '[*]u8' +// tmp.zig:7:12: note: destination pointer requires a terminating '0' sentinel +// tmp.zig:10:35: error: expected type '[2:255]u8', found '[2:0]u8' +// tmp.zig:10:35: note: destination array requires a terminating '255' sentinel, but source array has a terminating '0' sentinel +// tmp.zig:14:31: error: expected type '[2:0]u8', found '[2]u8' +// tmp.zig:14:31: note: destination array requires a terminating '0' sentinel diff --git a/test/compile_errors/stage1/obj/incorrect_return_type.zig b/test/compile_errors/stage1/obj/incorrect_return_type.zig index 86c5f23dc3..b25e2a8ea4 100644 --- a/test/compile_errors/stage1/obj/incorrect_return_type.zig +++ b/test/compile_errors/stage1/obj/incorrect_return_type.zig @@ -14,6 +14,8 @@ unreachable; } -// incorrect return type +// error +// backend=stage1 +// target=native // // tmp.zig:8:16: error: expected type 'A', found 'B' diff --git a/test/compile_errors/stage1/obj/increase_pointer_alignment_in_ptrCast.zig b/test/compile_errors/stage1/obj/increase_pointer_alignment_in_ptrCast.zig index 01d8ac821e..f3f67ca4c6 100644 --- a/test/compile_errors/stage1/obj/increase_pointer_alignment_in_ptrCast.zig +++ b/test/compile_errors/stage1/obj/increase_pointer_alignment_in_ptrCast.zig @@ -4,7 +4,9 @@ export fn entry() u32 { return ptr.*; } -// increase pointer alignment in @ptrCast +// error +// backend=stage1 +// target=native // // tmp.zig:3:17: error: cast increases pointer alignment // tmp.zig:3:38: note: '*u8' has alignment 1 diff --git a/test/compile_errors/stage1/obj/indexing_a_undefined_slice_at_comptime.zig b/test/compile_errors/stage1/obj/indexing_a_undefined_slice_at_comptime.zig index 4653d8668e..70b0c68658 100644 --- a/test/compile_errors/stage1/obj/indexing_a_undefined_slice_at_comptime.zig +++ b/test/compile_errors/stage1/obj/indexing_a_undefined_slice_at_comptime.zig @@ -3,6 +3,8 @@ comptime { slice[0] = 2; } -// indexing a undefined slice at comptime +// error +// backend=stage1 +// target=native // // tmp.zig:3:10: error: index 0 outside slice of size 0 diff --git a/test/compile_errors/stage1/obj/indexing_an_array_of_size_zero.zig b/test/compile_errors/stage1/obj/indexing_an_array_of_size_zero.zig index 9066985de5..dfb2e7c1c3 100644 --- a/test/compile_errors/stage1/obj/indexing_an_array_of_size_zero.zig +++ b/test/compile_errors/stage1/obj/indexing_an_array_of_size_zero.zig @@ -4,6 +4,8 @@ export fn foo() void { _ = pointer; } -// indexing an array of size zero +// error +// backend=stage1 +// target=native // // tmp.zig:3:27: error: accessing a zero length array is not allowed diff --git a/test/compile_errors/stage1/obj/indexing_an_array_of_size_zero_with_runtime_index.zig b/test/compile_errors/stage1/obj/indexing_an_array_of_size_zero_with_runtime_index.zig index c5f3acb3cc..f50931312e 100644 --- a/test/compile_errors/stage1/obj/indexing_an_array_of_size_zero_with_runtime_index.zig +++ b/test/compile_errors/stage1/obj/indexing_an_array_of_size_zero_with_runtime_index.zig @@ -5,6 +5,8 @@ export fn foo() void { _ = pointer; } -// indexing an array of size zero with runtime index +// error +// backend=stage1 +// target=native // // tmp.zig:4:27: error: accessing a zero length array is not allowed diff --git a/test/compile_errors/stage1/obj/indexing_single-item_pointer.zig b/test/compile_errors/stage1/obj/indexing_single-item_pointer.zig index e228083964..bc7951ec96 100644 --- a/test/compile_errors/stage1/obj/indexing_single-item_pointer.zig +++ b/test/compile_errors/stage1/obj/indexing_single-item_pointer.zig @@ -2,6 +2,8 @@ export fn entry(ptr: *i32) i32 { return ptr[1]; } -// indexing single-item pointer +// error +// backend=stage1 +// target=native // // tmp.zig:2:15: error: index of single-item pointer diff --git a/test/compile_errors/stage1/obj/indirect_recursion_of_async_functions_detected.zig b/test/compile_errors/stage1/obj/indirect_recursion_of_async_functions_detected.zig index 5765f7aae1..d845dc7930 100644 --- a/test/compile_errors/stage1/obj/indirect_recursion_of_async_functions_detected.zig +++ b/test/compile_errors/stage1/obj/indirect_recursion_of_async_functions_detected.zig @@ -27,7 +27,9 @@ fn rangeSumIndirect(x: i32) i32 { return child + 1; } -// indirect recursion of async functions detected +// error +// backend=stage1 +// target=native // // tmp.zig:8:1: error: '@Frame(rangeSum)' depends on itself // tmp.zig:15:33: note: when analyzing type '@Frame(rangeSum)' here diff --git a/test/compile_errors/stage1/obj/indirect_struct_loop.zig b/test/compile_errors/stage1/obj/indirect_struct_loop.zig index 903a1bda39..12214923d0 100644 --- a/test/compile_errors/stage1/obj/indirect_struct_loop.zig +++ b/test/compile_errors/stage1/obj/indirect_struct_loop.zig @@ -3,6 +3,8 @@ const B = struct { c : C, }; const C = struct { a : A, }; export fn entry() usize { return @sizeOf(A); } -// indirect struct loop +// error +// backend=stage1 +// target=native // // tmp.zig:1:11: error: struct 'A' depends on itself diff --git a/test/compile_errors/stage1/obj/inferred_array_size_invalid_here.zig b/test/compile_errors/stage1/obj/inferred_array_size_invalid_here.zig index a45b6aa027..2b2d944eab 100644 --- a/test/compile_errors/stage1/obj/inferred_array_size_invalid_here.zig +++ b/test/compile_errors/stage1/obj/inferred_array_size_invalid_here.zig @@ -8,7 +8,9 @@ export fn entry2() void { _ = a; } -// inferred array size invalid here +// error +// backend=stage1 +// target=native // // tmp.zig:2:16: error: unable to infer array size // tmp.zig:6:35: error: unable to infer array size diff --git a/test/compile_errors/stage1/obj/inferring_error_set_of_function_pointer.zig b/test/compile_errors/stage1/obj/inferring_error_set_of_function_pointer.zig index ead5afd248..b91242322d 100644 --- a/test/compile_errors/stage1/obj/inferring_error_set_of_function_pointer.zig +++ b/test/compile_errors/stage1/obj/inferring_error_set_of_function_pointer.zig @@ -2,6 +2,8 @@ comptime { const z: ?fn()!void = null; } -// inferring error set of function pointer +// error +// backend=stage1 +// target=native // // tmp.zig:2:19: error: function prototype may not have inferred error set diff --git a/test/compile_errors/stage1/obj/initializing_array_with_struct_syntax.zig b/test/compile_errors/stage1/obj/initializing_array_with_struct_syntax.zig index 15412ac5ab..2884c6193e 100644 --- a/test/compile_errors/stage1/obj/initializing_array_with_struct_syntax.zig +++ b/test/compile_errors/stage1/obj/initializing_array_with_struct_syntax.zig @@ -3,6 +3,8 @@ export fn entry() void { _ = x; } -// initializing array with struct syntax +// error +// backend=stage1 +// target=native // // tmp.zig:2:15: error: initializing array with struct syntax diff --git a/test/compile_errors/stage1/obj/instantiating_an_undefined_value_for_an_invalid_struct_that_contains_itself.zig b/test/compile_errors/stage1/obj/instantiating_an_undefined_value_for_an_invalid_struct_that_contains_itself.zig index c39908c9b5..dd6909b1c2 100644 --- a/test/compile_errors/stage1/obj/instantiating_an_undefined_value_for_an_invalid_struct_that_contains_itself.zig +++ b/test/compile_errors/stage1/obj/instantiating_an_undefined_value_for_an_invalid_struct_that_contains_itself.zig @@ -8,6 +8,8 @@ export fn entry() usize { return @sizeOf(@TypeOf(foo.x)); } -// instantiating an undefined value for an invalid struct that contains itself +// error +// backend=stage1 +// target=native // // tmp.zig:1:13: error: struct 'Foo' depends on itself diff --git a/test/compile_errors/stage1/obj/intToPtr_with_misaligned_address.zig b/test/compile_errors/stage1/obj/intToPtr_with_misaligned_address.zig index a04f318f0c..16b6bf565e 100644 --- a/test/compile_errors/stage1/obj/intToPtr_with_misaligned_address.zig +++ b/test/compile_errors/stage1/obj/intToPtr_with_misaligned_address.zig @@ -3,6 +3,8 @@ pub fn main() void { _ = y; } -// intToPtr with misaligned address +// error +// backend=stage1 +// target=native // // tmp.zig:2:13: error: pointer type '[*]align(4) u8' requires aligned address diff --git a/test/compile_errors/stage1/obj/int_to_err_global_invalid_number.zig b/test/compile_errors/stage1/obj/int_to_err_global_invalid_number.zig index 180da60ab2..5c078a751c 100644 --- a/test/compile_errors/stage1/obj/int_to_err_global_invalid_number.zig +++ b/test/compile_errors/stage1/obj/int_to_err_global_invalid_number.zig @@ -8,6 +8,8 @@ comptime { _ = y; } -// int to err global invalid number +// error +// backend=stage1 +// target=native // // tmp.zig:7:13: error: integer value 3 represents no error diff --git a/test/compile_errors/stage1/obj/int_to_err_non_global_invalid_number.zig b/test/compile_errors/stage1/obj/int_to_err_non_global_invalid_number.zig index a6627891d0..8c1e547746 100644 --- a/test/compile_errors/stage1/obj/int_to_err_non_global_invalid_number.zig +++ b/test/compile_errors/stage1/obj/int_to_err_non_global_invalid_number.zig @@ -12,6 +12,8 @@ comptime { _ = y; } -// int to err non global invalid number +// error +// backend=stage1 +// target=native // // tmp.zig:11:13: error: error.B not a member of error set 'Set2' diff --git a/test/compile_errors/stage1/obj/int_to_ptr_of_0_bits.zig b/test/compile_errors/stage1/obj/int_to_ptr_of_0_bits.zig index 7047600c1b..7b65cdf836 100644 --- a/test/compile_errors/stage1/obj/int_to_ptr_of_0_bits.zig +++ b/test/compile_errors/stage1/obj/int_to_ptr_of_0_bits.zig @@ -4,6 +4,8 @@ export fn foo() void { _ = y; } -// int to ptr of 0 bits +// error +// backend=stage1 +// target=native // // tmp.zig:3:30: error: type '*void' has 0 bits and cannot store information diff --git a/test/compile_errors/stage1/obj/integer_cast_truncates_bits.zig b/test/compile_errors/stage1/obj/integer_cast_truncates_bits.zig index a5c8036152..e8ef418624 100644 --- a/test/compile_errors/stage1/obj/integer_cast_truncates_bits.zig +++ b/test/compile_errors/stage1/obj/integer_cast_truncates_bits.zig @@ -19,7 +19,9 @@ export fn entry4() void { _ = unsigned; } -// integer cast truncates bits +// error +// backend=stage1 +// target=native // // tmp.zig:3:18: error: cast from 'u16' to 'u8' truncates bits // tmp.zig:8:22: error: integer value 300 cannot be coerced to type 'u8' diff --git a/test/compile_errors/stage1/obj/integer_overflow_error.zig b/test/compile_errors/stage1/obj/integer_overflow_error.zig index 568cc5034b..117d77ed93 100644 --- a/test/compile_errors/stage1/obj/integer_overflow_error.zig +++ b/test/compile_errors/stage1/obj/integer_overflow_error.zig @@ -1,6 +1,8 @@ const x : u8 = 300; export fn entry() usize { return @sizeOf(@TypeOf(x)); } -// integer overflow error +// error +// backend=stage1 +// target=native // // tmp.zig:1:16: error: integer value 300 cannot be coerced to type 'u8' diff --git a/test/compile_errors/stage1/obj/integer_underflow_error.zig b/test/compile_errors/stage1/obj/integer_underflow_error.zig index 01171589d9..15bd4c472b 100644 --- a/test/compile_errors/stage1/obj/integer_underflow_error.zig +++ b/test/compile_errors/stage1/obj/integer_underflow_error.zig @@ -2,6 +2,8 @@ export fn entry() void { _ = @intToPtr(*anyopaque, ~@as(usize, @import("std").math.maxInt(usize)) - 1); } -// integer underflow error +// error +// backend=stage1 +// target=native // // :2:78: error: operation caused overflow diff --git a/test/compile_errors/stage1/obj/invalid_break_expression.zig b/test/compile_errors/stage1/obj/invalid_break_expression.zig index b6d27d6ea5..efb76a34f7 100644 --- a/test/compile_errors/stage1/obj/invalid_break_expression.zig +++ b/test/compile_errors/stage1/obj/invalid_break_expression.zig @@ -2,6 +2,8 @@ export fn f() void { break; } -// invalid break expression +// error +// backend=stage1 +// target=native // // tmp.zig:2:5: error: break expression outside loop diff --git a/test/compile_errors/stage1/obj/invalid_builtin_fn.zig b/test/compile_errors/stage1/obj/invalid_builtin_fn.zig index e10baf5965..8f0e3633bb 100644 --- a/test/compile_errors/stage1/obj/invalid_builtin_fn.zig +++ b/test/compile_errors/stage1/obj/invalid_builtin_fn.zig @@ -2,6 +2,8 @@ fn f() @bogus(foo) { } export fn entry() void { _ = f(); } -// invalid builtin fn +// error +// backend=stage1 +// target=native // // tmp.zig:1:8: error: invalid builtin function: '@bogus' diff --git a/test/compile_errors/stage1/obj/invalid_cast_from_integral_type_to_enum.zig b/test/compile_errors/stage1/obj/invalid_cast_from_integral_type_to_enum.zig index 476a4929ef..81dbd88e3b 100644 --- a/test/compile_errors/stage1/obj/invalid_cast_from_integral_type_to_enum.zig +++ b/test/compile_errors/stage1/obj/invalid_cast_from_integral_type_to_enum.zig @@ -10,6 +10,8 @@ fn foo(x: usize) void { } } -// invalid cast from integral type to enum +// error +// backend=stage1 +// target=native // // tmp.zig:9:10: error: expected type 'usize', found 'E' diff --git a/test/compile_errors/stage1/obj/invalid_comparison_for_function_pointers.zig b/test/compile_errors/stage1/obj/invalid_comparison_for_function_pointers.zig index f7827ed0e9..6d64b6cdaf 100644 --- a/test/compile_errors/stage1/obj/invalid_comparison_for_function_pointers.zig +++ b/test/compile_errors/stage1/obj/invalid_comparison_for_function_pointers.zig @@ -3,6 +3,8 @@ const invalid = foo > foo; export fn entry() usize { return @sizeOf(@TypeOf(invalid)); } -// invalid comparison for function pointers +// error +// backend=stage1 +// target=native // // tmp.zig:2:21: error: operator not allowed for type 'fn() void' diff --git a/test/compile_errors/stage1/obj/invalid_continue_expression.zig b/test/compile_errors/stage1/obj/invalid_continue_expression.zig index 9bd40c516a..00f3c5a3d5 100644 --- a/test/compile_errors/stage1/obj/invalid_continue_expression.zig +++ b/test/compile_errors/stage1/obj/invalid_continue_expression.zig @@ -2,6 +2,8 @@ export fn f() void { continue; } -// invalid continue expression +// error +// backend=stage1 +// target=native // // tmp.zig:2:5: error: continue expression outside loop diff --git a/test/compile_errors/stage1/obj/invalid_deref_on_switch_target.zig b/test/compile_errors/stage1/obj/invalid_deref_on_switch_target.zig index 47dc0a52c1..966a881543 100644 --- a/test/compile_errors/stage1/obj/invalid_deref_on_switch_target.zig +++ b/test/compile_errors/stage1/obj/invalid_deref_on_switch_target.zig @@ -10,6 +10,8 @@ const Tile = enum { Filled, }; -// invalid deref on switch target +// error +// backend=stage1 +// target=native // // tmp.zig:3:17: error: attempt to dereference non-pointer type 'Tile' diff --git a/test/compile_errors/stage1/obj/invalid_empty_unicode_escape.zig b/test/compile_errors/stage1/obj/invalid_empty_unicode_escape.zig index d8853110a4..57dd16a63d 100644 --- a/test/compile_errors/stage1/obj/invalid_empty_unicode_escape.zig +++ b/test/compile_errors/stage1/obj/invalid_empty_unicode_escape.zig @@ -2,6 +2,8 @@ export fn entry() void { const a = '\u{}'; } -// invalid empty unicode escape +// error +// backend=stage1 +// target=native // // tmp.zig:2:19: error: empty unicode escape sequence diff --git a/test/compile_errors/stage1/obj/invalid_exponent_in_float_literal-1.zig b/test/compile_errors/stage1/obj/invalid_exponent_in_float_literal-1.zig index 4f13de2a62..431401c534 100644 --- a/test/compile_errors/stage1/obj/invalid_exponent_in_float_literal-1.zig +++ b/test/compile_errors/stage1/obj/invalid_exponent_in_float_literal-1.zig @@ -3,7 +3,9 @@ fn main() void { _ = bad; } -// invalid exponent in float literal - 1 +// error +// backend=stage1 +// target=native // // tmp.zig:2:21: error: expected expression, found 'invalid bytes' // tmp.zig:2:28: note: invalid byte: 'a' diff --git a/test/compile_errors/stage1/obj/invalid_exponent_in_float_literal-2.zig b/test/compile_errors/stage1/obj/invalid_exponent_in_float_literal-2.zig index f612d8c510..088b43546c 100644 --- a/test/compile_errors/stage1/obj/invalid_exponent_in_float_literal-2.zig +++ b/test/compile_errors/stage1/obj/invalid_exponent_in_float_literal-2.zig @@ -3,7 +3,9 @@ fn main() void { _ = bad; } -// invalid exponent in float literal - 2 +// error +// backend=stage1 +// target=native // // tmp.zig:2:21: error: expected expression, found 'invalid bytes' // tmp.zig:2:29: note: invalid byte: 'F' diff --git a/test/compile_errors/stage1/obj/invalid_field_access_in_comptime.zig b/test/compile_errors/stage1/obj/invalid_field_access_in_comptime.zig index e8395b5e7a..2630a704ed 100644 --- a/test/compile_errors/stage1/obj/invalid_field_access_in_comptime.zig +++ b/test/compile_errors/stage1/obj/invalid_field_access_in_comptime.zig @@ -1,5 +1,7 @@ comptime { var x = doesnt_exist.whatever; _ = x; } -// invalid field access in comptime +// error +// backend=stage1 +// target=native // // tmp.zig:1:20: error: use of undeclared identifier 'doesnt_exist' diff --git a/test/compile_errors/stage1/obj/invalid_field_in_struct_value_expression.zig b/test/compile_errors/stage1/obj/invalid_field_in_struct_value_expression.zig index 41511f0d0a..fae0a90b51 100644 --- a/test/compile_errors/stage1/obj/invalid_field_in_struct_value_expression.zig +++ b/test/compile_errors/stage1/obj/invalid_field_in_struct_value_expression.zig @@ -12,6 +12,8 @@ export fn f() void { _ = a; } -// invalid field in struct value expression +// error +// backend=stage1 +// target=native // // tmp.zig:10:9: error: no member named 'foo' in struct 'A' diff --git a/test/compile_errors/stage1/obj/invalid_float_literal.zig b/test/compile_errors/stage1/obj/invalid_float_literal.zig index 5d9a26032f..709609a027 100644 --- a/test/compile_errors/stage1/obj/invalid_float_literal.zig +++ b/test/compile_errors/stage1/obj/invalid_float_literal.zig @@ -6,6 +6,8 @@ pub fn main() void { std.debug.assert(bad_float < 1.0); } -// invalid float literal +// error +// backend=stage1 +// target=native // // tmp.zig:5:29: error: expected expression, found '.' diff --git a/test/compile_errors/stage1/obj/invalid_legacy_unicode_escape.zig b/test/compile_errors/stage1/obj/invalid_legacy_unicode_escape.zig index 58e1390345..b81a814a60 100644 --- a/test/compile_errors/stage1/obj/invalid_legacy_unicode_escape.zig +++ b/test/compile_errors/stage1/obj/invalid_legacy_unicode_escape.zig @@ -2,7 +2,9 @@ export fn entry() void { const a = '\U1234'; } -// invalid legacy unicode escape +// error +// backend=stage1 +// target=native // // tmp.zig:2:15: error: expected expression, found 'invalid bytes' // tmp.zig:2:18: note: invalid byte: '1' diff --git a/test/compile_errors/stage1/obj/invalid_maybe_type.zig b/test/compile_errors/stage1/obj/invalid_maybe_type.zig index 9edc313526..cb075c36b7 100644 --- a/test/compile_errors/stage1/obj/invalid_maybe_type.zig +++ b/test/compile_errors/stage1/obj/invalid_maybe_type.zig @@ -2,6 +2,8 @@ export fn f() void { if (true) |x| { _ = x; } } -// invalid maybe type +// error +// backend=stage1 +// target=native // // tmp.zig:2:9: error: expected optional type, found 'bool' diff --git a/test/compile_errors/stage1/obj/invalid_member_of_builtin_enum.zig b/test/compile_errors/stage1/obj/invalid_member_of_builtin_enum.zig index 32888ff84b..166ebfc782 100644 --- a/test/compile_errors/stage1/obj/invalid_member_of_builtin_enum.zig +++ b/test/compile_errors/stage1/obj/invalid_member_of_builtin_enum.zig @@ -4,6 +4,8 @@ export fn entry() void { _ = foo; } -// invalid member of builtin enum +// error +// backend=stage1 +// target=native // // tmp.zig:3:29: error: container 'std.builtin.Mode' has no member called 'x86' diff --git a/test/compile_errors/stage1/obj/invalid_multiple_dereferences.zig b/test/compile_errors/stage1/obj/invalid_multiple_dereferences.zig index bdf5ccb228..f8a0b8013f 100644 --- a/test/compile_errors/stage1/obj/invalid_multiple_dereferences.zig +++ b/test/compile_errors/stage1/obj/invalid_multiple_dereferences.zig @@ -11,7 +11,9 @@ pub const Box = struct { field: i32, }; -// invalid multiple dereferences +// error +// backend=stage1 +// target=native // // tmp.zig:3:8: error: attempt to dereference non-pointer type 'Box' // tmp.zig:8:13: error: attempt to dereference non-pointer type 'Box' diff --git a/test/compile_errors/stage1/obj/invalid_optional_type_in_extern_struct.zig b/test/compile_errors/stage1/obj/invalid_optional_type_in_extern_struct.zig index 17d9477abf..dc2e2690b8 100644 --- a/test/compile_errors/stage1/obj/invalid_optional_type_in_extern_struct.zig +++ b/test/compile_errors/stage1/obj/invalid_optional_type_in_extern_struct.zig @@ -3,6 +3,8 @@ const stroo = extern struct { }; export fn testf(fluff: *stroo) void { _ = fluff; } -// invalid optional type in extern struct +// error +// backend=stage1 +// target=native // // tmp.zig:2:5: error: extern structs cannot contain fields of type '?[*c]u8' diff --git a/test/compile_errors/stage1/obj/invalid_pointer_for_var_type.zig b/test/compile_errors/stage1/obj/invalid_pointer_for_var_type.zig index 599aef54f2..caf8c70797 100644 --- a/test/compile_errors/stage1/obj/invalid_pointer_for_var_type.zig +++ b/test/compile_errors/stage1/obj/invalid_pointer_for_var_type.zig @@ -6,6 +6,8 @@ export fn f() void { } } -// invalid pointer for var type +// error +// backend=stage1 +// target=native // // tmp.zig:2:13: error: unable to evaluate constant expression diff --git a/test/compile_errors/stage1/obj/invalid_pointer_syntax.zig b/test/compile_errors/stage1/obj/invalid_pointer_syntax.zig index d4b68200b6..a4c823bde1 100644 --- a/test/compile_errors/stage1/obj/invalid_pointer_syntax.zig +++ b/test/compile_errors/stage1/obj/invalid_pointer_syntax.zig @@ -2,6 +2,8 @@ export fn foo() void { var guid: *:0 const u8 = undefined; } -// invalid pointer syntax +// error +// backend=stage1 +// target=native // // tmp.zig:2:16: error: expected type expression, found ':' diff --git a/test/compile_errors/stage1/obj/invalid_shift_amount_error.zig b/test/compile_errors/stage1/obj/invalid_shift_amount_error.zig index f4fe1cb2ff..7c84f2db38 100644 --- a/test/compile_errors/stage1/obj/invalid_shift_amount_error.zig +++ b/test/compile_errors/stage1/obj/invalid_shift_amount_error.zig @@ -4,6 +4,8 @@ fn f() u16 { } export fn entry() u16 { return f(); } -// invalid shift amount error +// error +// backend=stage1 +// target=native // // tmp.zig:3:17: error: integer value 8 cannot be coerced to type 'u3' diff --git a/test/compile_errors/stage1/obj/invalid_struct_field.zig b/test/compile_errors/stage1/obj/invalid_struct_field.zig index 2d85914907..6264125bca 100644 --- a/test/compile_errors/stage1/obj/invalid_struct_field.zig +++ b/test/compile_errors/stage1/obj/invalid_struct_field.zig @@ -11,7 +11,9 @@ export fn g() void { _ = y; } -// invalid struct field +// error +// backend=stage1 +// target=native // // tmp.zig:4:6: error: no member named 'foo' in struct 'A' // tmp.zig:10:16: error: no member named 'bar' in struct 'A' diff --git a/test/compile_errors/stage1/obj/invalid_suspend_in_exported_function.zig b/test/compile_errors/stage1/obj/invalid_suspend_in_exported_function.zig index da808563a5..cfcbfba889 100644 --- a/test/compile_errors/stage1/obj/invalid_suspend_in_exported_function.zig +++ b/test/compile_errors/stage1/obj/invalid_suspend_in_exported_function.zig @@ -7,7 +7,9 @@ fn func() void { suspend {} } -// invalid suspend in exported function +// error +// backend=stage1 +// target=native // // tmp.zig:1:1: error: function with calling convention 'C' cannot be async // tmp.zig:3:18: note: await here is a suspend point diff --git a/test/compile_errors/stage1/obj/invalid_type.zig b/test/compile_errors/stage1/obj/invalid_type.zig index 0307300517..8a2952e5f2 100644 --- a/test/compile_errors/stage1/obj/invalid_type.zig +++ b/test/compile_errors/stage1/obj/invalid_type.zig @@ -1,6 +1,8 @@ fn a() bogus {} export fn entry() void { _ = a(); } -// invalid type +// error +// backend=stage1 +// target=native // // tmp.zig:1:8: error: use of undeclared identifier 'bogus' diff --git a/test/compile_errors/stage1/obj/invalid_type_used_in_array_type.zig b/test/compile_errors/stage1/obj/invalid_type_used_in_array_type.zig index 26f0e6a7db..3a7bc4272c 100644 --- a/test/compile_errors/stage1/obj/invalid_type_used_in_array_type.zig +++ b/test/compile_errors/stage1/obj/invalid_type_used_in_array_type.zig @@ -7,6 +7,8 @@ export fn entry() void { _ = a; } -// invalid type used in array type +// error +// backend=stage1 +// target=native // // tmp.zig:2:12: error: use of undeclared identifier 'SomeNonexistentType' diff --git a/test/compile_errors/stage1/obj/invalid_underscore_placement_in_float_literal-1.zig b/test/compile_errors/stage1/obj/invalid_underscore_placement_in_float_literal-1.zig index 5cea540104..a3e2827f31 100644 --- a/test/compile_errors/stage1/obj/invalid_underscore_placement_in_float_literal-1.zig +++ b/test/compile_errors/stage1/obj/invalid_underscore_placement_in_float_literal-1.zig @@ -3,7 +3,9 @@ fn main() void { _ = bad; } -// invalid underscore placement in float literal - 1 +// error +// backend=stage1 +// target=native // // tmp.zig:2:21: error: expected expression, found 'invalid bytes' // tmp.zig:2:23: note: invalid byte: '_' diff --git a/test/compile_errors/stage1/obj/invalid_underscore_placement_in_float_literal-10.zig b/test/compile_errors/stage1/obj/invalid_underscore_placement_in_float_literal-10.zig index d789579a2b..7d33244483 100644 --- a/test/compile_errors/stage1/obj/invalid_underscore_placement_in_float_literal-10.zig +++ b/test/compile_errors/stage1/obj/invalid_underscore_placement_in_float_literal-10.zig @@ -3,7 +3,9 @@ fn main() void { _ = bad; } -// invalid underscore placement in float literal - 10 +// error +// backend=stage1 +// target=native // // tmp.zig:2:21: error: expected expression, found 'invalid bytes' // tmp.zig:2:25: note: invalid byte: '_' diff --git a/test/compile_errors/stage1/obj/invalid_underscore_placement_in_float_literal-11.zig b/test/compile_errors/stage1/obj/invalid_underscore_placement_in_float_literal-11.zig index 197b114090..fa4f5b8975 100644 --- a/test/compile_errors/stage1/obj/invalid_underscore_placement_in_float_literal-11.zig +++ b/test/compile_errors/stage1/obj/invalid_underscore_placement_in_float_literal-11.zig @@ -3,7 +3,9 @@ fn main() void { _ = bad; } -// invalid underscore placement in float literal - 11 +// error +// backend=stage1 +// target=native // // tmp.zig:2:21: error: expected expression, found 'invalid bytes' // tmp.zig:2:28: note: invalid byte: '_' diff --git a/test/compile_errors/stage1/obj/invalid_underscore_placement_in_float_literal-12.zig b/test/compile_errors/stage1/obj/invalid_underscore_placement_in_float_literal-12.zig index 1d25c9f4b4..2d36187711 100644 --- a/test/compile_errors/stage1/obj/invalid_underscore_placement_in_float_literal-12.zig +++ b/test/compile_errors/stage1/obj/invalid_underscore_placement_in_float_literal-12.zig @@ -3,7 +3,9 @@ fn main() void { _ = bad; } -// invalid underscore placement in float literal - 12 +// error +// backend=stage1 +// target=native // // tmp.zig:2:21: error: expected expression, found 'invalid bytes' // tmp.zig:2:23: note: invalid byte: 'x' diff --git a/test/compile_errors/stage1/obj/invalid_underscore_placement_in_float_literal-13.zig b/test/compile_errors/stage1/obj/invalid_underscore_placement_in_float_literal-13.zig index c3de75ed32..21b044121c 100644 --- a/test/compile_errors/stage1/obj/invalid_underscore_placement_in_float_literal-13.zig +++ b/test/compile_errors/stage1/obj/invalid_underscore_placement_in_float_literal-13.zig @@ -3,7 +3,9 @@ fn main() void { _ = bad; } -// invalid underscore placement in float literal - 13 +// error +// backend=stage1 +// target=native // // tmp.zig:2:21: error: expected expression, found 'invalid bytes' // tmp.zig:2:23: note: invalid byte: '_' diff --git a/test/compile_errors/stage1/obj/invalid_underscore_placement_in_float_literal-14.zig b/test/compile_errors/stage1/obj/invalid_underscore_placement_in_float_literal-14.zig index cbb967e926..adb0727eba 100644 --- a/test/compile_errors/stage1/obj/invalid_underscore_placement_in_float_literal-14.zig +++ b/test/compile_errors/stage1/obj/invalid_underscore_placement_in_float_literal-14.zig @@ -3,7 +3,9 @@ fn main() void { _ = bad; } -// invalid underscore placement in float literal - 14 +// error +// backend=stage1 +// target=native // // tmp.zig:2:21: error: expected expression, found 'invalid bytes' // tmp.zig:2:27: note: invalid byte: 'p' diff --git a/test/compile_errors/stage1/obj/invalid_underscore_placement_in_float_literal-2.zig b/test/compile_errors/stage1/obj/invalid_underscore_placement_in_float_literal-2.zig index e83c1b420b..16618c6a18 100644 --- a/test/compile_errors/stage1/obj/invalid_underscore_placement_in_float_literal-2.zig +++ b/test/compile_errors/stage1/obj/invalid_underscore_placement_in_float_literal-2.zig @@ -3,7 +3,9 @@ fn main() void { _ = bad; } -// invalid underscore placement in float literal - 2 +// error +// backend=stage1 +// target=native // // tmp.zig:2:21: error: expected expression, found 'invalid bytes' // tmp.zig:2:23: note: invalid byte: '.' diff --git a/test/compile_errors/stage1/obj/invalid_underscore_placement_in_float_literal-3.zig b/test/compile_errors/stage1/obj/invalid_underscore_placement_in_float_literal-3.zig index f9ca8e0d7c..09e9e20b4b 100644 --- a/test/compile_errors/stage1/obj/invalid_underscore_placement_in_float_literal-3.zig +++ b/test/compile_errors/stage1/obj/invalid_underscore_placement_in_float_literal-3.zig @@ -3,7 +3,9 @@ fn main() void { _ = bad; } -// invalid underscore placement in float literal - 3 +// error +// backend=stage1 +// target=native // // tmp.zig:2:21: error: expected expression, found 'invalid bytes' // tmp.zig:2:25: note: invalid byte: ';' diff --git a/test/compile_errors/stage1/obj/invalid_underscore_placement_in_float_literal-4.zig b/test/compile_errors/stage1/obj/invalid_underscore_placement_in_float_literal-4.zig index 20e8d3692e..278ee35f5f 100644 --- a/test/compile_errors/stage1/obj/invalid_underscore_placement_in_float_literal-4.zig +++ b/test/compile_errors/stage1/obj/invalid_underscore_placement_in_float_literal-4.zig @@ -3,7 +3,9 @@ fn main() void { _ = bad; } -// invalid underscore placement in float literal - 4 +// error +// backend=stage1 +// target=native // // tmp.zig:2:21: error: expected expression, found 'invalid bytes' // tmp.zig:2:25: note: invalid byte: '_' diff --git a/test/compile_errors/stage1/obj/invalid_underscore_placement_in_float_literal-5.zig b/test/compile_errors/stage1/obj/invalid_underscore_placement_in_float_literal-5.zig index 3719f54e06..4912c15e50 100644 --- a/test/compile_errors/stage1/obj/invalid_underscore_placement_in_float_literal-5.zig +++ b/test/compile_errors/stage1/obj/invalid_underscore_placement_in_float_literal-5.zig @@ -3,7 +3,9 @@ fn main() void { _ = bad; } -// invalid underscore placement in float literal - 5 +// error +// backend=stage1 +// target=native // // tmp.zig:2:21: error: expected expression, found 'invalid bytes' // tmp.zig:2:26: note: invalid byte: '_' diff --git a/test/compile_errors/stage1/obj/invalid_underscore_placement_in_float_literal-6.zig b/test/compile_errors/stage1/obj/invalid_underscore_placement_in_float_literal-6.zig index 64a439538a..3386c860b9 100644 --- a/test/compile_errors/stage1/obj/invalid_underscore_placement_in_float_literal-6.zig +++ b/test/compile_errors/stage1/obj/invalid_underscore_placement_in_float_literal-6.zig @@ -3,7 +3,9 @@ fn main() void { _ = bad; } -// invalid underscore placement in float literal - 6 +// error +// backend=stage1 +// target=native // // tmp.zig:2:21: error: expected expression, found 'invalid bytes' // tmp.zig:2:26: note: invalid byte: '_' diff --git a/test/compile_errors/stage1/obj/invalid_underscore_placement_in_float_literal-7.zig b/test/compile_errors/stage1/obj/invalid_underscore_placement_in_float_literal-7.zig index 311b27339a..c0e57424a9 100644 --- a/test/compile_errors/stage1/obj/invalid_underscore_placement_in_float_literal-7.zig +++ b/test/compile_errors/stage1/obj/invalid_underscore_placement_in_float_literal-7.zig @@ -3,7 +3,9 @@ fn main() void { _ = bad; } -// invalid underscore placement in float literal - 7 +// error +// backend=stage1 +// target=native // // tmp.zig:2:21: error: expected expression, found 'invalid bytes' // tmp.zig:2:28: note: invalid byte: ';' diff --git a/test/compile_errors/stage1/obj/invalid_underscore_placement_in_float_literal-9.zig b/test/compile_errors/stage1/obj/invalid_underscore_placement_in_float_literal-9.zig index ecd1149f22..f7475332c1 100644 --- a/test/compile_errors/stage1/obj/invalid_underscore_placement_in_float_literal-9.zig +++ b/test/compile_errors/stage1/obj/invalid_underscore_placement_in_float_literal-9.zig @@ -3,7 +3,9 @@ fn main() void { _ = bad; } -// invalid underscore placement in float literal - 9 +// error +// backend=stage1 +// target=native // // tmp.zig:2:21: error: expected expression, found 'invalid bytes' // tmp.zig:2:23: note: invalid byte: '_' diff --git a/test/compile_errors/stage1/obj/invalid_underscore_placement_in_int_literal-1.zig b/test/compile_errors/stage1/obj/invalid_underscore_placement_in_int_literal-1.zig index 47da090745..9cea337db4 100644 --- a/test/compile_errors/stage1/obj/invalid_underscore_placement_in_int_literal-1.zig +++ b/test/compile_errors/stage1/obj/invalid_underscore_placement_in_int_literal-1.zig @@ -3,7 +3,9 @@ fn main() void { _ = bad; } -// invalid underscore placement in int literal - 1 +// error +// backend=stage1 +// target=native // // tmp.zig:2:21: error: expected expression, found 'invalid bytes' // tmp.zig:2:26: note: invalid byte: ';' diff --git a/test/compile_errors/stage1/obj/invalid_underscore_placement_in_int_literal-2.zig b/test/compile_errors/stage1/obj/invalid_underscore_placement_in_int_literal-2.zig index bb230daa9e..5f02479f2e 100644 --- a/test/compile_errors/stage1/obj/invalid_underscore_placement_in_int_literal-2.zig +++ b/test/compile_errors/stage1/obj/invalid_underscore_placement_in_int_literal-2.zig @@ -3,7 +3,9 @@ fn main() void { _ = bad; } -// invalid underscore placement in int literal - 2 +// error +// backend=stage1 +// target=native // // tmp.zig:2:21: error: expected expression, found 'invalid bytes' // tmp.zig:2:28: note: invalid byte: ';' diff --git a/test/compile_errors/stage1/obj/invalid_underscore_placement_in_int_literal-3.zig b/test/compile_errors/stage1/obj/invalid_underscore_placement_in_int_literal-3.zig index 7808b6ee4d..aed4cb9068 100644 --- a/test/compile_errors/stage1/obj/invalid_underscore_placement_in_int_literal-3.zig +++ b/test/compile_errors/stage1/obj/invalid_underscore_placement_in_int_literal-3.zig @@ -3,7 +3,9 @@ fn main() void { _ = bad; } -// invalid underscore placement in int literal - 3 +// error +// backend=stage1 +// target=native // // tmp.zig:2:21: error: expected expression, found 'invalid bytes' // tmp.zig:2:28: note: invalid byte: ';' diff --git a/test/compile_errors/stage1/obj/invalid_underscore_placement_in_int_literal-4.zig b/test/compile_errors/stage1/obj/invalid_underscore_placement_in_int_literal-4.zig index 51ddb3d061..dce2771048 100644 --- a/test/compile_errors/stage1/obj/invalid_underscore_placement_in_int_literal-4.zig +++ b/test/compile_errors/stage1/obj/invalid_underscore_placement_in_int_literal-4.zig @@ -3,7 +3,9 @@ fn main() void { _ = bad; } -// invalid underscore placement in int literal - 4 +// error +// backend=stage1 +// target=native // // tmp.zig:2:21: error: expected expression, found 'invalid bytes' // tmp.zig:2:28: note: invalid byte: ';' diff --git a/test/compile_errors/stage1/obj/invalid_union_field_access_in_comptime.zig b/test/compile_errors/stage1/obj/invalid_union_field_access_in_comptime.zig index d570dca0b9..6d55f3b04f 100644 --- a/test/compile_errors/stage1/obj/invalid_union_field_access_in_comptime.zig +++ b/test/compile_errors/stage1/obj/invalid_union_field_access_in_comptime.zig @@ -8,6 +8,8 @@ comptime { _ = bar_val; } -// invalid union field access in comptime +// error +// backend=stage1 +// target=native // // tmp.zig:7:24: error: accessing union field 'Bar' while field 'Baz' is set diff --git a/test/compile_errors/stage1/obj/issue_2032_compile_diagnostic_string_for_top_level_decl_type.zig b/test/compile_errors/stage1/obj/issue_2032_compile_diagnostic_string_for_top_level_decl_type.zig index 9e353a4d38..c742cb9b77 100644 --- a/test/compile_errors/stage1/obj/issue_2032_compile_diagnostic_string_for_top_level_decl_type.zig +++ b/test/compile_errors/stage1/obj/issue_2032_compile_diagnostic_string_for_top_level_decl_type.zig @@ -3,6 +3,8 @@ export fn entry() void { _ = foo; } -// compile diagnostic string for top level decl type (issue 2032) +// error +// backend=stage1 +// target=native // // tmp.zig:2:27: error: type 'u32' does not support array initialization diff --git a/test/compile_errors/stage1/obj/issue_2687_coerce_from_undefined_array_pointer_to_slice.zig b/test/compile_errors/stage1/obj/issue_2687_coerce_from_undefined_array_pointer_to_slice.zig index 7c125b85ce..21fbb6b4fe 100644 --- a/test/compile_errors/stage1/obj/issue_2687_coerce_from_undefined_array_pointer_to_slice.zig +++ b/test/compile_errors/stage1/obj/issue_2687_coerce_from_undefined_array_pointer_to_slice.zig @@ -18,7 +18,9 @@ export fn foo3() void { } } -// issue #2687: coerce from undefined array pointer to slice +// error +// backend=stage1 +// target=native // // tmp.zig:3:19: error: use of undefined value here causes undefined behavior // tmp.zig:9:23: error: use of undefined value here causes undefined behavior diff --git a/test/compile_errors/stage1/obj/issue_3818_bitcast_from_parray-slice_to_u16.zig b/test/compile_errors/stage1/obj/issue_3818_bitcast_from_parray-slice_to_u16.zig index 1c9d9cd1b1..cdc1def677 100644 --- a/test/compile_errors/stage1/obj/issue_3818_bitcast_from_parray-slice_to_u16.zig +++ b/test/compile_errors/stage1/obj/issue_3818_bitcast_from_parray-slice_to_u16.zig @@ -9,7 +9,9 @@ export fn foo2() void { _ = word; } -// issue #3818: bitcast from parray/slice to u16 +// error +// backend=stage1 +// target=native // // tmp.zig:3:42: error: unable to @bitCast from pointer type '*[2]u8' // tmp.zig:8:32: error: destination type 'u16' has size 2 but source type '[]const u8' has size 16 diff --git a/test/compile_errors/stage1/obj/issue_4207_coerce_from_non-terminated-slice_to_terminated-pointer.zig b/test/compile_errors/stage1/obj/issue_4207_coerce_from_non-terminated-slice_to_terminated-pointer.zig index bfb0595cce..d53f7731a0 100644 --- a/test/compile_errors/stage1/obj/issue_4207_coerce_from_non-terminated-slice_to_terminated-pointer.zig +++ b/test/compile_errors/stage1/obj/issue_4207_coerce_from_non-terminated-slice_to_terminated-pointer.zig @@ -3,7 +3,9 @@ export fn foo() [*:0]const u8 { return buffer[0..]; } -// issue #4207: coerce from non-terminated-slice to terminated-pointer +// error +// backend=stage1 +// target=native // // :3:18: error: expected type '[*:0]const u8', found '*[64]u8' // :3:18: note: destination pointer requires a terminating '0' sentinel diff --git a/test/compile_errors/stage1/obj/issue_5221_invalid_struct_init_type_referenced_by_typeInfo_and_passed_into_function.zig b/test/compile_errors/stage1/obj/issue_5221_invalid_struct_init_type_referenced_by_typeInfo_and_passed_into_function.zig index aa839bc72c..a622ceb44e 100644 --- a/test/compile_errors/stage1/obj/issue_5221_invalid_struct_init_type_referenced_by_typeInfo_and_passed_into_function.zig +++ b/test/compile_errors/stage1/obj/issue_5221_invalid_struct_init_type_referenced_by_typeInfo_and_passed_into_function.zig @@ -8,7 +8,9 @@ export fn foo() void { comptime ignore(@typeInfo(MyStruct).Struct.fields[0]); } -// issue #5221: invalid struct init type referenced by @typeInfo and passed into function +// error +// backend=stage1 +// target=native // // :5:28: error: cannot cast pointer to array literal to slice type '[]u8' // :5:28: note: cast discards const qualifier diff --git a/test/compile_errors/stage1/obj/issue_5618_coercion_of_optional_anyopaque_to_anyopaque_must_fail.zig b/test/compile_errors/stage1/obj/issue_5618_coercion_of_optional_anyopaque_to_anyopaque_must_fail.zig index daa8a91f40..9ba9910838 100644 --- a/test/compile_errors/stage1/obj/issue_5618_coercion_of_optional_anyopaque_to_anyopaque_must_fail.zig +++ b/test/compile_errors/stage1/obj/issue_5618_coercion_of_optional_anyopaque_to_anyopaque_must_fail.zig @@ -4,6 +4,8 @@ export fn foo() void { v = u; } -// Issue #5618: coercion of ?*anyopaque to *anyopaque must fail. +// error +// backend=stage1 +// target=native // // tmp.zig:4:9: error: cannot convert optional to payload type. consider using `.?`, `orelse`, or `if`. expected type '*anyopaque', found '?*anyopaque' diff --git a/test/compile_errors/stage1/obj/issue_7810-comptime_slice-len_increment_beyond_bounds.zig b/test/compile_errors/stage1/obj/issue_7810-comptime_slice-len_increment_beyond_bounds.zig index 533ac928b4..c8b2f0b09e 100644 --- a/test/compile_errors/stage1/obj/issue_7810-comptime_slice-len_increment_beyond_bounds.zig +++ b/test/compile_errors/stage1/obj/issue_7810-comptime_slice-len_increment_beyond_bounds.zig @@ -7,6 +7,8 @@ export fn foo_slice_len_increment_beyond_bounds() void { } } -// comptime slice-len increment beyond bounds +// error +// backend=stage1 +// target=native // // :6:12: error: out of bounds slice diff --git a/test/compile_errors/stage1/obj/issue_9346_return_outside_of_function_scope.zig b/test/compile_errors/stage1/obj/issue_9346_return_outside_of_function_scope.zig index 6be92e2ee8..d12bff2b49 100644 --- a/test/compile_errors/stage1/obj/issue_9346_return_outside_of_function_scope.zig +++ b/test/compile_errors/stage1/obj/issue_9346_return_outside_of_function_scope.zig @@ -1,5 +1,7 @@ pub const empty = return 1; -// issue #9346: return outside of function scope +// error +// backend=stage1 +// target=native // // tmp.zig:1:19: error: 'return' outside function scope diff --git a/test/compile_errors/stage1/obj/labeled_break_not_found.zig b/test/compile_errors/stage1/obj/labeled_break_not_found.zig index 0f4632d74d..754e1864b0 100644 --- a/test/compile_errors/stage1/obj/labeled_break_not_found.zig +++ b/test/compile_errors/stage1/obj/labeled_break_not_found.zig @@ -6,6 +6,8 @@ export fn entry() void { } } -// labeled break not found +// error +// backend=stage1 +// target=native // // tmp.zig:4:20: error: label not found: 'outer' diff --git a/test/compile_errors/stage1/obj/labeled_continue_not_found.zig b/test/compile_errors/stage1/obj/labeled_continue_not_found.zig index 8f95a0fce1..b112e9b355 100644 --- a/test/compile_errors/stage1/obj/labeled_continue_not_found.zig +++ b/test/compile_errors/stage1/obj/labeled_continue_not_found.zig @@ -7,6 +7,8 @@ export fn entry() void { } } -// labeled continue not found +// error +// backend=stage1 +// target=native // // tmp.zig:5:23: error: label not found: 'outer' diff --git a/test/compile_errors/stage1/obj/lazy_pointer_with_undefined_element_type.zig b/test/compile_errors/stage1/obj/lazy_pointer_with_undefined_element_type.zig index 47b271a05e..733a3ca2dd 100644 --- a/test/compile_errors/stage1/obj/lazy_pointer_with_undefined_element_type.zig +++ b/test/compile_errors/stage1/obj/lazy_pointer_with_undefined_element_type.zig @@ -5,6 +5,8 @@ export fn foo() void { _ = I; } -// lazy pointer with undefined element type +// error +// backend=stage1 +// target=native // // :3:28: error: use of undefined value here causes undefined behavior diff --git a/test/compile_errors/stage1/obj/libc_headers_note.zig b/test/compile_errors/stage1/obj/libc_headers_note.zig new file mode 100644 index 0000000000..c8d9a9cbf3 --- /dev/null +++ b/test/compile_errors/stage1/obj/libc_headers_note.zig @@ -0,0 +1,12 @@ +const c = @cImport(@cInclude("stdio.h")); +export fn entry() void { + _ = c.printf("hello, world!\n"); +} + +// error +// backend=stage1 +// is_test=1 +// target=native-linux +// +// tmp.zig:1:11: error: C import failed +// tmp.zig:1:11: note: libc headers not available; compilation does not link against libc diff --git a/test/compile_errors/stage1/obj/load_too_many_bytes_from_comptime_reinterpreted_pointer.zig b/test/compile_errors/stage1/obj/load_too_many_bytes_from_comptime_reinterpreted_pointer.zig index 2c5e1c7327..b275dbbeed 100644 --- a/test/compile_errors/stage1/obj/load_too_many_bytes_from_comptime_reinterpreted_pointer.zig +++ b/test/compile_errors/stage1/obj/load_too_many_bytes_from_comptime_reinterpreted_pointer.zig @@ -6,6 +6,8 @@ export fn entry() void { _ = int_val; } -// load too many bytes from comptime reinterpreted pointer +// error +// backend=stage1 +// target=native // // tmp.zig:5:28: error: attempt to read 8 bytes from pointer to f32 which is 4 bytes diff --git a/test/compile_errors/stage1/obj/load_vector_pointer_with_unknown_runtime_index.zig b/test/compile_errors/stage1/obj/load_vector_pointer_with_unknown_runtime_index.zig index fe28fa9102..8d703b09e6 100644 --- a/test/compile_errors/stage1/obj/load_vector_pointer_with_unknown_runtime_index.zig +++ b/test/compile_errors/stage1/obj/load_vector_pointer_with_unknown_runtime_index.zig @@ -10,6 +10,8 @@ fn loadv(ptr: anytype) i32 { return ptr.*; } -// load vector pointer with unknown runtime index +// error +// backend=stage1 +// target=native // // tmp.zig:10:12: error: unable to determine vector element index of type '*align(16:0:4:?) i32 diff --git a/test/compile_errors/stage1/obj/local_shadows_global_that_occurs_later.zig b/test/compile_errors/stage1/obj/local_shadows_global_that_occurs_later.zig index 2265a34f18..4b9b58871f 100644 --- a/test/compile_errors/stage1/obj/local_shadows_global_that_occurs_later.zig +++ b/test/compile_errors/stage1/obj/local_shadows_global_that_occurs_later.zig @@ -4,7 +4,9 @@ pub fn main() void { } fn foo() void {} -// local shadows global that occurs later +// error +// backend=stage1 +// target=native // // tmp.zig:2:9: error: local shadows declaration of 'foo' // tmp.zig:5:1: note: declared here diff --git a/test/compile_errors/stage1/obj/local_variable_redeclaration.zig b/test/compile_errors/stage1/obj/local_variable_redeclaration.zig index 2367963edb..79eba0d428 100644 --- a/test/compile_errors/stage1/obj/local_variable_redeclaration.zig +++ b/test/compile_errors/stage1/obj/local_variable_redeclaration.zig @@ -3,7 +3,9 @@ export fn f() void { var a = 0; } -// local variable redeclaration +// error +// backend=stage1 +// target=native // // tmp.zig:3:9: error: redeclaration of local constant 'a' // tmp.zig:2:11: note: previous declaration here diff --git a/test/compile_errors/stage1/obj/local_variable_redeclares_parameter.zig b/test/compile_errors/stage1/obj/local_variable_redeclares_parameter.zig index e624e14e31..854ef080c5 100644 --- a/test/compile_errors/stage1/obj/local_variable_redeclares_parameter.zig +++ b/test/compile_errors/stage1/obj/local_variable_redeclares_parameter.zig @@ -3,7 +3,9 @@ fn f(a : i32) void { } export fn entry() void { f(1); } -// local variable redeclares parameter +// error +// backend=stage1 +// target=native // // tmp.zig:2:11: error: redeclaration of function parameter 'a' // tmp.zig:1:6: note: previous declaration here diff --git a/test/compile_errors/stage1/obj/local_variable_shadowing_global.zig b/test/compile_errors/stage1/obj/local_variable_shadowing_global.zig index c824cb3df7..3f1af3a4cb 100644 --- a/test/compile_errors/stage1/obj/local_variable_shadowing_global.zig +++ b/test/compile_errors/stage1/obj/local_variable_shadowing_global.zig @@ -6,7 +6,9 @@ export fn entry() void { _ = Bar; } -// local variable shadowing global +// error +// backend=stage1 +// target=native // // tmp.zig:5:9: error: local shadows declaration of 'Bar' // tmp.zig:2:1: note: declared here diff --git a/test/compile_errors/stage1/obj/locally_shadowing_a_primitive_type.zig b/test/compile_errors/stage1/obj/locally_shadowing_a_primitive_type.zig index 457cea418c..e66a2082ea 100644 --- a/test/compile_errors/stage1/obj/locally_shadowing_a_primitive_type.zig +++ b/test/compile_errors/stage1/obj/locally_shadowing_a_primitive_type.zig @@ -4,7 +4,9 @@ export fn foo() void { _ = a; } -// locally shadowing a primitive type +// error +// backend=stage1 +// target=native // // tmp.zig:2:11: error: name shadows primitive 'u8' // tmp.zig:2:11: note: consider using @"u8" to disambiguate diff --git a/test/compile_errors/stage1/obj/main_function_with_bogus_args_type.zig b/test/compile_errors/stage1/obj/main_function_with_bogus_args_type.zig index 3954c4b846..5808ab90ec 100644 --- a/test/compile_errors/stage1/obj/main_function_with_bogus_args_type.zig +++ b/test/compile_errors/stage1/obj/main_function_with_bogus_args_type.zig @@ -1,5 +1,7 @@ pub fn main(args: [][]bogus) !void {_ = args;} -// main function with bogus args type +// error +// backend=stage1 +// target=native // // tmp.zig:1:23: error: use of undeclared identifier 'bogus' diff --git a/test/compile_errors/stage1/obj/method_call_with_first_arg_type_primitive.zig b/test/compile_errors/stage1/obj/method_call_with_first_arg_type_primitive.zig index 9763e84fba..316be2d899 100644 --- a/test/compile_errors/stage1/obj/method_call_with_first_arg_type_primitive.zig +++ b/test/compile_errors/stage1/obj/method_call_with_first_arg_type_primitive.zig @@ -14,6 +14,8 @@ export fn f() void { derp.init(); } -// method call with first arg type primitive +// error +// backend=stage1 +// target=native // // tmp.zig:14:5: error: expected type 'i32', found 'Foo' diff --git a/test/compile_errors/stage1/obj/method_call_with_first_arg_type_wrong_container.zig b/test/compile_errors/stage1/obj/method_call_with_first_arg_type_wrong_container.zig index ccbc7e32e3..04ab89fb6c 100644 --- a/test/compile_errors/stage1/obj/method_call_with_first_arg_type_wrong_container.zig +++ b/test/compile_errors/stage1/obj/method_call_with_first_arg_type_wrong_container.zig @@ -23,6 +23,8 @@ export fn foo() void { x.init(); } -// method call with first arg type wrong container +// error +// backend=stage1 +// target=native // // tmp.zig:23:5: error: expected type '*Allocator', found '*List' diff --git a/test/compile_errors/stage1/obj/missing_boolean_switch_value.zig b/test/compile_errors/stage1/obj/missing_boolean_switch_value.zig index 63a12c4e6f..2e9d4b48ce 100644 --- a/test/compile_errors/stage1/obj/missing_boolean_switch_value.zig +++ b/test/compile_errors/stage1/obj/missing_boolean_switch_value.zig @@ -11,7 +11,9 @@ comptime { _ = x; } -// missing boolean switch value +// error +// backend=stage1 +// target=native // // tmp.zig:2:15: error: switch must handle all possibilities // tmp.zig:8:15: error: switch must handle all possibilities diff --git a/test/compile_errors/stage1/obj/missing_const_in_slice_with_nested_array_type.zig b/test/compile_errors/stage1/obj/missing_const_in_slice_with_nested_array_type.zig index 4f552284d7..af9d690d43 100644 --- a/test/compile_errors/stage1/obj/missing_const_in_slice_with_nested_array_type.zig +++ b/test/compile_errors/stage1/obj/missing_const_in_slice_with_nested_array_type.zig @@ -11,6 +11,8 @@ export fn entry() void { _ = geo_data; } -// missing const in slice with nested array type +// error +// backend=stage1 +// target=native // // tmp.zig:4:30: error: array literal requires address-of operator (&) to coerce to slice type '[][2]f32' diff --git a/test/compile_errors/stage1/obj/missing_else_clause.zig b/test/compile_errors/stage1/obj/missing_else_clause.zig index 28adfd21e8..f331933437 100644 --- a/test/compile_errors/stage1/obj/missing_else_clause.zig +++ b/test/compile_errors/stage1/obj/missing_else_clause.zig @@ -8,7 +8,9 @@ fn g(b: bool) void { } export fn entry() void { f(true); g(true); } -// missing else clause +// error +// backend=stage1 +// target=native // // tmp.zig:2:21: error: expected type 'i32', found 'void' // tmp.zig:6:15: error: incompatible types: 'i32' and 'void' diff --git a/test/compile_errors/stage1/obj/missing_field_in_struct_value_expression.zig b/test/compile_errors/stage1/obj/missing_field_in_struct_value_expression.zig index bea4021a5a..9eb4246c8f 100644 --- a/test/compile_errors/stage1/obj/missing_field_in_struct_value_expression.zig +++ b/test/compile_errors/stage1/obj/missing_field_in_struct_value_expression.zig @@ -13,6 +13,8 @@ export fn f() void { _ = a; } -// missing field in struct value expression +// error +// backend=stage1 +// target=native // // tmp.zig:9:17: error: missing field: 'x' diff --git a/test/compile_errors/stage1/obj/missing_function_call_param.zig b/test/compile_errors/stage1/obj/missing_function_call_param.zig index 45a7259814..9e08ed7140 100644 --- a/test/compile_errors/stage1/obj/missing_function_call_param.zig +++ b/test/compile_errors/stage1/obj/missing_function_call_param.zig @@ -24,6 +24,8 @@ fn f(foo: *const Foo, index: usize) void { export fn entry() usize { return @sizeOf(@TypeOf(f)); } -// missing function call param +// error +// backend=stage1 +// target=native // // tmp.zig:20:34: error: expected 1 argument(s), found 0 diff --git a/test/compile_errors/stage1/obj/missing_function_name.zig b/test/compile_errors/stage1/obj/missing_function_name.zig index 194f5eb6a8..cd9a3ca7ee 100644 --- a/test/compile_errors/stage1/obj/missing_function_name.zig +++ b/test/compile_errors/stage1/obj/missing_function_name.zig @@ -1,6 +1,8 @@ fn () void {} export fn entry() usize { return @sizeOf(@TypeOf(f)); } -// missing function name +// error +// backend=stage1 +// target=native // // tmp.zig:1:1: error: missing function name diff --git a/test/compile_errors/stage1/obj/missing_param_name.zig b/test/compile_errors/stage1/obj/missing_param_name.zig index 1c379dd245..febb16d2ca 100644 --- a/test/compile_errors/stage1/obj/missing_param_name.zig +++ b/test/compile_errors/stage1/obj/missing_param_name.zig @@ -1,6 +1,8 @@ fn f(i32) void {} export fn entry() usize { return @sizeOf(@TypeOf(f)); } -// missing param name +// error +// backend=stage1 +// target=native // // tmp.zig:1:6: error: missing parameter name diff --git a/test/compile_errors/stage1/obj/missing_parameter_name_of_generic_function.zig b/test/compile_errors/stage1/obj/missing_parameter_name_of_generic_function.zig index 3a3ccd28a8..041c0c4a47 100644 --- a/test/compile_errors/stage1/obj/missing_parameter_name_of_generic_function.zig +++ b/test/compile_errors/stage1/obj/missing_parameter_name_of_generic_function.zig @@ -4,6 +4,8 @@ export fn entry() void { dump(a); } -// missing parameter name of generic function +// error +// backend=stage1 +// target=native // // tmp.zig:1:9: error: missing parameter name diff --git a/test/compile_errors/stage1/obj/missing_result_type_for_phi_node.zig b/test/compile_errors/stage1/obj/missing_result_type_for_phi_node.zig index 3ef99e0859..33bc1d0d9c 100644 --- a/test/compile_errors/stage1/obj/missing_result_type_for_phi_node.zig +++ b/test/compile_errors/stage1/obj/missing_result_type_for_phi_node.zig @@ -5,6 +5,8 @@ export fn entry() void { foo() catch 0; } -// missing result type for phi node +// error +// backend=stage1 +// target=native // // tmp.zig:5:17: error: integer value 0 cannot be coerced to type 'void' diff --git a/test/compile_errors/stage1/obj/misspelled_type_with_pointer_only_reference.zig b/test/compile_errors/stage1/obj/misspelled_type_with_pointer_only_reference.zig index 6b3f647c02..8e2055a829 100644 --- a/test/compile_errors/stage1/obj/misspelled_type_with_pointer_only_reference.zig +++ b/test/compile_errors/stage1/obj/misspelled_type_with_pointer_only_reference.zig @@ -30,6 +30,8 @@ fn foo() void { export fn entry() usize { return @sizeOf(@TypeOf(foo)); } -// misspelled type with pointer only reference +// error +// backend=stage1 +// target=native // // tmp.zig:5:16: error: use of undeclared identifier 'JsonList' diff --git a/test/compile_errors/stage1/obj/mod_assign_on_undefined_value.zig b/test/compile_errors/stage1/obj/mod_assign_on_undefined_value.zig index 3165970d44..c127e256e8 100644 --- a/test/compile_errors/stage1/obj/mod_assign_on_undefined_value.zig +++ b/test/compile_errors/stage1/obj/mod_assign_on_undefined_value.zig @@ -3,6 +3,8 @@ comptime { a %= a; } -// mod assign on undefined value +// error +// backend=stage1 +// target=native // // tmp.zig:3:5: error: use of undefined value here causes undefined behavior diff --git a/test/compile_errors/stage1/obj/mod_on_undefined_value.zig b/test/compile_errors/stage1/obj/mod_on_undefined_value.zig index 3b33f6ed82..8bd7774a46 100644 --- a/test/compile_errors/stage1/obj/mod_on_undefined_value.zig +++ b/test/compile_errors/stage1/obj/mod_on_undefined_value.zig @@ -3,6 +3,8 @@ comptime { _ = a % a; } -// mod on undefined value +// error +// backend=stage1 +// target=native // // tmp.zig:3:9: error: use of undefined value here causes undefined behavior diff --git a/test/compile_errors/stage1/obj/mul_overflow_in_function_evaluation.zig b/test/compile_errors/stage1/obj/mul_overflow_in_function_evaluation.zig index ea8eea5ab5..8209b33f94 100644 --- a/test/compile_errors/stage1/obj/mul_overflow_in_function_evaluation.zig +++ b/test/compile_errors/stage1/obj/mul_overflow_in_function_evaluation.zig @@ -5,6 +5,8 @@ fn mul(a: u16, b: u16) u16 { export fn entry() usize { return @sizeOf(@TypeOf(y)); } -// mul overflow in function evaluation +// error +// backend=stage1 +// target=native // // tmp.zig:3:14: error: operation caused overflow diff --git a/test/compile_errors/stage1/obj/mult_assign_on_undefined_value.zig b/test/compile_errors/stage1/obj/mult_assign_on_undefined_value.zig index 4617c5f62b..04040b9756 100644 --- a/test/compile_errors/stage1/obj/mult_assign_on_undefined_value.zig +++ b/test/compile_errors/stage1/obj/mult_assign_on_undefined_value.zig @@ -3,6 +3,8 @@ comptime { a *= a; } -// mult assign on undefined value +// error +// backend=stage1 +// target=native // // tmp.zig:3:5: error: use of undefined value here causes undefined behavior diff --git a/test/compile_errors/stage1/obj/mult_on_undefined_value.zig b/test/compile_errors/stage1/obj/mult_on_undefined_value.zig index 836b59e19d..0dcd2b02f2 100644 --- a/test/compile_errors/stage1/obj/mult_on_undefined_value.zig +++ b/test/compile_errors/stage1/obj/mult_on_undefined_value.zig @@ -3,6 +3,8 @@ comptime { _ = a * a; } -// mult on undefined value +// error +// backend=stage1 +// target=native // // tmp.zig:3:9: error: use of undefined value here causes undefined behavior diff --git a/test/compile_errors/stage1/obj/mult_wrap_assign_on_undefined_value.zig b/test/compile_errors/stage1/obj/mult_wrap_assign_on_undefined_value.zig index 38bd38bf79..db54af9f0b 100644 --- a/test/compile_errors/stage1/obj/mult_wrap_assign_on_undefined_value.zig +++ b/test/compile_errors/stage1/obj/mult_wrap_assign_on_undefined_value.zig @@ -3,6 +3,8 @@ comptime { a *%= a; } -// mult wrap assign on undefined value +// error +// backend=stage1 +// target=native // // tmp.zig:3:5: error: use of undefined value here causes undefined behavior diff --git a/test/compile_errors/stage1/obj/mult_wrap_on_undefined_value.zig b/test/compile_errors/stage1/obj/mult_wrap_on_undefined_value.zig index 0c0ca46540..9ad09f7e93 100644 --- a/test/compile_errors/stage1/obj/mult_wrap_on_undefined_value.zig +++ b/test/compile_errors/stage1/obj/mult_wrap_on_undefined_value.zig @@ -3,6 +3,8 @@ comptime { _ = a *% a; } -// mult wrap on undefined value +// error +// backend=stage1 +// target=native // // tmp.zig:3:9: error: use of undefined value here causes undefined behavior diff --git a/test/compile_errors/stage1/obj/multiple_function_definitions.zig b/test/compile_errors/stage1/obj/multiple_function_definitions.zig index c4efefce8d..baa4a43048 100644 --- a/test/compile_errors/stage1/obj/multiple_function_definitions.zig +++ b/test/compile_errors/stage1/obj/multiple_function_definitions.zig @@ -2,7 +2,9 @@ fn a() void {} fn a() void {} export fn entry() void { a(); } -// multiple function definitions +// error +// backend=stage1 +// target=native // // tmp.zig:2:1: error: redeclaration of 'a' // tmp.zig:1:1: note: other declaration here diff --git a/test/compile_errors/stage1/obj/negate_on_undefined_value.zig b/test/compile_errors/stage1/obj/negate_on_undefined_value.zig index 7e7e392104..f8d5f6128d 100644 --- a/test/compile_errors/stage1/obj/negate_on_undefined_value.zig +++ b/test/compile_errors/stage1/obj/negate_on_undefined_value.zig @@ -3,6 +3,8 @@ comptime { _ = -a; } -// negate on undefined value +// error +// backend=stage1 +// target=native // // tmp.zig:3:10: error: use of undefined value here causes undefined behavior diff --git a/test/compile_errors/stage1/obj/negate_wrap_on_undefined_value.zig b/test/compile_errors/stage1/obj/negate_wrap_on_undefined_value.zig index f49c6eac34..4ca32956de 100644 --- a/test/compile_errors/stage1/obj/negate_wrap_on_undefined_value.zig +++ b/test/compile_errors/stage1/obj/negate_wrap_on_undefined_value.zig @@ -3,6 +3,8 @@ comptime { _ = -%a; } -// negate wrap on undefined value +// error +// backend=stage1 +// target=native // // tmp.zig:3:11: error: use of undefined value here causes undefined behavior diff --git a/test/compile_errors/stage1/obj/negation_overflow_in_function_evaluation.zig b/test/compile_errors/stage1/obj/negation_overflow_in_function_evaluation.zig index ca69b6fb5d..f83e0de6ae 100644 --- a/test/compile_errors/stage1/obj/negation_overflow_in_function_evaluation.zig +++ b/test/compile_errors/stage1/obj/negation_overflow_in_function_evaluation.zig @@ -5,6 +5,8 @@ fn neg(x: i8) i8 { export fn entry() usize { return @sizeOf(@TypeOf(y)); } -// negation overflow in function evaluation +// error +// backend=stage1 +// target=native // // tmp.zig:3:12: error: negation caused overflow diff --git a/test/compile_errors/stage1/obj/nested_error_set_mismatch.zig b/test/compile_errors/stage1/obj/nested_error_set_mismatch.zig index 6c677049df..cd037635bc 100644 --- a/test/compile_errors/stage1/obj/nested_error_set_mismatch.zig +++ b/test/compile_errors/stage1/obj/nested_error_set_mismatch.zig @@ -10,7 +10,9 @@ fn foo() ?OtherError!i32 { return null; } -// nested error set mismatch +// error +// backend=stage1 +// target=native // // tmp.zig:5:34: error: expected type '?NextError!i32', found '?OtherError!i32' // tmp.zig:5:34: note: optional type child 'OtherError!i32' cannot cast into optional type child 'NextError!i32' diff --git a/test/compile_errors/stage1/obj/no_else_prong_on_switch_on_global_error_set.zig b/test/compile_errors/stage1/obj/no_else_prong_on_switch_on_global_error_set.zig index 7de3f189f0..39f4399caf 100644 --- a/test/compile_errors/stage1/obj/no_else_prong_on_switch_on_global_error_set.zig +++ b/test/compile_errors/stage1/obj/no_else_prong_on_switch_on_global_error_set.zig @@ -7,6 +7,8 @@ fn foo(a: anyerror) void { } } -// no else prong on switch on global error set +// error +// backend=stage1 +// target=native // // tmp.zig:5:5: error: else prong required when switching on type 'anyerror' diff --git a/test/compile_errors/stage1/obj/noalias_on_non_pointer_param.zig b/test/compile_errors/stage1/obj/noalias_on_non_pointer_param.zig index 3419dc8c99..ca84aca73f 100644 --- a/test/compile_errors/stage1/obj/noalias_on_non_pointer_param.zig +++ b/test/compile_errors/stage1/obj/noalias_on_non_pointer_param.zig @@ -1,6 +1,8 @@ fn f(noalias x: i32) void { _ = x; } export fn entry() void { f(1234); } -// noalias on non pointer param +// error +// backend=stage1 +// target=native // // tmp.zig:1:6: error: noalias on non-pointer parameter diff --git a/test/compile_errors/stage1/obj/non-async_function_pointer_eventually_is_inferred_to_become_async.zig b/test/compile_errors/stage1/obj/non-async_function_pointer_eventually_is_inferred_to_become_async.zig index 93391daaef..e18b420028 100644 --- a/test/compile_errors/stage1/obj/non-async_function_pointer_eventually_is_inferred_to_become_async.zig +++ b/test/compile_errors/stage1/obj/non-async_function_pointer_eventually_is_inferred_to_become_async.zig @@ -6,7 +6,9 @@ fn func() void { suspend {} } -// non-async function pointer eventually is inferred to become async +// error +// backend=stage1 +// target=native // // tmp.zig:5:1: error: 'func' cannot be async // tmp.zig:3:20: note: required to be non-async here diff --git a/test/compile_errors/stage1/obj/non-const_expression_function_call_with_struct_return_value_outside_function.zig b/test/compile_errors/stage1/obj/non-const_expression_function_call_with_struct_return_value_outside_function.zig index d6a463e71f..25e33d1435 100644 --- a/test/compile_errors/stage1/obj/non-const_expression_function_call_with_struct_return_value_outside_function.zig +++ b/test/compile_errors/stage1/obj/non-const_expression_function_call_with_struct_return_value_outside_function.zig @@ -10,6 +10,8 @@ var global_side_effect = false; export fn entry() usize { return @sizeOf(@TypeOf(a)); } -// non-const expression function call with struct return value outside function +// error +// backend=stage1 +// target=native // // tmp.zig:6:26: error: unable to evaluate constant expression diff --git a/test/compile_errors/stage1/obj/non-const_expression_in_struct_literal_outside_function.zig b/test/compile_errors/stage1/obj/non-const_expression_in_struct_literal_outside_function.zig index ef7b1309c3..46b94f1f96 100644 --- a/test/compile_errors/stage1/obj/non-const_expression_in_struct_literal_outside_function.zig +++ b/test/compile_errors/stage1/obj/non-const_expression_in_struct_literal_outside_function.zig @@ -6,6 +6,8 @@ extern fn get_it() i32; export fn entry() usize { return @sizeOf(@TypeOf(a)); } -// non-const expression in struct literal outside function +// error +// backend=stage1 +// target=native // // tmp.zig:4:21: error: unable to evaluate constant expression diff --git a/test/compile_errors/stage1/obj/non-const_switch_number_literal.zig b/test/compile_errors/stage1/obj/non-const_switch_number_literal.zig index aecaa7dcb6..005db548ed 100644 --- a/test/compile_errors/stage1/obj/non-const_switch_number_literal.zig +++ b/test/compile_errors/stage1/obj/non-const_switch_number_literal.zig @@ -10,6 +10,8 @@ fn bar() i32 { return 2; } -// non-const switch number literal +// error +// backend=stage1 +// target=native // // tmp.zig:5:17: error: cannot store runtime value in type 'comptime_int' diff --git a/test/compile_errors/stage1/obj/non-const_variables_of_things_that_require_const_variables.zig b/test/compile_errors/stage1/obj/non-const_variables_of_things_that_require_const_variables.zig index 0598e04e4b..73ef29aa54 100644 --- a/test/compile_errors/stage1/obj/non-const_variables_of_things_that_require_const_variables.zig +++ b/test/compile_errors/stage1/obj/non-const_variables_of_things_that_require_const_variables.zig @@ -35,7 +35,9 @@ const Foo = struct { fn bar(self: *const Foo) void {_ = self;} }; -// non-const variables of things that require const variables +// error +// backend=stage1 +// target=native // // tmp.zig:2:4: error: variable of type '*const comptime_int' must be const or comptime // tmp.zig:6:4: error: variable of type '@Type(.Undefined)' must be const or comptime diff --git a/test/compile_errors/stage1/obj/non-enum_tag_type_passed_to_union.zig b/test/compile_errors/stage1/obj/non-enum_tag_type_passed_to_union.zig index 3161f16b28..e188a3f819 100644 --- a/test/compile_errors/stage1/obj/non-enum_tag_type_passed_to_union.zig +++ b/test/compile_errors/stage1/obj/non-enum_tag_type_passed_to_union.zig @@ -6,6 +6,8 @@ export fn entry() void { _ = x; } -// non-enum tag type passed to union +// error +// backend=stage1 +// target=native // // tmp.zig:1:19: error: expected enum tag type, found 'u32' diff --git a/test/compile_errors/stage1/obj/non-extern_function_with_var_args.zig b/test/compile_errors/stage1/obj/non-extern_function_with_var_args.zig index 02b99383c1..9e5463d451 100644 --- a/test/compile_errors/stage1/obj/non-extern_function_with_var_args.zig +++ b/test/compile_errors/stage1/obj/non-extern_function_with_var_args.zig @@ -3,6 +3,8 @@ export fn entry() void { foo(); } -// non-extern function with var args +// error +// backend=stage1 +// target=native // // tmp.zig:1:14: error: expected type expression, found '...' diff --git a/test/compile_errors/stage1/obj/non-inline_for_loop_on_a_type_that_requires_comptime.zig b/test/compile_errors/stage1/obj/non-inline_for_loop_on_a_type_that_requires_comptime.zig index 9190e7cea8..d2b4e28ea6 100644 --- a/test/compile_errors/stage1/obj/non-inline_for_loop_on_a_type_that_requires_comptime.zig +++ b/test/compile_errors/stage1/obj/non-inline_for_loop_on_a_type_that_requires_comptime.zig @@ -7,6 +7,8 @@ export fn entry() void { for (xx) |f| { _ = f;} } -// non-inline for loop on a type that requires comptime +// error +// backend=stage1 +// target=native // // tmp.zig:7:5: error: values of type 'Foo' must be comptime known, but index value is runtime known diff --git a/test/compile_errors/stage1/obj/non-integer_tag_type_to_automatic_union_enum.zig b/test/compile_errors/stage1/obj/non-integer_tag_type_to_automatic_union_enum.zig index a84ca36f6c..41d5e14163 100644 --- a/test/compile_errors/stage1/obj/non-integer_tag_type_to_automatic_union_enum.zig +++ b/test/compile_errors/stage1/obj/non-integer_tag_type_to_automatic_union_enum.zig @@ -6,6 +6,8 @@ export fn entry() void { _ = x; } -// non-integer tag type to automatic union enum +// error +// backend=stage1 +// target=native // // tmp.zig:1:24: error: expected integer tag type, found 'f32' diff --git a/test/compile_errors/stage1/obj/non-pure_function_returns_type.zig b/test/compile_errors/stage1/obj/non-pure_function_returns_type.zig index 0925207b9f..9d1c642273 100644 --- a/test/compile_errors/stage1/obj/non-pure_function_returns_type.zig +++ b/test/compile_errors/stage1/obj/non-pure_function_returns_type.zig @@ -17,6 +17,8 @@ export fn function_with_return_type_type() void { list.length = 10; } -// non-pure function returns type +// error +// backend=stage1 +// target=native // // tmp.zig:3:7: error: unable to evaluate constant expression diff --git a/test/compile_errors/stage1/obj/non_async_function_pointer_passed_to_asyncCall.zig b/test/compile_errors/stage1/obj/non_async_function_pointer_passed_to_asyncCall.zig index 73c4fd96ca..d8ab4087e0 100644 --- a/test/compile_errors/stage1/obj/non_async_function_pointer_passed_to_asyncCall.zig +++ b/test/compile_errors/stage1/obj/non_async_function_pointer_passed_to_asyncCall.zig @@ -5,6 +5,8 @@ export fn entry() void { } fn afunc() void { } -// non async function pointer passed to @asyncCall +// error +// backend=stage1 +// target=native // // tmp.zig:4:32: error: expected async function, found 'fn() void' diff --git a/test/compile_errors/stage1/obj/non_compile_time_array_concatenation.zig b/test/compile_errors/stage1/obj/non_compile_time_array_concatenation.zig index c119cc03f7..e70e6daf32 100644 --- a/test/compile_errors/stage1/obj/non_compile_time_array_concatenation.zig +++ b/test/compile_errors/stage1/obj/non_compile_time_array_concatenation.zig @@ -4,6 +4,8 @@ fn f() []u8 { var s: [10]u8 = undefined; export fn entry() usize { return @sizeOf(@TypeOf(f)); } -// non compile time array concatenation +// error +// backend=stage1 +// target=native // // tmp.zig:2:12: error: unable to evaluate constant expression diff --git a/test/compile_errors/stage1/obj/non_constant_expression_in_array_size.zig b/test/compile_errors/stage1/obj/non_constant_expression_in_array_size.zig index fe28921265..a0cb8e8ce1 100644 --- a/test/compile_errors/stage1/obj/non_constant_expression_in_array_size.zig +++ b/test/compile_errors/stage1/obj/non_constant_expression_in_array_size.zig @@ -6,7 +6,9 @@ fn get() usize { return global_var; } export fn entry() usize { return @sizeOf(@TypeOf(Foo)); } -// non constant expression in array size +// error +// backend=stage1 +// target=native // // tmp.zig:5:25: error: cannot store runtime value in compile time variable // tmp.zig:2:12: note: called from here diff --git a/test/compile_errors/stage1/obj/non_error_sets_used_in_merge_error_sets_operator.zig b/test/compile_errors/stage1/obj/non_error_sets_used_in_merge_error_sets_operator.zig index c600bea8b0..fc3431820c 100644 --- a/test/compile_errors/stage1/obj/non_error_sets_used_in_merge_error_sets_operator.zig +++ b/test/compile_errors/stage1/obj/non_error_sets_used_in_merge_error_sets_operator.zig @@ -7,7 +7,9 @@ export fn bar() void { _ = Errors; } -// non error sets used in merge error sets operator +// error +// backend=stage1 +// target=native // // tmp.zig:2:20: error: expected error set type, found type 'u8' // tmp.zig:2:23: note: `||` merges error sets; `or` performs boolean OR diff --git a/test/compile_errors/stage1/obj/non_float_passed_to_floatToInt.zig b/test/compile_errors/stage1/obj/non_float_passed_to_floatToInt.zig index cad658ba5a..c91025906a 100644 --- a/test/compile_errors/stage1/obj/non_float_passed_to_floatToInt.zig +++ b/test/compile_errors/stage1/obj/non_float_passed_to_floatToInt.zig @@ -3,6 +3,8 @@ export fn entry() void { _ = x; } -// non float passed to @floatToInt +// error +// backend=stage1 +// target=native // // tmp.zig:2:32: error: expected float type, found 'i32' diff --git a/test/compile_errors/stage1/obj/non_int_passed_to_intToFloat.zig b/test/compile_errors/stage1/obj/non_int_passed_to_intToFloat.zig index 8b985c2b0b..8f6acca51e 100644 --- a/test/compile_errors/stage1/obj/non_int_passed_to_intToFloat.zig +++ b/test/compile_errors/stage1/obj/non_int_passed_to_intToFloat.zig @@ -3,6 +3,8 @@ export fn entry() void { _ = x; } -// non int passed to @intToFloat +// error +// backend=stage1 +// target=native // // tmp.zig:2:32: error: expected int type, found 'comptime_float' diff --git a/test/compile_errors/stage1/obj/non_pointer_given_to_ptrToInt.zig b/test/compile_errors/stage1/obj/non_pointer_given_to_ptrToInt.zig index 1d4d3087da..7824c0f796 100644 --- a/test/compile_errors/stage1/obj/non_pointer_given_to_ptrToInt.zig +++ b/test/compile_errors/stage1/obj/non_pointer_given_to_ptrToInt.zig @@ -2,6 +2,8 @@ export fn entry(x: i32) usize { return @ptrToInt(x); } -// non pointer given to @ptrToInt +// error +// backend=stage1 +// target=native // // tmp.zig:2:22: error: expected pointer, found 'i32' diff --git a/test/compile_errors/stage1/obj/normal_string_with_newline.zig b/test/compile_errors/stage1/obj/normal_string_with_newline.zig index dafc041744..f6c1d1b1b9 100644 --- a/test/compile_errors/stage1/obj/normal_string_with_newline.zig +++ b/test/compile_errors/stage1/obj/normal_string_with_newline.zig @@ -1,7 +1,9 @@ const foo = "a b"; -// normal string with newline +// error +// backend=stage1 +// target=native // // tmp.zig:1:13: error: expected expression, found 'invalid bytes' // tmp.zig:1:15: note: invalid byte: '\n' diff --git a/test/compile_errors/stage1/obj/offsetOf-bad_field_name.zig b/test/compile_errors/stage1/obj/offsetOf-bad_field_name.zig index 3b301e2677..de5b82c22c 100644 --- a/test/compile_errors/stage1/obj/offsetOf-bad_field_name.zig +++ b/test/compile_errors/stage1/obj/offsetOf-bad_field_name.zig @@ -5,6 +5,8 @@ export fn foo() usize { return @offsetOf(Foo, "a",); } -// @offsetOf - bad field name +// error +// backend=stage1 +// target=native // // tmp.zig:5:27: error: struct 'Foo' has no field 'a' diff --git a/test/compile_errors/stage1/obj/offsetOf-non_struct.zig b/test/compile_errors/stage1/obj/offsetOf-non_struct.zig index 173119407a..15275b827b 100644 --- a/test/compile_errors/stage1/obj/offsetOf-non_struct.zig +++ b/test/compile_errors/stage1/obj/offsetOf-non_struct.zig @@ -3,6 +3,8 @@ export fn foo() usize { return @offsetOf(Foo, "a",); } -// @offsetOf - non struct +// error +// backend=stage1 +// target=native // // tmp.zig:3:22: error: expected struct type, found 'i32' diff --git a/test/compile_errors/stage1/obj/only_equality_binary_operator_allowed_for_error_sets.zig b/test/compile_errors/stage1/obj/only_equality_binary_operator_allowed_for_error_sets.zig index 58512ef2a6..ff9c4d18a2 100644 --- a/test/compile_errors/stage1/obj/only_equality_binary_operator_allowed_for_error_sets.zig +++ b/test/compile_errors/stage1/obj/only_equality_binary_operator_allowed_for_error_sets.zig @@ -3,6 +3,8 @@ comptime { _ = z; } -// only equality binary operator allowed for error sets +// error +// backend=stage1 +// target=native // // tmp.zig:2:23: error: operator not allowed for errors diff --git a/test/compile_errors/stage1/obj/opaque_type_with_field.zig b/test/compile_errors/stage1/obj/opaque_type_with_field.zig index 748d5c0736..0b87091de9 100644 --- a/test/compile_errors/stage1/obj/opaque_type_with_field.zig +++ b/test/compile_errors/stage1/obj/opaque_type_with_field.zig @@ -4,6 +4,8 @@ export fn entry() void { _ = foo; } -// opaque type with field +// error +// backend=stage1 +// target=native // // tmp.zig:1:25: error: opaque types cannot have fields diff --git a/test/compile_errors/stage1/obj/optional_pointer_to_void_in_extern_struct.zig b/test/compile_errors/stage1/obj/optional_pointer_to_void_in_extern_struct.zig index f4ebb577d9..552f672ad6 100644 --- a/test/compile_errors/stage1/obj/optional_pointer_to_void_in_extern_struct.zig +++ b/test/compile_errors/stage1/obj/optional_pointer_to_void_in_extern_struct.zig @@ -7,6 +7,8 @@ const Bar = extern struct { }; export fn entry(bar: *Bar) void {_ = bar;} -// optional pointer to void in extern struct +// error +// backend=stage1 +// target=native // // tmp.zig:2:5: error: extern structs cannot contain fields of type '?*const void' diff --git a/test/compile_errors/stage1/obj/or_on_undefined_value.zig b/test/compile_errors/stage1/obj/or_on_undefined_value.zig index ac636bff9e..11e6c41dea 100644 --- a/test/compile_errors/stage1/obj/or_on_undefined_value.zig +++ b/test/compile_errors/stage1/obj/or_on_undefined_value.zig @@ -3,6 +3,8 @@ comptime { _ = a or a; } -// or on undefined value +// error +// backend=stage1 +// target=native // // tmp.zig:3:9: error: use of undefined value here causes undefined behavior diff --git a/test/compile_errors/stage1/obj/orelse_on_undefined_value.zig b/test/compile_errors/stage1/obj/orelse_on_undefined_value.zig index 28e7c4b425..3042c208eb 100644 --- a/test/compile_errors/stage1/obj/orelse_on_undefined_value.zig +++ b/test/compile_errors/stage1/obj/orelse_on_undefined_value.zig @@ -3,6 +3,8 @@ comptime { _ = a orelse false; } -// orelse on undefined value +// error +// backend=stage1 +// target=native // // tmp.zig:3:11: error: use of undefined value here causes undefined behavior diff --git a/test/compile_errors/stage1/obj/out_of_range_comptime_int_passed_to_floatToInt.zig b/test/compile_errors/stage1/obj/out_of_range_comptime_int_passed_to_floatToInt.zig index 581bb58ffd..1a1dd541c9 100644 --- a/test/compile_errors/stage1/obj/out_of_range_comptime_int_passed_to_floatToInt.zig +++ b/test/compile_errors/stage1/obj/out_of_range_comptime_int_passed_to_floatToInt.zig @@ -3,6 +3,8 @@ export fn entry() void { _ = x; } -// out of range comptime_int passed to @floatToInt +// error +// backend=stage1 +// target=native // // tmp.zig:2:31: error: integer value 200 cannot be coerced to type 'i8' diff --git a/test/compile_errors/stage1/obj/overflow_in_enum_value_allocation.zig b/test/compile_errors/stage1/obj/overflow_in_enum_value_allocation.zig index 5c737e06a2..c5dc5c1dcf 100644 --- a/test/compile_errors/stage1/obj/overflow_in_enum_value_allocation.zig +++ b/test/compile_errors/stage1/obj/overflow_in_enum_value_allocation.zig @@ -7,6 +7,8 @@ pub fn main() void { _ = y; } -// overflow in enum value allocation +// error +// backend=stage1 +// target=native // // tmp.zig:3:5: error: enumeration value 256 too large for type 'u8' diff --git a/test/compile_errors/stage1/obj/packed_union_given_enum_tag_type.zig b/test/compile_errors/stage1/obj/packed_union_given_enum_tag_type.zig index f0bc445295..fceb7af65c 100644 --- a/test/compile_errors/stage1/obj/packed_union_given_enum_tag_type.zig +++ b/test/compile_errors/stage1/obj/packed_union_given_enum_tag_type.zig @@ -13,6 +13,8 @@ export fn entry() void { _ = a; } -// packed union given enum tag type +// error +// backend=stage1 +// target=native // // tmp.zig:6:30: error: packed union does not support enum tag type diff --git a/test/compile_errors/stage1/obj/packed_union_with_automatic_layout_field.zig b/test/compile_errors/stage1/obj/packed_union_with_automatic_layout_field.zig index 4450531a5b..99ad6ca306 100644 --- a/test/compile_errors/stage1/obj/packed_union_with_automatic_layout_field.zig +++ b/test/compile_errors/stage1/obj/packed_union_with_automatic_layout_field.zig @@ -11,6 +11,8 @@ export fn entry() void { _ = a; } -// packed union with automatic layout field +// error +// backend=stage1 +// target=native // // tmp.zig:6:5: error: non-packed, non-extern struct 'Foo' not allowed in packed union; no guaranteed in-memory representation diff --git a/test/compile_errors/stage1/obj/panic_called_at_compile_time.zig b/test/compile_errors/stage1/obj/panic_called_at_compile_time.zig index 6dd32cdf59..7c16932913 100644 --- a/test/compile_errors/stage1/obj/panic_called_at_compile_time.zig +++ b/test/compile_errors/stage1/obj/panic_called_at_compile_time.zig @@ -4,6 +4,8 @@ export fn entry() void { } } -// @panic called at compile time +// error +// backend=stage1 +// target=native // // tmp.zig:3:9: error: encountered @panic at compile-time diff --git a/test/compile_errors/stage1/obj/parameter_redeclaration.zig b/test/compile_errors/stage1/obj/parameter_redeclaration.zig index 01fc507afc..528eee8374 100644 --- a/test/compile_errors/stage1/obj/parameter_redeclaration.zig +++ b/test/compile_errors/stage1/obj/parameter_redeclaration.zig @@ -2,7 +2,9 @@ fn f(a : i32, a : i32) void { } export fn entry() void { f(1, 2); } -// parameter redeclaration +// error +// backend=stage1 +// target=native // // tmp.zig:1:15: error: redeclaration of function parameter 'a' // tmp.zig:1:6: note: previous declaration here diff --git a/test/compile_errors/stage1/obj/parameter_shadowing_global.zig b/test/compile_errors/stage1/obj/parameter_shadowing_global.zig index a58a0b93ce..ce417d7188 100644 --- a/test/compile_errors/stage1/obj/parameter_shadowing_global.zig +++ b/test/compile_errors/stage1/obj/parameter_shadowing_global.zig @@ -4,7 +4,9 @@ export fn entry() void { f(1234); } -// parameter shadowing global +// error +// backend=stage1 +// target=native // // tmp.zig:2:6: error: local shadows declaration of 'Foo' // tmp.zig:1:1: note: declared here diff --git a/test/compile_errors/stage1/obj/pass_const_ptr_to_mutable_ptr_fn.zig b/test/compile_errors/stage1/obj/pass_const_ptr_to_mutable_ptr_fn.zig index ff0057bb48..3209bb7321 100644 --- a/test/compile_errors/stage1/obj/pass_const_ptr_to_mutable_ptr_fn.zig +++ b/test/compile_errors/stage1/obj/pass_const_ptr_to_mutable_ptr_fn.zig @@ -10,6 +10,8 @@ fn ptrEql(a: *[]const u8, b: *[]const u8) bool { export fn entry() usize { return @sizeOf(@TypeOf(foo)); } -// pass const ptr to mutable ptr fn +// error +// backend=stage1 +// target=native // // tmp.zig:4:19: error: expected type '*[]const u8', found '*const []const u8' diff --git a/test/compile_errors/stage1/obj/passing_a_not-aligned-enough_pointer_to_cmpxchg.zig b/test/compile_errors/stage1/obj/passing_a_not-aligned-enough_pointer_to_cmpxchg.zig index 40564998b7..c1725f1ee8 100644 --- a/test/compile_errors/stage1/obj/passing_a_not-aligned-enough_pointer_to_cmpxchg.zig +++ b/test/compile_errors/stage1/obj/passing_a_not-aligned-enough_pointer_to_cmpxchg.zig @@ -5,6 +5,8 @@ export fn entry() bool { return x == 5678; } -// passing a not-aligned-enough pointer to cmpxchg +// error +// backend=stage1 +// target=native // // tmp.zig:4:32: error: expected type '*i32', found '*align(1) i32' diff --git a/test/compile_errors/stage1/obj/passing_an_under-aligned_function_pointer.zig b/test/compile_errors/stage1/obj/passing_an_under-aligned_function_pointer.zig index f6c0e52cc0..d67bd42a72 100644 --- a/test/compile_errors/stage1/obj/passing_an_under-aligned_function_pointer.zig +++ b/test/compile_errors/stage1/obj/passing_an_under-aligned_function_pointer.zig @@ -6,6 +6,8 @@ fn testImplicitlyDecreaseFnAlign(ptr: fn () align(8) i32, answer: i32) void { } fn alignedSmall() align(4) i32 { return 1234; } -// passing an under-aligned function pointer +// error +// backend=stage1 +// target=native // // tmp.zig:2:35: error: expected type 'fn() align(8) i32', found 'fn() align(4) i32' diff --git a/test/compile_errors/stage1/obj/peer_cast_then_implicit_cast_const_pointer_to_mutable_C_pointer.zig b/test/compile_errors/stage1/obj/peer_cast_then_implicit_cast_const_pointer_to_mutable_C_pointer.zig index 78f072c0d0..7d18e760c3 100644 --- a/test/compile_errors/stage1/obj/peer_cast_then_implicit_cast_const_pointer_to_mutable_C_pointer.zig +++ b/test/compile_errors/stage1/obj/peer_cast_then_implicit_cast_const_pointer_to_mutable_C_pointer.zig @@ -3,7 +3,9 @@ export fn func() void { strValue = strValue orelse ""; } -// peer cast then implicit cast const pointer to mutable C pointer +// error +// backend=stage1 +// target=native // // tmp.zig:3:32: error: expected type '[*c]u8', found '*const [0:0]u8' // tmp.zig:3:32: note: cast discards const qualifier diff --git a/test/compile_errors/stage1/obj/pointer_arithmetic_on_pointer-to-array.zig b/test/compile_errors/stage1/obj/pointer_arithmetic_on_pointer-to-array.zig index b293ae2b32..6542aa6968 100644 --- a/test/compile_errors/stage1/obj/pointer_arithmetic_on_pointer-to-array.zig +++ b/test/compile_errors/stage1/obj/pointer_arithmetic_on_pointer-to-array.zig @@ -5,6 +5,8 @@ export fn foo() void { _ = z; } -// pointer arithmetic on pointer-to-array +// error +// backend=stage1 +// target=native // // tmp.zig:4:17: error: integer value 1 cannot be coerced to type '*[10]u8' diff --git a/test/compile_errors/stage1/obj/pointer_attributes_checked_when_coercing_pointer_to_anon_literal.zig b/test/compile_errors/stage1/obj/pointer_attributes_checked_when_coercing_pointer_to_anon_literal.zig index 079844ac7f..8456c8afcb 100644 --- a/test/compile_errors/stage1/obj/pointer_attributes_checked_when_coercing_pointer_to_anon_literal.zig +++ b/test/compile_errors/stage1/obj/pointer_attributes_checked_when_coercing_pointer_to_anon_literal.zig @@ -12,7 +12,9 @@ comptime { _ = c; } -// pointer attributes checked when coercing pointer to anon literal +// error +// backend=stage1 +// target=native // // tmp.zig:2:31: error: cannot cast pointer to array literal to slice type '[][]const u8' // tmp.zig:2:31: note: cast discards const qualifier diff --git a/test/compile_errors/stage1/obj/pointer_to_noreturn.zig b/test/compile_errors/stage1/obj/pointer_to_noreturn.zig index 3b945919fc..5afcaacaad 100644 --- a/test/compile_errors/stage1/obj/pointer_to_noreturn.zig +++ b/test/compile_errors/stage1/obj/pointer_to_noreturn.zig @@ -1,6 +1,8 @@ fn a() *noreturn {} export fn entry() void { _ = a(); } -// pointer to noreturn +// error +// backend=stage1 +// target=native // // tmp.zig:1:9: error: pointer to noreturn not allowed diff --git a/test/compile_errors/stage1/obj/popCount-non-integer.zig b/test/compile_errors/stage1/obj/popCount-non-integer.zig index 694b794927..a58a98faa3 100644 --- a/test/compile_errors/stage1/obj/popCount-non-integer.zig +++ b/test/compile_errors/stage1/obj/popCount-non-integer.zig @@ -2,6 +2,8 @@ export fn entry(x: f32) u32 { return @popCount(f32, x); } -// @popCount - non-integer +// error +// backend=stage1 +// target=native // // tmp.zig:2:22: error: expected integer type, found 'f32' diff --git a/test/compile_errors/stage1/obj/prevent_bad_implicit_casting_of_anyframe_types.zig b/test/compile_errors/stage1/obj/prevent_bad_implicit_casting_of_anyframe_types.zig index 14bdb9cb11..2e21d45c12 100644 --- a/test/compile_errors/stage1/obj/prevent_bad_implicit_casting_of_anyframe_types.zig +++ b/test/compile_errors/stage1/obj/prevent_bad_implicit_casting_of_anyframe_types.zig @@ -15,7 +15,9 @@ export fn c() void { } fn func() void {} -// prevent bad implicit casting of anyframe types +// error +// backend=stage1 +// target=native // // tmp.zig:3:28: error: expected type 'anyframe->i32', found 'anyframe' // tmp.zig:8:28: error: expected type 'anyframe->i32', found 'i32' diff --git a/test/compile_errors/stage1/obj/primitives_take_precedence_over_declarations.zig b/test/compile_errors/stage1/obj/primitives_take_precedence_over_declarations.zig index 3517c07917..6f6107e88c 100644 --- a/test/compile_errors/stage1/obj/primitives_take_precedence_over_declarations.zig +++ b/test/compile_errors/stage1/obj/primitives_take_precedence_over_declarations.zig @@ -4,6 +4,8 @@ export fn entry() void { _ = a; } -// primitives take precedence over declarations +// error +// backend=stage1 +// target=native // // tmp.zig:3:19: error: integer value 300 cannot be coerced to type 'u8' diff --git a/test/compile_errors/stage1/obj/ptrCast_a_0_bit_type_to_a_non-_0_bit_type.zig b/test/compile_errors/stage1/obj/ptrCast_a_0_bit_type_to_a_non-_0_bit_type.zig index 63d0656f21..2fc30d4a32 100644 --- a/test/compile_errors/stage1/obj/ptrCast_a_0_bit_type_to_a_non-_0_bit_type.zig +++ b/test/compile_errors/stage1/obj/ptrCast_a_0_bit_type_to_a_non-_0_bit_type.zig @@ -4,7 +4,9 @@ export fn entry() bool { return p == null; } -// @ptrCast a 0 bit type to a non- 0 bit type +// error +// backend=stage1 +// target=native // // tmp.zig:3:15: error: '*u0' and '?*u0' do not have the same in-memory representation // tmp.zig:3:31: note: '*u0' has no in-memory bits diff --git a/test/compile_errors/stage1/obj/ptrCast_discards_const_qualifier.zig b/test/compile_errors/stage1/obj/ptrCast_discards_const_qualifier.zig index 1517fd4bd8..1a90ff73f8 100644 --- a/test/compile_errors/stage1/obj/ptrCast_discards_const_qualifier.zig +++ b/test/compile_errors/stage1/obj/ptrCast_discards_const_qualifier.zig @@ -4,6 +4,8 @@ export fn entry() void { _ = y; } -// @ptrCast discards const qualifier +// error +// backend=stage1 +// target=native // // tmp.zig:3:15: error: cast discards const qualifier diff --git a/test/compile_errors/stage1/obj/ptrToInt_0_to_non_optional_pointer.zig b/test/compile_errors/stage1/obj/ptrToInt_0_to_non_optional_pointer.zig index fde1e53c1a..b8a5d1b0aa 100644 --- a/test/compile_errors/stage1/obj/ptrToInt_0_to_non_optional_pointer.zig +++ b/test/compile_errors/stage1/obj/ptrToInt_0_to_non_optional_pointer.zig @@ -3,6 +3,8 @@ export fn entry() void { _ = b; } -// @ptrToInt 0 to non optional pointer +// error +// backend=stage1 +// target=native // // tmp.zig:2:13: error: pointer type '*i32' does not allow address zero diff --git a/test/compile_errors/stage1/obj/ptrToInt_on_void.zig b/test/compile_errors/stage1/obj/ptrToInt_on_void.zig index fd43053103..5012be65e0 100644 --- a/test/compile_errors/stage1/obj/ptrToInt_on_void.zig +++ b/test/compile_errors/stage1/obj/ptrToInt_on_void.zig @@ -2,6 +2,8 @@ export fn entry() bool { return @ptrToInt(&{}) == @ptrToInt(&{}); } -// @ptrToInt on *void +// error +// backend=stage1 +// target=native // // tmp.zig:2:23: error: pointer to size 0 type has no address diff --git a/test/compile_errors/stage1/obj/ptrcast_to_non-pointer.zig b/test/compile_errors/stage1/obj/ptrcast_to_non-pointer.zig index 74894d5e8a..7e9e9a99b7 100644 --- a/test/compile_errors/stage1/obj/ptrcast_to_non-pointer.zig +++ b/test/compile_errors/stage1/obj/ptrcast_to_non-pointer.zig @@ -2,6 +2,8 @@ export fn entry(a: *i32) usize { return @ptrCast(usize, a); } -// ptrcast to non-pointer +// error +// backend=stage1 +// target=native // // tmp.zig:2:21: error: expected pointer, found 'usize' diff --git a/test/compile_errors/stage1/obj/range_operator_in_switch_used_on_error_set.zig b/test/compile_errors/stage1/obj/range_operator_in_switch_used_on_error_set.zig index 4f2949c50c..8108f42979 100644 --- a/test/compile_errors/stage1/obj/range_operator_in_switch_used_on_error_set.zig +++ b/test/compile_errors/stage1/obj/range_operator_in_switch_used_on_error_set.zig @@ -12,6 +12,8 @@ fn foo(x: i32) !void { } } -// range operator in switch used on error set +// error +// backend=stage1 +// target=native // // tmp.zig:3:17: error: operator not allowed for errors diff --git a/test/compile_errors/stage1/obj/reading_past_end_of_pointer_casted_array.zig b/test/compile_errors/stage1/obj/reading_past_end_of_pointer_casted_array.zig index 558797d69b..cece3345c3 100644 --- a/test/compile_errors/stage1/obj/reading_past_end_of_pointer_casted_array.zig +++ b/test/compile_errors/stage1/obj/reading_past_end_of_pointer_casted_array.zig @@ -6,6 +6,8 @@ comptime { _ = deref; } -// reading past end of pointer casted array +// error +// backend=stage1 +// target=native // // tmp.zig:5:26: error: attempt to read 4 bytes from [4]u8 at index 1 which is 3 bytes diff --git a/test/compile_errors/stage1/obj/recursive_inferred_error_set.zig b/test/compile_errors/stage1/obj/recursive_inferred_error_set.zig index 8059833923..89a2a54cfa 100644 --- a/test/compile_errors/stage1/obj/recursive_inferred_error_set.zig +++ b/test/compile_errors/stage1/obj/recursive_inferred_error_set.zig @@ -5,6 +5,8 @@ fn foo() !void { try foo(); } -// recursive inferred error set +// error +// backend=stage1 +// target=native // // tmp.zig:5:5: error: cannot resolve inferred error set '@typeInfo(@typeInfo(@TypeOf(foo)).Fn.return_type.?).ErrorUnion.error_set': function 'foo' not fully analyzed yet diff --git a/test/compile_errors/stage1/obj/redefinition_of_enums.zig b/test/compile_errors/stage1/obj/redefinition_of_enums.zig index b4033536c3..a95eb88935 100644 --- a/test/compile_errors/stage1/obj/redefinition_of_enums.zig +++ b/test/compile_errors/stage1/obj/redefinition_of_enums.zig @@ -1,7 +1,9 @@ const A = enum {x}; const A = enum {x}; -// redefinition of enums +// error +// backend=stage1 +// target=native // // tmp.zig:2:1: error: redeclaration of 'A' // tmp.zig:1:1: note: other declaration here diff --git a/test/compile_errors/stage1/obj/redefinition_of_global_variables.zig b/test/compile_errors/stage1/obj/redefinition_of_global_variables.zig index b2267423b0..3651946ffe 100644 --- a/test/compile_errors/stage1/obj/redefinition_of_global_variables.zig +++ b/test/compile_errors/stage1/obj/redefinition_of_global_variables.zig @@ -1,7 +1,9 @@ var a : i32 = 1; var a : i32 = 2; -// redefinition of global variables +// error +// backend=stage1 +// target=native // // tmp.zig:2:1: error: redeclaration of 'a' // tmp.zig:1:1: note: other declaration here diff --git a/test/compile_errors/stage1/obj/redefinition_of_struct.zig b/test/compile_errors/stage1/obj/redefinition_of_struct.zig index 8c169356c9..8367a05e43 100644 --- a/test/compile_errors/stage1/obj/redefinition_of_struct.zig +++ b/test/compile_errors/stage1/obj/redefinition_of_struct.zig @@ -1,7 +1,9 @@ const A = struct { x : i32, }; const A = struct { y : i32, }; -// redefinition of struct +// error +// backend=stage1 +// target=native // // tmp.zig:2:1: error: redeclaration of 'A' // tmp.zig:1:1: note: other declaration here diff --git a/test/compile_errors/stage1/obj/refer_to_the_type_of_a_generic_function.zig b/test/compile_errors/stage1/obj/refer_to_the_type_of_a_generic_function.zig index 6e23854cd6..99ab1da8a3 100644 --- a/test/compile_errors/stage1/obj/refer_to_the_type_of_a_generic_function.zig +++ b/test/compile_errors/stage1/obj/refer_to_the_type_of_a_generic_function.zig @@ -4,6 +4,8 @@ export fn entry() void { f(i32); } -// refer to the type of a generic function +// error +// backend=stage1 +// target=native // // tmp.zig:4:5: error: use of undefined value here causes undefined behavior diff --git a/test/compile_errors/stage1/obj/referring_to_a_struct_that_is_invalid.zig b/test/compile_errors/stage1/obj/referring_to_a_struct_that_is_invalid.zig index 5f646461d8..433650cddb 100644 --- a/test/compile_errors/stage1/obj/referring_to_a_struct_that_is_invalid.zig +++ b/test/compile_errors/stage1/obj/referring_to_a_struct_that_is_invalid.zig @@ -10,6 +10,8 @@ fn assert(ok: bool) void { if (!ok) unreachable; } -// referring to a struct that is invalid +// error +// backend=stage1 +// target=native // // tmp.zig:10:14: error: reached unreachable code diff --git a/test/compile_errors/stage1/obj/regression_test_2980_base_type_u32_is_not_type_checked_properly_when_assigning_a_value_within_a_struct.zig b/test/compile_errors/stage1/obj/regression_test_2980_base_type_u32_is_not_type_checked_properly_when_assigning_a_value_within_a_struct.zig index a714b10ef6..8be44fbe05 100644 --- a/test/compile_errors/stage1/obj/regression_test_2980_base_type_u32_is_not_type_checked_properly_when_assigning_a_value_within_a_struct.zig +++ b/test/compile_errors/stage1/obj/regression_test_2980_base_type_u32_is_not_type_checked_properly_when_assigning_a_value_within_a_struct.zig @@ -14,6 +14,8 @@ export fn entry() void { _ = afoo; } -// regression test #2980: base type u32 is not type checked properly when assigning a value within a struct +// error +// backend=stage1 +// target=native // // tmp.zig:12:25: error: cannot convert error union to payload type. consider using `try`, `catch`, or `if`. expected type 'u32', found '@typeInfo(@typeInfo(@TypeOf(get_uval)).Fn.return_type.?).ErrorUnion.error_set!u32' diff --git a/test/compile_errors/stage1/obj/reify_type.Fn_with_is_generic_true.zig b/test/compile_errors/stage1/obj/reify_type.Fn_with_is_generic_true.zig index ed33158649..f2849b5eb4 100644 --- a/test/compile_errors/stage1/obj/reify_type.Fn_with_is_generic_true.zig +++ b/test/compile_errors/stage1/obj/reify_type.Fn_with_is_generic_true.zig @@ -10,6 +10,8 @@ const Foo = @Type(.{ }); comptime { _ = Foo; } -// @Type(.Fn) with is_generic = true +// error +// backend=stage1 +// target=native // // tmp.zig:1:20: error: Type.Fn.is_generic must be false for @Type diff --git a/test/compile_errors/stage1/obj/reify_type.Fn_with_is_var_args_true_and_non-C_callconv.zig b/test/compile_errors/stage1/obj/reify_type.Fn_with_is_var_args_true_and_non-C_callconv.zig index a57484075f..4d449e9eb9 100644 --- a/test/compile_errors/stage1/obj/reify_type.Fn_with_is_var_args_true_and_non-C_callconv.zig +++ b/test/compile_errors/stage1/obj/reify_type.Fn_with_is_var_args_true_and_non-C_callconv.zig @@ -10,6 +10,8 @@ const Foo = @Type(.{ }); comptime { _ = Foo; } -// @Type(.Fn) with is_var_args = true and non-C callconv +// error +// backend=stage1 +// target=native // // tmp.zig:1:20: error: varargs functions must have C calling convention diff --git a/test/compile_errors/stage1/obj/reify_type.Fn_with_return_type_null.zig b/test/compile_errors/stage1/obj/reify_type.Fn_with_return_type_null.zig index f8ddea52cf..98cbc37d41 100644 --- a/test/compile_errors/stage1/obj/reify_type.Fn_with_return_type_null.zig +++ b/test/compile_errors/stage1/obj/reify_type.Fn_with_return_type_null.zig @@ -10,6 +10,8 @@ const Foo = @Type(.{ }); comptime { _ = Foo; } -// @Type(.Fn) with return_type = null +// error +// backend=stage1 +// target=native // // tmp.zig:1:20: error: Type.Fn.return_type must be non-null for @Type diff --git a/test/compile_errors/stage1/obj/reify_type.Pointer_with_invalid_address_space.zig b/test/compile_errors/stage1/obj/reify_type.Pointer_with_invalid_address_space.zig index 78160fae58..1ca97ce250 100644 --- a/test/compile_errors/stage1/obj/reify_type.Pointer_with_invalid_address_space.zig +++ b/test/compile_errors/stage1/obj/reify_type.Pointer_with_invalid_address_space.zig @@ -11,6 +11,8 @@ export fn entry() void { }}); } -// @Type(.Pointer) with invalid address space +// error +// backend=stage1 +// target=native // // tmp.zig:2:16: error: address space 'gs' not available in stage 1 compiler, must be .generic diff --git a/test/compile_errors/stage1/obj/reify_type_for_exhaustive_enum_with_non-integer_tag_type.zig b/test/compile_errors/stage1/obj/reify_type_for_exhaustive_enum_with_non-integer_tag_type.zig index e77c2eb627..56d05578be 100644 --- a/test/compile_errors/stage1/obj/reify_type_for_exhaustive_enum_with_non-integer_tag_type.zig +++ b/test/compile_errors/stage1/obj/reify_type_for_exhaustive_enum_with_non-integer_tag_type.zig @@ -11,6 +11,8 @@ export fn entry() void { _ = @intToEnum(Tag, 0); } -// @Type for exhaustive enum with non-integer tag type +// error +// backend=stage1 +// target=native // // tmp.zig:1:20: error: Type.Enum.tag_type must be an integer type, not 'bool' diff --git a/test/compile_errors/stage1/obj/reify_type_for_exhaustive_enum_with_undefined_tag_type.zig b/test/compile_errors/stage1/obj/reify_type_for_exhaustive_enum_with_undefined_tag_type.zig index 6a00516387..e6454d2ee5 100644 --- a/test/compile_errors/stage1/obj/reify_type_for_exhaustive_enum_with_undefined_tag_type.zig +++ b/test/compile_errors/stage1/obj/reify_type_for_exhaustive_enum_with_undefined_tag_type.zig @@ -11,6 +11,8 @@ export fn entry() void { _ = @intToEnum(Tag, 0); } -// @Type for exhaustive enum with undefined tag type +// error +// backend=stage1 +// target=native // // tmp.zig:1:20: error: use of undefined value here causes undefined behavior diff --git a/test/compile_errors/stage1/obj/reify_type_for_exhaustive_enum_with_zero_fields.zig b/test/compile_errors/stage1/obj/reify_type_for_exhaustive_enum_with_zero_fields.zig index 87689247aa..d3ce70c1b0 100644 --- a/test/compile_errors/stage1/obj/reify_type_for_exhaustive_enum_with_zero_fields.zig +++ b/test/compile_errors/stage1/obj/reify_type_for_exhaustive_enum_with_zero_fields.zig @@ -11,6 +11,8 @@ export fn entry() void { _ = @intToEnum(Tag, 0); } -// @Type for exhaustive enum with zero fields +// error +// backend=stage1 +// target=native // // tmp.zig:1:20: error: enums must have 1 or more fields diff --git a/test/compile_errors/stage1/obj/reify_type_for_tagged_union_with_extra_enum_field.zig b/test/compile_errors/stage1/obj/reify_type_for_tagged_union_with_extra_enum_field.zig index f9155d7161..0c56cb91ea 100644 --- a/test/compile_errors/stage1/obj/reify_type_for_tagged_union_with_extra_enum_field.zig +++ b/test/compile_errors/stage1/obj/reify_type_for_tagged_union_with_extra_enum_field.zig @@ -27,6 +27,8 @@ export fn entry() void { tagged = .{ .unsigned = 1 }; } -// @Type for tagged union with extra enum field +// error +// backend=stage1 +// target=native // // tmp.zig:14:23: error: enum field missing: 'arst' diff --git a/test/compile_errors/stage1/obj/reify_type_for_tagged_union_with_extra_union_field.zig b/test/compile_errors/stage1/obj/reify_type_for_tagged_union_with_extra_union_field.zig index 9cd82213df..63cf1f178e 100644 --- a/test/compile_errors/stage1/obj/reify_type_for_tagged_union_with_extra_union_field.zig +++ b/test/compile_errors/stage1/obj/reify_type_for_tagged_union_with_extra_union_field.zig @@ -27,7 +27,9 @@ export fn entry() void { tagged = .{ .unsigned = 1 }; } -// @Type for tagged union with extra union field +// error +// backend=stage1 +// target=native // // tmp.zig:13:23: error: enum field not found: 'arst' // tmp.zig:1:20: note: enum declared here diff --git a/test/compile_errors/stage1/obj/reify_type_for_union_with_opaque_field.zig b/test/compile_errors/stage1/obj/reify_type_for_union_with_opaque_field.zig index 374ccb544b..d3f4f6da4b 100644 --- a/test/compile_errors/stage1/obj/reify_type_for_union_with_opaque_field.zig +++ b/test/compile_errors/stage1/obj/reify_type_for_union_with_opaque_field.zig @@ -12,6 +12,8 @@ export fn entry() void { _ = Untagged{}; } -// @Type for union with opaque field +// error +// backend=stage1 +// target=native // // tmp.zig:1:25: error: opaque types have unknown size and therefore cannot be directly embedded in unions diff --git a/test/compile_errors/stage1/obj/reify_type_for_union_with_zero_fields.zig b/test/compile_errors/stage1/obj/reify_type_for_union_with_zero_fields.zig index 8243ff3292..578f902697 100644 --- a/test/compile_errors/stage1/obj/reify_type_for_union_with_zero_fields.zig +++ b/test/compile_errors/stage1/obj/reify_type_for_union_with_zero_fields.zig @@ -10,6 +10,8 @@ export fn entry() void { _ = Untagged{}; } -// @Type for union with zero fields +// error +// backend=stage1 +// target=native // // tmp.zig:1:25: error: unions must have 1 or more fields diff --git a/test/compile_errors/stage1/obj/reify_type_union_payload_is_undefined.zig b/test/compile_errors/stage1/obj/reify_type_union_payload_is_undefined.zig index 43261dc32f..47be31c711 100644 --- a/test/compile_errors/stage1/obj/reify_type_union_payload_is_undefined.zig +++ b/test/compile_errors/stage1/obj/reify_type_union_payload_is_undefined.zig @@ -3,6 +3,8 @@ const Foo = @Type(.{ }); comptime { _ = Foo; } -// @Type() union payload is undefined +// error +// backend=stage1 +// target=native // // tmp.zig:1:20: error: use of undefined value here causes undefined behavior diff --git a/test/compile_errors/stage1/obj/reify_type_with_Type.Int.zig b/test/compile_errors/stage1/obj/reify_type_with_Type.Int.zig index cea09d3f19..116bd86e0f 100644 --- a/test/compile_errors/stage1/obj/reify_type_with_Type.Int.zig +++ b/test/compile_errors/stage1/obj/reify_type_with_Type.Int.zig @@ -6,6 +6,8 @@ export fn entry() void { }); } -// @Type with Type.Int +// error +// backend=stage1 +// target=native // // tmp.zig:3:31: error: expected type 'std.builtin.Type', found 'std.builtin.Type.Int' diff --git a/test/compile_errors/stage1/obj/reify_type_with_non-constant_expression.zig b/test/compile_errors/stage1/obj/reify_type_with_non-constant_expression.zig index a58b2a6b33..7eec6b395a 100644 --- a/test/compile_errors/stage1/obj/reify_type_with_non-constant_expression.zig +++ b/test/compile_errors/stage1/obj/reify_type_with_non-constant_expression.zig @@ -4,6 +4,8 @@ export fn entry() void { _ = @Type(globalTypeInfo); } -// @Type with non-constant expression +// error +// backend=stage1 +// target=native // // tmp.zig:4:15: error: unable to evaluate constant expression diff --git a/test/compile_errors/stage1/obj/reify_type_with_undefined.zig b/test/compile_errors/stage1/obj/reify_type_with_undefined.zig index 984c9ac555..1de93ccdf6 100644 --- a/test/compile_errors/stage1/obj/reify_type_with_undefined.zig +++ b/test/compile_errors/stage1/obj/reify_type_with_undefined.zig @@ -12,7 +12,9 @@ comptime { }); } -// @Type with undefined +// error +// backend=stage1 +// target=native // // tmp.zig:2:16: error: use of undefined value here causes undefined behavior // tmp.zig:5:16: error: use of undefined value here causes undefined behavior diff --git a/test/compile_errors/stage1/obj/result_location_incompatibility_mismatching_handle_is_ptr.zig b/test/compile_errors/stage1/obj/result_location_incompatibility_mismatching_handle_is_ptr.zig index a45fd9f41a..18dd6382fc 100644 --- a/test/compile_errors/stage1/obj/result_location_incompatibility_mismatching_handle_is_ptr.zig +++ b/test/compile_errors/stage1/obj/result_location_incompatibility_mismatching_handle_is_ptr.zig @@ -11,6 +11,8 @@ pub const Container = struct { not_optional: i32, }; -// result location incompatibility mismatching handle_is_ptr +// error +// backend=stage1 +// target=native // // tmp.zig:3:36: error: cannot convert optional to payload type. consider using `.?`, `orelse`, or `if`. expected type 'i32', found '?i32' diff --git a/test/compile_errors/stage1/obj/result_location_incompatibility_mismatching_handle_is_ptr_generic_call.zig b/test/compile_errors/stage1/obj/result_location_incompatibility_mismatching_handle_is_ptr_generic_call.zig index 8b913bd15c..75811c58e1 100644 --- a/test/compile_errors/stage1/obj/result_location_incompatibility_mismatching_handle_is_ptr_generic_call.zig +++ b/test/compile_errors/stage1/obj/result_location_incompatibility_mismatching_handle_is_ptr_generic_call.zig @@ -11,6 +11,8 @@ pub const Container = struct { not_optional: i32, }; -// result location incompatibility mismatching handle_is_ptr (generic call) +// error +// backend=stage1 +// target=native // // tmp.zig:3:36: error: cannot convert optional to payload type. consider using `.?`, `orelse`, or `if`. expected type 'i32', found '?i32' diff --git a/test/compile_errors/stage1/obj/return_from_defer_expression.zig b/test/compile_errors/stage1/obj/return_from_defer_expression.zig index 0f4ac8e071..cbe9542176 100644 --- a/test/compile_errors/stage1/obj/return_from_defer_expression.zig +++ b/test/compile_errors/stage1/obj/return_from_defer_expression.zig @@ -14,6 +14,8 @@ pub fn maybeInt() ?i32 { export fn entry() usize { return @sizeOf(@TypeOf(testTrickyDefer)); } -// return from defer expression +// error +// backend=stage1 +// target=native // // tmp.zig:4:11: error: 'try' not allowed inside defer expression diff --git a/test/compile_errors/stage1/obj/returning_error_from_void_async_function.zig b/test/compile_errors/stage1/obj/returning_error_from_void_async_function.zig index a00422dd12..691c89a347 100644 --- a/test/compile_errors/stage1/obj/returning_error_from_void_async_function.zig +++ b/test/compile_errors/stage1/obj/returning_error_from_void_async_function.zig @@ -5,6 +5,8 @@ fn amain() callconv(.Async) void { return error.ShouldBeCompileError; } -// returning error from void async function +// error +// backend=stage1 +// target=native // // tmp.zig:5:17: error: expected type 'void', found 'error{ShouldBeCompileError}' diff --git a/test/compile_errors/stage1/obj/runtime-known_async_function_called.zig b/test/compile_errors/stage1/obj/runtime-known_async_function_called.zig index 52afd83a11..90685ce566 100644 --- a/test/compile_errors/stage1/obj/runtime-known_async_function_called.zig +++ b/test/compile_errors/stage1/obj/runtime-known_async_function_called.zig @@ -7,6 +7,8 @@ fn amain() void { } fn afunc() callconv(.Async) void {} -// runtime-known async function called +// error +// backend=stage1 +// target=native // // tmp.zig:6:12: error: function is not comptime-known; @asyncCall required diff --git a/test/compile_errors/stage1/obj/runtime-known_function_called_with_async_keyword.zig b/test/compile_errors/stage1/obj/runtime-known_function_called_with_async_keyword.zig index 79f0420a83..c66d0f9cbb 100644 --- a/test/compile_errors/stage1/obj/runtime-known_function_called_with_async_keyword.zig +++ b/test/compile_errors/stage1/obj/runtime-known_function_called_with_async_keyword.zig @@ -5,6 +5,8 @@ export fn entry() void { fn afunc() callconv(.Async) void { } -// runtime-known function called with async keyword +// error +// backend=stage1 +// target=native // // tmp.zig:3:15: error: function is not comptime-known; @asyncCall required diff --git a/test/compile_errors/stage1/obj/runtime_assignment_to_comptime_struct_type.zig b/test/compile_errors/stage1/obj/runtime_assignment_to_comptime_struct_type.zig index f8a3fd3ba1..62b09673eb 100644 --- a/test/compile_errors/stage1/obj/runtime_assignment_to_comptime_struct_type.zig +++ b/test/compile_errors/stage1/obj/runtime_assignment_to_comptime_struct_type.zig @@ -8,6 +8,8 @@ export fn f() void { _ = foo; } -// runtime assignment to comptime struct type +// error +// backend=stage1 +// target=native // // tmp.zig:7:23: error: unable to evaluate constant expression diff --git a/test/compile_errors/stage1/obj/runtime_assignment_to_comptime_union_type.zig b/test/compile_errors/stage1/obj/runtime_assignment_to_comptime_union_type.zig index bc4f093b0d..af13f8b8ce 100644 --- a/test/compile_errors/stage1/obj/runtime_assignment_to_comptime_union_type.zig +++ b/test/compile_errors/stage1/obj/runtime_assignment_to_comptime_union_type.zig @@ -8,6 +8,8 @@ export fn f() void { _ = foo; } -// runtime assignment to comptime union type +// error +// backend=stage1 +// target=native // // tmp.zig:7:23: error: unable to evaluate constant expression diff --git a/test/compile_errors/stage1/obj/runtime_cast_to_union_which_has_non-void_fields.zig b/test/compile_errors/stage1/obj/runtime_cast_to_union_which_has_non-void_fields.zig index 8be361f2fe..d25c815c7e 100644 --- a/test/compile_errors/stage1/obj/runtime_cast_to_union_which_has_non-void_fields.zig +++ b/test/compile_errors/stage1/obj/runtime_cast_to_union_which_has_non-void_fields.zig @@ -12,7 +12,9 @@ fn foo(l: Letter) void { _ = x; } -// runtime cast to union which has non-void fields +// error +// backend=stage1 +// target=native // // tmp.zig:11:20: error: runtime cast to union 'Value' which has non-void fields // tmp.zig:3:5: note: field 'A' has type 'i32' diff --git a/test/compile_errors/stage1/obj/runtime_index_into_comptime_type_slice.zig b/test/compile_errors/stage1/obj/runtime_index_into_comptime_type_slice.zig index 4b9538c1a1..379767c7f3 100644 --- a/test/compile_errors/stage1/obj/runtime_index_into_comptime_type_slice.zig +++ b/test/compile_errors/stage1/obj/runtime_index_into_comptime_type_slice.zig @@ -10,6 +10,8 @@ export fn entry() void { _ = field; } -// runtime index into comptime type slice +// error +// backend=stage1 +// target=native // // tmp.zig:9:51: error: values of type 'std.builtin.Type.StructField' must be comptime known, but index value is runtime known diff --git a/test/compile_errors/stage1/obj/saturating_arithmetic_does_not_allow_floats.zig b/test/compile_errors/stage1/obj/saturating_arithmetic_does_not_allow_floats.zig index 57ee724e74..7bda134af6 100644 --- a/test/compile_errors/stage1/obj/saturating_arithmetic_does_not_allow_floats.zig +++ b/test/compile_errors/stage1/obj/saturating_arithmetic_does_not_allow_floats.zig @@ -2,6 +2,8 @@ export fn a() void { _ = @as(f32, 1.0) +| @as(f32, 1.0); } -// saturating arithmetic does not allow floats +// error +// backend=stage1 +// target=native // // error: invalid operands to binary expression: 'f32' and 'f32' diff --git a/test/compile_errors/stage1/obj/saturating_shl_assign_does_not_allow_negative_rhs_at_comptime.zig b/test/compile_errors/stage1/obj/saturating_shl_assign_does_not_allow_negative_rhs_at_comptime.zig index 9a46367ae5..7b94f8e832 100644 --- a/test/compile_errors/stage1/obj/saturating_shl_assign_does_not_allow_negative_rhs_at_comptime.zig +++ b/test/compile_errors/stage1/obj/saturating_shl_assign_does_not_allow_negative_rhs_at_comptime.zig @@ -5,6 +5,8 @@ export fn a() void { } } -// saturating shl assign does not allow negative rhs at comptime +// error +// backend=stage1 +// target=native // // error: shift by negative value -2 diff --git a/test/compile_errors/stage1/obj/saturating_shl_does_not_allow_negative_rhs_at_comptime.zig b/test/compile_errors/stage1/obj/saturating_shl_does_not_allow_negative_rhs_at_comptime.zig index ffe715a8e3..ac1ce7d3a0 100644 --- a/test/compile_errors/stage1/obj/saturating_shl_does_not_allow_negative_rhs_at_comptime.zig +++ b/test/compile_errors/stage1/obj/saturating_shl_does_not_allow_negative_rhs_at_comptime.zig @@ -2,6 +2,8 @@ export fn a() void { _ = @as(i32, 1) <<| @as(i32, -2); } -// saturating shl does not allow negative rhs at comptime +// error +// backend=stage1 +// target=native // // error: shift by negative value -2 diff --git a/test/compile_errors/stage1/obj/setAlignStack_in_inline_function.zig b/test/compile_errors/stage1/obj/setAlignStack_in_inline_function.zig index 9261ecdb18..8490298aa3 100644 --- a/test/compile_errors/stage1/obj/setAlignStack_in_inline_function.zig +++ b/test/compile_errors/stage1/obj/setAlignStack_in_inline_function.zig @@ -5,6 +5,8 @@ fn foo() callconv(.Inline) void { @setAlignStack(16); } -// @setAlignStack in inline function +// error +// backend=stage1 +// target=native // // tmp.zig:5:5: error: @setAlignStack in inline function diff --git a/test/compile_errors/stage1/obj/setAlignStack_in_naked_function.zig b/test/compile_errors/stage1/obj/setAlignStack_in_naked_function.zig index d7146625c5..b9adc84ed5 100644 --- a/test/compile_errors/stage1/obj/setAlignStack_in_naked_function.zig +++ b/test/compile_errors/stage1/obj/setAlignStack_in_naked_function.zig @@ -2,6 +2,8 @@ export fn entry() callconv(.Naked) void { @setAlignStack(16); } -// @setAlignStack in naked function +// error +// backend=stage1 +// target=native // // tmp.zig:2:5: error: @setAlignStack in naked function diff --git a/test/compile_errors/stage1/obj/setAlignStack_outside_function.zig b/test/compile_errors/stage1/obj/setAlignStack_outside_function.zig index c9ac12e6e0..754756012b 100644 --- a/test/compile_errors/stage1/obj/setAlignStack_outside_function.zig +++ b/test/compile_errors/stage1/obj/setAlignStack_outside_function.zig @@ -2,6 +2,8 @@ comptime { @setAlignStack(16); } -// @setAlignStack outside function +// error +// backend=stage1 +// target=native // // tmp.zig:2:5: error: @setAlignStack outside function diff --git a/test/compile_errors/stage1/obj/setAlignStack_set_twice.zig b/test/compile_errors/stage1/obj/setAlignStack_set_twice.zig index de8cde7c01..244db9d962 100644 --- a/test/compile_errors/stage1/obj/setAlignStack_set_twice.zig +++ b/test/compile_errors/stage1/obj/setAlignStack_set_twice.zig @@ -3,7 +3,9 @@ export fn entry() void { @setAlignStack(16); } -// @setAlignStack set twice +// error +// backend=stage1 +// target=native // // tmp.zig:3:5: error: alignstack set twice // tmp.zig:2:5: note: first set here diff --git a/test/compile_errors/stage1/obj/setAlignStack_too_big.zig b/test/compile_errors/stage1/obj/setAlignStack_too_big.zig index 669ec45204..601631e158 100644 --- a/test/compile_errors/stage1/obj/setAlignStack_too_big.zig +++ b/test/compile_errors/stage1/obj/setAlignStack_too_big.zig @@ -2,6 +2,8 @@ export fn entry() void { @setAlignStack(511 + 1); } -// @setAlignStack too big +// error +// backend=stage1 +// target=native // // tmp.zig:2:5: error: attempt to @setAlignStack(512); maximum is 256 diff --git a/test/compile_errors/stage1/obj/setFloatMode_twice_for_same_scope.zig b/test/compile_errors/stage1/obj/setFloatMode_twice_for_same_scope.zig index 3e55604030..41fe6d4d6c 100644 --- a/test/compile_errors/stage1/obj/setFloatMode_twice_for_same_scope.zig +++ b/test/compile_errors/stage1/obj/setFloatMode_twice_for_same_scope.zig @@ -3,7 +3,9 @@ export fn foo() void { @setFloatMode(@import("std").builtin.FloatMode.Optimized); } -// @setFloatMode twice for same scope +// error +// backend=stage1 +// target=native // // tmp.zig:3:5: error: float mode set twice for same scope // tmp.zig:2:5: note: first set here diff --git a/test/compile_errors/stage1/obj/setRuntimeSafety_twice_for_same_scope.zig b/test/compile_errors/stage1/obj/setRuntimeSafety_twice_for_same_scope.zig index 741a214cde..03a93b68d5 100644 --- a/test/compile_errors/stage1/obj/setRuntimeSafety_twice_for_same_scope.zig +++ b/test/compile_errors/stage1/obj/setRuntimeSafety_twice_for_same_scope.zig @@ -3,7 +3,9 @@ export fn foo() void { @setRuntimeSafety(false); } -// @setRuntimeSafety twice for same scope +// error +// backend=stage1 +// target=native // // tmp.zig:3:5: error: runtime safety set twice for same scope // tmp.zig:2:5: note: first set here diff --git a/test/compile_errors/stage1/obj/setting_a_section_on_a_local_variable.zig b/test/compile_errors/stage1/obj/setting_a_section_on_a_local_variable.zig index eb3df0e214..90d605dc40 100644 --- a/test/compile_errors/stage1/obj/setting_a_section_on_a_local_variable.zig +++ b/test/compile_errors/stage1/obj/setting_a_section_on_a_local_variable.zig @@ -3,6 +3,8 @@ export fn entry() i32 { return foo; } -// setting a section on a local variable +// error +// backend=stage1 +// target=native // // tmp.zig:2:30: error: cannot set section of local variable 'foo' diff --git a/test/compile_errors/stage1/obj/shift_amount_has_to_be_an_integer_type.zig b/test/compile_errors/stage1/obj/shift_amount_has_to_be_an_integer_type.zig index 6e54405619..53794dba1b 100644 --- a/test/compile_errors/stage1/obj/shift_amount_has_to_be_an_integer_type.zig +++ b/test/compile_errors/stage1/obj/shift_amount_has_to_be_an_integer_type.zig @@ -3,6 +3,8 @@ export fn entry() void { _ = x; } -// shift amount has to be an integer type +// error +// backend=stage1 +// target=native // // tmp.zig:2:21: error: shift amount has to be an integer type, but found '*const u8' diff --git a/test/compile_errors/stage1/obj/shift_by_negative_comptime_integer.zig b/test/compile_errors/stage1/obj/shift_by_negative_comptime_integer.zig index 41f0ff80aa..3425cf565e 100644 --- a/test/compile_errors/stage1/obj/shift_by_negative_comptime_integer.zig +++ b/test/compile_errors/stage1/obj/shift_by_negative_comptime_integer.zig @@ -3,6 +3,8 @@ comptime { _ = a; } -// shift by negative comptime integer +// error +// backend=stage1 +// target=native // // tmp.zig:2:18: error: shift by negative value -1 diff --git a/test/compile_errors/stage1/obj/shift_left_assign_on_undefined_value.zig b/test/compile_errors/stage1/obj/shift_left_assign_on_undefined_value.zig index a23d0e190c..575bf0ee6b 100644 --- a/test/compile_errors/stage1/obj/shift_left_assign_on_undefined_value.zig +++ b/test/compile_errors/stage1/obj/shift_left_assign_on_undefined_value.zig @@ -3,6 +3,8 @@ comptime { a >>= 2; } -// shift left assign on undefined value +// error +// backend=stage1 +// target=native // // tmp.zig:3:5: error: use of undefined value here causes undefined behavior diff --git a/test/compile_errors/stage1/obj/shift_left_on_undefined_value.zig b/test/compile_errors/stage1/obj/shift_left_on_undefined_value.zig index aa0891133b..abd06fbbab 100644 --- a/test/compile_errors/stage1/obj/shift_left_on_undefined_value.zig +++ b/test/compile_errors/stage1/obj/shift_left_on_undefined_value.zig @@ -3,6 +3,8 @@ comptime { _ = a << 2; } -// shift left on undefined value +// error +// backend=stage1 +// target=native // // tmp.zig:3:9: error: use of undefined value here causes undefined behavior diff --git a/test/compile_errors/stage1/obj/shift_right_assign_on_undefined_value.zig b/test/compile_errors/stage1/obj/shift_right_assign_on_undefined_value.zig index 65f4fe50b8..575bf0ee6b 100644 --- a/test/compile_errors/stage1/obj/shift_right_assign_on_undefined_value.zig +++ b/test/compile_errors/stage1/obj/shift_right_assign_on_undefined_value.zig @@ -3,6 +3,8 @@ comptime { a >>= 2; } -// shift right assign on undefined value +// error +// backend=stage1 +// target=native // // tmp.zig:3:5: error: use of undefined value here causes undefined behavior diff --git a/test/compile_errors/stage1/obj/shift_right_on_undefined_value.zig b/test/compile_errors/stage1/obj/shift_right_on_undefined_value.zig index ccd2563c84..e24cbe473a 100644 --- a/test/compile_errors/stage1/obj/shift_right_on_undefined_value.zig +++ b/test/compile_errors/stage1/obj/shift_right_on_undefined_value.zig @@ -3,6 +3,8 @@ comptime { _ = a >> 2; } -// shift right on undefined value +// error +// backend=stage1 +// target=native // // tmp.zig:3:9: error: use of undefined value here causes undefined behavior diff --git a/test/compile_errors/stage1/obj/shifting_RHS_is_log2_of_LHS_int_bit_width.zig b/test/compile_errors/stage1/obj/shifting_RHS_is_log2_of_LHS_int_bit_width.zig index 8a5d6cfee4..d9b9bbfce3 100644 --- a/test/compile_errors/stage1/obj/shifting_RHS_is_log2_of_LHS_int_bit_width.zig +++ b/test/compile_errors/stage1/obj/shifting_RHS_is_log2_of_LHS_int_bit_width.zig @@ -2,6 +2,8 @@ export fn entry(x: u8, y: u8) u8 { return x << y; } -// shifting RHS is log2 of LHS int bit width +// error +// backend=stage1 +// target=native // // tmp.zig:2:17: error: expected type 'u3', found 'u8' diff --git a/test/compile_errors/stage1/obj/shifting_without_int_type_or_comptime_known.zig b/test/compile_errors/stage1/obj/shifting_without_int_type_or_comptime_known.zig index 380a08a95c..4d875575d0 100644 --- a/test/compile_errors/stage1/obj/shifting_without_int_type_or_comptime_known.zig +++ b/test/compile_errors/stage1/obj/shifting_without_int_type_or_comptime_known.zig @@ -2,6 +2,8 @@ export fn entry(x: u8) u8 { return 0x11 << x; } -// shifting without int type or comptime known +// error +// backend=stage1 +// target=native // // tmp.zig:2:17: error: LHS of shift must be a fixed-width integer type, or RHS must be compile-time known diff --git a/test/compile_errors/stage1/obj/shlExact_shifts_out_1_bits.zig b/test/compile_errors/stage1/obj/shlExact_shifts_out_1_bits.zig index bd6e48f25c..953c5fec50 100644 --- a/test/compile_errors/stage1/obj/shlExact_shifts_out_1_bits.zig +++ b/test/compile_errors/stage1/obj/shlExact_shifts_out_1_bits.zig @@ -3,6 +3,8 @@ comptime { _ = x; } -// @shlExact shifts out 1 bits +// error +// backend=stage1 +// target=native // // tmp.zig:2:15: error: operation caused overflow diff --git a/test/compile_errors/stage1/obj/shrExact_shifts_out_1_bits.zig b/test/compile_errors/stage1/obj/shrExact_shifts_out_1_bits.zig index 004bf0c1c3..223db76630 100644 --- a/test/compile_errors/stage1/obj/shrExact_shifts_out_1_bits.zig +++ b/test/compile_errors/stage1/obj/shrExact_shifts_out_1_bits.zig @@ -3,6 +3,8 @@ comptime { _ = x; } -// @shrExact shifts out 1 bits +// error +// backend=stage1 +// target=native // // tmp.zig:2:15: error: exact shift shifted out 1 bits diff --git a/test/compile_errors/stage1/obj/signed_integer_division.zig b/test/compile_errors/stage1/obj/signed_integer_division.zig index 524f9fe1db..3eebbf2248 100644 --- a/test/compile_errors/stage1/obj/signed_integer_division.zig +++ b/test/compile_errors/stage1/obj/signed_integer_division.zig @@ -2,6 +2,8 @@ export fn foo(a: i32, b: i32) i32 { return a / b; } -// signed integer division +// error +// backend=stage1 +// target=native // // tmp.zig:2:14: error: division with 'i32' and 'i32': signed integers must use @divTrunc, @divFloor, or @divExact diff --git a/test/compile_errors/stage1/obj/signed_integer_remainder_division.zig b/test/compile_errors/stage1/obj/signed_integer_remainder_division.zig index e060b780d0..5877672954 100644 --- a/test/compile_errors/stage1/obj/signed_integer_remainder_division.zig +++ b/test/compile_errors/stage1/obj/signed_integer_remainder_division.zig @@ -2,6 +2,8 @@ export fn foo(a: i32, b: i32) i32 { return a % b; } -// signed integer remainder division +// error +// backend=stage1 +// target=native // // tmp.zig:2:14: error: remainder division with 'i32' and 'i32': signed integers and floats must use @rem or @mod diff --git a/test/compile_errors/stage1/obj/sizeOf_bad_type.zig b/test/compile_errors/stage1/obj/sizeOf_bad_type.zig index 1b336cf657..f8c397f768 100644 --- a/test/compile_errors/stage1/obj/sizeOf_bad_type.zig +++ b/test/compile_errors/stage1/obj/sizeOf_bad_type.zig @@ -2,6 +2,8 @@ export fn entry() usize { return @sizeOf(@TypeOf(null)); } -// @sizeOf bad type +// error +// backend=stage1 +// target=native // // tmp.zig:2:20: error: no size available for type '@Type(.Null)' diff --git a/test/compile_errors/stage1/obj/slice_cannot_have_its_bytes_reinterpreted.zig b/test/compile_errors/stage1/obj/slice_cannot_have_its_bytes_reinterpreted.zig index 4f7670ba74..8fcf4f505c 100644 --- a/test/compile_errors/stage1/obj/slice_cannot_have_its_bytes_reinterpreted.zig +++ b/test/compile_errors/stage1/obj/slice_cannot_have_its_bytes_reinterpreted.zig @@ -4,6 +4,8 @@ export fn foo() void { _ = value; } -// slice cannot have its bytes reinterpreted +// error +// backend=stage1 +// target=native // // :3:52: error: slice '[]const u8' cannot have its bytes reinterpreted diff --git a/test/compile_errors/stage1/obj/slice_passed_as_array_init_type.zig b/test/compile_errors/stage1/obj/slice_passed_as_array_init_type.zig index 0d29120ca4..7ad29b1900 100644 --- a/test/compile_errors/stage1/obj/slice_passed_as_array_init_type.zig +++ b/test/compile_errors/stage1/obj/slice_passed_as_array_init_type.zig @@ -3,6 +3,8 @@ export fn entry() void { _ = x; } -// slice passed as array init type +// error +// backend=stage1 +// target=native // // tmp.zig:2:15: error: array literal requires address-of operator (&) to coerce to slice type '[]u8' diff --git a/test/compile_errors/stage1/obj/slice_passed_as_array_init_type_with_elems.zig b/test/compile_errors/stage1/obj/slice_passed_as_array_init_type_with_elems.zig index 375ed55a72..0da4b3fc9d 100644 --- a/test/compile_errors/stage1/obj/slice_passed_as_array_init_type_with_elems.zig +++ b/test/compile_errors/stage1/obj/slice_passed_as_array_init_type_with_elems.zig @@ -3,6 +3,8 @@ export fn entry() void { _ = x; } -// slice passed as array init type with elems +// error +// backend=stage1 +// target=native // // tmp.zig:2:15: error: array literal requires address-of operator (&) to coerce to slice type '[]u8' diff --git a/test/compile_errors/stage1/obj/slice_sentinel_mismatch-1.zig b/test/compile_errors/stage1/obj/slice_sentinel_mismatch-1.zig index 1e3c2450cb..d0c47097da 100644 --- a/test/compile_errors/stage1/obj/slice_sentinel_mismatch-1.zig +++ b/test/compile_errors/stage1/obj/slice_sentinel_mismatch-1.zig @@ -3,6 +3,8 @@ export fn entry() void { _ = y; } -// slice sentinel mismatch - 1 +// error +// backend=stage1 +// target=native // // tmp.zig:2:37: error: expected type '[:1]const u8', found '*const [2:2]u8' diff --git a/test/compile_errors/stage1/obj/slice_sentinel_mismatch-2.zig b/test/compile_errors/stage1/obj/slice_sentinel_mismatch-2.zig index f1d73eb9df..5f8d312a3c 100644 --- a/test/compile_errors/stage1/obj/slice_sentinel_mismatch-2.zig +++ b/test/compile_errors/stage1/obj/slice_sentinel_mismatch-2.zig @@ -4,7 +4,9 @@ fn foo() [:0]u8 { } comptime { _ = foo; } -// slice sentinel mismatch - 2 +// error +// backend=stage1 +// target=native // // tmp.zig:3:12: error: expected type '[:0]u8', found '[]u8' // tmp.zig:3:12: note: destination pointer requires a terminating '0' sentinel diff --git a/test/compile_errors/stage1/obj/slicing_of_global_undefined_pointer.zig b/test/compile_errors/stage1/obj/slicing_of_global_undefined_pointer.zig index d52bfdf6a5..8bbc0f85eb 100644 --- a/test/compile_errors/stage1/obj/slicing_of_global_undefined_pointer.zig +++ b/test/compile_errors/stage1/obj/slicing_of_global_undefined_pointer.zig @@ -3,6 +3,8 @@ export fn entry() void { _ = buf[0..1]; } -// slicing of global undefined pointer +// error +// backend=stage1 +// target=native // // tmp.zig:3:12: error: non-zero length slice of undefined pointer diff --git a/test/compile_errors/stage1/obj/slicing_single-item_pointer.zig b/test/compile_errors/stage1/obj/slicing_single-item_pointer.zig index f6bbe752b1..d8c82fa3af 100644 --- a/test/compile_errors/stage1/obj/slicing_single-item_pointer.zig +++ b/test/compile_errors/stage1/obj/slicing_single-item_pointer.zig @@ -3,6 +3,8 @@ export fn entry(ptr: *i32) void { _ = slice; } -// slicing single-item pointer +// error +// backend=stage1 +// target=native // // tmp.zig:2:22: error: slice of single-item pointer diff --git a/test/compile_errors/stage1/obj/specify_enum_tag_type_that_is_too_small.zig b/test/compile_errors/stage1/obj/specify_enum_tag_type_that_is_too_small.zig index ca7c305d38..dc7077c8f8 100644 --- a/test/compile_errors/stage1/obj/specify_enum_tag_type_that_is_too_small.zig +++ b/test/compile_errors/stage1/obj/specify_enum_tag_type_that_is_too_small.zig @@ -11,6 +11,8 @@ export fn entry() void { _ = x; } -// specify enum tag type that is too small +// error +// backend=stage1 +// target=native // // tmp.zig:6:5: error: enumeration value 4 too large for type 'u2' diff --git a/test/compile_errors/stage1/obj/specify_non-integer_enum_tag_type.zig b/test/compile_errors/stage1/obj/specify_non-integer_enum_tag_type.zig index 095a0812c1..333647e1e3 100644 --- a/test/compile_errors/stage1/obj/specify_non-integer_enum_tag_type.zig +++ b/test/compile_errors/stage1/obj/specify_non-integer_enum_tag_type.zig @@ -9,6 +9,8 @@ export fn entry() void { _ = x; } -// specify non-integer enum tag type +// error +// backend=stage1 +// target=native // // tmp.zig:1:21: error: expected integer, found 'f32' diff --git a/test/compile_errors/stage1/obj/src_outside_function.zig b/test/compile_errors/stage1/obj/src_outside_function.zig index 5359135066..7f8c7ae72f 100644 --- a/test/compile_errors/stage1/obj/src_outside_function.zig +++ b/test/compile_errors/stage1/obj/src_outside_function.zig @@ -2,6 +2,8 @@ comptime { @src(); } -// @src outside function +// error +// backend=stage1 +// target=native // // tmp.zig:2:5: error: @src outside function diff --git a/test/compile_errors/stage1/obj/std.fmt_error_for_unused_arguments.zig b/test/compile_errors/stage1/obj/std.fmt_error_for_unused_arguments.zig index 68299c2177..21603ab3d3 100644 --- a/test/compile_errors/stage1/obj/std.fmt_error_for_unused_arguments.zig +++ b/test/compile_errors/stage1/obj/std.fmt_error_for_unused_arguments.zig @@ -2,6 +2,8 @@ export fn entry() void { @import("std").debug.print("{d} {d} {d} {d} {d}", .{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15}); } -// std.fmt error for unused arguments +// error +// backend=stage1 +// target=native // // ?:?:?: error: 10 unused arguments in '{d} {d} {d} {d} {d}' diff --git a/test/compile_errors/stage1/obj/store_vector_pointer_with_unknown_runtime_index.zig b/test/compile_errors/stage1/obj/store_vector_pointer_with_unknown_runtime_index.zig index 6ef71c863a..57e91631b1 100644 --- a/test/compile_errors/stage1/obj/store_vector_pointer_with_unknown_runtime_index.zig +++ b/test/compile_errors/stage1/obj/store_vector_pointer_with_unknown_runtime_index.zig @@ -9,6 +9,8 @@ fn storev(ptr: anytype, val: i32) void { ptr.* = val; } -// store vector pointer with unknown runtime index +// error +// backend=stage1 +// target=native // // tmp.zig:9:8: error: unable to determine vector element index of type '*align(16:0:4:?) i32 diff --git a/test/compile_errors/stage1/obj/storing_runtime_value_in_compile_time_variable_then_using_it.zig b/test/compile_errors/stage1/obj/storing_runtime_value_in_compile_time_variable_then_using_it.zig index 318db771d5..2d85209358 100644 --- a/test/compile_errors/stage1/obj/storing_runtime_value_in_compile_time_variable_then_using_it.zig +++ b/test/compile_errors/stage1/obj/storing_runtime_value_in_compile_time_variable_then_using_it.zig @@ -42,6 +42,8 @@ export fn entry() void { } } -// storing runtime value in compile time variable then using it +// error +// backend=stage1 +// target=native // // tmp.zig:38:29: error: cannot store runtime value in compile time variable diff --git a/test/compile_errors/stage1/obj/struct_depends_on_itself_via_optional_field.zig b/test/compile_errors/stage1/obj/struct_depends_on_itself_via_optional_field.zig index 13ee95155d..46086172f7 100644 --- a/test/compile_errors/stage1/obj/struct_depends_on_itself_via_optional_field.zig +++ b/test/compile_errors/stage1/obj/struct_depends_on_itself_via_optional_field.zig @@ -10,7 +10,9 @@ export fn entry() void { _ = obj; } -// struct depends on itself via optional field +// error +// backend=stage1 +// target=native // // tmp.zig:1:17: error: struct 'LhsExpr' depends on itself // tmp.zig:5:5: note: while checking this field diff --git a/test/compile_errors/stage1/obj/struct_field_missing_type.zig b/test/compile_errors/stage1/obj/struct_field_missing_type.zig index 669718a3d4..175f1c7df7 100644 --- a/test/compile_errors/stage1/obj/struct_field_missing_type.zig +++ b/test/compile_errors/stage1/obj/struct_field_missing_type.zig @@ -6,6 +6,8 @@ export fn entry() void { _ = a; } -// struct field missing type +// error +// backend=stage1 +// target=native // // tmp.zig:2:5: error: struct field missing type diff --git a/test/compile_errors/stage1/obj/struct_init_syntax_for_array.zig b/test/compile_errors/stage1/obj/struct_init_syntax_for_array.zig index 4eda9622ab..6362e05114 100644 --- a/test/compile_errors/stage1/obj/struct_init_syntax_for_array.zig +++ b/test/compile_errors/stage1/obj/struct_init_syntax_for_array.zig @@ -3,6 +3,8 @@ comptime { _ = foo; } -// struct init syntax for array +// error +// backend=stage1 +// target=native // // tmp.zig:1:13: error: initializing array with struct syntax diff --git a/test/compile_errors/stage1/obj/struct_with_declarations_unavailable_for_reify_type.zig b/test/compile_errors/stage1/obj/struct_with_declarations_unavailable_for_reify_type.zig index 656a9b9f62..409020ca25 100644 --- a/test/compile_errors/stage1/obj/struct_with_declarations_unavailable_for_reify_type.zig +++ b/test/compile_errors/stage1/obj/struct_with_declarations_unavailable_for_reify_type.zig @@ -2,6 +2,8 @@ export fn entry() void { _ = @Type(@typeInfo(struct { const foo = 1; })); } -// struct with declarations unavailable for @Type +// error +// backend=stage1 +// target=native // // tmp.zig:2:15: error: Type.Struct.decls must be empty for @Type diff --git a/test/compile_errors/stage1/obj/struct_with_invalid_field.zig b/test/compile_errors/stage1/obj/struct_with_invalid_field.zig index a2a632fbd9..dcc9d26f65 100644 --- a/test/compile_errors/stage1/obj/struct_with_invalid_field.zig +++ b/test/compile_errors/stage1/obj/struct_with_invalid_field.zig @@ -23,6 +23,8 @@ export fn entry() void { _ = a; } -// struct with invalid field +// error +// backend=stage1 +// target=native // // tmp.zig:14:17: error: use of undeclared identifier 'HeaderValue' diff --git a/test/compile_errors/stage1/obj/sub_assign_on_undefined_value.zig b/test/compile_errors/stage1/obj/sub_assign_on_undefined_value.zig index 01ef9313e5..74b705a154 100644 --- a/test/compile_errors/stage1/obj/sub_assign_on_undefined_value.zig +++ b/test/compile_errors/stage1/obj/sub_assign_on_undefined_value.zig @@ -3,6 +3,8 @@ comptime { a -= a; } -// sub assign on undefined value +// error +// backend=stage1 +// target=native // // tmp.zig:3:5: error: use of undefined value here causes undefined behavior diff --git a/test/compile_errors/stage1/obj/sub_on_undefined_value.zig b/test/compile_errors/stage1/obj/sub_on_undefined_value.zig index 80746abf0e..08c590ee3f 100644 --- a/test/compile_errors/stage1/obj/sub_on_undefined_value.zig +++ b/test/compile_errors/stage1/obj/sub_on_undefined_value.zig @@ -3,6 +3,8 @@ comptime { _ = a - a; } -// sub on undefined value +// error +// backend=stage1 +// target=native // // tmp.zig:3:9: error: use of undefined value here causes undefined behavior diff --git a/test/compile_errors/stage1/obj/sub_overflow_in_function_evaluation.zig b/test/compile_errors/stage1/obj/sub_overflow_in_function_evaluation.zig index 1084f1a111..dc259e6dcf 100644 --- a/test/compile_errors/stage1/obj/sub_overflow_in_function_evaluation.zig +++ b/test/compile_errors/stage1/obj/sub_overflow_in_function_evaluation.zig @@ -5,6 +5,8 @@ fn sub(a: u16, b: u16) u16 { export fn entry() usize { return @sizeOf(@TypeOf(y)); } -// sub overflow in function evaluation +// error +// backend=stage1 +// target=native // // tmp.zig:3:14: error: operation caused overflow diff --git a/test/compile_errors/stage1/obj/sub_wrap_assign_on_undefined_value.zig b/test/compile_errors/stage1/obj/sub_wrap_assign_on_undefined_value.zig index 3c7fd4faa5..41aa1ca14b 100644 --- a/test/compile_errors/stage1/obj/sub_wrap_assign_on_undefined_value.zig +++ b/test/compile_errors/stage1/obj/sub_wrap_assign_on_undefined_value.zig @@ -3,6 +3,8 @@ comptime { a -%= a; } -// sub wrap assign on undefined value +// error +// backend=stage1 +// target=native // // tmp.zig:3:5: error: use of undefined value here causes undefined behavior diff --git a/test/compile_errors/stage1/obj/sub_wrap_on_undefined_value.zig b/test/compile_errors/stage1/obj/sub_wrap_on_undefined_value.zig index 367b4c9c0e..68e4e78512 100644 --- a/test/compile_errors/stage1/obj/sub_wrap_on_undefined_value.zig +++ b/test/compile_errors/stage1/obj/sub_wrap_on_undefined_value.zig @@ -3,6 +3,8 @@ comptime { _ = a -% a; } -// sub wrap on undefined value +// error +// backend=stage1 +// target=native // // tmp.zig:3:9: error: use of undefined value here causes undefined behavior diff --git a/test/compile_errors/stage1/obj/suspend_inside_suspend_block.zig b/test/compile_errors/stage1/obj/suspend_inside_suspend_block.zig index 2e807268ce..4adffd2f25 100644 --- a/test/compile_errors/stage1/obj/suspend_inside_suspend_block.zig +++ b/test/compile_errors/stage1/obj/suspend_inside_suspend_block.zig @@ -8,7 +8,9 @@ fn foo() void { } } -// suspend inside suspend block +// error +// backend=stage1 +// target=native // // tmp.zig:6:9: error: cannot suspend inside suspend block // tmp.zig:5:5: note: other suspend block here diff --git a/test/compile_errors/stage1/obj/switch_expression-duplicate_enumeration_prong.zig b/test/compile_errors/stage1/obj/switch_expression-duplicate_enumeration_prong.zig index c5db39f5b2..056aebe3dd 100644 --- a/test/compile_errors/stage1/obj/switch_expression-duplicate_enumeration_prong.zig +++ b/test/compile_errors/stage1/obj/switch_expression-duplicate_enumeration_prong.zig @@ -16,7 +16,9 @@ fn f(n: Number) i32 { export fn entry() usize { return @sizeOf(@TypeOf(f)); } -// switch expression - duplicate enumeration prong +// error +// backend=stage1 +// target=native // // tmp.zig:13:15: error: duplicate switch value // tmp.zig:10:15: note: other value here diff --git a/test/compile_errors/stage1/obj/switch_expression-duplicate_enumeration_prong_when_else_present.zig b/test/compile_errors/stage1/obj/switch_expression-duplicate_enumeration_prong_when_else_present.zig index 22a0c189c1..4d891c3917 100644 --- a/test/compile_errors/stage1/obj/switch_expression-duplicate_enumeration_prong_when_else_present.zig +++ b/test/compile_errors/stage1/obj/switch_expression-duplicate_enumeration_prong_when_else_present.zig @@ -17,7 +17,9 @@ fn f(n: Number) i32 { export fn entry() usize { return @sizeOf(@TypeOf(f)); } -// switch expression - duplicate enumeration prong when else present +// error +// backend=stage1 +// target=native // // tmp.zig:13:15: error: duplicate switch value // tmp.zig:10:15: note: other value here diff --git a/test/compile_errors/stage1/obj/switch_expression-duplicate_or_overlapping_integer_value.zig b/test/compile_errors/stage1/obj/switch_expression-duplicate_or_overlapping_integer_value.zig index 06ef7de62e..2810bc13e1 100644 --- a/test/compile_errors/stage1/obj/switch_expression-duplicate_or_overlapping_integer_value.zig +++ b/test/compile_errors/stage1/obj/switch_expression-duplicate_or_overlapping_integer_value.zig @@ -8,7 +8,9 @@ fn foo(x: u8) u8 { } export fn entry() usize { return @sizeOf(@TypeOf(foo)); } -// switch expression - duplicate or overlapping integer value +// error +// backend=stage1 +// target=native // // tmp.zig:6:9: error: duplicate switch value // tmp.zig:5:14: note: previous value here diff --git a/test/compile_errors/stage1/obj/switch_expression-duplicate_type.zig b/test/compile_errors/stage1/obj/switch_expression-duplicate_type.zig index 9ac9feaeaf..b84c4622a2 100644 --- a/test/compile_errors/stage1/obj/switch_expression-duplicate_type.zig +++ b/test/compile_errors/stage1/obj/switch_expression-duplicate_type.zig @@ -9,7 +9,9 @@ fn foo(comptime T: type, x: T) u8 { } export fn entry() usize { return @sizeOf(@TypeOf(foo(u32, 0))); } -// switch expression - duplicate type +// error +// backend=stage1 +// target=native // // tmp.zig:6:9: error: duplicate switch value // tmp.zig:4:9: note: previous value here diff --git a/test/compile_errors/stage1/obj/switch_expression-duplicate_type_struct_alias.zig b/test/compile_errors/stage1/obj/switch_expression-duplicate_type_struct_alias.zig index b92336cac5..057e674e5a 100644 --- a/test/compile_errors/stage1/obj/switch_expression-duplicate_type_struct_alias.zig +++ b/test/compile_errors/stage1/obj/switch_expression-duplicate_type_struct_alias.zig @@ -13,7 +13,9 @@ fn foo(comptime T: type, x: T) u8 { } export fn entry() usize { return @sizeOf(@TypeOf(foo(u32, 0))); } -// switch expression - duplicate type (struct alias) +// error +// backend=stage1 +// target=native // // tmp.zig:10:9: error: duplicate switch value // tmp.zig:8:9: note: previous value here diff --git a/test/compile_errors/stage1/obj/switch_expression-missing_enumeration_prong.zig b/test/compile_errors/stage1/obj/switch_expression-missing_enumeration_prong.zig index b6cd60c22b..1a13730223 100644 --- a/test/compile_errors/stage1/obj/switch_expression-missing_enumeration_prong.zig +++ b/test/compile_errors/stage1/obj/switch_expression-missing_enumeration_prong.zig @@ -14,6 +14,8 @@ fn f(n: Number) i32 { export fn entry() usize { return @sizeOf(@TypeOf(f)); } -// switch expression - missing enumeration prong +// error +// backend=stage1 +// target=native // // tmp.zig:8:5: error: enumeration value 'Number.Four' not handled in switch diff --git a/test/compile_errors/stage1/obj/switch_expression-multiple_else_prongs.zig b/test/compile_errors/stage1/obj/switch_expression-multiple_else_prongs.zig index 6a7e274b56..8267222092 100644 --- a/test/compile_errors/stage1/obj/switch_expression-multiple_else_prongs.zig +++ b/test/compile_errors/stage1/obj/switch_expression-multiple_else_prongs.zig @@ -9,6 +9,8 @@ export fn entry() void { f(1234); } -// switch expression - multiple else prongs +// error +// backend=stage1 +// target=native // // tmp.zig:5:9: error: multiple else prongs in switch expression diff --git a/test/compile_errors/stage1/obj/switch_expression-non_exhaustive_integer_prongs.zig b/test/compile_errors/stage1/obj/switch_expression-non_exhaustive_integer_prongs.zig index 88fb8548de..940338edb9 100644 --- a/test/compile_errors/stage1/obj/switch_expression-non_exhaustive_integer_prongs.zig +++ b/test/compile_errors/stage1/obj/switch_expression-non_exhaustive_integer_prongs.zig @@ -5,6 +5,8 @@ fn foo(x: u8) void { } export fn entry() usize { return @sizeOf(@TypeOf(foo)); } -// switch expression - non exhaustive integer prongs +// error +// backend=stage1 +// target=native // // tmp.zig:2:5: error: switch must handle all possibilities diff --git a/test/compile_errors/stage1/obj/switch_expression-switch_on_pointer_type_with_no_else.zig b/test/compile_errors/stage1/obj/switch_expression-switch_on_pointer_type_with_no_else.zig index ec7565b882..6a357beabe 100644 --- a/test/compile_errors/stage1/obj/switch_expression-switch_on_pointer_type_with_no_else.zig +++ b/test/compile_errors/stage1/obj/switch_expression-switch_on_pointer_type_with_no_else.zig @@ -6,6 +6,8 @@ fn foo(x: *u8) void { const y: u8 = 100; export fn entry() usize { return @sizeOf(@TypeOf(foo)); } -// switch expression - switch on pointer type with no else +// error +// backend=stage1 +// target=native // // tmp.zig:2:5: error: else prong required when switching on type '*u8' diff --git a/test/compile_errors/stage1/obj/switch_expression-unreachable_else_prong_bool.zig b/test/compile_errors/stage1/obj/switch_expression-unreachable_else_prong_bool.zig index 8c36a3c289..2ee39f1531 100644 --- a/test/compile_errors/stage1/obj/switch_expression-unreachable_else_prong_bool.zig +++ b/test/compile_errors/stage1/obj/switch_expression-unreachable_else_prong_bool.zig @@ -7,6 +7,8 @@ fn foo(x: bool) void { } export fn entry() usize { return @sizeOf(@TypeOf(foo)); } -// switch expression - unreachable else prong (bool) +// error +// backend=stage1 +// target=native // // tmp.zig:5:9: error: unreachable else prong, all cases already handled diff --git a/test/compile_errors/stage1/obj/switch_expression-unreachable_else_prong_enum.zig b/test/compile_errors/stage1/obj/switch_expression-unreachable_else_prong_enum.zig index 8207d05234..bcf840ab97 100644 --- a/test/compile_errors/stage1/obj/switch_expression-unreachable_else_prong_enum.zig +++ b/test/compile_errors/stage1/obj/switch_expression-unreachable_else_prong_enum.zig @@ -17,6 +17,8 @@ fn foo(x: u8) void { export fn entry() usize { return @sizeOf(@TypeOf(foo)); } -// switch expression - unreachable else prong (enum) +// error +// backend=stage1 +// target=native // // tmp.zig:14:9: error: unreachable else prong, all cases already handled diff --git a/test/compile_errors/stage1/obj/switch_expression-unreachable_else_prong_range_i8.zig b/test/compile_errors/stage1/obj/switch_expression-unreachable_else_prong_range_i8.zig index 8750e57fae..f0c9d7a08a 100644 --- a/test/compile_errors/stage1/obj/switch_expression-unreachable_else_prong_range_i8.zig +++ b/test/compile_errors/stage1/obj/switch_expression-unreachable_else_prong_range_i8.zig @@ -10,6 +10,8 @@ fn foo(x: i8) void { } export fn entry() usize { return @sizeOf(@TypeOf(foo)); } -// switch expression - unreachable else prong (range i8) +// error +// backend=stage1 +// target=native // // tmp.zig:8:9: error: unreachable else prong, all cases already handled diff --git a/test/compile_errors/stage1/obj/switch_expression-unreachable_else_prong_range_u8.zig b/test/compile_errors/stage1/obj/switch_expression-unreachable_else_prong_range_u8.zig index 280663ae51..9342ce8c32 100644 --- a/test/compile_errors/stage1/obj/switch_expression-unreachable_else_prong_range_u8.zig +++ b/test/compile_errors/stage1/obj/switch_expression-unreachable_else_prong_range_u8.zig @@ -10,6 +10,8 @@ fn foo(x: u8) void { } export fn entry() usize { return @sizeOf(@TypeOf(foo)); } -// switch expression - unreachable else prong (range u8) +// error +// backend=stage1 +// target=native // // tmp.zig:8:9: error: unreachable else prong, all cases already handled diff --git a/test/compile_errors/stage1/obj/switch_expression-unreachable_else_prong_u1.zig b/test/compile_errors/stage1/obj/switch_expression-unreachable_else_prong_u1.zig index 58c4f378bf..90abf5074b 100644 --- a/test/compile_errors/stage1/obj/switch_expression-unreachable_else_prong_u1.zig +++ b/test/compile_errors/stage1/obj/switch_expression-unreachable_else_prong_u1.zig @@ -7,6 +7,8 @@ fn foo(x: u1) void { } export fn entry() usize { return @sizeOf(@TypeOf(foo)); } -// switch expression - unreachable else prong (u1) +// error +// backend=stage1 +// target=native // // tmp.zig:5:9: error: unreachable else prong, all cases already handled diff --git a/test/compile_errors/stage1/obj/switch_expression-unreachable_else_prong_u2.zig b/test/compile_errors/stage1/obj/switch_expression-unreachable_else_prong_u2.zig index ec1804316e..a523046e16 100644 --- a/test/compile_errors/stage1/obj/switch_expression-unreachable_else_prong_u2.zig +++ b/test/compile_errors/stage1/obj/switch_expression-unreachable_else_prong_u2.zig @@ -9,6 +9,8 @@ fn foo(x: u2) void { } export fn entry() usize { return @sizeOf(@TypeOf(foo)); } -// switch expression - unreachable else prong (u2) +// error +// backend=stage1 +// target=native // // tmp.zig:7:9: error: unreachable else prong, all cases already handled diff --git a/test/compile_errors/stage1/obj/switch_on_enum_with_1_field_with_no_prongs.zig b/test/compile_errors/stage1/obj/switch_on_enum_with_1_field_with_no_prongs.zig index fbfc039f59..97f7de121d 100644 --- a/test/compile_errors/stage1/obj/switch_on_enum_with_1_field_with_no_prongs.zig +++ b/test/compile_errors/stage1/obj/switch_on_enum_with_1_field_with_no_prongs.zig @@ -5,6 +5,8 @@ export fn entry() void { switch (f) {} } -// switch on enum with 1 field with no prongs +// error +// backend=stage1 +// target=native // // tmp.zig:5:5: error: enumeration value 'Foo.M' not handled in switch diff --git a/test/compile_errors/stage1/obj/switch_on_union_with_no_attached_enum.zig b/test/compile_errors/stage1/obj/switch_on_union_with_no_attached_enum.zig index f1ae750b4b..684861a898 100644 --- a/test/compile_errors/stage1/obj/switch_on_union_with_no_attached_enum.zig +++ b/test/compile_errors/stage1/obj/switch_on_union_with_no_attached_enum.zig @@ -14,7 +14,9 @@ fn foo(a: *const Payload) void { } } -// switch on union with no attached enum +// error +// backend=stage1 +// target=native // // tmp.zig:11:14: error: switch on union which has no attached enum // tmp.zig:1:17: note: consider 'union(enum)' here diff --git a/test/compile_errors/stage1/obj/switch_with_invalid_expression_parameter.zig b/test/compile_errors/stage1/obj/switch_with_invalid_expression_parameter.zig index f65879bc7a..1eb74519f5 100644 --- a/test/compile_errors/stage1/obj/switch_with_invalid_expression_parameter.zig +++ b/test/compile_errors/stage1/obj/switch_with_invalid_expression_parameter.zig @@ -10,6 +10,8 @@ fn Test(comptime T: type) void { _ = x; } -// switch with invalid expression parameter +// error +// backend=stage1 +// target=native // // tmp.zig:7:17: error: switch on type 'type' provides no expression parameter diff --git a/test/compile_errors/stage1/obj/switch_with_overlapping_case_ranges.zig b/test/compile_errors/stage1/obj/switch_with_overlapping_case_ranges.zig index 2818d766a7..1b03d3fe54 100644 --- a/test/compile_errors/stage1/obj/switch_with_overlapping_case_ranges.zig +++ b/test/compile_errors/stage1/obj/switch_with_overlapping_case_ranges.zig @@ -6,6 +6,8 @@ export fn entry() void { } } -// switch with overlapping case ranges +// error +// backend=stage1 +// target=native // // tmp.zig:5:9: error: duplicate switch value diff --git a/test/compile_errors/stage1/obj/tagName_used_on_union_with_no_associated_enum_tag.zig b/test/compile_errors/stage1/obj/tagName_used_on_union_with_no_associated_enum_tag.zig index bd03a97cfd..efd9b8ceef 100644 --- a/test/compile_errors/stage1/obj/tagName_used_on_union_with_no_associated_enum_tag.zig +++ b/test/compile_errors/stage1/obj/tagName_used_on_union_with_no_associated_enum_tag.zig @@ -8,7 +8,9 @@ export fn entry() void { _ = tagName; } -// @tagName used on union with no associated enum tag +// error +// backend=stage1 +// target=native // // tmp.zig:7:19: error: union has no associated enum // tmp.zig:1:18: note: declared here diff --git a/test/compile_errors/stage1/obj/take_slice_of_invalid_dereference.zig b/test/compile_errors/stage1/obj/take_slice_of_invalid_dereference.zig index 9beda30e2f..c039be3737 100644 --- a/test/compile_errors/stage1/obj/take_slice_of_invalid_dereference.zig +++ b/test/compile_errors/stage1/obj/take_slice_of_invalid_dereference.zig @@ -3,6 +3,8 @@ export fn entry() void { _ = x; } -// take slice of invalid dereference +// error +// backend=stage1 +// target=native // // tmp.zig:2:18: error: attempt to dereference non-pointer type 'comptime_int' diff --git a/test/compile_errors/stage1/obj/taking_bit_offset_of_void_field_in_struct.zig b/test/compile_errors/stage1/obj/taking_bit_offset_of_void_field_in_struct.zig index 936a110a61..e404c3bdd6 100644 --- a/test/compile_errors/stage1/obj/taking_bit_offset_of_void_field_in_struct.zig +++ b/test/compile_errors/stage1/obj/taking_bit_offset_of_void_field_in_struct.zig @@ -6,6 +6,8 @@ export fn foo() void { _ = fieldOffset; } -// taking bit offset of void field in struct +// error +// backend=stage1 +// target=native // // tmp.zig:5:45: error: zero-bit field 'val' in struct 'Empty' has no offset diff --git a/test/compile_errors/stage1/obj/taking_byte_offset_of_void_field_in_struct.zig b/test/compile_errors/stage1/obj/taking_byte_offset_of_void_field_in_struct.zig index d71dbc1502..eb7d83efff 100644 --- a/test/compile_errors/stage1/obj/taking_byte_offset_of_void_field_in_struct.zig +++ b/test/compile_errors/stage1/obj/taking_byte_offset_of_void_field_in_struct.zig @@ -6,6 +6,8 @@ export fn foo() void { _ = fieldOffset; } -// taking byte offset of void field in struct +// error +// backend=stage1 +// target=native // // tmp.zig:5:42: error: zero-bit field 'val' in struct 'Empty' has no offset diff --git a/test/compile_errors/stage1/obj/threadlocal_qualifier_on_const.zig b/test/compile_errors/stage1/obj/threadlocal_qualifier_on_const.zig index fa99e592ae..d34ba06879 100644 --- a/test/compile_errors/stage1/obj/threadlocal_qualifier_on_const.zig +++ b/test/compile_errors/stage1/obj/threadlocal_qualifier_on_const.zig @@ -3,6 +3,8 @@ export fn entry() i32 { return x; } -// threadlocal qualifier on const +// error +// backend=stage1 +// target=native // // tmp.zig:1:1: error: threadlocal variable cannot be constant diff --git a/test/compile_errors/stage1/obj/top_level_decl_dependency_loop.zig b/test/compile_errors/stage1/obj/top_level_decl_dependency_loop.zig index 4ecdc6f67d..ac70285c9c 100644 --- a/test/compile_errors/stage1/obj/top_level_decl_dependency_loop.zig +++ b/test/compile_errors/stage1/obj/top_level_decl_dependency_loop.zig @@ -5,6 +5,8 @@ export fn entry() void { _ = c; } -// top level decl dependency loop +// error +// backend=stage1 +// target=native // // tmp.zig:2:19: error: dependency loop detected diff --git a/test/compile_errors/stage1/obj/truncate_sign_mismatch.zig b/test/compile_errors/stage1/obj/truncate_sign_mismatch.zig index a60ca4bc7a..8434d9ed16 100644 --- a/test/compile_errors/stage1/obj/truncate_sign_mismatch.zig +++ b/test/compile_errors/stage1/obj/truncate_sign_mismatch.zig @@ -15,7 +15,9 @@ export fn entry4() u8 { return @truncate(u8, x); } -// truncate sign mismatch +// error +// backend=stage1 +// target=native // // tmp.zig:3:26: error: expected signed integer type, found 'u32' // tmp.zig:7:26: error: expected unsigned integer type, found 'i32' diff --git a/test/compile_errors/stage1/obj/truncate_undefined_value.zig b/test/compile_errors/stage1/obj/truncate_undefined_value.zig index 9d3913f9c3..67a1f17ba7 100644 --- a/test/compile_errors/stage1/obj/truncate_undefined_value.zig +++ b/test/compile_errors/stage1/obj/truncate_undefined_value.zig @@ -3,6 +3,8 @@ export fn entry() void { _ = z; } -// @truncate undefined value +// error +// backend=stage1 +// target=native // // tmp.zig:2:27: error: use of undefined value here causes undefined behavior diff --git a/test/compile_errors/stage1/obj/try_in_function_with_non_error_return_type.zig b/test/compile_errors/stage1/obj/try_in_function_with_non_error_return_type.zig index d799f769b6..c00fa2709f 100644 --- a/test/compile_errors/stage1/obj/try_in_function_with_non_error_return_type.zig +++ b/test/compile_errors/stage1/obj/try_in_function_with_non_error_return_type.zig @@ -3,6 +3,8 @@ export fn f() void { } fn something() anyerror!void { } -// try in function with non error return type +// error +// backend=stage1 +// target=native // // tmp.zig:2:5: error: expected type 'void', found 'anyerror' diff --git a/test/compile_errors/stage1/obj/type_checking_function_pointers.zig b/test/compile_errors/stage1/obj/type_checking_function_pointers.zig index d9bcde6bab..b88b6bdb52 100644 --- a/test/compile_errors/stage1/obj/type_checking_function_pointers.zig +++ b/test/compile_errors/stage1/obj/type_checking_function_pointers.zig @@ -6,6 +6,8 @@ export fn entry() void { a(c); } -// type checking function pointers +// error +// backend=stage1 +// target=native // // tmp.zig:6:7: error: expected type 'fn(*const u8) void', found 'fn(u8) void' diff --git a/test/compile_errors/stage1/obj/type_variables_must_be_constant.zig b/test/compile_errors/stage1/obj/type_variables_must_be_constant.zig index 33846d6da8..f8cadf8520 100644 --- a/test/compile_errors/stage1/obj/type_variables_must_be_constant.zig +++ b/test/compile_errors/stage1/obj/type_variables_must_be_constant.zig @@ -3,6 +3,8 @@ export fn entry() foo { return 1; } -// type variables must be constant +// error +// backend=stage1 +// target=native // // tmp.zig:1:1: error: variable of type 'type' must be constant diff --git a/test/compile_errors/stage1/obj/undeclared_identifier.zig b/test/compile_errors/stage1/obj/undeclared_identifier.zig index 36f46a22f4..297a618eb8 100644 --- a/test/compile_errors/stage1/obj/undeclared_identifier.zig +++ b/test/compile_errors/stage1/obj/undeclared_identifier.zig @@ -4,6 +4,8 @@ export fn a() void { c; } -// undeclared identifier +// error +// backend=stage1 +// target=native // // tmp.zig:3:5: error: use of undeclared identifier 'b' diff --git a/test/compile_errors/stage1/obj/undeclared_identifier_error_should_mark_fn_as_impure.zig b/test/compile_errors/stage1/obj/undeclared_identifier_error_should_mark_fn_as_impure.zig index fa629bdcb8..697b7ccb55 100644 --- a/test/compile_errors/stage1/obj/undeclared_identifier_error_should_mark_fn_as_impure.zig +++ b/test/compile_errors/stage1/obj/undeclared_identifier_error_should_mark_fn_as_impure.zig @@ -5,6 +5,8 @@ fn test_a_thing() void { bad_fn_call(); } -// undeclared identifier error should mark fn as impure +// error +// backend=stage1 +// target=native // // tmp.zig:5:5: error: use of undeclared identifier 'bad_fn_call' diff --git a/test/compile_errors/stage1/obj/undeclared_identifier_in_unanalyzed_branch.zig b/test/compile_errors/stage1/obj/undeclared_identifier_in_unanalyzed_branch.zig index 55d952e0fd..2efa8ca115 100644 --- a/test/compile_errors/stage1/obj/undeclared_identifier_in_unanalyzed_branch.zig +++ b/test/compile_errors/stage1/obj/undeclared_identifier_in_unanalyzed_branch.zig @@ -4,6 +4,8 @@ export fn a() void { } } -// undeclared identifier in unanalyzed branch +// error +// backend=stage1 +// target=native // // tmp.zig:3:9: error: use of undeclared identifier 'lol_this_doesnt_exist' diff --git a/test/compile_errors/stage1/obj/undefined_as_field_type_is_rejected.zig b/test/compile_errors/stage1/obj/undefined_as_field_type_is_rejected.zig index 4035955387..b6eb059661 100644 --- a/test/compile_errors/stage1/obj/undefined_as_field_type_is_rejected.zig +++ b/test/compile_errors/stage1/obj/undefined_as_field_type_is_rejected.zig @@ -6,6 +6,8 @@ export fn entry1() void { _ = foo; } -// undefined as field type is rejected +// error +// backend=stage1 +// target=native // // tmp.zig:2:8: error: use of undefined value here causes undefined behavior diff --git a/test/compile_errors/stage1/obj/undefined_function_call.zig b/test/compile_errors/stage1/obj/undefined_function_call.zig index ebf76aafbd..a9627961fe 100644 --- a/test/compile_errors/stage1/obj/undefined_function_call.zig +++ b/test/compile_errors/stage1/obj/undefined_function_call.zig @@ -2,6 +2,8 @@ export fn a() void { b(); } -// undefined function call +// error +// backend=stage1 +// target=native // // tmp.zig:2:5: error: use of undeclared identifier 'b' diff --git a/test/compile_errors/stage1/obj/underscore_is_not_a_declarable_symbol.zig b/test/compile_errors/stage1/obj/underscore_is_not_a_declarable_symbol.zig index bfcfbc3bcc..f4318af8fd 100644 --- a/test/compile_errors/stage1/obj/underscore_is_not_a_declarable_symbol.zig +++ b/test/compile_errors/stage1/obj/underscore_is_not_a_declarable_symbol.zig @@ -3,6 +3,8 @@ export fn f1() usize { return _; } -// `_` is not a declarable symbol +// error +// backend=stage1 +// target=native // // tmp.zig:2:9: error: '_' used as an identifier without @"_" syntax diff --git a/test/compile_errors/stage1/obj/underscore_should_not_be_usable_inside_for.zig b/test/compile_errors/stage1/obj/underscore_should_not_be_usable_inside_for.zig index be2ae559f3..fe89c8372d 100644 --- a/test/compile_errors/stage1/obj/underscore_should_not_be_usable_inside_for.zig +++ b/test/compile_errors/stage1/obj/underscore_should_not_be_usable_inside_for.zig @@ -6,6 +6,8 @@ export fn returns() void { } } -// `_` should not be usable inside for +// error +// backend=stage1 +// target=native // // tmp.zig:4:20: error: '_' used as an identifier without @"_" syntax diff --git a/test/compile_errors/stage1/obj/underscore_should_not_be_usable_inside_while.zig b/test/compile_errors/stage1/obj/underscore_should_not_be_usable_inside_while.zig index d93ed28c9e..7f694e0603 100644 --- a/test/compile_errors/stage1/obj/underscore_should_not_be_usable_inside_while.zig +++ b/test/compile_errors/stage1/obj/underscore_should_not_be_usable_inside_while.zig @@ -9,6 +9,8 @@ fn optionalReturn() ?u32 { return 1; } -// `_` should not be usable inside while +// error +// backend=stage1 +// target=native // // tmp.zig:4:20: error: '_' used as an identifier without @"_" syntax diff --git a/test/compile_errors/stage1/obj/underscore_should_not_be_usable_inside_while_else.zig b/test/compile_errors/stage1/obj/underscore_should_not_be_usable_inside_while_else.zig index e1e4c7b4c1..87a705ee69 100644 --- a/test/compile_errors/stage1/obj/underscore_should_not_be_usable_inside_while_else.zig +++ b/test/compile_errors/stage1/obj/underscore_should_not_be_usable_inside_while_else.zig @@ -11,6 +11,8 @@ fn optionalReturnError() !?u32 { return error.optionalReturnError; } -// `_` should not be usable inside while else +// error +// backend=stage1 +// target=native // // tmp.zig:6:17: error: '_' used as an identifier without @"_" syntax diff --git a/test/compile_errors/stage1/obj/union_auto-enum_value_already_taken.zig b/test/compile_errors/stage1/obj/union_auto-enum_value_already_taken.zig index 377290bd7e..3b00f95ff9 100644 --- a/test/compile_errors/stage1/obj/union_auto-enum_value_already_taken.zig +++ b/test/compile_errors/stage1/obj/union_auto-enum_value_already_taken.zig @@ -10,7 +10,9 @@ export fn entry() void { _ = x; } -// union auto-enum value already taken +// error +// backend=stage1 +// target=native // // tmp.zig:6:9: error: enum tag value 60 already taken // tmp.zig:4:9: note: other occurrence here diff --git a/test/compile_errors/stage1/obj/union_enum_field_does_not_match_enum.zig b/test/compile_errors/stage1/obj/union_enum_field_does_not_match_enum.zig index a924932c9f..38260091dc 100644 --- a/test/compile_errors/stage1/obj/union_enum_field_does_not_match_enum.zig +++ b/test/compile_errors/stage1/obj/union_enum_field_does_not_match_enum.zig @@ -14,7 +14,9 @@ export fn entry() void { _ = a; } -// union enum field does not match enum +// error +// backend=stage1 +// target=native // // tmp.zig:10:5: error: enum field not found: 'D' // tmp.zig:1:16: note: enum declared here diff --git a/test/compile_errors/stage1/obj/union_fields_with_value_assignments.zig b/test/compile_errors/stage1/obj/union_fields_with_value_assignments.zig index 0cf67a0eca..94568d55c3 100644 --- a/test/compile_errors/stage1/obj/union_fields_with_value_assignments.zig +++ b/test/compile_errors/stage1/obj/union_fields_with_value_assignments.zig @@ -6,7 +6,9 @@ export fn entry() void { _ = x; } -// union fields with value assignments +// error +// backend=stage1 +// target=native // // tmp.zig:1:24: error: explicitly valued tagged union missing integer tag type // tmp.zig:2:14: note: tag value specified here diff --git a/test/compile_errors/stage1/obj/union_with_0_fields.zig b/test/compile_errors/stage1/obj/union_with_0_fields.zig index 36086e8cce..a6f3d69faa 100644 --- a/test/compile_errors/stage1/obj/union_with_0_fields.zig +++ b/test/compile_errors/stage1/obj/union_with_0_fields.zig @@ -1,5 +1,7 @@ const Foo = union {}; -// union with 0 fields +// error +// backend=stage1 +// target=native // // tmp.zig:1:13: error: union declarations must have at least one tag diff --git a/test/compile_errors/stage1/obj/union_with_specified_enum_omits_field.zig b/test/compile_errors/stage1/obj/union_with_specified_enum_omits_field.zig index c1c1d38f02..0bb677a18c 100644 --- a/test/compile_errors/stage1/obj/union_with_specified_enum_omits_field.zig +++ b/test/compile_errors/stage1/obj/union_with_specified_enum_omits_field.zig @@ -11,7 +11,9 @@ export fn entry() usize { return @sizeOf(Payload); } -// union with specified enum omits field +// error +// backend=stage1 +// target=native // // tmp.zig:6:17: error: enum field missing: 'C' // tmp.zig:4:5: note: declared here diff --git a/test/compile_errors/stage1/obj/union_with_too_small_explicit_signed_tag_type.zig b/test/compile_errors/stage1/obj/union_with_too_small_explicit_signed_tag_type.zig index a3e75c25f6..97f4d48f6b 100644 --- a/test/compile_errors/stage1/obj/union_with_too_small_explicit_signed_tag_type.zig +++ b/test/compile_errors/stage1/obj/union_with_too_small_explicit_signed_tag_type.zig @@ -8,7 +8,9 @@ export fn entry() void { _ = U{ .D = 1 }; } -// union with too small explicit signed tag type +// error +// backend=stage1 +// target=native // // tmp.zig:1:22: error: specified integer tag type cannot represent every field // tmp.zig:1:22: note: type i2 cannot fit values in range 0...3 diff --git a/test/compile_errors/stage1/obj/union_with_too_small_explicit_unsigned_tag_type.zig b/test/compile_errors/stage1/obj/union_with_too_small_explicit_unsigned_tag_type.zig index 6f13dcda8a..c1496ade86 100644 --- a/test/compile_errors/stage1/obj/union_with_too_small_explicit_unsigned_tag_type.zig +++ b/test/compile_errors/stage1/obj/union_with_too_small_explicit_unsigned_tag_type.zig @@ -9,7 +9,9 @@ export fn entry() void { _ = U{ .E = 1 }; } -// union with too small explicit unsigned tag type +// error +// backend=stage1 +// target=native // // tmp.zig:1:22: error: specified integer tag type cannot represent every field // tmp.zig:1:22: note: type u2 cannot fit values in range 0...4 diff --git a/test/compile_errors/stage1/obj/unknown_length_pointer_to_opaque.zig b/test/compile_errors/stage1/obj/unknown_length_pointer_to_opaque.zig index a847bae599..d155b986d7 100644 --- a/test/compile_errors/stage1/obj/unknown_length_pointer_to_opaque.zig +++ b/test/compile_errors/stage1/obj/unknown_length_pointer_to_opaque.zig @@ -1,5 +1,7 @@ export const T = [*]opaque {}; -// unknown length pointer to opaque +// error +// backend=stage1 +// target=native // // tmp.zig:1:21: error: unknown-length pointer to opaque diff --git a/test/compile_errors/stage1/obj/unreachable_code-double_break.zig b/test/compile_errors/stage1/obj/unreachable_code-double_break.zig index b030c1d24d..0a19337af8 100644 --- a/test/compile_errors/stage1/obj/unreachable_code-double_break.zig +++ b/test/compile_errors/stage1/obj/unreachable_code-double_break.zig @@ -4,7 +4,9 @@ export fn a() void { }; } -// unreachable code - double break +// error +// backend=stage1 +// target=native // // tmp.zig:3:9: error: unreachable code // tmp.zig:3:20: note: control flow is diverted here diff --git a/test/compile_errors/stage1/obj/unreachable_code-nested_returns.zig b/test/compile_errors/stage1/obj/unreachable_code-nested_returns.zig index 7bfa8eef64..8a80fcd161 100644 --- a/test/compile_errors/stage1/obj/unreachable_code-nested_returns.zig +++ b/test/compile_errors/stage1/obj/unreachable_code-nested_returns.zig @@ -2,7 +2,9 @@ export fn a() i32 { return return 1; } -// unreachable code - nested returns +// error +// backend=stage1 +// target=native // // tmp.zig:2:5: error: unreachable code // tmp.zig:2:12: note: control flow is diverted here diff --git a/test/compile_errors/stage1/obj/unreachable_code.zig b/test/compile_errors/stage1/obj/unreachable_code.zig index 779cd90379..30a92d06bf 100644 --- a/test/compile_errors/stage1/obj/unreachable_code.zig +++ b/test/compile_errors/stage1/obj/unreachable_code.zig @@ -5,7 +5,9 @@ export fn a() void { fn b() void {} -// unreachable code +// error +// backend=stage1 +// target=native // // tmp.zig:3:6: error: unreachable code // tmp.zig:2:5: note: control flow is diverted here diff --git a/test/compile_errors/stage1/obj/unreachable_executed_at_comptime.zig b/test/compile_errors/stage1/obj/unreachable_executed_at_comptime.zig index 857ab0417f..34cb354e94 100644 --- a/test/compile_errors/stage1/obj/unreachable_executed_at_comptime.zig +++ b/test/compile_errors/stage1/obj/unreachable_executed_at_comptime.zig @@ -8,7 +8,9 @@ export fn entry() void { _ = foo(-42); } -// unreachable executed at comptime +// error +// backend=stage1 +// target=native // // tmp.zig:4:9: error: reached unreachable code // tmp.zig:8:12: note: called from here diff --git a/test/compile_errors/stage1/obj/unreachable_parameter.zig b/test/compile_errors/stage1/obj/unreachable_parameter.zig index 3feed62a1e..296194f7e3 100644 --- a/test/compile_errors/stage1/obj/unreachable_parameter.zig +++ b/test/compile_errors/stage1/obj/unreachable_parameter.zig @@ -1,6 +1,8 @@ fn f(a: noreturn) void { _ = a; } export fn entry() void { f(); } -// unreachable parameter +// error +// backend=stage1 +// target=native // // tmp.zig:1:9: error: parameter of type 'noreturn' not allowed diff --git a/test/compile_errors/stage1/obj/unreachable_variable.zig b/test/compile_errors/stage1/obj/unreachable_variable.zig index 8e053acd06..7f822a8bce 100644 --- a/test/compile_errors/stage1/obj/unreachable_variable.zig +++ b/test/compile_errors/stage1/obj/unreachable_variable.zig @@ -3,6 +3,8 @@ export fn f() void { _ = a; } -// unreachable variable +// error +// backend=stage1 +// target=native // // tmp.zig:2:25: error: expected type 'noreturn', found 'void' diff --git a/test/compile_errors/stage1/obj/unreachable_with_return.zig b/test/compile_errors/stage1/obj/unreachable_with_return.zig index ac9ecc93e3..6410d24913 100644 --- a/test/compile_errors/stage1/obj/unreachable_with_return.zig +++ b/test/compile_errors/stage1/obj/unreachable_with_return.zig @@ -1,6 +1,8 @@ fn a() noreturn {return;} export fn entry() void { a(); } -// unreachable with return +// error +// backend=stage1 +// target=native // // tmp.zig:1:18: error: expected type 'noreturn', found 'void' diff --git a/test/compile_errors/stage1/obj/unsupported_modifier_at_start_of_asm_output_constraint.zig b/test/compile_errors/stage1/obj/unsupported_modifier_at_start_of_asm_output_constraint.zig index c85850a61b..7c70fc5095 100644 --- a/test/compile_errors/stage1/obj/unsupported_modifier_at_start_of_asm_output_constraint.zig +++ b/test/compile_errors/stage1/obj/unsupported_modifier_at_start_of_asm_output_constraint.zig @@ -3,6 +3,8 @@ export fn foo() void { asm volatile ("" : [baz]"+r"(bar) : : ""); } -// unsupported modifier at start of asm output constraint +// error +// backend=stage1 +// target=native // // tmp.zig:3:5: error: invalid modifier starting output constraint for 'baz': '+', only '=' is supported. Compiler TODO: see https://github.com/ziglang/zig/issues/215 diff --git a/test/compile_errors/stage1/obj/unused_variable_error_on_errdefer.zig b/test/compile_errors/stage1/obj/unused_variable_error_on_errdefer.zig index eb92776938..b85d5729dc 100644 --- a/test/compile_errors/stage1/obj/unused_variable_error_on_errdefer.zig +++ b/test/compile_errors/stage1/obj/unused_variable_error_on_errdefer.zig @@ -6,6 +6,8 @@ export fn entry() void { foo() catch unreachable; } -// unused variable error on errdefer +// error +// backend=stage1 +// target=native // // tmp.zig:2:15: error: unused variable: 'a' diff --git a/test/compile_errors/stage1/obj/use_anyopaque_as_return_type_of_fn_ptr.zig b/test/compile_errors/stage1/obj/use_anyopaque_as_return_type_of_fn_ptr.zig index f54bc14914..ef2787ca75 100644 --- a/test/compile_errors/stage1/obj/use_anyopaque_as_return_type_of_fn_ptr.zig +++ b/test/compile_errors/stage1/obj/use_anyopaque_as_return_type_of_fn_ptr.zig @@ -3,6 +3,8 @@ export fn entry() void { _ = a; } -// use anyopaque as return type of fn ptr +// error +// backend=stage1 +// target=native // // tmp.zig:2:20: error: return type cannot be opaque diff --git a/test/compile_errors/stage1/obj/use_implicit_casts_to_assign_null_to_non-nullable_pointer.zig b/test/compile_errors/stage1/obj/use_implicit_casts_to_assign_null_to_non-nullable_pointer.zig index a8e01dbde0..4263f38e3e 100644 --- a/test/compile_errors/stage1/obj/use_implicit_casts_to_assign_null_to_non-nullable_pointer.zig +++ b/test/compile_errors/stage1/obj/use_implicit_casts_to_assign_null_to_non-nullable_pointer.zig @@ -7,6 +7,8 @@ export fn entry() void { _ = y; } -// use implicit casts to assign null to non-nullable pointer +// error +// backend=stage1 +// target=native // // tmp.zig:4:23: error: expected type '*?*i32', found '**i32' diff --git a/test/compile_errors/stage1/obj/use_invalid_number_literal_as_array_index.zig b/test/compile_errors/stage1/obj/use_invalid_number_literal_as_array_index.zig index 5ec655737e..b1d0aaa6f4 100644 --- a/test/compile_errors/stage1/obj/use_invalid_number_literal_as_array_index.zig +++ b/test/compile_errors/stage1/obj/use_invalid_number_literal_as_array_index.zig @@ -4,6 +4,8 @@ export fn entry() void { _ = arr; } -// use invalid number literal as array index +// error +// backend=stage1 +// target=native // // tmp.zig:1:1: error: unable to infer variable type diff --git a/test/compile_errors/stage1/obj/use_of_comptime-known_undefined_function_value.zig b/test/compile_errors/stage1/obj/use_of_comptime-known_undefined_function_value.zig index 5facc7e753..3500b13dfc 100644 --- a/test/compile_errors/stage1/obj/use_of_comptime-known_undefined_function_value.zig +++ b/test/compile_errors/stage1/obj/use_of_comptime-known_undefined_function_value.zig @@ -6,6 +6,8 @@ export fn entry() void { command.exec(); } -// use of comptime-known undefined function value +// error +// backend=stage1 +// target=native // // tmp.zig:6:12: error: use of undefined value here causes undefined behavior diff --git a/test/compile_errors/stage1/obj/use_of_undeclared_identifier.zig b/test/compile_errors/stage1/obj/use_of_undeclared_identifier.zig index e36453acc7..c1297731a3 100644 --- a/test/compile_errors/stage1/obj/use_of_undeclared_identifier.zig +++ b/test/compile_errors/stage1/obj/use_of_undeclared_identifier.zig @@ -2,6 +2,8 @@ export fn f() void { b = 3; } -// use of undeclared identifier +// error +// backend=stage1 +// target=native // // tmp.zig:2:5: error: use of undeclared identifier 'b' diff --git a/test/compile_errors/stage1/obj/using_an_unknown_len_ptr_type_instead_of_array.zig b/test/compile_errors/stage1/obj/using_an_unknown_len_ptr_type_instead_of_array.zig index 983995b098..3124b057a8 100644 --- a/test/compile_errors/stage1/obj/using_an_unknown_len_ptr_type_instead_of_array.zig +++ b/test/compile_errors/stage1/obj/using_an_unknown_len_ptr_type_instead_of_array.zig @@ -6,6 +6,8 @@ comptime { _ = resolutions; } -// using an unknown len ptr type instead of array +// error +// backend=stage1 +// target=native // // tmp.zig:1:21: error: expected array type or [_], found '[*][*]const u8' diff --git a/test/compile_errors/stage1/obj/using_invalid_types_in_function_call_raises_an_error.zig b/test/compile_errors/stage1/obj/using_invalid_types_in_function_call_raises_an_error.zig index 182b5c59b0..f1fda15ea7 100644 --- a/test/compile_errors/stage1/obj/using_invalid_types_in_function_call_raises_an_error.zig +++ b/test/compile_errors/stage1/obj/using_invalid_types_in_function_call_raises_an_error.zig @@ -4,6 +4,8 @@ export fn entry() void { func(MenuEffect.ThisDoesNotExist); } -// using invalid types in function call raises an error +// error +// backend=stage1 +// target=native // // tmp.zig:1:20: error: enum declarations must have at least one tag diff --git a/test/compile_errors/stage1/obj/usingnamespace_with_wrong_type.zig b/test/compile_errors/stage1/obj/usingnamespace_with_wrong_type.zig index a74a8e6124..86b5f0dcfb 100644 --- a/test/compile_errors/stage1/obj/usingnamespace_with_wrong_type.zig +++ b/test/compile_errors/stage1/obj/usingnamespace_with_wrong_type.zig @@ -1,5 +1,7 @@ usingnamespace void; -// usingnamespace with wrong type +// error +// backend=stage1 +// target=native // // tmp.zig:1:1: error: expected struct, enum, or union; found 'void' diff --git a/test/compile_errors/stage1/obj/variable_has_wrong_type.zig b/test/compile_errors/stage1/obj/variable_has_wrong_type.zig index 1e20dde269..52dcf150de 100644 --- a/test/compile_errors/stage1/obj/variable_has_wrong_type.zig +++ b/test/compile_errors/stage1/obj/variable_has_wrong_type.zig @@ -3,6 +3,8 @@ export fn f() i32 { return a; } -// variable has wrong type +// error +// backend=stage1 +// target=native // // tmp.zig:3:12: error: expected type 'i32', found '*const [1:0]u8' diff --git a/test/compile_errors/stage1/obj/variable_in_inline_assembly_template_cannot_be_found.zig b/test/compile_errors/stage1/obj/variable_in_inline_assembly_template_cannot_be_found.zig new file mode 100644 index 0000000000..7636b501fd --- /dev/null +++ b/test/compile_errors/stage1/obj/variable_in_inline_assembly_template_cannot_be_found.zig @@ -0,0 +1,12 @@ +export fn entry() void { + var sp = asm volatile ("mov %[foo], sp" + : [bar] "=r" (-> usize), + ); + _ = sp; +} + +// error +// backend=stage1 +// target=x86_64-linux-gnu +// +// tmp.zig:2:14: error: could not find 'foo' in the inputs or outputs diff --git a/test/compile_errors/stage1/obj/variable_initialization_compile_error_then_referenced.zig b/test/compile_errors/stage1/obj/variable_initialization_compile_error_then_referenced.zig index d96b67bc3f..91b70481a1 100644 --- a/test/compile_errors/stage1/obj/variable_initialization_compile_error_then_referenced.zig +++ b/test/compile_errors/stage1/obj/variable_initialization_compile_error_then_referenced.zig @@ -12,6 +12,8 @@ export fn entry() void { _ = S; } -// variable initialization compile error then referenced +// error +// backend=stage1 +// target=native // // tmp.zig:2:12: error: use of undeclared identifier 'T' diff --git a/test/compile_errors/stage1/obj/variable_with_type_noreturn.zig b/test/compile_errors/stage1/obj/variable_with_type_noreturn.zig index b6cc65593b..e2ba9183be 100644 --- a/test/compile_errors/stage1/obj/variable_with_type_noreturn.zig +++ b/test/compile_errors/stage1/obj/variable_with_type_noreturn.zig @@ -2,7 +2,9 @@ export fn entry9() void { var z: noreturn = return; } -// variable with type 'noreturn' +// error +// backend=stage1 +// target=native // // tmp.zig:2:5: error: unreachable code // tmp.zig:2:23: note: control flow is diverted here diff --git a/test/compile_errors/stage1/obj/vector_index_out_of_bounds.zig b/test/compile_errors/stage1/obj/vector_index_out_of_bounds.zig index efdd8b5fe9..fdffd8b455 100644 --- a/test/compile_errors/stage1/obj/vector_index_out_of_bounds.zig +++ b/test/compile_errors/stage1/obj/vector_index_out_of_bounds.zig @@ -3,6 +3,8 @@ export fn entry() void { _ = x; } -// vector index out of bounds +// error +// backend=stage1 +// target=native // // tmp.zig:2:62: error: index 3 outside vector of size 3 diff --git a/test/compile_errors/stage1/obj/volatile_on_global_assembly.zig b/test/compile_errors/stage1/obj/volatile_on_global_assembly.zig index 8fc7ddfcc2..2157fe6a71 100644 --- a/test/compile_errors/stage1/obj/volatile_on_global_assembly.zig +++ b/test/compile_errors/stage1/obj/volatile_on_global_assembly.zig @@ -2,6 +2,8 @@ comptime { asm volatile (""); } -// volatile on global assembly +// error +// backend=stage1 +// target=native // // tmp.zig:2:9: error: volatile is meaningless on global assembly diff --git a/test/compile_errors/stage1/obj/wasmMemoryGrow_is_a_compile_error_in_non-Wasm_targets.zig b/test/compile_errors/stage1/obj/wasmMemoryGrow_is_a_compile_error_in_non-Wasm_targets.zig index 363b36a0af..6eda076f12 100644 --- a/test/compile_errors/stage1/obj/wasmMemoryGrow_is_a_compile_error_in_non-Wasm_targets.zig +++ b/test/compile_errors/stage1/obj/wasmMemoryGrow_is_a_compile_error_in_non-Wasm_targets.zig @@ -3,6 +3,8 @@ export fn foo() void { return; } -// wasmMemoryGrow is a compile error in non-Wasm targets +// error +// backend=stage1 +// target=native // // tmp.zig:2:9: error: @wasmMemoryGrow is a wasm32 feature only diff --git a/test/compile_errors/stage1/obj/wasmMemorySize_is_a_compile_error_in_non-Wasm_targets.zig b/test/compile_errors/stage1/obj/wasmMemorySize_is_a_compile_error_in_non-Wasm_targets.zig index 419173bd01..9bdf81073f 100644 --- a/test/compile_errors/stage1/obj/wasmMemorySize_is_a_compile_error_in_non-Wasm_targets.zig +++ b/test/compile_errors/stage1/obj/wasmMemorySize_is_a_compile_error_in_non-Wasm_targets.zig @@ -3,6 +3,8 @@ export fn foo() void { return; } -// wasmMemorySize is a compile error in non-Wasm targets +// error +// backend=stage1 +// target=native // // tmp.zig:2:9: error: @wasmMemorySize is a wasm32 feature only diff --git a/test/compile_errors/stage1/obj/while_expected_bool_got_error_union.zig b/test/compile_errors/stage1/obj/while_expected_bool_got_error_union.zig index e79296694d..9fc327e6c9 100644 --- a/test/compile_errors/stage1/obj/while_expected_bool_got_error_union.zig +++ b/test/compile_errors/stage1/obj/while_expected_bool_got_error_union.zig @@ -3,6 +3,8 @@ export fn foo() void { } fn bar() anyerror!i32 { return 1; } -// while expected bool, got error union +// error +// backend=stage1 +// target=native // // tmp.zig:2:15: error: expected type 'bool', found 'anyerror!i32' diff --git a/test/compile_errors/stage1/obj/while_expected_bool_got_optional.zig b/test/compile_errors/stage1/obj/while_expected_bool_got_optional.zig index 7a3d184a1d..5948d62786 100644 --- a/test/compile_errors/stage1/obj/while_expected_bool_got_optional.zig +++ b/test/compile_errors/stage1/obj/while_expected_bool_got_optional.zig @@ -3,6 +3,8 @@ export fn foo() void { } fn bar() ?i32 { return 1; } -// while expected bool, got optional +// error +// backend=stage1 +// target=native // // tmp.zig:2:15: error: expected type 'bool', found '?i32' diff --git a/test/compile_errors/stage1/obj/while_expected_error_union_got_bool.zig b/test/compile_errors/stage1/obj/while_expected_error_union_got_bool.zig index 8f92276af6..b8a72e9793 100644 --- a/test/compile_errors/stage1/obj/while_expected_error_union_got_bool.zig +++ b/test/compile_errors/stage1/obj/while_expected_error_union_got_bool.zig @@ -3,6 +3,8 @@ export fn foo() void { } fn bar() bool { return true; } -// while expected error union, got bool +// error +// backend=stage1 +// target=native // // tmp.zig:2:15: error: expected error union type, found 'bool' diff --git a/test/compile_errors/stage1/obj/while_expected_error_union_got_optional.zig b/test/compile_errors/stage1/obj/while_expected_error_union_got_optional.zig index a67bf1ae16..c933dc9509 100644 --- a/test/compile_errors/stage1/obj/while_expected_error_union_got_optional.zig +++ b/test/compile_errors/stage1/obj/while_expected_error_union_got_optional.zig @@ -3,6 +3,8 @@ export fn foo() void { } fn bar() ?i32 { return 1; } -// while expected error union, got optional +// error +// backend=stage1 +// target=native // // tmp.zig:2:15: error: expected error union type, found '?i32' diff --git a/test/compile_errors/stage1/obj/while_expected_optional_got_bool.zig b/test/compile_errors/stage1/obj/while_expected_optional_got_bool.zig index 6fc0d880ce..0458d1ba01 100644 --- a/test/compile_errors/stage1/obj/while_expected_optional_got_bool.zig +++ b/test/compile_errors/stage1/obj/while_expected_optional_got_bool.zig @@ -3,6 +3,8 @@ export fn foo() void { } fn bar() bool { return true; } -// while expected optional, got bool +// error +// backend=stage1 +// target=native // // tmp.zig:2:15: error: expected optional type, found 'bool' diff --git a/test/compile_errors/stage1/obj/while_expected_optional_got_error_union.zig b/test/compile_errors/stage1/obj/while_expected_optional_got_error_union.zig index 472b3b81bc..7cdbd2cccf 100644 --- a/test/compile_errors/stage1/obj/while_expected_optional_got_error_union.zig +++ b/test/compile_errors/stage1/obj/while_expected_optional_got_error_union.zig @@ -3,6 +3,8 @@ export fn foo() void { } fn bar() anyerror!i32 { return 1; } -// while expected optional, got error union +// error +// backend=stage1 +// target=native // // tmp.zig:2:15: error: expected optional type, found 'anyerror!i32' diff --git a/test/compile_errors/stage1/obj/while_loop_body_expression_ignored.zig b/test/compile_errors/stage1/obj/while_loop_body_expression_ignored.zig index 621c0d41d7..9542cbc62f 100644 --- a/test/compile_errors/stage1/obj/while_loop_body_expression_ignored.zig +++ b/test/compile_errors/stage1/obj/while_loop_body_expression_ignored.zig @@ -13,7 +13,9 @@ export fn f3() void { while (x) |_| returns() else |_| unreachable; } -// while loop body expression ignored +// error +// backend=stage1 +// target=native // // tmp.zig:5:25: error: expression value is ignored // tmp.zig:9:26: error: expression value is ignored diff --git a/test/compile_errors/stage1/obj/write_to_const_global_variable.zig b/test/compile_errors/stage1/obj/write_to_const_global_variable.zig index 327b3d02d0..4ce93e6b51 100644 --- a/test/compile_errors/stage1/obj/write_to_const_global_variable.zig +++ b/test/compile_errors/stage1/obj/write_to_const_global_variable.zig @@ -4,6 +4,8 @@ fn f() void { } export fn entry() void { f(); } -// write to const global variable +// error +// backend=stage1 +// target=native // // tmp.zig:3:9: error: cannot assign to constant diff --git a/test/compile_errors/stage1/obj/wrong_frame_type_used_for_async_call.zig b/test/compile_errors/stage1/obj/wrong_frame_type_used_for_async_call.zig index ba150c45cc..c02c20f495 100644 --- a/test/compile_errors/stage1/obj/wrong_frame_type_used_for_async_call.zig +++ b/test/compile_errors/stage1/obj/wrong_frame_type_used_for_async_call.zig @@ -9,6 +9,8 @@ fn bar() void { suspend {} } -// wrong frame type used for async call +// error +// backend=stage1 +// target=native // // tmp.zig:3:13: error: expected type '*@Frame(bar)', found '*@Frame(foo)' diff --git a/test/compile_errors/stage1/obj/wrong_function_type.zig b/test/compile_errors/stage1/obj/wrong_function_type.zig index c2238bb649..58f4477601 100644 --- a/test/compile_errors/stage1/obj/wrong_function_type.zig +++ b/test/compile_errors/stage1/obj/wrong_function_type.zig @@ -4,6 +4,8 @@ fn b() i32 {return 1;} fn c() i32 {return 2;} export fn entry() usize { return @sizeOf(@TypeOf(fns)); } -// wrong function type +// error +// backend=stage1 +// target=native // // tmp.zig:1:28: error: expected type 'fn() void', found 'fn() i32' diff --git a/test/compile_errors/stage1/obj/wrong_initializer_for_union_payload_of_type_type.zig b/test/compile_errors/stage1/obj/wrong_initializer_for_union_payload_of_type_type.zig index 1d56094b6d..2e7b8f2e40 100644 --- a/test/compile_errors/stage1/obj/wrong_initializer_for_union_payload_of_type_type.zig +++ b/test/compile_errors/stage1/obj/wrong_initializer_for_union_payload_of_type_type.zig @@ -9,6 +9,8 @@ export fn entry() void { v.u.A = U{ .A = i32 }; } -// wrong initializer for union payload of type 'type' +// error +// backend=stage1 +// target=native // // tmp.zig:9:8: error: use of undefined value here causes undefined behavior diff --git a/test/compile_errors/stage1/obj/wrong_number_of_arguments.zig b/test/compile_errors/stage1/obj/wrong_number_of_arguments.zig index 4cb13fdd12..f25c9dae08 100644 --- a/test/compile_errors/stage1/obj/wrong_number_of_arguments.zig +++ b/test/compile_errors/stage1/obj/wrong_number_of_arguments.zig @@ -3,6 +3,8 @@ export fn a() void { } fn c(d: i32, e: i32, f: i32) void { _ = d; _ = e; _ = f; } -// wrong number of arguments +// error +// backend=stage1 +// target=native // // tmp.zig:2:6: error: expected 3 argument(s), found 1 diff --git a/test/compile_errors/stage1/obj/wrong_number_of_arguments_for_method_fn_call.zig b/test/compile_errors/stage1/obj/wrong_number_of_arguments_for_method_fn_call.zig index 25449feb22..7371223863 100644 --- a/test/compile_errors/stage1/obj/wrong_number_of_arguments_for_method_fn_call.zig +++ b/test/compile_errors/stage1/obj/wrong_number_of_arguments_for_method_fn_call.zig @@ -7,6 +7,8 @@ fn f(foo: *const Foo) void { } export fn entry() usize { return @sizeOf(@TypeOf(f)); } -// wrong number of arguments for method fn call +// error +// backend=stage1 +// target=native // // tmp.zig:6:15: error: expected 2 argument(s), found 3 diff --git a/test/compile_errors/stage1/obj/wrong_panic_signature_generic_function.zig b/test/compile_errors/stage1/obj/wrong_panic_signature_generic_function.zig index faaa24ba60..45de2fc6cb 100644 --- a/test/compile_errors/stage1/obj/wrong_panic_signature_generic_function.zig +++ b/test/compile_errors/stage1/obj/wrong_panic_signature_generic_function.zig @@ -4,7 +4,9 @@ pub fn panic(comptime msg: []const u8, error_return_trace: ?*builtin.StackTrace) } const builtin = @import("std").builtin; -// wrong panic signature, generic function +// error +// backend=stage1 +// target=native // // error: expected type 'fn([]const u8, ?*std.builtin.StackTrace) noreturn', found 'fn([]const u8,anytype) anytype' // note: only one of the functions is generic diff --git a/test/compile_errors/stage1/obj/wrong_panic_signature_runtime_function.zig b/test/compile_errors/stage1/obj/wrong_panic_signature_runtime_function.zig index 92553c3104..5cf224c4a8 100644 --- a/test/compile_errors/stage1/obj/wrong_panic_signature_runtime_function.zig +++ b/test/compile_errors/stage1/obj/wrong_panic_signature_runtime_function.zig @@ -3,6 +3,8 @@ test "" {} pub fn panic() void {} -// wrong panic signature, runtime function +// error +// backend=stage1 +// target=native // // error: expected type 'fn([]const u8, ?*std.builtin.StackTrace) noreturn', found 'fn() void' diff --git a/test/compile_errors/stage1/obj/wrong_pointer_coerced_to_pointer_to_opaque_{}.zig b/test/compile_errors/stage1/obj/wrong_pointer_coerced_to_pointer_to_opaque_{}.zig index ed88e3be28..3f6b0e750b 100644 --- a/test/compile_errors/stage1/obj/wrong_pointer_coerced_to_pointer_to_opaque_{}.zig +++ b/test/compile_errors/stage1/obj/wrong_pointer_coerced_to_pointer_to_opaque_{}.zig @@ -5,6 +5,8 @@ export fn foo() void { bar(@ptrCast(*anyopaque, &x)); } -// wrong pointer coerced to pointer to opaque {} +// error +// backend=stage1 +// target=native // // tmp.zig:5:9: error: expected type '*Derp', found '*anyopaque' diff --git a/test/compile_errors/stage1/obj/wrong_return_type_for_main.zig b/test/compile_errors/stage1/obj/wrong_return_type_for_main.zig index bf335874db..218ef0b65d 100644 --- a/test/compile_errors/stage1/obj/wrong_return_type_for_main.zig +++ b/test/compile_errors/stage1/obj/wrong_return_type_for_main.zig @@ -1,5 +1,7 @@ pub fn main() f32 { } -// wrong return type for main +// error +// backend=stage1 +// target=native // // error: expected return type of main to be 'void', '!void', 'noreturn', 'u8', or '!u8' diff --git a/test/compile_errors/stage1/obj/wrong_size_to_an_array_literal.zig b/test/compile_errors/stage1/obj/wrong_size_to_an_array_literal.zig index 68cb263212..909d894587 100644 --- a/test/compile_errors/stage1/obj/wrong_size_to_an_array_literal.zig +++ b/test/compile_errors/stage1/obj/wrong_size_to_an_array_literal.zig @@ -3,6 +3,8 @@ comptime { _ = array; } -// wrong size to an array literal +// error +// backend=stage1 +// target=native // // tmp.zig:2:31: error: index 2 outside array of size 2 diff --git a/test/compile_errors/stage1/obj/wrong_type_for_argument_tuple_to_asyncCall.zig b/test/compile_errors/stage1/obj/wrong_type_for_argument_tuple_to_asyncCall.zig index d9e45a69b7..7a9be0a8cc 100644 --- a/test/compile_errors/stage1/obj/wrong_type_for_argument_tuple_to_asyncCall.zig +++ b/test/compile_errors/stage1/obj/wrong_type_for_argument_tuple_to_asyncCall.zig @@ -7,6 +7,8 @@ fn foo() i32 { return 0; } -// wrong type for argument tuple to @asyncCall +// error +// backend=stage1 +// target=native // // tmp.zig:3:33: error: expected tuple or struct, found 'void' diff --git a/test/compile_errors/stage1/obj/wrong_type_for_reify_type.zig b/test/compile_errors/stage1/obj/wrong_type_for_reify_type.zig index 2d8ea02326..b0c1d92659 100644 --- a/test/compile_errors/stage1/obj/wrong_type_for_reify_type.zig +++ b/test/compile_errors/stage1/obj/wrong_type_for_reify_type.zig @@ -2,6 +2,8 @@ export fn entry() void { _ = @Type(0); } -// wrong type for @Type +// error +// backend=stage1 +// target=native // // tmp.zig:2:15: error: expected type 'std.builtin.Type', found 'comptime_int' diff --git a/test/compile_errors/stage1/obj/wrong_type_for_result_ptr_to_asyncCall.zig b/test/compile_errors/stage1/obj/wrong_type_for_result_ptr_to_asyncCall.zig index 07c5ae8a0b..b4193d4de1 100644 --- a/test/compile_errors/stage1/obj/wrong_type_for_result_ptr_to_asyncCall.zig +++ b/test/compile_errors/stage1/obj/wrong_type_for_result_ptr_to_asyncCall.zig @@ -9,6 +9,8 @@ fn foo() i32 { return 1234; } -// wrong type for result ptr to @asyncCall +// error +// backend=stage1 +// target=native // // tmp.zig:6:37: error: expected type '*i32', found 'bool' diff --git a/test/compile_errors/stage1/obj/wrong_type_passed_to_panic.zig b/test/compile_errors/stage1/obj/wrong_type_passed_to_panic.zig index b16d563571..ed237f81df 100644 --- a/test/compile_errors/stage1/obj/wrong_type_passed_to_panic.zig +++ b/test/compile_errors/stage1/obj/wrong_type_passed_to_panic.zig @@ -3,6 +3,8 @@ export fn entry() void { @panic(e); } -// wrong type passed to @panic +// error +// backend=stage1 +// target=native // // tmp.zig:3:12: error: expected type '[]const u8', found 'error{Foo}' diff --git a/test/compile_errors/stage1/obj/wrong_type_to_hasField.zig b/test/compile_errors/stage1/obj/wrong_type_to_hasField.zig index a79fec2a21..680c19a6fb 100644 --- a/test/compile_errors/stage1/obj/wrong_type_to_hasField.zig +++ b/test/compile_errors/stage1/obj/wrong_type_to_hasField.zig @@ -2,6 +2,8 @@ export fn entry() bool { return @hasField(i32, "hi"); } -// wrong type to @hasField +// error +// backend=stage1 +// target=native // // tmp.zig:2:22: error: type 'i32' does not support @hasField diff --git a/test/compile_errors/stage1/obj/wrong_types_given_to_atomic_order_args_in_cmpxchg.zig b/test/compile_errors/stage1/obj/wrong_types_given_to_atomic_order_args_in_cmpxchg.zig index 47cdaa372f..b0f484e2fd 100644 --- a/test/compile_errors/stage1/obj/wrong_types_given_to_atomic_order_args_in_cmpxchg.zig +++ b/test/compile_errors/stage1/obj/wrong_types_given_to_atomic_order_args_in_cmpxchg.zig @@ -3,6 +3,8 @@ export fn entry() void { while (!@cmpxchgWeak(i32, &x, 1234, 5678, @as(u32, 1234), @as(u32, 1234))) {} } -// wrong types given to atomic order args in cmpxchg +// error +// backend=stage1 +// target=native // // tmp.zig:3:47: error: expected type 'std.builtin.AtomicOrder', found 'u32' diff --git a/test/compile_errors/stage1/obj/wrong_types_given_to_export.zig b/test/compile_errors/stage1/obj/wrong_types_given_to_export.zig index cdd7ab4631..c06116204f 100644 --- a/test/compile_errors/stage1/obj/wrong_types_given_to_export.zig +++ b/test/compile_errors/stage1/obj/wrong_types_given_to_export.zig @@ -3,6 +3,8 @@ comptime { @export(entry, .{.name = "entry", .linkage = @as(u32, 1234) }); } -// wrong types given to @export +// error +// backend=stage1 +// target=native // // tmp.zig:3:59: error: expected type 'std.builtin.GlobalLinkage', found 'comptime_int' diff --git a/test/compile_errors/stage1/test/access_invalid_typeInfo_decl.zig b/test/compile_errors/stage1/test/access_invalid_typeInfo_decl.zig index 2fc5730af0..40e31a0855 100644 --- a/test/compile_errors/stage1/test/access_invalid_typeInfo_decl.zig +++ b/test/compile_errors/stage1/test/access_invalid_typeInfo_decl.zig @@ -3,6 +3,9 @@ test "Crash" { _ = @typeInfo(@This()).Struct.decls[0]; } -// access invalid @typeInfo decl +// error +// backend=stage1 +// target=native +// is_test=1 // // tmp.zig:1:11: error: use of undeclared identifier 'B' diff --git a/test/compile_errors/stage1/test/alignCast_of_zero_sized_types.zig b/test/compile_errors/stage1/test/alignCast_of_zero_sized_types.zig index 4c05571202..f83d22759c 100644 --- a/test/compile_errors/stage1/test/alignCast_of_zero_sized_types.zig +++ b/test/compile_errors/stage1/test/alignCast_of_zero_sized_types.zig @@ -17,7 +17,10 @@ export fn qux() void { _ = @alignCast(2, a); } -// @alignCast of zero sized types +// error +// backend=stage1 +// target=native +// is_test=1 // // tmp.zig:3:23: error: cannot adjust alignment of zero sized type '*void' // tmp.zig:7:23: error: cannot adjust alignment of zero sized type '?*void' diff --git a/test/compile_errors/stage1/test/bad_splat_type.zig b/test/compile_errors/stage1/test/bad_splat_type.zig index 9a16bbc73d..94e3d052a6 100644 --- a/test/compile_errors/stage1/test/bad_splat_type.zig +++ b/test/compile_errors/stage1/test/bad_splat_type.zig @@ -4,6 +4,9 @@ export fn entry() void { _ = v; } -// bad @splat type +// error +// backend=stage1 +// target=native +// is_test=1 // // tmp.zig:3:23: error: vector element type must be integer, float, bool, or pointer; 'comptime_int' is invalid diff --git a/test/compile_errors/stage1/test/binary_OR_operator_on_error_sets.zig b/test/compile_errors/stage1/test/binary_OR_operator_on_error_sets.zig index d9894a32a0..eb2d21c6ed 100644 --- a/test/compile_errors/stage1/test/binary_OR_operator_on_error_sets.zig +++ b/test/compile_errors/stage1/test/binary_OR_operator_on_error_sets.zig @@ -5,6 +5,9 @@ export fn entry() void { _ = x; } -// binary OR operator on error sets +// error +// backend=stage1 +// target=native +// is_test=1 // // tmp.zig:2:18: error: invalid operands to binary expression: 'error{A}' and 'error{B}' diff --git a/test/compile_errors/stage1/test/call_rejects_non_comptime-known_fn-always_inline.zig b/test/compile_errors/stage1/test/call_rejects_non_comptime-known_fn-always_inline.zig index ea822f8d91..a010414a57 100644 --- a/test/compile_errors/stage1/test/call_rejects_non_comptime-known_fn-always_inline.zig +++ b/test/compile_errors/stage1/test/call_rejects_non_comptime-known_fn-always_inline.zig @@ -3,6 +3,9 @@ pub export fn entry() void { @call(.{ .modifier = .always_inline }, call_me, .{}); } -// @call rejects non comptime-known fn - always_inline +// error +// backend=stage1 +// target=native +// is_test=1 // // tmp.zig:3:5: error: the specified modifier requires a comptime-known function diff --git a/test/compile_errors/stage1/test/call_rejects_non_comptime-known_fn-compile_time.zig b/test/compile_errors/stage1/test/call_rejects_non_comptime-known_fn-compile_time.zig index 3c50830787..b3ffcc6ec2 100644 --- a/test/compile_errors/stage1/test/call_rejects_non_comptime-known_fn-compile_time.zig +++ b/test/compile_errors/stage1/test/call_rejects_non_comptime-known_fn-compile_time.zig @@ -3,6 +3,9 @@ pub export fn entry() void { @call(.{ .modifier = .compile_time }, call_me, .{}); } -// @call rejects non comptime-known fn - compile_time +// error +// backend=stage1 +// target=native +// is_test=1 // // tmp.zig:3:5: error: the specified modifier requires a comptime-known function diff --git a/test/compile_errors/stage1/test/cast_between_optional_T_where_T_is_not_a_pointer.zig b/test/compile_errors/stage1/test/cast_between_optional_T_where_T_is_not_a_pointer.zig index 8f5ca1c25d..b8392ff5db 100644 --- a/test/compile_errors/stage1/test/cast_between_optional_T_where_T_is_not_a_pointer.zig +++ b/test/compile_errors/stage1/test/cast_between_optional_T_where_T_is_not_a_pointer.zig @@ -6,7 +6,10 @@ export fn entry() void { a = b; } -// cast between ?T where T is not a pointer +// error +// backend=stage1 +// target=native +// is_test=1 // // tmp.zig:6:9: error: expected type '?fn(i8) void', found '?fn(u64) void' // tmp.zig:6:9: note: optional type child 'fn(u64) void' cannot cast into optional type child 'fn(i8) void' diff --git a/test/compile_errors/stage1/test/combination_of_nosuspend_and_async.zig b/test/compile_errors/stage1/test/combination_of_nosuspend_and_async.zig index a164fb621b..43731c9648 100644 --- a/test/compile_errors/stage1/test/combination_of_nosuspend_and_async.zig +++ b/test/compile_errors/stage1/test/combination_of_nosuspend_and_async.zig @@ -7,7 +7,10 @@ export fn entry() void { } fn foo() void {} -// combination of nosuspend and async +// error +// backend=stage1 +// target=native +// is_test=1 // // tmp.zig:4:9: error: suspend inside nosuspend block // tmp.zig:2:5: note: nosuspend block here diff --git a/test/compile_errors/stage1/test/comparison_of_non-tagged_union_and_enum_literal.zig b/test/compile_errors/stage1/test/comparison_of_non-tagged_union_and_enum_literal.zig index b3c1506705..4898ac744c 100644 --- a/test/compile_errors/stage1/test/comparison_of_non-tagged_union_and_enum_literal.zig +++ b/test/compile_errors/stage1/test/comparison_of_non-tagged_union_and_enum_literal.zig @@ -5,7 +5,10 @@ export fn entry() void { _ = ok; } -// comparison of non-tagged union and enum literal +// error +// backend=stage1 +// target=native +// is_test=1 // // tmp.zig:4:16: error: comparison of union and enum literal is only valid for tagged union types // tmp.zig:2:15: note: type U is not a tagged union diff --git a/test/compile_errors/stage1/test/comptime_vector_overflow_shows_the_index.zig b/test/compile_errors/stage1/test/comptime_vector_overflow_shows_the_index.zig index a638c05b3b..a1f026ab70 100644 --- a/test/compile_errors/stage1/test/comptime_vector_overflow_shows_the_index.zig +++ b/test/compile_errors/stage1/test/comptime_vector_overflow_shows_the_index.zig @@ -5,7 +5,10 @@ comptime { _ = x; } -// comptime vector overflow shows the index +// error +// backend=stage1 +// target=native +// is_test=1 // // tmp.zig:4:15: error: operation caused overflow // tmp.zig:4:15: note: when computing vector element at index 2 diff --git a/test/compile_errors/stage1/test/duplicate_field_in_anonymous_struct_literal.zig b/test/compile_errors/stage1/test/duplicate_field_in_anonymous_struct_literal.zig index 1b671d2ad3..7b6821d669 100644 --- a/test/compile_errors/stage1/test/duplicate_field_in_anonymous_struct_literal.zig +++ b/test/compile_errors/stage1/test/duplicate_field_in_anonymous_struct_literal.zig @@ -10,7 +10,10 @@ export fn entry() void { _ = anon; } -// duplicate field in anonymous struct literal +// error +// backend=stage1 +// target=native +// is_test=1 // // tmp.zig:7:13: error: duplicate field // tmp.zig:4:13: note: other field here diff --git a/test/compile_errors/stage1/test/error_in_struct_initializer_doesnt_crash_the_compiler.zig b/test/compile_errors/stage1/test/error_in_struct_initializer_doesnt_crash_the_compiler.zig index e37b887121..2858fd6a01 100644 --- a/test/compile_errors/stage1/test/error_in_struct_initializer_doesnt_crash_the_compiler.zig +++ b/test/compile_errors/stage1/test/error_in_struct_initializer_doesnt_crash_the_compiler.zig @@ -7,6 +7,9 @@ pub export fn entry() void { _ = a; } -// error in struct initializer doesn't crash the compiler +// error +// backend=stage1 +// target=native +// is_test=1 // // tmp.zig:4:9: error: duplicate struct field: 'e' diff --git a/test/compile_errors/stage1/test/errors_in_for_loop_bodies_are_propagated.zig b/test/compile_errors/stage1/test/errors_in_for_loop_bodies_are_propagated.zig index 32e99cf410..d8be29e39b 100644 --- a/test/compile_errors/stage1/test/errors_in_for_loop_bodies_are_propagated.zig +++ b/test/compile_errors/stage1/test/errors_in_for_loop_bodies_are_propagated.zig @@ -3,6 +3,9 @@ pub export fn entry() void { for (arr) |bits| _ = @popCount(bits); } -// errors in for loop bodies are propagated +// error +// backend=stage1 +// target=native +// is_test=1 // // tmp.zig:3:26: error: expected 2 arguments, found 1 diff --git a/test/compile_errors/stage1/test/export_with_empty_name_string.zig b/test/compile_errors/stage1/test/export_with_empty_name_string.zig index 424ee6e4b5..b882d11723 100644 --- a/test/compile_errors/stage1/test/export_with_empty_name_string.zig +++ b/test/compile_errors/stage1/test/export_with_empty_name_string.zig @@ -3,6 +3,9 @@ comptime { @export(entry, .{ .name = "" }); } -// @export with empty name string +// error +// backend=stage1 +// target=native +// is_test=1 // // tmp.zig:3:5: error: exported symbol name cannot be empty diff --git a/test/compile_errors/stage1/test/helpful_return_type_error_message.zig b/test/compile_errors/stage1/test/helpful_return_type_error_message.zig index 6f1f9639da..0e97c09de2 100644 --- a/test/compile_errors/stage1/test/helpful_return_type_error_message.zig +++ b/test/compile_errors/stage1/test/helpful_return_type_error_message.zig @@ -15,7 +15,10 @@ export fn quux() u32 { buf = bar(); } -// helpful return type error message +// error +// backend=stage1 +// target=native +// is_test=1 // // tmp.zig:2:17: error: expected type 'u32', found 'error{Ohno}' // tmp.zig:1:17: note: function cannot return an error diff --git a/test/compile_errors/stage1/test/int-float_conversion_to_comptime_int-float.zig b/test/compile_errors/stage1/test/int-float_conversion_to_comptime_int-float.zig index eeb2e4798e..de439168ae 100644 --- a/test/compile_errors/stage1/test/int-float_conversion_to_comptime_int-float.zig +++ b/test/compile_errors/stage1/test/int-float_conversion_to_comptime_int-float.zig @@ -7,7 +7,10 @@ export fn bar() void { _ = @intToFloat(comptime_float, a); } -// int/float conversion to comptime_int/float +// error +// backend=stage1 +// target=native +// is_test=1 // // tmp.zig:3:35: error: unable to evaluate constant expression // tmp.zig:7:37: error: unable to evaluate constant expression diff --git a/test/compile_errors/stage1/test/invalid_assignments.zig b/test/compile_errors/stage1/test/invalid_assignments.zig index 203784c554..75f45a8bcb 100644 --- a/test/compile_errors/stage1/test/invalid_assignments.zig +++ b/test/compile_errors/stage1/test/invalid_assignments.zig @@ -10,7 +10,10 @@ export fn entry4() void { 2 + 2 = 3; } -// invalid assignments +// error +// backend=stage1 +// target=native +// is_test=1 // // tmp.zig:3:6: error: invalid left-hand side to assignment // tmp.zig:7:7: error: invalid left-hand side to assignment diff --git a/test/compile_errors/stage1/test/invalid_float_casts.zig b/test/compile_errors/stage1/test/invalid_float_casts.zig index 0e2509dcaf..2fe8003728 100644 --- a/test/compile_errors/stage1/test/invalid_float_casts.zig +++ b/test/compile_errors/stage1/test/invalid_float_casts.zig @@ -15,7 +15,10 @@ export fn qux() void { _ = @floatCast(f32, a); } -// invalid float casts +// error +// backend=stage1 +// target=native +// is_test=1 // // tmp.zig:3:36: error: unable to evaluate constant expression // tmp.zig:7:21: error: expected integer type, found 'f32' diff --git a/test/compile_errors/stage1/test/invalid_int_casts.zig b/test/compile_errors/stage1/test/invalid_int_casts.zig index 6870ecc723..9945751ef5 100644 --- a/test/compile_errors/stage1/test/invalid_int_casts.zig +++ b/test/compile_errors/stage1/test/invalid_int_casts.zig @@ -15,7 +15,10 @@ export fn qux() void { _ = @intCast(u32, a); } -// invalid int casts +// error +// backend=stage1 +// target=native +// is_test=1 // // tmp.zig:3:32: error: unable to evaluate constant expression // tmp.zig:7:21: error: expected float type, found 'u32' diff --git a/test/compile_errors/stage1/test/invalid_non-exhaustive_enum_to_union.zig b/test/compile_errors/stage1/test/invalid_non-exhaustive_enum_to_union.zig index f78a9e62ff..804e83a66a 100644 --- a/test/compile_errors/stage1/test/invalid_non-exhaustive_enum_to_union.zig +++ b/test/compile_errors/stage1/test/invalid_non-exhaustive_enum_to_union.zig @@ -18,7 +18,10 @@ export fn bar() void { _ = u; } -// invalid non-exhaustive enum to union +// error +// backend=stage1 +// target=native +// is_test=1 // // tmp.zig:12:16: error: runtime cast to union 'U' from non-exhaustive enum // tmp.zig:17:16: error: no tag by value 15 diff --git a/test/compile_errors/stage1/test/invalid_pointer_with_reify_type.zig b/test/compile_errors/stage1/test/invalid_pointer_with_reify_type.zig index febf9685fd..bf1cf6bd6f 100644 --- a/test/compile_errors/stage1/test/invalid_pointer_with_reify_type.zig +++ b/test/compile_errors/stage1/test/invalid_pointer_with_reify_type.zig @@ -11,6 +11,9 @@ export fn entry() void { }}); } -// invalid pointer with @Type +// error +// backend=stage1 +// target=native +// is_test=1 // // tmp.zig:2:16: error: sentinels are only allowed on slices and unknown-length pointers diff --git a/test/compile_errors/stage1/test/nested_vectors.zig b/test/compile_errors/stage1/test/nested_vectors.zig index a05e9b0c5b..9e87ac814b 100644 --- a/test/compile_errors/stage1/test/nested_vectors.zig +++ b/test/compile_errors/stage1/test/nested_vectors.zig @@ -5,6 +5,9 @@ export fn entry() void { _ = v; } -// nested vectors +// error +// backend=stage1 +// target=native +// is_test=1 // // tmp.zig:3:23: error: vector element type must be integer, float, bool, or pointer; '@Vector(4, u8)' is invalid diff --git a/test/compile_errors/stage1/test/non-exhaustive_enum_marker_assigned_a_value.zig b/test/compile_errors/stage1/test/non-exhaustive_enum_marker_assigned_a_value.zig index 53037ff181..609af248df 100644 --- a/test/compile_errors/stage1/test/non-exhaustive_enum_marker_assigned_a_value.zig +++ b/test/compile_errors/stage1/test/non-exhaustive_enum_marker_assigned_a_value.zig @@ -10,7 +10,10 @@ const B = enum { }; comptime { _ = A; _ = B; } -// non-exhaustive enum marker assigned a value +// error +// backend=stage1 +// target=native +// is_test=1 // // tmp.zig:4:9: error: '_' is used to mark an enum as non-exhaustive and cannot be assigned a value // tmp.zig:6:11: error: non-exhaustive enum missing integer tag type diff --git a/test/compile_errors/stage1/test/non-exhaustive_enums.zig b/test/compile_errors/stage1/test/non-exhaustive_enums.zig index 49ceff3178..3b5f8af7cb 100644 --- a/test/compile_errors/stage1/test/non-exhaustive_enums.zig +++ b/test/compile_errors/stage1/test/non-exhaustive_enums.zig @@ -13,7 +13,10 @@ pub export fn entry() void { _ = C; } -// non-exhaustive enums +// error +// backend=stage1 +// target=native +// is_test=1 // // tmp.zig:3:5: error: '_' field of non-exhaustive enum must be last // tmp.zig:6:11: error: non-exhaustive enum specifies every value diff --git a/test/compile_errors/stage1/test/not_an_enum_type.zig b/test/compile_errors/stage1/test/not_an_enum_type.zig index f92c3d44e1..99c733b4d0 100644 --- a/test/compile_errors/stage1/test/not_an_enum_type.zig +++ b/test/compile_errors/stage1/test/not_an_enum_type.zig @@ -12,6 +12,9 @@ const Error = union(enum) { const InvalidToken = struct {}; const ExpectedVarDeclOrFn = struct {}; -// not an enum type +// error +// backend=stage1 +// target=native +// is_test=1 // // tmp.zig:4:9: error: expected type '@typeInfo(Error).Union.tag_type.?', found 'type' diff --git a/test/compile_errors/stage1/test/packed_struct_with_fields_of_not_allowed_types.zig b/test/compile_errors/stage1/test/packed_struct_with_fields_of_not_allowed_types.zig index dc156342f4..2951d26c52 100644 --- a/test/compile_errors/stage1/test/packed_struct_with_fields_of_not_allowed_types.zig +++ b/test/compile_errors/stage1/test/packed_struct_with_fields_of_not_allowed_types.zig @@ -59,7 +59,10 @@ const Enum = enum { B, }; -// packed struct with fields of not allowed types +// error +// backend=stage1 +// target=native +// is_test=1 // // tmp.zig:2:5: error: type 'anyerror' not allowed in packed struct; no guaranteed in-memory representation // tmp.zig:5:5: error: array of 'u24' not allowed in packed struct due to padding bits (must be padded from 48 to 64 bits) diff --git a/test/compile_errors/stage1/test/ptrToInt_with_pointer_to_zero-sized_type.zig b/test/compile_errors/stage1/test/ptrToInt_with_pointer_to_zero-sized_type.zig index 63ba217247..7c2ba184c4 100644 --- a/test/compile_errors/stage1/test/ptrToInt_with_pointer_to_zero-sized_type.zig +++ b/test/compile_errors/stage1/test/ptrToInt_with_pointer_to_zero-sized_type.zig @@ -4,6 +4,9 @@ export fn entry() void { _ = x; } -// @ptrToInt with pointer to zero-sized type +// error +// backend=stage1 +// target=native +// is_test=1 // // tmp.zig:3:23: error: pointer to size 0 type has no address diff --git a/test/compile_errors/stage1/test/reassign_to_array_parameter.zig b/test/compile_errors/stage1/test/reassign_to_array_parameter.zig index a222150a2c..f3b51d2c0f 100644 --- a/test/compile_errors/stage1/test/reassign_to_array_parameter.zig +++ b/test/compile_errors/stage1/test/reassign_to_array_parameter.zig @@ -5,6 +5,9 @@ export fn entry() void { reassign(.{1, 2, 3}); } -// reassign to array parameter +// error +// backend=stage1 +// target=native +// is_test=1 // // tmp.zig:2:15: error: cannot assign to constant diff --git a/test/compile_errors/stage1/test/reassign_to_slice_parameter.zig b/test/compile_errors/stage1/test/reassign_to_slice_parameter.zig index a8e555182a..34bd5541a1 100644 --- a/test/compile_errors/stage1/test/reassign_to_slice_parameter.zig +++ b/test/compile_errors/stage1/test/reassign_to_slice_parameter.zig @@ -5,6 +5,9 @@ export fn entry() void { reassign("foo"); } -// reassign to slice parameter +// error +// backend=stage1 +// target=native +// is_test=1 // // tmp.zig:2:10: error: cannot assign to constant diff --git a/test/compile_errors/stage1/test/reassign_to_struct_parameter.zig b/test/compile_errors/stage1/test/reassign_to_struct_parameter.zig index 018548ab32..994833d989 100644 --- a/test/compile_errors/stage1/test/reassign_to_struct_parameter.zig +++ b/test/compile_errors/stage1/test/reassign_to_struct_parameter.zig @@ -8,6 +8,9 @@ export fn entry() void { reassign(S{.x = 3}); } -// reassign to struct parameter +// error +// backend=stage1 +// target=native +// is_test=1 // // tmp.zig:5:10: error: cannot assign to constant diff --git a/test/compile_errors/stage1/test/reference_to_const_data.zig b/test/compile_errors/stage1/test/reference_to_const_data.zig index d785eb648e..6c98aefd7a 100644 --- a/test/compile_errors/stage1/test/reference_to_const_data.zig +++ b/test/compile_errors/stage1/test/reference_to_const_data.zig @@ -19,7 +19,10 @@ export fn qux() void { ptr.x = 2; } -// reference to const data +// error +// backend=stage1 +// target=native +// is_test=1 // // tmp.zig:3:14: error: cannot assign to constant // tmp.zig:7:13: error: cannot assign to constant diff --git a/test/compile_errors/stage1/test/reify_typeOf_with_incompatible_arguments.zig b/test/compile_errors/stage1/test/reify_typeOf_with_incompatible_arguments.zig index 97ee7aaf1b..2013a07e53 100644 --- a/test/compile_errors/stage1/test/reify_typeOf_with_incompatible_arguments.zig +++ b/test/compile_errors/stage1/test/reify_typeOf_with_incompatible_arguments.zig @@ -4,6 +4,9 @@ export fn entry() void { _ = @TypeOf(var_1, var_2); } -// @TypeOf with incompatible arguments +// error +// backend=stage1 +// target=native +// is_test=1 // // tmp.zig:4:9: error: incompatible types: 'f32' and 'u32' diff --git a/test/compile_errors/stage1/test/reify_typeOf_with_no_arguments.zig b/test/compile_errors/stage1/test/reify_typeOf_with_no_arguments.zig index e18b9e66b7..0626d45393 100644 --- a/test/compile_errors/stage1/test/reify_typeOf_with_no_arguments.zig +++ b/test/compile_errors/stage1/test/reify_typeOf_with_no_arguments.zig @@ -2,6 +2,9 @@ export fn entry() void { _ = @TypeOf(); } -// @TypeOf with no arguments +// error +// backend=stage1 +// target=native +// is_test=1 // // tmp.zig:2:9: error: expected at least 1 argument, found 0 diff --git a/test/compile_errors/stage1/test/reject_extern_function_definitions_with_body.zig b/test/compile_errors/stage1/test/reject_extern_function_definitions_with_body.zig index 024080a6bc..a7b92e8399 100644 --- a/test/compile_errors/stage1/test/reject_extern_function_definitions_with_body.zig +++ b/test/compile_errors/stage1/test/reject_extern_function_definitions_with_body.zig @@ -2,6 +2,9 @@ extern "c" fn definitelyNotInLibC(a: i32, b: i32) i32 { return a + b; } -// reject extern function definitions with body +// error +// backend=stage1 +// target=native +// is_test=1 // // tmp.zig:1:1: error: extern functions have no body diff --git a/test/compile_errors/stage1/test/reject_extern_variables_with_initializers.zig b/test/compile_errors/stage1/test/reject_extern_variables_with_initializers.zig index d3f65ff0cb..54239e0948 100644 --- a/test/compile_errors/stage1/test/reject_extern_variables_with_initializers.zig +++ b/test/compile_errors/stage1/test/reject_extern_variables_with_initializers.zig @@ -1,5 +1,8 @@ extern var foo: int = 2; -// reject extern variables with initializers +// error +// backend=stage1 +// target=native +// is_test=1 // // tmp.zig:1:23: error: extern variables have no initializers diff --git a/test/compile_errors/stage1/test/repeated_invalid_field_access_to_generic_function_returning_type_crashes_compiler_2655.zig b/test/compile_errors/stage1/test/repeated_invalid_field_access_to_generic_function_returning_type_crashes_compiler_2655.zig index c419a6ae83..7499939b4a 100644 --- a/test/compile_errors/stage1/test/repeated_invalid_field_access_to_generic_function_returning_type_crashes_compiler_2655.zig +++ b/test/compile_errors/stage1/test/repeated_invalid_field_access_to_generic_function_returning_type_crashes_compiler_2655.zig @@ -6,6 +6,9 @@ test "1" { _ = A().a; } -// repeated invalid field access to generic function returning type crashes compiler. #2655 +// error +// backend=stage1 +// target=native +// is_test=1 // // tmp.zig:2:12: error: use of undeclared identifier 'Q' diff --git a/test/compile_errors/stage1/test/return_invalid_type_from_test.zig b/test/compile_errors/stage1/test/return_invalid_type_from_test.zig index e7aeab3be7..590ac30918 100644 --- a/test/compile_errors/stage1/test/return_invalid_type_from_test.zig +++ b/test/compile_errors/stage1/test/return_invalid_type_from_test.zig @@ -1,5 +1,8 @@ test "example" { return 1; } -// return invalid type from test +// error +// backend=stage1 +// target=native +// is_test=1 // // tmp.zig:1:25: error: expected type 'void', found 'comptime_int' diff --git a/test/compile_errors/stage1/test/shift_on_type_with_non-power-of-two_size.zig b/test/compile_errors/stage1/test/shift_on_type_with_non-power-of-two_size.zig index d76406223d..222cb22563 100644 --- a/test/compile_errors/stage1/test/shift_on_type_with_non-power-of-two_size.zig +++ b/test/compile_errors/stage1/test/shift_on_type_with_non-power-of-two_size.zig @@ -23,7 +23,10 @@ export fn entry() void { S.d(); } -// shift on type with non-power-of-two size +// error +// backend=stage1 +// target=native +// is_test=1 // // tmp.zig:5:19: error: RHS of shift is too large for LHS type // tmp.zig:9:19: error: RHS of shift is too large for LHS type diff --git a/test/compile_errors/stage1/test/shuffle_with_selected_index_past_first_vector_length.zig b/test/compile_errors/stage1/test/shuffle_with_selected_index_past_first_vector_length.zig index c45eb4a0e2..8b0c5ba780 100644 --- a/test/compile_errors/stage1/test/shuffle_with_selected_index_past_first_vector_length.zig +++ b/test/compile_errors/stage1/test/shuffle_with_selected_index_past_first_vector_length.zig @@ -5,7 +5,10 @@ export fn entry() void { _ = z; } -// @shuffle with selected index past first vector length +// error +// backend=stage1 +// target=native +// is_test=1 // // tmp.zig:4:39: error: mask index '4' has out-of-bounds selection // tmp.zig:4:27: note: selected index '7' out of bounds of @Vector(4, u32) diff --git a/test/compile_errors/stage1/test/switch_ranges_endpoints_are_validated.zig b/test/compile_errors/stage1/test/switch_ranges_endpoints_are_validated.zig index 4c0545ea92..a44d59feed 100644 --- a/test/compile_errors/stage1/test/switch_ranges_endpoints_are_validated.zig +++ b/test/compile_errors/stage1/test/switch_ranges_endpoints_are_validated.zig @@ -7,7 +7,10 @@ pub export fn entry() void { } } -// switch ranges endpoints are validated +// error +// backend=stage1 +// target=native +// is_test=1 // // tmp.zig:4:9: error: range start value is greater than the end value // tmp.zig:5:9: error: range start value is greater than the end value diff --git a/test/compile_errors/stage1/test/switching_with_exhaustive_enum_has___prong_.zig b/test/compile_errors/stage1/test/switching_with_exhaustive_enum_has___prong_.zig index b132b7834e..0ca489bdb8 100644 --- a/test/compile_errors/stage1/test/switching_with_exhaustive_enum_has___prong_.zig +++ b/test/compile_errors/stage1/test/switching_with_exhaustive_enum_has___prong_.zig @@ -11,6 +11,9 @@ pub export fn entry() void { } } -// switching with exhaustive enum has '_' prong +// error +// backend=stage1 +// target=native +// is_test=1 // // tmp.zig:7:5: error: switch on exhaustive enum has `_` prong diff --git a/test/compile_errors/stage1/test/switching_with_non-exhaustive_enums.zig b/test/compile_errors/stage1/test/switching_with_non-exhaustive_enums.zig index 53cd88e68c..ed46c5f2f1 100644 --- a/test/compile_errors/stage1/test/switching_with_non-exhaustive_enums.zig +++ b/test/compile_errors/stage1/test/switching_with_non-exhaustive_enums.zig @@ -25,7 +25,10 @@ pub export fn entry() void { } } -// switching with non-exhaustive enums +// error +// backend=stage1 +// target=native +// is_test=1 // // tmp.zig:12:5: error: enumeration value 'E.b' not handled in switch // tmp.zig:16:5: error: switch on non-exhaustive enum must include `else` or `_` prong diff --git a/test/compile_errors/stage1/test/tagName_on_invalid_value_of_non-exhaustive_enum.zig b/test/compile_errors/stage1/test/tagName_on_invalid_value_of_non-exhaustive_enum.zig index 139c7c7a23..a98470b681 100644 --- a/test/compile_errors/stage1/test/tagName_on_invalid_value_of_non-exhaustive_enum.zig +++ b/test/compile_errors/stage1/test/tagName_on_invalid_value_of_non-exhaustive_enum.zig @@ -3,6 +3,9 @@ test "enum" { _ = @tagName(@intToEnum(E, 5)); } -// @tagName on invalid value of non-exhaustive enum +// error +// backend=stage1 +// target=native +// is_test=1 // // tmp.zig:3:18: error: no tag by value 5 diff --git a/test/compile_errors/stage1/test/type_mismatch_in_C_prototype_with_varargs.zig b/test/compile_errors/stage1/test/type_mismatch_in_C_prototype_with_varargs.zig index 437cca8772..1f78ef3999 100644 --- a/test/compile_errors/stage1/test/type_mismatch_in_C_prototype_with_varargs.zig +++ b/test/compile_errors/stage1/test/type_mismatch_in_C_prototype_with_varargs.zig @@ -6,6 +6,9 @@ export fn main() void { _ = x; } -// type mismatch in C prototype with varargs +// error +// backend=stage1 +// target=native +// is_test=1 // // tmp.zig:5:22: error: expected type 'fn([*c]u8, ...) callconv(.C) void', found 'fn([*:0]u8, ...) callconv(.C) void' diff --git a/test/compile_errors/stage1/test/type_mismatch_with_tuple_concatenation.zig b/test/compile_errors/stage1/test/type_mismatch_with_tuple_concatenation.zig index ce5e4d4629..5983224676 100644 --- a/test/compile_errors/stage1/test/type_mismatch_with_tuple_concatenation.zig +++ b/test/compile_errors/stage1/test/type_mismatch_with_tuple_concatenation.zig @@ -3,6 +3,9 @@ export fn entry() void { x = x ++ .{ 1, 2, 3 }; } -// type mismatch with tuple concatenation +// error +// backend=stage1 +// target=native +// is_test=1 // // tmp.zig:3:11: error: expected type 'struct:2:14', found 'struct:3:11' diff --git a/test/compile_errors/stage2/constant_inside_comptime_function_has_compile_error.zig b/test/compile_errors/stage2/constant_inside_comptime_function_has_compile_error.zig index 98d6104670..2b67390b05 100644 --- a/test/compile_errors/stage2/constant_inside_comptime_function_has_compile_error.zig +++ b/test/compile_errors/stage2/constant_inside_comptime_function_has_compile_error.zig @@ -15,6 +15,7 @@ export fn entry() void { } // error +// target=native // // :4:5: error: unreachable code // :4:25: note: control flow is diverted here diff --git a/test/compile_errors/stage2/duplicate-unused_labels.zig b/test/compile_errors/stage2/duplicate-unused_labels.zig index 44ab48480d..4bfc6c5960 100644 --- a/test/compile_errors/stage2/duplicate-unused_labels.zig +++ b/test/compile_errors/stage2/duplicate-unused_labels.zig @@ -18,6 +18,7 @@ comptime { } // error +// target=native // // :2:12: error: redefinition of label 'blk' // :2:5: note: previous definition here diff --git a/test/compile_errors/stage2/embed_outside_package.zig b/test/compile_errors/stage2/embed_outside_package.zig index 9cf1a8b905..2003adb061 100644 --- a/test/compile_errors/stage2/embed_outside_package.zig +++ b/test/compile_errors/stage2/embed_outside_package.zig @@ -3,5 +3,6 @@ export fn a() usize { } // error +// target=native // //:2:23: error: embed of file outside package path: '/root/foo' diff --git a/test/compile_errors/stage2/import_outside_package.zig b/test/compile_errors/stage2/import_outside_package.zig index 6b70778754..59a75e2745 100644 --- a/test/compile_errors/stage2/import_outside_package.zig +++ b/test/compile_errors/stage2/import_outside_package.zig @@ -3,5 +3,6 @@ export fn a() usize { } // error +// target=native // // :2:20: error: import of file outside package path: '../../above.zig' diff --git a/test/compile_errors/stage2/out_of_bounds_index.zig b/test/compile_errors/stage2/out_of_bounds_index.zig index 614c445d46..ea9bc6521d 100644 --- a/test/compile_errors/stage2/out_of_bounds_index.zig +++ b/test/compile_errors/stage2/out_of_bounds_index.zig @@ -21,6 +21,7 @@ comptime { } // error +// target=native // // :4:26: error: end index 6 out of bounds for slice of length 4 +1 (sentinel) // :9:22: error: end index 6 out of bounds for array of length 4 +1 (sentinel) diff --git a/test/compile_errors/stage2/slice_of_null_pointer.zig b/test/compile_errors/stage2/slice_of_null_pointer.zig index a33a904842..7f2c74a8a6 100644 --- a/test/compile_errors/stage2/slice_of_null_pointer.zig +++ b/test/compile_errors/stage2/slice_of_null_pointer.zig @@ -6,5 +6,6 @@ comptime { } // error +// target=native // // :4:14: error: slice of null pointer diff --git a/test/compile_errors/stage2/struct_duplicate_field_name.zig b/test/compile_errors/stage2/struct_duplicate_field_name.zig index e7bed78d06..7e4434f1d9 100644 --- a/test/compile_errors/stage2/struct_duplicate_field_name.zig +++ b/test/compile_errors/stage2/struct_duplicate_field_name.zig @@ -9,6 +9,7 @@ export fn entry() void { } // error +// target=native // // :3:5: error: duplicate struct field: 'foo' // :2:5: note: other field here diff --git a/test/compile_errors/stage2/union_access_of_inactive_field.zig b/test/compile_errors/stage2/union_access_of_inactive_field.zig index 881279e1c3..4f72914216 100644 --- a/test/compile_errors/stage2/union_access_of_inactive_field.zig +++ b/test/compile_errors/stage2/union_access_of_inactive_field.zig @@ -9,6 +9,7 @@ comptime { } // error +// target=native // // :7:16: error: access of union field 'b' while field 'a' is active // :1:11: note: union declared here diff --git a/test/compile_errors/stage2/union_duplicate_enum_field.zig b/test/compile_errors/stage2/union_duplicate_enum_field.zig index 5a08256edb..44eb58e014 100644 --- a/test/compile_errors/stage2/union_duplicate_enum_field.zig +++ b/test/compile_errors/stage2/union_duplicate_enum_field.zig @@ -10,6 +10,7 @@ export fn foo() void { } // error +// target=native // // :4:5: error: duplicate union field: 'a' // :3:5: note: other field here diff --git a/test/compile_errors/stage2/union_duplicate_field_definition.zig b/test/compile_errors/stage2/union_duplicate_field_definition.zig index 7aab7c4695..7993f27141 100644 --- a/test/compile_errors/stage2/union_duplicate_field_definition.zig +++ b/test/compile_errors/stage2/union_duplicate_field_definition.zig @@ -9,6 +9,7 @@ export fn entry() void { } // error +// target=native // // :3:5: error: duplicate union field: 'foo' // :2:5: note: other field here diff --git a/test/compile_errors/stage2/union_enum_field_missing.zig b/test/compile_errors/stage2/union_enum_field_missing.zig index 638c9fec26..25ec477894 100644 --- a/test/compile_errors/stage2/union_enum_field_missing.zig +++ b/test/compile_errors/stage2/union_enum_field_missing.zig @@ -14,6 +14,7 @@ export fn entry() usize { } // error +// target=native // // :7:1: error: enum field(s) missing in union // :4:5: note: field 'c' missing, declared here diff --git a/test/compile_errors/stage2/union_extra_field.zig b/test/compile_errors/stage2/union_extra_field.zig index cdfa482208..e3bc0deb33 100644 --- a/test/compile_errors/stage2/union_extra_field.zig +++ b/test/compile_errors/stage2/union_extra_field.zig @@ -14,6 +14,7 @@ export fn entry() usize { } // error +// target=native // // :6:1: error: enum 'tmp.E' has no field named 'd' // :1:11: note: enum declared here diff --git a/test/compile_errors/stage2/union_runtime_coercion_from_enum.zig b/test/compile_errors/stage2/union_runtime_coercion_from_enum.zig index 56cd2db83b..9020e9d5d7 100644 --- a/test/compile_errors/stage2/union_runtime_coercion_from_enum.zig +++ b/test/compile_errors/stage2/union_runtime_coercion_from_enum.zig @@ -15,6 +15,7 @@ export fn doTheTest() u64 { } // error +// target=native // // :13:19: error: runtime coercion from enum 'tmp.E' to union 'tmp.U' which has non-void fields // :6:5: note: field 'a' has type 'u32'