1. 27 Oct, 2015 3 commits
    • Christiaan Baaij's avatar
      Make worker-wrapper optional · 31704adc
      Christiaan Baaij authored
      Add -fworker-wrapper flag which enables the worker-wrapper transformation. It
      is implied by -O.
      
      The expected users of this flag, which includes myself, are GHC API users.  In
      my Haskell-to-Hardware compiler, which uses the GHC API, I have seen no
      benifits of the worker-wrapper transformation. It does however induce longer
      compilation times.
      
      Further discussion can be seen here:
      https://mail.haskell.org/pipermail/ghc-devs/2015-October/010096.html
      
      Reviewed By: austin
      
      Differential Revision: https://phabricator.haskell.org/D1372
      
      GHC Trac Issues: #11020
      31704adc
    • niteria's avatar
      Make it possible to have different UniqSupply strategies · 158d2a91
      niteria authored
      To get reproducible/deterministic builds, the way that the Uniques are
      assigned shouldn't matter. This allows to test for that.
      
      It add 2 new flags:
      
      * `-dinitial-unique`
      * `-dunique-increment`
      
      And by varying these you can get interesting effects:
      
      * `-dinitial-unique=0 -dunique-increment 1` - current sequential
        UniqSupply
      
      * `-dinitial-unique=16777215 -dunique-increment -1` - UniqSupply that
        generates in decreasing order
      
      * `-dinitial-unique=1 -dunique-increment PRIME` - where PRIME big enough
        to overflow often - nonsequential order
      
      I haven't proven the usefullness of the last one yet and it's the reason
      why we have to mask the bits with `0xFFFFFF` in `genSym`, so I can
      remove it if it becomes contentious.
      
      Test Plan: validate on harbormaster
      
      Reviewers: simonmar, austin, ezyang, bgamari
      
      Reviewed By: austin, bgamari
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D1360
      
      GHC Trac Issues: #4012
      158d2a91
    • Ben Gamari's avatar
      manpage: Mark as orphan document · adc3d178
      Ben Gamari authored
      This silences warnings from Sphinx of the form,
      
          docs/users_guide/ghc.rst:: WARNING: document isn't included in any toctree
      adc3d178
  2. 26 Oct, 2015 2 commits
  3. 24 Oct, 2015 1 commit
  4. 20 Oct, 2015 1 commit
  5. 19 Oct, 2015 1 commit
  6. 16 Oct, 2015 1 commit
  7. 15 Oct, 2015 1 commit
  8. 13 Oct, 2015 2 commits
    • Ryan Scott's avatar
      docs: overhaul Derive{Functor,Foldable,Traversable} notes · e5bfd704
      Ryan Scott authored
      The previous users' guide documentation was too implementation-oriented. This
      attempts to make it more accessible to those who aren't familiar with how
      `-XDeriveFunctor` and friends work (and more importantly, what will not work
      when using them).
      
      Fixes #10831.
      
      Reviewed By: austin
      
      Differential Revision: https://phabricator.haskell.org/D1293
      
      GHC Trac Issues: #10831
      e5bfd704
    • Ryan Scott's avatar
      Make dataToQa aware of Data instances which use functions to implement toConstr · d2f9972a
      Ryan Scott authored
      Trac #10796 exposes a way to make `template-haskell`'s `dataToQa` function
      freak out if using a `Data` instance that produces a `Constr` (by means of
      `toConstr`) using a function name instead of a data constructor name. While
      such `Data` instances are somewhat questionable, they are nevertheless present
      in popular libraries (e.g., `containers`), so we can at least make `dataToQa`
      aware of their existence.
      
      In order to properly distinguish strings which represent variables (as opposed
      to data constructors), it was necessary to move functionality from `Lexeme` (in
      `ghc`) to `GHC.Lexeme` in a new `ghc-boot` library (which was previously named
      `bin-package-db`).
      
      Reviewed By: goldfire, thomie
      
      Differential Revision: https://phabricator.haskell.org/D1313
      
      GHC Trac Issues: #10796
      d2f9972a
  9. 08 Oct, 2015 1 commit
  10. 03 Oct, 2015 4 commits
    • Ryan Scott's avatar
      Fill in associated type defaults with DeriveAnyClass · 2f74be9c
      Ryan Scott authored
      Summary:
      Unlike `-XDefaultSignatures`, `-XDeriveAnyClass` would not fill in
      associated type family defaults when deriving a class which contained
      them.
      
      In order to fix this properly, `tcATDefault` needed to be used from
      `TcGenDeriv`. To avoid a module import cycle, `tcATDefault` was moved
      from `TcInstDcls` to `TcClsDcl`.
      
      Fixes #10361.
      
      Test Plan: ./validate
      
      Reviewers: kosmikus, dreixel, bgamari, austin, simonpj
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D1283
      
      GHC Trac Issues: #10361
      2f74be9c
    • Ryan Scott's avatar
      Make GHC generics capable of handling unboxed types · 6cde981a
      Ryan Scott authored
      This adds a data family (`URec`) and six data family instances (`UAddr`,
      `UChar`, `UDouble`, `UFloat`, `UInt`, and `UWord`) which a `deriving
      Generic(1)` clause will generate if it sees `Addr#`, `Char#`, `Double#`,
      `Float#`, `Int#`, or `Word#`, respectively. The programmer can then
      provide instances for these data family instances to provide custom
      implementations for unboxed types, similar to how derived `Eq`, `Ord`,
      and `Show` instances currently special-case unboxed types.
      
      Fixes #10868.
      
      Test Plan: ./validate
      
      Reviewers: goldfire, dreixel, bgamari, austin, hvr, kosmikus
      
      Reviewed By: dreixel, kosmikus
      
      Subscribers: simonpj, thomie
      
      Differential Revision: https://phabricator.haskell.org/D1239
      
      GHC Trac Issues: #10868
      6cde981a
    • Ben Gamari's avatar
      docs: Fix ghc_config.py.in · 93e21b96
      Ben Gamari authored
      93e21b96
    • Ben Gamari's avatar
      Move user's guide to ReStructuredText · 4fd6207e
      Ben Gamari authored
      4fd6207e
  11. 23 Sep, 2015 1 commit
  12. 22 Sep, 2015 1 commit
  13. 21 Sep, 2015 3 commits
  14. 17 Sep, 2015 1 commit
  15. 11 Sep, 2015 3 commits
  16. 08 Sep, 2015 1 commit
  17. 05 Sep, 2015 1 commit
  18. 03 Sep, 2015 1 commit
  19. 02 Sep, 2015 4 commits
    • Simon Peyton Jones's avatar
      Improve the error messages for class instance errors · 28ac9d31
      Simon Peyton Jones authored
      Summary: See Note [Displaying potential instances].
      
      Reviewers: austin
      
      Subscribers: KaneTW, thomie
      
      Differential Revision: https://phabricator.haskell.org/D1176
      28ac9d31
    • spinda's avatar
      Expand declaration QQs first (#10047) · c8f623e3
      spinda authored
      Declaration QuasiQuoters do not cause a group split like $(...)
      splices, and are run and expanded before other declarations in
      the group.
      
      Resolves the lingering issue with #10047, and fixes broken tests
      qq007 and qq008.
      
      Test Plan: validate
      
      Reviewers: goldfire, austin, bgamari
      
      Reviewed By: bgamari
      
      Subscribers: goldfire, simonpj, thomie, spinda
      
      Differential Revision: https://phabricator.haskell.org/D1199
      
      GHC Trac Issues: #10047
      c8f623e3
    • spinda's avatar
      Allow annotations though addTopDecls (#10486) · ba5554ec
      spinda authored
      addTopDecls restricts what declarations it can be used to add. Adding
      annotations via this method works fine with no special changes apart
      from adding AnnD to the declaration whitelist.
      
      Test Plan: validate
      
      Reviewers: austin, goldfire, bgamari
      
      Reviewed By: bgamari
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D1201
      
      GHC Trac Issues: #10486
      ba5554ec
    • Eric Seidel's avatar
      Use IP based CallStack in error and undefined · 6740d70d
      Eric Seidel authored
      This patch modifies `error`, `undefined`, and `assertError` to use
      implicit call-stacks to provide better error messages to users.
      
      There are a few knock-on effects:
      
      - `GHC.Classes.IP` is now wired-in so it can be used in the wired-in
        types for `error` and `undefined`.
      
      - `TysPrim.tyVarList` has been replaced with a new function
        `TysPrim.mkTemplateTyVars`. `tyVarList` made it easy to introduce
        subtle bugs when you need tyvars of different kinds. The naive
      
        ```
        tv1 = head $ tyVarList kind1
        tv2 = head $ tyVarList kind2
        ```
      
        would result in `tv1` and `tv2` sharing a `Unique`, thus substitutions
        would be applied incorrectly, treating `tv1` and `tv2` as the same
        tyvar. `mkTemplateTyVars` avoids this pitfall by taking a list of kinds
        and producing a single tyvar of each kind.
      
      - The types `GHC.SrcLoc.SrcLoc` and `GHC.Stack.CallStack` now live in
        ghc-prim.
      
      - The type `GHC.Exception.ErrorCall` has a new constructor
        `ErrorCallWithLocation` that takes two `String`s instead of one, the
        2nd one being arbitrary metadata about the error (but usually the
        call-stack). A bi-directional pattern synonym `ErrorCall` continues to
        provide the old API.
      
      Updates Cabal, array, and haddock submodules.
      
      Reviewers: nh2, goldfire, simonpj, hvr, rwbarton, austin, bgamari
      
      Reviewed By: simonpj
      
      Subscribers: rwbarton, rodlogic, goldfire, maoe, simonmar, carter,
      liyang, bgamari, thomie
      
      Differential Revision: https://phabricator.haskell.org/D861
      
      GHC Trac Issues: #5273
      6740d70d
  20. 30 Aug, 2015 1 commit
  21. 26 Aug, 2015 1 commit
  22. 21 Aug, 2015 1 commit
    • thomie's avatar
      Build system: simplify install.mk.in · 47493e60
      thomie authored
      This will allow fixing #1851 more easily
      ("make install-strip" should work).
      
      This reverts 57e2a81c:
        "On Cygwin, use a Cygwin-style path for /bin/install's destination"
      
      Update submodule haddock and hsc2hs.
      47493e60
  23. 11 Aug, 2015 2 commits
  24. 10 Aug, 2015 1 commit
  25. 07 Aug, 2015 1 commit