1. 04 Feb, 2016 1 commit
    • Georgios Karachalias's avatar
      Overhaul the Overhauled Pattern Match Checker · 28f951ed
      Georgios Karachalias authored
      Overhaul the Overhauled Pattern Match Checker
      * Changed the representation of Value Set Abstractions. Instead of
      using a prefix tree, we now use a list of Value Vector Abstractions.
      The set of constraints Delta for every Value Vector Abstraction is the
      oracle state so that we solve everything only once.
      * Instead of doing everything lazily, we prune at once (and in general
      everything is much stricter). Hence, an example written with pattern
      guards is checked in almost the same time as the equivalent with
      pattern matching.
      * Do not store the covered and the divergent sets at all. Since what we
      only need is a yes/no (does this clause cover anything? Does it force
      any thunk?) We just keep a boolean for each.
      * Removed flags `-Wtoo-many-guards` and `-ffull-guard-reasoning`.
      Replaced with `fmax-pmcheck-iterations=n`. Still debatable what should
      the default `n` be.
      * When a guard is for sure not going to contribute anything, we treat
      it as such: The oracle is not called and cases `CGuard`, `UGuard` and
      `DGuard` from the paper are not happening at all (the generation of a
      fresh variable, the unfolding of the pattern list etc.). his combined
      with the above seems to be enough to drop the memory increase for test
      T783 down to 18.7%.
      * Do not export function `dsPmWarn` (it is now called directly from
      within `checkSingle` and `checkMatches`).
      * Make `PmExprVar` hold a `Name` instead of an `Id`. The term oracle
      does not handle type information so using `Id` was a waste of
      * Added testcases T11195, T11303b (data families) and T11374
      The patch addresses at least the following:
      Trac #11195, #11276, #11303, #11374, #11162
      Test Plan: validate
      Reviewers: goldfire, bgamari, hvr, austin
      Subscribers: simonpj, thomie
      Differential Revision: https://phabricator.haskell.org/D1795
  2. 03 Feb, 2016 1 commit
  3. 02 Feb, 2016 11 commits
  4. 01 Feb, 2016 13 commits
    • Herbert Valerio Riedel's avatar
      Update unix submodule to latest snapshot · ddd38e7d
      Herbert Valerio Riedel authored
      Besides containing more internal refactorings,
      this update also bumps unix's version number to
    • Adam Gundry's avatar
      Avoid mangled/derived names in GHCi autocomplete (fixes #11328) · dd0b7c78
      Adam Gundry authored
      This changes `getRdrNamesInScope` to use field labels rather than
      selector names for fields from modules with `DuplicateRecordFields`
      enabled. Moreover, it filters out derived names (e.g. type
      representation bindings) that shouldn't show up in autocomplete.
      Test Plan: New test ghci/should_run/T11328
      Reviewers: kolmodin, austin, bgamari, simonpj
      Reviewed By: bgamari, simonpj
      Subscribers: simonpj, thomie
      Differential Revision: https://phabricator.haskell.org/D1870
      GHC Trac Issues: #11328
    • rwbarton's avatar
      Fix runtime linker error message when old symbol had no owner · 73293109
      rwbarton authored
      Test Plan: Actually run validate. This fixes test linker_error3.
      Reviewers: austin, erikd, bgamari
      Reviewed By: erikd, bgamari
      Subscribers: thomie
      Differential Revision: https://phabricator.haskell.org/D1874
    • Ben Gamari's avatar
      Typo in docs · 02e3ce0b
      Ben Gamari authored
      Spelling mistakes fixed,
       * identiy > identity
       * suprising > surprising
      Reviewers: austin, bgamari
      Reviewed By: bgamari
      Subscribers: thomie
      Differential Revision: https://phabricator.haskell.org/D1871
    • Oleg Grenrus's avatar
      Add some Outputable instances · 2ad46a86
      Oleg Grenrus authored
      Reviewers: austin, bgamari
      Reviewed By: bgamari
      Subscribers: thomie
      Differential Revision: https://phabricator.haskell.org/D1865
    • rwbarton's avatar
      Fix LOOKS_LIKE_PTR for 64-bit platforms · ba88aab0
      rwbarton authored
      I'm not sure what this is used for. But it won't correctly
      detect RTS-filled slop on 64-bit platforms.
      Test Plan:
      Untested. But I did verify that
          unsigned long x = (unsigned long)0xaaaaaaaaaaaaaaaaULL;
      compiles warning-free and produces the expected output using both
      gcc and clang, with -Wall -Wextra -O, and with and without -m32.
      Reviewers: simonmar, austin, bgamari
      Reviewed By: bgamari
      Subscribers: thomie
      Differential Revision: https://phabricator.haskell.org/D1860
    • Herbert Valerio Riedel's avatar
      Implement basic uniform warning set tower · 86897e1f
      Herbert Valerio Riedel authored
      This implements/completes the current basic warning sets to provide the
      following tower of warning sets (i.e. each line subsumes the warnings
      from the sets listed below):
      - `-Weverything`
      - `-Wall`
      - `-Wextra` (alias of `-W`)
      - `-Wdefault`
      So for each of flags there's also a complement `-Wno-...` flag, which
      subtracts the given set from the current enabled-warnings state.
      Thus, we can now easily perform simple set subtraction operations, as
      warning flags are evaluated from left-to-right on the command line.
      So e.g.
      - `-Weverything -Wno-all -Wno-compat` enables *all* warnings not enabled
        by `-Wall` and `-Wcompat`.
      - `-Wextra -Wno-default` only warnings that `-Wextra` provides
        beyond the default warnings.
      Reviewers: quchen, austin, bgamari
      Reviewed By: bgamari
      Subscribers: thomie
      Differential Revision: https://phabricator.haskell.org/D1850
    • Eric Seidel's avatar
      Hide the CallStack implicit parameter · 94048f9f
      Eric Seidel authored
      The implicit parameter isn't actually very relevant to the CallStack
      machinery, so we hide the implementation details behind a constraint
      type HasCallStack = (?callStack :: CallStack)
      This has a few benefits:
      1. No need to enable `ImplicitParams` in user code.
      2. No need to remember the `?callStack` naming convention.
      3. Gives us the option to change the implementation details in the
      future with less user-land breakage.
      The revised `CallStack` API is exported from `GHC.Stack` and makes no
      mention of the implicit parameter.
      Test Plan: ./validate
      Reviewers: simonpj, austin, hvr, bgamari
      Reviewed By: simonpj, bgamari
      Subscribers: thomie
      Projects: #ghc
      Differential Revision: https://phabricator.haskell.org/D1818
    • Edward Z. Yang's avatar
      Simplify ghc-boot database representation with new type class. · 0d601657
      Edward Z. Yang authored
      Previously, we had an 'OriginalModule' type in ghc-boot which
      was basically identical to 'Module', and we had to do a bit of
      gyrating to get it converted into the right form.  This commit
      introduces a new typeclass, 'DbModuleRep' which represents types
      which we know how to serialize to and from the (now renamed) 'DbModule'
      The upshot is that we can just store 'Module's DIRECTLY in
      the 'InstalledPackageInfo', no conversion needed.
      I took the opportunity to clean up ghc-pkg to make its use of
      the 'BinaryStringRep' classes more type safe.
      Signed-off-by: default avatarEdward Z. Yang <ezyang@cs.stanford.edu>
      Test Plan: validate
      Reviewers: austin, bgamari
      Reviewed By: bgamari
      Subscribers: thomie
      Differential Revision: https://phabricator.haskell.org/D1811
    • niteria's avatar
      Suppress substitution assertions to fix tests · e5a0a890
      niteria authored
      This is one place that I've missed with D1862.
      This doesn't fix the underlying problem and I prefer to suppress it
      now and fix it later as this is a part of a larger effort (#11371)
      to fix an old bug with `substTy` called with invalid `in_scope` sets.
      Test Plan: `make test TEST="hClose002 hClose003 hDuplicateTo001"
      Reviewers: thomie, austin, bgamari, trofi
      Reviewed By: trofi
      Differential Revision: https://phabricator.haskell.org/D1872
      GHC Trac Issues: #11371
    • Ryan Scott's avatar
      Missing @since annotations in GHC.Generics · a883c1b7
      Ryan Scott authored
      [ci skip]
    • Ryan Scott's avatar
      Minor doc fixes to GHC.Generics · f8e2b7e3
      Ryan Scott authored
      This adds @since annotations and fixes a couple of Haddock formatting
    • rwbarton's avatar
      When encountering a duplicate symbol, show source of the first symbol · 34519f08
      rwbarton authored
      Test Plan: Used this to track down an issue I was having.
      Reviewers: simonmar, austin, erikd, bgamari
      Reviewed By: erikd, bgamari
      Subscribers: thomie
      Differential Revision: https://phabricator.haskell.org/D1863
  5. 31 Jan, 2016 5 commits
  6. 30 Jan, 2016 3 commits
  7. 29 Jan, 2016 5 commits
  8. 28 Jan, 2016 1 commit