1. 17 Nov, 2015 6 commits
  2. 16 Nov, 2015 14 commits
  3. 14 Nov, 2015 3 commits
    • Adam Sandberg Eriksson's avatar
      Implement the Strict language extension · 46a03fbe
      Adam Sandberg Eriksson authored
      Add a new language extension `-XStrict` which turns all bindings strict
      as if the programmer had written a `!` before it. This also upgrades
      ordinary Haskell to allow recursive and polymorphic strict bindings.
      See the wiki[1] and the Note [Desugar Strict binds] in DsBinds for
      specification and implementation details.
      [1] https://ghc.haskell.org/trac/ghc/wiki/StrictPragma
      Reviewers: austin, tibbe, simonpj, bgamari
      Reviewed By: tibbe, bgamari
      Subscribers: thomie
      Differential Revision: https://phabricator.haskell.org/D1142
      GHC Trac Issues: #8347
    • Ben Gamari's avatar
      Fix bootstrapping with GHC 7.10.1 · 54884220
      Ben Gamari authored
      Relying on CallStack being in GLASGOW_HASKELL >= 710 breaks
      bootstrappability with 7.10.1
      7.10.2 added the CallStack mechanism, and GHC already relies on this
      while being built. Unfortunately, it is enabled with "GLASGOW_HASKELL
      >= 710", which also applies to GHC 7.10.1, which does not have
      CallStack, and fails building the stage-1 compiler because the symbol
      is not found.
      This patch makes the CPP directive more strict, requiring **more than**
      7.10 instead of **at least**.
      Reviewers: jstolarek, austin, bgamari
      Reviewed By: bgamari
      Subscribers: thomie
      Differential Revision: https://phabricator.haskell.org/D1472
      GHC Trac Issues: #11085
    • Ben Gamari's avatar
      Rip out __HADDOCK__ references · 3353f62a
      Ben Gamari authored
      As it turns out no one actually sets this macro anyways and haddock
      now clearly has no trouble parsing this code.
      Test Plan: Validate
      Reviewers: hvr, goldfire, austin
      Reviewed By: austin
      Subscribers: duncan, thomie, hvr
      Differential Revision: https://phabricator.haskell.org/D1463
  4. 13 Nov, 2015 6 commits
    • Simon Marlow's avatar
      Make 'error' include the CCS call stack when profiled · 8988be85
      Simon Marlow authored
      The idea here is that this gives a more detailed stack trace in two
      1. With `-prof` and `-fprof-auto`
      2. In GHCi (see #11047)
      Example, with an error inserted in nofib/shootout/binary-trees:
      $ ./Main 3
      Main: z
      CallStack (from ImplicitParams):
        error, called at Main.hs:67:29 in main:Main
      CallStack (from -prof):
        Main.check' (Main.hs:(67,1)-(68,82))
        Main.check (Main.hs:63:1-21)
        Main.stretch (Main.hs:32:35-57)
        Main.main.c (Main.hs:32:9-57)
        Main.main (Main.hs:(27,1)-(43,42))
        Main.CAF (<entire-module>)
      This doesn't quite obsolete +RTS -xc, which also attempts to display
      more information in the case when the error is in a CAF, but I'm
      exploring other solutions to that.
      Includes submodule updates.
      Test Plan: validate
      Reviewers: simonpj, ezyang, gridaphobe, bgamari, hvr, austin
      Reviewed By: bgamari
      Subscribers: thomie
      Differential Revision: https://phabricator.haskell.org/D1426
    • Matthew Pickering's avatar
    • Joachim Breitner's avatar
      Remove imv_empty from ImportedModsVal · 5a862928
      Joachim Breitner authored
      it seems that this field is never used.
    • Joachim Breitner's avatar
      Turn ImportedModsVal into a data type · b8d263dc
      Joachim Breitner authored
      it was a 4-tuple before my patch, and a 6-tuple afterwards. Clearly a
      record type is in order here!
    • Joachim Breitner's avatar
      Give helpful advice when a fully qualified name is not in scope · e66f79df
      Joachim Breitner authored
      This implements #11071. It needs to thread through a GlobalRdrEnv
      corresponding to the export list of the module if its exports were not
      A refactoring of ImportedModsVal into a proper data type follows.
      Differential Revision: https://phabricator.haskell.org/D1462
    • Alan Zimmerman's avatar
      APIAnnotations:add Locations in hsSyn for layout · 2290c8bd
      Alan Zimmerman authored
      At the moment ghc-exactprint, which uses the GHC API Annotations to
      provide a framework for roundtripping Haskell source code with optional
      AST edits, has to implement a horrible workaround to manage the points
      where layout needs to be captured.
      These are
      To provide a more natural representation, the contents subject to layout
      rules need to be wrapped in a SrcSpan.
      This commit does this.
      Trac ticket #10250
      Test Plan: ./validate
      Reviewers: hvr, goldfire, bgamari, austin, mpickering
      Reviewed By: mpickering
      Subscribers: thomie, mpickering
      Differential Revision: https://phabricator.haskell.org/D1370
      GHC Trac Issues: #10250
  5. 12 Nov, 2015 6 commits
    • Matthew Pickering's avatar
      Ignore comments in getOptions · 5d6133be
      Matthew Pickering authored
      When Opt_KeepRawTokenStream is turned on then getOptions fails to find
      the language pragmas which can cause unexpected parse errors when using
      the GHC API. A simple solution is to make it skip over any comments in
      the token
      Test Plan: ./validate
      Reviewers: austin, bgamari
      Subscribers: alanz, thomie
      Differential Revision: https://phabricator.haskell.org/D1444
      GHC Trac Issues: #10942
    • Ben Gamari's avatar
      T10678: Fix bytes allocated statistic · ac2e1e57
      Ben Gamari authored
    • Ben Gamari's avatar
      New magic function for applying realWorld# · 351de169
      Ben Gamari authored
      Test Plan: validate
      Reviewers: goldfire, erikd, rwbarton, simonpj, austin, simonmar, hvr
      Reviewed By: simonpj
      Subscribers: simonmar, thomie
      Differential Revision: https://phabricator.haskell.org/D1103
      GHC Trac Issues: #10678
    • Ben Gamari's avatar
      rules/haddock: Set __HADDOCK_VERSION__ · 87557194
      Ben Gamari authored
      Test Plan: Validate
      Reviewers: austin, thomie
      Reviewed By: thomie
      Subscribers: kgardas, thomie
      Differential Revision: https://phabricator.haskell.org/D1467
    • Luite Stegeman's avatar
      Change demand information for foreign calls · e090f1bc
      Luite Stegeman authored
      Foreign calls may not be strict for lifted arguments. Fixes Trac #11076.
      Test Plan: ./validate
      Reviewers: simonpj, bgamari, austin
      Subscribers: thomie
      Differential Revision: https://phabricator.haskell.org/D1464
      GHC Trac Issues: #11076
    • olsner's avatar
      Implement function-sections for Haskell code, #8405 · 4a32bf92
      olsner authored
      This adds a flag -split-sections that does similar things to
      -split-objs, but using sections in single object files instead of
      relying on the Satanic Splitter and other abominations. This is very
      similar to the GCC flags -ffunction-sections and -fdata-sections.
      The --gc-sections linker flag, which allows unused sections to actually
      be removed, is added to all link commands (if the linker supports it) so
      that space savings from having base compiled with sections can be
      Supported both in LLVM and the native code-gen, in theory for all
      architectures, but really tested on x86 only.
      In the GHC build, a new SplitSections variable enables -split-sections
      for relevant parts of the build.
      Test Plan: validate with both settings of SplitSections
      Reviewers: dterei, Phyx, austin, simonmar, thomie, bgamari
      Reviewed By: simonmar, thomie, bgamari
      Subscribers: hsyl20, erikd, kgardas, thomie
      Differential Revision: https://phabricator.haskell.org/D1242
      GHC Trac Issues: #8405
  6. 11 Nov, 2015 5 commits