summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Experiment with one-byte info tableswip/rwbarton-tiny-tablesReid Barton2016-02-295-1/+59
|
* Skip TEST=TcCoercibleFail when compiler_debuggedThomas Miedema2016-02-291-1/+5
|
* Only add -fshow-warning-groups for ghc >= 7.11 (#10752)Thomas Miedema2016-02-291-1/+2
|
* Remove some more Windows line endings [skip ci]Thomas Miedema2016-02-294-35/+37
|
* Testsuite: check actual_prof_file only when neededThomas Miedema2016-02-291-10/+11
| | | | | | | | | Might be a little faster. Avoids testing for #6113 (.prof file not written when process is killed with any signal but SIGINT) for tests that don't have a .prof.sample file (which is almost all of them) when running the profiling ways. Tests that were failing because of #6113: T8089, overflow1, overflow2 and overflow3.
* DynFlags: Add -Wredundant-constraints to -WallBen Gamari2016-02-294-8/+9
| | | | | | | | | | | | Test Plan: It works, I promise. Reviewers: austin Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D1956 GHC Trac Issues: #11370
* Build system: Correctly pass `TARGETPLATFORM` as hostNicolas Trangez2016-02-291-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | When building the bundled GMP sources, the `HOSTPLATFORM` value was passed to the `--host` flag of the `./configure` call. This is incorrect: when building a cross-compiler, e.g. a compiler targeting ARM but running on X86, the host on which GMP will run is ARM, i.e. the target platform of the compiler, and the host platform (i.e. the platform on which the compiler will run) is X86. See e.g. [1] for more information about the meaning of and relation between build, host and target. [1] https://www.gnu.org/software/autoconf/manual/ autoconf-2.65/html_node/Specifying-Target-Triplets.html Test Plan: Building ARM cross-compiler with `integer-gmp` Reviewers: thomie, gracjan, austin, erikd, Phyx, hvr, bgamari Reviewed By: erikd, bgamari Subscribers: erikd, gracjan Differential Revision: https://phabricator.haskell.org/D1960
* Refactor `warnMissingSignatures` in `RnNames.hs`Rik Steenkamp2016-02-291-69/+32
| | | | | | | | Reviewers: austin, thomie, bgamari Reviewed By: thomie, bgamari Differential Revision: https://phabricator.haskell.org/D1955
* Fix bug where reexports of wired-in packages don't work.Edward Z. Yang2016-02-295-0/+54
| | | | | | | | | | | | | | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu> Test Plan: validate Reviewers: hvr, bgamari, austin Reviewed By: bgamari Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D1926 GHC Trac Issues: #11589
* base: Mark Data.Type.Equality as TrustworthyBen Gamari2016-02-291-0/+1
| | | | | | | | | | | | Test Plan: Validate Reviewers: austin, ekmett, hvr Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D1957 GHC Trac Issues: #11625
* Missing Proxy instances, make U1 instance more Proxy-likeRyanGlScott2016-02-296-12/+69
| | | | | | | | | | | | | | | | | | | | | | | | This accomplishes three things: * Adds missing `Alternative`, `MonadPlus`, and `MonadZip` instances for `Proxy` * Adds a missing `MonadPlus` instance for `U1` * Changes several existing `U1` instances to use lazy pattern-matching, exactly how `Proxy` does it (in case we ever replace `U1` with `Proxy`). This is technically a breaking change (albeit an extremely minor one). Test Plan: ./validate Reviewers: austin, ekmett, hvr, bgamari Reviewed By: bgamari Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D1962 GHC Trac Issues: #11650
* Default to -fno-show-warning-groups (re #10752)Herbert Valerio Riedel2016-02-277-12/+21
| | | | | | | | | | | | | | | | | | As `-fno-show-warning-groups` shows associated warning groups regardless of whether the respective warning group flag as been passed on the CLI, the warning-group information may be confusing to users. At this point, `-fshow-warning-groups` is useful mostly to GHC developers and possibly GHC users who want to see which warning groups an emitted warning is part of. (Btw, this is particularly interesting in combination with `-Weverything` which enables *every* warning flag known to GHC.) Consequently, starting with this commit, one has to opt-in via `-fshow-warning-groups` for GHC to show warning groups. In order to reduce the testsuite delta in this commit, the `-fshow-warning-groups` flag has been added to TEST_HC_OPTS.
* Annotate `[-Wdeferred-type-errors]` in warnings (re #10752)Herbert Valerio Riedel2016-02-279-27/+27
| | | | This was missed in bb5afd3c274011c5ea302210b4c290ec1f83209c
* Print which flag controls emitted SafeHaskell warningsHerbert Valerio Riedel2016-02-2720-59/+65
| | | | | | | This is extends bb5afd3c274011c5ea302210b4c290ec1f83209c to cover SafeHaskell warnings. This implements yet another part of #10752
* Annotate `[-Wredundant-constraints]` in warnings (re #10752)Herbert Valerio Riedel2016-02-274-9/+9
| | | | This was missed in bb5afd3c274011c5ea302210b4c290ec1f83209c
* Print which flag controls emitted lexer warningsHerbert Valerio Riedel2016-02-2713-22/+27
| | | | | | | This is extends bb5afd3c274011c5ea302210b4c290ec1f83209c to cover warnings emitted during lexing. This implements another part of #10752
* Print which flag controls emitted desugaring warningsHerbert Valerio Riedel2016-02-2746-138/+154
| | | | | | | | | | | This is extends bb5afd3c274011c5ea302210b4c290ec1f83209c to cover warnings emitted during the desugaring phase. This implements another part of #10752 Reviewed-by: quchen, bgamari Differential Revision: https://phabricator.haskell.org/D1954
* rts: drop unused global 'blackhole_queue'Sergei Trofimovich2016-02-274-4/+1
| | | | | | | | | | | | | | | | | | | | | | Commit 5d52d9b64c21dcf77849866584744722f8121389 removed global 'blackhole_queue' in favour of new mechanism: when TSO hits blackhole TSO blocks waiting for 'MessgaeBlackhole' delivery. Patch removed unused global and updates stale comments. Noticed by Yuras Shumovich. Signed-off-by: Sergei Trofimovich <siarheit@google.com> Test Plan: build test Reviewers: simonmar, austin, Yuras, bgamari Reviewed By: Yuras, bgamari Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D1953
* GHC.Generics: Ensure some, many for U1 don't bottomBen Gamari2016-02-261-0/+3
| | | | | | | | | | | | Reviewers: austin, hvr, ekmett, RyanGlScott Reviewed By: RyanGlScott Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D1952 GHC Trac Issues: #11650
* Update transformer submodule to v0.5.2.0 releaseHerbert Valerio Riedel2016-02-262-0/+1
| | | | | | | Most notably, this update pulls in documentation improvements and several INLINE pragmas for significant performance gains[1]. [1]: https://groups.google.com/d/msg/haskell-cafe/SUKtkDI84EE/fXMBd-jNDQAJ
* Test Trac #11611Simon Peyton Jones2016-02-263-0/+15
|
* Filter out BuiltinRules in occurrence analysisSimon Peyton Jones2016-02-261-0/+14
| | | | Fixes Trac #11651. Merge to 8.0.
* Fix kind generalisation for pattern synonymsSimon Peyton Jones2016-02-261-13/+22
| | | | | | | | We were failing to zonk, after quantifyTyVars, and that left un-zonked type variables in the final PatSyn. This fixes the patsyn/ problems in Trac #11648, but not the polykinds/ ones.
* Comments and white space onlySimon Peyton Jones2016-02-261-8/+10
|
* Exclude TyVars from the constraint solverSimon Peyton Jones2016-02-265-34/+96
| | | | | | | | | | | | | | There is a general invariant that the constraint solver doesn't see TyVars, only TcTyVars. But when checking the generic-default signature of a class, we called checkValidType on the generic-default type, which had the class TyVar free. That in turn meant that it wasn't considered during flattening, which led to the error reported in Trac #11608. The fix is simple: call checkValidType on the /closed/ type. Easy. While I was at it, I added a bunch of ASSERTs about the TcTyVar invariant.
* Get the right in-scope set in specUnfoldingSimon Peyton Jones2016-02-262-5/+20
| | | | This fixes Trac #11600
* Special case for desugaring AbsBindsSimon Peyton Jones2016-02-261-0/+20
| | | | | | | | When AbsBinds has no tyvars and no dicts, a rather simpler desugaring is possible. This patch implements it. I don't think the optimised code changes, but there is less clutter generated.
* Fix and refactor strict pattern bindingsSimon Peyton Jones2016-02-2612-221/+379
| | | | | | | | | | | | | | | | | | | | | | This patch was triggered by Trac #11601, where I discovered that -XStrict was really not doing the right thing. In particular, f y = let !(Just x) = blah[y] in body[y,x] This was evaluating 'blah' but not pattern matching it against Just until x was demanded. This is wrong. The patch implements a new semantics which ensures that strict patterns (i.e. ones with an explicit bang, or with -XStrict) are evaluated fully when bound. * There are extensive notes in DsUtils: Note [mkSelectorBinds] * To do this I found I need one-tuples; see Note [One-tuples] in TysWiredIn I updated the user manual to give the new semantics
* Typos in comments, etc.Gabor Greif2016-02-2612-13/+13
|
* Unconditionally handle TH known key names.Edward Z. Yang2016-02-261-3/+1
| | | | | | | | | | | | | | | | | | | | | | Previously, we didn't add Template Haskell key names to the list of known uniques when building a stage 1 compiler. But with f16ddcee0c64a92ab911a7841a8cf64e3ac671fd we may refer to TH names even in stage 1, and this was causing uniques to not be setup properly. Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu> Test Plan: validate and run stage1 test suite Reviewers: osa1, austin, bgamari Reviewed By: bgamari Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D1520 GHC Trac Issues: #10382
* Print which warning-flag controls an emitted warningMichael Walker2016-02-25163-628/+866
| | | | | | | | | | | | | | | | | Both gcc and clang tell which warning flag a reported warning can be controlled with, this patch makes ghc do the same. More generally, this allows for annotated compiler output, where an optional annotation is displayed in brackets after the severity. This also adds a new flag `-f(no-)show-warning-groups` to control whether to show which warning-group (such as `-Wall` or `-Wcompat`) a warning belongs to. This flag is on by default. This implements #10752 Reviewed By: quchen, bgamari, hvr Differential Revision: https://phabricator.haskell.org/D1943
* Testsuite: do not write empty files on 'make accept'Thomas Miedema2016-02-252-2/+10
| | | | Also prevent showing '\ No newline at end of file' in diff output.
* Testsuite: delete empty files [skip ci]Thomas Miedema2016-02-25205-0/+0
|
* Mark tests for #11643, #11644, #11645 and #9406 expect_brokenThomas Miedema2016-02-253-8/+8
| | | | | | | | | | | For opt_ways or prof_ways only. indexed-types/should_compile/all.T called setTestOpts to not run the tests with opt_ways. Since I'm finding regressions for opt_ways, I removed it. This only makes a difference when running `./validate --slow` or `make slowtest`. Update submodule hpc.
* Testsuite: for tests that use TH, omit *all* prof_waysThomas Miedema2016-02-2516-25/+27
| | | | | | | | | Instead of just profasm and profthreaded. And at least until -fexternal-interpreter is the default. Also: * WAY=profc doesn't exist anymore. * Omit all threaded_ways for conc039, not just a few.
* Testsuite: Introduce config.plugin_way_flags.Thomas Miedema2016-02-258-6/+24
| | | | Refactoring only.
* Improve pattern synonym error messages (add `PatSynOrigin`)Rik Steenkamp2016-02-256-10/+75
| | | | | | | | | | | | | | | | | | Adds a new data constructor `PatSynOrigin Bool Name` to the `CtOrigin` data type. This allows for better error messages when the origin of a wanted constraint is a pattern synonym declaration. Fixes T10873. Reviewers: mpickering, simonpj, austin, thomie, bgamari Reviewed By: simonpj, thomie, bgamari Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D1866 GHC Trac Issues: #10873
* Note new GHC.Generics instances in release notesBen Gamari2016-02-251-0/+5
|
* Improve accuracy of suggestion to use TypeApplicationsMatthew Pickering2016-02-254-13/+9
| | | | | | | | | | | | | | | | The suggestion only makes sense when we try to use an as pattern in an expression context. It is misleading in the case of a lazy pattern and view pattern. Reviewers: austin, bgamari Reviewed By: bgamari Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D1948
* Handle multiline named haddock comments properlyThomas Miedema2016-02-255-16/+58
| | | | | | | | | | | | | Fixes #10398 in a different way, thereby also fixing #11579. I inverted the logic of the Bool argument to "worker", to hopefully make it more self-explanatory. Reviewers: austin, hvr, bgamari Reviewed By: bgamari Differential Revision: https://phabricator.haskell.org/D1935
* (Alternative way to) address #8710George Karachalias2016-02-2520-99/+122
| | | | | | | | | | | | | | | | | | | | | | | | Issue a separate warning per redundant (or inaccessible) clause. This way each warning can have more precice location information (the location of the clause under consideration and not the whole match). I thought that this could be too much but actually the number of such warnings is bound by the number of cases matched against (in contrast to the non-exhaustive warnings which may be exponentially more). Test Plan: validate Reviewers: simonpj, austin, bgamari Reviewed By: bgamari Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D1920 GHC Trac Issues: #8710
* cmpTypeX: Avoid kind comparison when possibleBen Gamari2016-02-251-25/+60
| | | | | | | | | | | | | | | | | | This comparison is only necessary when the types being compared contain casts. Otherwise the structural equality of the types implies that their kinds are equal. Test Plan: Validate Reviewers: goldfire, austin, simonpj Reviewed By: simonpj Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D1944 GHC Trac Issues: #11597
* Bump haddock.base allocationsBen Gamari2016-02-251-1/+2
| | | | I believe this is probably due to the recent RuntimeRep change.
* Reconstruct record expression in bidir pattern synonymMatthew Pickering2016-02-254-8/+39
| | | | | | | | | | Reviewers: austin, rdragon, bgamari Reviewed By: bgamari Subscribers: rdragon, thomie Differential Revision: https://phabricator.haskell.org/D1949
* Make warning names more consistentManav Rathi2016-02-2514-51/+101
| | | | | | | | | | | | | | | | | | | | | | | | | | | | - Replace "Sigs" with "Signatures" in WarningFlag data constructors. - Replace "PatSyn" with "PatternSynonym" in WarningFlag data constructors. - Deprecate "missing-local-sigs" in favor of "missing-local-signatures". - Deprecate "missing-exported-sigs" in favor of "missing-exported-signatures". - Deprecate "missing-pat-syn-signatures" in favor of "missing-pattern-synonym-signatures". - Replace "ddump-strsigs" with "ddump-str-signatures" These complete the tasks that were explicitly mentioned in #11583 Test Plan: Executed `ghc --show-options` and verified that the flags were changed as expected. Reviewers: svenpanne, austin, bgamari Reviewed By: austin, bgamari Subscribers: mpickering, thomie Differential Revision: https://phabricator.haskell.org/D1939 GHC Trac Issues: #11583
* Add more type class instances for GHC.GenericsRyanGlScott2016-02-2512-34/+505
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GHC.Generics provides several representation data types that have obvious instances of various type classes in base, along with various other types of meta-data (such as associativity and fixity). Specifically, instances have been added for the following type classes (where possible): - Applicative - Data - Functor - Monad - MonadFix - MonadPlus - MonadZip - Foldable - Traversable - Enum - Bounded - Ix - Generic1 Thanks to ocharles for starting this! Test Plan: Validate Reviewers: ekmett, austin, hvr, bgamari Reviewed By: bgamari Subscribers: RyanGlScott, thomie Differential Revision: https://phabricator.haskell.org/D1937 GHC Trac Issues: #9043
* HscMain: Delete some unused codeÖmer Sinan Ağacan2016-02-251-68/+0
| | | | | | | | | | Reviewers: bgamari, austin Reviewed By: austin Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D1936
* ApplicativeDo: Handle terminal `pure` statementsBen Gamari2016-02-255-2/+15
| | | | | | | | | | | | | | | | | ApplicativeDo handled terminal `return` statements properly, but not `pure`. Test Plan: Validate with included testcase Reviewers: austin, simonmar Reviewed By: austin, simonmar Subscribers: simonpj, thomie Differential Revision: https://phabricator.haskell.org/D1931 GHC Trac Issues: #11607
* base: A selection of fixes to the comments in GHC.StatsDavid Turner2016-02-251-17/+31
| | | | | | | | | | | | | | | | | Use `-- |` comments throughout. Note that numByteUsageSamples is also the number of major GCs Note that numGcs counts GCs for all generations Note that 'current' really means 'at the end of the last major GC' Reviewers: ezyang, hvr, simonmar, austin, bgamari Reviewed By: ezyang, simonmar, bgamari Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D1929 GHC Trac Issues: #11603
* testsuite: mark tests broken on powerpc64Peter Trommler2016-02-2514-15/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The following tests fail on powerpc64 and have a ticket. Mark those tests as expect_broken. Here are the details: The PowerPC native code generator does not support DWARF debug information. This is tracked in ticket #11261. Mark the respective tests broken on powerpc64. testsuite: mark print022 broken on powerpc64 Ticket #11262 tracks difference in stdout for print022. testsuite: mark recomp015 broken on powerpc64 testsuite: mark recomp011 broken on powerpc64 This is tracked as ticket #11323 and #11260. testsuite: mark linker tests broken on powerpc64 Ticket #11259 tracks tests failing because there is no RTS linker on powerpc64. Test Plan: validate Reviewers: erikd, austin, bgamari Reviewed By: bgamari Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D1928 GHC Trac Issues: #11259, #11260, #11261, #11262, #11323