Ticket #2441: FixHideExposeRegisterForNonFirstPackageDB.patch

File FixHideExposeRegisterForNonFirstPackageDB.patch, 61.3 KB (added by batterseapower, 7 years ago)

Patch implementing behaviour 1

Line 
1Sat Jul 12 11:34:49 BST 2008  Max Bolingbroke <[email protected]>
2  * Fix hide/expose/unregister when package is not in first package database
3
4New patches:
5
6[Fix hide/expose/unregister when package is not in first package database
7Max Bolingbroke <[email protected]>**20080712103449] {
8hunk ./utils/ghc-pkg/Main.hs 350
9-type PackageDBStack = [(PackageDBName,PackageDB)]
10+type NamedPackageDB = (PackageDBName, PackageDB)
11+type PackageDBStack = [NamedPackageDB]
12hunk ./utils/ghc-pkg/Main.hs 523
13-  let ((db_name, pkgs) : _) = db_stack
14-  ps <- findPackages [(db_name,pkgs)] (Id pkgid)
15+  ((db_name, pkgs), ps) <- fmap head $ findPackagesByDB db_stack (Id pkgid)
16hunk ./utils/ghc-pkg/Main.hs 607
17-findPackages db_stack pkgarg
18-  = case [ p | p <- all_pkgs, pkgarg `matchesPkg` p ] of
19-        []  -> die ("cannot find package " ++ pkg_msg pkgarg)
20+findPackages db_stack pkgarg = fmap (concatMap snd) $ findPackagesByDB db_stack pkgarg
21+
22+findPackagesByDB :: PackageDBStack -> PackageArg -> IO [(NamedPackageDB, [InstalledPackageInfo])]
23+findPackagesByDB db_stack pkgarg
24+  = case [ (db, filter (pkgarg `matchesPkg`) $ snd db) | db <- db_stack ] of
25+        [] -> die ("cannot find package " ++ pkg_msg pkgarg)
26hunk ./utils/ghc-pkg/Main.hs 615
27-        all_pkgs = concat (map snd db_stack)
28hunk ./utils/ghc-pkg/Main.hs 616
29-        pkg_msg (Substring pkgpat _) = "matching "++pkgpat
30+        pkg_msg (Substring pkgpat _) = "matching " ++ pkgpat
31}
32
33Context:
34
35[API expansion/regularisation. Document TysWiredIn and export it. Refactoring
36Max Bolingbroke <[email protected]>**20080711194524]
37[Whitespace only
38Max Bolingbroke <[email protected]>**20080711140337]
39[Rename io -> liftIO and add some other combinators
40Max Bolingbroke <[email protected]>**20080711140316]
41[Add an exported defaultGentleSimplPass
42Max Bolingbroke <[email protected]>**20080710213638]
43[Finish off GHCPlugins
44Max Bolingbroke <[email protected]>**20080710213625]
45[Add GHCPlugins convenience export module
46Max Bolingbroke <[email protected]>**20080710211332]
47[Explicitly clean mi_anns for consistency
48Max Bolingbroke <[email protected]>**20080710211313]
49[Document HscTypes
50Max Bolingbroke <[email protected]>**20080710211257]
51[Document key elements of Unique
52Max Bolingbroke <[email protected]>**20080710171927]
53[Little documentation in TypeRep
54Max Bolingbroke <[email protected]>**20080710170141]
55[Document Type
56Max Bolingbroke <[email protected]>**20080710163257]
57[Document set and map types
58Max Bolingbroke <[email protected]>**20080710135933]
59[Document Annotations
60Max Bolingbroke <[email protected]>**20080709225740]
61[Document IdInfo
62Max Bolingbroke <[email protected]>**20080709225734]
63[Module header for Rules
64Max Bolingbroke <[email protected]>**20080709213506]
65[Document Rules
66Max Bolingbroke <[email protected]>**20080709213355]
67[Small documentation fix in CoreSyn
68Max Bolingbroke <[email protected]>**20080709213336]
69[Small documentation fix in CoreSubst
70Max Bolingbroke <[email protected]>**20080709213316]
71[Document Module
72Max Bolingbroke <[email protected]>**20080709213307]
73[Document CoreSubst
74Max Bolingbroke <[email protected]>**20080709205201]
75[Document DataCon
76Max Bolingbroke <[email protected]>**20080709201323]
77[Little extra documentation for CoreUtils
78Max Bolingbroke <[email protected]>**20080709180851]
79[Document CoreFVs
80Max Bolingbroke <[email protected]>**20080709180844]
81[Document CoreUtils, some extra stuff in CoreSyn
82Max Bolingbroke <[email protected]>**20080709175223]
83[Document CoreSyn, some of Type
84Max Bolingbroke <[email protected]>**20080709170406]
85[Document Literal
86Max Bolingbroke <[email protected]>**20080709135300]
87[Fixed probable build failure with OLD_STRICTNESS
88Max Bolingbroke <[email protected]>**20080709132954]
89[Further clenaup to doCorePass
90Max Bolingbroke <[email protected]>**20080709132819]
91[Factor out common pass-showing code
92Max Bolingbroke <[email protected]>**20080709130744]
93[Fix build due to SrcLoc change.. for some reason the last patch didn't stick?
94Max Bolingbroke <[email protected]>**20080709110058]
95[Document CorePhases
96Max Bolingbroke <[email protected]>**20080709105019]
97[Document DynFlags, tweak old-strictness handling
98Max Bolingbroke <[email protected]>**20080709024718]
99[Fix build due to renaming in SrcLoc
100Max Bolingbroke <[email protected]>**20080709020326]
101[Document FastTypes
102Max Bolingbroke <[email protected]>**20080709015555]
103[Document SrcLoc
104Max Bolingbroke <[email protected]>**20080709015519]
105[Document Util
106Max Bolingbroke <[email protected]>**20080709011342]
107[Document CoreMonad
108Max Bolingbroke <[email protected]>**20080709011331]
109[Documentation fixes, change strLength to lengthLS
110Max Bolingbroke <[email protected]>**20080709003354]
111[Fix extremely weird manifestation of Darcs merge bug in cabal-bin.hs
112Max Bolingbroke <[email protected]>**20080709000939]
113[Fix build; Opt_LinkHaskell98 is now Opt_AutoLinkPackages
114Ian Lynagh <[email protected]>**20080708224005]
115[More documentation, merging
116Max Bolingbroke <[email protected]>**20080708224611]
117[Fix bizarre merge failure in hi-boot
118Max Bolingbroke <[email protected]>**20080708221209]
119[Extend the flag for not automatically linking haskell98
120Ian Lynagh <[email protected]>**20080708165654
121 It now also doesn't automatically link base and rts either.
122 We need this when we've done a build, so base and rts are in the
123 package.conf, but we've then cleaned the libraries so they don't
124 physically exist any more.
125]
126[Remove all .hi-boot-6 files
127Ian Lynagh <[email protected]>**20080708150059
128 From 6.4 onwards we use .(l)hs-boot instead.
129 Spotted by Max Bolingbroke.
130]
131[Add some missing deps in libraries/Makefile
132Ian Lynagh <[email protected]>**20080708142752]
133[Get rid of compat/
134Ian Lynagh <[email protected]>**20080708002717
135 Compat.Unicode is not utils/Unicode in the compiler.
136 We build the hpc package with the stage1 compiler.
137 Nothing else in the compat package was still used.
138]
139[Add a comment in validate saying where the hpc HTML is put
140Ian Lynagh <[email protected]>**20080707103816]
141[FIX #1736, and probably #2169, #2240
142Simon Marlow <[email protected]>**20080707095836
143 appendStringBuffer was completely bogus - the arguments to copyArray
144 were the wrong way around, which meant that corruption was very likely
145 to occur by overwriting the end of the buffer in the first argument.
146 
147 This definitely fixes #1736.  The other two bugs, #2169 and #2240 are
148 harder to reproduce, but we can see how they could occur: in the case
149 of #2169, the options parser is seeing the contents of an old buffer,
150 and in the case of #2240, appendStringBuffer is corrupting an
151 interface file in memory, since strng buffers and interface files are
152 both allocated in the pinned region of memory.
153]
154[Fix Trac #2414: occurrs check was missed
155[email protected]**20080707103201
156 
157 This is an embarassing one: a missing occurs check meant that a type-incorrect
158 program could leak through.  Yikes! 
159 
160 (An indirect consequence of extra complexity introduced by boxy types. Sigh.)
161 
162 Merge to 6.8.4 if we release it.
163 
164 
165]
166[White space only
167[email protected]**20080707103145]
168[White space only
169[email protected]**20080707103110]
170[Fix Trac #2386: exceesive trimming of data types with Template Haskell
171[email protected]**20080707102941
172 
173 See Note [Trimming and Template Haskell] in TidyPgm.
174 
175 Merge to 6.8.4 if we ever release it.
176 
177 
178]
179[Add hsc2hs.wrapper
180Ian Lynagh <[email protected]>**20080705214104]
181[Fix hsc2hs finding its template file on Windows
182Ian Lynagh <[email protected]>**20080705185829]
183[On cygwin, convert happy's path to a native path
184Ian Lynagh <[email protected]>**20080705163113]
185[On cygwin, convert Haddock's path to a native path
186Ian Lynagh <[email protected]>**20080705162154]
187[On cygwin, convert alex's path to a native path
188Ian Lynagh <[email protected]>**20080705155559]
189[libffi now doesn't have an artificial make boot/all split
190Ian Lynagh <[email protected]>**20080705155025]
191[Need to make all in gmp, not boot
192Ian Lynagh <[email protected]>**20080705153245]
193[gmp didn't really fit into the make boot/all cycle, so don't try to force it
194Ian Lynagh <[email protected]>**20080705140354
195 Now we just run make in it at the start of the stage1 build
196]
197[Build hsc2hs with Cabal
198Ian Lynagh <[email protected]>**20080705134208
199 This is very rough around teh edges at the moment.
200]
201[Add a flag to disable linking with the haskell98 package
202Ian Lynagh <[email protected]>**20080705134115]
203[Use the last compiler if more than one is specified
204Ian Lynagh <[email protected]>**20080705121426]
205[Improve error messages from pwd
206Ian Lynagh <[email protected]>**20080704233343]
207[In utils/hsc2hs, add LICENSE and hsc2hs.cabal from the standalone repo
208Ian Lynagh <[email protected]>**20080704222206]
209[Remove fgl from the libraries Makefile
210Ian Lynagh <[email protected]>**20080704221026
211 It's no longer an extralib
212]
213[Tell the bootstrapping Cabal where ghc-pkg is
214Ian Lynagh <[email protected]>**20080704152713]
215[FIX #2398: file locking wasn't thread-safe
216Simon Marlow <[email protected]>**20080704144626]
217[Remove out of date comments and point to the commentary
218Simon Marlow <[email protected]>**20080620135258
219 The wiki commentary is now the official description of recompilation
220 checking.
221 
222 http://hackage.haskell.org/trac/ghc/wiki/Commentary/Compiler/RecompilationAvoidance
223]
224[Remove Cabal modules from compat
225Ian Lynagh <[email protected]>**20080703224633
226 We now get them from the bootstrapping package.conf instead
227]
228[Fix trac #2307: conflicting functional dependencies
229Ian Lynagh <[email protected]>**20080703192540
230 We were accepting some instances that should have been rejected as
231 their fundep constraints were violated. e.g. we accepted
232     class C a b c | b -> c
233     instance C Bool Int Float
234     instance C Char Int Double
235]
236[If we know where alex, haddock and happy are then tell Cabal; fixes trac #2373
237Ian Lynagh <[email protected]>**20080703191031]
238[Don't clean bootstrapping bits when cleaning libraries
239Ian Lynagh <[email protected]>**20080703154647]
240[More libraries/Makefile fixes
241Ian Lynagh <[email protected]>**20080703141016]
242[Shove the GHC path through cygpath -m
243Ian Lynagh <[email protected]>**20080703132614]
244[Tweak the configure script Windows-specific bits
245Ian Lynagh <[email protected]>**20080703132437]
246[Use cygpath -m, rather than fudging it ourselves with sed
247Ian Lynagh <[email protected]>**20080703131725]
248[Fix build on Windows
249Ian Lynagh <[email protected]>**20080703124553]
250[Include ghc.spec in tarballs; patch from, and fixes, trac #2390
251Ian Lynagh <[email protected]>**20080703161457]
252[Add a program for describing unexpected tests in testlog
253Ian Lynagh <[email protected]>**20080703134003
254 This goes through the testlog and spits out any sections that contain
255 "unexpected".
256]
257[Teach cabal-bin how to build Setup programs
258Ian Lynagh <[email protected]>**20080703001300
259 
260 We now build a copy of Cabal and put it in a bootstrapping package.conf.
261 
262 We also make boot in libraries much earlier in the build process, so we
263 can use cabal-bin for more stuff in the future.
264]
265[Wibble cabal-bin's error message
266Ian Lynagh <[email protected]>**20080702155937
267 We don't need to put the program name in it, as that happens automatically
268]
269[Finish documentation of GHC name types
270Max Bolingbroke <[email protected]>**20080708171317]
271[Wibble missing hs-boot files
272Max Bolingbroke <[email protected]>**20080708150605]
273[Untangle Var and Id, start adding Haddock, remove rlast redundant hs-boot files, add Data instance to CoreSyn
274Max Bolingbroke <[email protected]>**20080708150340]
275[Implement phase aliasing
276Max Bolingbroke <[email protected]>**20080707203830]
277[Merge CoreM and PluginM, support adding annotations during compilation, support annotations in TH, check annotation locality better
278Max Bolingbroke <[email protected]>**20080707164645]
279[Comment only
280Max Bolingbroke <[email protected]>**20080704180507]
281[Tidying up
282Max Bolingbroke <[email protected]>**20080704175107]
283[Remove redundant lhs-boot files
284Max Bolingbroke <[email protected]>**20080704172301]
285[Improve annotations API to match internal improvement
286Max Bolingbroke <[email protected]>**20080704165032]
287[Add module-level annotation support
288Max Bolingbroke <[email protected]>**20080704164123]
289[Fixed stage1 warnings and headed off lots of possible bugs in phases
290Max Bolingbroke <[email protected]>**20080704151742]
291[Big plugin refactoring and implement plugin type safety!
292Max Bolingbroke <[email protected]>**20080703233817]
293[Fix problems with vectorisation merge
294Max Bolingbroke <[email protected]>**20080703173355]
295[Major improvements to annotation error messages
296Max Bolingbroke <[email protected]>**20080703173216]
297[Try and merge with vectorization changes
298Max Bolingbroke <[email protected]>**20080703082224]
299[Add type signatures
300Roman Leshchinskiy <[email protected]>**20080703023635]
301[Command-line options for selecting DPH backend
302Roman Leshchinskiy <rl@cse.unsw.edu.au>**20080702022202
303 
304 It's -fdph-seq and -fdph-par at the moment, I'll think of a nicer setup later.
305]
306[Add missing dph package to Makefile
307Roman Leshchinskiy <rl@cse.unsw.edu.au>**20080702022142]
308[Slight refactoring
309Roman Leshchinskiy <rl@cse.unsw.edu.au>**20080701025227]
310[Rename *NDP* -> *DPH*
311Roman Leshchinskiy <rl@cse.unsw.edu.au>**20080701024559]
312[Parametrise vectoriser with DPH package
313Roman Leshchinskiy <rl@cse.unsw.edu.au>**20080701024515]
314[Don't use DPH backend directly in vectoriser
315Roman Leshchinskiy <rl@cse.unsw.edu.au>**20080701021436]
316[Make dph-seq and dph-par wired-in packages
317Roman Leshchinskiy <rl@cse.unsw.edu.au>**20080701020214]
318[FIX #2313 do not include BFD symbols in RTS when the BFD library is not available for linking
319Karel Gardas <karel.gardas@centrum.cz>**20080528093139]
320[Add --slow (and --fast) options to validate
321Ian Lynagh <igloo@earth.li>**20080701175927
322 slow mode is 14% slower than normal. It uses -DDEBUG for the stage 2
323 compiler, and -XGenerics for the stage 2 compiler and the libraries.
324 I believe that most of the slowdown is actually caused by -XGenerics
325 rather than -DDEBUG.
326]
327[Fix Trac #2307: need to nub bad fundep reports
328simonpj@microsoft.com**20080701165830]
329[Easy fix for Trac #2409
330simonpj@microsoft.com**20080701163722
331 
332 Yurgh. See Note [Desugaring seq (3)]
333 
334 
335]
336[Make a "validate --hpc"; shows how much of the compiler the testsuite tests
337Ian Lynagh <igloo@earth.li>**20080701124515
338 Currently it causes a load of ghci-debugger tests to fail and takes
339 63% longer.
340]
341[Allow the exact HPC tix filename to be given in the HPCTIXFILE env var
342Ian Lynagh <igloo@earth.li>**20080701124320]
343[array is now warning-free
344Ian Lynagh <igloo@earth.li>**20080630204126]
345[Several fixes to 'deriving' including Trac #2378
346simonpj@microsoft.com**20080701120908
347 
348 This patch collects several related things together.
349 
350 * Refactor TcDeriv so that the InstInfo and the method bindings are renamed
351   together.  This was messy before, and is cleaner now.  Fixes a bug caused
352   by interaction between the "auxiliary bindings" (which were given
353   Original names before), and stand-alone deriving (which meant that those
354   Original names came from a different module). Now the names are purely
355   local an ordinary.
356 
357   To do this, InstInfo is parameterised like much else HsSyn stuff.
358 
359 * Improve the location info in a dfun, which in turn improves location
360   info for error messages, e.g. overlapping instances
361 
362 * Make sure that newtype-deriving isn't used for Typeable1 and friends.
363   (Typeable was rightly taken care of, but not Typeable1,2, etc.)
364 
365 * Check for data types in deriving Data, so that you can't do, say,
366        deriving instance Data (IO a)
367 
368 * Decorate the derived binding with location info from the *instance*
369   rather than from the *tycon*.  Again, this really only matters with
370   standalone deriving, but it makes a huge difference there.
371 
372 I think that's it.  Quite a few error messages change slightly.
373 
374 If we release 6.8.4, this should go in if possible.
375 
376]
377[Fix phase fingerprinting and recompilation checking
378Max Bolingbroke <batterseapower@hotmail.com>**20080702220517]
379[Phases should be gathered from .hi-boot files
380Max Bolingbroke <batterseapower@hotmail.com>**20080702212724]
381[Rather elegant fix to the use of TH in annotations
382Max Bolingbroke <batterseapower@hotmail.com>**20080702210339]
383[Ensure we initialize the dynamic linker
384Max Bolingbroke <batterseapower@hotmail.com>**20080702203024]
385[Fix stage2
386Max Bolingbroke <batterseapower@hotmail.com>**20080702153427]
387[Fix stage1 and make annotation loading less dodgy
388Max Bolingbroke <batterseapower@hotmail.com>**20080702152745]
389[Checkpoint annotation work again
390Max Bolingbroke <batterseapower@hotmail.com>**20080702105527]
391[Checkpoint work on annotations
392Max Bolingbroke <batterseapower@hotmail.com>**20080701162405]
393[Follow Cabal changes
394Ian Lynagh <igloo@earth.li>**20080629211633]
395[Rename cabal to cabal-bin
396Ian Lynagh <igloo@earth.li>**20080629110003
397 Avoids conflicts with the Cabal library on case-insensitive filesystems
398]
399[mkdirhier.sh now accepts -q, which makes it be quiet
400Ian Lynagh <igloo@earth.li>**20080627233528]
401[Update .darcs-boring
402Ian Lynagh <igloo@earth.li>**20080627181410]
403[Update darcs-boring
404Ian Lynagh <igloo@earth.li>**20080627154142]
405[Update .darcs-boring
406Ian Lynagh <igloo@earth.li>**20080627145633]
407[Follow Cabal changes
408Ian Lynagh <igloo@earth.li>**20080626202749]
409[Absolutify a path
410Ian Lynagh <igloo@earth.li>**20080626181134
411 When building ghc-prim/Setup we weren't putting the hi files in the
412 right place.
413]
414[Remove fgl from extralibs
415Ian Lynagh <igloo@earth.li>**20080626112739]
416[Use a program similar to cabal-install to build the libraries
417Ian Lynagh <igloo@earth.li>**20080626112511
418 This means that we don't have to make a Setup program for each library
419 individually, and also simplifies the build system a bit.
420]
421[Fix Trac #2394: test for non-algebraic types in standalone deriving
422simonpj@microsoft.com**20080625160204]
423[() is now in ghc-prim:GHC.Unit
424Ian Lynagh <igloo@earth.li>**20080624144849]
425[Generate a warning-free GHC.PrimopWrappers. ghc-prim is now -Wall clean.
426Ian Lynagh <igloo@earth.li>**20080624122529]
427[Fix some inconsistencies in the code and docs of primitives
428Ian Lynagh <igloo@earth.li>**20080623223454
429 We were inconsistent about whether to use the name "MutArr#" or
430 "MutableArray#". Likewise ByteArr#/ByteArray# and
431 MutByteArr#/MutableByteArray#.
432]
433[Fix the build with GHC 6.4
434Ian Lynagh <igloo@earth.li>**20080623144426]
435[Trivial LaTeX fixes
436Max Bolingbroke <batterseapower@hotmail.com>**20080627123508]
437[Derive Typeable for some key types
438Max Bolingbroke <batterseapower@hotmail.com>**20080627123449]
439[Update plugin interface and fix phase bug
440Max Bolingbroke <batterseapower@hotmail.com>**20080627123323]
441[Trivial LaTeX fix
442Max Bolingbroke <batterseapower@hotmail.com>**20080623193614]
443[Tidy up location of module forced loading
444Max Bolingbroke <batterseapower@hotmail.com>**20080623182319]
445[Bugfix name indirection in thNameToGhcName
446Max Bolingbroke <batterseapower@hotmail.com>**20080623181626]
447[Put thNameToGhcName into monad
448Max Bolingbroke <batterseapower@hotmail.com>**20080623165155]
449[Don't rebuild things with the stage2 compiler
450Ian Lynagh <igloo@earth.li>**20080622134613
451 It leads to annoying rebuilding when working in a built tree.
452 We'll handle this differently for 6.10.
453]
454[editline is now warning-free
455Ian Lynagh <igloo@earth.li>**20080620212110]
456[Remove special handling for character types of characters >= 128, <= 255
457Ian Lynagh <igloo@earth.li>**20080621171100
458 Many of the character types were wrong. Now the asc* names really do mean
459 ASCII, rather than latin-1.
460]
461[Remove code that isn't used now that we assume that GHC >= 6.4
462Ian Lynagh <igloo@earth.li>**20080620193003]
463[Now that we require GHC >= 6.4.2, System.IO.Error is always available
464Ian Lynagh <igloo@earth.li>**20080620191059]
465[hpc is -Wall clean
466Ian Lynagh <igloo@earth.li>**20080620142058]
467[filepath is now warning-free
468Ian Lynagh <igloo@earth.li>**20080620135652]
469[pretty is now -Wall clean
470Ian Lynagh <igloo@earth.li>**20080620135335]
471[process is now -Wall clean
472Ian Lynagh <igloo@earth.li>**20080620011832]
473[directory is now -Wall clean
474Ian Lynagh <igloo@earth.li>**20080620011335]
475[integer-gmp is warning-free
476Ian Lynagh <igloo@earth.li>**20080619235925]
477[packedstring is now -Wall clean
478Ian Lynagh <igloo@earth.li>**20080619235612]
479[old-time is now warning-free
480Ian Lynagh <igloo@earth.li>**20080619233127]
481[old-locale is now warning-free
482Ian Lynagh <igloo@earth.li>**20080619232152]
483[random is now -Wall clean
484Ian Lynagh <igloo@earth.li>**20080619140211]
485[document some RTS options I added a while ago: -qm, -qw
486Simon Marlow <marlowsd@gmail.com>**20080619121227]
487[Document the change to +RTS -S/-s/-t
488Simon Marlow <marlowsd@gmail.com>**20080619121201]
489[document paralel GC option: +RTS -g
490Simon Marlow <marlowsd@gmail.com>**20080619121111]
491[+RTS -S -RTS now sends output to stderr (also -s)
492Simon Marlow <marlowsd@gmail.com>**20080619113329
493 Previously +RTS -Sstderr -RTS was required to send output to stderr,
494 but this is the most common usage and I got tired of typing "stderr".
495 The old default behaviour of sending output to <prog>.stat is now gone
496 (I don't think we use it anywhere). 
497 
498 Temporarily we allowed +RTS -S- -RTS to mean stderr; there were
499 objections to this, so it is now also gone.
500]
501[bytestring is -Wall clean
502Ian Lynagh <igloo@earth.li>**20080619010702]
503[Cabal is -Wall clean
504Ian Lynagh <igloo@earth.li>**20080619010436]
505[The haskell98 library is -Wall clean
506Ian Lynagh <igloo@earth.li>**20080619010124]
507[template-haskell is now -Wall clean
508Ian Lynagh <igloo@earth.li>**20080619005811]
509[containers is now -Wall clean
510Ian Lynagh <igloo@earth.li>**20080618233651]
511[fix a tiny bug spotted by gcc 4.3
512Simon Marlow <marlowsd@gmail.com>**20080619100904]
513[Fix up inlines for gcc 4.3
514Simon Marlow <marlowsd@gmail.com>**20080619100849
515 gcc 4.3 emits warnings for static inline functions that its heuristics
516 decided not to inline.  The workaround is to either mark appropriate
517 functions as "hot" (a new attribute in gcc 4.3), or sometimes to use
518 "extern inline" instead.
519 
520 With this fix I can validate with gcc 4.3 on Fedora 9.
521]
522[fix warnings with gcc 4.3
523Simon Marlow <marlowsd@gmail.com>**20080618144307]
524[it's time to retire ghcprof & friends
525Simon Marlow <marlowsd@gmail.com>**20080618140228]
526[Make the wired-in packages code handle ndp mapping to ndp-seq or ndp-par
527Ian Lynagh <igloo@earth.li>**20080618162233
528 It's getting a bit crufty - could probably do with a rewrite.
529]
530[Put the infrastructure in place for getting the libraries -Wall clean
531Ian Lynagh <igloo@earth.li>**20080617020145
532 libraries/Makefile.local now lists those for which we need to pass -w
533 (currently this is every library).
534]
535[utils/Digraph doesn't need -fglasgow-exts passed specially
536Ian Lynagh <igloo@earth.li>**20080616225949]
537[More diagnostics, TH integration with phase installation
538Max Bolingbroke <batterseapower@hotmail.com>**20080619182311]
539[Deal with SAT merge, final pipeline simplifier story for now
540Max Bolingbroke <batterseapower@hotmail.com>**20080619095828]
541[Fix DynFlags merge conflict
542Max Bolingbroke <batterseapower@hotmail.com>**20080618174216]
543[Fix Trac #2321: bug in SAT
544simonpj@microsoft.com**20080616201700
545   This is a fairly substantial rewrite of the Static Argument Transformatoin,
546   done by Max Bolingbroke and reviewed and modified by Simon PJ.
547   
548   * Fix a subtle scoping problem; see Note [Binder type capture]
549   * Redo the analysis to use environments
550   * Run gentle simlification just before the transformation
551 
552]
553[define NeedVarargsPrototypes to avoid segfault on x86_64
554Simon Marlow <marlowsd@gmail.com>**20080618132116]
555[Fix an example where we weren't doing case-of-case when we should
556Simon Marlow <marlowsd@gmail.com>**20080617123510
557 That's 1 line of new code and 38 lines of new comments
558]
559[fix gcc warnings for printf formats on 32-bit
560Simon Marlow <marlowsd@gmail.com>**20080618094018]
561[FIX BUILD on Windows
562Simon Marlow <marlowsd@gmail.com>**20080618094700]
563[Sort the mi_deps into a canonical ordering before fingerprinting.
564Simon Marlow <marlowsd@gmail.com>**20080617152117
565 This may help do a little less recompilation with make (GHC's --make
566 is unaffected).
567]
568[Fix another "urk! lookup local fingerprint" in nofib/real/bspt/GeomNum.lhs
569Simon Marlow <marlowsd@gmail.com>**20080617151530]
570[Move pretty printing of core passes and related things to their definition site, make them Outputable
571Max Bolingbroke <batterseapower@hotmail.com>**20080618165323]
572[Removed lots of useless simplifier switch handling code
573Max Bolingbroke <batterseapower@hotmail.com>**20080618164548]
574[Add PluginMonad
575Max Bolingbroke <batterseapower@hotmail.com>**20080618141332]
576[Update documentation to reflect -ddump-phases
577Max Bolingbroke <batterseapower@hotmail.com>**20080618123737]
578[Bugfix to mkName...
579Max Bolingbroke <batterseapower@hotmail.com>**20080618123117]
580[Add -ddump-phases and fix phase base solution bug
581Max Bolingbroke <batterseapower@hotmail.com>**20080618122825]
582[Complete support for PHASES in template haskell
583Max Bolingbroke <batterseapower@hotmail.com>**20080618122642]
584[Handle phase name generation
585Max Bolingbroke <batterseapower@hotmail.com>**20080618093038]
586[Misc. tidying up
587Max Bolingbroke <batterseapower@hotmail.com>**20080618091801]
588[Support phases in template haskell
589Max Bolingbroke <batterseapower@hotmail.com>**20080618091657]
590[Split up active simplifier mode flags
591Max Bolingbroke <batterseapower@hotmail.com>**20080617162155]
592[small interpreter fix
593Simon Marlow <marlowsd@gmail.com>**20080617134651]
594[fix some printf formats for 64 bits
595Simon Marlow <marlowsd@gmail.com>**20080617101102]
596[64-bit fixes
597Simon Marlow <marlowsd@gmail.com>**20080617101045]
598[don't try to parallelise marking GC (yet)
599Simon Marlow <marlowsd@gmail.com>**20080616073111]
600[another stableptr003 fix
601Simon Marlow <marlowsd@gmail.com>**20080609191722]
602[Experimental "mark-region" strategy for the old generation
603Simon Marlow <marlowsd@gmail.com>**20080609174943
604 Sometimes better than the default copying, enabled by +RTS -w
605]
606[threadStackUnderflow: fix up the bd->free pointers in the split blocks
607Simon Marlow <marlowsd@gmail.com>**20080609171617]
608[fix allocated blocks calculation, and add more sanity checks
609Simon Marlow <marlowsd@gmail.com>**20080608073754]
610[Put the contents of Evac.c-inc back in Evac.c, and just compile the file twice
611Simon Marlow <marlowsd@gmail.com>**20080603073119
612 Similarly for Scav.c/Scav.c-inc.
613]
614[+RTS -N also sets +RTS -g
615Simon Marlow <marlowsd@gmail.com>**20080603072701]
616[DECLARE_GCT for when we have no register variable
617Simon Marlow <marlowsd@gmail.com>**20080603072608]
618[comment updates
619Simon Marlow <marlowsd@gmail.com>**20080603072527]
620[fix some types for 64-bit platforms
621Simon Marlow <marlowsd@gmail.com>**20080603032625]
622[+RTS -S- is the same as +RTS -Sstderr
623Simon Marlow <marlowsd@gmail.com>**20080603032557]
624[move the spinlock counts inside +RTS -S
625Simon Marlow <marlowsd@gmail.com>**20080603032534]
626[FIX #2164: check for ThreadRelocated in isAlive()
627Simon Marlow <marlowsd@gmail.com>**20080528063904]
628[FIX the compacting GC again
629Simon Marlow <simonmarhaskell@gmail.com>**20080424205829]
630[FIX #2185: sparks should not be treated as roots by the GC
631Simon Marlow <simonmarhaskell@gmail.com>**20080424205813]
632[turn off the usleep() in the GC thread idle loop (tmp, for portability)
633Simon Marlow <simonmarhaskell@gmail.com>**20080417220221]
634[declare the GC thread register variable more portably
635Simon Marlow <simonmarhaskell@gmail.com>**20080417220157]
636[remove EVACUATED: store the forwarding pointer in the info pointer
637Simon Marlow <simonmarhaskell@gmail.com>**20080417212707]
638[tso->link is now tso->_link  (fix after merge with HEAD)
639Simon Marlow <simonmarhaskell@gmail.com>**20080417180016]
640[Don't look at all the threads before each GC.
641Simon Marlow <simonmarhaskell@gmail.com>**20080416234446
642 We were looking at all the threads for 2 reasons:
643  1. to catch transactions that might be looping as a
644     result of seeing an inconsistent view of memory.
645  2. to catch threads with blocked exceptions that are
646     themselves blocked.
647 For (1) we now check for this case whenever a thread yields, and for
648 (2) we catch these threads in the GC itself and send the exceptions
649 after GC (see performPendingThrowTos).
650]
651[Don't traverse the entire list of threads on every GC (phase 1)
652Simon Marlow <simonmarhaskell@gmail.com>**20080416234420
653 Instead of keeping a single list of all threads, keep one per step
654 and only look at the threads belonging to steps that we are
655 collecting.
656]
657[optimisation for isAlive()
658Simon Marlow <simonmarhaskell@gmail.com>**20080416234349]
659[refactoring
660Simon Marlow <simonmarhaskell@gmail.com>**20080416234324]
661[add [] to foreign calls
662Simon Marlow <simonmarhaskell@gmail.com>**20080416234234]
663[remove GRAN/PAR code
664Simon Marlow <simonmarhaskell@gmail.com>**20080416234135]
665[bugfix for traverseBlackHoleQueue
666Simon Marlow <simonmarhaskell@gmail.com>**20080416234042]
667[Add a write barrier to the TSO link field (#1589)
668Simon Marlow <simonmarhaskell@gmail.com>**20080416233951]
669[fix trace
670Simon Marlow <simonmarhaskell@gmail.com>**20080416233922]
671[tmp: alloc one block at a time
672Simon Marlow <simonmarhaskell@gmail.com>**20080416233830]
673[add debugging code to check for fragmentation
674Simon Marlow <simonmarhaskell@gmail.com>**20080416233058]
675[do a better job of re-using partial blocks in subsequent GCs
676Simon Marlow <simonmarhaskell@gmail.com>**20080416232949]
677[Use the BF_EVACUATED flag to indicate to-space consistently
678Simon Marlow <simonmarhaskell@gmail.com>**20080416232906
679 BF_EVACUATED is now set on all blocks except those that we are
680 copying.  This means we don't need a separate test for gen>N in
681 evacuate(), because in generations older than N, BF_EVACUATED will be
682 set anyway.  The disadvantage is that we have to reset the
683 BF_EVACUATED flag on the blocks of any generation we're collecting
684 before starting GC.  Results in a small speed improvement.
685]
686[rearrange: we were calling markSomeCapabilities too often
687Simon Marlow <simonmarhaskell@gmail.com>**20080416232825]
688[debug output: show mem in use
689Simon Marlow <simonmarhaskell@gmail.com>**20080416232739]
690[make +RTS -G1 work again
691Simon Marlow <simonmarhaskell@gmail.com>**20080416232510]
692[pad step_workspace to 64 bytes, to speed up access to gct->steps[]
693Simon Marlow <simonmarhaskell@gmail.com>**20080416232433]
694[update copyrights in rts/sm
695Simon Marlow <simonmarhaskell@gmail.com>**20080416232355]
696[Reorganisation to fix problems related to the gct register variable
697Simon Marlow <simonmarhaskell@gmail.com>**20080416232232
698   - GCAux.c contains code not compiled with the gct register enabled,
699     it is callable from outside the GC
700   - marking functions are moved to their relevant subsystems, outside
701     the GC
702   - mark_root needs to save the gct register, as it is called from
703     outside the GC
704]
705[faster block allocator, by dividing the free list into buckets
706Simon Marlow <simonmarhaskell@gmail.com>**20080416224541]
707[allocate more blocks in one go, to reduce contention for the block allocator
708Simon Marlow <simonmarhaskell@gmail.com>**20080416223824]
709[measure GC(0/1) times and work imbalance
710Simon Marlow <simonmarhaskell@gmail.com>**20080416222539]
711[remove outdated comment
712Simon Marlow <simonmarhaskell@gmail.com>**20080416222319]
713[calculate and report slop (wasted space at the end of blocks)
714Simon Marlow <simonmarhaskell@gmail.com>**20080416221516]
715[free empty blocks at the end of GC
716Simon Marlow <simonmarhaskell@gmail.com>**20080416221356]
717[move the scan block pointer into the gct structure
718Simon Marlow <simonmarhaskell@gmail.com>**20080416221331]
719[improvements to +RTS -s output
720Simon Marlow <simonmarhaskell@gmail.com>**20080416221224
721 - count and report number of parallel collections
722 - calculate bytes scanned in addition to bytes copied per thread
723 - calculate "work balance factor"
724 - tidy up the formatting a bit
725]
726[wait for threads to start up properly
727Simon Marlow <simonmarhaskell@gmail.com>**20080416221002]
728[debug output tweaks
729Simon Marlow <simonmarhaskell@gmail.com>**20080416220807]
730[Keep track of an accurate count of live words in each step
731Simon Marlow <simonmarhaskell@gmail.com>**20080416220620
732 This means we can calculate slop easily, and also improve
733 predictability of GC.
734]
735[Allow work units smaller than a block to improve load balancing
736Simon Marlow <simonmarhaskell@gmail.com>**20080416220347]
737[in scavenge_block1(), we can use the lock-free recordMutableGen()
738Simon Marlow <simonmarhaskell@gmail.com>**20080416220104]
739[update the debug counters following changes to scav_find_work()
740Simon Marlow <simonmarhaskell@gmail.com>**20080416215945]
741[change the find-work strategy: use oldest-first consistently
742Simon Marlow <simonmarhaskell@gmail.com>**20080416215815]
743[per-thread debug output when using multiple threads, not just major gc
744Simon Marlow <simonmarhaskell@gmail.com>**20080416215741]
745[small debug output improvements
746Simon Marlow <simonmarhaskell@gmail.com>**20080416215649]
747[allow parallel minor collections too
748Simon Marlow <simonmarhaskell@gmail.com>**20080416215503]
749[Specialise evac/scav for single-threaded, not minor, GC
750Simon Marlow <simonmarhaskell@gmail.com>**20080416215405
751 So we can parallelise minor collections too.  Sometimes it's worth it.
752]
753[move usleep(1) to gc_thread_work() from any_work()
754Simon Marlow <simonmarhaskell@gmail.com>**20080416215325]
755[use RTS_VAR()
756Simon Marlow <simonmarhaskell@gmail.com>**20080416215245]
757[treat the global work list as a queue rather than a stack
758Simon Marlow <simonmarhaskell@gmail.com>**20080416215109]
759[GC: move static object processinng into thread-local storage
760Simon Marlow <simonmarhaskell@gmail.com>**20080416214825]
761[tmp: usleep(1) during anyWork() if no work
762Simon Marlow <simonmarhaskell@gmail.com>**20080416214023]
763[anyWork(): count the number of times we don't find any work
764Simon Marlow <simonmarhaskell@gmail.com>**20080416213945]
765[stats fixes
766Simon Marlow <simonmarhaskell@gmail.com>**20080416213532]
767[Add +RTS -vg flag for requesting some GC trace messages, outside DEBUG
768Simon Marlow <simonmarhaskell@gmail.com>**20080416213504
769 DEBUG imposes a significant performance hit in the GC, yet we often
770 want some of the debugging output, so -vg gives us the cheap trace
771 messages without the sanity checking of DEBUG, just like -vs for the
772 scheduler.
773]
774[GC: rearrange storage to reduce memory accesses in the inner loop
775Simon Marlow <simonmarhaskell@gmail.com>**20080416213436]
776[Add profiling of spinlocks
777Simon Marlow <simonmarhaskell@gmail.com>**20080416213358]
778[rename StgSync to SpinLock
779Simon Marlow <simonmarhaskell@gmail.com>**20080416211152]
780[Release some of the memory allocated to a stack when it shrinks (#2090)
781simonmar@microsoft.com**20080228153129
782 When a stack is occupying less than 1/4 of the memory it owns, and is
783 larger than a megablock, we release half of it.  Shrinking is O(1), it
784 doesn't need to copy the stack.
785]
786[scavengeTSO might encounter a ThreadRelocated; cope
787simonmar@microsoft.com**20080228152403]
788[Updating a thunk in raiseAsync might encounter an IND; cope
789simonmar@microsoft.com**20080228152332
790 There was already a check to avoid updating an IND, but it was
791 originally there to avoid a bug which doesn't exist now.  Furthermore
792 the test and update are not atomic, so another thread could be
793 updating this thunk while we are.  We have to just go ahead and update
794 anyway - it might waste a little work, but this is a very rare case.
795]
796[add GC(0) and GC(1) time
797Simon Marlow <simonmar@microsoft.com>**20080222142008]
798[round_to_mblocks: should use StgWord not nat
799Simon Marlow <simonmar@microsoft.com>**20080220130139]
800[debugging code
801Simon Marlow <simonmar@microsoft.com>**20080219102651]
802[refactoring
803simonmar@microsoft.com**20080218135458]
804[fix off-by-one
805simonmar@microsoft.com**20080215134017]
806[measure mut_elapsed_time
807simonmar@microsoft.com**20080215133850]
808[fix build with 6.8
809simonmar@microsoft.com**20080215133836]
810[add ROUNDUP_BYTES_TO_WDS
811simonmar@microsoft.com**20080215133040]
812[Allow +RTS -H0 as a way to override a previous -H<size>
813simonmar@microsoft.com**20080131153645]
814[comment out a bogus assertion
815simonmar@microsoft.com**20080130150934]
816[memInventory: optionally dump the memory inventory
817simonmar@microsoft.com**20080130150921
818 in addition to checking for leaks
819]
820[calcNeeded: fix the calculation, we weren't counting G0 step 1
821simonmar@microsoft.com**20080130150730]
822[calcNeeded: add in the large blocks too
823simonmar@microsoft.com**20080130135418]
824[update a comment
825Simon Marlow <simonmar@microsoft.com>**20080130101504]
826[tell Emacs these files are C
827simonmar@microsoft.com**20080130100047]
828[fix an assertion
829Simon Marlow <simonmar@microsoft.com>**20080118160910]
830[cut-and-pasto
831Simon Marlow <simonmar@microsoft.com>**20080116103751]
832[small rearrangement
833simonmar@microsoft.com**20080115095736]
834[recordMutableGen_GC: we must call the spinlocked version of allocBlock()
835Simon Marlow <simonmar@microsoft.com>**20080111135453]
836[remove unused declaration
837simonmar@microsoft.com**20080111105821]
838[more fixes for THUNK_SELECTORs
839Simon Marlow <simonmar@microsoft.com>**20080110122820]
840[Fix bug in eval_thunk_selector()
841simonmar@microsoft.com**20080110105628]
842[move markSparkQueue into GC.c, as it needs the register variable defined
843Simon Marlow <simonmar@microsoft.com>**20080109162828]
844[Windows fix
845Simon Marlow <simonmar@microsoft.com>**20080109162732]
846[Fix bug: eval_thunk_selector was calling the unlocked evacuate()
847Simon Marlow <simonmar@microsoft.com>**20080109144937]
848[add GC elapsed time
849simonmar@microsoft.com**20080107134838]
850[update to match Mb -> MB change in -s output
851simonmar@microsoft.com**20071220145855]
852[use "MB" rather than "Mb" for abbreviating megabytes
853simonmar@microsoft.com**20071218145135]
854[findSlop: useful function for tracking down excessive slop in gdb
855simonmar@microsoft.com**20071214135909]
856[calculate wastage due to unused memory at the end of each block
857simonmar@microsoft.com**20071214135842]
858[bugfix: check for NULL before testing isPartiallyFull(stp->blocks)
859simonmar@microsoft.com**20071214103223]
860[have each GC thread call GetRoots()
861simonmar@microsoft.com**20071213165013
862 
863]
864[use synchronised version of freeChain() in scavenge_mutable_list()
865simonmar@microsoft.com**20071213164525]
866[remove declarations for variables that no longer exist
867simonmar@microsoft.com**20071213150946]
868[remove old comment
869simonmar@microsoft.com**20071212163329]
870[GC: small improvement to parallelism
871simonmar@microsoft.com**20071129154927
872 don't cache a work block locally if the global queue is empty
873]
874[EVACUATED: target is definitely HEAP_ALLOCED(), no need to check
875simonmar@microsoft.com**20071129120021]
876[in scavenge_block(), keep going if we're scanning the todo block
877simonmar@microsoft.com**20071127160747]
878[count the number of todo blocks, and add a trace
879simonmar@microsoft.com**20071127160717]
880[oops, restore accidentally disabled hash-consing for Char
881simonmar@microsoft.com**20071123162522]
882[kill the PAR/GRAN debug flags
883simonmar@microsoft.com**20071122122327]
884[stats: print elapsed time for GC in each generation
885simonmar@microsoft.com**20071122105024]
886[assertion fix
887simonmar@microsoft.com**20071121164736]
888[cache bd->todo_bd->free and the limit in the workspace
889Simon Marlow <simonmar@microsoft.com>**20071121155851
890 avoids cache contention: bd->todo_bd->free may clash with any cache
891 line, so we localise it.
892]
893[warning fix
894simonmar@microsoft.com**20071121164747]
895[fix boundary bugs in a couple of for-loops
896simonmar@microsoft.com**20071120133835]
897[improvements to PAPI support
898simonmar@microsoft.com**20071120133635
899 - major (multithreaded) GC is measured separately from minor GC
900 - events to measure can now be specified on the command line, e.g
901      prog +RTS -a+PAPI_TOT_CYC
902 
903]
904[use SRC_CC_OPTS rather than SRC_HC_OPTS for C options
905simonmar@microsoft.com**20071119111630]
906[allow PAPI to be installed somewhere non-standard
907Simon Marlow <simonmar@microsoft.com>**20071101150325]
908[fix warnings
909Simon Marlow <simonmar@microsoft.com>**20071101150258]
910[fix a warning
911Simon Marlow <simonmar@microsoft.com>**20071101150228]
912[fix a warning
913Simon Marlow <simonmar@microsoft.com>**20071101150200]
914[rename n_threads to n_gc_threads
915Simon Marlow <simonmar@microsoft.com>**20071031163147]
916[Refactor PAPI support, and add profiling of multithreaded GC
917Simon Marlow <simonmar@microsoft.com>**20071031163015]
918[fix merge errors
919Simon Marlow <simonmar@microsoft.com>**20071031153839]
920[refactoring of eager_promotion in scavenge_block()
921Simon Marlow <simonmar@microsoft.com>**20071031153417]
922[compile special minor GC versions of evacuate() and scavenge_block()
923Simon Marlow <simonmar@microsoft.com>**20071031153339
924 
925 This is for two reasons: minor GCs don't need to do per-object locking
926 for parallel GC, which is fairly expensive, and secondly minor GCs
927 don't need to follow SRTs.
928]
929[fixes for eval_thunk_selector() in parallel GC
930Simon Marlow <simonmar@microsoft.com>**20071031153252]
931[Remove the optimisation of avoiding scavenging for certain objects
932Simon Marlow <simonmar@microsoft.com>**20071031144542
933 
934 Some objects don't need to be scavenged, in particular if they have no
935 pointers.  This seems like an obvious optimisation, but in fact it
936 only accounts for about 1% of objects (in GHC, for example), and the
937 extra complication means it probably isn't worth doing.
938]
939[GC refactoring: change evac_gen to evac_step
940Simon Marlow <simonmar@microsoft.com>**20071031144230
941 
942 By establishing an ordering on step pointers, we can simplify the test
943   (stp->gen_no < evac_gen)
944 to
945   (stp < evac_step)
946 which is common in evacuate().
947]
948[GC refactoring: make evacuate() take an StgClosure**
949Simon Marlow <simonmar@microsoft.com>**20071031143634
950 
951 Change the type of evacuate() from
952   StgClosure *evacuate(StgClosure *);
953 to
954   void evacuate(StgClosure **);
955 
956 So evacuate() itself writes the source pointer, rather than the
957 caller.  This is slightly cleaner, and avoids a few memory writes:
958 sometimes evacuate() doesn't move the object, and in these cases the
959 source pointer doesn't need to be written.  It doesn't have a
960 measurable impact on performance, though.
961]
962[tiny optimisation in evacuate()
963Simon Marlow <simonmar@microsoft.com>**20071031130935]
964[Initial parallel GC support
965Simon Marlow <simonmar@microsoft.com>**20071031130718
966 
967 eg. use +RTS -g2 -RTS for 2 threads.  Only major GCs are parallelised,
968 minor GCs are still sequential. Don't use more threads than you
969 have CPUs.
970 
971 It works most of the time, although you won't see much speedup yet.
972 Tuning and more work on stability still required.
973]
974[Refactoring of the GC in preparation for parallel GC
975Simon Marlow <simonmar@microsoft.com>**20071031125136
976   
977 This patch localises the state of the GC into a gc_thread structure,
978 and reorganises the inner loop of the GC to scavenge one block at a
979 time from global work lists in each "step".  The gc_thread structure
980 has a "workspace" for each step, in which it collects evacuated
981 objects until it has a full block to push out to the step's global
982 list.  Details of the algorithm will be on the wiki in due course.
983 
984 At the moment, THREADED_RTS does not compile, but the single-threaded
985 GC works (and is 10-20% slower than before).
986]
987[also count total dispatch stalls in +RTS -as
988Simon Marlow <simonmar@microsoft.com>**20071030144509]
989[move GetRoots() to GC.c
990Simon Marlow <simonmar@microsoft.com>**20071030130052]
991[Tweak a comment to talk about UnboxedTuples rather than -fglasgow-exts
992Ian Lynagh <igloo@earth.li>**20080616225248]
993[Suggest -XRelaxedPolyRec rather than -fglasgow-exts in an error message
994Ian Lynagh <igloo@earth.li>**20080616213438]
995[Fix the splitter with perl 5.10; patch from Audrey Tang
996Ian Lynagh <igloo@earth.li>**20080611122837]
997[Remove some build system code that can't happen
998Ian Lynagh <igloo@earth.li>**20080616181425
999 ghc_ge_601 is no longer defined
1000]
1001[Back out phase group filtering as it is bogus
1002Max Bolingbroke <batterseapower@hotmail.com>**20080617154949]
1003[Continue trying to get simplifier to work correctly
1004Max Bolingbroke <batterseapower@hotmail.com>**20080617154827]
1005[First attempt at integrating simplifier into phase system, TH, GHCi module, pretty printing PhaseD bug fixes, Unique generation tweak
1006Max Bolingbroke <batterseapower@hotmail.com>**20080617135520]
1007[Third attempt at fixing merge
1008Max Bolingbroke <batterseapower@hotmail.com>**20080616170007]
1009[Try and fix merge again
1010Max Bolingbroke <batterseapower@hotmail.com>**20080616165723]
1011[Try and fix DynFlags merge??
1012Max Bolingbroke <batterseapower@hotmail.com>**20080616165247]
1013[Fix Trac #2358: 1-tuples in Template Haskell
1014simonpj@microsoft.com**20080614123939
1015 
1016 fons points out that TH was treating 1-tuples inconsistently.  Generally
1017 we make a 1-tuple into a no-op, so that (e) and e are the same.  But
1018 I'd forgotten to do this for types.
1019 
1020 It is possible to have a type with an un-saturated 1-tuple type
1021 constructor. That now elicits an error message when converting from
1022 TH syntax to Hs syntax
1023 
1024]
1025[Fix nasty Simplifier scoping bug
1026simonpj@microsoft.com**20080614023937
1027 
1028 This bug was somehow tickled by the new code for desugaring
1029 polymorphic bindings, but the bug has been there a long time.  The
1030 bindings floated out in simplLazyBind, generated by abstractFloats,
1031 were getting processed by postInlineUnconditionally. But that was
1032 wrong because part of their scope has already been processed.
1033 
1034 That led to a bit of refactoring in the simplifier.  See comments
1035 with Simplify.addPolyBind.
1036 
1037 In principle this might happen in 6.8.3, but in practice it doesn't seem
1038 to, so probably not worth merging.
1039 
1040]
1041[CoreLint should check for out-of-scope worker
1042simonpj@microsoft.com**20080614023809]
1043[More commandline flag improvements
1044Ian Lynagh <igloo@earth.li>**20080616142917
1045 * Allow -ffoo flags to be deprecated
1046 * Mark some -ffoo flags as deprecated
1047 * Avoid using deprecated flags in error messages, in the build system, etc
1048 * Add a flag to en/disable the deprecated flag warning
1049]
1050[Remove an ifdef
1051Ian Lynagh <igloo@earth.li>**20080616111114]
1052[Add ghc_ge_609
1053Ian Lynagh <igloo@earth.li>**20080615134636]
1054[Remove an ifdef
1055Ian Lynagh <igloo@earth.li>**20080615133743]
1056[Don't compile Cabal with -cpp -fffi
1057Ian Lynagh <igloo@earth.li>**20080615010826
1058 Instead rely on the sources having suitable pragmas
1059]
1060[Remove a typo
1061Ian Lynagh <igloo@earth.li>**20080615005956]
1062[Allow -X flags to be deprecated, and deprecate RecordPuns; fixes #2320
1063Ian Lynagh <igloo@earth.li>**20080615000041]
1064[Fixed cycle reporting, added comments
1065Max Bolingbroke <batterseapower@hotmail.com>**20080616154749]
1066[Missing type signature in Unique.lhs
1067Max Bolingbroke <batterseapower@hotmail.com>**20080616133641]
1068[Fancied up Plugins interface
1069Max Bolingbroke <batterseapower@hotmail.com>**20080616133631]
1070[Fix handling of phases in boot files
1071Max Bolingbroke <batterseapower@hotmail.com>**20080616132624]
1072[Fix compiler errors, tweak PHASES in .hi-boot and panic on use of TH with PHASEs (bogus?)
1073Max Bolingbroke <batterseapower@hotmail.com>**20080616131051]
1074[Improve PhaseBase solving in the presence of lenient constraintns
1075Max Bolingbroke <batterseapower@hotmail.com>**20080616124848]
1076[Change from mkPreludeMiscIdUnique to mkPreludePhaseIdUnique
1077Max Bolingbroke <batterseapower@hotmail.com>**20080616121152]
1078[Document flag changes
1079Max Bolingbroke <batterseapower@hotmail.com>**20080616121132]
1080[Refactor pipeline construction and fix stage2
1081Max Bolingbroke <batterseapower@hotmail.com>**20080616110832]
1082[Made it less onerous to specify phases
1083Max Bolingbroke <batterseapower@hotmail.com>**20080616101555]
1084[Rationalize treatment of phase names
1085Max Bolingbroke <batterseapower@hotmail.com>**20080616093250]
1086[Add -ddump-core-pipeline
1087Max Bolingbroke <batterseapower@hotmail.com>**20080615222812]
1088[Record activation free variables
1089Max Bolingbroke <batterseapower@hotmail.com>**20080615215638]
1090[Have simplifier and rules checker use new activation tests
1091Max Bolingbroke <batterseapower@hotmail.com>**20080615201354]
1092[Wibble in SimplCore
1093Max Bolingbroke <batterseapower@hotmail.com>**20080615190001]
1094[Cleanup SimplCore further
1095Max Bolingbroke <batterseapower@hotmail.com>**20080615185852]
1096[Reduced SimplCore plumbing with a new monad
1097Max Bolingbroke <batterseapower@hotmail.com>**20080615184137]
1098[Make RuleEnv a proper data type and use Phases for ordering compiler passes
1099Max Bolingbroke <batterseapower@hotmail.com>**20080615165724]
1100[Wire in more phases, first stage of core pipeline refactoring by changing Activation
1101Max Bolingbroke <batterseapower@hotmail.com>**20080615161553]
1102[Merge DynFlags to cope with whitespace changes
1103Max Bolingbroke <batterseapower@hotmail.com>**20080615104433]
1104[Fix a warning in DsForeign
1105Ian Lynagh <igloo@earth.li>**20080614215346]
1106[Fix warnings in Linker
1107Ian Lynagh <igloo@earth.li>**20080614212627]
1108[Use the right set of linkables in unload_wkr
1109Ian Lynagh <igloo@earth.li>**20080614211539]
1110[Use bracket_ rather than bracket in withExtendedLinkEnv
1111Ian Lynagh <igloo@earth.li>**20080614211414]
1112[Remove more ifdeffery
1113Ian Lynagh <igloo@earth.li>**20080614205131]
1114[Remove more ifdeffery
1115Ian Lynagh <igloo@earth.li>**20080614204234]
1116[Remove more ifdeffery
1117Ian Lynagh <igloo@earth.li>**20080614203215]
1118[Remove some ifdeffery
1119Ian Lynagh <igloo@earth.li>**20080614202640]
1120[Fix some warnings in ParsePkgConf
1121Ian Lynagh <igloo@earth.li>**20080614201558]
1122[Fix warnings in DsForeign
1123Ian Lynagh <igloo@earth.li>**20080614200820]
1124[Fix warnings in PprCore
1125Ian Lynagh <igloo@earth.li>**20080614195611]
1126[Fix warnings in Main
1127Ian Lynagh <igloo@earth.li>**20080614194120]
1128[Set -Wall in compiler/Makefile.ghcbin
1129Ian Lynagh <igloo@earth.li>**20080614193536]
1130[Use maybePrefixMatch in StaticFlags rather than redefining it ourselves
1131Ian Lynagh <igloo@earth.li>**20080614190505]
1132[Use -fforce-recomp rather than -no-recomp
1133Ian Lynagh <igloo@earth.li>**20080614181740]
1134[Tweak the deprecated flags warning
1135Ian Lynagh <igloo@earth.li>**20080614174850]
1136[Use -O0 rather than -Onot in compiler/Makefile
1137Ian Lynagh <igloo@earth.li>**20080614171256]
1138[Don't use -recomp whem compiling GHC, as it's the default (and now deprecated)
1139Ian Lynagh <igloo@earth.li>**20080614165649]
1140[Use -fforce-recomp rather than -no-recomp when building genapply
1141Ian Lynagh <igloo@earth.li>**20080614161927]
1142[Get -recomp and -no-recomp the right way round
1143Ian Lynagh <igloo@earth.li>**20080614161851]
1144[Fix conversions between Double/Float and simple-integer
1145Ian Lynagh <igloo@earth.li>**20080614152337]
1146[Use unified diff
1147Ian Lynagh <igloo@earth.li>**20080603172947]
1148[Use -O0 rather than the deprecated -Onot
1149Ian Lynagh <igloo@earth.li>**20080614152131]
1150[Handle errors in an OPTIONS pragma when preprocessing
1151Ian Lynagh <igloo@earth.li>**20080614145840]
1152[Allow flags to be marked as deprecated
1153Ian Lynagh <igloo@earth.li>**20080614144829]
1154[eta-reduce a Monad type synonym, so we can use it non-applied
1155Ian Lynagh <igloo@earth.li>**20080614142056]
1156[Use a proper datatype, rather than pairs, for flags
1157Ian Lynagh <igloo@earth.li>**20080614133848]
1158[Fix warnings in DriverMkDepend
1159Ian Lynagh <igloo@earth.li>**20080614133224]
1160[Fix whitespace in DriverMkDepend
1161Ian Lynagh <igloo@earth.li>**20080614132914]
1162[Fix the last warnings in DynFlags
1163Ian Lynagh <igloo@earth.li>**20080614125033
1164 We might want to put the values initSysTools finds in their own type,
1165 rather than having them flattened into DynFlags
1166]
1167[Pass dynflags down to loadPackageConfig rather than using defaultDynFlags
1168Ian Lynagh <igloo@earth.li>**20080614123427]
1169[Make initSysTools use the dflags it is passed, rather than defaultDynFlags
1170Ian Lynagh <igloo@earth.li>**20080614122834]
1171[Remove some unused bindings from HaddockLex
1172Ian Lynagh <igloo@earth.li>**20080614122057]
1173[Pass dynflags down through to pragState
1174Ian Lynagh <igloo@earth.li>**20080614121156
1175 so we no longer need to use defaultDynFlags there
1176]
1177[Whitespace only in DynFlags
1178Ian Lynagh <igloo@earth.li>**20080614120316]
1179[Define and use is_decdigit for lexing escapes; fixes trac #2304
1180Ian Lynagh <igloo@earth.li>**20080613203553]
1181[Make SysTools warning-free
1182Ian Lynagh <igloo@earth.li>**20080612141738]
1183[Remove some CPPery with the help of a new value isWindowsHost in Util
1184Ian Lynagh <igloo@earth.li>**20080612002711
1185 isWindowsHost is True iff mingw32_HOST_OS is defined.
1186]
1187[Remove unused FFI import GetTempPathA (getTempPath)
1188Ian Lynagh <igloo@earth.li>**20080612001936]
1189[Whitespace only, in SysTools
1190Ian Lynagh <igloo@earth.li>**20080611233129]
1191[Get rid of the last remnants of PROJECT_DIR
1192Ian Lynagh <igloo@earth.li>**20080611230433
1193 This disappeared when we stopped being "fptools" and became just "ghc"
1194]
1195[Tell the testsuite how many threads we want it to use when validating
1196Ian Lynagh <igloo@earth.li>**20080611155456]
1197[Fix warnings in LexCore
1198Ian Lynagh <igloo@earth.li>**20080610125317]
1199[Fix warnings in Ctype
1200Ian Lynagh <igloo@earth.li>**20080610124223]
1201[Fix warnings in TcPat
1202Ian Lynagh <igloo@earth.li>**20080610123343]
1203[Fix warnings in TcEnv
1204Ian Lynagh <igloo@earth.li>**20080610121819]
1205[Fix warnings in TcRnTypes
1206Ian Lynagh <igloo@earth.li>**20080606234704]
1207[New cycle reporting, move wired in PHASEs to GHC.Base and have them imported into every program via the EPT
1208Max Bolingbroke <batterseapower@hotmail.com>**20080614132158]
1209[Fix CgUtils for changes to DiGraph
1210Max Bolingbroke <batterseapower@hotmail.com>**20080614123434]
1211[Clean up Digraph and some of its users
1212Max Bolingbroke <batterseapower@hotmail.com>**20080614122847]
1213[Added wired in numeric phases, pcollection of phases from imported modules, phase constraint resolution
1214Max Bolingbroke <batterseapower@hotmail.com>**20080614002641]
1215[Only initialize dynamic linker if necessary
1216Max Bolingbroke <batterseapower@hotmail.com>**20080613191945]
1217[Finish off phase import / export
1218Max Bolingbroke <batterseapower@hotmail.com>**20080613191457]
1219[Plugins bugfixes to stage1 build only
1220Max Bolingbroke <batterseapower@hotmail.com>**20080613115739]
1221[Allow PHASEs to be declared, imported and exported
1222Max Bolingbroke <batterseapower@hotmail.com>**20080613114934]
1223[Fix build with dynamically loaded core passes
1224Max Bolingbroke <batterseapower@hotmail.com>**20080612211654]
1225[Give GHC the ability to run simple plugins and ththeir core passes
1226Max Bolingbroke <batterseapower@hotmail.com>**20080612164052]
1227[Fix warnings in TcTyClsDecls
1228Ian Lynagh <igloo@earth.li>**20080606213239]
1229[Fix warnings in TcHsType
1230Ian Lynagh <igloo@earth.li>**20080606204854]
1231[Fix warnings in TcSimplify
1232Ian Lynagh <igloo@earth.li>**20080606202435]
1233[Fix warnings in TcRules
1234Ian Lynagh <igloo@earth.li>**20080606200800]
1235[Fix warnings in TcInstDcls
1236Ian Lynagh <igloo@earth.li>**20080606200534]
1237[Fix warnings in TcMType
1238Ian Lynagh <igloo@earth.li>**20080606194931]
1239[Fix warnings in TcForeign
1240Ian Lynagh <igloo@earth.li>**20080606192610]
1241[Fix warnings in TcClassDcl
1242Ian Lynagh <igloo@earth.li>**20080606191413]
1243[Fix a bug in eqPatType
1244Ian Lynagh <igloo@earth.li>**20080606184631
1245 One of the conditions we were checking was
1246     t2 `eqPatLType` t2
1247 rather than
1248     t1 `eqPatLType` t2
1249]
1250[Show whether DEBUG is on in ghc --info
1251Ian Lynagh <igloo@earth.li>**20080606184415]
1252[Use -fno-toplevel-reorder with gcc >= 4.2 on sparc-solaris; fixes trac #2312
1253Ian Lynagh <igloo@earth.li>**20080606133817]
1254[Teach configure about amd64/NetBSD; fixes trac #2348
1255Ian Lynagh <igloo@earth.li>**20080606130955]
1256[Enable the mangler for netbsd/amd64; fixes trac #2347
1257Ian Lynagh <igloo@earth.li>**20080606130706]
1258[Improve documentation for standalone deriving
1259simonpj@microsoft.com**20080606122459]
1260[Fix Trac #2334: validity checking for type families
1261simonpj@microsoft.com**20080606121730
1262 
1263 When we deal with a family-instance declaration (TcTyClsDecls.tcFamInstDecl)
1264 we must check the TyCon for validity; for example, that a newtype has exactly
1265 one field.  That is done all-at-once for normal declarations, and had been
1266 forgotten altogether for families.
1267 
1268 I also refactored the interface to tcFamInstDecl1 slightly.
1269 
1270 
1271 A slightly separate matter: if there's an error in family instances
1272 (e.g. overlap) we get a confusing error message cascade if we attempt to
1273 deal with 'deriving' clauses too; this patch bales out earlier in that case.
1274 
1275 
1276 Another slightly separate matter: standalone deriving for family
1277 instances can legitimately have more specific types, just like normal
1278 data decls. For example
1279   
1280    data instance F [a] = ...
1281    deriving instance (Eq a, Eq b) => Eq (F [(a,b)])
1282 
1283 So tcLookupFamInstExact can a bit more forgiving than it was.
1284 
1285 
1286]
1287[Vital follow-up to fix of Trac #2045
1288simonpj@microsoft.com**20080605165434
1289 
1290 Sorry -- my 'validate' didn't work right and I missed a trick.
1291 This patch must accompany
1292 
1293  * Fix Trac #2045: use big-tuple machiney for implication constraints
1294 
1295 
1296]
1297[Fix Trac #2045: use big-tuple machiney for implication constraints
1298simonpj@microsoft.com**20080605145617]
1299[Comments only
1300simonpj@microsoft.com**20080605134743]
1301[Desugar multiple polymorphic bindings more intelligently
1302simonpj@microsoft.com**20080605124423
1303 
1304 Occasionally people write very large recursive groups of definitions.
1305 In general we desugar these to a single definition that binds tuple,
1306 plus lots of tuple selectors.  But that code has quadratic size, which
1307 can be bad.
1308 
1309 This patch adds a new case to the desugaring of bindings, for the
1310 situation where there are lots of polymorphic variables, but no
1311 dictionaries.  (Dictionaries force us into the general case.)
1312 
1313 See Note [Abstracting over tyvars only]. 
1314 
1315 The extra behaviour can be disabled with the (static) flag
1316 
1317        -fno-ds-multi-tyvar
1318 
1319 in case we want to experiment with switching it on or off.  There is
1320 essentially-zero effect on the nofib suite though.
1321 
1322 I was provoked into doing this by Trac #1136.  In fact I'm not sure
1323 it's the real cause of the problem there, but it's a good idea anyway.
1324 
1325]
1326[Add non-recursive let-bindings for types
1327simonpj@microsoft.com**20080605123612
1328 
1329 This patch adds to Core the ability to say
1330        let a = Int in <body>
1331 where 'a' is a type variable.  That is: a type-let.
1332 See Note [Type let] in CoreSyn.
1333 
1334 * The binding is always non-recursive
1335 * The simplifier immediately eliminates it by substitution
1336 
1337 So in effect a type-let is just a delayed substitution.  This is convenient
1338 in a couple of places in the desugarer, one existing (see the call to
1339 CoreTyn.mkTyBind in DsUtils), and one that's in the next upcoming patch.
1340 
1341 The first use in the desugarer was previously encoded as
1342        (/\a. <body>) Int
1343 rather that eagerly substituting, but that was horrid because Core Lint
1344 had do "know" that a=Int inside <body> else it would bleat.  Expressing
1345 it directly as a 'let' seems much nicer.
1346 
1347 
1348]
1349[Fix Trac #2339: reify (mkName "X")
1350simonpj@microsoft.com**20080604150207]
1351[Fix Trac #2310: result type signatures are not supported any more
1352simonpj@microsoft.com**20080604145115
1353 
1354 We have not supported "result type signatures" for some time, but
1355 using one in the wrong way caused a crash.  This patch tidies it up.
1356 
1357]
1358[Sort modules and packages in debug print (reduce test wobbles)
1359simonpj@microsoft.com**20080604144049
1360 
1361 This affects only the debug print TcRnDriver.pprTcGblEnv, and eliminates
1362 test-suite wobbling (affected me for tc168, tc231)
1363 
1364]
1365[Fix #2334: tyvar binders can have Names inside (equality predicates)
1366Simon Marlow <marlowsd@gmail.com>**20080604113002]
1367[fix pointer tagging bug in removeIndirections (fixes stableptr003)
1368Simon Marlow <marlowsd@gmail.com>**20080604105458]
1369[Fix unreg build
1370Simon Marlow <marlowsd@gmail.com>**20080604093653]
1371[tiny tweak to the stack squeezing heuristic (fixes cg060)
1372Simon Marlow <marlowsd@gmail.com>**20080604091244]
1373[MacOS installer: don't quote XCODE_EXTRA_CONFIGURE_ARGS
1374Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080604021321]
1375[MacOS installer: terminate build on intermediate failure
1376Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080604020155]
1377[Fix Trac #2331 (error message suggestion)
1378simonpj@microsoft.com**20080603134645]
1379[Improve documentation of RULES
1380simonpj@microsoft.com**20080530155137]
1381[Improve documentation for INLINE pragma
1382simonpj@microsoft.com**20080530133307]
1383[add debugDumpTcRn and use it for some debugging output
1384Simon Marlow <marlowsd@gmail.com>**20080603112030]
1385[Turn "NOTE: Simplifier still going..." message into a WARN()
1386Simon Marlow <marlowsd@gmail.com>**20080603105431]
1387[remove the "expanding to size" messages
1388Simon Marlow <marlowsd@gmail.com>**20080603094546]
1389[New flag: -dno-debug-output
1390Simon Marlow <marlowsd@gmail.com>**20080603082924
1391 From the docs:
1392    <para>Suppress any unsolicited debugging output.  When GHC
1393      has been built with the <literal>DEBUG</literal> option it
1394      occasionally emits debug output of interest to developers.
1395      The extra output can confuse the testing framework and
1396      cause bogus test failures, so this flag is provided to
1397      turn it off.</para>
1398]
1399[-no-link-chk has been a no-op since at least 6.0; remove it
1400Simon Marlow <marlowsd@gmail.com>**20080603082041]
1401[-no-link-chk is a relic
1402Simon Marlow <marlowsd@gmail.com>**20080603081904]
1403[Shorten debug messages
1404simonpj@microsoft.com**20080603121208]
1405[Fix minor layout issue (whitespace only)
1406simonpj@microsoft.com**20080602130611]
1407[MacOS installer: clean up Xcode project spec
1408Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080602070705]
1409[Fix validate: -Werror bug in patch "Replacing copyins and copyouts..."
1410Simon Marlow <marlowsd@gmail.com>**20080602144945]
1411[FIX #2231: add missing stack check when applying a PAP
1412Simon Marlow <marlowsd@gmail.com>**20080602143726
1413 This program makes a PAP with 203 arguments :-)
1414]
1415[-fforce-recomp should be unnecessary for Main.hs in stage[23] now
1416Simon Marlow <marlowsd@gmail.com>**20080602133801]
1417[Missing import in C-- parser
1418dias@eecs.harvard.edu**20080602103156]
1419[TAG 2008-06-01
1420Ian Lynagh <igloo@earth.li>**20080601155241]
1421Patch bundle hash:
1422467fa1ee49b30339b725df91ec27d4e74007fd95