multiline literals doesn't work with CPP extension.
If LANGUAGE CPP is enabled then multiline literals stops working. Steps to reproduce.
- write a program with multiline literal: cat 1.hs
test = "mutli\
\line"
main = putStrLn test
- it should compile without CPP:
ghc 1.hs [1 of 1] Compiling Main ( 1.hs, 1.o ) Linking 1 ...
- compile it with CPP extension
Expected result: program compiles
ghc 1.hs
[1 of 1] Compiling Main ( 1.hs, 1.o )
Linking 1 ...
Actual result: compilation breaks
ghc -XCPP 1.hs
[1 of 1] Compiling Main ( 1.hs, 1.o ) [flags changed]
1.hs:1:18:
lexical error in string/character literal at character 'l'
At least ghc-7.8.4 and ghc-7.10 are affected.
Trac metadata
| Trac field | Value |
|---|---|
| Version | 7.10.1 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Compiler |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture |