Skip to content
Snippets Groups Projects
  1. May 29, 2019
  2. May 28, 2019
  3. May 27, 2019
    • Ömer Sinan Ağacan's avatar
      Add missing opening braces in Cmm dumps · db8e3275
      Ömer Sinan Ağacan authored and Marge Bot's avatar Marge Bot committed
      Previously -ddump-cmm was generating code with unbalanced curly braces:
      
           stg_atomically_entry() //  [R1]
                   { info_tbls: [(cfl,
                                  label: stg_atomically_info
                                  rep: tag:16 HeapRep 1 ptrs { Thunk }
                                  srt: Nothing)]
                     stack_info: arg_space: 8 updfr_space: Just 8
                   }
               {offset
                 cfl: // cfk
                     unwind Sp = Just Sp + 0;
                     _cfk::P64 = R1;
                     //tick src<rts/PrimOps.cmm:(1243,1)-(1245,1)>
                     R1 = I64[_cfk::P64 + 8 + 8 + 0 * 8];
                     call stg_atomicallyzh(R1) args: 8, res: 0, upd: 8;
               }
           }, <---- OPENING BRACE MISSING
      
      After this patch:
      
           stg_atomically_entry() { //  [R1] <---- MISSING OPENING BRACE HERE
                   { info_tbls: [(cfl,
                                  label: stg_atomically_info
                                  rep: tag:16 HeapRep 1 ptrs { Thunk }
                                  srt: Nothing)]
                     stack_info: arg_space: 8 updfr_space: Just 8
                   }
               {offset
                 cfl: // cfk
                     unwind Sp = Just Sp + 0;
                     _cfk::P64 = R1;
                     //tick src<rts/PrimOps.cmm:(1243,1)-(1245,1)>
                     R1 = I64[_cfk::P64 + 8 + 8 + 0 * 8];
                     call stg_atomicallyzh(R1) args: 8, res: 0, upd: 8;
               }
           },
      db8e3275
    • John Ericson's avatar
      hadrian: Fix generation of settings · f80d3afd
      John Ericson authored and Marge Bot's avatar Marge Bot committed
      I jumbled some lines in e529c65e,
      messing up the leading underscores and rts ways settings. This broke at
      least stage1 linking on macOS, but probably loads of other things too.
      
      Should fix #16685 and #16658.
      f80d3afd
    • Jasper Van der Jeugt's avatar
      Fix padding of entries in .prof files · 95b79173
      Jasper Van der Jeugt authored and Marge Bot's avatar Marge Bot committed
      When the number of entries of a cost centre reaches 11 digits, it takes
      up the whole space reserved for it and the prof file ends up looking
      like:
      
          ... no.        entries  %time %alloc   %time %alloc
      
              ...
          ... 120918     978250    0.0    0.0     0.0    0.0
          ... 118891          0    0.0    0.0    73.3   80.8
          ... 11890229702412351    8.9   13.5    73.3   80.8
          ... 118903  153799689    0.0    0.1     0.0    0.1
              ...
      
      This results in tooling not being able to parse the .prof file.  I
      realise we have the JSON output as well now, but still it'd be good to
      fix this little weirdness.
      
      Original bug report and full prof file can be seen here:
      <https://github.com/jaspervdj/profiteur/issues/28>.
      95b79173
    • Simon Jakobi's avatar
      base: Include (<$) in all exports of Functor · 6d188dd5
      Simon Jakobi authored and Marge Bot's avatar Marge Bot committed
      Previously the haddocks for Control.Monad and Data.Functor gave
      the impression that `fmap` was the only Functor method.
      
      Fixes #16681.
      6d188dd5
    • Sebastian Graf's avatar
      Add a pprTraceWith function · 723216e3
      Sebastian Graf authored and Marge Bot's avatar Marge Bot committed
      723216e3
    • Krzysztof Gogolewski's avatar
      Fix tcfail158 (#15899) · 1f51aad6
      Krzysztof Gogolewski authored and Marge Bot's avatar Marge Bot committed
      As described in #15899, this test was broken, but now it's back
      to normal.
      1f51aad6
    • Josh Price's avatar
      Correct the large tuples section in user's guide · 3f6e5b97
      Josh Price authored and Marge Bot's avatar Marge Bot committed
      Fixes #16644.
      3f6e5b97
    • mizunashi_mana's avatar
      Fix typo of primop format · dcd843ac
      mizunashi_mana authored and Marge Bot's avatar Marge Bot committed
      dcd843ac
    • Alp Mestanogullari's avatar
      Hadrian: Fix problem with unlit path in settings file · 01f8e390
      Alp Mestanogullari authored and Marge Bot's avatar Marge Bot committed
      e529c65e introduced a problem in the logic for generating the
      path to the unlit command in the settings file, and this patches
      fixes it.
      
      This fixes many tests, the simplest of which is:
      
      > _build/stage1/bin/ghc testsuite/tests/parser/should_fail/T8430.lhs
      
      which failed because of a wrong path for unlit, and now fails for the right
      reason, with the error message expected for this test.
      
      This addresses #16659.
      01f8e390
    • Moritz Angermann's avatar
      Lowercase windows imports · 4b228768
      Moritz Angermann authored
      While windows and macOS are currently on case-insensitive file
      systems, this poses no issue on those.  When cross compiling from
      linux with a case sensitive file system and mingw providing only
      lowercase headers, this in fact produces an issue.  As such we just
      lowercase the import headers, which should still work fine on a
      case insensitive file system and also enable mingw's headers to
      be usable porperly.
      4b228768
  4. May 26, 2019
    • isovector's avatar
      Let the specialiser work on dicts under lambdas · 2d0cf625
      isovector authored and Marge Bot's avatar Marge Bot committed
      Following the discussion under #16473, this change allows the
      specializer to work on any dicts in a lambda, not just those that occur
      at the beginning.
      
      For example, if you use data types which contain dictionaries and
      higher-rank functions then once these are erased by the optimiser you
      end up with functions such as:
      
      ```
        go_s4K9
        Int#
        -> forall (m :: * -> *).
           Monad m =>
           (forall x. Union '[State (Sum Int)] x -> m x) -> m ()
      ```
      
      The dictionary argument is after the Int# value argument, this patch
      allows `go` to be specialised.
      2d0cf625
  5. May 25, 2019
  6. May 24, 2019
    • Michael Sloan's avatar
      Add PlainPanic for throwing exceptions without depending on pprint · d9dfbde3
      Michael Sloan authored and Matthew Pickering's avatar Matthew Pickering committed
      This commit splits out a subset of GhcException which do not depend on
      pretty printing (SDoc), as a new datatype called
      PlainGhcException. These exceptions can be caught as GhcException,
      because 'fromException' will convert them.
      
      The motivation for this change is that that the Panic module
      transitively depends on many modules, primarily due to pretty printing
      code.  It's on the order of about 130 modules.  This large set of
      dependencies has a few implications:
      
      1. To avoid cycles / use of boot files, these dependencies cannot
      throw GhcException.
      
      2. There are some utility modules that use UnboxedTuples and also use
      `panic`. This means that when loading GHC into GHCi, about 130
      additional modules would need to be compiled instead of
      interpreted. Splitting the non-pprint exception throwing into a new
      module resolves this issue. See #13101
      d9dfbde3
    • David Eichmann's avatar
      Allow metric change after reverting "Add Generic tuple instances up to 15-tuple" #16688 · c931f256
      David Eichmann authored
      Metrics increased on commit 5eb94454 and
      decreased on revert commit 535a26c9.
      
      Metric Decrease:
          T9630
          haddock.base
      c931f256
    • Ryan Scott's avatar
      Some forall-related cleanup in deriving code · 6eedbd83
      Ryan Scott authored and Marge Bot's avatar Marge Bot committed
      * Tweak the parser to allow `deriving` clauses to mention explicit
        `forall`s or kind signatures without gratuitous parentheses.
        (This fixes #14332 as a consequence.)
      * Allow Haddock comments on `deriving` clauses with explicit
        `forall`s. This requires corresponding changes in Haddock.
      6eedbd83
    • Iavor S. Diatchki's avatar
      Add a `NOINLINE` pragma on `someNatVal` (#16586) · 59f4cb6f
      Iavor S. Diatchki authored and Marge Bot's avatar Marge Bot committed
      This fixes #16586, see `Note [NOINLINE someNatVal]` for details.
      59f4cb6f
    • Ömer Sinan Ağacan's avatar
      Add a test for #16597 · 0b449d34
      Ömer Sinan Ağacan authored and Marge Bot's avatar Marge Bot committed
      0b449d34
    • Alp Mestanogullari's avatar
      add an --hadrian mode to ./validate · 04b4b984
      Alp Mestanogullari authored and Marge Bot's avatar Marge Bot committed
      When the '--hadrian' flag is passed to the validate script, we use hadrian
      to build GHC, package it up in a binary distribution and later on run GHC's
      testsuite against the said bindist, which gets installed locally in the process.
      
      Along the way, this commit fixes a typo, an omission (build iserv binaries
      before producing the bindist archive) and moves the Makefile that enables
      'make install' on those bindists from being a list of strings in the code to
      an actual file (it was becoming increasingly annoying to work with).
      
      Finally, the Settings.Builders.Ghc part of this patch is necessary for being
      able to use the installed binary distribution, in 'validate'.
      04b4b984
  7. May 23, 2019
  8. May 22, 2019
Loading