summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--testsuite/.gitignore1
-rw-r--r--testsuite/tests/hsc2hs/Makefile11
-rw-r--r--testsuite/tests/hsc2hs/T12504.stdout2
-rw-r--r--testsuite/tests/hsc2hs/T12504/path/to/T12504.hsc5
-rw-r--r--testsuite/tests/hsc2hs/all.T6
m---------utils/hsc2hs0
6 files changed, 25 insertions, 0 deletions
diff --git a/testsuite/.gitignore b/testsuite/.gitignore
index 87e3558677..5e3f1c2cc4 100644
--- a/testsuite/.gitignore
+++ b/testsuite/.gitignore
@@ -790,6 +790,7 @@ mk/ghcconfig*_test___spaces_ghc*.exe.mk
/tests/ghci/scripts/ghci027.hs
/tests/ghci/should_run/3171.err
/tests/hsc2hs/3837.hs
+/tests/hsc2hs/T12504/path/to/T12504.hs
/tests/hsc2hs/T3837.hs
/tests/hsc2hs/hsc2hs001.hs
/tests/hsc2hs/hsc2hs002.hs
diff --git a/testsuite/tests/hsc2hs/Makefile b/testsuite/tests/hsc2hs/Makefile
index 54fa5ad8a0..9b3ee985c0 100644
--- a/testsuite/tests/hsc2hs/Makefile
+++ b/testsuite/tests/hsc2hs/Makefile
@@ -40,3 +40,14 @@ T10272:
'$(HSC2HS)' --cross-compile $@.hsc
'$(TEST_HC)' $(TEST_HC_OPTS) -v0 --make $@
./$@
+
+.PHONY: T12504
+T12504:
+ '$(HSC2HS)' T12504/path/to/$@.hsc
+ifeq "$(WINDOWS)" "YES"
+ grep '{-# LINE 1 \"T12504\\\\path\\\\to\\\\$@\.hsc\" #-}' T12504/path/to/$@.hs
+ grep '{-# LINE 2 \"T12504\\\\path\\\\to\\\\$@\.hsc\" #-}' T12504/path/to/$@.hs
+else
+ grep '{-# LINE 1 \"T12504/path/to/$@\.hsc\" #-}' T12504/path/to/$@.hs
+ grep '{-# LINE 2 \"T12504/path/to/$@\.hsc\" #-}' T12504/path/to/$@.hs
+endif
diff --git a/testsuite/tests/hsc2hs/T12504.stdout b/testsuite/tests/hsc2hs/T12504.stdout
new file mode 100644
index 0000000000..c1c05d0f21
--- /dev/null
+++ b/testsuite/tests/hsc2hs/T12504.stdout
@@ -0,0 +1,2 @@
+{-# LINE 1 "T12504/path/to/T12504.hsc" #-}
+{-# LINE 2 "T12504/path/to/T12504.hsc" #-}
diff --git a/testsuite/tests/hsc2hs/T12504/path/to/T12504.hsc b/testsuite/tests/hsc2hs/T12504/path/to/T12504.hsc
new file mode 100644
index 0000000000..3d05ce0273
--- /dev/null
+++ b/testsuite/tests/hsc2hs/T12504/path/to/T12504.hsc
@@ -0,0 +1,5 @@
+module Main (main) where
+
+main :: IO ()
+main = putStrLn "hello world"
+
diff --git a/testsuite/tests/hsc2hs/all.T b/testsuite/tests/hsc2hs/all.T
index d4fc69d88d..3f910db80b 100644
--- a/testsuite/tests/hsc2hs/all.T
+++ b/testsuite/tests/hsc2hs/all.T
@@ -35,3 +35,9 @@ test('T10272',
[extra_clean(['T10272.hs', 'T10272_hsc_make.c'])],
run_command,
['$MAKE -s --no-print-directory T10272'])
+
+test('T12504',
+ [extra_clean(['T12504/path/to/T12504.hs']),
+ extra_files(['T12504'])],
+ run_command,
+ ['$MAKE -s --no-print-directory T12504'])
diff --git a/utils/hsc2hs b/utils/hsc2hs
-Subproject 5119aebacaca75d983b4d7db32a6305b7f8651d
+Subproject f5ae016e5a69ebf42d612805e51afd9227df938