summaryrefslogtreecommitdiff
path: root/testsuite/tests/th/2014
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/tests/th/2014')
-rw-r--r--testsuite/tests/th/2014/A.hs1
-rw-r--r--testsuite/tests/th/2014/A.hs-boot1
-rw-r--r--testsuite/tests/th/2014/B.hs9
-rw-r--r--testsuite/tests/th/2014/C.hs8
-rw-r--r--testsuite/tests/th/2014/Makefile9
-rw-r--r--testsuite/tests/th/2014/all.T8
6 files changed, 36 insertions, 0 deletions
diff --git a/testsuite/tests/th/2014/A.hs b/testsuite/tests/th/2014/A.hs
new file mode 100644
index 0000000000..d843c00b78
--- /dev/null
+++ b/testsuite/tests/th/2014/A.hs
@@ -0,0 +1 @@
+module A where
diff --git a/testsuite/tests/th/2014/A.hs-boot b/testsuite/tests/th/2014/A.hs-boot
new file mode 100644
index 0000000000..d843c00b78
--- /dev/null
+++ b/testsuite/tests/th/2014/A.hs-boot
@@ -0,0 +1 @@
+module A where
diff --git a/testsuite/tests/th/2014/B.hs b/testsuite/tests/th/2014/B.hs
new file mode 100644
index 0000000000..0233a40209
--- /dev/null
+++ b/testsuite/tests/th/2014/B.hs
@@ -0,0 +1,9 @@
+{-# LANGUAGE TemplateHaskell #-}
+module B where
+
+import {-# SOURCE #-} A ()
+--import A ()
+import Language.Haskell.TH
+
+expQ :: ExpQ
+expQ = [| () |]
diff --git a/testsuite/tests/th/2014/C.hs b/testsuite/tests/th/2014/C.hs
new file mode 100644
index 0000000000..5ddff11497
--- /dev/null
+++ b/testsuite/tests/th/2014/C.hs
@@ -0,0 +1,8 @@
+{-# LANGUAGE TemplateHaskell #-}
+module C where
+
+import B
+
+foo :: a
+foo = undefined
+ where second = $( expQ )
diff --git a/testsuite/tests/th/2014/Makefile b/testsuite/tests/th/2014/Makefile
new file mode 100644
index 0000000000..eafbcfb7e0
--- /dev/null
+++ b/testsuite/tests/th/2014/Makefile
@@ -0,0 +1,9 @@
+TOP=../../..
+include $(TOP)/mk/boilerplate.mk
+include $(TOP)/mk/test.mk
+
+2014 :
+ '$(TEST_HC)' $(TEST_HC_OPTS) -fforce-recomp -c A.hs-boot
+ '$(TEST_HC)' $(TEST_HC_OPTS) -fforce-recomp -c A.hs
+ '$(TEST_HC)' $(TEST_HC_OPTS) -fforce-recomp -c B.hs
+ '$(TEST_HC)' $(TEST_HC_OPTS) -fforce-recomp -c C.hs -v0
diff --git a/testsuite/tests/th/2014/all.T b/testsuite/tests/th/2014/all.T
new file mode 100644
index 0000000000..c6792677d9
--- /dev/null
+++ b/testsuite/tests/th/2014/all.T
@@ -0,0 +1,8 @@
+setTestOpts(if_compiler_profiled(skip))
+
+test('2014',
+ [req_interp,
+ extra_clean(['A.hi-boot','A.hi','A.o','A.o-boot',
+ 'B.hi', 'B.o', 'C.hi', 'C.o'])],
+ run_command,
+ ['$MAKE -s --no-print-directory 2014'])