summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Package keys (for linking/type equality) separated from package IDs.Edward Z. Yang2014-08-0574-130/+537
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch set makes us no longer assume that a package key is a human readable string, leaving Cabal free to "do whatever it wants" to allocate keys; we'll look up the PackageId in the database to display to the user. This also means we have a new level of qualifier decisions to make at the package level, and rewriting some Safe Haskell error reporting code to DTRT. Additionally, we adjust the build system to use a new ghc-cabal output Make variable PACKAGE_KEY to determine library names and other things, rather than concatenating PACKAGE/VERSION as before. Adds a new `-this-package-key` flag to subsume the old, erroneously named `-package-name` flag, and `-package-key` to select packages by package key. RFC: The md5 hashes are pretty tough on the eye, as far as the file system is concerned :( ToDo: safePkg01 test had its output updated, but the fix is not really right: the rest of the dependencies are truncated due to the fact the we're only grepping a single line, but ghc-pkg is wrapping its output. ToDo: In a later commit, update all submodules to stop using -package-name and use -this-package-key. For now, we don't do it to avoid submodule explosion. Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu> Test Plan: validate Reviewers: simonpj, simonmar, hvr, austin Subscribers: simonmar, relrod, carter Differential Revision: https://phabricator.haskell.org/D80
* Disable package auto-hiding if -hide-all-packages is passedEdward Z. Yang2014-08-041-3/+14
| | | | | | | | | | | | | | | | | | Summary: This is in preparation for thinning/renaming package arguments, which allow users to rename modules of packages they import. In situations like this, it may be desirable to load multiple copies of a package at different versions explicitly under different names. Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu> Test Plan: validate Reviewers: simonpj, simonmar, hvr, austin Subscribers: simonmar, relrod, ezyang, carter Differential Revision: https://phabricator.haskell.org/D106
* fix topHandler03 execution on Solaris where shell signals SIGTERM correctlyKarel Gardas2014-08-041-1/+2
| | | | | | | | | | | | | | | | Summary: This patch fixes topHandler03 execution on Solaris where shell correctly signals SIGTERM as exit status 15. Test Plan: validate Reviewers: austin Reviewed By: austin Subscribers: phaskell, simonmar, relrod, ezyang, carter Differential Revision: https://phabricator.haskell.org/D112
* fix openFile003 test on Solaris/i386 (platform output is not needed anymore)Karel Gardas2014-08-041-4/+0
| | | | | | | | | | | | Test Plan: validate Reviewers: austin Reviewed By: austin Subscribers: phaskell, simonmar, relrod, ezyang, carter Differential Revision: https://phabricator.haskell.org/D114
* ghc --make: add nicer names to RTS threads (threaded IO manager, make workers)Sergei Trofimovich2014-08-042-2/+20
| | | | | | | | | | | | | | | | | | | | Summary: The patch names most of RTS threads and ghc (the tool) threads. It makes nicer debug and eventlog output for ghc itself. Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> Test Plan: ran debugged ghc under '+RTS -Ds' Reviewers: simonmar, austin Reviewed By: austin Subscribers: phaskell, simonmar, relrod, ezyang, carter Differential Revision: https://phabricator.haskell.org/D101
* fix linker_unload test on Solaris/i386 platformKarel Gardas2014-08-042-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This patch set fixes two issues in linker_unload test case on Solaris/i386 platform. First there is an issue in linker_unload.c which causes warning to be emitted about _FILE_OFFSET_BITS redefined. This is solved by including ghcconfig.h as a first header file. Another issue is that on Solaris and its builders we use to configure ghc with --with-gmp-libraries=/usr/lib and this causes issue with test case Makefile's logic. It attempts to start linker_unload and pass it HSinteger-gmp library for unload, but the library name is prefixed with two directories names. The first is of ghc's integer-gmp/build itself and another is the directory name passed to --with-gmp-libraries= configure parameter. In case of Solaris this is /usr/lib. The testcase then fails on unloading integer-gmp/build directory thinking that this is a library to unload. This issue is solved by cuting the first library name from the list and using this for unloading the HSinteger-gmp library. Test Plan: validate Reviewers: ezyang, austin Reviewed By: ezyang, austin Subscribers: phaskell, simonmar, relrod, ezyang, carter Differential Revision: https://phabricator.haskell.org/D110
* Use 'install' command for 'inplace/' install as we do in 'make install'Sergei Trofimovich2014-08-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: On hardened gentoo ghc-stage2 does not work as-is, as it uses runtime code generation/loading, thus ghc0stage2 needs to be marked in a special way (via POSIX extened attributes). Before the patch we used 'cp -p' command, which does not preserve that marking. It leads to buid failure on hardened. Hardened's 'install' does preserve POSIX xattrs, thus patch uses it instead. 'inplace/' directory can be seen the same way as target for 'make install', thus using the same facilities to install files to 'inplace/' sounds more consistent. Reported-by: Jay Yang Gentoo-bug: https://bugs.gentoo.org/518734 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> Test Plan: tested ghc installation on vanilla and hardened distributions Reviewers: austin Reviewed By: austin Subscribers: phaskell, simonmar, relrod, ezyang, carter Differential Revision: https://phabricator.haskell.org/D108
* docs: fix typo: 'OVERLAPPINGP' -> 'OVERLAPPING'Sergei Trofimovich2014-08-041-1/+1
| | | | | | | | | | | | | | Summary: Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> Test Plan: proofread Reviewers: ezyang, austin Reviewed By: ezyang, austin Subscribers: phaskell, ezyang, simonmar, relrod, carter Differential Revision: https://phabricator.haskell.org/D100
* Terminate in forkProcess like in real_mainEdsko de Vries2014-08-041-2/+1
| | | | | | | | | | | | | | Test Plan: validate Reviewers: simonmar, austin Reviewed By: simonmar, austin Subscribers: phaskell, simonmar, relrod, carter Differential Revision: https://phabricator.haskell.org/D99 GHC Trac Issues: #9377
* Add missing *.stderr filesJoachim Breitner2014-08-023-0/+21
| | | | which probably should have been added in commit fbd0586ea
* Add in (disabled for now) test of a Safe Haskell bug.David Terei2014-08-013-0/+46
|
* Infer safety of modules correctly with new overlapping pragmas.David Terei2014-08-015-1/+37
|
* Update Safe Haskell typeable test outputs.David Terei2014-08-013-4/+12
|
* Allow warning if could have been infered safe instead of explicitDavid Terei2014-08-015-75/+93
| | | | Trustworthy label.
* Dont allow hand-written Generic instances in Safe Haskell.David Terei2014-08-012-10/+24
| | | | | | | While they aren't strictly unsafe, it is a similar situation to Typeable. There are few instances where a programmer will write their own instance, and having compiler assurance that the Generic implementation is correct brings a lot of benefits.
* Fix-up to d4d4bef2 'Improve the desugaring of RULES'Simon Peyton Jones2014-08-014-10/+41
| | | | | I'd forgotten the possiblity that desugaring could generate dead dictionary bindings; easily fixed by calling occurAnalyseExpr
* Two new executables to ignore.Edward Z. Yang2014-08-011-0/+2
| | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
* [backpack] More revisions to various pieces.Edward Z. Yang2014-08-011-125/+84
| | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
* Bump haddock.base max_bytes_usedJoachim Breitner2014-08-011-6/+7
| | | | | | It has reliably increased with commit 1ae5fa45, and has been stable since then, so it does not seem to be a fluke. I did not investigate why that commit might have increased this value.
* Improve the desugaring of RULES, esp those from SPECIALISE pragmasSimon Peyton Jones2014-08-014-11/+133
| | | | | | | | | | | | In the code for Trac #8331 we were not getting a complaint, but we *were* getting a terrible (and virtually useless) RULE, looking like useAbstractMonad (complicated-dictionary-expresion) = $fuseAbstractMonad where we wanted useAbstractMonad d = $fuseAbstractMonad This commit improves the desugaring algorithm. More comments explain; see Note [Drop dictionary bindings on rule LHS]
* A panic in CmmBuildInfoTables.bundle shouldn't be a panic (#9329)Simon Marlow2014-08-013-4/+14
| | | | | | | | | | | | | | | | | Summary: This code needs more comments, but I believe this is safe. By definition I can't have broken anything that was working by turning a panic into a non-panic anyway. Test Plan: validate Reviewers: hvr, simonpj, austin Subscribers: simonmar, relrod, ezyang, carter Differential Revision: https://phabricator.haskell.org/D105 GHC Trac Issues: #9329
* add a commentSimon Marlow2014-08-011-0/+3
|
* update commentSimon Marlow2014-08-011-4/+3
|
* Fix reference to noteSimon Marlow2014-08-011-1/+1
|
* interruptible() was not returning true for BlockedOnSTM (#9379)Simon Marlow2014-08-014-7/+38
| | | | | | | | | | | | | | | | | | | Summary: There's an knock-on fix in HeapStackCheck.c which is potentially scary, but I'm pretty confident is OK. See comment for details. Test Plan: I've run all the STM tests I can find, including libraries/stm/tests/stm049 with +RTS -N8 and some of the constants bumped to make it more of a stress test. Reviewers: hvr, rwbarton, austin Subscribers: simonmar, relrod, ezyang, carter Differential Revision: https://phabricator.haskell.org/D104 GHC Trac Issues: #9379
* panic message fixSimon Marlow2014-08-011-1/+1
|
* refactor to fix 80column overflowSimon Marlow2014-08-011-16/+20
|
* Unbreak build.Gabor Pali2014-08-011-2/+1
|
* Typo fixesGabor Greif2014-08-016-11/+11
|
* Small tweaks to commentGabor Greif2014-08-011-2/+2
|
* Minor wordsmithing of commentsGabor Greif2014-08-011-4/+4
|
* Fix up ghci044Simon Peyton Jones2014-07-312-0/+6
|
* Typo in commentGabor Greif2014-07-311-1/+1
|
* Complete work on new OVERLAPPABLE/OVERLAPPING pragmas (Trac #9242)Simon Peyton Jones2014-07-3160-307/+355
| | | | | | | | | | | | | | | | | * Deprecate -XOverlappingInstances * Update test suite. Several tests even had entirely unnecessary uses of -XOverlappingInstances * Update user manual with a careful description of the instance resolution story * Fix an outright bug in the handling of duplidate instances in GHCi, which are meant to silently overwrite the earlier duplicate. The logic was right for family instances but was both more complicated, and plain wrong, for class instances. (If you are interested, the bug was that we were eliminating the duplicate from the InstEnv, but not from the [ClsInst] held in tcg_insts.) Test is ghci044a.
* Add comments about the {-# INCOHERENT #-} for Typeable (f a)Simon Peyton Jones2014-07-311-2/+20
| | | | C.f. Trac #9242
* Comments onlySimon Peyton Jones2014-07-311-0/+3
|
* Add a fast-path in TcInteract.kickOutRewritableSimon Peyton Jones2014-07-311-6/+10
|
* Test Trac #9380Simon Peyton Jones2014-07-313-0/+72
|
* Comments and white spaceSimon Peyton Jones2014-07-312-18/+26
|
* [backpack] Package selectionEdward Z. Yang2014-07-311-213/+412
| | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
* Compiler perf has improved a bitSimon Peyton Jones2014-07-311-2/+6
|
* Comments and minor refactoringSimon Peyton Jones2014-07-312-59/+82
| | | | | | | | - Better comments about Generalised Newtype Deriving See Note [Bindings for Generalised Newtype Deriving] - Refactor the interface between TcDeriv and TcGenDeriv, to reduce the size of the interface of the latter.
* Comments and white spaceSimon Peyton Jones2014-07-311-3/+2
|
* Allow multiple entry points when allocating recursive groups (#9303)Simon Marlow2014-07-314-35/+50
| | | | | | | | | | | | | | | | | Summary: In this example we ended up with some code that was only reachable via an info table, because a branch had been optimised away by the native code generator. The register allocator then got confused because it was only considering the first block of the proc to be an entry point, when actually any of the info tables are entry points. Test Plan: validate Reviewers: simonpj, austin Subscribers: simonmar, relrod, carter Differential Revision: https://phabricator.haskell.org/D88
* comment updateSimon Marlow2014-07-311-4/+1
|
* Add .gitignore line for stage=1 testsuite generated fileReid Barton2014-07-301-0/+1
|
* Make mod73 test insensitive to minor variations (#9325)Reid Barton2014-07-301-1/+10
|
* Fix variable name typo from commit 3021fbNiklas Larsson2014-07-301-1/+1
| | | | Signed-off-by: Austin Seipp <austin@well-typed.com>
* Add user documentation for explicitly-bidirectional pattern synonymswip/pattern-synonymsDr. ERDI Gergo2014-07-291-6/+17
|
* Add note about renaming of pattern synonym wrappersDr. ERDI Gergo2014-07-292-0/+28
|