summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Martin <andrew.thaddeus@gmail.com>2019-01-21 21:04:30 (GMT)
committerBen Gamari <ben@smart-cactus.org>2019-02-20 19:28:54 (GMT)
commit805681e816a8677e341144d596d65edd29866246 (patch)
tree721097250dd68da572051e6d0c49981f3a9c7c2d
parent4d778c7f4b39645ad55bf12fbe1fedc40f52be25 (diff)
downloadghc-805681e816a8677e341144d596d65edd29866246.zip
ghc-805681e816a8677e341144d596d65edd29866246.tar.gz
ghc-805681e816a8677e341144d596d65edd29866246.tar.bz2
Test that hsc2hs works with promoted data constructors
(cherry picked from commit 79a5afb613235e93bc2c580987595b9c1324db15)
-rw-r--r--testsuite/tests/hsc2hs/Makefile5
-rw-r--r--testsuite/tests/hsc2hs/T11004.hsc13
-rw-r--r--testsuite/tests/hsc2hs/all.T2
m---------utils/hsc2hs0
4 files changed, 20 insertions, 0 deletions
diff --git a/testsuite/tests/hsc2hs/Makefile b/testsuite/tests/hsc2hs/Makefile
index b0751f1..9291e4b 100644
--- a/testsuite/tests/hsc2hs/Makefile
+++ b/testsuite/tests/hsc2hs/Makefile
@@ -41,6 +41,11 @@ T10272:
'$(TEST_HC)' $(TEST_HC_OPTS) -v0 --make $@
./$@
+.PHONY: T11004
+T11004:
+ LANG=C '$(HSC2HS)' $@.hsc
+ '$(TEST_HC)' $(TEST_HC_OPTS) -c $@.hs
+
.PHONY: T12504
T12504:
'$(HSC2HS)' T12504/path/to/$@.hsc
diff --git a/testsuite/tests/hsc2hs/T11004.hsc b/testsuite/tests/hsc2hs/T11004.hsc
new file mode 100644
index 0000000..796d35a
--- /dev/null
+++ b/testsuite/tests/hsc2hs/T11004.hsc
@@ -0,0 +1,13 @@
+{-# LANGUAGE DataKinds #-}
+{-# LANGUAGE GADTs #-}
+{-# LANGUAGE KindSignatures #-}
+
+module T11004 where
+
+import Data.Kind (Type)
+
+data Foo = Foo' | Bar
+
+data Indexed :: Foo -> Type where
+ IndexedA :: Indexed ' Foo'
+ IndexedB :: Indexed 'Bar
diff --git a/testsuite/tests/hsc2hs/all.T b/testsuite/tests/hsc2hs/all.T
index f237d9a..d42f385 100644
--- a/testsuite/tests/hsc2hs/all.T
+++ b/testsuite/tests/hsc2hs/all.T
@@ -14,6 +14,8 @@ test('T4340', [], run_command, ['$MAKE -s --no-print-directory T4340'])
test('T10272', [], run_command, ['$MAKE -s --no-print-directory T10272'])
+test('T11004', [], run_command, ['$MAKE -s --no-print-directory T11004'])
+
test('T12504', [extra_files(['T12504']), ignore_stdout], run_command,
['$MAKE -s --no-print-directory T12504'])
diff --git a/utils/hsc2hs b/utils/hsc2hs
-Subproject a816333ae67c54b98cce4ed22621242714967b3
+Subproject fac8b62e48f4c99cfe8f3efff63c8fcd94b2a1d