aboutsummaryrefslogtreecommitdiff
path: root/testsuite
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite')
-rw-r--r--testsuite/fail_compilation/array_dimension_size.elna8
-rw-r--r--testsuite/fail_compilation/array_dimension_type.elna10
-rw-r--r--testsuite/fail_compilation/array_index_type.elna11
-rw-r--r--testsuite/fail_compilation/constant_enum_to_int.elna2
-rw-r--r--testsuite/runnable/backquote_escape.elna4
5 files changed, 34 insertions, 1 deletions
diff --git a/testsuite/fail_compilation/array_dimension_size.elna b/testsuite/fail_compilation/array_dimension_size.elna
new file mode 100644
index 0000000..bd5bb7c
--- /dev/null
+++ b/testsuite/fail_compilation/array_dimension_size.elna
@@ -0,0 +1,8 @@
+module
+
+proc f()
+var
+ a: [0]Int (* @Error Array dimension must be greater than zero *)
+return
+
+end.
diff --git a/testsuite/fail_compilation/array_dimension_type.elna b/testsuite/fail_compilation/array_dimension_type.elna
new file mode 100644
index 0000000..e4720c2
--- /dev/null
+++ b/testsuite/fail_compilation/array_dimension_type.elna
@@ -0,0 +1,10 @@
+module
+
+type Color = (red, green, blue)
+
+proc f()
+var
+ a: [Color.red]Int (* @Error Array dimension must be of type 'Word' or 'Int', but got 'Color' *)
+return
+
+end.
diff --git a/testsuite/fail_compilation/array_index_type.elna b/testsuite/fail_compilation/array_index_type.elna
new file mode 100644
index 0000000..e3081df
--- /dev/null
+++ b/testsuite/fail_compilation/array_index_type.elna
@@ -0,0 +1,11 @@
+module
+
+proc f(i: Word8)
+var
+ a: [10]Int
+ x: Int
+begin
+ x := a[i] (* @Error Array index must be of type 'Word' or 'Int', but got 'Word8' *)
+return
+
+end.
diff --git a/testsuite/fail_compilation/constant_enum_to_int.elna b/testsuite/fail_compilation/constant_enum_to_int.elna
index 194109b..60bfeae 100644
--- a/testsuite/fail_compilation/constant_enum_to_int.elna
+++ b/testsuite/fail_compilation/constant_enum_to_int.elna
@@ -7,5 +7,5 @@ var
y: []Int
begin
- y := x[Enumeration.one to Enumeration.two] (* @Error Array index must be an integral type, but got 'Enumeration' *)
+ y := x[Enumeration.one to Enumeration.two] (* @Error Array index must be of type 'Word' or 'Int', but got 'Enumeration' *)
end.
diff --git a/testsuite/runnable/backquote_escape.elna b/testsuite/runnable/backquote_escape.elna
new file mode 100644
index 0000000..b61e71c
--- /dev/null
+++ b/testsuite/runnable/backquote_escape.elna
@@ -0,0 +1,4 @@
+program()
+begin
+ assert(`\`` = `\{U+60}`)
+end.