[GHC] #11772: GHC.CString.unpackCStringUtf8# is inlineable

#11772: GHC.CString.unpackCStringUtf8# is inlineable -------------------------------------+------------------------------------- Reporter: bgamari | Owner: Type: bug | Status: new Priority: normal | Milestone: 8.0.1 Component: Core | Version: 7.10.3 Libraries | Keywords: | Operating System: Unknown/Multiple Architecture: | Type of failure: None/Unknown Unknown/Multiple | Test Case: | Blocked By: Blocking: | Related Tickets: Differential Rev(s): | Wiki Page: -------------------------------------+------------------------------------- While looking through the logs of a build of a project I have lying around with a GHC 8.0 snapshot, I noticed that there may still be some fragile rules in the `text` package (see #11528 for a previous issue). The problem is that `GHC.CString.unpackCStringUtf8#` may be inlined, which may preempt the `TEXT literal UTF8` rule in `Data.Text.Show`. `unpackCStringUtf8#` doesn't seem like a terribly great candidate for inlining as it produces a list, {{{#!hs unpackCStringUtf8# :: Addr# -> [Char] }}} Moreover, the other functions in this module along these lines (e.g. `unpackCString#` are marked `NOINLINE`. Perhaps this should have a `NOINLINE` pragma as well? -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11772 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#11772: GHC.CString.unpackCStringUtf8# is inlineable, shouldn't be? -------------------------------------+------------------------------------- Reporter: bgamari | Owner: Type: bug | Status: new Priority: normal | Milestone: 8.0.1 Component: Core Libraries | Version: 7.10.3 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11772#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#11772: GHC.CString.unpackCStringUtf8# is inlineable, shouldn't be? -------------------------------------+------------------------------------- Reporter: bgamari | Owner: Type: bug | Status: new Priority: normal | Milestone: 8.0.1 Component: Core Libraries | Version: 7.10.3 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by bgamari): * cc: bos (added) -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11772#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#11772: GHC.CString.unpackCStringUtf8# is inlineable, shouldn't be? -------------------------------------+------------------------------------- Reporter: bgamari | Owner: Type: bug | Status: patch Priority: normal | Milestone: 8.0.1 Component: Core Libraries | Version: 7.10.3 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D2057 Wiki Page: | -------------------------------------+------------------------------------- Changes (by bgamari): * status: new => patch * differential: => Phab:D2057 -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11772#comment:3 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#11772: GHC.CString.unpackCStringUtf8# is inlineable, shouldn't be?
-------------------------------------+-------------------------------------
Reporter: bgamari | Owner:
Type: bug | Status: patch
Priority: normal | Milestone: 8.0.1
Component: Core Libraries | Version: 7.10.3
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture:
| Unknown/Multiple
Type of failure: None/Unknown | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s): Phab:D2057
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by Ben Gamari

#11772: GHC.CString.unpackCStringUtf8# is inlineable, shouldn't be? -------------------------------------+------------------------------------- Reporter: bgamari | Owner: Type: bug | Status: closed Priority: normal | Milestone: 8.0.1 Component: Core Libraries | Version: 7.10.3 Resolution: fixed | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D2057 Wiki Page: | -------------------------------------+------------------------------------- Changes (by bgamari): * status: patch => closed * resolution: => fixed Comment: Merged to `ghc-8.0` as c8163959e03d9c5777d3b02be38f3591d3d169a2. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11772#comment:5 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler
participants (1)
-
GHC