summaryrefslogtreecommitdiff
path: root/libraries
Commit message (Collapse)AuthorAgeFilesLines
* Revert "Enable new warning for fragile/incorrect CPP #if usage"Ben Gamari2017-04-051-1/+1
| | | | | | | | This is causing too much platform dependent breakage at the moment. We will need a more rigorous testing strategy before this can be merged again. This reverts commit 7e340c2bbf4a56959bd1e95cdd1cfdb2b7e537c2.
* test for HAVE_CLOCK_GETTIME definednessGabor Greif2017-04-051-1/+1
|
* Typos in comments [ci skip]Gabor Greif2017-04-051-1/+1
|
* base: Mark unfold as deprecatedBen Gamari2017-04-042-0/+5
| | | | | | | | | | | | Test Plan: Read it Reviewers: austin, hvr, RyanGlScott Reviewed By: RyanGlScott Subscribers: rwbarton, thomie, ekmett Differential Revision: https://phabricator.haskell.org/D3422
* Add Alternative instance for ZipList (fix #13520).Edvard Hübinette2017-04-042-1/+11
| | | | | | | | | | Reviewers: austin, hvr, bgamari, RyanGlScott Reviewed By: RyanGlScott Subscribers: adamse, RyanGlScott, rwbarton, thomie Differential Revision: https://phabricator.haskell.org/D3416
* base: Add test for #8684Ben Gamari2017-04-042-0/+17
| | | | | | | | Reviewers: austin, hvr Subscribers: rwbarton, thomie Differential Revision: https://phabricator.haskell.org/D3420
* base: Add test for #13525Ben Gamari2017-04-042-0/+8
| | | | | | | | Reviewers: austin, hvr Subscribers: rwbarton, thomie Differential Revision: https://phabricator.haskell.org/D3419
* Enable new warning for fragile/incorrect CPP #if usageErik de Castro Lopo2017-04-051-1/+1
| | | | | | | | | | | | | | | | The C code in the RTS now gets built with `-Wundef` and the Haskell code (stages 1 and 2 only) with `-Wcpp-undef`. We now get warnings whereever `#if` is used on undefined identifiers. Test Plan: Validate on Linux and Windows Reviewers: austin, angerman, simonmar, bgamari, Phyx Reviewed By: bgamari Subscribers: thomie, snowleopard Differential Revision: https://phabricator.haskell.org/D3278
* compact: Clarify mutability restrictionBen Gamari2017-04-031-9/+11
| | | | | | | | | | | | | | Fixes #13508. [skip ci] Test Plan: Read it Reviewers: austin Subscribers: rwbarton, thomie Differential Revision: https://phabricator.haskell.org/D3407
* Bump Win32 submoduleBen Gamari2017-04-031-0/+0
| | | | Fixes #13514.
* array: Clear up inconsistency in T9220 outputBen Gamari2017-04-021-0/+0
| | | | | | | ghc-8.2 and master disagreed on the order of the instances. Normalise this difference away. Updates array submodule.
* Update containers submodule to official 0.5.10.2David Feuer2017-04-021-0/+0
| | | | | | | | | | Reviewers: austin, bgamari Reviewed By: bgamari Subscribers: rwbarton, thomie Differential Revision: https://phabricator.haskell.org/D3406
* Report heap overflow in the same way as stack overflowSimon Marlow2017-04-023-7/+11
| | | | | | | | | | | | | | | | | | | | | | | Now that we throw an exception for heap overflow, we should only print the heap overflow message in the main thread when the HeapOverflow exception is caught, rather than as a side effect in the GC. Stack overflows were already done this way, I just made heap overflow consistent with stack overflow, and did some related cleanup. Fixes broken T2592(profasm) which was reporting the heap overflow message twice (you would only notice when building with profiling libs enabled). Test Plan: validate Reviewers: bgamari, niteria, austin, DemiMarie, hvr, erikd Reviewed By: bgamari Subscribers: rwbarton, thomie Differential Revision: https://phabricator.haskell.org/D3394
* base: Check for path separators chars in openTempFile' template stringBen Gamari2017-03-291-2/+6
| | | | This fixes #13489.
* Bump array submoduleBen Gamari2017-03-261-0/+0
| | | | Previous change fix 32-bit systems, but broke 64-bits
* Bump array submoduleBen Gamari2017-03-261-0/+0
|
* testsuite: Add 32-bit output for compact_share testBen Gamari2017-03-262-0/+4
|
* testsuite: Note x87 terribleness in num009Ben Gamari2017-03-261-1/+5
|
* Typos in comments (notes too) [ci skip]Gabor Greif2017-03-241-1/+1
|
* Make unsafeInterleaveST less unsafeDavid Feuer2017-03-225-10/+56
| | | | | | | | | | | | | | | | | | | | | | | | * Make `unsafeInterleaveST` use `noDuplicate#` like `unsafeInterleaveIO` does to prevent the suspended action from being run in two threads. * In order to accomplish this without `unsafeCoerce#`, generalize the type of `noDuplicate#`. * Add `unsafeDupableInterleaveST` to get the old behavior. * Document unsafe `ST` functions and clean up some related documentation. Fixes #13457 Reviewers: austin, hvr, bgamari, ekmett Reviewed By: bgamari Subscribers: rwbarton, thomie Differential Revision: https://phabricator.haskell.org/D3370
* Bump unix submoduleBen Gamari2017-03-211-0/+0
|
* Fix Windows x86 buildTamar Christina2017-03-201-0/+0
| | | | | | | | | | | | | | | | | | Summary: Fix some `-Werror` failures and work around a bug in the `x86` version of `mingw-w64-crt`'s libraries. The bump in the `win32` submodule is required for this. Test Plan: ./validate Reviewers: austin, bgamari, erikd, simonmar Reviewed By: simonmar Subscribers: rwbarton, thomie Differential Revision: https://phabricator.haskell.org/D3362
* GHC.Word: Move Read instances to GHC.ReadErik de Castro Lopo2017-03-173-24/+27
| | | | | | | | | | | | Test Plan: Validate Reviewers: hvr, austin, bgamari Reviewed By: hvr Subscribers: rwbarton, thomie Differential Revision: https://phabricator.haskell.org/D3353
* Bump unix submoduleBen Gamari2017-03-151-0/+0
|
* Decrease locked region size on Windows to fix ERROR_LOCK_INVALID_RANGEAndrzej Rybczak2017-03-151-4/+4
| | | | | | | | Reviewers: austin, hvr, bgamari Subscribers: rwbarton, thomie Differential Revision: https://phabricator.haskell.org/D3345
* Typos in manual and commentsGabor Greif2017-03-142-3/+3
|
* Typeable: Fix remaining typeRepX referencdsBen Gamari2017-03-133-24/+24
| | | | What was previously known as TypeRepX is now known as SomeTypeRep.
* Make exports from Data.Typeable and Type.Reflection consistentRyan Scott2017-03-132-3/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes some idiosyncracies I noticed between `Data.Typeable` and `Type.Reflection`: * `showsTypeRep` (from `Data.Typeable`) had the type `SomeTypeRep -> ShowS`, despite the fact that `SomeTypeRep` isn't exported from `Data.Typeable`. I changed it to be `Data.Typeable.TypeRep -> ShowS`. * Similarly, `typeRepFingerprint` (reexported from `Data.Typeable`) had the type `SomeTypeRep -> Fingerprint`. I changed it to `Data.Typeable.TypeRep -> Fingerprint`. * `Type.Reflection` wasn't exporting `typeRepX` or `typeRepXFingerprint`, despite the fact that their counterparts were exported from `Data.Typeable`. `Type.Reflection` now exports them as well. * `withTypeable :: TypeRep (a :: k) -> (Typeable a => r) -> r` was being reexported from `Data.Typeable`. This is in spite of the fact that you can't actually use the type-indexed `TypeRep a` by importing `Data.Typeable` alone. I decided to remove this export from `Data.Typeable`. Reviewers: bgamari, austin, hvr Reviewed By: bgamari Subscribers: rwbarton, thomie Differential Revision: https://phabricator.haskell.org/D3309
* Maybe Monoid doc: "is no semigroup" -> "used to be no semigroup"Chris Martin2017-03-131-2/+2
| | | | | | | | | | Reviewers: austin, hvr, bgamari Reviewed By: bgamari Subscribers: rwbarton, thomie Differential Revision: https://phabricator.haskell.org/D3312
* Elaborate further on ZipList Applicative docsChris Martin2017-03-131-5/+13
| | | | | | | | | | | | | | | | | | | | | I was initially confused when I read "zipWithn" in the haddock for ZipList, went looking for a function named "zipWithn", and found that it didn't exist. This expands the docs to clarify that we're referring to the family of functions [zipWith, zipWith3, zipWith4, ...], capitalizes the letter "n" in "zipWithN" in attempt to make that more readable, and gives an example. I also moved this documentation from ZipList itself to the Applicative instance, so that it will show up in both the Ziplist documentation and in the list of Applicative instances. Reviewers: austin, hvr, bgamari Reviewed By: bgamari Subscribers: rwbarton, thomie Differential Revision: https://phabricator.haskell.org/D3324
* Don't reference elSupremum in haddock for Lifetime MonoidChris Martin2017-03-131-1/+1
| | | | | | | | | | Reviewers: austin, hvr, bgamari, RyanGlScott Reviewed By: RyanGlScott Subscribers: RyanGlScott, rwbarton, thomie Differential Revision: https://phabricator.haskell.org/D3325
* KQueue: Eliminate redundant importBen Gamari2017-03-121-4/+3
| | | | At long last fixes OS X build.
* Bump time submoduleBen Gamari2017-03-101-0/+0
| | | | Fixes 32-bit validation
* Comments onlySimon Peyton Jones2017-03-102-23/+35
|
* Fix TcSimplify.decideQuantification for kind variablesSimon Peyton Jones2017-03-101-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | TcSimplify.decideQuantification was doing the Wrong Thing when "growing" the type variables to quantify over. We were trying to do this on a tyvar set where we'd split off the dependent type varaibles; and we just got it wrong. A kind variable wasn't being generalised properly, with confusing knock on consequences. All this led to Trac #13371 and Trac #13393. This commit tidies it all up: * The type TcDepVars is renamed as CandidateQTvs; and splitDepVarsOfType to candidateQTyVarsOfType * The code in TcSimplify.decideQuantification is simpler. It no longer does the tricky "grow" stuff over TcDepVars. Instead it use ordinary VarSets (thereby eliminating the nasty growThetaTyVarsDSet) and uses that to filter the result of candidateQTyVarsOfType. * I documented that candidateQTyVarsOfType returns the type variables in a good order in which to quantify, and rewrote it to use an accumulator pattern, so that we would predicatably get left-to-right ordering. In doing all this I also made UniqDFM behave a little more nicely: * When inserting an element that is there already, keep the old tag, while still overwriting with the new value. * This means that when doing udfmToList we get back elements in the order they were originally inserted, rather than in reverse order. It's not a big deal, but in a subsequent commit I use it to improve the order of type variables in inferred types. All this led to a lot of error message wibbles: - changing the order of quantified variables - changing the order in which instances are listed in GHCi - changing the tidying of variables in typechecker erors There's a submodule update for 'array' because one of its tests has an error-message change. I may not have associated all of them with the correct commit.
* configure.ac: Bump version to 8.3ghc-8.3-startBen Gamari2017-03-092-2/+2
| | | | Bumps haddock submodule
* Fix typo in base changelogRyan Scott2017-03-091-1/+1
| | | | Replace `Data.Reflection` with `Type.Reflection`.
* Data.Typeable: Export splitTyConApp, typeRepArgs, and typeRepTyConBen Gamari2017-03-095-15/+39
| | | | | | | | | | Test Plan: Validate Reviewers: austin, hvr, RyanGlScott Subscribers: rwbarton, thomie Differential Revision: https://phabricator.haskell.org/D3294
* Add a comment to the mapFB rulesJoachim Breitner2017-03-091-2/+4
| | | | to amend 2fa44217c1d9722227297eefb0d6c6aed7e128ca.
* Comments only [ci skip]Gabor Greif2017-03-091-1/+1
|
* KQueue.hsc: fix build failure on FreeBSDSergei Trofimovich2017-03-091-2/+3
| | | | | | | | | | | | | | | | | | | | | | Build failed as: libraries/base/GHC/Event/KQueue.hsc:192:25: error: Not in scope: type constructor or class ‘Int16’ | 192 | newtype Filter = Filter Int16 | ^^^^^ If was caused by an import tweak from Word16 to Int16. Adjust imports to make KQueue compile cleanly. Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> Test Plan: build on freebsd Reviewers: bgamari, austin, hvr Subscribers: rwbarton, thomie Differential Revision: https://phabricator.haskell.org/D3300
* Allow compilation of C/C++/ObjC/ObjC++ files with module from THFrancesco Mazzoli2017-03-088-17/+46
| | | | | | | | | | | | | | | | | | | | The main goal is to easily allow the inline-c project (and similar projects such as inline-java) to emit C/C++ files to be compiled and linked with the current module. Moreover, `addCStub` is removed, since it's quite fragile. Most notably, the C stubs end up in the file generated by `CodeOutput.outputForeignStubs`, which is tuned towards generating a file for stubs coming from `capi` and Haskell-to-C exports. Reviewers: simonmar, austin, goldfire, facundominguez, dfeuer, bgamari Reviewed By: dfeuer, bgamari Subscribers: snowleopard, rwbarton, dfeuer, thomie, duncan, mboes Differential Revision: https://phabricator.haskell.org/D3280
* base: Import Data.Int in KQueueBen Gamari2017-03-081-0/+1
| | | | This was broken in the ecb880caea441b6dd7f75a555546e55abe11c233.
* Bump haskeline submodule to fix Windows build.Tamar Christina2017-03-081-0/+0
|
* Win32: bump submodule to v2.5.2.0Tamar Christina2017-03-081-0/+0
| | | | | | | | | | | | Summary: This fixes the Windows build after the latest -Werror patches landed. Test Plan: ./validate Reviewers: austin, bgamari Subscribers: rwbarton, thomie Differential Revision: https://phabricator.haskell.org/D3293
* base: kevent.filter is signedBen Gamari2017-03-071-3/+3
| | | | | | I checked both the FreeBSD and Darwin manpages; it's signed in both cases. This was producing validation failures on OS X due to the new literal range-check.
* Generate better fp abs for X86 and llvm with default cmm otherwiseDominic Steinitz2017-03-071-8/+6
| | | | | | | | | | | | | | | | | | | | | | | Currently we have this in libraries/base/GHC/Float.hs: ``` abs x | x == 0 = 0 -- handles (-0.0) | x > 0 = x | otherwise = negateFloat x ``` But 3-4 years ago it was noted that this was inefficient: https://mail.haskell.org/pipermail/libraries/2013-April/019690.html We can generate better code for X86 and llvm and for others generate some custom cmm code which is similar to what the compiler generates now. Reviewers: austin, simonmar, hvr, bgamari Reviewed By: bgamari Subscribers: dfeuer, thomie Differential Revision: https://phabricator.haskell.org/D3265
* Fix commentBen Gamari2017-03-071-1/+1
|
* Typos in changelog and commentsGabor Greif2017-03-073-3/+3
|
* Add rule mapFB c (λx.x) = cJoachim Breitner2017-03-061-0/+1
| | | | | | | | | | | | Test Plan: exended T2110 with a case for that. Reviewers: austin, hvr, dfeuer, bgamari Reviewed By: dfeuer Subscribers: dfeuer, thomie Differential Revision: https://phabricator.haskell.org/D3275