aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorKimplul <kimi.h.kuparinen@gmail.com>2023-03-27 03:18:48 +0300
committerKimplul <kimi.h.kuparinen@gmail.com>2023-03-27 03:18:48 +0300
commit78cf00cb506cb86112cb715e4d2d69ec11b20c42 (patch)
tree32a1fd3d1e60343cb1e654900c2d4dedca5e938b /tests
parent9fb179ab999c3b98caabca09b30c409dc5dd3b3d (diff)
downloadek-78cf00cb506cb86112cb715e4d2d69ec11b20c42.tar.gz
ek-78cf00cb506cb86112cb715e4d2d69ec11b20c42.zip
change typeof to be a full time type
Diffstat (limited to 'tests')
-rw-r--r--tests/callbacks.cu17
-rw-r--r--tests/calls.cu19
-rw-r--r--tests/loops.cu4
3 files changed, 40 insertions, 0 deletions
diff --git a/tests/callbacks.cu b/tests/callbacks.cu
new file mode 100644
index 0000000..0249065
--- /dev/null
+++ b/tests/callbacks.cu
@@ -0,0 +1,17 @@
+do_stuff(proc '(u32))
+{
+ proc();
+}
+
+other_proc(u32)
+{
+}
+
+other_proc()
+{
+}
+
+main()
+{
+ do_stuff(other_proc as '(u32));
+}
diff --git a/tests/calls.cu b/tests/calls.cu
new file mode 100644
index 0000000..4978649
--- /dev/null
+++ b/tests/calls.cu
@@ -0,0 +1,19 @@
+typedef some_type {
+ add(some_type, some_type => some_type);
+}
+
+add(a u32, b u32 => u32)
+{
+ return a + b;
+}
+
+/* ah fuck, analyze_proc gobbles up the typeof */
+some_proc(a some_type, b typeof a => typeof a)
+{
+ return add(a, b);
+}
+
+main()
+{
+ some_proc(20 as u32, 40 as u32);
+}
diff --git a/tests/loops.cu b/tests/loops.cu
new file mode 100644
index 0000000..5b6f702
--- /dev/null
+++ b/tests/loops.cu
@@ -0,0 +1,4 @@
+/* this should error out with some decent message about type loops or something
+ * */
+f(=>typeof main()){}
+main(=> typeof f()){}