1. 07 Aug, 2019 2 commits
  2. 28 Jul, 2019 1 commit
  3. 21 Jul, 2019 1 commit
    • Ivan Kasatenko's avatar
      Do not ignore events deletion when events to be added are provided (#16916) · 67ee741b
      Ivan Kasatenko authored
      Kqueue/kevent implementation used to ignore events to be unsubscribed
      from when events to be subscribed to were provided. This resulted in a
      lost notification subscription, when GHC runtime didn't listen for any
      events, yet the kernel considered otherwise and kept waking up the IO
      manager thread.
      
      This commit fixes this issue by always adding and removing all of the
      provided subscriptions.
      67ee741b
  4. 20 Jul, 2019 1 commit
  5. 19 Jul, 2019 2 commits
  6. 17 Jul, 2019 1 commit
    • John Ericson's avatar
      Create {Int,Word}32Rep · 0a9b77b8
      John Ericson authored
      This prepares the way for making Int32# and Word32# the actual size they
      claim to be.
      
      Updates binary submodule for (de)serializing the new runtime reps.
      0a9b77b8
  7. 14 Jul, 2019 3 commits
    • Ruiyang Wang's avatar
    • John Ericson's avatar
      Expunge #ifdef and #ifndef from the codebase · d7c6c471
      John Ericson authored
      These are unexploded minds as far as the linter is concerned. I don't
      want to hit in my MRs by mistake!
      
      I did this with `sed`, and then rolled back some changes in the docs,
      config.guess, and the linter itself.
      d7c6c471
    • John Ericson's avatar
      Remove purely external primops · ff04eb59
      John Ericson authored
      The compiler doesn't create uses nor compiles the uses that exist
      specially. These are just plain C-- FFI.
      
      These `await*` ones are especially important to so convert because "true"
      primops are hard to make platform-specific currently.
      
      The other exports are part of this commit so this module always exports
      something, which avoids silly CPP elsewhere. More will be added later
      once `foreign import prim` is extended.
      ff04eb59
  8. 13 Jul, 2019 1 commit
  9. 27 Jun, 2019 1 commit
  10. 22 Jun, 2019 1 commit
    • Ben Gamari's avatar
      ghci: Don't rely on resolution of System.IO to base module · 655c6e26
      Ben Gamari authored
      Previously we would hackily evaluate a textual code snippet to compute
      actions to disable I/O buffering and flush the stdout/stderr handles.
      This broke in a number of ways (#15336, #16563).
      
      Instead we now ship a module (`GHC.GHCi.Helpers`) with `base` containing
      the needed actions. We can then easily refer to these via `Orig` names.
      655c6e26
  11. 18 Jun, 2019 2 commits
  12. 16 Jun, 2019 3 commits
  13. 14 Jun, 2019 1 commit
    • Andrew Martin's avatar
      Implement the -XUnliftedNewtypes extension. · effdd948
      Andrew Martin authored
      GHC Proposal: 0013-unlifted-newtypes.rst
      Discussion: https://github.com/ghc-proposals/ghc-proposals/pull/98
      Issues: #15219, #1311, #13595, #15883
      Implementation Details:
        Note [Implementation of UnliftedNewtypes]
        Note [Unifying data family kinds]
        Note [Compulsory newtype unfolding]
      
      This patch introduces the -XUnliftedNewtypes extension. When this
      extension is enabled, GHC drops the restriction that the field in
      a newtype must be of kind (TYPE 'LiftedRep). This allows types
      like Int# and ByteArray# to be used in a newtype. Additionally,
      coerce is made levity-polymorphic so that it can be used with
      newtypes over unlifted types.
      
      The bulk of the changes are in TcTyClsDecls.hs. With -XUnliftedNewtypes,
      getInitialKind is more liberal, introducing a unification variable to
      return the kind (TYPE r0) rather than just returning (TYPE 'LiftedRep).
      When kind-checking a data constructor with kcConDecl, we attempt to
      unify the kind of a newtype with the kind of its field's type. When
      typechecking a data declaration with tcTyClDecl, we again perform a
      unification. See the implementation note for more on this.
      Co-authored-by: Richard Eisenberg's avatarRichard Eisenberg <rae@richarde.dev>
      effdd948
  14. 13 Jun, 2019 1 commit
    • Ben Gamari's avatar
      testsuite: A more portable solution to #9399 · c53dfb3b
      Ben Gamari authored
      Previously we used an awful hybrid batch script/Bourne shell script to
      allow this test to run both on Windows and Linux (fixing #9399).
      However, this breaks on some libc implementations (e.g. musl). Fix this.
      
      Fixes #16798.
      c53dfb3b
  15. 12 Jun, 2019 2 commits
  16. 10 Jun, 2019 1 commit
    • Ben Gamari's avatar
      base: Mark CPUTime001 as fragile · 1a3420ca
      Ben Gamari authored
      As noted in #16224, CPUTime001 has been quite problematic, reporting
      non-monotonic timestamps in CI. Unfortunately I've been unable to
      reproduce this locally.
      1a3420ca
  17. 09 Jun, 2019 2 commits
  18. 07 Jun, 2019 5 commits
  19. 01 Jun, 2019 1 commit
    • Nathan Collins's avatar
      Improve ThreadId Show instance · 1d43d4a3
      Nathan Collins authored
      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
  20. 31 May, 2019 2 commits
  21. 29 May, 2019 1 commit
  22. 27 May, 2019 1 commit
  23. 24 May, 2019 1 commit
  24. 23 May, 2019 1 commit
  25. 21 May, 2019 1 commit
  26. 10 May, 2019 1 commit