summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* add RTS_PRIVATE attributeSimon Marlow2009-08-291-0/+5
|
* Fix incorrectly hidden RTS symbolsSimon Marlow2009-08-2910-37/+98
|
* Maintain Task/Capability invariants in performPendingThrowTosSimon Marlow2009-08-291-3/+17
| | | | Fixes an ASSERTION failure with concprog001, -threaded -debug, +RTS -N2
* Declare RTS-private prototypes with __attribute__((visibility("hidden")))Simon Marlow2009-08-0557-130/+275
| | | | | | | | | | This has no effect with static libraries, but when the RTS is in a shared library it does two things: - it prevents the function from being exposed by the shared library - internal calls to the function can use the faster non-PLT calls, because the function cannot be overriden at link time.
* Configurable iconv header and library locationsMatthias Kilian2009-08-263-0/+36
| | | | | Should help to fix the build on OpenBSD (together with a corresponding patch to libraries/base).
* Use -W, not -Werror, for gcc older than 3.4Matthias Kilian2009-08-263-1/+10
|
* Don't mess up absolute INCLUDE_DIRSMatthias Kilian2009-08-261-2/+4
| | | | | | | | When there are some absolute include dirs, don't create arguments like -Ilibraries/base//usr/local/include. I need this fix for injecting the iconv include dir (which is /usr/local/include on OpenBSD) into the build of libraries/base.
* Fix #3461: protect the use of keepCAFs with #ifdef DYNAMICSimon Marlow2009-08-282-0/+4
|
* fix 'darcs-all rec' (amongst other things)Simon Marlow2009-08-271-14/+11
|
* REDO: Add -r option to darcs-all, and remove push-all (#3375)Simon Marlow2009-08-272-162/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | rolling back: Mon Aug 3 11:44:13 BST 2009 Simon Marlow <marlowsd@gmail.com> UNDO: Add -r option to darcs-all, and remove push-all (#3375) Contributed by: seliopou@gmail.com This patch modifies darcs-all to have feature parity with push-all by recognizing two new options. * -i, equivalent to --ignore-failure in push-all * -r <repo>, specifies the remote repository darcs commands will use Some example commands: Get the libraries from a repository of your choosing. This is useful when working with a git mirror: $ ./darcs-all -r http://darcs.haskell.org get Pull changes. Used to be: $ ./push-all --pull http://darcs.haskell.org Is now: $ ./darcs-all -r http://darcs.haskell.org pull Or to use the default remote of the ghc repository: $ ./darcs-all pull M ./darcs-all -79 +33 A ./push-all
* Add a link to hp2any from the profiling section.Simon Marlow2009-08-271-0/+5
|
* Fix "make install"Ian Lynagh2009-08-261-31/+71
| | | | | | | | We need to change a dependency on pkg-inplace to pkg-$abihash when installing
* "ghc-cabal install" now needs to know where GHC is, to get the ABI hashIan Lynagh2009-08-262-16/+30
|
* Fix bindist creationIan Lynagh2009-08-262-5/+10
| | | | | | | We were running into problems like: for f in LICENSE configure config.sub config.guess [...] make[2]: execvp: /bin/sh: Argument list too long This patch moves the loop into make, rather than the shell.
* UNDO: fix the inplace runghc (it broke the installed runghc)Simon Marlow2009-08-261-1/+1
|
* Fix part of #3398: pretty-printing always goes via the I/O library encodingSimon Marlow2009-08-261-5/+3
| | | | | | | | | That is, unless we're printing in LeftMode, where we bypass encoding for speed. This is safe, because LeftMode is used for outputting C or asm, where everyting is Z-encoded and hence ASCII. Error messages and other compiler output containing Unicode will now appear correctly according to the locale settings.
* Tidy up file headers and copyrights; point to the wiki for docsSimon Marlow2009-08-2537-161/+223
| | | | | | | I've updated the wiki page about the RTS headers http://hackage.haskell.org/trac/ghc/wiki/Commentary/SourceTree/Includes to reflect the new layout and explain some of the rationale. All the header files now point to this page.
* Follow changes in Cabal: package -> sourcePackageIdSimon Marlow2009-08-246-45/+46
|
* fix an unused-import warningSimon Marlow2009-08-241-1/+0
|
* Add unique package identifiers (InstalledPackageId) in the package DBSimon Marlow2009-08-2010-164/+210
| | | | | See commentary at http://hackage.haskell.org/trac/ghc/wiki/Commentary/Packages
* Move the standalone-deriving flag test from parser to renamersimonpj@microsoft.com2009-08-253-14/+11
| | | | | | This is just a tiny refactoring. In general, we're trying to get rid of parser errors in favour of later, more civlised, errors.
* Error message wibblesimonpj@microsoft.com2009-08-251-1/+1
|
* Fix Trac #3406 (albeit not very satisfactorily): scoped type variablessimonpj@microsoft.com2009-08-251-0/+21
| | | | | | | | | | | | | | | | The issue here is this: type ItemColID a b = Int -- Discards a,b get :: ItemColID a b -> a -> ItemColID a b get (x :: ItemColID a b) = x :: ItemColID a b The pattern signature for 'x' doesn't actually rigidly bind a,b. This crashed GHC 6.10 with a 'readFilledBox' panic. Now we fail with an erroe message With the new outside-in algorithm we'll be able to accept this program.
* Make FastString thread-safe.Thomas Schilling2009-08-241-84/+45
| | | | | | | | | This is needed both for per-session parallelism and for allowing multiple concurrent sessions in the same process. With the help of atomicModifyIORef and unsafePerformIO it is also quite fast--an MVar would most likely be slower. On a full compilation of Cabal's head branch it was about 1-2 percent slower, but then overall compilation times varied by about 4 percent, so I think it's worth it.
* Improve docs on -XFlexibleContextssimonpj@microsoft.com2009-08-241-5/+14
|
* fix do-notation warningsSimon Marlow2009-08-241-2/+2
|
* Use explicit Word32/Int32 in place of Int in the on-disk .hi fileSimon Marlow2009-08-213-8/+9
| | | | | For: FastStrings, Names, and Bin values. This makes .hi files smaller on 64-bit platforms, while also making the format a bit more robust.
* Fix the interface-file incompatibility crash (#3435)Simon Marlow2009-08-211-9/+23
| | | | | | We now have a dummy 32/64-bit field near the beginning of a .hi file for backward-compatibility reasons; see comments (Note [dummy iface field]) in BinIface.hs.
* trim Data.Sequence import, in preparation for expanding its APIRoss Paterson2009-08-241-1/+1
|
* Remove bitrotted IA64 code in Linker.cIan Lynagh2009-08-231-205/+0
| | | | It breaks the unregisterised build on IA64.
* Make consIORef atomic.Thomas Schilling2009-08-221-4/+2
|
* Make updates to external package state idempotent.Thomas Schilling2009-08-211-0/+1
| | | | | Without this, concurrent updates to the EPS could introduce overlapping instances (even though they came from the same module).
* Fix Trac #3423: missed instantiation for newtype-derived instancessimonpj@microsoft.com2009-08-212-5/+13
| | | | | | | | | | | | | Somehow I'd forgotten to instantiate the coercion that is stored in a 'NewtypeDerived' constructor in an InstInfo. The necessary code is in TcInstDcls.tc_inst_decl2. The result was ghc: panic! (the 'impossible' happened) (GHC version 6.10.3 for x86_64-unknown-linux): No match in record selector Var.tcTyVarDetails because we were looking at an (uninstantiated) TyVar instead of an (instantiated) TcTyVar.
* Put "dl" back in rts/package.conf if HAVE_DL is definedIan Lynagh2009-08-211-0/+3
| | | | Fixes linking with -dynamic
* Link CMM objects into dynamic librariesIan Lynagh2009-08-211-7/+10
| | | | | | This fixes linking hello world with -dynamic. I've also added some more variables, so there is less duplication between the different ways of linking.
* -fPIC -fvia-C issues a warning and ignores -fvia-CSimon Marlow2009-08-212-4/+28
| | | | | Also, -fPIC causes an error if the target is registerised and has no native code generator.
* Use allocateLocal() rather than allocate() in the interpreterSimon Marlow2009-08-201-9/+9
| | | | This gives about a 15% performance boost in GHCi for me. nice!
* Another tiny tidy-up to RnPatsimonpj@microsoft.com2009-08-211-1/+1
|
* Fix Trac #3437: strictness of specialised functionssimonpj@microsoft.com2009-08-211-0/+44
| | | | | | | | | | | | | | | | | | | | | | | 'lilac' helpful pin-pointed a space leak that was due to a specialised function being insufficiently strict. Here's the new comment in SpecConstr: Note [Transfer strictness] ~~~~~~~~~~~~~~~~~~~~~~~~~~ We must transfer strictness information from the original function to the specialised one. Suppose, for example f has strictness SS and a RULE f (a:as) b = f_spec a as b Now we want f_spec to have strictess LLS, otherwise we'll use call-by-need when calling f_spec instead of call-by-value. And that can result in unbounded worsening in space (cf the classic foldl vs foldl') See Trac #3437 for a good example. The function calcSpecStrictness performs the calculation.
* Wibbles to field-label punssimonpj@microsoft.com2009-08-213-11/+29
|
* Fix library installation; fixes #3374Ian Lynagh2009-08-201-1/+5
| | | | | When configuring packages, enable library profiling and shared libraries based on the ways in GhcLibWays.
* Escape some $s in makefiles for consistencyIan Lynagh2009-08-201-2/+2
|
* Wibble to RnPat refactoringsimonpj@microsoft.com2009-08-203-14/+16
|
* Rollback: use cas() to claim the closure in copyPart(), to match copy_tag()Simon Marlow2009-08-204-34/+34
| | | | | | | | | | rolling back: * use cas() to claim the closure in copyPart(), to match copy_tag() * rename whitehole_spin to evac_collision, and update it properly This introduced a new failure in parallel GC. I'll rollback for now until I've fixed it.
* Relax the assumption that all objects fit in a single block (#3424)Simon Marlow2009-08-201-11/+26
| | | | | | | | | | | | | | | It is possible for the program to allocate single object larger than a block, without going through the normal large-object mechanisms that we have for arrays and threads and so on. The GC was assuming that no object was larger than a block, but #3424 contains a program that breaks the assumption. This patch removes the assumption. The objects in question will still be copied, that is they don't get the normal large-object treatment, but this case is unlikely to occur often in practice. In the future we may improve things by generating code to allocate them as large objects in the first place.
* remove a bogus assertionSimon Marlow2009-08-201-4/+0
|
* Restore the GHC version checkSimon Marlow2009-08-201-36/+35
| | | | | I'm not sure what happened here, but the ordering of tests was messed up, with the result that the GHC version check was being omitted.
* fix the inplace runghcSimon Marlow2009-08-201-1/+1
| | | | | It was invoking $(TOP)/inplace/bin/ghc rather than $(TOP)/inplace/bin/ghc-stage2
* Add a case for IND (and a comment). Fixes #3424, perhaps only partially.Simon Marlow2009-08-201-0/+4
|
* Improvements to record puns, wildcardssimonpj@microsoft.com2009-08-2012-618/+707
| | | | | | | | | | | | | | | | | | | | | | | | | * Make C { A.a } work with punning, expanding to C { A.a = a } * Make it so that, with -fwarn-unused-matches, f (C {..}) = x does not complain about the bindings introduced by the "..". * Make -XRecordWildCards implies -XDisambiguateRecordFields. * Overall refactoring of RnPat, which had become very crufty. In particular, there is now a monad, CpsRn, private to RnPat, which deals with the cps-style plumbing. This is why so many lines of RnPat have changed. * Refactor the treatment of renaming of record fields into two passes - rnHsRecFields1, used both for patterns and expressions, which expands puns, wild-cards - a local renamer in RnPat for fields in patterns - a local renamer in RnExpr for fields in construction and update This make it all MUCH easier to understand * Improve documentation of record puns, wildcards, and disambiguation