[GHC] #9390: Inlining prevents evaluation of ignored parts of unboxed tuples

GHC ghc-devs at haskell.org
Wed Aug 6 04:35:57 UTC 2014


#9390: Inlining prevents evaluation of ignored parts of unboxed tuples
-------------------------------------+-------------------------------------
              Reporter:  snoyberg    |            Owner:
                  Type:  bug         |           Status:  new
              Priority:  normal      |        Milestone:  7.8.4
             Component:  Compiler    |          Version:  7.8.3
            Resolution:              |         Keywords:
      Operating System:  Linux       |     Architecture:  x86_64 (amd64)
       Type of failure:  Incorrect   |       Difficulty:  Unknown
  result at runtime                  |       Blocked By:
             Test Case:              |  Related Tickets:
              Blocking:              |
Differential Revisions:              |
-------------------------------------+-------------------------------------

Comment (by snoyberg):

 Yes, using `unsafePerformIO` or `unsafeDupablePerformIO` works as expected
 in my example. However, Carter's example above fails even with
 `unsafePerformIO`, so something fishy is still going on. And if I apply my
 patch to the primitive package to work around the issue here, Carter's
 example no longer gives an incorrect result. So even though the avoidance
 of inlining in `unsafePerformIO` does work around the simple example I
 gave above, there are still places where the current behavior can
 manifest.

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9390#comment:8>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list