1. 20 Jul, 2015 5 commits
    • Michal Terepeta's avatar
      LlvmCodeGen: add support for MO_U_Mul2 CallishMachOp · 82ffc80d
      Michal Terepeta authored
      This adds support MO_U_Mul2 to the LLVM backend by simply using 'mul'
      instruction but operating at twice the bit width (e.g., for 64 bit
      words we will generate mul that operates on 128 bits and then extract
      the two 64 bit values for the result of the CallishMachOp).
      Test Plan: validate
      Reviewers: rwbarton, austin, bgamari
      Reviewed By: bgamari
      Subscribers: thomie
      Differential Revision: https://phabricator.haskell.org/D1068
      GHC Trac Issues: #9430
    • thomie's avatar
      Testsuite: add regression test for missing class constraint · 029367e5
      thomie authored
      The following program is accepted by ghc-7.0 to ghc-7.10, but rejected
      by ghc-6.12.3 and HEAD (and rightfully so):
          class Class1 a
          class Class1 a => Class2 a
          class Class2 a => Class3 a
          instance Class3 a => Class2 a
      The last line is missing a `Class1 a` constraint. Add a regression test
      for this (typechecker/should_fail/tcfail223).
      Add similar missing class constraints to T7126 and T5751. I verified
      that the these changes don't interfer with the intention of the tests
      (they still result in a loop with ghc-7.4.1).
      Reviewers: austin, simonpj, bgamari
      Reviewed By: bgamari
      Subscribers: rwbarton, thomie
      Differential Revision: https://phabricator.haskell.org/D1078
    • thomie's avatar
      Testsuite: add -XUndecidableInstances to T3500a · 7f37274d
      thomie authored
      This makes the test pass again with HEAD (7.11), instead of resulting
        T3500a.hs:11:10: error:
            The constraint ‘C (F a)’ is no smaller than the instance head
            (Use UndecidableInstances to permit this)
            In the instance declaration for ‘C (a, b)’
      Test Plan: I verified that ghc-6.12.3's typechecker still loops on this
      Reviewers: austin, bgamari, simonpj
      Reviewed By: simonpj
      Subscribers: thomie
      Differential Revision: https://phabricator.haskell.org/D1079
    • thomie's avatar
      Testsuite: add ImpredicativeTypes to T7861 (#7861) · 4c96e7cf
      thomie authored
      The test was failing with:
          T7861: T7861.hs:15:13:
              Cannot instantiate unification variable ‘t0’
              with a type involving foralls: A a0 -> a0
                GHC doesn't yet support impredicative polymorphism
              In the first argument of ‘seq’, namely ‘f’
              In a stmt of a 'do' block: f `seq` print "Hello 2"
      It requires ImpredicativeTypes, at least since 7.8, because we
      instantiate seq's type (c->d->d) with f's type (c:= (forall b. a) -> a),
      which is polymorphic (it has foralls).
      I simplified the test a bit by removing the type synonym, and verified
      that ghc-7.6.3 still panics on this test.
      Reviewers: simonpj, austin, bgamari
      Reviewed By: bgamari
      Subscribers: thomie
      Differential Revision: https://phabricator.haskell.org/D1080
      GHC Trac Issues: #7861
    • rwbarton's avatar
  2. 18 Jul, 2015 7 commits
  3. 17 Jul, 2015 6 commits
  4. 16 Jul, 2015 12 commits
  5. 15 Jul, 2015 9 commits
  6. 14 Jul, 2015 1 commit