1. 06 Jan, 2016 2 commits
    • Jan Stolarek's avatar
      Change Template Haskell representation of GADTs. · cac0795a
      Jan Stolarek authored
      Previous representation of GADTs in TH was not expressive enough
      to express possible GADT return types. See #11341
      
      Test Plan: ./validate
      
      Reviewers: goldfire, austin, bgamari
      
      Subscribers: thomie, RyanGlScott
      
      Differential Revision: https://phabricator.haskell.org/D1738
      
      GHC Trac Issues: #11341
      cac0795a
    • Ryan Scott's avatar
      Restore old GHC generics behavior vis-à-vis Fixity · 852b6030
      Ryan Scott authored
      Phab:D493 accidentally changed the way GHC generics looks up `Fixity`
      information when deriving `Generic` or `Generic1`. Before, a `Fixity` of
      `Infix` would be given only if a data constructor was declared infix,
      but now, `Infix` is given to any data constructor that has a fixity
      declaration (not to be confused with being declared infix!). This commit
      reverts back to the original behavior for consistency's sake.
      
      Fixes #11358.
      
      Test Plan: ./validate
      
      Reviewers: kosmikus, dreixel, austin, bgamari
      
      Reviewed By: bgamari
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D1740
      
      GHC Trac Issues: #11358
      852b6030
  2. 05 Jan, 2016 2 commits
    • Georgios Karachalias's avatar
      Remove -Wtoo-many-guards from default flags (fixes #11316) · 77494fa9
      Georgios Karachalias authored
      Since #11316 indicates that having flag `-Wtoo-many-guards`
      enabled by default causes issues, the simplest thing is to
      remove it. This patch removes it from the default list, it
      updates the docs and removes the suppression flags for
      `T783` and `types/OptCoercion.hs`
      
      Test Plan: validate
      
      Reviewers: bgamari, austin, goldfire
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D1737
      
      GHC Trac Issues: #11316
      77494fa9
    • Joachim Breitner's avatar
      Add (failing) test case for #11347 · 1a8b752d
      Joachim Breitner authored
      Unfortunately, I could not add the expected error message, so if someone
      accidentally fixes this bug, this test will still be failing (no harm).
      But maybe someone stumbles over it then and can update the expected
      output.
      1a8b752d
  3. 04 Jan, 2016 2 commits
  4. 03 Jan, 2016 1 commit
  5. 02 Jan, 2016 2 commits
  6. 01 Jan, 2016 2 commits
    • Alan Zimmerman's avatar
      API Annotations: AnnTilde missing · 0b8dc7d4
      Alan Zimmerman authored
      In T10689a.hs, the fragment
      
          data instance Sing (z :: [a])
            = z ~ '[] =>
              SNil
            | forall (m :: a)
                     (n :: [a]). z ~ (:) m n =>
              SCons (Sing m) (Sing n)
      
      ends up with the AnnTilde annotations for the two tildes not attached to
      the final AST.
      
      This patch moves the AnnTilde to the right place.
      
      Closes #11321
      0b8dc7d4
    • Simon Peyton Jones's avatar
      Add strictness for runRW# · f3cc3456
      Simon Peyton Jones authored
      runRW# isn't inlined until CorePrep, so it's good to expose its
      strictness.  Moreover, if we don't we can get obscure failures
      in coreToStg; see Note [runRW arg] in CorePrep.
      
      This fixes Trac #11291, and makes DfltProb1 compile with -O
      always in order to expose it more vigorously
      f3cc3456
  7. 31 Dec, 2015 4 commits
    • Herbert Valerio Riedel's avatar
      Drop redundant/explicit `=1` in `-DFOO=1` flags · 0d207378
      Herbert Valerio Riedel authored
      Quoting the POSIX standard for the `-D` C compiler flag:
      
        -D  name[=value]
      
            Define name as if by a C-language #define directive.
            If no `=value` is given, a value of 1 shall be used.
            [...]
      
      Removing this explicit `=1` definition from `-D` flags which are used to
      define boolean macro constants makes the CLI invocation a bit more
      idiomatic and reduces visual noise in debugging output
      (flags containing `=`s are additionally put in single-quotes by GHC)
      0d207378
    • Simon Peyton Jones's avatar
      Test Trac #11245 · 70eefbc2
      Simon Peyton Jones authored
      70eefbc2
    • Simon Peyton Jones's avatar
      Improve exprIsBottom · 0579fe99
      Simon Peyton Jones authored
      This fixes Trac #11290, by being sligthtly cleverer about finding
      what expressions are bottom.  Actually this might have minor
      other side benefits.
      0579fe99
    • Alan Zimmerman's avatar
      Various API Annotations fixes · 25e4556d
      Alan Zimmerman authored
      - Export unicodeAnn from GHC
      - unicodeAnn for Annlarrowtail was wrong
      - Use actual source for a CImport SourceText
      25e4556d
  8. 30 Dec, 2015 2 commits
    • Ben Gamari's avatar
      T11303: Set maximum heap size · 07779c23
      Ben Gamari authored
      As suggested by @thomie.
      07779c23
    • eir@cis.upenn.edu's avatar
      Fix #11305. · c06b46d0
      eir@cis.upenn.edu authored
      Summary:
      In the fallthrough case when doing a subsumption case, we
      need to deeply instantiate to remove any buried foralls in
      the "actual" type.
      
      Once this validates, please feel free to commit it; I may not
      have the chance to do this on Tuesday. Back in full action on
      Wed.
      
      Test Plan: ./validate, typecheck/should_compiler/T11305
      
      Reviewers: austin, bgamari, hvr
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D1715
      
      GHC Trac Issues: #11305
      c06b46d0
  9. 29 Dec, 2015 7 commits
  10. 28 Dec, 2015 2 commits
    • Herbert Valerio Riedel's avatar
      Patch-level increment integer-gmp to 1.0.0.1 · 4a10ecba
      Herbert Valerio Riedel authored
      and update changelog.md
      4a10ecba
    • Herbert Valerio Riedel's avatar
      Synchronise ghci-package version with ghc-package · 01299ca8
      Herbert Valerio Riedel authored
      In order to simplify the task, the version munging logic has
      been radically simplified:
      
      Previously, in cases where the version contained dates as version components,
      the build-system would munge the version of the stage1 ghc package before
      registering the `ghc` package.
      
      However, this hack was already questionable at the time of its introduction
      (c.f. 7b45c46c).
      Simplifying the build-systems by avoiding such hacks may also help the
      shaking-up-ghc effort.
      
      So now we simply munge directly via the `.cabal` files, which gives a simpler
      picture, as now every stage is munged the same. Munging is only active when
      the first patch-level version component is a date. So stable snapshots and release
      candidates are unaffacted (as those have the date in the second patch-level
      version component)
      
      Reviewers: simonmar, bgamari, austin, thomie, ezyang
      
      Reviewed By: bgamari, thomie, ezyang
      
      Differential Revision: https://phabricator.haskell.org/D1673
      01299ca8
  11. 27 Dec, 2015 9 commits
    • Edward Z. Yang's avatar
      The -package flag should select match from right-most package db. · 1b000168
      Edward Z. Yang authored
      
      
      The shadowing and default behavior (in the absence of
      -hide-all-packages) prefers packages that come from "later" package
      databases.  So for example if tmp1.d and tmp2.d both expose p-1.0, then
      
          ghc -package-db tmp1.d -package-db tmp2.d
      
      brings the p-1.0 from tmp2.d into scope (and if they have the same IPID,
      tmp2.d shadows tmp1.d).  HOWEVER, -package flags do NOT respect this
      behavior.
      
          ghc -package-db tmp1.d -package-db tmp2.d -package p-1.0
      
      this will force the p-1.0 from tmp1.d to be exposed!  This is
      confusing, so this patch makes the behavior of -package flags
      consistent.
      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/D1709
      1b000168
    • Georgios Karachalias's avatar
      Adding flags: -ffull-guard-reasoning and too-many-guards · bec5350d
      Georgios Karachalias authored
      Introduction of two new flags, for more precise control over the new
      pattern match checker's behaviour when reasoning about guards. This is
      supposed to address #11195 (and maybe more performance bugs related to
      the NP-Hardness of coverage checking).
      
      Expected behaviour:
      
        * When `-ffull-guard-reasoning` is on, run the new pattern match
          checker in its full power
      
        * When `-ffull-guard-reasoning` is off (the default), for every
          match, check a metric to see whether pattern match checking for it
          has high probability of being non performant (at the the moment we
          check whether the number of guards is over 20 but I would like to
          use a more precise measure in the future). If the probability is
          high:
      
          - Oversimplify the guards (less expressive but more performant)
            and run the checker, and
      
          - Issue a warning about the simplification that happened.
      
      A new flag `-Wtoo-many-guards/-Wno-too-many-guards` suppresses the
      warning about the simplification (useful when combined with -Werror).
      
      Test Plan: validate
      
      Reviewers: goldfire, austin, hvr, bgamari
      
      Reviewed By: bgamari
      
      Subscribers: mpickering, thomie
      
      Differential Revision: https://phabricator.haskell.org/D1676
      
      GHC Trac Issues: #11195
      bec5350d
    • Ben Gamari's avatar
      Add testcase for getSizeofMutableByteArray# · 11778f74
      Ben Gamari authored
      In an attempt to track down #11296. Unfortunately the primop appears
      to be working as expected.
      
      Test Plan: validate
      
      Reviewers: hvr, austin
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D1706
      
      GHC Trac Issues: #11296
      11778f74
    • Ben Gamari's avatar
      testsuite/CmmSwitchTest: Mark as broken on 32-bit platforms · d1ebbb0c
      Ben Gamari authored
      As pointed out in #11297 this test is broken on 32-bit platforms.
      d1ebbb0c
    • Ben Gamari's avatar
      testsuite/joao-circular: Clean up test results · da5e6932
      Ben Gamari authored
      Eliminate redundant pattern which resulted in warning. Also increase the
      compile timeout multiplier since this test tends to take quite a while
      to build. I have seen it fail numerous times during Harbormaster builds
      and have never seen it pass on ARM.
      
      Test Plan: Validate
      
      Reviewers: austin, thomie
      
      Reviewed By: thomie
      
      Differential Revision: https://phabricator.haskell.org/D1699
      da5e6932
    • Ben Gamari's avatar
      testsuite/T9430: Fix word-size dependence · 0b0652f1
      Ben Gamari authored
      Summary: This test was wrong.
      
      Test Plan: Validate
      
      Reviewers: erikd, austin
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D1702
      
      GHC Trac Issues: #11294
      0b0652f1
    • Ben Gamari's avatar
      fb5d26d9
    • Ben Gamari's avatar
      testsuite/T8274: Remove 32-bit test output · e39d10f4
      Ben Gamari authored
      It appears that this was only necessary on account of the varying types
      of type representation fingerprints, which has been resolved in
      Phab:D1529.
      e39d10f4
    • Ben Gamari's avatar
      T10518: Ensure literal has 64-bit type · 422107ec
      Ben Gamari authored
      Otherwise we get a C-- lint error due to mismatched RHS and
      variable types.
      422107ec
  12. 26 Dec, 2015 5 commits