summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* Disable AVX for LLVM 3.2 by default (#9391)Peter Wortmann2014-11-181-5/+11
| | | | | | | | | Due to a bug LLVM generates a C-like frame pointer prelude for functions that use AVX instructions. This causes programs using the GHC calling convention to crash, therefore we simply disable them. People that want to use AVX should consider upgrading to a more current LLVM version. Signed-off-by: Austin Seipp <austin@well-typed.com>
* mapMaybe: Typo in the comment (#9644)Wieland Hoffmann2014-11-181-1/+1
| | | | Signed-off-by: Austin Seipp <austin@well-typed.com>
* Fix usage of `find -perm` in aclocal.m4 (#9697)Nicholas Hart2014-11-181-1/+1
| | | | Signed-off-by: Austin Seipp <austin@well-typed.com>
* Update comment about C helper for foreign exports (#9713)Bertram Felgenhauer2014-11-181-2/+6
| | | | Signed-off-by: Austin Seipp <austin@well-typed.com>
* base: Fix (**) instance for Data.Complex (#8539)Austin Seipp2014-11-181-0/+16
| | | | | | | Reviewed-by: Edward Kmett <ekmett@gmail.com> Authored-by: Yalas, Scott Turner Signed-off-by: Austin Seipp <austin@well-typed.com>
* Add missing semicolon in Schedule.cSimon Peyton Jones2014-11-181-1/+1
| | | | I think this went wrong in 2a6f193b
* Outputable instance for IfaceVectInfoMateusz Kowalczyk2014-11-181-0/+10
|
* Whitespace onlyMateusz Kowalczyk2014-11-181-8/+8
|
* Fix ffi023Simon Marlow2014-11-182-1/+8
|
* Build xhtml and haddock only when `HADDOCK_DOCS=YES`Joachim Breitner2014-11-181-0/+6
| | | | This fixes #8558
* Add a note why tcGetInstEnvs is duplicated.Edward Z. Yang2014-11-171-1/+2
| | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
* Remove optimized package lookup, simplifying code.Edward Z. Yang2014-11-171-49/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Summary: A while back when I was refactoring the package code, I tried to solve a performance problem by introducing a fastpath for module lookups. Well, it turned out the performance problem was unrelated, but I kept the optimization because it seemed vaguely useful. In this commit, I remove the optimization because I don't really think it's buying us much and it increased code complexity. ToDo: Inline mkModuleToPkgConfGeneric into mkModuleToPkgConfAll Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu> Test Plan: validate Reviewers: simonpj, austin Reviewed By: austin Subscribers: thomie, carter Differential Revision: https://phabricator.haskell.org/D434
* Change a comment referring falsely to seqDavid Feuer2014-11-171-1/+4
| | | | | | | | | | | | | | Summary: Instead, describe what it actually does. Reviewers: austin, ekmett, simonpj, hvr Reviewed By: austin, ekmett Subscribers: simonpj, thomie, carter Projects: #ghc Differential Revision: https://phabricator.haskell.org/D448
* Adding dedicated Show instances for SrcSpan/SrcLocAlan Zimmerman2014-11-176-3/+76
| | | | | | | | | | | | | | | | | | | Summary: The derived Show instances for SrcSpan and SrcLoc are very verbose. This patch replaces them with hand-made ones which use positional syntax for the record constructors, rather than exhaustively listing each one. Test Plan: sh ./validate Reviewers: austin Reviewed By: austin Subscribers: thomie, carter Differential Revision: https://phabricator.haskell.org/D445
* Docs onlyEdward Z. Yang2014-11-175-12/+31
| | | | | | | | | | | | | | Summary: Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu> Test Plan: n/a Reviewers: austin, Mikolaj Reviewed By: austin, Mikolaj Subscribers: thomie, carter Differential Revision: https://phabricator.haskell.org/D446
* Make listArray fuseDavid Feuer2014-11-171-13/+11
| | | | | | | | | | | | | | Summary: Make listArray fuse with a list producer. Note: if code size increases too much, we can fix that with some `RULES`. Reviewers: nomeata, hvr, austin, ekmett, simonmar, bgamari Reviewed By: bgamari Subscribers: bgamari, thomie, carter Differential Revision: https://phabricator.haskell.org/D474 GHC Trac Issues: #9801
* Remove outdated TODO in TimeManagerYuras Shumovich2014-11-171-26/+0
| | | | | | | | | | | | | | | | Summary: It describes a work around Trac #3838, but it is already fixed and the workaround removed, Trac #7653 Test Plan: not needed Reviewers: hvr, Mikolaj, austin Reviewed By: austin Subscribers: thomie, carter Differential Revision: https://phabricator.haskell.org/D478
* Don't use absolute paths for perl in validateMateusz Kowalczyk2014-11-171-3/+2
| | | | | | | | | | | | | | Summary: This will *not* work on NixOS for example. Reviewers: austin Reviewed By: austin Subscribers: thomie, carter Differential Revision: https://phabricator.haskell.org/D479 GHC Trac Issues: #9057
* document addDependentFile uses contents, not mtimeGreg Weber2014-11-171-2/+9
| | | | | | | | | | | | Reviewers: austin Reviewed By: austin Subscribers: thomie, carter Differential Revision: https://phabricator.haskell.org/D481 GHC Trac Issues: #4900
* Fix a bug introduced with allocation countersSimon Marlow2014-11-174-0/+39
|
* Update validate settings now that containers and process have beenDavid Terei2014-11-161-2/+0
| | | | updated to handle `-fwarn-trustworthy-safe`.
* Fix compilation of `integer-gmp2` with `-O0`Herbert Valerio Riedel2014-11-151-2/+2
| | | | | | | | | | | | At optimization level `-O0` `wordToInteger` wasn't inlined, and this caused a `__integer` literal to turn up in final Core, which would trigger the GHC panic ghc-stage1: panic! (the 'impossible' happened) (GHC version 7.9.20141114 for x86_64-unknown-linux): Can't use Integer in integer-* By forcing inlining via `inline` this is avoided. This should hopefully address #9800.
* Update to (unreleased) `deepseq-1.4.0.0`Herbert Valerio Riedel2014-11-1514-7/+10
| | | | | | | | | | | | | | | | | | | This pulls in the new `Generic`-based `-XDefaultSignature`-based default implementation for `rnf`[1], and will be interesting to use in combination with the soon to be merged `-XDeriveAnyClass` extension. This requires updating several other submodules as well in order to relax the upper bound on `deepseq` and/or in a few cases to avoid relying on the default method implementation of `rnf`: - `Cabal` - `bytestring` - `containers` - `parallel` - `process` - `time` [1]: http://permalink.gmane.org/gmane.comp.lang.haskell.libraries/23031
* Workaround 452d6aa95b7 breaking TrustworthySafe03Herbert Valerio Riedel2014-11-151-0/+1
| | | | | This is only a temporary kludge until the issue workarounded by 452d6aa95b7 gets properly fixed
* Generalize exposed-modules field in installed package databaseEdward Z. Yang2014-11-159-106/+190
| | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Instead of recording exposed-modules and reexported-modules as seperate fields in the installed package database, this commit merges them into a single field (exposed-modules). The motivation for this change is in preparation for the inclusion of *signatures* into the installed package database, which may also be reexported. Merging the representation means that we can treat reexports uniformly, no matter if they're a normal module or a signature. This commit adds a stub for signatures, but that code isn't wired up to anything yet. Contains Cabal submodule update to accommodate these changes. Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu> Test Plan: validate Reviewers: simonpj, duncan, austin Subscribers: thomie, carter, simonmar Differential Revision: https://phabricator.haskell.org/D421
* Partially revert 475dd93efaAustin Seipp2014-11-141-2/+1
| | | | | | | This introduces ./validate failures for Windows right now, so in the mean time let's just back this flag out as a default -Wall flag. Signed-off-by: Austin Seipp <austin@well-typed.com>
* Update .mailmapThomas Miedema2014-11-141-9/+77
| | | | [skip ci]
* Implement amap/coerce for Array (re #9796)David Feuer2014-11-134-3/+66
| | | | | | | | | | | | | | | | Implement an `amap`/`coerce` rule in `GHC.Arr` to match the `map`/`coerce` rule in GHC.Base. In order to do so, delay inlining `amap` until phase 1. To prevent the inlining delay from causing major inefficiencies due to missed list fusion, rewrite `amap` to avoid relying on list fusion. This has the extra benefit of reducing the size of the compiled amap code by skipping the impossible case of an array with a negative size. Reviewed By: nomeata Differential Revision: https://phabricator.haskell.org/D471
* When calling the success continuation of a matcher, pass existential tyvarsDr. ERDI Gergo2014-11-131-3/+3
| | | | as type arguments, not value arguments
* nlHsTyApps: for applying a function both on type- and term-level argumentsDr. ERDI Gergo2014-11-131-1/+4
|
* Apply compulsory unfoldings during desugaring, except for `seq` which is ↵Dr. ERDI Gergo2014-11-131-1/+21
| | | | | | special. See Note [Unfolding while desugaring] for the rationale.
* If pattern synonym is bidirectional and its type is some unboxed type T#,Dr. ERDI Gergo2014-11-1320-87/+228
| | | | | generate a worker function of type Void# -> T#, and redirect the wrapper (via a compulsory unfolding) to the worker. Fixes #9732.
* Binding things matched by an unboxed pattern synonym should require a bangDr. ERDI Gergo2014-11-135-1/+28
|
* Fix typo in panic messageDr. ERDI Gergo2014-11-131-1/+1
|
* Fix `integer-gmp2` compilation with GMP 4.x (#9281)Herbert Valerio Riedel2014-11-131-0/+9
| | | | | GMP 4.x didn't provide the `mp_bitcnt_t` typedef yet, so we locally define one if GMP 4.x is detected.
* Improve `Foldable` instance for `Array`David Feuer2014-11-135-6/+214
| | | | | | | | | | | | | | | | | | | | Previously, `Array`s were simply converted to lists, and the list methods used. That works acceptably well for `foldr` and `foldr1`, but not so sensibly for most other things. Left folds ended up "twisted" the way they are for lists, leading to surprising performance characteristics. Moreover, this implements `length` and `null` so they check the array size directly. Finally, a test is added to the testsuite ensuring the overridden `Foldable` methods agree with their expected default semantics. Addresses #9763 Reviewed By: hvr, austin Differential Revision: https://phabricator.haskell.org/D459
* base: define `sequence = mapM id`David Feuer2014-11-131-3/+19
| | | | | | | | | | | | | | | | This avoids duplication in `GHC.Base`; originally, we had mapM f = sequence . map f This led to excessive allocation in `cryptarithm2`. Defining sequence = mapM id does not appear to cause any `nofib` problems. Reviewed By: hvr Differential Revision: https://phabricator.haskell.org/D470
* Make unwords and words fuse somewhatDavid Feuer2014-11-131-4/+43
| | | | | | | | | | | | | Make `words` a good producer and `unwords` a good consumer for list fusion. Thus `unwords . words` will avoid producing an intermediate list of words, although it will produce each individual word. Make `unwords` slightly lazier, so that `unwords (s : undefined) = s ++ undefined` instead of `= undefined`. Reviewed By: austin Differential Revision: https://phabricator.haskell.org/D375
* base: Fix map/coerce commentDavid Feuer2014-11-131-3/+2
| | | | | | | | | Make the comment on the map/coerce rule refer to the right section in the paper; give the full name of the papers, and name its authors. [skip ci] Differential Revision: https://phabricator.haskell.org/D472
* Update userguide for new `-fwarn-trustworthy-safe` flag.David Terei2014-11-123-3/+59
|
* Add `--fwarn-trustworthy-safe` to `-Wall`David Terei2014-11-1210-1/+23
| | | | | Update submodule haskell2010, haskell98, hoop, hpc and stm to fix new warnings.
* Add in `-fwarn-trustworthy-safe` flag.David Terei2014-11-1238-62/+397
| | | | | This warns when a module marked as `-XTrustworthy` could have been inferred as safe instead.
* Remove a stray Trustworthy flag in ghc.David Terei2014-11-121-1/+0
|
* includes/Stg.h: define _DEFAULT_SOURCE for glibc-2.20Sergei Trofimovich2014-11-121-0/+4
| | | | | | | | | | | | | | | | | | | | | | _BSD_SOURCE we are using for 'gamma()' and friends was deprecated in glibc-2.20 in favour of '_DEFAULT_SOURCE'. gcc says: In file included from /usr/include/math.h:26:0: 0, from includes/Stg.h:69, from /tmp/ghc19488_0/ghc19488_2.hc:3: /usr/include/features.h:148:3: warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-Wcpp] # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" ^ Patch fixes testsuite failures on UNREG (stderr are not cluttered by warnings anymore). Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* Fix #9404 by removing tcInfExpr.Richard Eisenberg2014-11-129-61/+79
| | | | | | See the ticket for more info about the new algorithm. This is a small simplification, unifying the treatment of type checking in a few similar situations.
* Testsuite wibble due to #9404Richard Eisenberg2014-11-125-10/+12
| | | | [skip ci]
* Test #9404 (typecheck/should_compile/T9404 and T9404b)Richard Eisenberg2014-11-123-0/+23
|
* Fix #9788 by giving `coerce` the right type.Richard Eisenberg2014-11-122-14/+9
| | | | | No test case added, as the original mistake is just one level up from a typo.
* Testsuite wibbles due to #9204Richard Eisenberg2014-11-125-4/+21
|
* Fix #9204 by outputting extra info on boot file mismatch.Richard Eisenberg2014-11-122-49/+135
| | | | [skip ci] -- testsuite wibbles are in next commit