diff options
-rw-r--r-- | compiler/GHC/SysTools/BaseDir.hs | 4 | ||||
-rw-r--r-- | testsuite/tests/ghc-api/T20757.hs | 6 | ||||
-rw-r--r-- | testsuite/tests/ghc-api/T20757.stderr | 1 | ||||
-rw-r--r-- | testsuite/tests/ghc-api/all.T | 7 |
4 files changed, 14 insertions, 4 deletions
diff --git a/compiler/GHC/SysTools/BaseDir.hs b/compiler/GHC/SysTools/BaseDir.hs index c0a1fa2cee..5d86ee6925 100644 --- a/compiler/GHC/SysTools/BaseDir.hs +++ b/compiler/GHC/SysTools/BaseDir.hs @@ -196,11 +196,11 @@ findToolDir False top_dir = go 0 (top_dir </> "..") [] InstallationError $ "could not detect mingw toolchain in the following paths: " ++ show tried | otherwise = do let try = path </> "mingw" - let tried = tried ++ [try] + let tried' = tried ++ [try] oneLevel <- doesDirectoryExist try if oneLevel then return (Just path) - else go (k+1) (path </> "..") tried + else go (k+1) (path </> "..") tried' findToolDir True _ = return Nothing #else findToolDir _ _ = return Nothing diff --git a/testsuite/tests/ghc-api/T20757.hs b/testsuite/tests/ghc-api/T20757.hs new file mode 100644 index 0000000000..b6af7815e8 --- /dev/null +++ b/testsuite/tests/ghc-api/T20757.hs @@ -0,0 +1,6 @@ +module Main where + +import GHC.SysTools.BaseDir + +main :: IO () +main = findToolDir False "/" >>= print diff --git a/testsuite/tests/ghc-api/T20757.stderr b/testsuite/tests/ghc-api/T20757.stderr new file mode 100644 index 0000000000..34678db7e3 --- /dev/null +++ b/testsuite/tests/ghc-api/T20757.stderr @@ -0,0 +1 @@ +T20757: could not detect mingw toolchain in the following paths: ["/..//mingw","/..//..//mingw","/..//..//..//mingw"] diff --git a/testsuite/tests/ghc-api/all.T b/testsuite/tests/ghc-api/all.T index 8eecd3c799..4d62a57682 100644 --- a/testsuite/tests/ghc-api/all.T +++ b/testsuite/tests/ghc-api/all.T @@ -30,5 +30,8 @@ test('T18522-dbg-ppr', compile_and_run, ['-package ghc']) test('T19156', extra_run_opts('"' + config.libdir + '"'), - compile_and_run, - ['-package ghc']) + compile_and_run, + ['-package ghc']) +test('T20757', [unless(opsys('mingw32'), skip), exit_code(1)], + compile_and_run, + ['-package ghc']) |