1. 27 Dec, 2014 4 commits
  2. 25 Dec, 2014 1 commit
  3. 24 Dec, 2014 1 commit
    • rwbarton's avatar
      Fix linker interaction between Template Haskell and HPC (#9762) · 3e3aa925
      rwbarton authored
      Summary:
      I'm not really happy about perpetuating the hackish fix for #8696,
      but at least in the context of building with -fhpc, the performance
      cost should be negligible.
      
      I'm suspicious about PlainModuleInitLabel and the Windows stuff too,
      but I don't know what it does / can't test it (respectively) so I'll
      leave those alone for now.
      
      Hopefully out-of-process TH will save us from these hacks some day.
      
      The test is an adaptation of T8696. It's a bit more awkward since
      I couldn't think of a way to get cross-module tickbox references
      without optimizations (inlining), but ghci doesn't permit -O for
      some reason.
      
      Test Plan: harbormaster; validate
      
      Reviewers: austin
      
      Reviewed By: austin
      
      Subscribers: carter, thomie
      
      Differential Revision: https://phabricator.haskell.org/D583
      
      GHC Trac Issues: #9762
      
      Conflicts:
      	testsuite/tests/ghci/scripts/all.T
      3e3aa925
  4. 23 Dec, 2014 15 commits
    • rwbarton's avatar
      Make ghc -e fail on invalid declarations · cc510b46
      rwbarton authored
      Summary:
      Note: This commit includes an API change to GhciMonad.runDecls
      to allow the caller to determine whether the declarations were
      run successfully or not.
      
      Test Plan: harbormaster
      
      Reviewers: austin
      
      Reviewed By: austin
      
      Subscribers: carter, thomie
      
      Differential Revision: https://phabricator.haskell.org/D582
      cc510b46
    • rwbarton's avatar
      Make ghc -e not exit on valid import commands (#9905) · 878910e1
      rwbarton authored
      Summary:
      Some Trues and Falses were mixed up due to Bool being used in
      different senses in different parts of GHCi.
      
      Test Plan: harbormaster; validate
      
      Reviewers: austin
      
      Reviewed By: austin
      
      Subscribers: carter, thomie
      
      Differential Revision: https://phabricator.haskell.org/D581
      
      GHC Trac Issues: #9905
      
      Conflicts:
      	ghc/InteractiveUI.hs
      878910e1
    • Herbert Valerio Riedel's avatar
      Fixup edd233ac (T9032 test) · 7a2c9dde
      Herbert Valerio Riedel authored
      This is not a proper fix as the `x` in `make[x]: ...` changes depending on how
      the testsuite was called. So this probably only works when invoked via ./validate.
      7a2c9dde
    • Simon Peyton Jones's avatar
      Test earlier for self-import (Trac #9032) · edd233ac
      Simon Peyton Jones authored
      This patch makes the renamer check for self-import, especially when
      dependencies change, because the typechecker can fall over if that
      happens.
      
      I'm still uneasy about *indirect* self-import, but I'll leave that for
      another day
      edd233ac
    • Simon Peyton Jones's avatar
      Attempt to improve cleaning · c3394e0d
      Simon Peyton Jones authored
      I found several tests that failed when the interface file format changed,
      due to leftover .hi file droppings.
      
      I'm not sure I've done this right, but it should be a bit better
      c3394e0d
    • Simon Peyton Jones's avatar
      A bit of refactoring to TcErrors · 679a6618
      Simon Peyton Jones authored
      This replaces a bunch of boolean flags in ReportErrCtxt with
      an algebraic data type to say how to handle expression holes
      and type holes
      
      No change in functionality; I just found myself unable to understand
      the code easily, when thinking about something else.  Result is
      quite nice, I think.
      679a6618
    • Simon Peyton Jones's avatar
      Comments only · c407b5a6
      Simon Peyton Jones authored
      c407b5a6
    • Simon Peyton Jones's avatar
    • Simon Peyton Jones's avatar
      Eliminate so-called "silent superclass parameters" · a6f0f5ab
      Simon Peyton Jones authored
      The purpose of silent superclass parameters was to solve the
      awkward problem of superclass dictinaries being bound to bottom.
      See THE PROBLEM in Note [Recursive superclasses] in TcInstDcls
      
      Although the silent-superclass idea worked,
      
        * It had non-local consequences, and had effects even in Haddock,
          where we had to discard silent parameters before displaying
          instance declarations
      
        * It had unexpected peformance costs, shown up by Trac #3064 and its
          test case.  In monad-transformer code, when constructing a Monad
          dictionary you had to pass an Applicative dictionary; and to
          construct that you neede a Functor dictionary. Yet these extra
          dictionaries were often never used.  (All this got much worse when
          we added Applicative as a superclass of Monad.) Test T3064
          compiled *far* faster after silent superclasses were eliminated.
      
        * It introduced new bugs.  For example SilentParametersOverlapping,
          T5051, and T7862, all failed to compile because of instance overlap
          directly because of the silent-superclass trick.
      
      So this patch takes a new approach, which I worked out with Dimitrios
      in the closing hours before Christmas.  It is described in detail
      in THE PROBLEM in Note [Recursive superclasses] in TcInstDcls.
      
      Seems to work great!
      
      Quite a bit of knock-on effect
      
       * The main implementation work is in tcSuperClasses in TcInstDcls
         Everything else is fall-out
      
       * IdInfo.DFunId no longer needs its n-silent argument
         * Ditto IDFunId in IfaceSyn
         * Hence interface file format changes
      
       * Now that DFunIds do not have silent superclass parameters, printing
         out instance declarations is simpler. There is tiny knock-on effect
         in Haddock, so that submodule is updated
      
       * I realised that when computing the "size of a dictionary type"
         in TcValidity.sizePred, we should be rather conservative about
         type functions, which can arbitrarily increase the size of a type.
         Hence the new datatype TypeSize, which has a TSBig constructor for
         "arbitrarily big".
      
       * instDFunType moves from TcSMonad to Inst
      
       * Interestingly, CmmNode and CmmExpr both now need a non-silent
         (Ord r) in a couple of instance declarations. These were previously
         silent but must now be explicit.
      
       * Quite a bit of wibbling in error messages
      a6f0f5ab
    • Simon Peyton Jones's avatar
      Add a small comment · 625dd7b6
      Simon Peyton Jones authored
      625dd7b6
    • joehillen's avatar
      always use 'mkdir -p' and fix missing dir (fixes #9876) · 9fc3aebd
      joehillen authored
      Summary: Signed-off-by: Joe Hillenbrand <joehillen@gmail.com>
      
      Reviewers: thomie, austin
      
      Reviewed By: thomie, austin
      
      Subscribers: carter, thomie
      
      Differential Revision: https://phabricator.haskell.org/D566
      
      GHC Trac Issues: #9876
      9fc3aebd
    • Sergei Trofimovich's avatar
      dwarf: sync getIdFromTrivialExpr with exprIsTrivial (test break028 and others) · 30fdf86e
      Sergei Trofimovich authored
      Summary:
      The bug manifests when built with
          EXTRA_HC_OPTS += -g
      
      +++ ./ghci.debugger/scripts/break028.run.stderr 2014-12-19 23:08:46.199876621 +0000
      @@ -0,0 +1,11 @@
      +ghc-stage2: panic! (the 'impossible' happened)
      +  (GHC version 7.9.20141219 for x86_64-unknown-linux):
      +       getIdFromTrivialExpr x_alJ
      +
      +Please report this as a GHC bug:  http://www.haskell.org/ghc/reportabug
      +
      +
      +<interactive>:3:1: Not in scope: ‘g’
      +
      +<interactive>:3:3: Not in scope: data constructor ‘False’
      Signed-off-by: default avatarSergei Trofimovich <siarheit@google.com>
      
      Reviewers: simonmar, austin, scpmw
      
      Reviewed By: scpmw
      
      Subscribers: carter, thomie
      
      Differential Revision: https://phabricator.haskell.org/D580
      30fdf86e
    • thomasw's avatar
      Rename NamedWildcards flag to NamedWildCards · 089222c9
      thomasw authored
      Summary:
      Mind the capital C. As there is already a flag RecordWildCards with a capital
      C, we should at least try to be consistent in the spelling of WildCards.
      
      Test Plan: validate
      
      Reviewers: goldfire, simonpj, austin
      
      Reviewed By: simonpj, austin
      
      Subscribers: carter, thomie
      
      Differential Revision: https://phabricator.haskell.org/D584
      089222c9
    • thomasw's avatar
      Fix panic on :kind _ in GHCi (Trac #9879) · 6eb86a56
      thomasw authored
      Summary:
      Running `:kind _` in GHCi produced a panic, fix it by extracting the
      wildcards. Now, `:kind _` produces `_ :: k0`. Unfortunately, a `0` is
      added after the kind is tidied and I haven't found a way to get rid of
      it...
      
      This does not fix the other panic involving TemplateHaskell mentioned
      in #9879.
      
      Test Plan: new test GHCiWildcardKind should pass
      
      Reviewers: austin, simonpj
      
      Reviewed By: austin
      
      Subscribers: simonpj, carter, thomie, monoidal
      
      Differential Revision: https://phabricator.haskell.org/D572
      
      GHC Trac Issues: #9879
      6eb86a56
    • Austin Seipp's avatar
      docs: create 7.12.1 relnotes · e435a094
      Austin Seipp authored
      Signed-off-by: default avatarAustin Seipp <austin@well-typed.com>
      e435a094
  5. 22 Dec, 2014 12 commits
  6. 21 Dec, 2014 2 commits
  7. 20 Dec, 2014 5 commits