summaryrefslogtreecommitdiff
path: root/testsuite
Commit message (Collapse)AuthorAgeFilesLines
...
* use GHC-7.8.3's values for thread block reason (fixes #9333)Jost Berthold2014-07-284-1/+47
| | | | | | | | | | | | | | | | | | | | Summary: For now, BlockedOnMVar and BlockedOnMVarRead are not distinguished. Making the distinction would mean to change an exported datatype (API change). Code for this change is included but commented out. The patch adds a test for the threadstatus, which retrieves status BlockedOnMVar for two threads blocked on writing and reading an MVar. Test Plan: ran validate, including the new test Reviewers: simonmar, austin, ezyang Reviewed By: austin, ezyang Subscribers: phaskell, simonmar, relrod, carter Differential Revision: https://phabricator.haskell.org/D83
* Support ghc-pkg --ipid to query package ID.Edward Z. Yang2014-07-283-3/+3
| | | | | | | | | | | | Summary: Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu> Test Plan: validate Reviewers: hvr, simonmar, austin Subscribers: simonmar, relrod, carter Differential Revision: https://phabricator.haskell.org/D98
* Module reexports, fixing #8407.Edward Z. Yang2014-07-2527-0/+299
| | | | | | | | | | | | | | | | | | | | | | | | | The general approach is to add a new field to the package database, reexported-modules, which considered by the module finder as possible module declarations. Unlike declaring stub module files, multiple reexports of the same physical package at the same name do not result in an ambiguous import. Has submodule updates for Cabal and haddock. NB: When a reexport renames a module, that renaming is *not* accessible from inside the package. This is not so much a deliberate design choice as for implementation expediency (reexport resolution happens only when a package is in the package database.) TODO: Error handling when there are duplicate reexports/etc is not very well tested. Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu> Conflicts: compiler/main/HscTypes.lhs testsuite/.gitignore utils/haddock
* Update test suite outputJoachim Breitner2014-07-251-1/+1
| | | | | | | after changes in 92587bf. This problem was noticed on ghcspeed (although only by accident, unfortunately, as a change from 0 to 1 is not reported in the summary).
* Refactor FFI error messagesSimon Peyton Jones2014-07-2510-26/+46
| | | | | | | | | | | | | | This patch was provoked by Trac #5610, which I finally got a moment to look at. In the end I added a new data type ErrUtils.Validity, data Validity = IsValid -- Everything is fine | NotValid MsgDoc -- A problem, and some indication of why with some suitable combinators, and used it where appropriate (which touches quite a few modules). The main payoff is that error messages improve for FFI type validation.
* Check for boxed tau types in the LHS of type family instancesSimon Peyton Jones2014-07-253-0/+17
| | | | Fixes Trac #9357
* Use the right kinds on the LHS in 'deriving' clausesSimon Peyton Jones2014-07-242-0/+13
| | | | This patch fixes Trac #9359
* Fixed issue with detection of duplicate record fieldsGintautas Miliauskas2014-07-245-0/+17
| | | | | | | | | Duplicate record fields would not be detected when given a type with multiple data constructors, and the first data constructor had a record field r1 and any consecutive data constructors had multiple fields named r1. This fixes #9156 and was reviewed in https://phabricator.haskell.org/D87
* Fix test for fetchNandIntArray#Johan Tibell2014-07-231-7/+18
| | | | | The test was incorrectly testing that NAND is associative, which it isn't.
* Make last a good consumerJoachim Breitner2014-07-223-0/+14
| | | | | | | | | | | | | | | | | | Summary: Make last a good consumer simply by implementing it as foldl. This fixes Trac: #9339. Thanks to David Feuer for bringing it up. Test Plan: perf/should_run/T9339 + general validation Reviewers: austin Reviewed By: austin Subscribers: phaskell, simonmar, relrod, carter Differential Revision: https://phabricator.haskell.org/D86 Trac Issues: #9339
* [ghc-pkg] Fix #5442 by using the flag db stack to modify packages.Edward Z. Yang2014-07-2110-1/+102
| | | | | | | | | | | | | | | | | | | | | | | | Summary: Previously, the full database stack was used for ghc-pkg to modify packages, which meant that commands like 'ghc-pkg unregister --user' worked the same as 'ghc-pkg unregister'. Since package modification is a "read and write" operation, we should use the flag db stack (which is currently used for reads) to determine which database to update. There is also a new flag --user-package-db, which lets you explicitly set the user database (as seen by --user). This was mostly added to aid in testing, but could be useful for end users as well. Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu> Test Plan: validate Reviewers: simonmar, hvr, austin Subscribers: simonmar, relrod, carter Differential Revision: https://phabricator.haskell.org/D84
* Further improvements to floating equalitiesSimon Peyton Jones2014-07-182-0/+88
| | | | | | | | | | | This equality-floating stuff is horribly delicate! Trac #9316 showed up yet another corner case. The main changes are * include CTyVarEqs when "growing" the skolem set * do not include the kind argument to (~) when growing the skolem set I added a lot more comments as well
* Correctly round when calculating the deviationJoachim Breitner2014-07-171-1/+1
|
* Adjust a few performance numbersJoachim Breitner2014-07-174-15/+32
| | | | | | | | | | | | These did not yet trigger a failure, but are more than 1% away from the expected value. Since I now start collecting logs to investigate deviations from the expected value, it makes sense to reset them. This way we know that every significat deviation was caused since this commit. I only updated bytes_allocated numbers, as these are (mostly) deterministic. Other depend, AFAIK, on sampling timing, so I did not bother.
* Include test case name in performance resultJoachim Breitner2014-07-171-9/+11
| | | | | | | With THREADS=n, for n > 1, it becomes impossible to match the performance numbers to the test case name. Hence include it in the output. This also makes grepping through a bunch of logs for a specific test case much easier, and outweighs the extra verbosity.
* Test Trac #9323Simon Peyton Jones2014-07-173-0/+13
|
* Richards optCoercion improvement made test cases fail the nice wayJoachim Breitner2014-07-171-1/+5
| | | | This was likely caused by 5e7406d9, which fixed #9233.
* Entirely re-jig the handling of default type-family instances (fixes Trac #9063)Simon Peyton Jones2014-07-1522-49/+99
| | | | | | | | | | | | | | | | | | | | | | | | | | | In looking at Trac #9063 I decided to re-design the default instances for associated type synonyms. Previously it was all jolly complicated, to support generality that no one wanted, and was arguably undesirable. Specifically * The default instance for an associated type can have only type variables on the LHS. (Not type patterns.) * There can be at most one default instances declaration for each associated type. To achieve this I had to do a surprisingly large amount of refactoring of HsSyn, specifically to parameterise HsDecls.TyFamEqn over the type of the LHS patterns. That change in HsDecls has a (trivial) knock-on effect in Haddock, so this commit does a submodule update too. The net result is good though. The code is simpler; the language specification is simpler. Happy days. Trac #9263 and #9264 are thereby fixed as well.
* Partially revert 194107ea9333c1d9d61abf307db2da6a699847afAustin Seipp2014-07-141-3/+1
| | | | | | This reverts the numbers for T9203. Signed-off-by: Austin Seipp <austin@well-typed.com>
* Give performance benchmark deviation also in percentsJoachim Breitner2014-07-141-2/+6
| | | | | this makes it easier to spot a “just over the mark” change (e.g. +5.1%), compared to a more radical jump (e.g. +15%).
* New testsuite verbosity level 4Joachim Breitner2014-07-142-3/+3
| | | | | which makes it print performance numbers even when the test succeeds (good for historic analysis)
* Update various performance benchmarksJoachim Breitner2014-07-143-12/+19
| | | | | | I started monitoring perfomance on a per-commit base. These seem to be off for a while now. Adjusting them, and from now I hope I can keep closer tabs on them.
* Test case for #9305Joachim Breitner2014-07-133-1/+17
|
* testsuite: Tweak T6048 boundsAustin Seipp2014-07-121-4/+4
| | | | | | | | | | | | | | | | | Summary: This should fix the Harbormaster builds; the bounds are just a little too narrow. Signed-off-by: Austin Seipp <austin@well-typed.com> Test Plan: Harbormaster should build successfully. Reviewers: simonmar Subscribers: phaskell, simonmar, relrod, carter Projects: #ghc Differential Revision: https://phabricator.haskell.org/D65
* More testsuite ignores.Edward Z. Yang2014-07-071-0/+2
| | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
* Do not print the result of 'main' after invoking ':main' (fixes #9086).Gintautas Miliauskas2014-07-076-0/+8
|
* Test Trac #9222Simon Peyton Jones2014-07-012-0/+8
|
* Fix demand analyser for unboxed typesSimon Peyton Jones2014-07-013-0/+22
| | | | | | | | | This is a tricky case exposed by Trac #9254. I'm surprised it hasn't shown up before, because it's happens when you use unsafePerformIO in the right way. Anyway, fixed now. See Note [Analysing with absent demand] in Demand.lhs
* Check for integer overflow in allocate() (#9172)Reid Barton2014-07-018-0/+62
| | | | | | | | | | | | | | Summary: Check for integer overflow in allocate() (#9172) Test Plan: validate Reviewers: austin Reviewed By: austin Subscribers: simonmar, relrod, carter Differential Revision: https://phabricator.haskell.org/D36
* Unbreak TcNullaryTC testcase, by using MPTCJoachim Breitner2014-07-011-1/+1
|
* Re-add more primops for atomic ops on byte arraysJohan Tibell2014-06-303-0/+253
| | | | | | | | | | | | | | | | | | | | | | | This is the second attempt to add this functionality. The first attempt was reverted in 950fcae46a82569e7cd1fba1637a23b419e00ecd, due to register allocator failure on x86. Given how the register allocator currently works, we don't have enough registers on x86 to support cmpxchg using complicated addressing modes. Instead we fall back to a simpler addressing mode on x86. Adds the following primops: * atomicReadIntArray# * atomicWriteIntArray# * fetchSubIntArray# * fetchOrIntArray# * fetchXorIntArray# * fetchAndIntArray# Makes these pre-existing out-of-line primops inline: * fetchAddIntArray# * casIntArray#
* Promote TcNullaryTC and TcCoercible to fast testsHerbert Valerio Riedel2014-06-291-2/+2
| | | | | | | | | I'm wondering whether it's sensible to omit so many typecheck testcases from the default validate test target. As for instance, TcNullaryTC has been failing since its introduction in c63a465011b99eeafbb957074e54c2e6bbf751d9 (re #8993) and it seems to have gone unnoticed so far. Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
* Update 32bit & 64bit performance numbersHerbert Valerio Riedel2014-06-293-13/+26
| | | | | | | | | | | | | | | | Some numbers have decreased but the haddock numbers have generally increased noticeable again (see also last update in 970e5d99fb658b73) This updates all numbers I noticed in the "fast" test-mode, *except* for the T9203 test-case on 32bit, which needs more investigation before bumping due to its significant increase: bytes allocated value is too high: Expected bytes allocated: 50000000 +/-5% Lower bound bytes allocated: 47500000 Upper bound bytes allocated: 52500000 Actual bytes allocated: 85093548 *** unexpected failure for T9203(normal)
* Expect test failure for T8832 on 32bit (re #8832)Herbert Valerio Riedel2014-06-291-1/+1
| | | | Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
* Update Cabal to BinaryLiterals-aware 1.20 versionHerbert Valerio Riedel2014-06-291-1/+0
| | | | | | | | | | | In 1c0b5fdc9f2b6ea8166cc565383d4cd20432343c (re #9224) `BinaryLiterals` was temporarily added to T4437's `expectedGhcOnlyExtensions` list. This can now reverted as Cabal has been made aware of `BinaryLiterals` (see haskell/cabal#1970 and haskell/cabal#1972). updates Cabal submodule Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
* Simplify .gitignore filesHerbert Valerio Riedel2014-06-2829-1423/+1417
| | | | | | | | | It's a bit confusing to have .gitignore files spread all over the filesystem. This commit tries to consolidate those into one .gitignore file per component. Moreover, we try to describe files to be ignored which happen to have a common identifying pattern by glob patterns. Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
* Add -XBinaryLiterals language extension (re #9224)Herbert Valerio Riedel2014-06-2716-0/+129
| | | | | | | | | | | | | | | | | | | | | | | Haskell2010 supports - base-10 (prefix-less), - base-8 (via `0[oO]`-prefix), and - base-16 (via `0[xX]`-prefix) integer literals. This commit adds syntax support for base-2 integer literals via the new `0[bB]` prefix. The use of a `0b` prefix for indicating binary literals is known from popular programming languages such as C++14, Perl, Python, Ruby, and Java. This syntax extension is disabled by default and can be enabled via the new `{-# LANGUAGE BinaryLiterals #-}` pragma and/or the new `-XBinaryLiterals` This new extensions requires to upgrade the `ExtsBitmap` type from `Word` to `Word64` as this adds a 33th flag which is not guaranteed to fit into a `Word`. Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org> Differential Revision: https://phabricator.haskell.org/D22
* Revert "Make -fno-write-interface to all modes of GHC, not just -fno-code."Edward Z. Yang2014-06-272-7/+0
| | | | This reverts commit 05120ecd95b2ebf9b096a95304793cd78be9506e.
* Make -fno-write-interface to all modes of GHC, not just -fno-code.Edward Z. Yang2014-06-272-0/+7
| | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
* Add new flag -fwrite-interface for -fno-code.Edward Z. Yang2014-06-263-0/+15
| | | | | | | | | | | | | | | | | | | Summary: Normally, -fno-code does not generate interface files. However, if you want to use it to type check over multiple runs of GHC, you will need the interface files to check source files further down the dependency chain; -fwrite-interface does this for you. Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu> Test Plan: clean validate, and a new test-case Reviewers: simonpj Subscribers: simonmar, relrod, carter Differential Revision: https://phabricator.haskell.org/D27
* Revert "Add more primops for atomic ops on byte arrays"Johan Tibell2014-06-264-254/+0
| | | | | | | | This commit caused the register allocator to fail on i386. This reverts commit d8abf85f8ca176854e9d5d0b12371c4bc402aac3 and 04dd7cb3423f1940242fdfe2ea2e3b8abd68a177 (the second being a fix to the first).
* Add more primops for atomic ops on byte arraysJohan Tibell2014-06-244-0/+254
| | | | | | | | | | | | | | | | | | | Summary: Add more primops for atomic ops on byte arrays Adds the following primops: * atomicReadIntArray# * atomicWriteIntArray# * fetchSubIntArray# * fetchOrIntArray# * fetchXorIntArray# * fetchAndIntArray# Makes these pre-existing out-of-line primops inline: * fetchAddIntArray# * casIntArray#
* Comment the expect_broken for Trac #9208Simon Peyton Jones2014-06-241-0/+3
|
* Mark T9208 as broken when debugging is onJoachim Breitner2014-06-231-1/+1
| | | | this seems to be expected, as explained by SPJ in comment 7 of #9208.
* Add fake entries into the global kind environment for pattern synonyms.Dr. ERDI Gergo2014-06-215-0/+27
| | | | | | This is needed to give meaningful error messages (instead of internal panics) when a program tries to lift a pattern synonym into a kind. (fixes T9161)
* Reject forall types in constraints in signaturesSimon Peyton Jones2014-06-206-11/+25
| | | | | | | Fixes Trac #9196. Thanks to archblob for an initial stab at this. In the end I fixed it in the kind checker rather than the subsequent validity check, (a) so that the error messages look more uniform, and (b) so that I did not need to meddle with isPredTy.
* Make splitStrProdDmd (and similarly Use) more robustSimon Peyton Jones2014-06-202-1/+99
| | | | | | | The issue here is avoiding a GHC crash when a program uses unsafeCoerce is a dangerous (or even outright-wrong) way. See Trac #9208
* Tidy up the printing of single-predicate contextsSimon Peyton Jones2014-06-2019-31/+31
| | | | | | | | | | This covers things like Eq a => blah and (?x::Int) => blah where there is just one predicate. Previously we used an ad-hoc test to decide whether to parenthesise it, but acutally there is a much simpler solution: just use the existing precedence mechamism. This applies both to Type and HsType.
* accept T9181 outputSimon Marlow2014-06-171-0/+4
| | | | Not sure if my patch changed this, but it looks reasonable.
* Optimise the Typeable instance for type app a bit, and add a perf testSimon Marlow2014-06-173-0/+18
| | | | | | | | | | Test Plan: validate Reviewers: simonpj, austin Subscribers: simonmar, relrod Differential Revision: https://phabricator.haskell.org/D20