summaryrefslogtreecommitdiff
path: root/testsuite/tests
Commit message (Collapse)AuthorAgeFilesLines
* Extend `Foldable` class with `length` and `null` methodsHerbert Valerio Riedel2014-09-287-10/+17
| | | | | | | | | | | | | This completes the `Foldable` class by two important operations which this way can be optimised for the underlying structure more easily. A minor fix for the `containers` submodule was needed to due name clash Addresses #9621 Reviewed By: ekmett, dfeuer, austin Differential Revision: https://phabricator.haskell.org/D250
* Don't re-export `Alternative(..)` from Control.Monad (re #9586)Herbert Valerio Riedel2014-09-262-2/+3
| | | | | | | | | | | | | | | | | This was done in d94de87252d0fe2ae97341d186b03a2fbe136b04 to avoid orphans but since a94dc4c3067c6a0925e2e39f35ef0930771535f1 moved `Alternative` into GHC.Base, this isn't needed anymore. This is important, as otherwise this would require a non-neglectable amount of `Control.Monad hiding ((<|>), empty)` imports in user code. The Haddock submodule is updated as well Test Plan: partial local ./validate --fast, let Harbormaster doublecheck it Reviewed By: ekmett, austin Differential Revision: https://phabricator.haskell.org/D248
* This test should have -XDataKindsSimon Peyton Jones2014-09-261-1/+1
|
* Complain about illegal type literals in renamer, not parserSimon Peyton Jones2014-09-265-2/+9
| | | | | | A premature complaint was causing Trac #9634. Acutally this change also simplifies the lexer and eliminates duplication. (The renamer was already making the check, as it happens.)
* Two improved error messagesSimon Peyton Jones2014-09-262-8/+25
| | | | | I'm not quite sure why these have improved following the previous four commits, but I'm quite happy about it
* Improve error messages from functional dependenciesSimon Peyton Jones2014-09-268-30/+93
| | | | | | | | | | | | Reponding to Trac #9612: * Track the CtOrigin of a Derived equality, arising from a functional dependency * And report it clearly in the error stream This relies on a previous commit, in which I stop dropping Derived insolubles on the floor.
* Wibble to implicit-parameter error messageSimon Peyton Jones2014-09-262-10/+12
|
* Do not discard insoluble Derived constraintsSimon Peyton Jones2014-09-2615-104/+106
| | | | | | | | | | | | | | | | | | This is preparing for a fix to Trac #9612. The idea is that insoluble constraints are nice solid errors that we should not discard before we have a chance to report them. So TcRnTypes.dropDerivedWC now keeps insoluble Derived constrains, and instead TcSimplify.solve_wanteds filters them out We get somewhat better error message for kind-equality failures too. A slight downside is that to avoid *duplicate* kind-equality failures when we float a kind-incompatible equality (e.g. alpha:* ~ Int#), I've disabled constraint-floating when there are insolubles. But that in turn makes a handful of error messages a little less informative; good examples are mc21, mc22, mc25. But I am re-jigging the constraint floating machinery in another branch, which will make this go back to the way it was before.
* Defer errors in derived instancesSimon Peyton Jones2014-09-266-2/+24
| | | | Fixes Trac #9576. Turned out to be pretty easy.
* `M-x delete-trailing-whitespace` & `M-x untabify`Herbert Valerio Riedel2014-09-241-7/+7
|
* Update Cabal submodule & ghc-pkg to use new module re-export typesEdward Z. Yang2014-09-244-12/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: The main change is that Cabal changed the representation of module re-exports to distinguish reexports in source .cabal files versus re-exports in installed package registraion files. Cabal now also does the resolution of re-exports to specific installed packages itself, so ghc-pkg no longer has to do this. This is a cleaner design overall because re-export resolution can fail so it is better to do it during package configuration rather than package registration. It also simplifies the re-export representation that ghc-pkg has to use. Add extra ghc-pkg sanity check for module re-exports and duplicates For re-exports, check that the defining package exists and that it exposes the defining module (or for self-rexport exposed or hidden modules). Also check that the defining package is actually a direct or indirect dependency of the package doing the re-exporting. Also add a check for duplicate modules in a package, including re-exported modules. Test Plan: So far the sanity checks are totally untested. Should add some test case to make sure the sanity checks do catch things correctly, and don't ban legal things. Reviewers: austin, duncan Subscribers: angerman, simonmar, ezyang, carter Differential Revision: https://phabricator.haskell.org/D183 GHC Trac Issues:
* Change all hashbangs to /usr/bin/env (#9057)Thomas Miedema2014-09-231-1/+1
| | | | | | | | | | | | | | | | | | Summary: ``` git grep -l '#!' | xargs sed -i 's|#!.*/bin/\([^ ]*\)$|#!/usr/bin/env \1|' ``` and some manual tweaking Test Plan: harbormaster Reviewers: austin Subscribers: hvr, simonmar, ezyang, carter Differential Revision: https://phabricator.haskell.org/D237 GHC Trac Issues: #9057
* Delete all /* ! __GLASGOW_HASKELL__ */ codeThomas Miedema2014-09-231-37/+31
| | | | | | | | | | | | | | | | | Summary: ``` git grep -l '\(#ifdef \|#if defined\)(\?__GLASGOW_HASKELL__)\?' ``` Test Plan: validate Reviewers: rwbarton, hvr, austin Reviewed By: rwbarton, hvr, austin Subscribers: rwbarton, simonmar, ezyang, carter Differential Revision: https://phabricator.haskell.org/D218
* Test Trac #9565 and #9583Simon Peyton Jones2014-09-233-0/+44
|
* Export `Monoid(..)`/`Foldable(..)`/`Traversable(..)` from PreludeHerbert Valerio Riedel2014-09-2110-10/+22
| | | | | | | | | | | | | | | This finally exposes also the methods of these 3 classes in the Prelude in order to allow to define basic class instances w/o needing imports. This almost completes the primary goal of #9586 NOTE: `fold`, `foldl'`, `foldr'`, and `toList` are not exposed yet, as they require upstream fixes for at least `containers` and `bytestring`, and are not required for defining basic instances. Reviewed By: ekmett, austin Differential Revision: https://phabricator.haskell.org/D236
* Generalise Data.List/Control.Monad to Foldable/TraversableHerbert Valerio Riedel2014-09-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | This flips the switch and replaces the entities in `Data.List`/`Control.Monad` conflicting with `Data.{Foldable,Traversable}` with re-exports of the more general versions. As of this commit, the code below (which is also added as a test-case) compiles w/o error. module XPrelude (module X) where import Control.Monad as X import Data.Foldable as X import Data.List as X import Data.Monoid as X import Data.Traversable as X import Prelude as X This addresses #9568 Reviewed By: ekmett, austin Differential Revision: https://phabricator.haskell.org/D235
* Move `mapM` and `sequence` to GHC.Base and break import-cyclesHerbert Valerio Riedel2014-09-211-2/+2
| | | | | | | | | | This simplifies the import graph and more importantly removes import cycles that arise due to `Control.Monad` & `Data.List` importing `Data.Traversable` (preparation for #9586) Reviewed By: ekmett, austin Differential Revision: https://phabricator.haskell.org/D234
* Generalise (some of) Data.List to Foldables (re #9568)Herbert Valerio Riedel2014-09-202-4/+4
| | | | | | | | | | | | | | | | | | This replaces the entities in Data.List conflicting with Data.Foldable with re-exports of the generalised version from Data.Foldable. As of this commit, the following compiles w/o error module XPrelude (module X) where import Control.Monad as X import Data.Foldable as X import Data.List as X import Prelude as X Reviewed By: austin, dfeuer, ekmett Differential Revision: https://phabricator.haskell.org/D229
* Set up framework for generalising Data.List to FoldablesHerbert Valerio Riedel2014-09-205-3/+8
| | | | | | | | | | | | | | | | | | | | | This renames the Data.List module to Data.OldList, and puts a new Data.List module into its place re-exporting all list functions. The plan is to leave the monomorphic versions of the list functions in Data.OldList to help smooth the transition. The new Data.List module then will simply re-export entities from Data.OldList and Data.Foldable. This refactoring has been placed in a separate commit to be able to better isolate any regressions caused by the actual list function generalisations when implementing #9586 This also updates the haskell2010, haskell98, and array submodules Reviewed By: austin, ekmett Differential Revision: https://phabricator.haskell.org/D228
* Change linker message verbosity to `-v2` (re #7863)Herbert Valerio Riedel2014-09-202-8/+0
| | | | | | | | | | | | | | | | With this change, the linker status logging output such as Loading package ghc-prim ... linking ... done. Loading package integer-gmp ... linking ... done. Loading package base ... linking ... done. is suppressed unless verbosity level is `-v2` or higher. This is done to reduce the compiler message noise when TH is involved, which can reduce the visibiliy of compile warnings. Reviewed By: ekmett, austin Differential Revision: https://phabricator.haskell.org/D232
* Deactive T4801 `max_bytes_used`-check & bump T3064 numbersHerbert Valerio Riedel2014-09-201-22/+27
| | | | | | | | | T4801 is deactived for now because it's currently too volatile and causes too much noise in Phabricator's CI Reviewed By: austin Differential Revision: https://phabricator.haskell.org/D230
* Clean up Coercible handling, and interaction of data families with newtypesSimon Peyton Jones2014-09-195-1/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes Trac #9580, in which the Coercible machinery succeeded even though the relevant data constructor was not in scope. As usual I got dragged into a raft of refactoring changes, all for the better. * Delete TcEvidence.coercionToTcCoercion (now unused) * Move instNewTyConTF_maybe, instNewTyCon_maybe to FamInst, and rename them to tcInstNewTyConTF_maybe, tcInstNewTyCon (They both return TcCoercions.) * tcInstNewTyConTF_maybe also gets more convenient type, which improves TcInteract.getCoercibleInst * Define FamInst.tcLookupDataFamInst, and use it in TcDeriv, (as well as in tcInstNewTyConTF_maybe) * Improve error report for Coercible errors, when data familes are involved Another use of tcLookupDataFamInst * In TcExpr.tcTagToEnum, use tcLookupDataFamInst to replace local hacky code * Fix Coercion.instNewTyCon_maybe and Type.newTyConInstRhs to deal with eta-reduced newtypes, using (new) Type.unwrapNewTyConEtad_maybe and (new) Type.applyTysX Some small refactoring of TcSMonad.matchFam.
* Increase -fcontext-stack=N default to 100Simon Peyton Jones2014-09-191-7/+13
| | | | This addresses Trac #5395
* Auto-derive a few manually coded Show instancesHerbert Valerio Riedel2014-09-191-1/+1
| | | | | | | | | | | | | | | | | In `base`, the instances instance Show () instance Show Bool instance Show Ordering instance Show a => Show (Maybe a) where defined manually, even though we can leverage GHC's auto-deriver which is perfectly capable by standalone derivation to avoid boiler-plate code such as this. Reviewed By: austin Differential Revision: https://phabricator.haskell.org/D219
* Add -fwarn-context-quantification (#4426)Krzysztof Gogolewski2014-09-187-8/+66
| | | | | | | | | | | | | | | | | | | | | | Summary: This warning (enabled by default) reports places where a context implicitly binds a type variable, for example type T a = {-forall m.-} Monad m => a -> m a Also update Haddock submodule. Test Plan: validate Reviewers: hvr, goldfire, simonpj, austin Reviewed By: austin Subscribers: simonmar, ezyang, carter Differential Revision: https://phabricator.haskell.org/D211 GHC Trac Issues: #4426
* Generalise Control.Monad.{sequence_,msum,mapM_,forM_}Herbert Valerio Riedel2014-09-181-1/+4
| | | | | | | | | | | | | | | | This finally takes the gloves off, and performs the first actual generalization in order to implement #9586. This re-exports the respective definitions for the 4 combinators defined in Data.Foldable. This way, importing Data.Foldable and Control.Monad unqualified won't bring conflicting definitions of those 4 entities into scope anymore. This change seems to have some minor effect on rule-firing, which causes some wibble in the test-case T4007 Reviewed By: ekmett, austin Differential Revision: https://phabricator.haskell.org/D226
* Move Applicative/MonadPlus into GHC.BaseHerbert Valerio Riedel2014-09-183-6/+6
| | | | | | | | | | | This is necessary in order to invert the import-dependency between Data.Foldable and Control.Monad (for addressing #9586) This also updates the `binary` submodule to qualify a GHC.Base import Reviewed By: austin Differential Revision: https://phabricator.haskell.org/D223
* Move `Maybe`-typedef into GHC.BaseHerbert Valerio Riedel2014-09-1614-64/+64
| | | | | | | This is preparatory work for reintroducing SPECIALISEs that were lost in d94de87252d0fe2ae97341d186b03a2fbe136b04 Differential Revision: https://phabricator.haskell.org/D214
* Add the ability to :set -l{foo} in ghci, fix #1407.archblob2014-09-162-0/+6
| | | | | | | | | | | | | | | | | | Summary: The dynamic linking code was already there but it was not called on flag changes in ghci. Test Plan: validate Reviewers: hvr, simonmar, austin Reviewed By: austin Subscribers: simonmar, ezyang, carter Differential Revision: https://phabricator.haskell.org/D194 GHC Trac Issues: #1407
* Remove special casing of singleton strings, split all strings.Thijs Alkemade2014-09-163-0/+55
| | | | | | | | | | | | | | | | | | | | | Summary: exprIsConApp_maybe now detects string literals and correctly splits them. This means case-statemnts on string literals can now push the literal into the cases. fix trac issue #9400 Test Plan: validate Reviewers: austin, simonpj Reviewed By: austin, simonpj Subscribers: simonmar, ezyang, carter Differential Revision: https://phabricator.haskell.org/D199 GHC Trac Issues: #9400
* Fix cppcheck warningsBoris Egorov2014-09-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Cppcheck found a few defects in win32 IOManager and a typo in rts testsuite. This commit fixes them. Cppcheck 1.54 founds three possible null pointer dereferences of ioMan pointer. It is dereferenced and checked for NULL after that. testheapalloced.c contains typo in printf statement, which should print percent sign but treated as parameter placement by compiler. To properly print percent sign one need to use "%%" string. FYI: Cppcheck 1.66 cannot find possible null pointer dereferences in mentioned places, mistakenly thinking that some memory leaking instead. I probably fill a regression bug to Cppcheck. Test Plan: Build project, run 'make fulltest'. It finished with 28 unexpected failures. I don't know if they are related to my fix. Unexpected results from: TEST="T3500b T7891 tc124 T7653 T5321FD T5030 T4801 T6048 T5631 T5837 T5642 T9020 T3064 parsing001 T1969 T5321Fun T783 T3294" OVERALL SUMMARY for test run started at Tue Sep 9 16:46:27 2014 NOVT 4:23:24 spent to go through 4101 total tests, which gave rise to 16075 test cases, of which 3430 were skipped 315 had missing libraries 12154 expected passes 145 expected failures 3 caused framework failures 0 unexpected passes 28 unexpected failures Unexpected failures: ../../libraries/base/tests T7653 [bad exit code] (ghci,threaded1,threaded2) perf/compiler T1969 [stat not good enough] (normal) perf/compiler T3064 [stat not good enough] (normal) perf/compiler T3294 [stat not good enough] (normal) perf/compiler T4801 [stat not good enough] (normal) perf/compiler T5030 [stat not good enough] (normal) perf/compiler T5321FD [stat not good enough] (normal) perf/compiler T5321Fun [stat not good enough] (normal) perf/compiler T5631 [stat not good enough] (normal) perf/compiler T5642 [stat not good enough] (normal) perf/compiler T5837 [stat not good enough] (normal) perf/compiler T6048 [stat not good enough] (optasm) perf/compiler T783 [stat not good enough] (normal) perf/compiler T9020 [stat not good enough] (optasm) perf/compiler parsing001 [stat not good enough] (normal) typecheck/should_compile T7891 [exit code non-0] (hpc,optasm,optllvm) typecheck/should_compile tc124 [exit code non-0] (hpc,optasm,optllvm) typecheck/should_run T3500b [exit code non-0] (hpc,optasm,threaded2,dyn,optllvm) Reviewers: austin Reviewed By: austin Subscribers: simonmar, ezyang, carter Differential Revision: https://phabricator.haskell.org/D203
* Mark T8639_api/T8628 as PHONYEdward Z. Yang2014-09-151-1/+1
| | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
* Don't offer hidden modules for autocomplete.Edward Z. Yang2014-09-153-0/+26
| | | | | | | It was annoying to test GHCi directly, so I added a ghc-api unit test of the function instead. Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
* Export `Traversable()` and `Foldable()` from PreludeHerbert Valerio Riedel2014-09-155-5/+16
| | | | | | | | | | | | | | | | | | | | | | This exposes *only* the type-classes w/o any of their methods. This is the very first step for implementing BPP (see #9586), which already requires breaking up several import-cycles leading back to `Prelude`. Ideally, importing `Prelude` should be avoided in most `base` modules, as `Prelude` does not define any entities, but rather re-exports existing ones. Test Plan: validate passes Reviewers: ekmett, austin Reviewed By: ekmett, austin Subscribers: simonmar, ezyang, carter Differential Revision: https://phabricator.haskell.org/D209 GHC Trac Issues: #9586
* Tweak perf-numbers for T1969 and T4801Herbert Valerio Riedel2014-09-141-5/+8
| | | | | | | | | | | | | | | | | | | | Right now, Phab's buildbot complains about Unexpected failures: perf/compiler T1969 [stat too good] (normal) perf/compiler T4801 [stat not good enough] (normal) However, on my workstation, those tests don't fail (c.f. P14). So this commit tries to blindly tweak those numbers and see if if Phabricator succeeds to build this code-revision... Test Plan: Let Harbormaster build it Reviewers: austin Subscribers: simonmar, ezyang, carter Differential Revision: https://phabricator.haskell.org/D210
* Fixup test-case broken by Follow-up to b53c95fe621Herbert Valerio Riedel2014-09-131-1/+1
|
* Fix support for deriving Generic1 for data families (FIX #9563)Jose Pedro Magalhaes2014-09-122-0/+19
|
* T4801 perf numbers: Another typoJoachim Breitner2014-09-101-2/+2
|
* Fix T5321Fun perf numberJoachim Breitner2014-09-101-2/+2
| | | | (I obviously copy’n’pasted the wrong number.)
* Update performance numbersJoachim Breitner2014-09-103-21/+37
| | | | | | | including some that are not failing yet, but did show a significant change, and some that Austing changed post-AMP, but where both harbormaster and ghcspeed reported something else. Numbers taken from the ghcspeed machine.
* testsuite: AMPify T3001-2Joachim Breitner2014-09-101-4/+14
|
* testsuite: AMPify ioprof.hsJoachim Breitner2014-09-101-0/+9
|
* Bump `base` version to 4.8.0.0 for realHerbert Valerio Riedel2014-09-0923-32/+32
| | | | | | | | | | | | | | | | This commit updates several submodules in order to bump the upper bounds on `base` of most boot packages Moreover, this updates some of the test-suite cases which have version numbers hardcoded within. However, I'm not sure if this commit didn't introduce the following two test-failures ghc-api T8628 [bad stdout] (normal) ghc-api T8639_api [bad stdout] (normal) This needs investigation
* Make Applicative a superclass of MonadAustin Seipp2014-09-0934-64/+164
| | | | | | | | | | | | | | | | | | | | | Summary: This includes pretty much all the changes needed to make `Applicative` a superclass of `Monad` finally. There's mostly reshuffling in the interests of avoid orphans and boot files, but luckily we can resolve all of them, pretty much. The only catch was that Alternative/MonadPlus also had to go into Prelude to avoid this. As a result, we must update the hsc2hs and haddock submodules. Signed-off-by: Austin Seipp <austin@well-typed.com> Test Plan: Build things, they might not explode horribly. Reviewers: hvr, simonmar Subscribers: simonmar Differential Revision: https://phabricator.haskell.org/D13
* TyposGabor Greif2014-09-072-2/+2
|
* Update T4801 perf numbersJoachim Breitner2014-09-061-1/+2
| | | | | no individual cause indentified, but small improvements happened in 1719c42, 9d6fbcc, 949ad67 (or it is noise...)
* PostTcType replaced with TypeAnnotAlan Zimmerman2014-09-069-0/+206
| | | | | | | | | | | | | | | | | | | | | Summary: This is a first step toward allowing generic traversals of the AST without 'landmines', by removing the `panic`s located throughout `placeHolderType`, `placeHolderKind` & co. See more on the discussion at https://www.mail-archive.com/ghc-devs@haskell.org/msg05564.html (This also makes a corresponding update to the `haddock` submodule.) Test Plan: `sh validate` and new tests pass. Reviewers: austin, simonpj, goldfire Reviewed By: austin, simonpj, goldfire Subscribers: edsko, Fuuzetsu, thomasw, holzensp, goldfire, simonmar, relrod, ezyang, carter Projects: #ghc Differential Revision: https://phabricator.haskell.org/D157
* Do not use max_bytes_used for haddock testJoachim Breitner2014-09-061-109/+4
| | | | | | | | | | | | | | Summary: as they are unreliable and hard to re-run. Test Plan: Run the testsuite Reviewers: austin Subscribers: simonmar, ezyang, carter Differential Revision: https://phabricator.haskell.org/D200 GHC Trac Issues: #9556
* Revert "Do not test max_bytes_used et. al for haddock tests"Joachim Breitner2014-09-051-4/+109
| | | | | | This reverts commit 498d7dd2dc731a92eda2210e4ab0a04366511627. Again sorry for the noise. This is the last reverstion. I will fix this for good at around 12:13 CEST tomorrow :-)
* Small improvement to unsaturated-type-function error messageSimon Peyton Jones2014-09-041-1/+1
|