From f7b035a505e86ad916a43ab1dc1a662a6066b011 Mon Sep 17 00:00:00 2001 From: Eugen Wissner Date: Thu, 24 Sep 2026 00:39:51 +0200 Subject: Move module heading to the top --- testsuite/fail_compilation/access_record_type_field.elna | 2 ++ testsuite/fail_compilation/alias-cycle-behind-const.elna | 3 +++ testsuite/fail_compilation/alias-cycle.elna | 3 +++ testsuite/fail_compilation/alias-field-cycle.elna | 3 +++ testsuite/fail_compilation/aligned_attribute.elna | 6 +----- testsuite/fail_compilation/array-cycle.elna | 3 +++ testsuite/fail_compilation/assign_array_length.elna | 4 +--- testsuite/fail_compilation/assign_const_array_pointer.elna | 2 ++ testsuite/fail_compilation/assign_const_element.elna | 2 ++ testsuite/fail_compilation/assign_const_member.elna | 2 ++ testsuite/fail_compilation/assign_const_primitive.elna | 2 ++ testsuite/fail_compilation/assign_const_record_pointer.elna | 2 ++ testsuite/fail_compilation/assign_const_to_pointer.elna | 4 +--- testsuite/fail_compilation/assign_deep_const_pointer.elna | 2 ++ testsuite/fail_compilation/assign_element_of_const.elna | 2 ++ testsuite/fail_compilation/assign_from_const_pointer.elna | 4 +--- testsuite/fail_compilation/assign_member_of_const.elna | 2 ++ testsuite/fail_compilation/assign_slice_ptr.elna | 4 +--- testsuite/fail_compilation/assign_to_call_result_field.elna | 4 +--- testsuite/fail_compilation/assign_to_slicing.elna | 4 +--- testsuite/fail_compilation/assign_void_call.elna | 4 +--- testsuite/fail_compilation/case_label_overflow.elna | 4 +--- testsuite/fail_compilation/case_non_constant.elna | 4 +--- testsuite/fail_compilation/case_type_mismatch.elna | 4 +--- testsuite/fail_compilation/case_unique_label.elna | 2 -- testsuite/fail_compilation/circular_import/sut.elna | 2 ++ testsuite/fail_compilation/compare_unrelated_records.elna | 4 +--- testsuite/fail_compilation/compile_time_array_ptr.elna | 2 ++ testsuite/fail_compilation/const_array.elna | 3 ++- testsuite/fail_compilation/const_uninitialized.elna | 2 ++ testsuite/fail_compilation/constant_enum_to_int.elna | 4 +--- testsuite/fail_compilation/double_const.elna | 3 ++- testsuite/fail_compilation/enumeration_member_missing.elna | 2 ++ testsuite/fail_compilation/float_remainder.elna | 2 ++ testsuite/fail_compilation/generic_arity.elna | 6 ++---- testsuite/fail_compilation/generic_base_mismatch.elna | 4 +--- testsuite/fail_compilation/generic_parameter_arithmetic.elna | 6 ++---- testsuite/fail_compilation/generic_uninferrable.elna | 8 ++++---- testsuite/fail_compilation/import_import_collision/first.elna | 2 ++ testsuite/fail_compilation/import_import_collision/second.elna | 2 ++ testsuite/fail_compilation/import_import_collision/sut.elna | 2 ++ testsuite/fail_compilation/import_local_collision/helper.elna | 2 ++ testsuite/fail_compilation/import_local_collision/sut.elna | 5 ++--- testsuite/fail_compilation/local_var_exported.elna | 2 ++ testsuite/fail_compilation/local_var_extern.elna | 2 ++ testsuite/fail_compilation/negative_integer_literal_overflow.elna | 2 ++ testsuite/fail_compilation/non_constant_array_dimension.elna | 8 +++----- testsuite/fail_compilation/offset_not_record.elna | 4 +--- testsuite/fail_compilation/opaque_pointer_arithmetic.elna | 4 +--- testsuite/fail_compilation/opaque_slice_element.elna | 2 ++ testsuite/fail_compilation/pointer-cycle.elna | 2 ++ testsuite/fail_compilation/proc_type_without_parameters.elna | 4 +--- testsuite/fail_compilation/procedure-cycle.elna | 2 ++ testsuite/fail_compilation/program_arguments.elna | 2 -- testsuite/fail_compilation/record-base-cycle-indirect.elna | 6 ++---- testsuite/fail_compilation/record-base-cycle.elna | 2 ++ .../fail_compilation/record_base_constructor_type_mismatch.elna | 4 +--- testsuite/fail_compilation/record_duplicate_field.elna | 2 ++ .../record_duplicate_field_import_base/helper.elna | 2 ++ .../fail_compilation/record_duplicate_field_import_base/sut.elna | 2 ++ testsuite/fail_compilation/redefined_variable.elna | 2 ++ testsuite/fail_compilation/reference_call_result_field.elna | 4 +--- testsuite/fail_compilation/reference_literal.elna | 4 +--- testsuite/fail_compilation/reference_slicing.elna | 4 +--- testsuite/fail_compilation/slice-cycle.elna | 2 ++ testsuite/fail_compilation/unary_minus_on_record.elna | 2 ++ testsuite/fail_compilation/unary_negation_on_record.elna | 2 ++ testsuite/fail_compilation/unary_plus_on_record.elna | 2 ++ testsuite/fail_compilation/varargs_argument.elna | 4 +--- testsuite/fail_compilation/varargs_attribute.elna | 3 ++- testsuite/fail_compilation/while_condition.elna | 2 -- 71 files changed, 121 insertions(+), 101 deletions(-) (limited to 'testsuite/fail_compilation') diff --git a/testsuite/fail_compilation/access_record_type_field.elna b/testsuite/fail_compilation/access_record_type_field.elna index 4378404..4dcdceb 100644 --- a/testsuite/fail_compilation/access_record_type_field.elna +++ b/testsuite/fail_compilation/access_record_type_field.elna @@ -1,3 +1,5 @@ +module + type R = record field1, field2: Int diff --git a/testsuite/fail_compilation/alias-cycle-behind-const.elna b/testsuite/fail_compilation/alias-cycle-behind-const.elna index 0c3b626..a05240b 100644 --- a/testsuite/fail_compilation/alias-cycle-behind-const.elna +++ b/testsuite/fail_compilation/alias-cycle-behind-const.elna @@ -1,4 +1,7 @@ +module + type A = B B = const A (* @Error Type declaration forms a cycle: A -> B -> A *) + end. diff --git a/testsuite/fail_compilation/alias-cycle.elna b/testsuite/fail_compilation/alias-cycle.elna index e6c822b..ba05947 100644 --- a/testsuite/fail_compilation/alias-cycle.elna +++ b/testsuite/fail_compilation/alias-cycle.elna @@ -1,4 +1,7 @@ +module + type A = B B = A (* @Error Type declaration forms a cycle: A -> B -> A *) + end. diff --git a/testsuite/fail_compilation/alias-field-cycle.elna b/testsuite/fail_compilation/alias-field-cycle.elna index f4a554a..8296c69 100644 --- a/testsuite/fail_compilation/alias-field-cycle.elna +++ b/testsuite/fail_compilation/alias-field-cycle.elna @@ -1,5 +1,8 @@ +module + type A = record (* @Error Type declaration forms a cycle: A -> A *) field: A end + end. diff --git a/testsuite/fail_compilation/aligned_attribute.elna b/testsuite/fail_compilation/aligned_attribute.elna index aab5513..46a9b94 100644 --- a/testsuite/fail_compilation/aligned_attribute.elna +++ b/testsuite/fail_compilation/aligned_attribute.elna @@ -1,3 +1,4 @@ +module type Uneven = record x #{aligned 3}: Word8 (* @Error Alignment must be a power of two *) @@ -10,11 +11,6 @@ type end proc takes(p #{aligned 8}: Int) (* @Error Attribute 'aligned' is not supported in this position *) -begin return -program() -begin -return 0u8 - end. diff --git a/testsuite/fail_compilation/array-cycle.elna b/testsuite/fail_compilation/array-cycle.elna index 617e23d..a5b79c2 100644 --- a/testsuite/fail_compilation/array-cycle.elna +++ b/testsuite/fail_compilation/array-cycle.elna @@ -1,3 +1,6 @@ +module + type A = [2]A (* @Error Type declaration forms a cycle: A -> A *) + end. diff --git a/testsuite/fail_compilation/assign_array_length.elna b/testsuite/fail_compilation/assign_array_length.elna index 92d6769..c794b11 100644 --- a/testsuite/fail_compilation/assign_array_length.elna +++ b/testsuite/fail_compilation/assign_array_length.elna @@ -1,10 +1,8 @@ +program() var slice: []Int array: [2]Int -program() begin array.length := slice.length (* @Error Cannot assign to a value of type 'const Word', because it is constant or contains constant members *) -return 0u8 - end. diff --git a/testsuite/fail_compilation/assign_const_array_pointer.elna b/testsuite/fail_compilation/assign_const_array_pointer.elna index 32dc66d..d8ecb72 100644 --- a/testsuite/fail_compilation/assign_const_array_pointer.elna +++ b/testsuite/fail_compilation/assign_const_array_pointer.elna @@ -1,3 +1,5 @@ +module + proc f() var p: ^[2]Int diff --git a/testsuite/fail_compilation/assign_const_element.elna b/testsuite/fail_compilation/assign_const_element.elna index 9b9c341..721d337 100644 --- a/testsuite/fail_compilation/assign_const_element.elna +++ b/testsuite/fail_compilation/assign_const_element.elna @@ -1,3 +1,5 @@ +module + type CI = const Int diff --git a/testsuite/fail_compilation/assign_const_member.elna b/testsuite/fail_compilation/assign_const_member.elna index 8aecb01..a603729 100644 --- a/testsuite/fail_compilation/assign_const_member.elna +++ b/testsuite/fail_compilation/assign_const_member.elna @@ -1,3 +1,5 @@ +module + type R = record x: const Int diff --git a/testsuite/fail_compilation/assign_const_primitive.elna b/testsuite/fail_compilation/assign_const_primitive.elna index 22fef25..2db9c85 100644 --- a/testsuite/fail_compilation/assign_const_primitive.elna +++ b/testsuite/fail_compilation/assign_const_primitive.elna @@ -1,3 +1,5 @@ +module + proc f() var x: const Int := 4 diff --git a/testsuite/fail_compilation/assign_const_record_pointer.elna b/testsuite/fail_compilation/assign_const_record_pointer.elna index 5e6f3df..adf3d91 100644 --- a/testsuite/fail_compilation/assign_const_record_pointer.elna +++ b/testsuite/fail_compilation/assign_const_record_pointer.elna @@ -1,3 +1,5 @@ +module + type B = record x: Int diff --git a/testsuite/fail_compilation/assign_const_to_pointer.elna b/testsuite/fail_compilation/assign_const_to_pointer.elna index 50e4a44..796b60c 100644 --- a/testsuite/fail_compilation/assign_const_to_pointer.elna +++ b/testsuite/fail_compilation/assign_const_to_pointer.elna @@ -1,10 +1,8 @@ +program() var c: const Int := 2 p: Pointer -program() begin p := @c (* @Error Expected type 'Pointer', but got '\^const Int' *) -return 0u8 - end. diff --git a/testsuite/fail_compilation/assign_deep_const_pointer.elna b/testsuite/fail_compilation/assign_deep_const_pointer.elna index 7ed3840..7c977d4 100644 --- a/testsuite/fail_compilation/assign_deep_const_pointer.elna +++ b/testsuite/fail_compilation/assign_deep_const_pointer.elna @@ -1,3 +1,5 @@ +module + proc f() var p: ^^const Int diff --git a/testsuite/fail_compilation/assign_element_of_const.elna b/testsuite/fail_compilation/assign_element_of_const.elna index 8235448..a51822b 100644 --- a/testsuite/fail_compilation/assign_element_of_const.elna +++ b/testsuite/fail_compilation/assign_element_of_const.elna @@ -1,3 +1,5 @@ +module + proc f() var a: const [2]Int := [1, 3] diff --git a/testsuite/fail_compilation/assign_from_const_pointer.elna b/testsuite/fail_compilation/assign_from_const_pointer.elna index 4c383cc..64f7f5d 100644 --- a/testsuite/fail_compilation/assign_from_const_pointer.elna +++ b/testsuite/fail_compilation/assign_from_const_pointer.elna @@ -1,10 +1,8 @@ +program() var cv: const Pointer := nil p: Pointer -program() begin p := cv (* @Error Expected type 'Pointer', but got 'const Pointer' *) -return 0u8 - end. diff --git a/testsuite/fail_compilation/assign_member_of_const.elna b/testsuite/fail_compilation/assign_member_of_const.elna index fc945bb..efdf67b 100644 --- a/testsuite/fail_compilation/assign_member_of_const.elna +++ b/testsuite/fail_compilation/assign_member_of_const.elna @@ -1,3 +1,5 @@ +module + type R = record x: Int diff --git a/testsuite/fail_compilation/assign_slice_ptr.elna b/testsuite/fail_compilation/assign_slice_ptr.elna index fa3dd22..b4e72f1 100644 --- a/testsuite/fail_compilation/assign_slice_ptr.elna +++ b/testsuite/fail_compilation/assign_slice_ptr.elna @@ -1,10 +1,8 @@ +program() var slice: []Int array: [2]Int -program() begin slice.ptr := array.ptr (* @Error Cannot assign to a value of type 'const \^Int', because it is constant or contains constant members *) -return 0u8 - end. diff --git a/testsuite/fail_compilation/assign_to_call_result_field.elna b/testsuite/fail_compilation/assign_to_call_result_field.elna index 50cd135..e4995e5 100644 --- a/testsuite/fail_compilation/assign_to_call_result_field.elna +++ b/testsuite/fail_compilation/assign_to_call_result_field.elna @@ -1,3 +1,4 @@ +program() type R = record x: Int @@ -10,9 +11,6 @@ begin result.x := 1 return result -program() begin make().x := 5 (* @Error Expression of type 'Int' is not addressable *) -return 0u8 - end. diff --git a/testsuite/fail_compilation/assign_to_slicing.elna b/testsuite/fail_compilation/assign_to_slicing.elna index 92d0dae..da369b3 100644 --- a/testsuite/fail_compilation/assign_to_slicing.elna +++ b/testsuite/fail_compilation/assign_to_slicing.elna @@ -1,10 +1,8 @@ +program() var s: [3]Int t: [2]Int -program() begin s[1 to 2] := t[1 to 2] (* @Error Expression of type '\[\]Int' is not addressable *) -return 0u8 - end. diff --git a/testsuite/fail_compilation/assign_void_call.elna b/testsuite/fail_compilation/assign_void_call.elna index 75f7c6b..ecdba8d 100644 --- a/testsuite/fail_compilation/assign_void_call.elna +++ b/testsuite/fail_compilation/assign_void_call.elna @@ -1,12 +1,10 @@ +program() var x: Int proc v() return -program() begin x := v() (* @Error Expected type 'Int', but the expression has no value *) -return 0u8 - end. diff --git a/testsuite/fail_compilation/case_label_overflow.elna b/testsuite/fail_compilation/case_label_overflow.elna index def83e9..cfed88a 100644 --- a/testsuite/fail_compilation/case_label_overflow.elna +++ b/testsuite/fail_compilation/case_label_overflow.elna @@ -1,7 +1,7 @@ +program() var x: Int8 := 100i8 -program() begin case x of 100i8: assert(true) @@ -9,6 +9,4 @@ begin else assert(false) end -return 0u8 - end. diff --git a/testsuite/fail_compilation/case_non_constant.elna b/testsuite/fail_compilation/case_non_constant.elna index 0345653..9f7ba9a 100644 --- a/testsuite/fail_compilation/case_non_constant.elna +++ b/testsuite/fail_compilation/case_non_constant.elna @@ -1,3 +1,4 @@ +program() type R = record a: Int; @@ -8,12 +9,9 @@ var r: R x: R -program() begin x := r; case x of r: (* @Error Case label must be a constant expression *) end -return 0u8 - end. diff --git a/testsuite/fail_compilation/case_type_mismatch.elna b/testsuite/fail_compilation/case_type_mismatch.elna index 56be244..f2db7e7 100644 --- a/testsuite/fail_compilation/case_type_mismatch.elna +++ b/testsuite/fail_compilation/case_type_mismatch.elna @@ -1,12 +1,10 @@ +program() var x: Int -program() begin case x of 1: (* ok *) | true: (* @Error Invalid operands of type 'Int' and 'Bool' for operator = *) end -return 0u8 - end. diff --git a/testsuite/fail_compilation/case_unique_label.elna b/testsuite/fail_compilation/case_unique_label.elna index 95d5f53..7ee8391 100644 --- a/testsuite/fail_compilation/case_unique_label.elna +++ b/testsuite/fail_compilation/case_unique_label.elna @@ -5,6 +5,4 @@ begin | 3: | 1 + 2: (* @Error Duplicate case label *) end -return 0u8 - end. diff --git a/testsuite/fail_compilation/circular_import/sut.elna b/testsuite/fail_compilation/circular_import/sut.elna index f6452fb..7641a73 100644 --- a/testsuite/fail_compilation/circular_import/sut.elna +++ b/testsuite/fail_compilation/circular_import/sut.elna @@ -1,3 +1,5 @@ +module + import sut (* @Error Circular import of module 'sut' *) end. diff --git a/testsuite/fail_compilation/compare_unrelated_records.elna b/testsuite/fail_compilation/compare_unrelated_records.elna index 4b04aa7..a113809 100644 --- a/testsuite/fail_compilation/compare_unrelated_records.elna +++ b/testsuite/fail_compilation/compare_unrelated_records.elna @@ -1,3 +1,4 @@ +program() type A = record x: Int @@ -12,9 +13,6 @@ var b: B ok: Bool -program() begin ok := b = a (* @Error Invalid operands of type 'B' and 'A' for operator = *) -return 0u8 - end. diff --git a/testsuite/fail_compilation/compile_time_array_ptr.elna b/testsuite/fail_compilation/compile_time_array_ptr.elna index bd630ac..f11f2f2 100644 --- a/testsuite/fail_compilation/compile_time_array_ptr.elna +++ b/testsuite/fail_compilation/compile_time_array_ptr.elna @@ -1,3 +1,5 @@ +module + var source: [3]Int := [1, 2, 3] target: ^Int := source.ptr (* @Error Variable initializers must be constant expressions *) diff --git a/testsuite/fail_compilation/const_array.elna b/testsuite/fail_compilation/const_array.elna index 7a1a6f5..d42f0b4 100644 --- a/testsuite/fail_compilation/const_array.elna +++ b/testsuite/fail_compilation/const_array.elna @@ -1,7 +1,8 @@ +module + proc f() var a: [10]const Int (* @Error const must be written before the array size, not after *) -begin return end. diff --git a/testsuite/fail_compilation/const_uninitialized.elna b/testsuite/fail_compilation/const_uninitialized.elna index 06db3d7..a3be5d3 100644 --- a/testsuite/fail_compilation/const_uninitialized.elna +++ b/testsuite/fail_compilation/const_uninitialized.elna @@ -1,3 +1,5 @@ +module + var x: const Int (* @Error All constants should be initialized *) diff --git a/testsuite/fail_compilation/constant_enum_to_int.elna b/testsuite/fail_compilation/constant_enum_to_int.elna index 85f6d4c..194109b 100644 --- a/testsuite/fail_compilation/constant_enum_to_int.elna +++ b/testsuite/fail_compilation/constant_enum_to_int.elna @@ -1,3 +1,4 @@ +program() type Enumeration = (one, two, three) @@ -5,9 +6,6 @@ var x: [3]Int := [1, 2, 3] y: []Int -program() begin y := x[Enumeration.one to Enumeration.two] (* @Error Array index must be an integral type, but got 'Enumeration' *) -return 0u8 - end. diff --git a/testsuite/fail_compilation/double_const.elna b/testsuite/fail_compilation/double_const.elna index 204a7f7..fe1b134 100644 --- a/testsuite/fail_compilation/double_const.elna +++ b/testsuite/fail_compilation/double_const.elna @@ -1,7 +1,8 @@ +module + proc f() var x: const const Int (* @Error Duplicate 'const' qualifier is not allowed *) -begin return end. diff --git a/testsuite/fail_compilation/enumeration_member_missing.elna b/testsuite/fail_compilation/enumeration_member_missing.elna index 6f82131..69f1eed 100644 --- a/testsuite/fail_compilation/enumeration_member_missing.elna +++ b/testsuite/fail_compilation/enumeration_member_missing.elna @@ -1,3 +1,5 @@ +module + type Enumeration = (one, two, three) diff --git a/testsuite/fail_compilation/float_remainder.elna b/testsuite/fail_compilation/float_remainder.elna index ec6c9e2..f2eba60 100644 --- a/testsuite/fail_compilation/float_remainder.elna +++ b/testsuite/fail_compilation/float_remainder.elna @@ -1,3 +1,5 @@ +module + proc f() var x: Double diff --git a/testsuite/fail_compilation/generic_arity.elna b/testsuite/fail_compilation/generic_arity.elna index bb234af..645aded 100644 --- a/testsuite/fail_compilation/generic_arity.elna +++ b/testsuite/fail_compilation/generic_arity.elna @@ -1,3 +1,5 @@ +module + type Stack#[T] = record items: T @@ -6,8 +8,4 @@ type var broken: Stack (* @Error Too few type arguments for generic 'Stack', expected 1, got 0 *) -program() -begin -return 0u8 - end. diff --git a/testsuite/fail_compilation/generic_base_mismatch.elna b/testsuite/fail_compilation/generic_base_mismatch.elna index 64e0c40..e361052 100644 --- a/testsuite/fail_compilation/generic_base_mismatch.elna +++ b/testsuite/fail_compilation/generic_base_mismatch.elna @@ -1,3 +1,4 @@ +program() type File = record fd: Int @@ -18,9 +19,6 @@ var jobs: Queue#[^File] wrong: ^List#[^Socket] -program() begin wrong := @jobs (* @Error Expected type '\^List#\[\^Socket\]', but got '\^Queue#\[\^File\]' *) -return 0u8 - end. diff --git a/testsuite/fail_compilation/generic_parameter_arithmetic.elna b/testsuite/fail_compilation/generic_parameter_arithmetic.elna index 969c5c7..e05b1ee 100644 --- a/testsuite/fail_compilation/generic_parameter_arithmetic.elna +++ b/testsuite/fail_compilation/generic_parameter_arithmetic.elna @@ -1,11 +1,9 @@ +module + proc walk#[T](value: T; step: ^T) begin step := step + 1; value := value + 1 (* @Error Type parameter 'T' cannot be used in pointer arithmetic *) return -program() -begin -return 0u8 - end. diff --git a/testsuite/fail_compilation/generic_uninferrable.elna b/testsuite/fail_compilation/generic_uninferrable.elna index 20d3d25..b3556d6 100644 --- a/testsuite/fail_compilation/generic_uninferrable.elna +++ b/testsuite/fail_compilation/generic_uninferrable.elna @@ -1,10 +1,10 @@ -proc allocate#[R](size: Word) -> R extern - program() var got: ^Word8 + +proc allocate#[R](size: Word) -> R +extern + begin got := allocate(8u) (* @Error Type parameter 'R' of 'allocate' cannot be inferred *) -return 0u8 - end. diff --git a/testsuite/fail_compilation/import_import_collision/first.elna b/testsuite/fail_compilation/import_import_collision/first.elna index e60ca8e..251eaee 100644 --- a/testsuite/fail_compilation/import_import_collision/first.elna +++ b/testsuite/fail_compilation/import_import_collision/first.elna @@ -1,3 +1,5 @@ +module + var X*: Int := 1 diff --git a/testsuite/fail_compilation/import_import_collision/second.elna b/testsuite/fail_compilation/import_import_collision/second.elna index 0a3d8e0..65f1ed3 100644 --- a/testsuite/fail_compilation/import_import_collision/second.elna +++ b/testsuite/fail_compilation/import_import_collision/second.elna @@ -1,3 +1,5 @@ +module + var X*: Int := 2 diff --git a/testsuite/fail_compilation/import_import_collision/sut.elna b/testsuite/fail_compilation/import_import_collision/sut.elna index 208aa21..657113d 100644 --- a/testsuite/fail_compilation/import_import_collision/sut.elna +++ b/testsuite/fail_compilation/import_import_collision/sut.elna @@ -1,3 +1,5 @@ +module + import first, second (* @Error Symbol 'X' has been already defined *) end. diff --git a/testsuite/fail_compilation/import_local_collision/helper.elna b/testsuite/fail_compilation/import_local_collision/helper.elna index e60ca8e..251eaee 100644 --- a/testsuite/fail_compilation/import_local_collision/helper.elna +++ b/testsuite/fail_compilation/import_local_collision/helper.elna @@ -1,3 +1,5 @@ +module + var X*: Int := 1 diff --git a/testsuite/fail_compilation/import_local_collision/sut.elna b/testsuite/fail_compilation/import_local_collision/sut.elna index ecac1ca..c628941 100644 --- a/testsuite/fail_compilation/import_local_collision/sut.elna +++ b/testsuite/fail_compilation/import_local_collision/sut.elna @@ -1,9 +1,8 @@ +program() + import helper var X: Int (* @Error Symbol 'X' has been already defined *) -program() -return 0u8 - end. diff --git a/testsuite/fail_compilation/local_var_exported.elna b/testsuite/fail_compilation/local_var_exported.elna index 307d34f..be0183d 100644 --- a/testsuite/fail_compilation/local_var_exported.elna +++ b/testsuite/fail_compilation/local_var_exported.elna @@ -1,3 +1,5 @@ +module + proc test_local_export() var v* : Int (* @Error Local symbols cannot be exported *) diff --git a/testsuite/fail_compilation/local_var_extern.elna b/testsuite/fail_compilation/local_var_extern.elna index d0eb22f..948689c 100644 --- a/testsuite/fail_compilation/local_var_extern.elna +++ b/testsuite/fail_compilation/local_var_extern.elna @@ -1,3 +1,5 @@ +module + proc test_local_extern() var v : Int := extern (* @Error Local symbols cannot be extern *) diff --git a/testsuite/fail_compilation/negative_integer_literal_overflow.elna b/testsuite/fail_compilation/negative_integer_literal_overflow.elna index 7db4888..fa90009 100644 --- a/testsuite/fail_compilation/negative_integer_literal_overflow.elna +++ b/testsuite/fail_compilation/negative_integer_literal_overflow.elna @@ -1,3 +1,5 @@ +module + var a: Int8 := -200i8 (* @Error Integer literal overflows *) diff --git a/testsuite/fail_compilation/non_constant_array_dimension.elna b/testsuite/fail_compilation/non_constant_array_dimension.elna index 8efb9e9..3c69b7e 100644 --- a/testsuite/fail_compilation/non_constant_array_dimension.elna +++ b/testsuite/fail_compilation/non_constant_array_dimension.elna @@ -1,12 +1,10 @@ +program() + proc f(len: Int) var array: [len]Int (* @Error Array dimensions for type 'Int' should be constant *) -begin - return +return -program() begin f(5) -return 0u8 - end. diff --git a/testsuite/fail_compilation/offset_not_record.elna b/testsuite/fail_compilation/offset_not_record.elna index d19e608..93459e4 100644 --- a/testsuite/fail_compilation/offset_not_record.elna +++ b/testsuite/fail_compilation/offset_not_record.elna @@ -1,9 +1,7 @@ +program() var n: Word -program() begin n := #offset(Int, top) (* @Error Type 'Int' does not support trait '#offset' *) -return 0u8 - end. diff --git a/testsuite/fail_compilation/opaque_pointer_arithmetic.elna b/testsuite/fail_compilation/opaque_pointer_arithmetic.elna index cb3a20e..117994a 100644 --- a/testsuite/fail_compilation/opaque_pointer_arithmetic.elna +++ b/testsuite/fail_compilation/opaque_pointer_arithmetic.elna @@ -1,12 +1,10 @@ +program() type Handle = extern var p: ^Handle -program() begin p := p + 1 (* @Error Opaque type 'Handle' cannot be used as an element type in pointer arithmetic *) -return 0u8 - end. diff --git a/testsuite/fail_compilation/opaque_slice_element.elna b/testsuite/fail_compilation/opaque_slice_element.elna index f50be8a..1dc341d 100644 --- a/testsuite/fail_compilation/opaque_slice_element.elna +++ b/testsuite/fail_compilation/opaque_slice_element.elna @@ -1,3 +1,5 @@ +module + type Handle = extern diff --git a/testsuite/fail_compilation/pointer-cycle.elna b/testsuite/fail_compilation/pointer-cycle.elna index fe0258a..f2ed05c 100644 --- a/testsuite/fail_compilation/pointer-cycle.elna +++ b/testsuite/fail_compilation/pointer-cycle.elna @@ -1,3 +1,5 @@ +module + type A = ^A (* @Error Type declaration forms a cycle: A -> A *) diff --git a/testsuite/fail_compilation/proc_type_without_parameters.elna b/testsuite/fail_compilation/proc_type_without_parameters.elna index f7cdffe..d15b7f5 100644 --- a/testsuite/fail_compilation/proc_type_without_parameters.elna +++ b/testsuite/fail_compilation/proc_type_without_parameters.elna @@ -1,12 +1,10 @@ +program() var x: Int proc f() return -program() begin x := f (* @Error Expected type 'Int', but got 'proc\(\)' *) -return 0u8 - end. diff --git a/testsuite/fail_compilation/procedure-cycle.elna b/testsuite/fail_compilation/procedure-cycle.elna index 2284605..f9a128d 100644 --- a/testsuite/fail_compilation/procedure-cycle.elna +++ b/testsuite/fail_compilation/procedure-cycle.elna @@ -1,3 +1,5 @@ +module + type A = proc() -> A (* @Error Type declaration forms a cycle: A -> A *) diff --git a/testsuite/fail_compilation/program_arguments.elna b/testsuite/fail_compilation/program_arguments.elna index e614368..73c38df 100644 --- a/testsuite/fail_compilation/program_arguments.elna +++ b/testsuite/fail_compilation/program_arguments.elna @@ -1,4 +1,2 @@ program(first, second) (* @Error Program entry point should have no or one argument *) -return 0u8 - end. diff --git a/testsuite/fail_compilation/record-base-cycle-indirect.elna b/testsuite/fail_compilation/record-base-cycle-indirect.elna index f60b1aa..75c9805 100644 --- a/testsuite/fail_compilation/record-base-cycle-indirect.elna +++ b/testsuite/fail_compilation/record-base-cycle-indirect.elna @@ -1,3 +1,5 @@ +module + type A = record(B) x: Int @@ -9,8 +11,4 @@ type var v: A -program() -begin -return 0u8 - end. diff --git a/testsuite/fail_compilation/record-base-cycle.elna b/testsuite/fail_compilation/record-base-cycle.elna index 8af254d..ea3d888 100644 --- a/testsuite/fail_compilation/record-base-cycle.elna +++ b/testsuite/fail_compilation/record-base-cycle.elna @@ -1,3 +1,5 @@ +module + type R = record(R) (* @Error Type declaration forms a cycle: R -> R *) end diff --git a/testsuite/fail_compilation/record_base_constructor_type_mismatch.elna b/testsuite/fail_compilation/record_base_constructor_type_mismatch.elna index 621a06c..d7a8419 100644 --- a/testsuite/fail_compilation/record_base_constructor_type_mismatch.elna +++ b/testsuite/fail_compilation/record_base_constructor_type_mismatch.elna @@ -1,3 +1,4 @@ +program() type Base = record a: Int @@ -9,9 +10,6 @@ type var c: Child -program() begin c := Child{a: "wrong", b: 9} (* @Error Expected type 'Int', but got '\[\]const Word8' *) -return 0u8 - end. diff --git a/testsuite/fail_compilation/record_duplicate_field.elna b/testsuite/fail_compilation/record_duplicate_field.elna index 5cf69a9..0cdfbaa 100644 --- a/testsuite/fail_compilation/record_duplicate_field.elna +++ b/testsuite/fail_compilation/record_duplicate_field.elna @@ -1,3 +1,5 @@ +module + type R = record x: Int; diff --git a/testsuite/fail_compilation/record_duplicate_field_import_base/helper.elna b/testsuite/fail_compilation/record_duplicate_field_import_base/helper.elna index 0edb965..7865a3f 100644 --- a/testsuite/fail_compilation/record_duplicate_field_import_base/helper.elna +++ b/testsuite/fail_compilation/record_duplicate_field_import_base/helper.elna @@ -1,3 +1,5 @@ +module + type Parent* = record x: Int; diff --git a/testsuite/fail_compilation/record_duplicate_field_import_base/sut.elna b/testsuite/fail_compilation/record_duplicate_field_import_base/sut.elna index 58f2f3d..97d9a2f 100644 --- a/testsuite/fail_compilation/record_duplicate_field_import_base/sut.elna +++ b/testsuite/fail_compilation/record_duplicate_field_import_base/sut.elna @@ -1,3 +1,5 @@ +module + import helper type diff --git a/testsuite/fail_compilation/redefined_variable.elna b/testsuite/fail_compilation/redefined_variable.elna index 905f6ed..1856807 100644 --- a/testsuite/fail_compilation/redefined_variable.elna +++ b/testsuite/fail_compilation/redefined_variable.elna @@ -1,3 +1,5 @@ +module + var x: Int x: Int (* @Error Symbol 'x' has been already defined *) diff --git a/testsuite/fail_compilation/reference_call_result_field.elna b/testsuite/fail_compilation/reference_call_result_field.elna index d339ed9..b10d324 100644 --- a/testsuite/fail_compilation/reference_call_result_field.elna +++ b/testsuite/fail_compilation/reference_call_result_field.elna @@ -1,3 +1,4 @@ +program() type R = record x: Int @@ -13,9 +14,6 @@ begin result.x := 1 return result -program() begin p := @make().x (* @Error Expression of type 'Int' is not addressable *) -return 0u8 - end. diff --git a/testsuite/fail_compilation/reference_literal.elna b/testsuite/fail_compilation/reference_literal.elna index 26d5a22..72eb986 100644 --- a/testsuite/fail_compilation/reference_literal.elna +++ b/testsuite/fail_compilation/reference_literal.elna @@ -1,9 +1,7 @@ +program() var p: ^Int -program() begin p := @5 (* @Error Expression of type 'Int' is not addressable *) -return 0u8 - end. diff --git a/testsuite/fail_compilation/reference_slicing.elna b/testsuite/fail_compilation/reference_slicing.elna index 3875a5d..838e101 100644 --- a/testsuite/fail_compilation/reference_slicing.elna +++ b/testsuite/fail_compilation/reference_slicing.elna @@ -1,10 +1,8 @@ +program() var s: [3]Int p: ^Int -program() begin p := @s[1 to 2] (* @Error Expression of type '\[\]Int' is not addressable *) -return 0u8 - end. diff --git a/testsuite/fail_compilation/slice-cycle.elna b/testsuite/fail_compilation/slice-cycle.elna index fe0a3e1..0ee44a9 100644 --- a/testsuite/fail_compilation/slice-cycle.elna +++ b/testsuite/fail_compilation/slice-cycle.elna @@ -1,3 +1,5 @@ +module + type A = []A (* @Error Type declaration forms a cycle: A -> A *) diff --git a/testsuite/fail_compilation/unary_minus_on_record.elna b/testsuite/fail_compilation/unary_minus_on_record.elna index d86995b..30da92c 100644 --- a/testsuite/fail_compilation/unary_minus_on_record.elna +++ b/testsuite/fail_compilation/unary_minus_on_record.elna @@ -1,3 +1,5 @@ +module + type R = record x: Int diff --git a/testsuite/fail_compilation/unary_negation_on_record.elna b/testsuite/fail_compilation/unary_negation_on_record.elna index d08d2e3..750f828 100644 --- a/testsuite/fail_compilation/unary_negation_on_record.elna +++ b/testsuite/fail_compilation/unary_negation_on_record.elna @@ -1,3 +1,5 @@ +module + type R = record x: Int diff --git a/testsuite/fail_compilation/unary_plus_on_record.elna b/testsuite/fail_compilation/unary_plus_on_record.elna index e1f6f4c..59485e3 100644 --- a/testsuite/fail_compilation/unary_plus_on_record.elna +++ b/testsuite/fail_compilation/unary_plus_on_record.elna @@ -1,3 +1,5 @@ +module + type R = record x: Int diff --git a/testsuite/fail_compilation/varargs_argument.elna b/testsuite/fail_compilation/varargs_argument.elna index 1325c29..b3b3459 100644 --- a/testsuite/fail_compilation/varargs_argument.elna +++ b/testsuite/fail_compilation/varargs_argument.elna @@ -1,12 +1,10 @@ +program() var written: Int32 proc printf(format: ^const Word8) #{varargs} -> Int32 extern -program() begin written := printf("%s".ptr, "text") (* @Error Type '\[\]const Word8' cannot be passed as a variadic argument *) -return 0u8 - end. diff --git a/testsuite/fail_compilation/varargs_attribute.elna b/testsuite/fail_compilation/varargs_attribute.elna index 1c6d3e0..ec42710 100644 --- a/testsuite/fail_compilation/varargs_attribute.elna +++ b/testsuite/fail_compilation/varargs_attribute.elna @@ -1,5 +1,6 @@ +module + proc with_body(x: Int) #{varargs} (* @Error Attribute 'varargs' is not supported in this position *) -begin return proc no_parameters() #{varargs} -> Int32 (* @Error Attribute 'varargs' requires at least one parameter *) diff --git a/testsuite/fail_compilation/while_condition.elna b/testsuite/fail_compilation/while_condition.elna index 0e4aa3c..bd54796 100644 --- a/testsuite/fail_compilation/while_condition.elna +++ b/testsuite/fail_compilation/while_condition.elna @@ -2,6 +2,4 @@ program() begin while 1 do (* @Error Condition must be a boolean expression, but got 'Int' *) end -return 0u8 - end. -- cgit v1.2.3