[commit: ghc] ghc-7.10: Dump files always use UTF8 encoding #10762 (307e0a5)
git at git.haskell.org
git at git.haskell.org
Sat Aug 22 13:54:23 UTC 2015
Repository : ssh://git@git.haskell.org/ghc
On branch : ghc-7.10
Link : http://ghc.haskell.org/trac/ghc/changeset/307e0a58838403c6a609b493d042eca5967035c9/ghc
>---------------------------------------------------------------
commit 307e0a58838403c6a609b493d042eca5967035c9
Author: Michael Snoyman <michael at snoyman.com>
Date: Tue Aug 18 17:58:36 2015 +0200
Dump files always use UTF8 encoding #10762
When the Windows codepage or *nix LANG variable is something besides
UTF-8, dumping to file can cause GHC to exit currently. This changes the
output encoding for files to match the defined input encoding for
Haskell source code (UTF-8), making it easier for users and build tools
to capture this output.
Test Plan:
Create a Haskell source file with non-Latin characters for identifier
names and
compile with:
LANG=C ghc -ddump-to-file -ddump-hi filename.hs -fforce-recomp
Without this patch, it will fail. With this patch, it succeeds
Reviewers: austin, rwbarton, bgamari
Reviewed By: bgamari
Subscribers: thomie
Differential Revision: https://phabricator.haskell.org/D1151
GHC Trac Issues: #10762
>---------------------------------------------------------------
307e0a58838403c6a609b493d042eca5967035c9
compiler/main/ErrUtils.hs | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/compiler/main/ErrUtils.hs b/compiler/main/ErrUtils.hs
index 6dbf60a..2a3b4c7 100644
--- a/compiler/main/ErrUtils.hs
+++ b/compiler/main/ErrUtils.hs
@@ -291,6 +291,13 @@ dumpSDoc dflags print_unqual flag hdr doc
writeIORef gdref (Set.insert fileName gd)
createDirectoryIfMissing True (takeDirectory fileName)
handle <- openFile fileName mode
+
+ -- We do not want the dump file to be affected by
+ -- environment variables, but instead to always use
+ -- UTF8. See:
+ -- https://ghc.haskell.org/trac/ghc/ticket/10762
+ hSetEncoding handle utf8
+
doc' <- if null hdr
then return doc
else do t <- getCurrentTime
More information about the ghc-commits
mailing list