This project is mirrored from https://gitlab.haskell.org/ghc/ghc.git. Pull mirroring failed .
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer.
Last successful update .
  1. 16 Apr, 2017 1 commit
  2. 14 Apr, 2017 1 commit
  3. 13 Apr, 2017 6 commits
    • Matthías Páll Gissurarson's avatar
      Fix typo in TcErrors.hs · 13131ce9
      Matthías Páll Gissurarson authored
      This fixes a very simple typo in TcErrors.hs. I hope this is small
      enough in scope to be accepted through GitHub.
      13131ce9
    • Alex Biehl's avatar
      Doc typo · 1c6ce33d
      Alex Biehl authored
      1c6ce33d
    • Simon Peyton Jones's avatar
      Comments only in Type.isPredTy · 87078efd
      Simon Peyton Jones authored
      87078efd
    • Simon Peyton Jones's avatar
      Remove dead quantifyTyVars · fbb27d77
      Simon Peyton Jones authored
      This patch
      
      * removes a function TcMType.quantifyTyVars
        that was never called
      
      * renames quantifyZonkedTyVars to quantifyTyVars
      
      Plus a few comments.  No functional change at all
      fbb27d77
    • Simon Peyton Jones's avatar
      Yet more work on TcSimplify.simplifyInfer · 0ae72512
      Simon Peyton Jones authored
      The proximate cause for this patch is Trac #13482, which pointed out
      further subtle interactions between
         - Inferring the most general type of a function
         - A partial type signature for that function
      
      That led me into /further/ changes to the shiny new stuff in
      TcSimplify.simplifyInfer, decideQuantification, decideMonoTyVars,
      and related functions.
      
      Happily, I was able to make some of it quite a bit simpler,
      notably the bit about promoting free tyvars.  I'm happy with
      the result.
      
      Moreover I fixed Trac #13524 at the same time.  Happy days.
      0ae72512
    • Simon Peyton Jones's avatar
      Fix a couple of user-manual typos · 037c2495
      Simon Peyton Jones authored
      037c2495
  4. 12 Apr, 2017 16 commits
    • Matthew Pickering's avatar
      Split up RnEnv into 4 modules, RnUnbound, RnUtils and RnFixity · e07cd507
      Matthew Pickering authored
      Summary:
      RnEnv contains functions which convertn RdrNames into Names.
      
      RnUnbound contains helper functions for reporting and creating
      unbound variables.
      
      RnFixity contains code which maintains the fixity environent
      whilst renaming.
      
      RnUtils contains the other stuff in RnEnv.
      
      Reviewers: austin, goldfire, bgamari
      
      Subscribers: goldfire, rwbarton, thomie, snowleopard
      
      Differential Revision: https://phabricator.haskell.org/D3436
      e07cd507
    • Moritz Angermann's avatar
      Drop special handling of iOS · 68c00a1b
      Moritz Angermann authored
      iOS at least since iOS8 (we are currently at iOS10.3), allows for
      dynamic libaries, hence any artificail restriction on dyanmic
      libraries should be lifted.
      
      Please ping me with any iOS related issues that should potentially
      resurface.  The iOS toolchain has considerably changed over the
      years, and I'm willing to drop work arounds in good faith.
      
      Reviewers: bgamari, austin
      
      Reviewed By: bgamari
      
      Subscribers: rwbarton, thomie
      
      GHC Trac Issues: #13559, #7722
      
      Differential Revision: https://phabricator.haskell.org/D3451
      68c00a1b
    • Chris Martin's avatar
      Fix typo in ReadP (succeds -> succeeds) · 8121748d
      Chris Martin authored
      Reviewers: austin, hvr, bgamari
      
      Reviewed By: bgamari
      
      Subscribers: rwbarton, thomie
      
      Differential Revision: https://phabricator.haskell.org/D3452
      8121748d
    • Moritz Angermann's avatar
      [linker] Remove dead code (ELF_FUNCTION_DESC) · 210b43fe
      Moritz Angermann authored
      Reviewers: bgamari, austin, erikd, simonmar, rwbarton
      
      Reviewed By: bgamari, rwbarton
      
      Subscribers: rwbarton, thomie
      
      Differential Revision: https://phabricator.haskell.org/D3444
      210b43fe
    • Matthew Pickering's avatar
      Allow qualified names to be children in export lists · fa5a73f0
      Matthew Pickering authored
      When doing this I noticed a horrible amount of duplication between
      lookupSubBndrOcc and lookupExportChild (which I am responsible for).
      I opened #13545 to keep track of this.
      
      Reviewers: austin, bgamari
      
      Reviewed By: bgamari
      
      Subscribers: rwbarton, thomie
      
      GHC Trac Issues: #13528
      
      Differential Revision: https://phabricator.haskell.org/D3434
      fa5a73f0
    • rwbarton's avatar
      Suggest correct replacement flag name for -dppr-ticks · 2fc9c3e3
      rwbarton authored
      It told me to use -fno-suppress-ticks, but it should have been
      -dno-suppress-ticks.
      
      Test Plan: tested -dppr-ticks and -frewrite-rules manually
      
      Reviewers: austin, bgamari
      
      Reviewed By: bgamari
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D3430
      2fc9c3e3
    • rwbarton's avatar
      Remove GhcDynamic (in favor of DYNAMIC_GHC_PROGRAMS) · 2c1312bd
      rwbarton authored
      DYNAMIC_GHC_PROGRAMS and GhcDynamic both tried to control whether
      the ghc binary was built as a dynamic executable, with confusing
      results. In particular, setting GhcDynamic=NO has no effect on
      systems where DYNAMIC_GHC_PROGRAMS defaults to YES.
      
      DYNAMIC_GHC_PROGRAMS is more fully-featured (it ensures that the
      correct flavor of the libraries is built, for example) so let's
      keep it and remove GhcDynamic to reduce confusion.
      
      This effectively reverts commit 3c6190b0.
      
      Test Plan: tested locally; harbormaster
      
      Reviewers: simonmar, austin, bgamari
      
      Reviewed By: bgamari
      
      Subscribers: thomie, snowleopard
      
      Differential Revision: https://phabricator.haskell.org/D3428
      2c1312bd
    • Ben Gamari's avatar
      arc-linters: Add linting of #ifdef x and #if defined x · 0ecd7fae
      Ben Gamari authored
      Reviewers: austin, erikd
      
      Reviewed By: erikd
      
      Subscribers: rwbarton, thomie, erikd
      
      Differential Revision: https://phabricator.haskell.org/D3423
      0ecd7fae
    • Erik de Castro Lopo's avatar
      base: Implement bit casts between word and float types · aa206346
      Erik de Castro Lopo authored
      Test Plan: Test on x86 and x86_64
      
      Reviewers: duncan, trofi, simonmar, tibbe, hvr, austin, rwbarton,
      bgamari
      
      Reviewed By: duncan
      
      Subscribers: Phyx, DemiMarie, rwbarton, thomie
      
      Differential Revision: https://phabricator.haskell.org/D3358
      aa206346
    • Matthew Pickering's avatar
      RnEnv cleanup · bb3712bf
      Matthew Pickering authored
      unless (not ..) -> when
      
      Remove unused getLookupOccRn
      
      Remove lookupGreRn2
      
      It was only called in one place in a very strange way. It is easier
      to just use lookupGreRn which has nearly the same implementation and
      then directly call `unboundName`.
      
      Remove unused function mapFvRnCPS
      
      Remove unused functions bindLocatedLocalsRn and bindLocatedLocalsFV
      
      Reviewers: austin, bgamari
      
      Reviewed By: bgamari
      
      Subscribers: rwbarton, thomie
      
      Differential Revision: https://phabricator.haskell.org/D3435
      bb3712bf
    • Simon Peyton Jones's avatar
      Use -G1 for reliable peak mem usage · 2d96edd0
      Simon Peyton Jones authored
      2d96edd0
    • Simon Peyton Jones's avatar
      Make let and app consistent in exprIsCheapX · 8d8d094d
      Simon Peyton Jones authored
      This fixes Trac #13558, by making App and Let behave
      consistently; see Note [Arguments and let-bindings exprIsCheapX]
      
      I renamed the mysterious exprIsOk to exprIsCheapX.  (The "X"
      is because it is parameterised over a CheapAppFun.)
      8d8d094d
    • Simon Peyton Jones's avatar
      Add Outputable instance for ArityType · ebb36b2c
      Simon Peyton Jones authored
      ebb36b2c
    • Simon Peyton Jones's avatar
      Fix another literal-string buglet · 8346334e
      Simon Peyton Jones authored
      We were failing to float a nested binding
         x :: Addr# = "foo"#
      to top level, even though we /were/ floating string
      literals themselves.  A small oversight, easily fixed.
      8346334e
    • Simon Peyton Jones's avatar
      Improve demand analysis for join points · b5b7d820
      Simon Peyton Jones authored
      I realised (Trac #13543) that we can improve demand analysis for
      join point quite straightforwardly.
      
      The idea is explained in
          Note [Demand analysis for join points]
      in DmdAnal
      b5b7d820
    • Simon Peyton Jones's avatar
      Kill off complications in CoreFVs · 751996e9
      Simon Peyton Jones authored
      When doing type-in-type, Richard introduce some substantial
      complications in CoreFVs, gathering types and free variables
      of type.  In Trac #13160 we decided that this complication was
      unnecessary, so this patch removes it.
      
      Unfortnately I then fell down a twisty rabbit hole.  Roughly:
      
      * An apparently-innocuous change in the AnnApp case of
        fiExpr made the fuction a little bit stricter, so we ended
        up peering into the arguments when we didn't before (namely
        when there are no bindings being floated inwards).  I've
        rejigged it so that it's not fragile any more.
      
      * Peering into the arguments was sometimes expensive, becuase
        exprIsExpandable can be expensive because it looks deeply into
        the expression.
      
      * The combination of the two led to a non-linear explosion
        of work when the argument of a function is a deeep nest
        of constructors.  This bug has been lurking for ages.
      
        I solved it by replacing exprIsExpandable with exprIsHNF
        + exprIsTrivial; see Note [noFloatInto considerations]
      
      * The code around floating case-expressions turned out to be
        very delicate, because can_fail primops (which we want to
        float inwards) can't be floated outwards; so we have to be
        careful never to float them too far. Note [Floating primops]
        has the details
      
      * I ended up refactoring some rather opaque code in
        sepBindsByDropPoint.
      
      Working all this out meant that I rewrote quite a bit of
      code, so it's now a reasonably substantial patch.  But it's
      a net improvement.
      751996e9
  5. 11 Apr, 2017 6 commits
    • Gabor Greif's avatar
      Typos in comments [ci skip] · fc2a96a1
      Gabor Greif authored
      fc2a96a1
    • Moritz Angermann's avatar
      [Elf/arm] Thumb indicator bit only for STT_FUNC · e662a6cb
      Moritz Angermann authored
      Reviewers: rwbarton, bgamari, austin, erikd, simonmar, trofi
      
      Reviewed By: trofi
      
      Subscribers: trofi, thomie
      
      Differential Revision: https://phabricator.haskell.org/D3438
      e662a6cb
    • Moritz Angermann's avatar
      [MachO] Use OBJFORMAT_MACHO. · 185834e7
      Moritz Angermann authored
      Reviewers: bgamari, austin, erikd, simonmar, rwbarton
      
      Reviewed By: rwbarton
      
      Subscribers: rwbarton, thomie
      
      Differential Revision: https://phabricator.haskell.org/D3433
      185834e7
    • Moritz Angermann's avatar
      Enter iserv-proxy · d4631078
      Moritz Angermann authored
      With the introduction of -fexternal-interpreter we are
      now able to compile template haskell via an extern iserv process.
      
      This however is restricted to the same host, and can therefore
      not be used with crosscompilers where the iserv slave process
      needs to run on a different machine than the cross compiling
      haskell compiler.
      
      This diff breaks up iserv into a library and the iserv-bin binary.
      It also introduces the iserv-proxy, a proxy instance that the
      haskell compiler can talk to, and which forwards the calls
      to the iserv slave on a different machine, as well as providing
      some extra functionarily (sending files that are not available
      on the machine the slave runs on), as well as forwarding from
      the slave to the haskell compiler, when the slave needs to
      interrogate the haskell compiler.
      
      The iserv library now also exports the startSlave function to be
      called by the application that implements the slave on the target.
      
      The simplest such app would probably look something like:
      
      ```
      extern void startServ(bool, const char *);
      
      int main(int argc, char * argv[]) {
        hs_init(NULL, NULL);
        startServ(false,"/tmp");
        while(1);
      }
      ```
      
      Special thanks to Shea Levy for the first draft of the iserv-remote,
      from which I took some inspiration.
      
      The `Buildable` flags are due to ghc-cabal not being able to build
      more than a single target.  Please note that only the stock iserv-bin
      is supposed to be built *with* ghc.  The library and proxy are supposed
      to be built outside of ghc.  Yet I believe that this code should live
      together with iserv.
      
      Reviewers: simonmar, ezyang, goldfire, austin, rwbarton, bgamari
      
      Reviewed By: simonmar
      
      Subscribers: luite, ryantrinkle, shlevy, thomie
      
      Differential Revision: https://phabricator.haskell.org/D3233
      d4631078
    • Ben Gamari's avatar
      Fix form of note · 3a0e5e0f
      Ben Gamari authored
      3a0e5e0f
    • Ben Gamari's avatar
  6. 10 Apr, 2017 4 commits
  7. 09 Apr, 2017 2 commits
  8. 08 Apr, 2017 2 commits
    • Sergei Trofimovich's avatar
      cross-build 'unlit' and 'hp2ps' for stage2 install · ff84d052
      Sergei Trofimovich authored
      
      
      In navive build case it does not matter much if we build
      'unlit' and 'hp2ps' tools with ghc-stage0 or ghc-stage1:
      both GHCs are native compilers and both tools are written
      in C (have no haskell code).
      
      But in cross-case the difference is substantial:
      In Stag1Only=YES case we need to install native tools built
      by ghc-stage0/${host}-cc.
      In Stag1Only=NO  case we need to install cross-built tools
      built by ghc-stage1/${target}-cc.
      
      Before this change GHC did not have a rule to build cross-built
      'unlit' and 'hp2ps'.
      
      The change adds cross-built 'unlit' and 'hp2ps' as 'dist-install'
      targets.
      
      'inplace/lib/bin/unlit.bin' target is unchanged and still contains
      native binary.
      
      As a result this change allows cross-building and packaging whole
      GHC for target platform!
      Signed-off-by: default avatarSergei Trofimovich <slyfox@gentoo.org>
      ff84d052
    • Sergei Trofimovich's avatar
      fix 'make install' for cross-stage2 · 54895c90
      Sergei Trofimovich authored
      
      
      When cross-built GHC is being installed one of
      latest steps is to register installed libraries
      with 'ghc-pkg'.
      
      GHC uses freshly installed 'ghc-pkg' and 'ghc-stage2'
      for that.
      
      Tested as:
          ./configure --target=aarch64-unknown-linux-gnu
          make install DESTDIR=$(pwd)/__s2 STRIP_CMD=:
      
      Before the change install failed on ghc-pkg execution phase:
      
          ".../ghc-cross/__s2/usr/local/lib/ghc-8.3.20170406/bin/ghc-pkg" \
              --force \
              --global-package-db \
              ".../ghc-cross/__s2/usr/local/lib/ghc-8.3.20170406/package.conf.d" \
              update rts/dist/package.conf.install
          /bin/sh: .../ghc-cross/__s2/usr/local/lib/ghc-8.3.20170406/bin/ghc-pkg: \
              No such file or directory
      
      To avoid breakage we use 'ghc' and 'ghc-pkg' built by stage0.
      Signed-off-by: default avatarSergei Trofimovich <slyfox@gentoo.org>
      
      Test Plan: run 'make install' on stage2 crosscompiler
      
      Reviewers: rwbarton, austin, bgamari
      
      Subscribers: thomie, snowleopard
      
      Differential Revision: https://phabricator.haskell.org/D3432
      54895c90
  9. 07 Apr, 2017 1 commit
    • Simon Peyton Jones's avatar
      Do Note [Improving seq] always · f0d98fc6
      Simon Peyton Jones authored
      This patch fixes Trac #13468, and at the same time makes the
      code simpler and more uniform.  In particular, I've eliminated
      the awkward conflict between the old built-in rule for seq
      (which elimianted a cast), and the desire to make case scrutinse
      a data type by doing type-family reduction (which adds a cast).
      
      Nice.
      f0d98fc6
  10. 06 Apr, 2017 1 commit