Incorrect SCC name parsing according to user manual
The user manual says this about SCC names:
The syntax of a cost centre annotation for expressions is
{-# SCC "name" #-} <expression>
where "name" is an arbitrary string, that will become the name of your cost centre as it appears in the profiling output, and <expression> is any Haskell expression.
However GHC is actually more strict about SCC strings, for example, it doesn't accept spaces:
$ cat test.hs
main = {-# SCC "test test" #-} return ()
$ ghc test.hs
[1 of 1] Compiling Main ( test.hs, test.o )
test.hs:1:16: error: Spaces are not allowed in SCCs
|
1 | main = {-# SCC "test test" #-} return ()
| ^^^^^^^^^^^
It's also possible that GHC is right and user manual is wrong.
Trac metadata
| Trac field | Value |
|---|---|
| Version | 8.5 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Compiler |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture |