aboutsummaryrefslogtreecommitdiff
path: root/testsuite/fail_compilation
diff options
context:
space:
mode:
authorEugen Wissner <belka@caraus.de>2026-09-02 13:31:04 +0200
committerEugen Wissner <belka@caraus.de>2026-09-07 10:53:02 +0200
commit47521ad6d85f9bd6caee39696ce40dff82cfa50d (patch)
treecf5813033a440c6ac374948894d5dd70e0712cdb /testsuite/fail_compilation
parent0fada11e99da430e9a056e46da9f0e110df6c45c (diff)
downloadelna-47521ad6d85f9bd6caee39696ce40dff82cfa50d.tar.gz
Implement program entry point
Diffstat (limited to 'testsuite/fail_compilation')
-rw-r--r--testsuite/fail_compilation/assign_array_length.elna1
-rw-r--r--testsuite/fail_compilation/assign_const_to_pointer.elna1
-rw-r--r--testsuite/fail_compilation/assign_from_const_pointer.elna1
-rw-r--r--testsuite/fail_compilation/assign_slice_ptr.elna1
-rw-r--r--testsuite/fail_compilation/assign_to_call_result_field.elna1
-rw-r--r--testsuite/fail_compilation/assign_to_slicing.elna1
-rw-r--r--testsuite/fail_compilation/assign_void_call.elna1
-rw-r--r--testsuite/fail_compilation/case_label_overflow.elna1
-rw-r--r--testsuite/fail_compilation/case_non_constant.elna1
-rw-r--r--testsuite/fail_compilation/case_type_mismatch.elna1
-rw-r--r--testsuite/fail_compilation/case_unique_label.elna1
-rw-r--r--testsuite/fail_compilation/compare_unrelated_records.elna1
-rw-r--r--testsuite/fail_compilation/constant_enum_to_int.elna1
-rw-r--r--testsuite/fail_compilation/import_local_collision/helper.elna4
-rw-r--r--testsuite/fail_compilation/import_local_collision/sut.elna3
-rw-r--r--testsuite/fail_compilation/non_constant_array_dimension.elna1
-rw-r--r--testsuite/fail_compilation/opaque_pointer_arithmetic.elna1
-rw-r--r--testsuite/fail_compilation/opaque_slice_element.elna1
-rw-r--r--testsuite/fail_compilation/pointer-cycle.elna1
-rw-r--r--testsuite/fail_compilation/proc_type_without_parameters.elna1
-rw-r--r--testsuite/fail_compilation/procedure-cycle.elna1
-rw-r--r--testsuite/fail_compilation/record-base-cycle-indirect.elna1
-rw-r--r--testsuite/fail_compilation/record-base-cycle.elna1
-rw-r--r--testsuite/fail_compilation/record_base_constructor_type_mismatch.elna1
-rw-r--r--testsuite/fail_compilation/record_duplicate_field.elna1
-rw-r--r--testsuite/fail_compilation/record_duplicate_field_import_base/sut.elna1
-rw-r--r--testsuite/fail_compilation/redefined_variable.elna1
-rw-r--r--testsuite/fail_compilation/reference_call_result_field.elna1
-rw-r--r--testsuite/fail_compilation/reference_literal.elna1
-rw-r--r--testsuite/fail_compilation/reference_slicing.elna1
-rw-r--r--testsuite/fail_compilation/slice-cycle.elna1
-rw-r--r--testsuite/fail_compilation/while_condition.elna1
32 files changed, 29 insertions, 8 deletions
diff --git a/testsuite/fail_compilation/assign_array_length.elna b/testsuite/fail_compilation/assign_array_length.elna
index ac8f9df..bf6f96c 100644
--- a/testsuite/fail_compilation/assign_array_length.elna
+++ b/testsuite/fail_compilation/assign_array_length.elna
@@ -2,6 +2,7 @@ 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 *)
end.
diff --git a/testsuite/fail_compilation/assign_const_to_pointer.elna b/testsuite/fail_compilation/assign_const_to_pointer.elna
index 87047e5..7e26679 100644
--- a/testsuite/fail_compilation/assign_const_to_pointer.elna
+++ b/testsuite/fail_compilation/assign_const_to_pointer.elna
@@ -2,6 +2,7 @@ var
c: const Int := 2
p: Pointer
+program()
begin
p := @c (* @Error Expected type 'Pointer', but got '\^const Int' *)
end.
diff --git a/testsuite/fail_compilation/assign_from_const_pointer.elna b/testsuite/fail_compilation/assign_from_const_pointer.elna
index c39d5cd..5dc050d 100644
--- a/testsuite/fail_compilation/assign_from_const_pointer.elna
+++ b/testsuite/fail_compilation/assign_from_const_pointer.elna
@@ -2,6 +2,7 @@ var
cv: const Pointer := nil
p: Pointer
+program()
begin
p := cv (* @Error Expected type 'Pointer', but got 'const Pointer' *)
end.
diff --git a/testsuite/fail_compilation/assign_slice_ptr.elna b/testsuite/fail_compilation/assign_slice_ptr.elna
index aa7a379..6f09f00 100644
--- a/testsuite/fail_compilation/assign_slice_ptr.elna
+++ b/testsuite/fail_compilation/assign_slice_ptr.elna
@@ -2,6 +2,7 @@ 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 *)
end.
diff --git a/testsuite/fail_compilation/assign_to_call_result_field.elna b/testsuite/fail_compilation/assign_to_call_result_field.elna
index 509b2dd..25096ed 100644
--- a/testsuite/fail_compilation/assign_to_call_result_field.elna
+++ b/testsuite/fail_compilation/assign_to_call_result_field.elna
@@ -10,6 +10,7 @@ begin
result.x := 1
return result
+program()
begin
make().x := 5 (* @Error Expression of type 'Int' is not addressable *)
end.
diff --git a/testsuite/fail_compilation/assign_to_slicing.elna b/testsuite/fail_compilation/assign_to_slicing.elna
index 2266431..6743e06 100644
--- a/testsuite/fail_compilation/assign_to_slicing.elna
+++ b/testsuite/fail_compilation/assign_to_slicing.elna
@@ -2,6 +2,7 @@ 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 *)
end.
diff --git a/testsuite/fail_compilation/assign_void_call.elna b/testsuite/fail_compilation/assign_void_call.elna
index d18b1c8..381bb06 100644
--- a/testsuite/fail_compilation/assign_void_call.elna
+++ b/testsuite/fail_compilation/assign_void_call.elna
@@ -4,6 +4,7 @@ var
proc v()
return
+program()
begin
x := v() (* @Error Expected type 'Int', but the expression has no value *)
end.
diff --git a/testsuite/fail_compilation/case_label_overflow.elna b/testsuite/fail_compilation/case_label_overflow.elna
index ab6dbfd..787f043 100644
--- a/testsuite/fail_compilation/case_label_overflow.elna
+++ b/testsuite/fail_compilation/case_label_overflow.elna
@@ -1,6 +1,7 @@
var
x: Int8 := 100i8
+program()
begin
case x of
100i8: assert(true)
diff --git a/testsuite/fail_compilation/case_non_constant.elna b/testsuite/fail_compilation/case_non_constant.elna
index dc69703..a446c29 100644
--- a/testsuite/fail_compilation/case_non_constant.elna
+++ b/testsuite/fail_compilation/case_non_constant.elna
@@ -8,6 +8,7 @@ var
r: R
x: R
+program()
begin
x := r;
case x of
diff --git a/testsuite/fail_compilation/case_type_mismatch.elna b/testsuite/fail_compilation/case_type_mismatch.elna
index 9cdae38..57afd1f 100644
--- a/testsuite/fail_compilation/case_type_mismatch.elna
+++ b/testsuite/fail_compilation/case_type_mismatch.elna
@@ -1,6 +1,7 @@
var
x: Int
+program()
begin
case x of
1: (* ok *)
diff --git a/testsuite/fail_compilation/case_unique_label.elna b/testsuite/fail_compilation/case_unique_label.elna
index a97fb37..7ee8391 100644
--- a/testsuite/fail_compilation/case_unique_label.elna
+++ b/testsuite/fail_compilation/case_unique_label.elna
@@ -1,3 +1,4 @@
+program()
begin
case 3 of
1:
diff --git a/testsuite/fail_compilation/compare_unrelated_records.elna b/testsuite/fail_compilation/compare_unrelated_records.elna
index 71eaeda..1699406 100644
--- a/testsuite/fail_compilation/compare_unrelated_records.elna
+++ b/testsuite/fail_compilation/compare_unrelated_records.elna
@@ -12,6 +12,7 @@ var
b: B
ok: Bool
+program()
begin
ok := b = a (* @Error Invalid operands of type 'B' and 'A' for operator = *)
end.
diff --git a/testsuite/fail_compilation/constant_enum_to_int.elna b/testsuite/fail_compilation/constant_enum_to_int.elna
index 4be6131..52c31c3 100644
--- a/testsuite/fail_compilation/constant_enum_to_int.elna
+++ b/testsuite/fail_compilation/constant_enum_to_int.elna
@@ -5,6 +5,7 @@ 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' *)
end.
diff --git a/testsuite/fail_compilation/import_local_collision/helper.elna b/testsuite/fail_compilation/import_local_collision/helper.elna
index d6e3712..e60ca8e 100644
--- a/testsuite/fail_compilation/import_local_collision/helper.elna
+++ b/testsuite/fail_compilation/import_local_collision/helper.elna
@@ -1,6 +1,4 @@
var
- X*: Int
+ X*: Int := 1
-begin
- X := 1
end.
diff --git a/testsuite/fail_compilation/import_local_collision/sut.elna b/testsuite/fail_compilation/import_local_collision/sut.elna
index a9de9c9..8b52586 100644
--- a/testsuite/fail_compilation/import_local_collision/sut.elna
+++ b/testsuite/fail_compilation/import_local_collision/sut.elna
@@ -3,5 +3,6 @@ import helper
var
X: Int (* @Error Symbol 'X' has been already defined *)
-begin
+program()
+
end.
diff --git a/testsuite/fail_compilation/non_constant_array_dimension.elna b/testsuite/fail_compilation/non_constant_array_dimension.elna
index 4ab0d34..e3661c7 100644
--- a/testsuite/fail_compilation/non_constant_array_dimension.elna
+++ b/testsuite/fail_compilation/non_constant_array_dimension.elna
@@ -4,6 +4,7 @@ var
begin
return
+program()
begin
f(5)
end.
diff --git a/testsuite/fail_compilation/opaque_pointer_arithmetic.elna b/testsuite/fail_compilation/opaque_pointer_arithmetic.elna
index 307aed8..0223cc8 100644
--- a/testsuite/fail_compilation/opaque_pointer_arithmetic.elna
+++ b/testsuite/fail_compilation/opaque_pointer_arithmetic.elna
@@ -4,6 +4,7 @@ type
var
p: ^Handle
+program()
begin
p := p + 1 (* @Error Opaque type 'Handle' cannot be used as an element type in pointer arithmetic *)
end.
diff --git a/testsuite/fail_compilation/opaque_slice_element.elna b/testsuite/fail_compilation/opaque_slice_element.elna
index 0f28dae..f50be8a 100644
--- a/testsuite/fail_compilation/opaque_slice_element.elna
+++ b/testsuite/fail_compilation/opaque_slice_element.elna
@@ -4,5 +4,4 @@ type
var
s: []Handle (* @Error Opaque type 'Handle' cannot be used to declare a variable *)
-begin
end.
diff --git a/testsuite/fail_compilation/pointer-cycle.elna b/testsuite/fail_compilation/pointer-cycle.elna
index f9ee649..fe0258a 100644
--- a/testsuite/fail_compilation/pointer-cycle.elna
+++ b/testsuite/fail_compilation/pointer-cycle.elna
@@ -1,3 +1,4 @@
type
A = ^A (* @Error Type declaration forms a cycle: A -> A *)
+
end.
diff --git a/testsuite/fail_compilation/proc_type_without_parameters.elna b/testsuite/fail_compilation/proc_type_without_parameters.elna
index 92514f6..3868e1b 100644
--- a/testsuite/fail_compilation/proc_type_without_parameters.elna
+++ b/testsuite/fail_compilation/proc_type_without_parameters.elna
@@ -4,6 +4,7 @@ var
proc f()
return
+program()
begin
x := f (* @Error Expected type 'Int', but got 'proc\(\)' *)
end.
diff --git a/testsuite/fail_compilation/procedure-cycle.elna b/testsuite/fail_compilation/procedure-cycle.elna
index 796cccf..2284605 100644
--- a/testsuite/fail_compilation/procedure-cycle.elna
+++ b/testsuite/fail_compilation/procedure-cycle.elna
@@ -1,3 +1,4 @@
type
A = proc() -> A (* @Error Type declaration forms a cycle: A -> A *)
+
end.
diff --git a/testsuite/fail_compilation/record-base-cycle-indirect.elna b/testsuite/fail_compilation/record-base-cycle-indirect.elna
index 412e6ea..1ea6ca5 100644
--- a/testsuite/fail_compilation/record-base-cycle-indirect.elna
+++ b/testsuite/fail_compilation/record-base-cycle-indirect.elna
@@ -9,5 +9,6 @@ type
var
v: A
+program()
begin
end.
diff --git a/testsuite/fail_compilation/record-base-cycle.elna b/testsuite/fail_compilation/record-base-cycle.elna
index f3bcb20..8af254d 100644
--- a/testsuite/fail_compilation/record-base-cycle.elna
+++ b/testsuite/fail_compilation/record-base-cycle.elna
@@ -1,4 +1,5 @@
type
R = record(R) (* @Error Type declaration forms a cycle: R -> R *)
end
+
end.
diff --git a/testsuite/fail_compilation/record_base_constructor_type_mismatch.elna b/testsuite/fail_compilation/record_base_constructor_type_mismatch.elna
index 85c93c1..fbba47c 100644
--- a/testsuite/fail_compilation/record_base_constructor_type_mismatch.elna
+++ b/testsuite/fail_compilation/record_base_constructor_type_mismatch.elna
@@ -9,6 +9,7 @@ type
var
c: Child
+program()
begin
c := Child{a: "wrong", b: 9} (* @Error Expected type 'Int', but got '\[\]const Word8' *)
end.
diff --git a/testsuite/fail_compilation/record_duplicate_field.elna b/testsuite/fail_compilation/record_duplicate_field.elna
index b98f990..5cf69a9 100644
--- a/testsuite/fail_compilation/record_duplicate_field.elna
+++ b/testsuite/fail_compilation/record_duplicate_field.elna
@@ -4,5 +4,4 @@ type
x: Int (* @Error Record already has a field named 'x' *)
end
-begin
end.
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 7530017..58f2f3d 100644
--- a/testsuite/fail_compilation/record_duplicate_field_import_base/sut.elna
+++ b/testsuite/fail_compilation/record_duplicate_field_import_base/sut.elna
@@ -6,5 +6,4 @@ type
z: Int
end
-begin
end.
diff --git a/testsuite/fail_compilation/redefined_variable.elna b/testsuite/fail_compilation/redefined_variable.elna
index 9cf8c24..905f6ed 100644
--- a/testsuite/fail_compilation/redefined_variable.elna
+++ b/testsuite/fail_compilation/redefined_variable.elna
@@ -2,5 +2,4 @@ var
x: Int
x: Int (* @Error Symbol 'x' has been already defined *)
-begin
end.
diff --git a/testsuite/fail_compilation/reference_call_result_field.elna b/testsuite/fail_compilation/reference_call_result_field.elna
index 5051cc8..2a721f4 100644
--- a/testsuite/fail_compilation/reference_call_result_field.elna
+++ b/testsuite/fail_compilation/reference_call_result_field.elna
@@ -13,6 +13,7 @@ begin
result.x := 1
return result
+program()
begin
p := @make().x (* @Error Expression of type 'Int' is not addressable *)
end.
diff --git a/testsuite/fail_compilation/reference_literal.elna b/testsuite/fail_compilation/reference_literal.elna
index 1967243..1eef82f 100644
--- a/testsuite/fail_compilation/reference_literal.elna
+++ b/testsuite/fail_compilation/reference_literal.elna
@@ -1,6 +1,7 @@
var
p: ^Int
+program()
begin
p := @5 (* @Error Expression of type 'Int' is not addressable *)
end.
diff --git a/testsuite/fail_compilation/reference_slicing.elna b/testsuite/fail_compilation/reference_slicing.elna
index fac8ec6..078b48a 100644
--- a/testsuite/fail_compilation/reference_slicing.elna
+++ b/testsuite/fail_compilation/reference_slicing.elna
@@ -2,6 +2,7 @@ var
s: [3]Int
p: ^Int
+program()
begin
p := @s[1 to 2] (* @Error Expression of type '\[\]Int' is not addressable *)
end.
diff --git a/testsuite/fail_compilation/slice-cycle.elna b/testsuite/fail_compilation/slice-cycle.elna
index 39eb7db..fe0a3e1 100644
--- a/testsuite/fail_compilation/slice-cycle.elna
+++ b/testsuite/fail_compilation/slice-cycle.elna
@@ -1,3 +1,4 @@
type
A = []A (* @Error Type declaration forms a cycle: A -> A *)
+
end.
diff --git a/testsuite/fail_compilation/while_condition.elna b/testsuite/fail_compilation/while_condition.elna
index 1e17489..bd54796 100644
--- a/testsuite/fail_compilation/while_condition.elna
+++ b/testsuite/fail_compilation/while_condition.elna
@@ -1,3 +1,4 @@
+program()
begin
while 1 do (* @Error Condition must be a boolean expression, but got 'Int' *)
end