1. 21 Nov, 2015 5 commits
    • niteria's avatar
      Create a deterministic version of tyVarsOfType · 2325bd4e
      niteria authored
      I've run into situations where I need deterministic `tyVarsOfType` and
      this implementation achieves that and also brings an algorithmic
      improvement.  Union of two `VarSet`s takes linear time the size of the
      sets and in the worst case we can have `n` unions of sets of sizes
      `(n-1, 1), (n-2, 1)...` making it quadratic.
      
      One reason why we need deterministic `tyVarsOfType` is in `abstractVars`
      in `SetLevels`. When we abstract type variables when floating we want
      them to be abstracted in deterministic order.
      
      Test Plan: harbormaster
      
      Reviewers: simonpj, goldfire, austin, hvr, simonmar, bgamari
      
      Reviewed By: simonmar
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D1468
      
      GHC Trac Issues: #4012
      2325bd4e
    • niteria's avatar
      Add DVarSet - a deterministic set of Vars · 6664ab83
      niteria authored
      This implements `DVarSet`, a deterministic set of Vars, with an
      interface very similar to `VarSet` with a couple of functions missing.
      
      I will need this in changes that follow, one of them will be about
      changing the type of the set of Vars that `RuleInfo` holds to make the
      free variable computation deterministic.
      
      Test Plan:
      ./validate
      I can add new tests if anyone wants me to.
      
      Reviewers: simonpj, simonmar, austin, bgamari
      
      Reviewed By: simonmar, bgamari
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D1487
      
      GHC Trac Issues: #4012
      6664ab83
    • Herbert Valerio Riedel's avatar
      Suppress conflicting types for builtins warnings · 192dd068
      Herbert Valerio Riedel authored
      GCC 4.0 and later warn about type-conflicting prototypes for built-in
      functions such as `strlen`. This is a problem for the via-c backend as
      it generates code such as
      
        typedef void *(*(*StgFunPtr)(void))(void);
        extern StgFunPtr strlen();
      
      However, by using the `-fno-builtin` flag, GCC is told not to try to
      auto-detect such built-in functions and instead treat them as ordinary
      external functions.  This also suppresses this warning.
      
      This address #7660
      
      Test Plan: IIAM
      
      Reviewers: bgamari, austin
      
      Reviewed By: austin
      
      Subscribers: thomie, erikd
      
      Differential Revision: https://phabricator.haskell.org/D1506
      
      GHC Trac Issues: #7660
      192dd068
    • Ben Gamari's avatar
      RtsFlags: Fix const warning · d585073d
      Ben Gamari authored
      Reviewers: austin
      
      Reviewed By: austin
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D1509
      d585073d
    • Tamar Christina's avatar
      Fix Windows builds after D1242 · 7f77e4e9
      Tamar Christina authored
      Summary:
      Only use the merge_sections.ld linker script if SplitSections is enabled.
      
      I thought I had a way to make the linker script actually work on Windows
      and produce object files instead of image files (by using the "INSERT AFTER"
      linker script command to get the default script's output format setting),
      but that fix caused ghci to crash with an illegal instruction on startup.
      
      Gave up and made a simpler fix of just disabling this for normal builds,
      as it's only really relevant with SplitSections enabled anyway.
      
      Reviewers: austin, thomie, bgamari
      
      Reviewed By: austin, thomie
      
      Subscribers: Phyx, thomie
      
      Differential Revision: https://phabricator.haskell.org/D1505
      
      GHC Trac Issues: #8405
      7f77e4e9
  2. 20 Nov, 2015 5 commits
  3. 19 Nov, 2015 10 commits
  4. 18 Nov, 2015 19 commits
  5. 17 Nov, 2015 1 commit
    • quchen's avatar
      MonadFail proposal, phase 1 · 233d1312
      quchen authored
      This implements phase 1 of the MonadFail proposal (MFP, #10751).
      
      - MonadFail warnings are all issued as desired, tunable with two new flags
      - GHC was *not* made warning-free with `-fwarn-missing-monadfail-warnings`
        (but it's disabled by default right now)
      
      Credits/thanks to
      - Franz Thoma, whose help was crucial to implementing this
      - My employer TNG Technology Consulting GmbH for partially funding us
        for this work
      
      Reviewers: goldfire, austin, #core_libraries_committee, hvr, bgamari, fmthoma
      
      Reviewed By: hvr, bgamari, fmthoma
      
      Subscribers: thomie
      
      Projects: #ghc
      
      Differential Revision: https://phabricator.haskell.org/D1248
      
      GHC Trac Issues: #10751
      233d1312