aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
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()){}