[GHC] #9567: tc124 fails as '*** Core Lint errors : in result of Simplifier ***' in WAY=optasm

GHC ghc-devs at haskell.org
Thu Dec 11 17:12:04 UTC 2014


#9567: tc124 fails as '*** Core Lint errors : in result of Simplifier ***' in
WAY=optasm
-------------------------------------+-------------------------------------
              Reporter:  slyfox      |            Owner:
                  Type:  bug         |           Status:  new
              Priority:  normal      |        Milestone:
             Component:  Compiler    |          Version:  7.9
            Resolution:              |         Keywords:
      Operating System:              |     Architecture:  x86_64 (amd64)
  Unknown/Multiple                   |       Difficulty:  Unknown
       Type of failure:  GHC         |       Blocked By:
  rejects valid program              |  Related Tickets:
             Test Case:  tc124       |
              Blocking:              |
Differential Revisions:              |
-------------------------------------+-------------------------------------

Comment (by Simon Peyton Jones <simonpj@…>):

 In [changeset:"b8392ae76a6d39c57be94b5ba041c450ab479e2b/ghc"]:
 {{{
 #!CommitTicketReference repository="ghc"
 revision="b8392ae76a6d39c57be94b5ba041c450ab479e2b"
 Fix an obscure but terrible bug in the simplifier (Trac #9567)

 The issue was that contInputType simply gave the wrong answer
 for type applications.

 There was no way to fix contInputType; it just didn't have enough
 information.  So I did this:

 * Split the ApplyTo constructor of SimplUtils.SimplCont into
       ApplyToVal
       ApplyToTy
   I used record syntax for them; we should do this for some
   of the other constructors too.

 * The latter carries a sc_hole_ty, which is the type of the
   continuation's "hole"

 * Maintaining this type meant that I had do to something
   similar for SimplUtils.ArgSpec.

 * I renamed contInputType to contHoleType for consistency.

 * I did a bit of refactoring around the call to tryRules
   in Simplify, which was jolly confusing before.

 The resulting code is quite nice now.  And it has the additional
 merit that it works.

 The tests are simply tc124 and T7891 with -O enabled.
 }}}

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


More information about the ghc-tickets mailing list