Skip to content
Snippets Groups Projects
  1. Jun 26, 2019
  2. Jun 25, 2019
  3. Jun 24, 2019
  4. Jun 23, 2019
    • Ryan Scott's avatar
      Refactor UnliftedNewtypes-relation kind signature validity checks · 9bbcc3be
      Ryan Scott authored and Marge Bot's avatar Marge Bot committed
      This fixes three infelicities related to the programs that are
      (and aren't) accepted with `UnliftedNewtypes`:
      
      * Enabling `UnliftedNewtypes` would permit newtypes to have return
        kind `Id Type`, which had disastrous results (i.e., GHC panics).
      * Data family declarations ending in kind `TYPE r` (for some `r`)
        weren't being accepted if `UnliftedNewtypes` wasn't enabled,
        despite the GHC proposal specifying otherwise.
      * GHC wasn't warning about programs that _would_ typecheck if
        `UnliftedNewtypes` were enabled in certain common cases.
      
      As part of fixing these issues, I factored out the logic for checking
      all of the various properties about data type/data family return
      kinds into a single `checkDataKindSig` function. I also cleaned up
      some of the formatting in the existing error message that gets
      thrown.
      
      Fixes #16821, fixes #16827, and fixes #16829.
      9bbcc3be
    • Ben Gamari's avatar
      ghci: Load static objects in batches · 5a502cd1
      Ben Gamari authored and Marge Bot's avatar Marge Bot committed
      Previously in the case where GHC was dynamically linked we would load
      static objects one-by-one by linking each into its own shared object and
      dlopen'ing each in order. However, this meant that the link would fail
      in the event that the objects had cyclic symbol dependencies.
      
      Here we fix this by merging each "run" of static objects into a single
      shared object and loading this.
      
      Fixes #13786 for the case where GHC is dynamically linked.
      5a502cd1
    • Ben Gamari's avatar
      testsuite: Test for #13786 · ade3db53
      Ben Gamari authored and Marge Bot's avatar Marge Bot committed
      ade3db53
  5. Jun 22, 2019
  6. Jun 21, 2019
    • Ben Gamari's avatar
      linker: Disable code unloading · 49fff41d
      Ben Gamari authored and Marge Bot's avatar Marge Bot committed
      As noted in #16841, there are currently a variety of bugs in the
      unloading logic. These only affect Windows since code unloading is
      disabled on Linux, where we build with `GhcDynamic=YES` by default.
      
      In the interest of getting the tree green on Windows disable code
      unloading until the issues are resolved.
      49fff41d
    • Ben Gamari's avatar
      testsuite: Mark T15633a and T15633b as fragile on Windows · 84900724
      Ben Gamari authored and Marge Bot's avatar Marge Bot committed
      As noted in #16813, these tests seem to be fragile on Windows.
      84900724
    • Ben Gamari's avatar
      testsuite: Mark T7702 as broken on Windows · 7bd1c3e1
      Ben Gamari authored and Marge Bot's avatar Marge Bot committed
      Due to #16799.
      7bd1c3e1
    • Ben Gamari's avatar
      testsuite: Mark T7170 as broken on Windows · 31f2ea68
      Ben Gamari authored and Marge Bot's avatar Marge Bot committed
      Due to #16801.
      31f2ea68
    • Ben Gamari's avatar
      testsuite: Mark OldModLocation as broken on Windows · 3967d13a
      Ben Gamari authored and Marge Bot's avatar Marge Bot committed
      Strangely the path it emits contains duplicate path delimiters (#16772),
      ```patch
      --- ghc-api/downsweep/OldModLocation.run/OldModLocation.stderr.normalised	2019-06-04 14:40:26.326075000 +0000
      +++ ghc-api/downsweep/OldModLocation.run/OldModLocation.run.stderr.normalised	2019-06-04 14:40:26.328029200 +0000
      @@ -1 +1 @@
      -[Just "A.hs",Just "mydir/B.hs"]
      +[Just "A.hs",Just "mydir//B.hs"]
      ```
      3967d13a
    • Ben Gamari's avatar
      testsuite: Add stderr output for UnsafeInfered02 on Windows · 2eedb120
      Ben Gamari authored and Marge Bot's avatar Marge Bot committed
      This test uses TemplateHaskell causing GHC to build dynamic objects on
      platforms where dynamic linking is available. However, Windows doesn't support
      dynamic linking. Consequently the test would fail on Windows with:
      
      ```patch
      --- safeHaskell/safeInfered/UnsafeInfered02.run/UnsafeInfered02.stderr.normalised	2019-06-04 15:10:10.521594200 +0000
      +++ safeHaskell/safeInfered/UnsafeInfered02.run/UnsafeInfered02.comp.stderr.normalised	2019-06-04 15:10:10.523546200 +0000
      @@ -1,5 +1,5 @@
      -[1 of 2] Compiling UnsafeInfered02_A ( UnsafeInfered02_A.hs, UnsafeInfered02_A.o, UnsafeInfered02_A.dyn_o )
      -[2 of 2] Compiling UnsafeInfered02  ( UnsafeInfered02.hs, UnsafeInfered02.o, UnsafeInfered02.dyn_o )
      +[1 of 2] Compiling UnsafeInfered02_A ( UnsafeInfered02_A.hs, UnsafeInfered02_A.o )
      +[2 of 2] Compiling UnsafeInfered02  ( UnsafeInfered02.hs, UnsafeInfered02.o )
      
       UnsafeInfered02.hs:4:1:
           UnsafeInfered02_A: Can't be safely imported!
      ```
      
      The other approach I considered for this issue is to pass `-v0` to GHC.
      However, I felt we should probably do this consistently for all of the tests in
      this directory and this would take more time than I currently have.
      2eedb120
    • Ben Gamari's avatar
      testsuite: Mark T3372 as fragile on Windows · aa516431
      Ben Gamari authored and Marge Bot's avatar Marge Bot committed
      On Windows we must lock package databases even when opening for
      read-only access. This means that concurrent GHC sessions are very
      likely to fail with file lock contention.
      
      See #16773.
      aa516431
    • Ben Gamari's avatar
      testsuite: Skip dynamicToo006 when dynamic linking is not available · 2485c08a
      Ben Gamari authored and Marge Bot's avatar Marge Bot committed
      This was previously failling on Windows.
      2485c08a
Loading