summaryrefslogtreecommitdiff
path: root/testsuite/tests/programs/strict_anns
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/tests/programs/strict_anns')
-rw-r--r--testsuite/tests/programs/strict_anns/Main.hs13
-rw-r--r--testsuite/tests/programs/strict_anns/Makefile3
-rw-r--r--testsuite/tests/programs/strict_anns/strict_anns.stdout2
-rw-r--r--testsuite/tests/programs/strict_anns/test.T6
4 files changed, 24 insertions, 0 deletions
diff --git a/testsuite/tests/programs/strict_anns/Main.hs b/testsuite/tests/programs/strict_anns/Main.hs
new file mode 100644
index 0000000000..b2ee82d4bc
--- /dev/null
+++ b/testsuite/tests/programs/strict_anns/Main.hs
@@ -0,0 +1,13 @@
+-- This test checks that constructors with strictness annotations
+-- at least parse correctly. In GHC 2.02 they didn't!
+
+module Main where
+
+data Foo1 = Crunch1 ! Int ! Int Int deriving( Show )
+
+data Foo2 = Crunch2 ! Int Int Int deriving( Show )
+
+main = do
+ print (Crunch1 (1+1) (2+2) (3+3))
+ print (Crunch2 (1+1) (2+2) (3+3))
+
diff --git a/testsuite/tests/programs/strict_anns/Makefile b/testsuite/tests/programs/strict_anns/Makefile
new file mode 100644
index 0000000000..9101fbd40a
--- /dev/null
+++ b/testsuite/tests/programs/strict_anns/Makefile
@@ -0,0 +1,3 @@
+TOP=../../..
+include $(TOP)/mk/boilerplate.mk
+include $(TOP)/mk/test.mk
diff --git a/testsuite/tests/programs/strict_anns/strict_anns.stdout b/testsuite/tests/programs/strict_anns/strict_anns.stdout
new file mode 100644
index 0000000000..0f6e62ec68
--- /dev/null
+++ b/testsuite/tests/programs/strict_anns/strict_anns.stdout
@@ -0,0 +1,2 @@
+Crunch1 2 4 6
+Crunch2 2 4 6
diff --git a/testsuite/tests/programs/strict_anns/test.T b/testsuite/tests/programs/strict_anns/test.T
new file mode 100644
index 0000000000..77ed9dab53
--- /dev/null
+++ b/testsuite/tests/programs/strict_anns/test.T
@@ -0,0 +1,6 @@
+
+test('strict_anns',
+ [skip_if_fast, extra_clean(['Main.hi', 'Main.o'])],
+ multimod_compile_and_run,
+ ['Main', ''])
+