Skip to content
Snippets Groups Projects
  1. Jun 03, 2019
    • Ben Gamari's avatar
      Maintain separate flags for C++ compiler invocations · d0c03112
      Ben Gamari authored
      Previously we would pass flags intended for the C compiler to the C++
      compiler (see #16738). This would cause, for instance, `-std=gnu99` to
      be passed to the C++ compiler, causing spurious test failures. Fix this
      by maintaining a separate set of flags for C++ compilation invocations.
      d0c03112
    • Ben Gamari's avatar
      gitlab-ci: Use GHC 8.6.5 for Windows CI builds · 799b1d26
      Ben Gamari authored and Marge Bot's avatar Marge Bot committed
      799b1d26
    • Takenobu Tani's avatar
      Add `-haddock` to prepare-system.sh and .gitlab-ci.yml · c4f94320
      Takenobu Tani authored and Marge Bot's avatar Marge Bot committed
      To cover ci conditions from ghc8.6 to 8.9, I add `-haddock` option
      to `.circleci/prepare-system.sh` and .gitlab-ci.yml.
      after including `mk/flavours/*`.
      c4f94320
    • Takenobu Tani's avatar
      Add `-haddock` to perf.mk rather than prepare-system.sh · 43a39c3c
      Takenobu Tani authored and Marge Bot's avatar Marge Bot committed
      To cover ci conditions from ghc8.6 to 8.9, I add `-haddock` option
      to `mk/flavours/perf.mk` rather than `.circleci/prepare-system.sh`.
      
      Because in windows condition of ghc-8.9, `mk/flavours/*` is included
      after `prepare-system.sh`.
      
      In addition, in linux condition of ghc-8.6, `mk/flavors/perf.mk` is used.
      43a39c3c
    • Takenobu Tani's avatar
      Add `-haddock` option under ci condition to fix #16415 · 33e37d06
      Takenobu Tani authored and Marge Bot's avatar Marge Bot committed
      In order to use the `:doc` command in ghci, it is necessary
      to compile for core libraries with `-haddock` option.
      
      Especially, the `-haddock` option is essential for release building.
      
      Note:
        * The `-haddock` option may affect compile time and binary size.
        * But hadrian has already set `-haddock` as the default.
        * This patch affects the make-based building.
      
      This patch has been split from !532.
      33e37d06
  2. Jun 01, 2019
    • Ömer Sinan Ağacan's avatar
      rts: Remove unused decls from CNF.h · 2e297b36
      Ömer Sinan Ağacan authored and Marge Bot's avatar Marge Bot committed
      2e297b36
    • Ömer Sinan Ağacan's avatar
      Fix rewriting invalid shifts to errors · 1503da32
      Ömer Sinan Ağacan authored and Marge Bot's avatar Marge Bot committed
      Fixes #16449.
      
      5341edf3 removed a code in rewrite rules for bit shifts, which broke the
      "silly shift guard", causing generating invalid bit shifts or heap
      overflow in compile time while trying to evaluate those invalid bit
      shifts.
      
      The "guard" is explained in Note [Guarding against silly shifts] in
      PrelRules.hs.
      
      More specifically, this was the breaking change:
      
          --- a/compiler/prelude/PrelRules.hs
          +++ b/compiler/prelude/PrelRules.hs
          @@ -474,12 +474,11 @@ shiftRule shift_op
                  ; case e1 of
                      _ | shift_len == 0
                        -> return e1
          -             | shift_len < 0 || wordSizeInBits dflags < shift_len
          -             -> return (mkRuntimeErrorApp rUNTIME_ERROR_ID wordPrimTy
          -                                        ("Bad shift length" ++ show shift_len))
      
      This patch reverts this change.
      
      Two new tests added:
      
      - T16449_1: The original reproducer in #16449. This was previously
        casing a heap overflow in compile time when CmmOpt tries to evaluate
        the large (invalid) bit shift in compile time, using `Integer` as the
        result type. Now it builds as expected. We now generate an error for
        the shift as expected.
      
      - T16449_2: Tests code generator for large (invalid) bit shifts.
      1503da32
    • Ryan Scott's avatar
      Fix space leaks in dynLoadObjs (#16708) · 76e58890
      Ryan Scott authored and Marge Bot's avatar Marge Bot committed
      When running the test suite on a GHC built with the `quick` build
      flavour, `-fghci-leak-check` noticed some space leaks. Careful
      investigation led to `Linker.dynLoadObjs` being the culprit.
      Pattern-matching on `PeristentLinkerState` and a dash of `$!` were
      sufficient to fix the issue. (ht to mpickering for his suggestions,
      which were crucial to discovering a fix)
      
      Fixes #16708.
      76e58890
    • Ryan Scott's avatar
      Reject nested foralls in foreign imports (#16702) · 45f88494
      Ryan Scott authored and Marge Bot's avatar Marge Bot committed
      This replaces a panic observed in #16702 with a simple error message
      stating that nested `forall`s simply aren't allowed in the type
      signature of a `foreign import` (at least, not at present).
      
      Fixes #16702.
      45f88494
    • Nathan Collins's avatar
      Improve ThreadId Show instance · 1d43d4a3
      Nathan Collins authored and Marge Bot's avatar Marge Bot committed
      By making it include parens when a derived instance would. For example, this changes the (hypothetical) code `show (Just (ThreadId 3))` to produce `"Just (ThreadId 3)"` instead of the current `"Just ThreadId 3"`.
      1d43d4a3
  3. May 31, 2019
  4. May 30, 2019
Loading