summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGabriel Kerneis2014-02-05 17:11:12 +0000
committerGabriel Kerneis2014-02-05 17:11:12 +0000
commit48a0e38202340ad72f4827474198c7f00bac2bc6 (patch)
treee09fdca9476ade9a782148eb7c1e63e2591d8415
parente99d40206441306f472fb7ba896967183673fd61 (diff)
Adding failing typechecking test
File "test/test1.sail", line 27, character 22 to line 27, character 26 Type error: Type mismatch :(6() * ) , bit
-rw-r--r--src/test/test1.sail16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/test/test1.sail b/src/test/test1.sail
index 78258929..c035ea4b 100644
--- a/src/test/test1.sail
+++ b/src/test/test1.sail
@@ -13,6 +13,22 @@ let bool e = true
let bit v = bitzero
let ( bit [ 32 ] ) v1 = 0b101
+(* scattered function definition and union definition *)
+scattered function unit f
+scattered typedef ast = const union
+
+union ast member bit * bit * bit A
+function clause f ( A (a,b,c) ) = ()
+
+union ast member bit * bit B
+function clause f ( B (a,b) ) = ()
+
+union ast member bit C
+function clause f ( C (a) ) = ()
+
+end f
+end ast
+
function bit sw s = switch s { case 0 -> bitzero }
function bit main _ = {sw(0); v1[0] }