1. 19 Apr, 2016 2 commits
  2. 18 Apr, 2016 6 commits
  3. 17 Apr, 2016 13 commits
    • Herbert Valerio Riedel's avatar
    • Herbert Valerio Riedel's avatar
    • Herbert Valerio Riedel's avatar
      Update `directory` submodule to v1.2.6.1 release · 93d85af9
      Herbert Valerio Riedel authored
      This fixes a build-failure on OSX
    • Tamar Christina's avatar
      Resolve symlinks when attempting to find GHC's lib folder on Windows · a3922083
      Tamar Christina authored
      Systools makes some pretty hard assumptions about where GHC is on Windows.
      One of these is that ghc be in a folder named `bin` and that `../lib` exists.
      This pattern doesn't hold for symlinks as a link `C:\ghc-bin\`
      pointing to `C:\ghc\ghc-7.10.3\bin` will break this assumption.
      This patch resolves symlinks by finding where they point to and uses that location
      as the base for GHC.
      This uses an API that's been introduced in Vista. For older systems it falls back to
      the current behavior of not resolving symlinks.
      Test Plan:
      1) Create symlink to GHC's bin folder.
      2) Run GHC from that folder.
      Reviewers: austin, bgamari
      Reviewed By: austin
      Subscribers: #ghc_windows_task_force, thomie
      Differential Revision: https://phabricator.haskell.org/D2101
      GHC Trac Issues: #11759
    • Erik de Castro Lopo's avatar
      Linker: Clean up #if USE_MMAP usage · 177aec69
      Erik de Castro Lopo authored
      Test Plan:
       - Run tests on x86_64/linux, x86_64/darwin and powerpc/linux
       - Cross compile rts/Linker.c with the i686-w64-mingw32-gcc and
         x86_64-w64-mingw32-gcc Linux to Windows cross-compilers.
      Reviewers: hvr, austin, thomie, bgamari, simonmar, Phyx
      Reviewed By: Phyx
      Subscribers: thomie
      Differential Revision: https://phabricator.haskell.org/D1437
    • Andrew Farmer's avatar
      Check CCS tree for pointers into shared object during checkUnload · 36a0b6dc
      Andrew Farmer authored
      Prevent shared objects from being unloaded if cost centre stacks point
      at the object. This will prevent segfault in #11776, but also prevents
      objects from ever being unloaded when profiling. Pruning CCS tree will
      enable that in another diff.
      Test Plan: make TEST=linker_profiled, examine linker_profiled.run.stderr
      Reviewers: austin, simonmar, bgamari
      Reviewed By: simonmar, bgamari
      Subscribers: thomie
      Differential Revision: https://phabricator.haskell.org/D2069
      GHC Trac Issues: #11776
    • quchen's avatar
      Add flag to control number of missing patterns in warnings · 7005b9f7
      quchen authored
      Non-exhaustive pattern warnings had their number of patterns to
      show hardcoded in the past. This patch implements the TODO remark
      that this should be made a command line flag.
      can now be used to influence the number of patterns to be shown.
      Reviewers: hvr, austin, bgamari
      Reviewed By: bgamari
      Subscribers: thomie
      Differential Revision: https://phabricator.haskell.org/D2076
    • Ben Gamari's avatar
    • Ben Gamari's avatar
      users-guide: Fix typo · 7a1c0731
      Ben Gamari authored
    • Ben Gamari's avatar
      TH: Tweak Haddock language · 89b66742
      Ben Gamari authored
    • Iavor S. Diatchki's avatar
      Add TemplateHaskell support for Overlapping pragmas · 04b70cda
      Iavor S. Diatchki authored
      Reviewers: hvr, goldfire, austin, RyanGlScott, bgamari
      Reviewed By: RyanGlScott, bgamari
      Subscribers: RyanGlScott, thomie
      Differential Revision: https://phabricator.haskell.org/D2118
    • Tamar Christina's avatar
      Add Windows import library support to the Runtime Linker · 97f2b164
      Tamar Christina authored
      Import libraries are files ending in `.dll.a` and `.lib` depending on which
      compiler creates them (GCC, vs MSVC).
      Import Libraries are standard `archive` files that contain object files.
      These object files can have two different formats:
      1) The normal COFF Object format for object files
          (contains all ascii data and very little program code, so do not
           try to execute.)
      2) "short import" format which just contains a symbol name and
         the dll in which the symbol can be found.
      Import Libraries are useful for two things:
      1) Allowing applications that don't support dynamic linking to
         link against the import lib (non-short format) which then
         makes calls into the DLL by loading it at runtime.
      2) Allow linking of mutually recursive dlls. if `A.DLL` requires
         `B.DLL` and vice versa, import libs can be used to break the cycle
         as they can be created from the expected exports of the DLLs.
      A side effect of having these two capabilities is that Import libs are often
      used to hide specific versions of DLLs behind a non-versioned import lib.
      e.g. GCC_S.a (non-conventional import lib) will point to the correct
      `libGCC` DLL. With this support Windows Haskell files can now just link
      to `-lGCC_S` and not have to worry about what the actual name of libGCC is.
      Also third party libraries such as `icuuc` use import libs to forward to
      versioned DLLs. e.g. `icuuc.lib` points to `icuuc51.dll` etc.
      Test Plan:
      Two new tests added T11072gcc T11072msvc
      Two binary files have been added to the test folder because the "short"
      import library format doesn't seem to be creatable via `dlltool`
      and requires Microsoft's `lib.exe`.
      Reviewers: bgamari, RyanGlScott, erikd, goldfire, austin, hvr
      Reviewed By: RyanGlScott, erikd
      Subscribers: thomie
      Differential Revision: https://phabricator.haskell.org/D1696
      GHC Trac Issues: #11072
    • Herbert Valerio Riedel's avatar
  4. 16 Apr, 2016 4 commits
    • Herbert Valerio Riedel's avatar
    • Herbert Valerio Riedel's avatar
      Rework CC/CC_STAGE0 handling in `configure.ac` · 865602e0
      Herbert Valerio Riedel authored
      Rather than using the non-standard/idiomatic `--with-{gcc,clang}=...`
      scheme use the `CC=...` style scheme.
      The basic idea is to have Autoconf's CC/CFLAG/CPPFLAG apply to
      stage{1,2,3}, while having a separate _STAGE0 set of env-vars
      denote the bootstrap-toolchain flags/programs.
      This should be simpler, less confusing, and somewhat more in line with
      Autoconf's idioms (allowing us to reuse more of Autoconf rather than
      (re)inventing our own confusing non-standard m4 macros to do stuff that
      Autoconf could almost do already for us)
      Morever, expose CC_STAGE0 as a so-called "precious" variable.
      So now we can better control which bootstrapping gcc is used
      (by default the one used by the stage0 ghc, unless CC_STAGE0 is
      Some influential environment variables:
        CC_STAGE0   C compiler command (bootstrap)
        CC          C compiler command
        CFLAGS      C compiler flags
      Use these variables to override the choices made by `configure' or to
      help it...
    • Ben Gamari's avatar
      Bump haddock submodule · f4e65912
      Ben Gamari authored
    • Herbert Valerio Riedel's avatar
      deriveConstants: Verify sanity of nm · bf17fd0e
      Herbert Valerio Riedel authored
      Add a sanity check ensuring that nm emits valid hexadecimal output, as
      required by POSIX. See #11744 for motivation.
      Reviewers: austin, bgamari
      Subscribers: thomie
      Differential Revision: https://phabricator.haskell.org/D2113
      GHC Trac Issues: #11744
  5. 15 Apr, 2016 15 commits