
#12757: Compiled program segfaults at -O1 -------------------------------------+------------------------------------- Reporter: hvr | Owner: Type: bug | Status: new Priority: highest | Milestone: 8.0.2 Component: Compiler | Version: 8.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: Runtime crash | Test Case: Blocked By: | Blocking: Related Tickets: #11312, #12585 | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by simonpj): Ah! Good insight. comment:3 of #11312 would nail this problem, and we should do that anyway. Short term, not duplicating literal strings seems like the way forward. They are duplicated in `CorePrep`, apparently because of * Edwards's patch for #12076 made `CorePrep` a bit more gung ho about inlining * When inlining in `CorePrep` we use `cpe_ExprIsTrivial`, which treats all literals (including strings) as trivial and hence inlinable. No one quite knows why: see #11158 So the best path forward seems to be to fix #11158, which we want to do anyway. Then we won't duplicate string literals, and `bytestring` will probably be happy again. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/12757#comment:7 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler