summaryrefslogtreecommitdiff
path: root/testsuite
Commit message (Collapse)AuthorAgeFilesLines
...
* API Annotations: more explicit foralls fixupAlan Zimmerman2019-02-084-1/+95
| | | | | | | The AnnForall annotations introduced via Phab:D4894 are not always attached to the correct SourceSpan. Closes #16230
* Fix test for T16180 on Darwin (fix #16128)Sylvain Henry2019-02-082-12/+11
|
* Fix #14729 by making the normaliser homogeneousRichard Eisenberg2019-02-088-0/+91
| | | | | | | | | | | | | | | | This ports the fix to #12919 to the normaliser. (#12919 was about the flattener.) Because the fix is involved, this is done by moving the critical piece of code to Coercion, and then calling this from both the flattener and the normaliser. The key bit is: simplifying type families in a type is always a *homogeneous* operation. See #12919 for a discussion of why this is the Right Way to simplify type families. Also fixes #15549. test case: dependent/should_compile/T14729{,kind} typecheck/should_compile/T15549[ab]
* testsuite: Mark T5515 as broken with debugged compilerBen Gamari2019-02-071-1/+1
| | | | As noted in #16251.
* testsuite: Mark T14740 and tcfail159 as broken in debugged compilerBen Gamari2019-02-072-2/+2
| | | | As noted in #16113, these trigger an assertion in isUnliftedRuntimeRep.
* testsuite: Mark recomp007 as broken in debugged compilerBen Gamari2019-02-071-3/+4
| | | | As noted in #14759, this triggers a warning in ListSetOps.
* testsuite: Mark T11334b as broken in debugged compilerBen Gamari2019-02-071-1/+1
| | | | As noted in #16112.
* Fix #16287 by checking for more unsaturated synonym argumentsRyan Scott2019-02-063-0/+23
| | | | | | | | | | | | | Trac #16287 shows that we were checking for unsaturated type synonym arguments (in `:kind`) when the argument was to a type synonym, but _not_ when the argument was to some other form of type constructor, such as a data type. The solution is to use the machinery that rejects unsaturated type synonym arguments (previously confined to `check_syn_tc_app`) to `check_arg_type`, which checks these other forms of arguments. While I was in town, I cleaned up `check_syn_tc_app` a bit to only invoke `check_arg_type` so as to minimize the number of different code paths that that function could go down.
* Fix #14579 by defining tyConAppNeedsKindSig, and using itRyan Scott2019-02-055-35/+79
|
* Add `-fplugin-trustworthy` to avoid marking modules as unsafeZejun Wu2019-02-046-0/+34
| | | | | | | | By default, when a module is compiled with plugins, it will be marked as unsafe. With this flag passed, all plugins are treated as trustworthy and the safety inference will no longer be affected. This fixes Trac #16260.
* testsuite: Mark print037 as broken when GHC is built with LLVMBen Gamari2019-02-042-1/+13
| | | | As noted in #16205 this configuration reliably segfaults.
* testsuite: Use makefile_test for T16212Ben Gamari2019-02-041-1/+1
|
* testsuite: Skip T15897 in unregisterised wayBen Gamari2019-02-041-1/+4
| | | | | | | As noted in #16227 this test routinely times out when run in the unregisterised way. See also #15467.
* Report multiple errorsVladislav Zavialov2019-02-033-0/+68
|
* Reject oversaturated VKAs in type family equationsRyan Scott2019-02-016-1/+38
|
* Remove ExnStr and ThrowsExn businessSebastian Graf2019-02-015-6/+23
|
* Fix #16219: TemplateHaskell causes indefinite package build errorEdward Z. Yang2019-01-319-0/+133
| | | | | | | | | | | | | | | | | | | | | | | | It should work to write an indefinite package using TemplateHaskell, so long as all of the actual TH code lives outside of the package. However, cleverness we had to build TH code even when building with -fno-code meant that we attempted to build object code for modules in an indefinite package, even when the signatures were not instantiated. This patch disables said logic in the event that an indefinite package is being typechecked. Signed-off-by: Edward Z. Yang <ezyang@fb.com> Test Plan: validate Reviewers: simonpj, bgamari Reviewed By: bgamari Subscribers: rwbarton, carter GHC Trac Issues: #16219 Differential Revision: https://phabricator.haskell.org/D5475
* Revert "Performance tests: recover a baseline from ancestor commits and CI ↵Ben Gamari2019-01-315-259/+62
| | | | | | | | | results." Unfortunately this has broken all future commits due to spurious(?) performance changes which I have been unable to work around. This reverts commit cc2261d42f6a954d88e355aaad41f001f65c95da.
* testsuite: Add test for #14828Ben Gamari2019-01-312-0/+19
|
* Add -fdefer-diagnostics to defer and group diagnostic messages in make-modeZejun Wu2019-01-317-0/+54
| | | | | | | | | | | | | When loading many modules in parallel there can a lot of warnings and errors get mixed up with regular output. When the compilation fails, the relevant error message can be thousands of lines backward and is hard to find. When the compilation successes, warning message is likely to be ignored as it is not seen. We can address this by deferring the warning and error message after the compilation. We also put errors after warnings so it is more visible. This idea was originally proposed by Bartosz Nitka in https://phabricator.haskell.org/D4219.
* Use ByteString to represent Cmm string literals (#16198)Sylvain Henry2019-01-311-1/+1
| | | | Also used ByteString in some other relevant places
* Allocate bss section within proper range of other sectionsZejun Wu2019-01-305-0/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This re-applies {D5195} and {D5235}, they were reverted as part of diff stack to unbreak i386. The proper fix is done in {D5289}. Allocate bss section within proper range of other sections: * when `+RTS -xp` is passed, allocate it contiguously as we did for jump islands * when we mmap the code to lower 2Gb, we should allocate bss section there too Test Plan: 1. `./validate` 2. with ``` DYNAMIC_GHC_PROGRAMS = NO DYNAMIC_BY_DEFAULT = NO ``` `TEST="T15729" make test` passed in both linux (both i386 and x86_64) and macos. 3. Also test in a use case where we used to encouter error like: ``` ghc-iserv-prof: R_X86_64_PC32 relocation out of range: (noname) = b90282ba ``` and now, everything works fine. Reviewers: simonmar, bgamari, angerman, erikd Reviewed By: simonmar Subscribers: rwbarton, carter GHC Trac Issues: #15729 Differential Revision: https://phabricator.haskell.org/D5290
* API Annotations: Parens not attached correctly for ClassDeclAlan Zimmerman2019-01-304-18/+34
| | | | | | | | | | | The parens around the kinded tyvars should be attached to the class declaration as a whole, they are attached to the tyvar instead, outside the span. An annotation must always be within or after the span it is contained in. Closes #16212
* Performance tests: recover a baseline from ancestor commits and CI results.David Eichmann2019-01-305-62/+259
| | | | gitlab-ci: push performance metrics as git notes to the "GHC Performance Notes" repository.
* testsuite: Use makefile_testBen Gamari2019-01-30152-783/+612
| | | | | This eliminates most uses of run_command in the testsuite in favor of the more structured makefile_test.
* testsuite: Introduce makefile_testBen Gamari2019-01-302-1/+8
|
* Revert "Batch merge"Ben Gamari2019-01-30163-941/+862
| | | | This reverts commit 76c8fd674435a652c75a96c85abbf26f1f221876.
* Batch mergeBen Gamari2019-01-30163-862/+941
|
* Fix #12509: ghci -XSafe fails in an inscrutable wayRoland Senn2019-01-282-0/+1
|
* Use sigPrec in more places in Convert and HsUtilsRyan Scott2019-01-284-2/+26
| | | | | | | | | Trac #16183 was caused by TH conversion (in `Convert`) not properly inserting parentheses around occurrences of explicit signatures where appropriate, such as in applications, function types, and type family equations. Solution: use `parenthesizeHsType sigPrec` in these places. While I was in town, I also updated `nlHsFunTy` to do the same thing.
* Test that hsc2hs works with promoted data constructorsAndrew Martin2019-01-273-0/+20
|
* testsuite: Add tests from #11982Ben Gamari2019-01-274-0/+45
|
* testsuite: Skip foreignInterruptible in unregisterised wayBen Gamari2019-01-271-0/+2
| | | | See #15467.
* testsuite: Skip T1288_ghci in unregisterisedBen Gamari2019-01-271-0/+2
| | | | | As pointed out in #16085, these ghci tests are fragile in the unregisterised way.
* check-api-annotations checks for annotation preceding its spanAlan Zimmerman2019-01-2729-26/+220
| | | | | | | | | | | | | | | | For an API annotation to be useful, it must not occur before the span it is enclosed in. So, for check-api-annotation output, a line such as ((Test16212.hs:3:22-36,AnnOpenP), [Test16212.hs:3:21]), should be flagged as an error, as the AnnOpenP location of 3:21 precedes its enclosing span of 3:22-26. This patch does this. Closes #16217
* testsuite: Remove directories that already exist when seeding extra_filesBen Gamari2019-01-271-0/+2
| | | | | Otherwise the testsuite driver crashes when run multiple times with CLEANUP=NO on a test containing such extra_files.
* testsuite: Normalise styleBen Gamari2019-01-271-6/+7
|
* testsuite: Add test for #16104Ben Gamari2019-01-279-0/+77
|
* testsuite: Add predicate for CPU feature availabilityBen Gamari2019-01-273-0/+79
| | | | | | | Previously testing code-generation for ISA extensions was nearly impossible since we had no ability to determine whether the host supports the needed extension. Here we fix this by introducing a simple /proc/cpuinfo-based testsuite predicate. We really ought to
* testsuite: Skip ghcilink002 when unregisterisedBen Gamari2019-01-231-0/+2
| | | | See #16085.
* testsuite: Mark T16180 as broken on DarwinBen Gamari2019-01-231-1/+1
| | | | See #16218.
* testsuite: Mark ghci063 as broken on DarwinBen Gamari2019-01-231-1/+1
| | | | | This is the last failing test on Darwin preventing us from disallowing CI failures. See #16201.
* testsuite: Ensure that config.{msys,cygwin} are initializedBen Gamari2019-01-231-0/+2
| | | | | | | | | | Reviewers: monoidal Reviewed By: monoidal Subscribers: monoidal, rwbarton, carter Differential Revision: https://phabricator.haskell.org/D5056
* Add support for ASM foreign files (.s) in TH (#16180)Sylvain Henry2019-01-203-0/+28
|
* Mention DerivingStrategies in the warning when DAC and GND are both enabledChaitanya Koparkar2019-01-203-0/+13
| | | | | | | | | | | Summary: When DeriveAnyClass and GeneralizedNewtypeDeriving are both enabled, GHC prints out a warning that specifies the strategy it used to derive a class. This patch updates the warning to mention that users may pick a particular strategy by using DerivingStrategies. Test plan: make test TEST=T16179
* Comments in stranal test declarationsÖmer Sinan Ağacan2019-01-181-2/+4
|
* Add test for #16197wip/T16197Ömer Sinan Ağacan2019-01-174-1/+39
|
* Fix tests for `integer-simple`Alec Theriault2019-01-1636-141/+143
| | | | | | | | | | | | A bunch of tests for `integer-simple` were now broken for a foolish reason: unlike the `integer-gmp` case, there is no CorePrep optimization for turning small integers directly into applications of `S#`. Rather than port this optimization to `integer-simple` (which would involve moving a bunch of `integer-simple` names into `PrelNames`), I switched as many tests as possible to use `Int`. The printing of `Integer` is already tested in `print037`.
* Support printing `integer-simple` Integers in GHCiAlec Theriault2019-01-163-0/+31
| | | | | | | | | | This means that `:p` no longer leaks the implementation details of `Integer` with `integer-simple`. The `print037` test case should exercise all possible code paths for GHCi's code around printing `Integer`s (both in `integer-simple` and `integer-gmp`). `ghc` the package now also has a Cabal `integer-simple` flag (like the `integer-gmp` one).
* GHCi ignores cmd line flags XMonomorphismRestr.. XNoExtendedDef..#10857Roland Senn2019-01-165-0/+16
|