aboutsummaryrefslogtreecommitdiff
path: root/testsuite/fail_compilation
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/fail_compilation')
-rw-r--r--testsuite/fail_compilation/aligned_attribute.elna8
-rw-r--r--testsuite/fail_compilation/varargs_argument.elna12
-rw-r--r--testsuite/fail_compilation/varargs_attribute.elna8
3 files changed, 24 insertions, 4 deletions
diff --git a/testsuite/fail_compilation/aligned_attribute.elna b/testsuite/fail_compilation/aligned_attribute.elna
index 3b5a56e..aab5513 100644
--- a/testsuite/fail_compilation/aligned_attribute.elna
+++ b/testsuite/fail_compilation/aligned_attribute.elna
@@ -1,15 +1,15 @@
type
Uneven = record
- #aligned(3) x: Word8 (* @Error Alignment must be a power of two *)
+ x #{aligned 3}: Word8 (* @Error Alignment must be a power of two *)
end
Twice = record
- #aligned(4) #aligned(8) y: Word8 (* @Error Attribute '#aligned' specified more than once *)
+ y #{aligned 4} #{aligned 8}: Word8 (* @Error Attribute 'aligned' specified more than once *)
end
Unknown = record
- #packed(1) z: Word8 (* @Error Attribute '#packed' not declared *)
+ z #{packed 1}: Word8 (* @Error Attribute 'packed' not declared *)
end
-proc takes(#aligned(8) p: Int) (* @Error Attribute '#aligned' is not supported in this position *)
+proc takes(p #{aligned 8}: Int) (* @Error Attribute 'aligned' is not supported in this position *)
begin
return
diff --git a/testsuite/fail_compilation/varargs_argument.elna b/testsuite/fail_compilation/varargs_argument.elna
new file mode 100644
index 0000000..1325c29
--- /dev/null
+++ b/testsuite/fail_compilation/varargs_argument.elna
@@ -0,0 +1,12 @@
+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
new file mode 100644
index 0000000..1c6d3e0
--- /dev/null
+++ b/testsuite/fail_compilation/varargs_attribute.elna
@@ -0,0 +1,8 @@
+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 *)
+extern
+
+end.