summaryrefslogtreecommitdiff
path: root/testsuite/tests/th/TH_import_loop
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/tests/th/TH_import_loop')
-rw-r--r--testsuite/tests/th/TH_import_loop/Main.hs7
-rw-r--r--testsuite/tests/th/TH_import_loop/Makefile3
-rw-r--r--testsuite/tests/th/TH_import_loop/ModuleA.hs5
-rw-r--r--testsuite/tests/th/TH_import_loop/ModuleA.hs-boot3
-rw-r--r--testsuite/tests/th/TH_import_loop/ModuleB.hs9
-rw-r--r--testsuite/tests/th/TH_import_loop/ModuleC.hs9
-rw-r--r--testsuite/tests/th/TH_import_loop/TH_import_loop.T5
7 files changed, 41 insertions, 0 deletions
diff --git a/testsuite/tests/th/TH_import_loop/Main.hs b/testsuite/tests/th/TH_import_loop/Main.hs
new file mode 100644
index 0000000000..4cd66a0173
--- /dev/null
+++ b/testsuite/tests/th/TH_import_loop/Main.hs
@@ -0,0 +1,7 @@
+
+module Main where
+
+import ModuleA
+
+main = return ()
+
diff --git a/testsuite/tests/th/TH_import_loop/Makefile b/testsuite/tests/th/TH_import_loop/Makefile
new file mode 100644
index 0000000000..9101fbd40a
--- /dev/null
+++ b/testsuite/tests/th/TH_import_loop/Makefile
@@ -0,0 +1,3 @@
+TOP=../../..
+include $(TOP)/mk/boilerplate.mk
+include $(TOP)/mk/test.mk
diff --git a/testsuite/tests/th/TH_import_loop/ModuleA.hs b/testsuite/tests/th/TH_import_loop/ModuleA.hs
new file mode 100644
index 0000000000..799f177dfe
--- /dev/null
+++ b/testsuite/tests/th/TH_import_loop/ModuleA.hs
@@ -0,0 +1,5 @@
+
+module ModuleA where
+
+import ModuleB
+
diff --git a/testsuite/tests/th/TH_import_loop/ModuleA.hs-boot b/testsuite/tests/th/TH_import_loop/ModuleA.hs-boot
new file mode 100644
index 0000000000..a5976fdcc6
--- /dev/null
+++ b/testsuite/tests/th/TH_import_loop/ModuleA.hs-boot
@@ -0,0 +1,3 @@
+
+module ModuleA where
+
diff --git a/testsuite/tests/th/TH_import_loop/ModuleB.hs b/testsuite/tests/th/TH_import_loop/ModuleB.hs
new file mode 100644
index 0000000000..9aaffb613f
--- /dev/null
+++ b/testsuite/tests/th/TH_import_loop/ModuleB.hs
@@ -0,0 +1,9 @@
+
+{-# LANGUAGE TemplateHaskell #-}
+
+module ModuleB where
+
+import ModuleC
+
+$(nothing)
+
diff --git a/testsuite/tests/th/TH_import_loop/ModuleC.hs b/testsuite/tests/th/TH_import_loop/ModuleC.hs
new file mode 100644
index 0000000000..3047a8f0d4
--- /dev/null
+++ b/testsuite/tests/th/TH_import_loop/ModuleC.hs
@@ -0,0 +1,9 @@
+
+module ModuleC where
+
+import Language.Haskell.TH
+
+import {-# SOURCE #-} ModuleA
+
+nothing = return [] :: Q [Dec]
+
diff --git a/testsuite/tests/th/TH_import_loop/TH_import_loop.T b/testsuite/tests/th/TH_import_loop/TH_import_loop.T
new file mode 100644
index 0000000000..ebb8a427a7
--- /dev/null
+++ b/testsuite/tests/th/TH_import_loop/TH_import_loop.T
@@ -0,0 +1,5 @@
+
+setTestOpts(if_compiler_profiled(skip))
+
+test('TH_import_loop', expect_broken(1012), multimod_compile_and_run, ['Main', '-v0'])
+