Fixes #12504: Double-escape paths used to build call to hsc_line
authorRichard Cook <rcook@rcook.org>
Mon, 22 Aug 2016 19:14:17 +0000 (12:14 -0700)
committerBen Gamari <ben@smart-cactus.org>
Tue, 30 Aug 2016 21:04:33 +0000 (17:04 -0400)
commitf5ae016e5a69ebf42d612805e51afd9227df9389
tree829c1264c025ebe8c78f7262431419b269826025
parent5119aebacaca75d983b4d7db32a6305b7f8651dd
Fixes #12504: Double-escape paths used to build call to hsc_line

In outHsLine, paths passed to construct invocations of hsc_line must be escaped
twice in order to generate a properly escaped string literal that will end up
in the eventual LINE pragma emitted by this code. This is especially important
on Windows paths, where backslashes would otherwise be treated as C escape
sequences and result in the incorrect Windows paths.

See https://ghc.haskell.org/trac/ghc/ticket/12504
C.hs