Starting with tag: [TAG 2008-10-19 Ian Lynagh **20081019142201] [FIX #2691: Manually reset the terminal to its initial settings; works around a bug in libedit. Judah Jacobson **20081016024838] [Don't put the README file in the Windows installer; fixes trac #2698 Ian Lynagh **20081021162543 The README file talks about getting and building the sources, which doesn't make sense for the installer. ] [FIX (partially) #2703: bug in stack overflow handling when inside block Simon Marlow **20081020121103 As a result of a previous ticket (#767) we disabled the generation of StackOverflow exceptions when inside a Control.Exception.block, on the grounds that StackOverflow is like an asynchronous exception. Instead we just increase the stack size. However, the stack size calculation was wrong, and ended up not increasing the size of the stack, with the result that the runtime just kept re-allocating the stack and filling up memory. ] [FIX #2688 Manuel M T Chakravarty **20081021044213 - Change in TcSimplify.reduceContext: We do *not* go around for new extra_eqs. Morally, we should, but we can't without risking non-termination (see #2688). By not going around, we miss some legal programs mixing FDs and TFs, but we never claimed to support such programs in the current implementation anyway. MERGE TO 6.10 ] [FIX #2693 Manuel M T Chakravarty **20081021120107 - As long as the first reduceContext in tcSimplifyRestricted potentially performs improvement, we need to zonk again before the second reduceContext. It would be better to prevent the improvement in the first place, but given the current situation zonking is definitely the right thing to do. MERGE TO 6.10 ] [Wibble to ungrammatical error message simonpj@microsoft.com**20080920232256] [Restore the terminal attributes even if ghci does not exit normally. Judah Jacobson **20081020164109] [Re-export Located(..) and related functions Simon Marlow **20081020102422 So that clients don't need to import SrcLoc ] [Reject programs with superclass equalities for now Manuel M T Chakravarty **20081021131721 - The current implementation of type families cannot properly deal with superclass equalities. Instead of making a half-hearted attempt at supporting them, which mostly ends in cryptic error message, rejecting right away with an appropriate message. MERGE TO 6.10 ] [Set configure.ac up for the 6.10.1 release Ian Lynagh **20081022142125] [Fix Trac #2668, and refactor TcDeriv simonpj@microsoft.com**20081021142922 TcDeriv deals with both standalone and ordinary 'deriving'; and with both data types and 'newtype deriving'. The result is really rather compilcated and ad hoc. Ryan discovered #2668; this patch fixes that bug, and makes the internal interfces #more uniform. Specifically, the business of knocking off type arguments from the instance type until it matches the kind of the class, is now done by derivTyData, not mkNewTypeEqn, because the latter is shared with standalone derriving, whree the trimmed type application is what the user wrote. ] [Improve crash message from applyTys and applyTypeToArgs simonpj@microsoft.com**20080923135419] [Update ANNOUNCE Ian Lynagh **20081022164423] [Fix Trac #2714 (a minor wibble) simonpj@microsoft.com**20081022145138 In boxy_match (which is a pure function used by preSubType) we can encounter TyVars not just TcTyVars; this patch takes account of that. ] [Update library version numbers in the release notes Ian Lynagh **20081023144018] [Add a usepackage{url} Ian Lynagh **20081024111458] [Remove an unmatched } in core.tex Ian Lynagh **20081024111750] [Use pdflatex rather than latex for building Ian Lynagh **20081024112400 The Windows builder is having problems running ps2pdf, so this works aroudn the problem. ] [Fix Trac #2701: make deriving check better for unlifted args simonpj@microsoft.com**20081025171211 Getting the automatic deriving mechanism to work really smoothly is surprisingly hard. I keep finding myself in TcDeriv! Anyway, this is a nice clean fix to Trac #2701. ] [Fix Trac #2713: refactor and tidy up renaming of fixity decls simonpj@microsoft.com**20081027222738 In fixing #2713, this patch also eliminates two almost-unused functions from RnEnv (lookupBndr and lookupBndr_maybe). The net lines of code is prety much unchanged, but more of them are comments! ] [Fix tcrun031: yet more tidying up in TcDeriv simonpj@microsoft.com**20081029130155] [Do proper cloning in worker/wrapper splitting simonpj@microsoft.com**20081021143156 See Note [Freshen type variables] in WwLib. We need to clone type variables when building a worker/wrapper split, else we simply get bogus code, admittedly in rather obscure situations. I can't quite remember what program showed this up, unfortunately, but there definitely *was* one! (You get a Lint error.) ] [Fix Trac #2674: in TH reject empty case expressions and function definitions simonpj@microsoft.com**20081030094528] [Export typeclasses for accessing compiler results. Thomas Schilling **20081028182310 MERGE TO 6.10. ] [Refuse to register packages with unversioned dependencies; trac #1837 Ian Lynagh **20081031181746] [Set RELEASE back to NO Ian Lynagh **20081104134326] [TAG GHC 6.10.1 release Ian Lynagh **20081107191823] [Do not filter the rts from linked libraries in linkDynLib as Windows does not allow unresolved symbols Clemens Fruhwirth **20081013201426] [Bugfix for patch "Do not filter the rts from linked libraries..." (#2745) Simon Marlow **20081107092925 The sense of the #ifdef was wrong ] [allocateInGen(): increase alloc_blocks (#2747) Simon Marlow **20081106113714] [bugfix: don't ingore the return value from rts_evalIO() Simon Marlow **20081104142147] [fix the :help docs for :set stop (#2737) Simon Marlow **20081104092929] [deadlock fix: reset the flag *after* checking the blackhole queue Simon Marlow **20081105150542] [Cope with ThreadRelocated when traversing the blocked_queue Simon Marlow **20081106114045 Fixes "invalid what_next field" in ioref001 on Windows, and perhaps others ] [Fix to i386_insert_ffrees (#2724, #1944) Simon Marlow **20081111125619 The i386 native code generator has to arrange that the FPU stack is clear on exit from any function that uses the FPU. Unfortunately it was getting this wrong (and has been ever since this code was written, I think): it was looking for basic blocks that used the FPU and adding the code to clear the FPU stack on any non-local exit from the block. In fact it should be doing this on a whole-function basis, rather than individual basic blocks. ] [Perform case-insensitive matching of path components in getBaseDir on Windows (Fixes bug 2743) Neil Mitchell **20081105134315] [Fix parse error with older gccs (#2752) Simon Marlow **20081111135344] [Add 'packageDbModules' function to GHC API. Thomas Schilling **20081110143510 This function returns a list of all modules available through the package DB. MERGE TO 6.10 ] [Documentation only. Thomas Schilling **20081110153456] [Documentation only. Clarify that 'load*' may indeed throw SourceErrors. Thomas Schilling **20081110175614 I don't think errors during dependency analysis should be passed to the logger. ] [Fix documentation (to say the opposite). Thomas Schilling **20081110153819] [Fix bootstrap with 6.10.1 on Windows Simon Marlow **20081110134318 ghc-pkg doesn't understand the old syntax any more, so 'ghc-pkg -l' fails ] [Don't put stdin into non-blocking mode (#2778, #2777) Simon Marlow **20081114130546 This used to be necessary when our I/O library needed all FDs in O_NONBLOCK mode, and readline used to put stdin back into blocking mode. Nowadays the I/O library can cope with FDs in blocking mode, and #2778/#2777 show why this is important. ] [notice ^C exceptions when waiting for I/O Simon Marlow **20081113114342] [close the temporary Handle before removing the file Simon Marlow **20081114130958] [Always zap the trailing @N from symbols when looking up in a DLL Simon Marlow **20081112111518 Fixes win32002(ghci) Previously we only did this for references from object files, but we should do it for all symbols, including those that GHCi looks up due to FFI calls from bytecode. ] [lookupSymbol: revert to looking up both with and without the @N suffix Simon Marlow **20081113122927] [Fix a bug in the recompilation checking logic. Thomas Schilling **20081113162653 Previously, using target HscNothing resulted in unnessesary recompilation because 'upsweep_mod' treated HscInterface specially. This patch changes relaxes this. When running GHC with debug level 5, 'upsweep_mod' will now also be more verbose about what it is doing. There is (at least) one possible remaining problem, though: When using target 'HscNothing' we generate a fake linkable to signal that we have processed a module. When switching to 'HscInterpreted' this may cause objects to not be recompiled. Switching from HscNothing to HscInterpreted is therefore only safe if we unload everything first. ] [Fix gen_contents_index when not run inplace; trac #2764 Ian Lynagh **20081116174122 Based on a patch from juhpetersen. ] [Fix an extremely subtle deadlock bug on x86_64 Simon Marlow **20081113155730 The recent_activity flag was an unsigned int, but we sometimes do a 64-bit xchg() on it, which overwrites the next word in memory. This happened to contain the sched_state flag, which is used to control the orderly shutdown of the system. If the xchg() happened during shutdown, the scheduler would get confused and deadlock. Don't you just love C? ] [Fix another subtle shutdown deadlock Simon Marlow **20081113160005 The problem occurred when a thread tries to GC during shutdown. In order to GC it has to acquire all the Capabilities in the system, but during shutdown, some of the Capabilities have already been closed and can never be acquired. ] [Another shutdown fix Simon Marlow **20081117094350 If we encounter a runnable thread during shutdown, just kill it. All the threads are supposed to be dead at this stage, but this catches threads that might have just returned from a foreign call, or were finalizers created by the GC. Fixes memo002(threaded1) ] [Fix warning on Windows (use deleteThread() not deleteThread_()) Simon Marlow **20081117143047] [Fix #2783: detect black-hole loops properly Simon Marlow **20081117144515 At some point we regressed on detecting simple black-hole loops. This happened due to the introduction of duplicate-work detection for parallelism: a black-hole loop looks very much like duplicate work, except it's duplicate work being performed by the very same thread. So we have to detect and handle this case. ] [Attempt to fix #2512 and #2063; add +RTS -xm
-RTS option Simon Marlow **20081117120556 On x86_64, the RTS needs to allocate memory in the low 2Gb of the address space. On Linux we can do this with MAP_32BIT, but sometimes this doesn't work (#2512) and other OSs don't support it at all (#2063). So to work around this: - Try MAP_32BIT first, if available. - Otherwise, try allocating memory from a fixed address (by default 1Gb) - We now provide an option to configure the address to allocate from. This allows a workaround on machines where the default breaks, and also provides a way for people to test workarounds that we can incorporate in future releases. ] [fix compile breakage on Windows Simon Marlow **20081117142831] [Omit definitions of cas() and xchg() in .hc code Simon Marlow **20081114095738 They cause compilation errors (correctly) with newer gccs Shows up compiling the RTS via C, which happens on Windows ] [Add help messages about --with-editline-(includes,libraries) to the ghc configure script. Judah Jacobson **20081114183334] [Fix typo (HAVE_LIBGMP => HAVE_LIB_GMP); omit local gmp includes if HAVE_LIB_GMP Simon Marlow **20081119131056 If we're using the system's installed GMP, we don't want to be picking up the local gmp.h header file. Fixes 2469(ghci) for me, because it turns out the system's GMP is more up-to-date than GHC's version and has a fix for more recent versions of gcc. We also need to pull in a more recent GMP, but that's a separte issue. ] [Fix flag name -XDisambiguateRecordFields simonpj@microsoft.com**20081120123205] [Move the freeing of Capabilities later in the shutdown sequence Simon Marlow **20081024104301 Fixes a bug whereby the Capability has been freed but other Capabilities are still trying to steal sparks from its pool. ] [Fix some more shutdown races Simon Marlow **20081119124848 There were races between workerTaskStop() and freeTaskManager(): we need to be sure that all Tasks have exited properly before we start tearing things down. This isn't completely straighforward, see comments for details. ] [MERGE: Fix a race in the deadlock-detection code Simon Marlow **20081120144052 After a deadlock it was possible for the timer signal to remain off, which meant that the next deadlock would not be detected, and the system would hang. Spotted by conc047(threaded2). ] [Changes to "Fix some more shutdown races" for the 6.10 branch Simon Marlow **20081120150512] [Add a --machine-readable RTS flag Ian Lynagh **20081123152127 Currently it only affects the -t flag output ] [Report source span instead of just source location for unused names. Thomas Schilling **20081122142641] [#2751: disourage --enable-shared in ./configure --help Simon Marlow **20081114124748] [error message wibble Simon Marlow **20081120084901] [round the size up to a page in mmapForLinker() instead of in the caller Simon Marlow **20081120154014] [fix the build when !USE_MMAP Simon Marlow **20081121085418] [Fix #2740: we were missing the free variables on some expressions Simon Marlow **20081125103113 Particularly boolean expresions: the conditional of an 'if', and guards, were missing their free variables. ] [Fix Trac #2766: printing operator type variables simonpj@microsoft.com**20081126132202] [#2768: fix compatibility problem with newer version of mingw Simon Marlow **20081113114626] [Fix Trac #2799: TcType.isOverloadedTy simonpj@microsoft.com**20081125110540 A missing case (for equality predicates) in isOverloadedTy make bindInstsOfLocalFuns/Pats do the wrong thing. Core Lint nailed it. Merge to 6.10 branch. ] [Fix Trac #2817 (TH syntax -> HsSyn conversion) simonpj@microsoft.com**20081126154022] [Use relative URLs in the GHC API haddock docs; fixes #2755 Ian Lynagh **20081128184511] [Teach runghc about --help; fixes trac #2757 Ian Lynagh **20081128191706] [Update docs not to talk about deprecated -optdep-* flags; fixes trac #2773 Ian Lynagh **20081128193633] [Remove dead code Ian Lynagh **20081128193831] [Document the --machine-readable RTS flag Ian Lynagh **20081130152311] [We need to tell cabal-bin which version of Cabal to use Ian Lynagh **20081203123208 Otherwise, if the bootstrapping compiler has a newer version, we get a mismatch between the version used to compile ghc-prim's Setup.hs and the version that installPackage uses. ] [Fix typo in quasi-quote documentation's sample. shelarcy **20081129024344] [Better error message for fundep conflict simonpj@microsoft.com**20081201162845] [add a warning that --enable-shared is experimental Simon Marlow **20081114104034] [Fix 32-bit breakage Simon Marlow **20081119145429] [Format output for :t more nicely simonpj@microsoft.com**20081126134814] [Merge some of the #2847 fixes to the 6.10 branch Ian Lynagh **20081209211854 The patches didn't merge cleanly. I've only made the notFollowedByPragmaChar fix to the OPTIONS pragma. ] [Fix (part of) #2868: do load-balancing when there's only one spark Simon Marlow **20081210144235] [The default cleanup handler should /always/ delete the temp files Ian Lynagh **20081211170006 Not only if there has been an exception. It worked for GHC anyway, as it was getting an ExitSuccess exception, but GHC API clients shouldn't be required to do that. ] [Document hs_init() infelicity (#2863) Simon Marlow **20081209164322] [Fix #2848: avoid overflow during time calculation Simon Marlow **20081209105600] [On FreeBSD, try MAP_FIXED if ordinary mmap() fails to give us suitable memory Simon Marlow **20081210115751 This appears to be necessary on FreeBSD. It might be necessary on other OSs too, but I'm being cautious because using MAP_FIXED can lead to crashes by overwriting existing mappings, and we have no (easy) way to prevent that. ] [MERGED: FIX #1364: added support for C finalizers that run as soon as the value is not longer reachable. Ian Lynagh **20081217162120 Simon Marlow **20081210150425 Patch originally by Ivan Tomac , amended by Simon Marlow: - mkWeakFinalizer# commoned up with mkWeakFinalizerEnv# - GC parameters to ALLOC_PRIM fixed ] [MERGED: Fix #2592: do an orderly shutdown when the heap is exhausted Ian Lynagh **20081217194650 Simon Marlow **20081209105919 Really we should be raising an exception in this case, but that's tricky (see comments). At least now we shut down the runtime correctly rather than just exiting. ] [MERGED: Fix #2838: we should narrow a CmmInt before converting to ImmInteger Ian Lynagh **20081217213645 Simon Marlow **20081209105515 ] [Comments only simonpj@microsoft.com**20081208124155] [Refactor RnEnv to fix Trac #2901 simonpj@microsoft.com**20081230150445 This tidy-up fixes Trac #2901, and eliminates 20 lines of code. Mainly this is done by making a version of lookupGlobalOccRn that returns (Maybe Name); this replaces lookupSrcOccRn but does more. ] [Avoid nasty name clash with associated data types (fixes Trac #2888) simonpj@microsoft.com**20081230164432 The main bug was in TcHsType; see Note [Avoid name clashes for associated data types]. However I did a bit of re-factoring while I was abouut it. I'm still a but unhappy with the use of TyCon.setTyConArgPoss; it'd be better to construct the TyCon correctly in the first place. But that means passing an extra parameter to tcTyDecl1... maybe we should do this. ] [Comments only: replace ":=:" by "~" (notation for equality predicates) simonpj@microsoft.com**20080920232024] [Fix Trac #2756: CorePrep strictness bug simonpj@microsoft.com**20081126143448] [Fix Trac #2721: reject newtype deriving if the class has associated types simonpj@microsoft.com**20081231164300] [Add quotes to error message simonpj@microsoft.com**20081230150402] [Remove time from extralibs at request of maintainer Ian Lynagh **20090104115509] [Fix Trac #2856: make deriving work for type families simonpj@microsoft.com**20081231144151 Darn, but TcDeriv is complicated, when type families get in on the act! This patch makes GeneralisedNewtypeDeriving work properly for type families. I think. In order to do so, I found that GeneralisedNewtypeDeriving can work for recursive newtypes too -- and since families are conservatively marked recursive, that's a crucial part of the fix, and useful too. See Note [Recursive newtypes] in TcDeriv. ] [Improve error message in deriving (fix Trac #2851) simonpj@microsoft.com**20081230165906] [MERGED: Improve error reporting for 'deriving' Ian Lynagh **20090104131543 simonpj@microsoft.com**20081231143521 a) Improve the extra suggested fix when there's a "no instance" error in a deriving clause. b) Improve error location recording in tcInstDecl2 Many of the changes in tcInstDecl2 are simple reformatting. ] [MERGED: Tidy up treatment of big lambda (fixes Trac #2898) Ian Lynagh **20090104140358 simonpj@microsoft.com**20081230145948 There was a leftover big lambda in the CorePrep'd code, which confused the bytecode generator. Actually big lambdas are harmless. This patch refactors ByteCodeGen so that it systemantically used 'bcView' to eliminate junk. I did a little clean up in CorePrep too. See comments in Trac #2898. ] [Add some more fields to +RTS --info Ian Lynagh **20090108131101] [Add "Word size" to the +RTS --info output Ian Lynagh **20090109160454] [Require HsColour by default Ian Lynagh **20090104214647 This should stop us ending up without HsColour'ed sources on some platforms. We also now tell Cabal where to find HsColour, rather than it finding it itself. ] [Check that make supports eval Ian Lynagh **20090109151006] [Fix #2873: should fail if a package DB desn't exist Simon Marlow **20090108095628 We allowed non-existence before because the user DB is allowed to not exist, so now we have an explicit exception for that case. ] [FIX BUILD on Windows (fix for #2873 broke it) Simon Marlow **20090109090658] [wake up the blocked exception queue on ThreadFinished; fixes #2910 Simon Marlow **20090106153254] [putMVar and takeMVar: add write_barrier() to fix race with throwTo Simon Marlow **20090107112026] [maybePerformBlockedException() should handle ThreadComplete/ThreadKilled Simon Marlow **20090107120734 Part of the fix for #2910 ] [Fix two more locking issues in throwTo() Bertram Felgenhauer **20090107120808] [add comment Simon Marlow **20090107121142] [Close the races between throwTo and thread completion Simon Marlow **20090107140507 Any threads we missed were being caught by the GC (possibly the idle GC if the system was otherwise inactive), but that's not ideal. The fix (from Bertram Felgenhauer) is to use lockTSO to synchronise, imposing an unconditional lockTSO on thread exit. I couldn't measure any performance overhead from doing this, so it seems reasonable. ] [MERGED: fix a race where the timer signal could remain turned off, leading to deadlock Ian Lynagh **20090111140523 Simon Marlow **20090107120652 ] [when calling mmap() with MAP_ANON, the fd argument should be -1 Simon Marlow **20090108155341 might fix #2925 ] [bump GHC's max stack size to 512M Simon Marlow **20081219112211 To accomodate compiling very long static lists (#2002) ] [Fix Trac #2584: Pretty printing of types with HsDocTy David Waern **20090109191713 The pretty printing clause for HsDocTy was wrong, causing brackets to be left out. We now print Haddock comments on types as if they were postfix type operators. ] [Workaround for #2262, from Barney Stratford Simon Marlow **20081216124706 See http://www.haskell.org/pipermail/glasgow-haskell-users/2008-December/016333.html ] [soup-up "ghc-pkg check" Simon Marlow **20090115122143 Ignore-this: 6d29af258eb31d417d01fed167cd5d47 We now look for missing files (including .hi files), and report all the packages that are transitively broken. $ ghc-pkg check There are problems in package syb-0.1.0.0: dependency foo-4.0.0.0 doesn't exist There are problems in package process-1.0.1.1: file System/Process.hi is missing The following packages are broken, either because they have a problem listed above, or because they depend on a broken package. syb-0.1.0.0 process-1.0.1.1 base-3.0.3.0 Cabal-1.7.0 haskell98-1.0.1.0 haddock-2.4.2 ghc-6.11 ] [More useful error message when a package .hi file cannot be found: Simon Marlow **20090115122524 Ignore-this: b595e2fac5d9b5214340f83a7d7dd730 > import System.Process Could not find module `System.Process': There are files missing in the process-1.0.1.1 package, try running 'ghc-pkg check'. Use -v to see a list of the files searched for. ] [Fix Trac #2931 simonpj@microsoft.com**20090113170948 Ignore-this: 6ff0207627165f3f7bd145171e59b533 Fix the lexical analyser when it encounters 'x and Template Haskell is on. ] [Fix building ghc-pkg with our older version of Cabal Ian Lynagh **20090116213955] [Remove the doc/ contents from the GMP tarball Ian Lynagh **20090128200749 They are GFDLed, which causes problems for Debian ] [#2973: we should virtualise the CWD inside the GHC API, not in the client Simon Marlow **20090127121648 Ignore-this: 5d57181d25a0661ad20fa48154f4a80 The problem is that we install the client's CWD before calling runStmt, but runStmt has to load modules before running the code. We need to install the CWD just before running the code instead, which means it has to be done inside runStmt (and resume). ] [When converting TH syntax to GHC syntax, need to put sections in parentheses Ian Lynagh **20090121141706 Fixes trac #2956 ] [Fix Trac #2723: keep track of record field names in the renamer simonpj@microsoft.com**20081028110445 The idea here is that with -XNamedFieldPuns and -XRecordWildCards we don't want to report shadowing errors for let fld = in C { .. } But to suppress such shadowing errors, the renamer needs to know that 'fld' *is* a record selector. Hence the new NameSet in TcRnFypes.RecFieldEnv ] [Fix Trac #2914: record wild cards and assoicated types simonpj@microsoft.com**20090108124118] [Remove dead code simonpj@microsoft.com**20081028074639] [Fix Trac #2937: deserialising assoicated type definitions simonpj@microsoft.com**20090113153217 Ignore-this: 7d7852a70a34fc22773757709735cc24 The deserialiser (TcIface) for associated type definitions wasn't taking into account that the class decl brings into scope some type variables that scope over the data/type family declaration. Easy to fix: the new function is TcIface.bindIfaceTyVars_AT ] [MERGED: Fix #2961: we lost some of the generated code for stack args in genCCall Ian Lynagh **20090130165014 Simon Marlow **20090126150209 Ignore-this: 77de911bfc98ecca566f1744dfe75a7b A real bug in the x86_64 native code gen: nice! This bug would have been caught by -Wall, and I would have gone though and Walled this file but I know Ben is hacking on this file quite heavily and I don't want to create undue conflicts. Ben: it would be nice to enable -Wall here when you have time. ] [Make -XTypeFamilies imply -XRelaxedPolyRec (Trac #2944) simonpj@microsoft.com**20090113162716 Ignore-this: 8ab21566045c8bc8050ed7dda04e2df ] [Fix Trac #2985: generating superclasses and recursive dictionaries simonpj@microsoft.com**20090130152738 Ignore-this: 921ab14e850085ddbe545b078e02120b The Note [Recursive instances and superclases] explains the subtle issues to do with generating the bindings for superclasses when we compile an instance declaration, at least if we want to do the clever "recursive superclass" idea from the SYB3 paper. The old implementation of tcSimplifySuperClasses stumbled when type equalities entered the picture (details in the Note); this patch fixes the problem using a slightly hacky trick. When we re-engineer the constraint solver we'll want to keep an eye on this. Probably worth merging to the 6.10 branch. ] [MERGED: Detect when a C finalizer calls back to Haskell Ian Lynagh **20090130192914 Simon Marlow **20090114121526 Ignore-this: e361d7278e2478da2f300625076cc0ae This is illegal now, after the fix for #1364, but it turns out that the existing check for dodgy callbacks doesn't catch finalizers calling back, so we need another test. This will be particularly important for 6.10.2, because the behaviour has changed. ] [add comment for ASSERT_LOCK_HELD() Simon Marlow **20090126140030 Ignore-this: c3ce1e8df9d94eb92a17f4f58c496a41 ] [Improve error messages slightly simonpj@microsoft.com**20090113164020 Ignore-this: 89090ec03d8ea201f64105c0dbb8d5f9 ] [Don't pin a register for gc_thread on SPARC. Ben.Lippmeier@anu.edu.au**20090105030758 This makes the build work again. ] [Warn in configure if it looks like make 3.80 is about to be used Ian Lynagh **20090201203505 We get caught by http://savannah.gnu.org/bugs/index.php?1516 $(eval ...) inside conditionals causes errors with make 3.80, so warn the user if it looks like they're about to try to use it. ] [Create package.conf when installing a bindist Ian Lynagh **20090118110654] [Revert: Inject implicit bindings before the simplifier (Trac #2070) Ian Lynagh **20090202194749 simonpj@microsoft.com**20080205165507 6.10-branch only. The patch caused problems; see trac #2987 for details. ] [Force the result of user-defined commands Simon Marlow **20090130091919 Ignore-this: f756d00cc062072e1945d63cfbbeb98 so that exceptions are reported with "*** Exception" instead of as a panic. ] [Improve error reporting for precedence errors simonpj@microsoft.com**20090202164450 Ignore-this: 493643a40c119ba6ad54d0f220dc4606 Adopt the suggestion of Trac #2993, and tidy up the reporting of precedence parsing errors somewhat. ] [When generating C, don't pretend functions are data Ian Lynagh **20090206154334 We used to generated things like: extern StgWordArray (newCAF) __attribute__((aligned (8))); ((void (*)(void *))(W_)&newCAF)((void *)R1.w); (which is to say, pretend that newCAF is some data, then cast it to a function and call it). This goes wrong on at least IA64, where: A function pointer on the ia64 does not point to the first byte of code. Intsead, it points to a structure that describes the function. The first quadword in the structure is the address of the first byte of code so we end up dereferencing function pointers one time too many, and segfaulting. ] [Fix the build on IA64 Ian Lynagh **20090206172020] [Fix calling maths functions when compiling via C Ian Lynagh **20090206223055] [Correct an IsFunction that should be IsData Ian Lynagh **20090207005817] [Handle the case where setitimer(ITIMER_VIRTUAL) is not always available Ian Lynagh **20090208191431 Patch from sthibaul. Fixes trac #2883. ] [Fix "make install": Put "[]" in the install package.conf Ian Lynagh **20090114205945] [Improvements to the "can't find module" error message (#2980) Simon Marlow **20090206165743 Ignore-this: 2de565e20f68ebdc3865df7391c81437 If the module was found in multiple hidden packages, we list them all. Could not find module `Data.Generics': it is a member of the hidden package `base-3.0.3.0' it is a member of the hidden package `syb' Use -v to see a list of the files searched for. ] [Don't use the absolute path to the bindist tarball Ian Lynagh **20090210215215 On Windows, we end up doing something like rsync c:/build/ghc-6.10.1-unknown-mingw32.tar.bz2 haskell.org:dist and it thinks that it is meant to get the file from the host called "c". Now we just do rsync ghc-6.10.1-unknown-mingw32.tar.bz2 haskell.org:dist so rsync understand what we mean. ] [On sparc, pass -mcpu=v9 when assembling with object splitting enabled Ian Lynagh **20090211141600 Fixes trac #2872. ] [Tweak the mangler; fixes trac #2871 Ian Lynagh **20090211150340 It was getting confused by lines like: # 9 "C:\Temp\/ghc620_0/ghc620_0.hc" 1 ] [Fix trac #3001: Biographical profiling segfaults Ian Lynagh **20090211153457 We were zeroing the wrong memory ] [Only pass --with-hscolour to cabal-bin once Ian Lynagh **20090212141023] [Quote some more arguments to cabal-bin Ian Lynagh **20090212141120] [Make versioned ghc and ghci programs on Windows; fixes trac #2827 Ian Lynagh **20090217215048] [Fix ghc and ghci wrappers on Windows Ian Lynagh **20090218005034] [Fix an off-by-one; fixes the second bug in trac #3001 Ian Lynagh **20090218235620] [MERGED: Export blockUserSignals and unblockUserSignals (needed for #2870) Ian Lynagh **20090220140451 Thu Feb 19 03:34:18 PST 2009 Simon Marlow ] [MERGED: Rewrite of signal-handling (ghc patch; see also base and unix patches) Ian Lynagh **20090220143200 Simon Marlow **20090219103142 Ignore-this: aca7c3e258224fadc6f0f2fee86b2971 The API is the same (for now). The new implementation has the capability to define signal handlers that have access to the siginfo of the signal (#592), but this functionality is not exposed in this patch. #2451 is the ticket for the new API. The main purpose of bringing this in now is to fix race conditions in the old signal handling code (#2858). Later we can enable the new API in the HEAD. Implementation differences: - More of the signal-handling is moved into Haskell. We store the table of signal handlers in an MVar, rather than having a table of StablePtrs in the RTS. - In the threaded RTS, the siginfo of the signal is passed down the pipe to the IO manager thread, which manages the business of starting up new signal handler threads. In the non-threaded RTS, the siginfo of caught signals is stored in the RTS, and the scheduler starts new signal handler threads. ] [Force recompilation of BCOs when they were compiled in HscNothing mode. Thomas Schilling **20081126183402 Previously, loading a set of modules in HscNothing mode and then switching to HscInterpreted could lead to crashes since modules compiled with HscNothing were thought to be valid bytecode objects. This patch forces recompilation in these cases, hence switching between HscNothing and HscInterpreted should be safe now. ] [Backport: Let 'loadModule' generate proper code depending on the 'hscTarget'. Thomas Schilling **20090223165630 With this change it should be possible to perform something similar to 'load' by traversing the module graph in dependency order and calling '{parse,typecheck,load}Module' on each. Of course, if you want smart recompilation checking you should still use 'load'. ] [FIX #1891 (describe +RTS --info output in GHC user guide) Andrew Coppin **20090214150234] [Tweak +RTS --info docs Ian Lynagh **20090227020758] [In +RTS --info output, use YES rather than Yes Ian Lynagh **20090227010230] [:steplocal and :stepmodule should not polute trace history Peter Hercek **20090222201002] [Whitespace only Ian Lynagh **20090227163435] [z-encode digits at the start of a symbol name; fixes trac #2997 Ian Lynagh **20090227180029 Digits already have a couple of meanings in z-encoding (Z3T is a tuple, and z123U is a unicode character), so we encode digits as unicode characters to avoid trying to squeeze in another meaning. Also removed a little GHC < 6.2 compatibility hack. ] [Do not print anything to stdout when stopping at a breakpoint with custom code attached Peter Hercek **20090222195551 ] [Use 'nonIOok' instead of 'True'; cosmetics only simonpj@microsoft.com**20090223101659 Ignore-this: 80200cf3aec5abb95c6b23ef37fb590a ] [Improve documentation of bang patterns simonpj@microsoft.com**20090227101503 Ignore-this: fa7bf72db82a612d16d44a93f1537351 ] [Filter out carriage returns in doc strings David Waern **20090228145351 We want the internal format to contain LFs only. This makes it easier to work with the doc strings for clients of the GHC API. ] [Fix #3067: GHCi panics with 'initTc:LIE' while :stepping on code with funny types pepe iborra **20090303193706 The problem is that calls to boxyUnify would panic if the types involved contained type functions. It looks like one should wrap these calls with getLIE, although I don't really know what I am doing here ] [Fix spelling (Trac#3069) simonpj@microsoft.com**20090304092232 Ignore-this: fee0f1d060c6c1c7a875943fe543c4fa ] [Fix a broken link. Spotted by Norman Ramsey in trac #3068. Ian Lynagh **20090304165351] [Fix Trac #3066: checking argument types in foreign calls simonpj@microsoft.com**20090303174258 Ignore-this: c07b0df24b9965b190dc0e0797401c51 When checking argument types in a foreign call we were stupidly looking through foralls. The fix is easy. Merge to 6.10.2 ] [Finally fix Trac #3066 simonpj@microsoft.com**20090305090935 Ignore-this: 8734c1799f854d9da6be76a9c134335e This is a fix to Tue Mar 3 17:42:58 GMT 2009 simonpj@microsoft.com * Fix Trac #3066: checking argument types in foreign calls which I embarassingly got wrong. Have to be careful when expanding recursive newtypes. Pls merge. ] [Fix a long-standing latent bug (and the build): check res_ty not sig_ty simonpj@microsoft.com**20090304091913 Ignore-this: 3494ed3f342b63840eef791a5200695 ] [By default, only HsColour the docs if we find HsColour. Fixes trac #3004. Ian Lynagh **20090305132723 If you manually set HSCOLOUR_SRCS=YES then the build will fail if HsColour wasn't found. ] [Document -fwarn-unrecognised-pragmas; fixes trac #3031 Ian Lynagh **20090305143128] [On OS X/x86, tell gcc to generate instructions for i686. Fixes trac #2983. Ian Lynagh **20090305142050 By default, gcc on OS X will generate SSE instructions, which need things 16-byte aligned, but we don't 16-byte align things. Thus drop back to generic i686 compatibility. ] [Add --version to runghc. Trac #2757. Ian Lynagh **20090305162045 We use the GHC version number, as the old runghc one doesn't seem very useful. ] [add --with-ld=c:/mingw/bin/ld Simon Marlow **20090305112618] [remove foo.exe.manifest when --embed-manifest is on Simon Marlow **20090305112726] [MERGED: add final newlines Ian Lynagh **20090306202552 Thu Mar 5 14:00:14 GMT 2009 Simon Marlow My Windows build has started complaining about lacking final newlines, I'm not entirely sure why. ] [Add 6.10.2 release notes Ian Lynagh **20090308155507] [Update ANNOUNCE for 6.10.2 Ian Lynagh **20090308160121] [Don't force HSCOLOUR_SRCS = YES when validating Ian Lynagh **20090308171633 This removes a burden from developers, and I can't remember an occasion where it would have caught a regression. ] [Redesign 64-bit HEAP_ALLOCED (FIX #2934 at the same time) Simon Marlow **20090309121300 Ignore-this: 4018145c528e52995d1feb7636e34384 After much experimentation, I've found a formulation for HEAP_ALLOCED that (a) improves performance, and (b) doesn't have any race conditions when used concurrently. GC performance on x86_64 should be improved slightly. See extensive comments in MBlock.h for the details. ] [Add haddock version info to the release notes Ian Lynagh **20090310155853] [Don't put a trailing / on the mingw include path Ian Lynagh **20090310172242] [Fix #2992: don't create a named event Simon Marlow **20090311094208 Evidently I misread the docs for CreateEvent: if you pass a name to CreateEvent, then it creates a single shared system-wide Event with that name. So all Haskell processes on the machine were sharing the same Event object. duh. ] [FIX #2816 (correct unicode output for :type/:kind) Simon Marlow **20090311112311 Ignore-this: 7f6a7ac6e2fe4f4242df586ef2391506 This is just a hack, since we don't have correct unicode output for Handles in general, I just fixed a couple of places where we were not converting to UTF-8 for output. ] [FIX #2832: Setting SplitObjs=NO doesn't disable -split-objs in GHC Simon Marlow **20090311110058 Ignore-this: d5f55ecea5803c1ae745a03d051cfa3f Now ghc --info reports whether-split-objs is supported, rather than whether the libraries were built using -split-objs. ] [FIX #2976: fix buggy implementation of shadowing in GHC.getBindings Simon Marlow **20090311102007 Ignore-this: b8320d35defa11b29632bd402a3eef4e ] [Merge the #2917 fixes for the 6.10 branch Ian Lynagh **20090311202617] [avoid a crash: don't return unless the run queue has some threads in it Simon Marlow **20090311154559] [Remove warning supression klugde in main/HeaderInfo Thomas Schilling **20081121144155] [FIX #3079, dodgy parsing of LANGUAGE pragmas Simon Marlow **20090312141103 Ignore-this: f490bd047421c8aff6c493e79178594e I ended up rewriting this horrible bit of code, using (yikes) lazy I/O to slurp in the source file a chunk at a time. The old code tried to read the file a chunk at a time, but failed with LANGUAGE pragmas because the parser for LANGUAGE has state and the state wasn't being saved between chunks. We're still closing the Handle eagerly, so there shouldn't be any problems here. ] [sanity checking fixes Simon Marlow **20090112121042] [Fix sanity checking after fix to #2917 Simon Marlow **20090312093855] [tidy up "missing symbol" error message Simon Marlow **20090313101334] [just comment formatting Simon Marlow **20090313132339 Ignore-this: f53b0dca0896134dd704fc3aca3ea93f ] [Adjust error message slightly to make it clearer simonpj@microsoft.com**20090313134402 Ignore-this: 46b0abb88c1fe11cd4ff059955b81561 ] [cope with ThreadRelocated on the sleeping_queue Simon Marlow **20090217132757 Ignore-this: 6b73d2b2e4142d7db4e7db4570f644ff ] [Don't call processHeapClosureForDead on pinned blocks Simon Marlow **20090316160534 Ignore-this: 33a60e4ce78db6cc5bab399ec673ad0a Fixes heapprof001(prof_hp) after fix for #2917 ] [FIX #3093: stub filenames when using -osuf Simon Marlow **20090316203437 Ignore-this: 999de35952804c760462ae32cfdd04d5 Also remove some unused cruft ] [Define dropTail for the 6.10 branch Ian Lynagh **20090318171159] [MERGED: FIX biographical profiling (#3039, probably #2297) Ian Lynagh **20090318204602 Simon Marlow **20090317144939 Since we introduced pointer tagging, we no longer always enter a closure to evaluate it. However, the biographical profiler relies on closures being entered in order to mark them as "used", so we were getting spurious amounts of data attributed to VOID. It turns out there are various places that need to be fixed, and I think at least one of them was also wrong before pointer tagging (CgCon.cgReturnDataCon). ] [MERGED: Fix Trac #3092 Ian Lynagh **20090318214138 simonpj@microsoft.com**20090316164049 We were't checking that a 'data/type instance' was extending a family type constructor. ] [Fix Trac #3095, and make RdrHsSyn warning-clean simonpj@microsoft.com**20090316174706 Ignore-this: db47522307c92d93e0037143dee74375 ] [MERGED: Reject foralls in constructor args in 'deriving', except for Functor etc Ian Lynagh **20090318215412 simonpj@microsoft.com**20090316164502 ] [Some wording wibbles from Thorkil Ian Lynagh **20090319165916] [Work around Solaris's grep not supporting -q Ian Lynagh **20090319171501] [add missing case in ENTER() (fixes readwrite002(profasm) crash) Simon Marlow **20090319102126 Ignore-this: 5599d4df888e830a8865e57e6745e094 ] [MERGED: Fix locking in evacuate_large() (FIX openfile008(threaded2)) Ian Lynagh **20090324140701 Simon Marlow **20090323092953 ] [update list of C math functions Bertram Felgenhauer **20090323183630 Ignore-this: af5fa15d957d853d27a0c4b465c2419e Fix via C compilation of modules that import, say, log1p from math.h (#3117) The list is based on preprocessing Stg.h with glibc 2.6.1 headers, and cross-checked with the ISO C 99 standard (draft). ] [MERGE: fix assertion failure with -debug non-threaded RTS (by deleting code!) Simon Marlow **20090326150602 Ignore-this: 31ad68a57672b1127396997b8d37699e ] [check for ThreadRelocated in checkBlackHoles() Simon Marlow **20090326140343 Ignore-this: 5d63f26567030cf0ccfa33da82702f86 ] [Cabal is now version 1.6.0.3 Ian Lynagh **20090326163620] [Replace libffi 3.0.4 with libffi 3.0.8 Lennart Kolmodin **20090323070832 Ignore-this: 8ebc194c9ea1e12f99d412683948032e Use the latest version of libffi, which compiles with a non-executable stack. libffi 3.0.4 was the single piece of ghc using the executable stack, forcing the whole toolchain to use executable stacks (including all executables it compiled). ] [remove "set -o igncr" hack that is apparently breaking libffi-3.0.8 Simon Marlow **20090330104123] [Set version to 6.10.2 and RELEASE to YES Ian Lynagh **20090330151845] [Set RELEASE back to NO Ian Lynagh **20090331151055] [TAG GHC 6.10.2 release Ian Lynagh **20090401221746] [update the intro section Simon Marlow **20090401105256 Ignore-this: 90aba333b501ecdedca5116d7204e47f ] [MERGED: Remove the "Installing GHC" section Ian Lynagh **20090402151109 Wed Apr 1 11:34:18 BST 2009 Simon Marlow 1. it was out of date in various ways 2. this is not the place people look for installation instructions 3. we have installation instructions elsewhere (e.g. the INSTALL file in a binary distribution) 4. the section "layout of installed files" is now on the wiki under Building/Installing. ] [Use haskeline, rather than editline, for line editing in GHCi Ian Lynagh **20090425213301] [Remove editline remnants from configure Ian Lynagh **20090426174705] [don't overwrite io_manager_pipe if it is already set Simon Marlow **20090423112939 Ignore-this: 8e7d94a051b4b3daec89ea3103678550 Part of the fix for #3171 ] [add missing files (part of #3171 fix) Simon Marlow **20090424091610 Ignore-this: 3d11fe878c873529906f67e930c46c2c ] [MERGED: add getOrSetSignalHandlerStore, much like getOrSetTypeableStore Ian Lynagh **20090426181439 Simon Marlow **20090423113002 Part of the fix for #3171 ] [Add time back as an extralib for 6.10.3 Ian Lynagh **20090427211133] [Build PDS/PS docs with dblatex Ian Lynagh **20090427230615] [MERGED: improve the finalizer callback error message Ian Lynagh **20090428114256 Simon Marlow **20090428085345 ] [Don't install the new-in-6.10.3 bootlibs Ian Lynagh **20090428131658] [ghc-bin uses ghc-mtl, not mtl, now Ian Lynagh **20090428133317] [Fix install Ian Lynagh **20090428141242] [wibble Makefile Ian Lynagh **20090428141324] [Look in include, as well as includes, for .h files when making a bindst Ian Lynagh **20090428150258] [Add PDF and PS files to the bindist Ian Lynagh **20090429121718] [Add release notes for 6.10.3 Ian Lynagh **20090429125306] [Pass EXTRA_CABAL_CONFIGURE_FLAGS to cabal configure commands Ian Lynagh **20090506174400] [Bump version number and set RELEASE=YES Ian Lynagh **20090507125042] [Set RELEASE back to NO Ian Lynagh **20090508142655] [MERGED: fix cut-and-pasto in mkWeakForeignEnv#, causing random segfaults Ian Lynagh **20090516154536 Simon Marlow **20090515092356 ] [MERGED: Fix #3207: add has_side_effects = True for lots of primops Ian Lynagh **20090522000941 and document primOpHasSideEffects Simon Marlow **20090515143608 ] [Start 6.10.4 release notes Ian Lynagh **20090522114636] [Teach the Makefiles about the HEAD's names for the sdist rules Ian Lynagh **20090522121629] [More release note entries Ian Lynagh **20090522142636] [Windows: load msvcrt and kernel32 manually Simon Marlow **20090520124310 Ignore-this: ae3fc7bf3e07bd0c4b30f2f6e6e04a53 ] [Add another release note Ian Lynagh **20090523145704] [Update ANNOUNCE Ian Lynagh **20090523145752] [MERGED: don't call Haskeline to read input when stdin is not a terminal Ian Lynagh **20090530140725 Simon Marlow **20090528152651 ] [PACKAGE_CPP_OPTS += -DPAPI_INCLUDE_DIR="" Simon Marlow **20090402105540 Ignore-this: 4136707371784c791c435ae4f562a500 unbreaks ghc-pkg check in an installed GHC ] [Fix #3279, #3288: fix crash encountered when calling unblock inside unsafePerformIO Simon Marlow **20090616152455 Ignore-this: 79b89712df9f87b239c41e469c8745c8 See comments for details ] [Fix the section ID for the 6.10.4 release notes Ian Lynagh **20090701102600 It was the same as the 6.10.3 release notes section ID, so was getting overwritten. ] [Add more 6.10.4 release notes Ian Lynagh **20090701103617] [Fix typo in release notes Ian Lynagh **20090701111734] [Fix Trac #3342: missed zonking in TcHsSyn simonpj@microsoft.com**20090702124331 Ignore-this: 9b97b2142dfc665b503f59df7c55dd17 The type in a ViewPat wasn't being zonked. Easily fixed. ] [fix GC bug introduced with the C finalizer support Simon Marlow **20090630080834 Ignore-this: 3567e3adb5ae4a5dcbce81733487f348 ] [Fix generational GC bug (#3348) Simon Marlow **20090706112227 Ignore-this: 5938338efa0ad1550968c664a5a76f31 ] [Set RELEASE=YES and set the version to 6.10.4 Ian Lynagh **20090713114917] [Set RELEASE back to NO Ian Lynagh **20090715150712] [TAG GHC 6.10.4 release Ian Lynagh **20090719123606]