1. 26 Feb, 2017 23 commits
    • rwbarton's avatar
      tests: remove extra_files.py (#12223) · 3415bcaa
      rwbarton authored
      The script I used is included as testsuite/driver/kill_extra_files.py,
      though at this point it is for mostly historical interest.
      Some of the tests in libraries/hpc relied on extra_files.py, so this
      commit includes an update to that submodule.
      One test in libraries/process also relies on extra_files.py, but we
      cannot update that submodule so easily, so for now we special-case it
      in the test driver.
    • rwbarton's avatar
      tests: manually move some extra_files into *.T files · 98119f5a
      rwbarton authored
      Some of the *.T files were in libraries/hpc, so this contains an
      update to that submodule.
    • rwbarton's avatar
      Remove extra_files entries for deleted tests · 8bb63c2e
      rwbarton authored
    • rwbarton's avatar
      Manually move extra_files for tests T9579_* · 35b5790e
      rwbarton authored
      Summary: My script won't understand this.
      Test Plan: validate
      Reviewers: austin, bgamari, simonmar
      Subscribers: thomie
      Differential Revision: https://phabricator.haskell.org/D3210
    • rwbarton's avatar
      Bump hpc submodule to allow time-1.8 · ac553941
      rwbarton authored
    • Joachim Breitner's avatar
      Ensure that Literals are in range · 6dfc5ebf
      Joachim Breitner authored
      This commit fixes several bugs related to case expressions
      involving numeric literals which are not in the range of values of
      their (fixed-width, integral) type.
      There is a new invariant on Literal: The argument of a MachInt[64]
      or MachWord[64] must lie within the range of the corresponding
      primitive type Int[64]# or Word[64]#, as defined by the target machine.
      This invariant is enforced in mkMachInt[64]/mkMachWord[64] by wrapping
      the argument to the target type's range if necessary.
      Test Plan: Test Plan: make slowtest TEST="T9533 T9533b T9533c T10245
      Trac issues: #9533, #10245, #10246, #13171
      Reviewers: simonmar, simonpj, austin, bgamari, nomeata
      Reviewed By: bgamari
      Subscribers: thomie, rwbarton
      Differential Revision: https://phabricator.haskell.org/D810
    • Andrzej Rybczak's avatar
      Add support for concurrent package db access and updates · 0d86aa59
      Andrzej Rybczak authored
      Trac issues: #13194
      Reviewers: austin, hvr, erikd, bgamari, dfeuer, duncan
      Subscribers: DemiMarie, dfeuer, thomie
      Differential Revision: https://phabricator.haskell.org/D3090
    • Ben Gamari's avatar
      users-guide: Add documentation for JSON profile format · b494689c
      Ben Gamari authored
      Reviewers: austin
      Subscribers: thomie
      Differential Revision: https://phabricator.haskell.org/D3184
    • Ben Gamari's avatar
      Move Typeable Binary instances to binary package · bcffc35c
      Ben Gamari authored
      Bumps binary submodule.
    • Ben Gamari's avatar
      Coercion: Try dropping constraintIsLifted axiom · d2f48495
      Ben Gamari authored
      While working through the FunCo patch I encountered some lint issues
      which suggested that `Constraint` wasn't being considered equal to `TYPE
      'LiftedRep`.  Consequently I introduced this axiom and associated messy
      ball of logic to explicitly coerce `Constraint`.
      However, as @goldfire points out on D3208 this really shouldn't be
      necessary.  Indeed, I tried ripping out the axiom and things appear to
      just work. I suspect the issue motivating the axiom was a bug elsewhere
      in the FunCo branch that I fixed during development.
      Test Plan: Validate
      Reviewers: simonpj, goldfire, austin
      Reviewed By: goldfire
      Subscribers: thomie, goldfire
      Differential Revision: https://phabricator.haskell.org/D3218
    • Ben Gamari's avatar
      build system: Persist CrossCompiling in binary distributions · a7eeb607
      Ben Gamari authored
      The build system uses the CrossCompiling variable to decide whether or
      not we should build various packages that must be built using the
      compiler.  Consequently, it is important that we persist its value in
      the binary distribution so we know during `make install` not to go
      looking for files that would have been built for these packages. Failing
      to do this causes #13325.
      Test Plan: Cross compile, `make binary-dist`, and try installing the
      binary distribution on the target
      Reviewers: hvr, austin, trofi, rwbarton
      Reviewed By: trofi, rwbarton
      Subscribers: carter, trofi, rwbarton, erikd, thomie, snowleopard, davean
      Differential Revision: https://phabricator.haskell.org/D3187
    • Simon Peyton Jones's avatar
      Fix SetLevels for makeStaticPtr · 9bc4311f
      Simon Peyton Jones authored
      This too is prepartory for my early-inlining patch.  It turned
      out that early inlining exposed a bug in the way that static
      pointers were being floated.
      Reviewers: austin, bgamari
      Reviewed By: bgamari
      Subscribers: thomie
      Differential Revision: https://phabricator.haskell.org/D3205
    • Simon Peyton Jones's avatar
      Change -ddump-tc-trace output in TcErrors, slightly · ff9ff4a8
      Simon Peyton Jones authored
      Reviewers: austin, bgamari
      Reviewed By: bgamari
      Subscribers: thomie
      Differential Revision: https://phabricator.haskell.org/D3200
    • Adam Gundry's avatar
      Update OverloadedLabels docs and document HasField · 2aac0ba1
      Adam Gundry authored
      Test Plan: n/a
      Reviewers: bgamari, austin
      Reviewed By: bgamari
      Subscribers: thomie
      Differential Revision: https://phabricator.haskell.org/D3144
    • Ben Gamari's avatar
      Bring sanity to openTempFile · ad617a3e
      Ben Gamari authored
      Test Plan: Run test of `openTempFile` under `strace` to verify
      reasonably random filenames
      Reviewers: austin, hvr, trofi, rwbarton
      Reviewed By: trofi, rwbarton
      Subscribers: rwbarton, thomie
      Differential Revision: https://phabricator.haskell.org/D3188
    • Ben Gamari's avatar
      Add testcase for #13340 · 517ad201
      Ben Gamari authored
      Test Plan: Validate
      Reviewers: rwbarton, austin
      Reviewed By: rwbarton
      Subscribers: thomie
      Differential Revision: https://phabricator.haskell.org/D3215
    • Ben Gamari's avatar
      testsuite: Bump down T2762 number · d4b6deee
      Ben Gamari authored
      Although I'm really not convinced that measuring peak_megabytes_allocated of
      this test is reasonable.
    • Ben Gamari's avatar
      rts: Usage message wibbles · 97b15059
      Ben Gamari authored
    • Tamar Christina's avatar
      Load `pthreads` by default on Windows · be3f4362
      Tamar Christina authored
      The GCC Bindists that we use compile with `pthread` enabled by default.
      This means that on every link the dll is passed as a dependency by the
      driver. Lots of packages depend on it but the runtime linker doesn't
      provide it by default making compiled code work but not interpreted.
      Following D3028 `pthreads` would be provided by default ONLY when linked
      dynamicly, which we don't support yet (See D2592). Until this is the
      case we need to manually provide `libpthreads`.
      Test Plan: ./validate
      Reviewers: austin, hvr, bgamari
      Reviewed By: bgamari
      Subscribers: thomie, #ghc_windows_task_force
      Differential Revision: https://phabricator.haskell.org/D3155
    • Tamar Christina's avatar
      Make list of deprecated symbols on Windows weak. · 9968502d
      Tamar Christina authored
      We have a unfortunate workaround in place for the fact that most
      packages out there use POSIX names for symbols even on Windows.  This
      means that we have to recognize e.g. both `_ungetch` and `ungetch`.
      The former is the actual symbol name on windows and the latter is the
      POSIX variant. The problem is that on normal windows programs `ungetch`
      should not be in the global namespace.
      To work around this, we now mark the deprecated symbols as weak symbols
      in the global namespace. This provides the flexibility we need:
      * If you use the symbol without defining it, we assume you meant to use
        the POSIX variant.
      * If you actually define the symbol, we'll hence forth use that
        definition and assume you didn't mean to use POSIX code. This is how
        MingW64's wrapper also works.
      This requires D3028.
      Fixes #13210.
      Test Plan: ./validate
      Reviewers: austin, bgamari, erikd, simonmar
      Reviewed By: bgamari
      Subscribers: thomie, #ghc_windows_task_force
      Differential Revision: https://phabricator.haskell.org/D3154
    • Tamar Christina's avatar
      Load dependent dlls. · 41e54b4b
      Tamar Christina authored
      When the `GCC` driver envokes the pipeline a `SPEC` is used to determine
      how to configure the compiler and which libraries to pass along.
      For Windows/mingw, this specfile is
      This has a lot of interesting things that we need to emulate in order to
      be able to link as many things out of the box as GCC. In particular this
      is why you never need to specify `-lgcc_s` when compiling, but you do
      when using `GHCi`.
      Unfortunately due to time constraints I can't set up the framework
      required in `GHC` to do this before the feature freeze.
      So I suggest this alternate implementation:
      When we load a dll, also bring it's dependencies into scope of the
      This has pros and cons. Pro is, we'll fix many packages on hackage which
      specify just `-lstdc++`. Since this points to `libstdc++-6.dll` which
      will bring `libgcc` into scope.
      The downside is, we'll be more lenient than GCC, in that the interpreter
      will link much easier since it has implicit dependencies in scope.
      Whereas for compilation to work you will have to specify it as an
      argument to GHC.
      This will make the Windows runtime linker more consistent with the unix
      ones. The difference in semantics came about because of the differences
      between `dlsym` and `GetProcAddress`.  The former seems to search the
      given library and all it's dependencies, while the latter only searches
      the export table of the library. So we need some extra manual work to
      search the dependencies which this patch provides.
      Test Plan:
      $ echo :q | inplace/bin/ghc-stage2.exe --interactive +RTS -Dl -RTS
      -lstdc++ 2>&1 | grep "Loading dependency"
      $ echo :q | ../inplace/bin/ghc-stage2.exe --interactive -lstdc++ +RTS
      -Dl -RTS 2>&1 | grep "Loading dependency"
      Loading dependency *.exe -> GDI32.dll.
      Loading dependency GDI32.dll -> ntdll.dll.
      Loading dependency *.exe -> KERNEL32.dll.
      Loading dependency KERNEL32.dll -> KERNELBASE.dll.
      Loading dependency *.exe -> msvcrt.dll.
      Loading dependency *.exe -> SHELL32.dll.
      Loading dependency SHELL32.dll -> USER32.dll.
      Loading dependency USER32.dll -> win32u.dll.
      Loading dependency *.exe -> WINMM.dll.
      Loading dependency WINMM.dll -> WINMMBASE.dll.
      Loading dependency *.exe -> WSOCK32.dll.
      Loading dependency WSOCK32.dll -> WS2_32.dll.
      Loading dependency WS2_32.dll -> RPCRT4.dll.
      Loading dependency libstdc++-6.dll -> libwinpthread-1.dll.
      Loading dependency libstdc++-6.dll -> libgcc_s_seh-1.dll.
      Trac tickets: #13093, #13189
      Reviewers: simonmar, rwbarton, austin, bgamari, erikd
      Reviewed By: bgamari
      Subscribers: rwbarton, RyanGlScott, thomie, #ghc_windows_task_force
      Differential Revision: https://phabricator.haskell.org/D3028
    • Alan Zimmerman's avatar
    • Edward Z. Yang's avatar
      Rename compact to ghc-compact. · a0b4a2ac
      Edward Z. Yang authored
      The plan is to release a separate library, 'compact', which gives a
      friendly user-facing interface.  This library is just enough so that we
      can make sure the functionality is working in GHC.
      Signed-off-by: default avatarEdward Z. Yang <ezyang@cs.stanford.edu>
      Test Plan: validate
      Reviewers: bgamari, dfeuer, austin, simonmar, hvr
      Subscribers: thomie, erikd, snowleopard
      Differential Revision: https://phabricator.haskell.org/D3206
  2. 25 Feb, 2017 3 commits
  3. 24 Feb, 2017 6 commits
  4. 23 Feb, 2017 8 commits