Ticket #1966: fix1966

File fix1966, 104.2 KB (added by dfranke, 5 years ago)

Fix #1966 plus HsDecls?.lhs warning cleanup

Line 
1
2New patches:
3
4[FIX #1966 (Incorrect Outputable instance for InstDecl)
5df@dfranke.us**20071210014800] {
6hunk ./compiler/hsSyn/HsDecls.lhs 753
7-
8hunk ./compiler/hsSyn/HsDecls.lhs 754
9-      = vcat [hsep [ptext SLIT("instance"), ppr inst_ty, ptext SLIT("where")],
10-             nest 4 (ppr ats),
11-             nest 4 (ppr uprags),
12-             nest 4 (pprLHsBinds binds) ]
13+      = vcat ([hsep [ptext SLIT("instance"), ppr inst_ty, ptext SLIT("where")]] ++
14+             [nest 4 (ppr at) | at <- ats] ++
15+             [nest 4 (ppr uprag) | uprag <- uprags] ++
16+             [nest 4 (pprLHsBinds binds)])
17}
18
19[Warning cleanup for compiler/hsSyn/HsDecls.lhs
20df@dfranke.us**20071210014919] {
21hunk ./compiler/hsSyn/HsDecls.lhs 12
22-{-# OPTIONS -w #-}
23--- The above warning supression flag is a temporary kludge.
24--- While working on this module you are encouraged to remove it and fix
25--- any warnings in the module. See
26---     http://hackage.haskell.org/trac/ghc/wiki/Commentary/CodingStyle#Warnings
27--- for details
28-
29hunk ./compiler/hsSyn/HsDecls.lhs 468
30-isClassDecl other         = False
31+isClassDecl _             = False
32hunk ./compiler/hsSyn/HsDecls.lhs 504
33+tyClDeclTyVars :: TyClDecl t -> [LHsTyVarBndr t]
34hunk ./compiler/hsSyn/HsDecls.lhs 601
35+pp_condecls :: (OutputableBndr t) => [LConDecl t] -> SDoc
36hunk ./compiler/hsSyn/HsDecls.lhs 607
37-pp_tydecl True pp_head pp_decl_rhs derivings
38+pp_tydecl :: (Outputable a) => Bool -> SDoc -> SDoc -> Maybe [a] -> SDoc
39+pp_tydecl True pp_head _ _
40hunk ./compiler/hsSyn/HsDecls.lhs 723
41+pprConDecl (ConDecl _ _ _ _ (InfixCon _ _) (ResTyGADT _) _) =
42+    panic "I don't know the concrete syntax for an infix GADT constructor."
43+
44+ppr_fields :: (OutputableBndr t) => [ConDeclField t] -> SDoc
45hunk ./compiler/hsSyn/HsDecls.lhs 888
46-      pprCEntity header lib (CLabel lbl) =
47+      pprCEntity _ _ (CLabel lbl) =
48hunk ./compiler/hsSyn/HsDecls.lhs 894
49-      pprCEntity header lib (CFunction (DynamicTarget)) =
50+      pprCEntity _ _ (CFunction (DynamicTarget)) =
51hunk ./compiler/hsSyn/HsDecls.lhs 939
52-  ppr (HsRule name act ns lhs fv_lhs rhs fv_rhs)
53+  ppr (HsRule name act ns lhs _ rhs _)
54hunk ./compiler/hsSyn/HsDecls.lhs 972
55+docDeclDoc :: DocDecl t -> HsDoc t
56}
57
58Context:
59
60[Tweak installation so it works with Solaris's sh
61Ian Lynagh <igloo@earth.li>**20071209140724]
62[Refactor gen_contents_index
63Ian Lynagh <igloo@earth.li>**20071207183538
64 Also fixes it with Solaris's sh, spotted by Christian Maeder
65]
66[BIN_DIST_INST_SUBDIR Needs to be defined in config.mk so ./Makefile can see it
67Ian Lynagh <igloo@earth.li>**20071207121317]
68[Improve eta reduction, to reduce Simplifier iterations
69simonpj@microsoft.com**20071203150039
70 
71 I finally got around to investigating why the Simplifier was sometimes
72 iterating so often.  There's a nice example in Text.ParserCombinators.ReadPrec,
73 which produced:
74 
75 NOTE: Simplifier still going after 3 iterations; bailing out.  Size = 339
76 NOTE: Simplifier still going after 3 iterations; bailing out.  Size = 339
77 NOTE: Simplifier still going after 3 iterations; bailing out.  Size = 339
78 
79 No progress is being made.  It turned out that an interaction between
80 eta-expansion, casts, and eta reduction was responsible. The change is
81 small and simple, in SimplUtils.mkLam: do not require the body to be
82 a Lam when floating the cast outwards. 
83 
84 I also discovered a missing side condition in the same equation, so fixing
85 that is good too.  Now there is no loop when compiling ReadPrec.
86 
87 Should do a full nofib run though.
88 
89]
90[MERGED: fix race conditions in sandboxIO (#1583, #1922, #1946)
91Ian Lynagh <igloo@earth.li>**20071206150509
92 Simon Marlow <simonmar@microsoft.com>**20071204114444
93  using the new block-inheriting forkIO (#1048)
94]
95[Make eta reduction check more carefully for bottoms (fix Trac #1947)
96simonpj@microsoft.com**20071204145803
97 
98 Eta reduction was wrongly transforming
99        f = \x. f x
100 to
101        f = f
102 
103 Solution: don't trust f's arity information; instead look at its
104 unfolding.  See Note [Eta reduction conditions]
105 
106 Almost all the new lines are comments!
107 
108 
109]
110[protect console handler against concurrent access (#1922)
111Simon Marlow <simonmar@microsoft.com>**20071204153918]
112[forkIO starts the new thread blocked if the parent is blocked (#1048)
113Simon Marlow <simonmar@microsoft.com>**20071204110947]
114[Workaround for #1959: assume untracked names have changed
115Simon Marlow <simonmar@microsoft.com>**20071206092349
116 This fixes the 1959 test, but will do more recompilation than is
117 strictly necessary (but only when -O is on).  Still, more
118 recompilation is better than segfaults, link errors or other random
119 breakage.
120]
121[FIX part of #1959: declaration versions were not being incremented correctly
122Simon Marlow <simonmar@microsoft.com>**20071206084556
123 We were building a mapping from ModuleName to [Occ] from the usage
124 list, using the usg_mod field as the key.  Unfortunately, due to a
125 very poor naming decision, usg_mod is actually the module version, not
126 the ModuleName.  usg_name is the ModuleName.  Since Version is also an
127 instance of Uniquable, there was no type error: all that happened was
128 lookups in the map never succeeded.  I shall rename the fields of
129 Usage in a separate patch.
130 
131 This doesn't completely fix #1959, but it gets part of the way there.
132 
133 I have to take partial blame as the person who wrote this fragment of
134 code in late 2006 (patch "Interface file optimisation and removal of
135 nameParent").
136]
137[FIX #1110: hackery also needed when running gcc for CPP
138Simon Marlow <simonmar@microsoft.com>**20071205150230]
139[move FP_FIND_ROOT after the "GHC is required" check
140Simon Marlow <simonmar@microsoft.com>**20071205101814]
141[Change --shared to -shared in Win32 DLL docs
142simonpj@microsoft.com**20071204154023]
143[#include ../includes/MachRegs.h rather than just MachRegs.h
144Ian Lynagh <igloo@earth.li>**20071205170335
145 This fixes building on NixOS. I'm not sure why it worked everywhere else,
146 but not on NixOS, before.
147]
148[Fix the libraries Makefile
149Ian Lynagh <igloo@earth.li>**20071205125015
150     x && y
151 is not the same as
152     if x; then y; fi
153 as the latter doesn't fail when x fails
154]
155[Copy hscolour.css into dist/... so it gets installed with the library docs
156Ian Lynagh <igloo@earth.li>**20071205013703]
157[Add the hscolour.css from hscolour 1.8
158Ian Lynagh <igloo@earth.li>**20071205011733]
159[MERGED: Reorganise TcSimplify (again); FIX Trac #1919
160Ian Lynagh <igloo@earth.li>**20071203140443
161 simonpj@microsoft.com**20071128173146
162 
163  This was a bit tricky.  We had a "given" dict like (d7:Eq a); then it got
164  supplied to reduceImplication, which did some zonking, and emerged with
165  a "needed given" (d7:Eq Int). That got everything confused.
166 
167  I found a way to simplify matters significantly.  Now reduceContext
168     - first deals with methods/literals/dictionaries
169     - then deals with implications
170  Separating things in this way not only made the bug go away, but
171  eliminated the need for the recently-added "needed-givens" results returned
172  by checkLoop.  Hurrah.
173 
174  It's still a swamp.  But it's a bit better.
175]
176[FIX #1843: Generate different instructions on PPC
177Ian Lynagh <igloo@earth.li>**20071203123237
178 The old ones caused lots of
179     unknown scattered relocation type 4
180 errors. Patch from Chris Kuklewicz.
181]
182[Fix bindist creation: readline/config.mk is gone
183Ian Lynagh <igloo@earth.li>**20071203123031]
184[Don't default to stripping binaries when installing
185Ian Lynagh <igloo@earth.li>**20071202195817]
186[Add package version bumps to the release notes
187Ian Lynagh <igloo@earth.li>**20071201180437]
188[Move file locking into the RTS, fixing #629, #1109
189Simon Marlow <simonmar@microsoft.com>**20071120140859
190 File locking (of the Haskell 98 variety) was previously done using a
191 static table with linear search, which had two problems: the array had
192 a fixed size and was sometimes too small (#1109), and performance of
193 lockFile/unlockFile was suboptimal due to the linear search.
194 Also the algorithm failed to count readers as required by Haskell 98
195 (#629).
196 
197 Now it's done using a hash table (provided by the RTS).  Furthermore I
198 avoided the extra fstat() for every open file by passing the dev_t and
199 ino_t into lockFile.  This and the improvements to the locking
200 algorithm result in a healthy 20% or so performance increase for
201 opening/closing files (see openFile008 test).
202]
203[FIX #1744: ignore the byte-order mark at the beginning of a file
204Simon Marlow <simonmar@microsoft.com>**20071130101100]
205[FIX #1914: GHCi forgot all the modules that were loaded before an error
206Simon Marlow <simonmar@microsoft.com>**20071130130734]
207[Update cabal version number used in bootstrapping
208Duncan Coutts <duncan@haskell.org>**20071129144259]
209[Change name of DOC_OPTIONS pragma to OPTIONS_HADDOCK
210David Waern <david.waern@gmail.com>**20071130092506]
211[Update ANNOUNCE for 6.8.2
212Ian Lynagh <igloo@earth.li>**20071128224343]
213[Add 6.8.2 release notes
214Ian Lynagh <igloo@earth.li>**20071128222302]
215[FIX Trac #1935: generate superclass constraints for derived classes
216simonpj@microsoft.com**20071128150541
217 
218 This bug only reports a problem with phantom types, but actually
219 there was quite a long-standing and significant omission in the
220 constraint generation for derived classes.  See
221 Note [Superclasses of derived instance] in TcDeriv.
222 
223 The test deriving-1935 tests both cases.
224 
225 
226]
227[add comment
228Simon Marlow <simonmar@microsoft.com>**20071128111417]
229[FIX #1916: don't try to convert float constants to int in CMM optimizer
230Bertram Felgenhauer <int-e@gmx.de>**20071122095513]
231[give a more useful message when the static flags have not been initialised (#1938)
232Simon Marlow <simonmar@microsoft.com>**20071127135435]
233[Avoid making Either String an instance of Monad in the Haddock parser
234David Waern <david.waern@gmail.com>**20071114204050]
235[FIX BUILD (with GHC 6.2.x): update .hi-boot file
236Simon Marlow <simonmar@microsoft.com>**20071116101227]
237[Fix build
238David Waern <david.waern@gmail.com>**20071114125842
239 I had forgot to update HaddockLex.hi-boot-6, so the build with 6.2.2
240 failed. This fixes that.
241]
242[Merge from Haddock: Add <<url>> for images
243David Waern <david.waern@gmail.com>**20071112220537
244 A merge of this patch:
245 
246   Mon Aug  7 16:22:14 CEST 2006  Simon Marlow <simonmar@microsoft.com>
247     * Add <<url>> for images
248     Submitted by: Lennart Augustsson
249 
250 Please merge to the 6.8.2 branch.
251]
252[Merge from Haddock: Modify lexing of /../
253David Waern <david.waern@gmail.com>**20071112023856
254 
255   Tue Aug 28 11:19:54 CEST 2007  Simon Marlow <simonmar@microsoft.com>
256     * Modify lexing of /../
257     This makes /../ more like '..', so that a single / on a line doesn't
258     trigger a parse error.  This should reduce the causes of accidental
259     parse errors in Haddock comments; apparently stray / characters are
260     a common source of failures.
261 
262 Please merge this to the 6.8.2 branch.
263]
264[Merge from Haddock: allow blank lines inside code blocks
265David Waern <david.waern@gmail.com>**20071112013439
266 
267   Tue Jan  9 14:14:34 CET 2007  Simon Marlow <simonmar@microsoft.com>
268     * allow blank lines inside a @...@ code block
269 
270 Please merge this to the 6.8.2 branch
271]
272[Merge of a patch from the old Haddock branch:
273David Waern <david.waern@gmail.com>**20071112013143
274 
275   Fri Jan  5 12:13:41 CET 2007  Simon Marlow <simonmar@microsoft.com>
276     * Fix up a case of extra vertical space after a code block
277 
278 Please merge this to the 6.8.2 branch
279]
280[MERGED: fix stage 1 compilation
281Ian Lynagh <igloo@earth.li>**20071128171145
282 Simon Marlow <simonmar@microsoft.com>**20071106142057
283]
284[MERGED: GHC API: add checkAndLoadModule
285Ian Lynagh <igloo@earth.li>**20071128151112
286 Simon Marlow <simonmar@microsoft.com>**20071106140121
287  Does what the name suggests: it performs the function of both
288  checkModule and load on that module, avoiding the need to process each
289  module twice when checking a batch of modules.  This will make Haddock
290  and ghctags much faster.
291 
292  Along with this is the beginnings of a refactoring of the HscMain
293  interface.  HscMain now exports functions for separately running the
294  parser, typechecher, and generating ModIface and ModDetails.
295  Eventually the plan is to complete this interface and use it to
296  replace the existing one.
297]
298[Fix Trac #1913: check data const for derived types are in scope
299simonpj@microsoft.com**20071121151428
300 
301 When deriving an instance, the data constructors should all be in scope.
302 This patch checks the condition.
303 
304 
305]
306[MERGED: canonicalise the path to HsColour
307Ian Lynagh <igloo@earth.li>**20071127205104
308 Simon Marlow <simonmar@microsoft.com>**20071126141614
309]
310[FIX #1925: the interpreter was not maintaining tag bits correctly
311Simon Marlow <simonmar@microsoft.com>**20071127122614
312 See comment for details
313]
314[Rebuild utils with the stage1 compiler when making a bindist; fixes trac #1860
315Ian Lynagh <igloo@earth.li>**20071127203959
316 This is a bit unpleasant, as "make binary-dist" really shouldn't actually
317 build anything, but it works.
318]
319[Remove the --print-docdir flag
320Ian Lynagh <igloo@earth.li>**20071127195605
321 It wasn't doing the right thing for bindists. Let's rethink...
322]
323[Consistently put www. on the front of haskell.org in URLs
324Ian Lynagh <igloo@earth.li>**20071126215256]
325[Fix some more URLs
326Ian Lynagh <igloo@earth.li>**20071126214147]
327[Tweak some URLs
328Ian Lynagh <igloo@earth.li>**20071126194148]
329[Fix some links
330Ian Lynagh <igloo@earth.li>**20071126184406]
331[MERGE: Tidy and trim the type environment in mkBootModDetails
332Simon Marlow <simonmar@microsoft.com>**20071123153556
333   
334 Should fix Trac #1833
335 
336 We were failing to trim the type envt in mkBootModDetails, so several
337 functions all called (*), for example, were getting into the interface.
338 Result chaos.  It only actually bites when we do the retyping-loop thing,
339 which is why it's gone so long without a fix.
340]
341[Copy gmp stamps into bindists, so we don't try and rebuild gmp
342Ian Lynagh <igloo@earth.li>**20071125211919]
343[On Windows, Delete the CriticalSection's we Initialize
344Ian Lynagh <igloo@earth.li>**20071125125845]
345[On Windows, add a start menu link to the flag reference
346Ian Lynagh <igloo@earth.li>**20071125124429]
347[Remove html/ from the paths we put in the start menu on Windows
348Ian Lynagh <igloo@earth.li>**20071125124150]
349[Make ":" in GHCi repeat the last command
350Ian Lynagh <igloo@earth.li>**20071124231857
351 It used to be a synonym for ":r" in 6.6.1, but this wasn't documented or
352 known about by the developers. In 6.8.1 it was accidentally broken.
353 This patch brings it back, but as "repeat the last command", similar to
354 pressing enter in gdb. This is almost as good for people who want it to
355 reload, and means that it can also be used to repeat commands like :step.
356]
357[Don't make a library documentation prologue
358Ian Lynagh <igloo@earth.li>**20071124211943
359 It's far too large now, and no-one complained when 6.8.1 didn't have one.
360]
361[Don't put package version numbers in links in index.html
362Ian Lynagh <igloo@earth.li>**20071124211629]
363[Define install-strip in Makefile
364Ian Lynagh <igloo@earth.li>**20071124205037]
365[Define install-strip in distrib/Makefile
366Ian Lynagh <igloo@earth.li>**20071124204803]
367[Install gmp from bindists; fixes trac #1848
368Ian Lynagh <igloo@earth.li>**20071124185240]
369[(native gen) fix code generated for GDTOI on x86_32
370Bertram Felgenhauer <int-e@gmx.de>**20071121063942
371 See trac #1910.
372]
373[Put library docs in a $pkg, rather than $pkgid, directory; fixes trac #1864
374Ian Lynagh <igloo@earth.li>**20071124171220]
375[Copy the INSTALL hack from mk/config.mk.in into distrib/Makefile-bin-vars.in
376Ian Lynagh <igloo@earth.li>**20071124163028
377 configure will set INSTALL to ./install-sh if it can't find it in the path,
378 so we need to replace the . with the path to our root.
379]
380[Make install-sh executable /before/ we try to find it
381Ian Lynagh <igloo@earth.li>**20071124162450]
382[Set mandir consistently to $(prefix)/share/man, as per trac #1879
383Ian Lynagh <igloo@earth.li>**20071123235933]
384[If we have hscolour then make source code links in teh haddock docs
385Ian Lynagh <igloo@earth.li>**20071123211559]
386[Document --info in the +RTS -? help
387Ian Lynagh <igloo@earth.li>**20071123204352]
388[FIX #1910: fix code generated for GDTOI on x86_32
389Bertram Felgenhauer <int-e@gmx.de>*-20071121102627]
390[Add -dcore-lint when validating libraries
391simonpj@microsoft.com**20071105164733]
392[Fix Trac #1909: type of map in docs
393simonpj@microsoft.com**20071120160152]
394[Two small typos in the flags summary (merge to 6.8 branch)
395simonpj@microsoft.com**20071119134639]
396[FIX #1910: fix code generated for GDTOI on x86_32
397Bertram Felgenhauer <int-e@gmx.de>**20071121102627]
398[FIX #1847 (improve :browse! docs, fix unqual)
399claus.reinke@talk21.com**20071108013147
400 
401 - add example to docs, explain how to interpret
402   output of `:browse! Data.Maybe`
403 - print unqualified names according to current
404   context, not the context of the target module
405 
406]
407[FIX Trac #1825: standalone deriving Typeable
408simonpj@microsoft.com**20071120125732
409 
410 Standalone deriving of typeable now requires you to say
411        instance Typeable1 Maybe
412 which is exactly the shape of instance decl that is generated
413 by a 'deriving( Typeable )' clause on the data type decl.
414 
415 This is a bit horrid, but it's the only consistent way, at least
416 for now.  If you say something else, the error messages are helpful.
417 
418 MERGE to 6.8 branch
419 
420]
421[FIX Trac #1806: test for correct arity for datacon in infix pattern patch
422simonpj@microsoft.com**20071119114301
423 
424 Happily the fix is easy; pls merge
425 
426]
427[MERGED: FIX #1715: egregious bug in ifaceDeclSubBndrs
428Ian Lynagh <igloo@earth.li>**20071122123551
429 simonpj@microsoft.com**20071120111723
430 
431  ifaceDeclSubBndrs didn't have an IfaceSyn case; but with type
432  families an IfaceSyn can introduce subordinate binders.  Result:
433  chaos.
434 
435  The fix is easy though.  Merge to 6.8 branch.
436]
437[Improve the situation for Trac #959: civilised warning instead of a trace msg
438simonpj@microsoft.com**20071119122938
439 
440 This doesn't fix the root cause of the bug, but it makes the report
441 more civilised, and points to further info.
442 
443]
444[MERGED: Try to manage the size of the text rendered for ':show bindings'
445Pepe Iborra <mnislaih@gmail.com>**20071119111243
446 Pepe Iborra <mnislaih@gmail.com>**20071114231601] {
447]
448[MERGED: wibble
449Pepe Iborra <mnislaih@gmail.com>**20071119111109
450   Pepe Iborra <mnislaih@gmail.com>**20071114233356] {
451]
452[MERGED: Make the Term ppr depth aware
453Ian Lynagh <igloo@earth.li>**20071119111053
454 Pepe Iborra <mnislaih@gmail.com>**20071114183417] {
455]
456[MERGED: GHCi debugger: added a new flag, -fno-print-binding-contents
457Pepe Iborra <mnislaih@gmail.com>**20071119105634]
458[MERGED: Print binding contents in :show bindings
459Ian Lynagh <igloo@earth.li>**20071118173321
460 Pepe Iborra <mnislaih@gmail.com>**20071006123952] {
461]
462[MERGE: Zonk quantified tyvars with skolems + Rejig the error messages a bit; fixes a minor bug
463simonpj@microsoft.com**20071121143346
464 
465 This merges to the 6.8 branch two HEAD patches (names above).  The
466 former "Zonk..." was for some reason partly in the branch already,
467 which is what led to the complications.
468 
469 Here are the original patches:
470 
471 Fri Oct 19 12:56:53 BST 2007  Manuel M T Chakravarty <chak@cse.unsw.edu.au>
472   * Zonk quantified tyvars with skolems
473   
474   We used to zonk quantified type variables to regular TyVars.  However, this
475   leads to problems.  Consider this program from the regression test suite:
476   
477     eval :: Int -> String -> String -> String
478     eval 0 root actual = evalRHS 0 root actual
479   
480     evalRHS :: Int -> a
481     evalRHS 0 root actual = eval 0 root actual
482   
483   It leads to the deferral of an equality
484   
485     (String -> String -> String) ~ a
486   
487   which is propagated up to the toplevel (see TcSimplify.tcSimplifyInferCheck).
488   In the meantime `a' is zonked and quantified to form `evalRHS's signature.
489   This has the *side effect* of also zonking the `a' in the deferred equality
490   (which at this point is being handed around wrapped in an implication
491   constraint).
492   
493   Finally, the equality (with the zonked `a') will be handed back to the
494   simplifier by TcRnDriver.tcRnSrcDecls calling TcSimplify.tcSimplifyTop.
495   If we zonk `a' with a regular type variable, we will have this regular type
496   variable now floating around in the simplifier, which in many places assumes to
497   only see proper TcTyVars.
498   
499   We can avoid this problem by zonking with a skolem.  The skolem is rigid
500   (which we requirefor a quantified variable), but is still a TcTyVar that the
501   simplifier knows how to deal with.
502 
503 Thu Nov  1 17:50:22 GMT 2007  simonpj@microsoft.com
504   * Rejig the error messages a bit; fixes a minor bug
505   
506   The type checker was only reporting the first message if an equality
507   failed to match.  This patch does a bit of refactoring and fixes the
508   bug, which was in the bogus use of eqInstMisMatch
509   in tcSimplify.report_no_instances.b
510   
511   This is really a bug in 6.8 too, so this would be good to merge across
512   to the 6.8 branch.
513   
514 
515]
516[MERGE to 6.8: Refactor error recovery slightly
517simonpj@microsoft.com**20071121143227
518 
519 Slightly rejigged from HEAD:
520 
521   Mostly this patch is refacoring, but it also avoids post-tc zonking if
522   the typechecker found errors.  This is good because otherwise with
523   DEBUG you can get the "Inventing strangely-kinded TyCon" warning.
524 
525]
526[Improve pretty-printing for HsSyn
527simonpj@microsoft.com**20071010093058]
528[warning removal
529Simon Marlow <simonmar@microsoft.com>**20071009105138]
530[TcTyFuns: remove some duplicate code
531Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20071004142315]
532[Fix deferring on tyvars in TcUnify.subFunTys
533Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20071018044352]
534[TcUnify.subFunTys must take type families into account
535Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20071017114326
536 * A bug reported by Andrew Appleyard revealed that subFunTys did take
537   neither type families nor equalities into account.  In a fairly obscure
538   case there was also a coercion ignored.
539]
540[TcTyFuns.eqInstToRewrite
541Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20071003145715]
542[remove an incorrect assertion
543Simon Marlow <simonmar@microsoft.com>**20071016151829]
544[remove --define-name from the --help usage message (#1596)
545Simon Marlow <simonmar@microsoft.com>**20071114153417
546 
547]
548[Attempt at fixing #1873, #1360
549Simon Marlow <simonmar@microsoft.com>**20071116152148
550 
551 I think I figured out a reasonable way to manage the GHCi context,
552 comments welcome.
553 
554 Rule 1: external package modules in the context are persistent.  That
555 is, when you say 'import Data.Maybe' it survives over :load, :add,
556 :reload and :cd.
557 
558 Rule 2: :load and :add remove all home-package modules from the
559 context and add the rightmost target, as a *-module if possible.  This
560 is as before, and makes sense for :load because we're starting a new
561 program; the old home-package modules don't make sense any more.  For
562 :add, it usually does what you want, because the new target will
563 become the context.
564 
565 Rule 3: any modules from the context that fail to load during a
566 :reload are remembered, and re-added to the context at the next
567 successful :reload.
568 
569 Claus' suggestion about adding the "remembered" modules to the prompt
570 prefixed with a ! is implemented but commented out.  I couldn't
571 decide whether it was useful or confusing.
572 
573 One difference that people might notice is that after a :reload where
574 there were errors, GHCi would previously dump you in the most recent
575 module that it loaded.  Now it dumps you in whatever subset of the
576 current context still makes sense, and in the common case that will
577 probably be {Prelude}.
578]
579[on Windows, install to a directory with spaces (test for #1828)
580Simon Marlow <simonmar@microsoft.com>**20071115155327]
581[FIX #1828: installing to a patch with spaces in
582Simon Marlow <simonmar@microsoft.com>**20071115155747
583 We have to pass the path to gcc when calling windres, which itself
584 might have spaces in.  Furthermore, we have to pass the path to gcc's
585 tools to gcc.  This means getting the quoting right, and after much
586 experimentation and reading of the windres sources I found something
587 that works: passing --use-temp-files to windres makes it use its own
588 implementation of quoting instead of popen(), and this does what we
589 want.  Sigh.
590]
591[FIX #1679: crash on returning from a foreign call
592Simon Marlow <simonmar@microsoft.com>**20071115131635
593 We forgot to save a pointer to the BCO over the foreign call.  Doing
594 enough allocation and GC during the call could provoke a crash.
595]
596[Make pprNameLoc more robust in absence of loc information
597Pepe Iborra <mnislaih@gmail.com>**20071114233343]
598[Wibble to fix Trac #1901 (shorten messsage slightly)
599simonpj@microsoft.com**20071116150341]
600[FIX Trac #1901: check no existential context in H98 mode
601simonpj@microsoft.com**20071116145609]
602[Improve documentation of data type declarations (Trac #1901)
603simonpj@microsoft.com**20071116081841]
604[Improve links from flag reference to the relevant section; and improve doc of RankN flags
605simonpj@microsoft.com**20071116145816]
606[Documentation only - fix typo in flags reference
607Tim Chevalier <chevalier@alum.wellesley.edu>**20071115055748]
608[Make SpecConstr work again
609simonpj@microsoft.com**20071115084242
610 
611 In a typo I'd written env instead of env', and as a result RULES are
612 practically guaranteed not to work in a recursive group.  This pretty
613 much kills SpecConstr in its tracks!
614 
615 Well done Kenny Lu for spotting this.  The fix is easy.
616 
617 Merge into 6.8 please.
618 
619 
620 
621]
622[Accept x86_64-*-freebsd* as well as amd64-*-freebsd* in configure.ac
623Ian Lynagh <igloo@earth.li>**20071117154502
624 Patch from Brian P. O'Hanlon
625]
626[FIX #1791 on stable branch
627Simon Marlow <simonmar@microsoft.com>**20071114163945
628 The 6.8 branch needed this fix in another place
629]
630[FIX #1837: emit deprecated message for unversioned dependencies
631Simon Marlow <simonmar@microsoft.com>**20071114153010]
632[FIX Trac 1888; duplicate INLINE pragmas
633simonpj@microsoft.com**20071114104701
634 
635 There are actually three things here
636 - INLINE pragmas weren't being pretty-printed properly
637 - They were being classified into too-narrow boxes by eqHsSig
638 - They were being printed in to much detail by hsSigDoc
639 
640 All easy.  Test is rnfail048.
641 
642]
643[Fix Trac 1865: GHCi debugger crashes with :print
644Pepe Iborra <mnislaih@gmail.com>**20071113170113]
645[FIX Trac 1662: actually check for existentials in proc patterns
646simonpj@microsoft.com**20071114112930
647 
648 I'd fixed the bug for code that should be OK, but had forgotten to
649 make the test for code that should be rejected!
650 
651 Test is arrowfail004
652 
653]
654[FIX #1653 (partially): add -X flags to completion for :set
655Simon Marlow <simonmar@microsoft.com>**20071113153257]
656[Fix #782, #1483, #1649: Unicode GHCi input
657Simon Marlow <simonmar@microsoft.com>**20071114151411
658 GHCi input is now treated universally as UTF-8, except for the Windows
659 console where we do the correct conversion from the current code
660 page (see System.Win32.stringToUnicode).
661 
662 That leaves non-UTF-8 locales on Unix as unsupported, but (a) we only
663 accept source files in UTF-8 anyway, and (b) UTF-8 is quite ubiquitous
664 as the default locale.
665 
666]
667[comments only: point to relevant bug reports
668Simon Marlow <simonmar@microsoft.com>**20070924103323]
669[Remove ex-extralibs from libraries/Makefile
670Ian Lynagh <igloo@earth.li>**20071111213618]
671[Remove the X11 and HGL libraries from extralibs
672Ian Lynagh <igloo@earth.li>**20071111213447
673 Don Stewart, X11 maintainer, requested we remove X11, and HGL depends on it
674 on Linux (and we don't try to build HGL on Windows).
675]
676[catch up with removal of config.mk in the readline package
677Simon Marlow <simonmar@microsoft.com>**20071107095952]
678[TAG 2007-11-11
679Ian Lynagh <igloo@earth.li>**20071111164452]
680[Define CPP in distrib/Makefile-bin-vars.in; fixes #1855
681Ian Lynagh <igloo@earth.li>**20071110180302
682 Patch from Christian Maeder
683]
684[Tweak gen_contents_index to work with Solaris's sh
685Ian Lynagh <igloo@earth.li>**20071110180014]
686[Update install-sh
687Ian Lynagh <igloo@earth.li>**20071110173950
688 This comes from the Debian automake 1:1.10+nogfdl-1 package.
689]
690[Use INSTALL_SCRIPT, not INSTALL_PROGRAM, when installing scripts; fixes #1858
691Ian Lynagh <igloo@earth.li>**20071110152309]
692[Rename Parser.ly in the extralibs tarball; fixes #1859
693Ian Lynagh <igloo@earth.li>**20071110151529
694 If Cabal doesn't see the .ly file then it won't try to run happy, and
695 thus won't fail if happy isn't installed.
696]
697[Add a path to the DocBook XSL Stylesheets search path
698Ian Lynagh <igloo@earth.li>**20071110150649
699 Slackware puts the stylesheets in /usr/share/xml/docbook/xsl-stylesheets*
700 Patch from Andrea Rossato.
701]
702[Fix typo: -XNoRank2Types -> -XRank2Types
703Ian Lynagh <igloo@earth.li>**20071109135656]
704[Support more doc targets (html, pdf, etc) in the libraries Makefile
705Ian Lynagh <igloo@earth.li>**20071110171328]
706[Build Cabal user guide during "make", not only "make install-docs"
707Ian Lynagh <igloo@earth.li>**20071110171247]
708[#1617: Add :browse! and various other additions to GHCi
709Simon Marlow <simonmar@microsoft.com>**20071107102648
710   
711   - :browse!
712     a variant of :browse that lists children separately,
713     not in context, and gives import qualifiers in comments
714 
715 SimonM: I also added sorting by source location for interpreted
716 modules in :browse, and alphabetic sorting by name otherwise.  For
717 :browse *M, the locally-defined names come before the external ones.
718 
719   - :{ ..lines.. :} (multiline commands)
720     allow existing commands to be spread over multiple lines
721     to improve readability, both interactively and in .ghci
722     (includes a refactoring that unifies the previous three
723     command loops into one, runCommands, fed from cmdqueue,
724     file, or readline)
725 
726   - :set
727       now shows GHCi-specific flag settings (printing/
728       debugger), as well as non-language dynamic flag
729       settings
730     :show languages
731       show active language flags
732     :show packages
733       show active package flags as well as implicitly
734       loaded packages
735 
736]
737[Fix warnings when build w/o readline
738Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20071010101840]
739[Wibble to earlier case-merge fix
740simonpj@microsoft.com**20071105220627
741 
742 This fix avoids a bogus WARN in SimplEnv.substId
743 
744]
745[Fix an old but subtle bug in the Simplifier
746simonpj@microsoft.com**20071105161314
747 
748 I got a Core Lint failure when compiling System.Win32.Info in the
749 Win32 package.  It was very delicate: adding or removing a function
750 definition elsewhere in the module (unrelated to the error) made the
751 error go away.
752 
753 Happily, I found it.  In SimplUtils.prepareDefault I was comparing an
754 InId with an OutId.  We were getting a spurious hit, and hence doing
755 a bogus CaseMerge.
756 
757 This bug has been lurking ever since I re-factored the way that case
758 expressions were simplified, about 6 months ago!
759 
760]
761[Pad static literals to word size in the code generator
762Simon Marlow <simonmar@microsoft.com>**20071108132842]
763[FIX #1617: reloading didn't change the :browse output as it should
764Simon Marlow <simonmar@microsoft.com>**20071107161454
765 The problem was that because the interface hadn't changed, we were
766 re-using the old ModIface.  Unfortunately the ModIface contains the
767 GlobalRdrEnv for the module, and that *had* changed.  The fix is to
768 put the new GlobalRdrEnv in the ModIface even if the interface has not
769 otherwise changed.
770 
771 ModIface is not really the right place for the GlobalRdrEnv, but
772 neither is ModDetails, so we should think about a better way to do
773 this.
774]
775[FIX BUILD
776Simon Marlow <simonmar@microsoft.com>**20071107161612
777 Sorry, should have pushed with previous batch of changes.
778]
779[FIX #1556: GHC's :reload keeps the context, if possible
780Simon Marlow <simonmar@microsoft.com>**20071107124118]
781[FIX #1561: don't use tabs in pretty-printed output at all.
782Simon Marlow <simonmar@microsoft.com>**20071107113201
783 Tabs aren't guaranteed to be 8 spaces on every output device, so we
784 shouldn't be using them.  Instead I added a little optimisation to
785 use chunks of 8 spaces for long indentations.
786 
787]
788[FIX #1765, #1766
789Simon Marlow <simonmar@microsoft.com>**20071107111757
790 - :def! now overwrites a previous command with the same name
791 - :def on its own lists the defined macros
792 - ":undef f g" undefines both f and g
793]
794[FIX #1838: use System.Directory.getHomeDirectory instead of getEnv "HOME"
795Simon Marlow <simonmar@microsoft.com>**20071107100653]
796[Fix Trac #1813: generalise over *all* type variables at top level, even phantom ones
797simonpj@microsoft.com**20071106153151
798 
799 See Note [Silly type synonym] in TcType for further details.  This bug
800 (or at least infelicity) has been in GHC for quite a long time.
801 
802]
803[Improve error messages
804simonpj@microsoft.com**20071106105258]
805[Fix Trac #1814 (staging interaction in Template Haskell and GHCi), and add comments
806simonpj@microsoft.com**20071106135548
807 
808 An Id bound by GHCi from a previous Stmt is Global but Internal, and
809 I'd forgotten that, leading to unnecessary restrictions when using TH
810 and GHCi together.
811 
812 This patch fixes the problem and adds lots of explanatory comments (which
813 is where most of the extra lines come from).
814 
815 
816]
817[Comments about TH staging
818simonpj@microsoft.com**20071105145340]
819[Improve manual entry for binding lexically scoped type variables in pattern signatures
820simonpj@microsoft.com**20071106105151]
821[Remove trailing spaces from programlisting lines
822simonpj@microsoft.com**20071106104921]
823[Remove unhelpful sentence (see Trac #1832)
824simonpj@microsoft.com**20071106104315
825 
826 Merge to 6.8 branch
827 
828]
829[TAG GHC 6.8.1 release
830Ian Lynagh <igloo@earth.li>**20071102152209]
831[Fix Trac #1654: make substitutions propagate into CoreRule
832simonpj@microsoft.com**20071108174835
833 
834 Nasty bug in substSpec: the ru_fn field was not getting updated
835 when the parent function's unique changed.  Urk.
836 
837 This patch goes on the branch; I'll do another for the HEAD.
838 
839]
840[Set RELEASE back to NO
841Ian Lynagh <igloo@earth.li>**20071102152234]
842[Release note tweaks
843Ian Lynagh <igloo@earth.li>**20071101125706]
844[Update Cabal version number in release notes
845Ian Lynagh <igloo@earth.li>**20071101123934]
846[Update Cabal version number to 1.2.2.0
847Duncan Coutts <duncan@haskell.org>**20071101122525]
848[MERGED: Zonk quantified tyvars with skolems
849Ian Lynagh <igloo@earth.li>**20071031132340
850 Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20071019115653
851 
852  We used to zonk quantified type variables to regular TyVars.  However, this
853  leads to problems.  Consider this program from the regression test suite:
854 
855    eval :: Int -> String -> String -> String
856    eval 0 root actual = evalRHS 0 root actual
857 
858    evalRHS :: Int -> a
859    evalRHS 0 root actual = eval 0 root actual
860 
861  It leads to the deferral of an equality
862 
863    (String -> String -> String) ~ a
864 
865  which is propagated up to the toplevel (see TcSimplify.tcSimplifyInferCheck).
866  In the meantime `a' is zonked and quantified to form `evalRHS's signature.
867  This has the *side effect* of also zonking the `a' in the deferred equality
868  (which at this point is being handed around wrapped in an implication
869  constraint).
870 
871  Finally, the equality (with the zonked `a') will be handed back to the
872  simplifier by TcRnDriver.tcRnSrcDecls calling TcSimplify.tcSimplifyTop.
873  If we zonk `a' with a regular type variable, we will have this regular type
874  variable now floating around in the simplifier, which in many places assumes to
875  only see proper TcTyVars.
876 
877  We can avoid this problem by zonking with a skolem.  The skolem is rigid
878  (which we requirefor a quantified variable), but is still a TcTyVar that the
879  simplifier knows how to deal with.
880]
881[Bump version number to 6.8.1 and set RELEASE=YES
882Ian Lynagh <igloo@earth.li>**20071031125827]
883[FIX BUILD: a glitch in the new rules and inlining stuff
884simonpj@microsoft.com**20071030113857
885 
886 Don't re-add the worker info to a binder until completeBind. It's not
887 needed in its own RHS, and it may be replaced, via the substitution
888 following postInlineUnconditionally.
889 
890 (Fixes build of the stage2 compiler which fell over when Coercion.lhs
891 was being compiled.)
892 
893]
894[MERGE: clean Haddock droppings
895Simon Marlow <simonmar@microsoft.com>**20071031094139]
896[clean ghci-inplace
897Simon Marlow <simonmar@microsoft.com>**20071031093932]
898[distclean: ghcprof-inplace
899Simon Marlow <simonmar@microsoft.com>**20070914125542]
900[MERGED: fix installation of haddock.css and friends
901Ian Lynagh <igloo@earth.li>**20071031011300
902 Simon Marlow <simonmar@microsoft.com>**20071029120732
903]
904[Fix LiberateCase
905simonpj@microsoft.com**20071029170620
906 
907        Merge to STABLE please
908 
909 Liberate case was being far too gung-ho about what to specialise. This
910 bug only showed up when a recursive function 'f' has a nested recursive
911 function 'g', where 'g' calls 'f' (as well as recursively calling 'g').
912 This exact situation happens in GHC/IO.writeLines.
913 
914 This patch puts things right; see Note [When to specialise].  Result:
915 much less code bloat.
916 
917 
918 
919 
920]
921[Improve documentation of orphan instances (thanks to Adrian Hey)
922simonpj@microsoft.com**20071029162505
923 
924 Please push to stable branch
925 
926 Simon
927 
928]
929[added foldUFM_Directly, used where appropriate, killed all warnings
930Norman Ramsey <nr@eecs.harvard.edu>**20070915190617]
931[Substantial improvement to the interaction of RULES and inlining
932simonpj@microsoft.com**20071029111056
933 
934        (Merge to 6.8 branch after testing.)
935 
936 There were a number of delicate interactions between RULEs and inlining
937 in GHC 6.6.  I've wanted to fix this for a long time, and some perf
938 problems in the 6.8 release candidate finally forced me over the edge!
939 
940 The issues are documented extensively in OccurAnal, Note [Loop breaking
941 and RULES], and I won't duplicate them here.  (Many of the extra lines in
942 OccurAnal are comments!)
943 
944 This patch resolves Trac bugs #1709, #1794, #1763, I believe.
945 
946 
947]
948[small reworking of the loop-breaker-choosing algorithm
949Simon Marlow <simonmar@microsoft.com>**20071009145305
950 Previously inline candidates were given higher preference as
951 non-loop-breakers than constructor applications, but the reason for
952 this was that making a wrapper into a loop-breaker is to be avoided at
953 all costs.  This patch refines the algorithm slightly so that wrappers
954 are explicitly avoided by giving them a much higher score, and other
955 inline candidates are given lower scores than constructor
956 applications.
957 
958 This makes almost zero difference to a complete nofib run, so it
959 amounts to just a tidyup.
960]
961[Fix freeHaskellFunctionPtr for Darwin/i386
962Aaron Tomb <atomb@galois.com>**20071029202636]
963[Add a missing import when __GLASGOW_HASKELL__ < 603
964Ian Lynagh <igloo@earth.li>**20071031005534]
965[Replace "tail -n +2" with "sed 1d", as Solaris doesn't understand the former
966Ian Lynagh <igloo@earth.li>**20071031001218]
967[Fix build with GHC < 6.4
968Ian Lynagh <igloo@earth.li>**20071029183155]
969[Set interfacedir (using $topdir, not $httptopdir)
970Ian Lynagh <igloo@earth.li>**20071029174825]
971[Teach ghc-pkg about $httptopdir
972Ian Lynagh <igloo@earth.li>**20071029161130]
973[Fill in holes in the release notes
974Ian Lynagh <igloo@earth.li>**20071028225253]
975[installPackage needs to treat $httptopdir the same as $topdir
976Ian Lynagh <igloo@earth.li>**20071028134534]
977[Define and use $httptopdir for the haddock docs locations
978Ian Lynagh <igloo@earth.li>**20071028123552]
979[We need to copy .buildinfo files into the bindists
980Ian Lynagh <igloo@earth.li>**20071028131752]
981[Fix imports
982Ian Lynagh <igloo@earth.li>**20071027231844]
983[Fix the build with GHC < 6.4 (foldl1' didn't exist)
984Ian Lynagh <igloo@earth.li>**20071027210526]
985[MERGED: Comments only
986Ian Lynagh <igloo@earth.li>**20071027170004
987 Sat Oct 27 08:46:42 PDT 2007  simonpj@microsoft.com
988]
989[Make 'improvement' work properly in TcSimplify
990simonpj@microsoft.com**20071027155459
991 
992        (Please merge this, and the preceding
993        handful from me to the 6.8 branch.)
994 
995 This patch fixes a serious problem in the type checker, whereby
996 TcSimplify was going into a loop because it thought improvement
997 had taken place, but actually the unificataion was actually deferred.
998 
999 We thereby fix Trac #1781, #1783, #1795, and #1797!
1000 
1001 In fixing this I found what a mess TcSimplify.reduceContext is!
1002 We need to fix this.
1003 
1004 The main idea is to replace the "improvement flag" in Avails with
1005 a simpler and more direct test: have any of the mutable type variables
1006 in the (zonked) 'given' or 'irred' constraints been filled in?
1007 This test uses the new function TcMType.isFilledMetaTyVar; the test
1008 itself is towards the end of reduceContext.
1009 
1010 I fixed a variety of other infelicities too, and left some ToDos.
1011 
1012 
1013]
1014[An implication constraint can abstract over EqInsts
1015simonpj@microsoft.com**20071027155433]
1016[In an AbsBinds, the 'dicts' can include EqInsts
1017simonpj@microsoft.com**20071027154903
1018 
1019 An AbsBinds abstrats over evidence, and the evidence can be both
1020 Dicts (class constraints, implicit parameters) and EqInsts (equality
1021 constraints).  So we need to
1022   - use varType rather than idType
1023   - use instToVar rather than instToId
1024   - use zonkDictBndr rather than zonkIdBndr in zonking
1025 
1026 It actually all worked before, but gave warnings.
1027 
1028 
1029]
1030[More notes
1031simonpj@microsoft.com**20071027154702]
1032[Add anyM to IOEnv
1033simonpj@microsoft.com**20071027154551]
1034[Add a note to NOTES
1035simonpj@microsoft.com**20071027100220]
1036[Adding hpc documentation about sum and map, push to STABLE.
1037andy@unsafeperformio.com**20071025050341]
1038[Fixing typo in runtime documentation for hpc, push to stable
1039andy@unsafeperformio.com**20071025045456]
1040[default to installing runhaskell and hsc2hs again, but provide knobs to turn them off
1041Simon Marlow <simonmar@microsoft.com>**20071025084222]
1042[Fix a whole heap of speling errrs in the docs
1043Josef Svenningsson <josef.svenningsson@gmail.com>**20071007213858]
1044[We need to install-docs when making the Windows bindist
1045Ian Lynagh <igloo@earth.li>**20071027144333]
1046[We need to set _way=* in rts/ both when making and installing bindists
1047Ian Lynagh <igloo@earth.li>**20071027142914
1048 This is a hack, but it means we get libHSrts*.a etc rather than just
1049 libHSrts.a.
1050]
1051[arrows is no longer an extralib
1052Ian Lynagh <igloo@earth.li>**20071027123656]
1053[Only build/install the man page if XSLTPROC is defined
1054Ian Lynagh <igloo@earth.li>**20071027122155]
1055[install the Cabal docs, and make them show up in a binary distribution
1056Simon Marlow <simonmar@microsoft.com>**20071026122456]
1057[cp => $(CP)
1058Simon Marlow <simonmar@microsoft.com>**20071026111054]
1059[get rid of the html subdirectory under share/doc/ghc/users_guide
1060Simon Marlow <simonmar@microsoft.com>**20071026110919]
1061[fix the links in the library documentation index
1062Simon Marlow <simonmar@microsoft.com>**20071025152245]
1063[binary-dist: Makefile-vars needs HADDOCK_DOCS=YES
1064Simon Marlow <simonmar@microsoft.com>**20071025135816]
1065[FIX #1791: fail with out-of-heap when allocating more than the max heap size in one go
1066Simon Marlow <simonmar@microsoft.com>**20071024095420
1067 Normally the out-of-heap check is performed post-GC, but there are
1068 cases where we can detect earlier that we definitely have exhausted
1069 the heap size limit.
1070]
1071[patch from #1782; fixes check-packages target on Solaris
1072Simon Marlow <simonmar@microsoft.com>**20071022133337]
1073[Refer to "boot" libs, not "core" libs
1074Ian Lynagh <igloo@earth.li>**20070914132658]
1075[Fix more warnings
1076Simon Marlow <simonmar@microsoft.com>**20071023131351]
1077[FIX BUILD (on 32-bit platforms): hs_hpc_module() type mismatch
1078Simon Marlow <simonmar@microsoft.com>**20071023082233]
1079[second attempt to fix C compiler warnings with -fhpc
1080Simon Marlow <simonmar@microsoft.com>**20071019133243
1081 The hs_hpc_module() prototype in RtsExternal.h didn't match its usage:
1082 we were passing StgWord-sized parameters but the prototype used C
1083 ints.  I think it accidentally worked because we only ever passed
1084 constants that got promoted.  The constants unfortunately were
1085 sometimes negative, which caused the C compiler to emit warnings.
1086 
1087 I suspect PprC.pprHexVal may be wrong to emit negative constants in
1088 the generated C, but I'm not completely sure.  Anyway, it's easy to
1089 fix this in CgHpc, which is what I've done.
1090 
1091]
1092[Change some ints to unsigned ints
1093Simon Marlow <simonmar@microsoft.com>**20071018095503
1094 Fixes some gratuitous warnings when compiling via C with -fhpc
1095]
1096[Fix typo that prevented zonking of rhs of EqInsts
1097Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20071018131040
1098 
1099 MERGE TO STABLE
1100]
1101[Fix ghc package in bindists; it wasn't adding the depenedency on readline
1102Ian Lynagh <igloo@earth.li>**20071024120633]
1103[Correct a comment
1104Ian Lynagh <igloo@earth.li>**20071024114549]
1105[Fix installing the ghc package .hi files in a bindist
1106Ian Lynagh <igloo@earth.li>**20071024114219]
1107[Build the manpage when building, not when installing
1108Ian Lynagh <igloo@earth.li>**20071024112914]
1109[Hack to make sure we get all the RTS ways in bindists
1110Ian Lynagh <igloo@earth.li>**20071024004155]
1111[Fix installing the documentation in the bindists
1112Ian Lynagh <igloo@earth.li>**20071023234624]
1113[FIX #1784: EM_AMD64 and EM_X86_64 might both be defined to the same value
1114Simon Marlow <simonmar@microsoft.com>**20071019110223]
1115[fix -fbreak-on-exception for unregsterised
1116Simon Marlow <simonmar@microsoft.com>**20071018110621]
1117[fix :print when !tablesNextToCode
1118Simon Marlow <simonmar@microsoft.com>**20071018105340]
1119[fix breakpoints in unregisterised mode
1120Simon Marlow <simonmar@microsoft.com>**20071018101929]
1121[implement #1468, :browse on its own uses the currently-loaded module
1122Simon Marlow <simonmar@microsoft.com>**20071019115751]
1123[warning removal
1124Simon Marlow <simonmar@microsoft.com>**20071003172715]
1125[FIX #1450: asynchronous exceptions are now printed by +RTS -xc
1126Simon Marlow <simonmar@microsoft.com>**20071018134951]
1127[recordMutable: test for gen>0 before calling recordMutableCap
1128Simon Marlow <simonmar@microsoft.com>**20071017125657
1129 For some reason the C-- version of recordMutable wasn't verifying that
1130 the object was in an old generation before attempting to add it to the
1131 mutable list, and this broke maessen_hashtab.  This version of
1132 recordMutable is only used in unsafeThaw#.
1133]
1134[fix warning on Windows
1135Simon Marlow <simonmar@microsoft.com>**20071017121645]
1136[Improving the combine mode for hpc
1137andy@galois.com**20071014171009
1138 
1139 we now have
1140 Processing Coverage files:
1141   sum         Sum multiple .tix files in a single .tix file
1142   combine     Combine two .tix files in a single .tix file
1143   map         Map a function over a single .tix file
1144 
1145 Where sum joins many .tix files, combine joins two files (with
1146 extra functionality possible), and map just applied a function
1147 to single .tix file.
1148 
1149 These changes were improvements driven by hpc use cases.
1150 
1151 END OF DESCRIPTION***
1152 
1153 Place the long patch description above the ***END OF DESCRIPTION*** marker.
1154 The first line of this file will be the patch name.
1155 
1156 
1157 This patch contains the following changes:
1158 
1159 M ./utils/hpc/Hpc.hs -1 +3
1160 M ./utils/hpc/HpcCombine.hs -33 +84
1161 M ./utils/hpc/HpcFlags.hs -11 +59
1162]
1163[FIX #1759 while respecting the ticks
1164andy@galois.com**20071015033319]
1165[Don't barf on error message with non-tc tyvars
1166Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20071018060336
1167 
1168 MERGE TO STABLE
1169]
1170[Fix #1662: do not simplify constraints for vanilla pattern matches
1171simonpj@microsoft.com**20071016124710
1172 
1173 See Note [Arrows and patterns] in TcPat. 
1174 
1175 This fixes Trac 1662.   Test is arrows/should_compile/arrowpat.hs
1176 
1177 Please merge
1178 
1179]
1180[Some more traceTcs
1181Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20070929121941]
1182[Tell Cabal it's version number when we build it.
1183Duncan Coutts <duncan@haskell.org>**20071018094742]
1184[First draft of 6.8.1 release notes
1185Ian Lynagh <igloo@earth.li>**20071016150731]
1186[-ftype-families -> -XTypeFamilies
1187Ian Lynagh <igloo@earth.li>**20071016123010]
1188[Fix #1709: do not expose the worker for a loop-breaker
1189simonpj@microsoft.com**20071016131840
1190 
1191 The massive 'Uni' program produced a situation in which a function that
1192 had a worker/wrapper split was chosen as a loop breaker.  If the worker
1193 is exposed in the interface file, then an importing module may go into
1194 an inlining loop: see comments on TidyPgm.tidyWorker.
1195 
1196 This patch fixes the inlining bug.  The code that gives rise to this
1197 bizarre case is still not good (it's a bunch of implication constraints
1198 and we are choosing a bad loop breaker) but the first thing is to fix the
1199 bug.
1200 
1201 It's rather hard to produce a test case!
1202 
1203 Please merge to the 6.8 branch.
1204 
1205 
1206 
1207]
1208[Fix DoCon: Another try at getting extractResults right
1209simonpj@microsoft.com**20071012162325
1210 
1211 For some reason TcSimplify.extractResults is quite difficult to get right.
1212 This is another attempt; finally I think I have it.
1213 
1214 Strangely enough, it's only Sergey's DoCon program that shows up the
1215 bug, which manifested as a failure in the Simplifier
1216 
1217         lookupRecBndr $dGCDRing{v a1Lz} [lid]
1218 
1219 But it was due to extractResults producing multiple bindings for
1220 the same dictionary.
1221 
1222 Please merge this to the stable branch (after previous patches to
1223 TcSimplify though).
1224 
1225 
1226]
1227[Fix Trac #1759: do not let ticks get in the way of spotting trivially-true guards
1228simonpj@microsoft.com**20071010164731
1229 
1230 GHC spots that an 'otherwise' guard is true, and uses that knowledge to
1231 avoid reporting spurious missing-pattern or overlaps with -Wall.
1232 
1233 The HPC ticks were disguising the 'otherwise', which led to this failure.
1234 Now we check.  The key change is defining DsGRHSs.isTrueLHsExpr.
1235 
1236 Test is ds062
1237 
1238 
1239]
1240[comment-out "use vars" in 3 places (see #1739)
1241Simon Marlow <simonmar@microsoft.com>**20071008115740]
1242[Improve pretty-printing of splices in HsSyn
1243simonpj@microsoft.com**20071010123726]
1244[we need to #include "Stg.h" first, we can't rely on GHC to inject it
1245Simon Marlow <simonmar@microsoft.com>**20071010153244
1246 This fixes the unreg build, and in general building the RTS code
1247 via-C. I'm not sure at what stage this was broken, but I think it
1248 was working accidentally before.
1249]
1250[Fix Trac #1680; check for unboxed tuples in TcType.marshalableTyCon
1251simonpj@microsoft.com**20071011123426]
1252[FIX BUILD (when compiling base via C): declare n_capabilities
1253Simon Marlow <simonmar@microsoft.com>**20071010103704]
1254[MERGED: FIX #1681: withBreakAction had too large a scope in runStmt
1255Ian Lynagh <igloo@earth.li>**20071012151253
1256 Simon Marlow <simonmar@microsoft.com>**20071010085820
1257]
1258[Update documentation for win32 DLL linking
1259Clemens Fruhwirth <clemens@endorphin.org>**20071010074415]
1260[Fix Trac #1746: make rule-matching work properly with Cast expressions
1261simonpj@microsoft.com**20070929104406
1262 
1263 The Cast case of the rule-matcher was simply wrong.
1264 
1265 This patch fixes it; see Trac #1746.
1266 
1267 I also fixed the rule generation in SpecConstr to generate a wild-card
1268 for the cast expression, which we don't want to match on.  This makes
1269 the rule more widely applicable; it wasn't the cause of the bug.
1270 
1271]
1272[export n_capabilities, see #1733
1273Simon Marlow <simonmar@microsoft.com>**20071009142701]
1274[export stopTimer(), we need this in the unix package
1275Simon Marlow <simonmar@microsoft.com>**20070912200057]
1276[FIX #1743, create a fresh unique for each Id we bind at a breakpoint
1277Simon Marlow <simonmar@microsoft.com>**20071009142554]
1278[also acquire/release task->lock across fork()
1279Simon Marlow <simonmar@microsoft.com>**20070927091331
1280 further attempt to fix #1391 on MacOS
1281]
1282[attempt to fix #1391, hold locks across fork() and initialize them in the child
1283Simon Marlow <simonmar@microsoft.com>**20070914145519]
1284[also call initMutex on every task->lock, see #1391
1285Simon Marlow <simonmar@microsoft.com>**20071009122409]
1286[error message fix (#1758)
1287Simon Marlow <simonmar@microsoft.com>**20071008134958]
1288[FIX validate for PPC Mac OS X - RegAllocStats.hs
1289Thorkil Naur <naur@post11.tele.dk>**20071005144105]
1290[FIX validate for PPC Mac OS X - RegAllocLinear.hs
1291Thorkil Naur <naur@post11.tele.dk>**20071005143607]
1292[FIX validate for PPC Mac OS X - Linker.c
1293Thorkil Naur <naur@post11.tele.dk>**20071005144908]
1294[FIX validate for PPC Mac OS X - Evac.h
1295Thorkil Naur <naur@post11.tele.dk>**20071005144454]
1296[MERGED: FIX #1748: -main-is wasn't handling the case of a single hierarchical module
1297Ian Lynagh <igloo@earth.li>**20071012143757
1298 Simon Marlow <simonmar@microsoft.com>**20071008131305
1299  test case is driver062.5
1300]
1301[FIX: add missing case to OccName.isSymOcc
1302David Waern <davve@dtek.chalmers.se>**20071002143459]
1303[mention what SCC stands for
1304Simon Marlow <simonmar@microsoft.com>**20071011135736]
1305[Fix Trac #1755; check for stage errors in TH quoted Names
1306simonpj@microsoft.com**20071010150250
1307 
1308 There are a number of situations in which you aren't allowed to use
1309 a quoted Name in a TH program, such as
1310        \x -> 'x
1311 But we weren't checking for that!  Now we are.
1312 
1313 Merge to stable branch.
1314 
1315 Test is TH_qname.
1316 
1317 
1318]
1319[Fix Trac #1678; be more careful about catching and reporting exceptions in spliced TH monadic computations
1320simonpj@microsoft.com**20071010145705
1321 
1322 Many of the new lines are comments to explain the slightly-convoluted
1323 in which exceptions get propagated out of the Q monad.
1324 
1325 This fixes Trac 1679; test is TH_runIO (as well as the exising TH_fail).
1326 
1327 Please merge
1328 
1329 
1330]
1331[FIX: tidy up TcSimplify following equality constraints additions
1332simonpj@microsoft.com**20071010093334
1333 
1334 The combination of "type refinement" for GADTs and the new equality
1335 constraints has made TcSimplify rather complicated.  And wrong:
1336 it generated bogus code for cholewo-eval.
1337 
1338 This patch is still far from entirely satisfactory.  There are
1339 too many places where invariants are unclear, and the code is
1340 still a bit of a mess.  But I believe it's better, and it passes
1341 the regression tests!  So I think it's good enough for the 6.8 release.
1342 
1343 Please merge.
1344 
1345 The main changes are:
1346 
1347 - get rid of extractLocalResults (which was always suspicious)
1348 
1349 - instead, treat the 'refinement' along with 'givens', by
1350   adding a field to RedEnv, red_reft which travels with red_givens
1351 
1352 - I also reworked extractResults a bit, which looked wrong to me
1353   This entailed changing the Given constructor in Avail to take
1354   an Inst rather than a TcId
1355 
1356 
1357]
1358[Comments and debug output only
1359simonpj@microsoft.com**20070927110842]
1360[mkIfaceExports: sort the children of AvailTC
1361Simon Marlow <simonmar@microsoft.com>**20071002114917
1362 This fixes a problem with spurious recompilations: each time a module
1363 was recompiled, the order of the children would change, causing extra
1364 recompilation.
1365 
1366 MERGE TO STABLE
1367]
1368[FIX BUILD FD_SETSIZE signed
1369jochemberndsen@dse.nl**20070927132649
1370 On FreeBSD FD_SETSIZE is unsigned. Cast it to a signed int
1371 for portability.
1372]
1373[FIX BUILD addDLL returns const char*
1374jochemberndsen@dse.nl**20070927132619
1375 addDLL returns const char*, not just a char*.
1376 Fix compiler warning
1377]
1378[FIX BUILD `set -o igncr'-issue on FreeBSD
1379jochemberndsen@dse.nl**20070926203750
1380 `set -o igncr' does not work on non-cygwin-systems.
1381 Fail silently if this command does not work, instead
1382 of aborting the build.
1383 
1384]
1385[Change DOCOPTIONS pragma to DOC_OPTIONS
1386David Waern <davve@dtek.chalmers.se>**20071002143849
1387 
1388 MERGE TO STABLE
1389]
1390[FIX: parsing of doc options
1391David Waern <davve@dtek.chalmers.se>**20071002143713
1392 
1393 Lexing of the doc options pragma was changed, but but no change was
1394 made to the parser to reflect that. This patch fixes this problem.
1395 
1396 MERGE TO STABLE
1397]
1398[FIX: mkWWcpr takes open alg types into account
1399Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20071002130407
1400 - This fixed the failures of GMapAssoc and GMapTop for optmising ways
1401 
1402 MERGE TO STABLE
1403]
1404[FIX #1738: KPush rule of FC must take dataConEqTheta into account
1405Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20071001154343
1406 
1407 MERGE TO STABLE
1408]
1409[FIX #1729: Don't try to expand syn families with -XLiberalTypeSynonyms
1410Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20070929122624
1411 
1412 MERGE TO STABLE
1413]
1414[FIX: Make boxy splitters aware of type families
1415Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20070928225541
1416 
1417 MERGE TO STABLE
1418]
1419[Finally, I managed to squash an infamous bug in :print
1420Pepe Iborra <mnislaih@gmail.com>**20070927151300
1421   
1422   It turns out the newtype handling code in :print
1423   was slipping non mutable Tyvars in the types reconstructed.
1424   The error message eventually produced was rather obscure:
1425   
1426   [src/Tp.hs:75:28-64] *MainTp> :p x
1427   *** Exception: No match in record selector Var.tcTyVarDetails
1428   [src/Tp.hs:75:28-64] *MainTp>
1429   
1430   Due to non mutable tyvars, unifyType was failing.
1431   A well placed assertion in the unifyType code would have made
1432    my life much easier.
1433   Which reminds me I should install a -ddump-* system in the
1434   RTTI subsystem, or future hackers will run away in swearing.
1435 
1436 
1437 MERGE TO STABLE
1438 
1439]
1440[Be a bit more flexible in terminal identification for do_bold
1441Pepe Iborra <mnislaih@gmail.com>**20070927141549
1442   
1443   In Os X for instance, by default we have TERM=xterm-color
1444 
1445 MERGE TO STABLE
1446 
1447]
1448[further stub filename fix: I managed to break non-stubdir -fvia-C compilation
1449Simon Marlow <simonmar@microsoft.com>**20070927102539]
1450[MERGED: html_installed_root shouldn't contain $$pkgid
1451Ian Lynagh <igloo@earth.li>**20070927131012
1452 This actually didn't break anything, as the shell expanded $pkgid to the
1453 empty string, but it was still wrong.
1454]
1455[esacpe backslashes in the filename in the .rc file
1456Simon Marlow <simonmar@microsoft.com>**20070912111658]
1457[FIX -stubdir bug: the .hc file was #including the wrong _stub.h filename
1458Simon Marlow <simonmar@microsoft.com>**20070926134539
1459 Using -stubdir together with hierarchical modules, -fvia-C, and --make
1460 is essentially broken in 6.6.x.  Recently discovered by Cabal's use of
1461 -stubdir.
1462 
1463 Test cases: driver027/driver028 (I've updated them to use -fvia-C, in
1464 order to test for this bug).
1465]
1466[fix #1734, panic in :show modules after load failure
1467Simon Marlow <simonmar@microsoft.com>**20070926100732]
1468[Fixing #1340, adding HPC Documentation
1469andy@galois.com**20070926055331]
1470[Be more specific about file-header pragmas
1471simonpj@microsoft.com**20070924162847
1472 
1473 Document the rules for pragmas that must occur at the top of a file.
1474 
1475 Please merge this patch
1476 
1477]
1478[When haddocking, other packages are in ../$$pkgid not ../$$pkg
1479Ian Lynagh <igloo@earth.li>**20070923193344]
1480[Unbreak "dist" target for fresh trees
1481sven.panne@aedion.de**20070923094358
1482 The previous hack to include Parser.hs in source distros broke the possibility
1483 of doing a "make dist" in a fresh tree, i.e. one which has just been checked
1484 out and configured, but *not* built. Of course you will need Happy for such a
1485 source distro later, but at least the freedom to do this is important.
1486 
1487 The ultimate goal should be that something like "make dist" will work in a
1488 freshly checked out tree, with no prerequisite steps (this is very common in
1489 most projects). We should move towards that goal, not away from it...
1490 
1491 
1492 MERGE TO STABLE
1493]
1494[Notice when C modules have changed when deciding whether or not to link
1495Ian Lynagh <igloo@earth.li>**20070923181620
1496 Based on a patch from Lemmih
1497]
1498[Whitespace changes only
1499Ian Lynagh <igloo@earth.li>**20070923174242]
1500[Remove remaining bits of bindist "make in-place"
1501Ian Lynagh <igloo@earth.li>**20070923163640]
1502[Add an entry for strings treated as ISO-8859-1 to the users guide bug list
1503Ian Lynagh <igloo@earth.li>**20070923131845]
1504[Define and use PprTyThing.pprTypeForUser
1505simonpj@microsoft.com**20070911085123
1506 
1507 When printing types for the user, the interactive UI often wants to
1508 leave foralls implicit.  But then (as Claus points out) we need to be
1509 careful about name capture. For example with this source program
1510 
1511        class C a b where
1512          op :: forall a. a -> b
1513 
1514 we were erroneously displaying the class in GHCi (with suppressed
1515 foralls) thus:
1516 
1517        class C a b where
1518          op :: a -> b
1519 
1520 which is utterly wrong.
1521 
1522 This patch fixes the problem, removes GHC.dropForAlls (which is dangerous),
1523 and instead supplies PprTyThing.pprTypeForUser, which does the right thing.
1524 
1525 
1526]
1527[MERGED: Move OPTIONS pragmas above comments
1528Ian Lynagh <igloo@earth.li>**20070921205741]
1529[Fix building with compilers which don't have an integer for a patch level
1530Ian Lynagh <igloo@earth.li>**20070921165316]
1531[Removed duplicate entry for derbugging flag -ddump-tc from the user guide
1532v.dijk.bas@gmail.com**20070920121306]
1533[make stamp.inplace-gcc-lib copy $(LD) instead of $(GccDir)ld.exe to avoid building problem
1534shelarcy <shelarcy@gmail.com>**20070920130159]
1535[Overhaul of the rewrite rules
1536Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20070915074119
1537 - Cleaned up and simplified rules
1538 - Added many missing cases
1539 - The rules OccursCheck and swap have been eliminated and integrate with
1540   the other rules; ie, Subst and Unify perform the occurs check themselves
1541   and they can deal with left-to-right and right-to-left oriented rewrites.
1542   This makes the code simpler and more efficient.
1543 - Also added comments.
1544]
1545[MERGED: GHCi debugger: Added a -fprint-evld-with-show flag
1546Ian Lynagh <igloo@earth.li>**20070920200212
1547 Pepe Iborra <mnislaih@gmail.com>**20070912153505
1548     
1549      The flag enables the use of Show instances in :print.
1550      By default they are not used anymore
1551]
1552[Remove a redundant part of distrib/Makefile's "make install"
1553Ian Lynagh <igloo@earth.li>**20070920183903]
1554[FIX #1677; poor error message for misspelled module declaration
1555Simon Marlow <simonmar@microsoft.com>**20070911085452]
1556[Fix Trac #1718: interaction of error, unlifted tuples, and casts
1557simonpj@microsoft.com**20070920120049
1558 
1559 See Note [Float coercions (unlifted)] in Simplify
1560 
1561 Test is simpl018
1562 
1563]
1564[Fix --print-docdir for relocatable builds; fixes #1226
1565Ian Lynagh <igloo@earth.li>**20070919140100]
1566[Use $(RelocatableBuild) rather than $(Windows)
1567Ian Lynagh <igloo@earth.li>**20070919140037]
1568[Fix exponential-time behaviour with type synonyms; rename -XPartiallyAppliedTypeSynonyms to -XLiberalTypeSynonyms
1569simonpj@microsoft.com**20070919171207
1570 
1571 Fixes exponential behaviour present in GHC 6.6!
1572 
1573 I renamed the flag because the old (not very old) name wasn't
1574 describing what it does.
1575 
1576]
1577[FIX #1688: Givens in checkLoop are not that rigid after all
1578Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20070919150738
1579 - This patch re-instates the policy of 6.6.1 to zonk the given constraints
1580   in the simplifier loop.
1581 
1582 MERGE TO STABLE
1583]
1584[FIX #1713: watch out for type families in splitAppTy functions
1585Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20070919122011
1586 
1587   MERGE TO STABLE
1588]
1589[Make the error message mentioning -XPatternSignatures spell the flag correctly
1590simonpj@microsoft.com**20070919142821]
1591[Hack to get haskell-src's Parser.hs into source distributions
1592Ian Lynagh <igloo@earth.li>**20070919194222]
1593[Catch any exceptions thrown by getEnv; fixes #1704
1594Ian Lynagh <igloo@earth.li>**20070918215752]
1595[Give Windows its own definitions of docdir (and htmldir etc)
1596Ian Lynagh <igloo@earth.li>**20070918201249]
1597[Include build.mk or validate{,-settings}.mk through custom-settings.mk
1598Ian Lynagh <igloo@earth.li>**20070918200637]
1599[Install extra-gcc-opts in bindists
1600Ian Lynagh <igloo@earth.li>**20070918194839]
1601[Writing out .tix file only if you are the original process, not a child.
1602andy@galois.com**20070917230641
1603 This lets us gain coverage on programs that use fork, like xmonad.
1604 
1605 * To be merged to STABLE *
1606 
1607]
1608[removing the functions hs_hpc_read and hs_hpc_write inside Hpc.c, they are dead code.
1609andy@galois.com**20070917230201
1610 
1611 * To be merged to STABLE. *
1612 
1613]
1614[Add validate.mk to .darcs-boring
1615Ian Lynagh <igloo@earth.li>**20070918184509]
1616[avoid platform dependencies: my_uintptr_t ==> StgWord
1617Simon Marlow <simonmar@microsoft.com>**20070917120156]
1618[add support for EM_AMD64 elf machine type, openbsd/amd64 ghci works
1619Don Stewart <dons@galois.com>**20070916034845]
1620[patch Linker.c for amd64/openbsd
1621Don Stewart <dons@galois.com>**20070916012728]
1622[Merge of register allocator patches.
1623Ben.Lippmeier@anu.edu.au**20070918102256
1624 
1625 This is a conflict avoiding merge of several patches which finish off
1626 the new register allocator. After this patch all tests should go through
1627 with both -fregs-graph and -fregs-iterative.
1628 
1629 
1630 Mon Sep 17 14:26:14 BST 2007  Ben.Lippmeier@anu.edu.au
1631   * Tune coalescing in non-iterative register allocator
1632   
1633   If iterative coalescing isn't turned on, then do a single aggressive
1634   coalescing pass for the first build/color cycle and then back off to
1635   conservative coalescing for subseqent passes.
1636   
1637   Aggressive coalescing is a cheap way to eliminate lots of the reg-reg
1638   moves, but it can make the graph less colorable - if we turn it on
1639   for every pass then allocation for code with a large amount of register
1640   pressure (ie SHA1) doesn't converge in a sensible number of cycles.
1641 
1642 
1643 Mon Sep 17 13:42:41 BST 2007  Ben.Lippmeier@anu.edu.au
1644   * Bugfix to iterative coalescer
1645   
1646   Coalescences must be applied to the unsimplified graph in the same order
1647   they were found by the iterative coalescing algorithm - otherwise
1648   the vreg rewrite mapping will be wrong and badness will ensue.
1649 
1650 
1651 Mon Sep 17 12:30:24 BST 2007  Ben.Lippmeier@anu.edu.au
1652   * Add -dasm-lint
1653   
1654   When -dasm-lint is turned on the register conflict graph is checked for
1655   internal consistency after each build/color pass. Make sure that all
1656   edges point to valid nodes, that nodes are colored differently to their
1657   neighbours, and if the graph is supposed to be colored, that all nodes
1658   actually have a color.
1659 
1660 
1661 Fri Sep 14 17:42:34 BST 2007  Ben.Lippmeier@anu.edu.au
1662   * Count CmmTops processed so far in the native code generator
1663   To help with debugging / nicer -ddump-asm-regalloc-stages
1664 
1665 
1666 Fri Sep 14 17:14:08 BST 2007  Ben.Lippmeier@anu.edu.au
1667   * Change spill cost function back to inverse length of live range.
1668   
1669   On further testing it turns out that using Chaitin's spill cost formula
1670   of counting the number of uses of a var and then dividing by the degree
1671   of the node isn't actually a win. Perhaps because this isn't counting
1672   the number of actual spills inserted in the output code.
1673   
1674   This would be worth revisiting if other work manages to increase the
1675   register pressure in the native code.
1676 
1677 
1678 Fri Sep 14 10:39:07 BST 2007  Ben.Lippmeier@anu.edu.au
1679   * Better cleaning of spills in spill cleaner
1680   
1681   Track what slots each basic block reloads from. When cleaning spill
1682   instructions we can use this information to decide whether the slot
1683   spilled to will ever be read from on this path.
1684 
1685 
1686 Thu Sep 13 16:54:07 BST 2007  Ben.Lippmeier@anu.edu.au
1687   * Better calculation of spill costs / selection of spill candidates.
1688   
1689   Use Chaitin's formula for calculation of spill costs.
1690     Cost to spill some vreg = (num writes + num reads) / degree of node
1691   
1692   With 2 extra provisos:
1693     1) Don't spill vregs that live for only 1 instruction.
1694     2) Always prefer to spill vregs that live for a number of instructions
1695          more than 10 times the number of vregs in that class.
1696   
1697   Proviso 2 is there to help deal with basic blocks containing very long
1698   live ranges - SHA1 has live ranges > 1700 instructions. We don't ever
1699   try to keep these long lived ranges in regs at the expense of others.
1700   
1701   Because stack slots are allocated from a global pool, and there is no
1702   slot coalescing yet, without this condition the allocation of SHA1 dosn't
1703   converge fast enough and eventually runs out of stack slots.
1704   
1705   Prior to this patch we were just choosing to spill the range with the
1706   longest lifetime, so we didn't bump into this particular problem.
1707   
1708]
1709[Keep valgrind happy when calling timer_create
1710sven.panne@aedion.de**20070916111927
1711 Fill all of the sigevent structure with zeroes before individual fields are
1712 set. Although not strictly necessary, this keeps tools like valgrind from
1713 complaining about passing uninitialized data, which is a good thing.
1714 
1715 MERGE TO STABLE
1716]
1717[Make DESTDIR work again
1718sven.panne@aedion.de**20070916084339
1719 installPackage is a horror, using --force is probably not the perfect way
1720 to make DESTDIR functionality work again, but given the current state of
1721 affairs, I can't find a quick and clean solution.
1722 
1723 MERGE TO STABLE
1724]
1725[Clean stage<n>/ghc-inplace.c
1726Ian Lynagh <igloo@earth.li>**20070917094300]
1727[MERGED: Resurrect the "lib" subdirectory in the installation tree, it was somehow lost
1728Ian Lynagh <igloo@earth.li>**20070917094212
1729 Sun Sep 16 09:41:22 BST 2007  sven.panne@aedion.de
1730   * Resurrect the "lib" subdirectory in the installation tree, it was somehow lost
1731   Having all package directory directly in the toplevel installation directory
1732   would be a bad thing because of potential name clashes, and it wasn't done this
1733   way earlier, so reinstantiate the old layout.
1734   
1735   MERGE TO STABLE
1736]
1737[Unbreak "clean" and "distclean" targets when there is no testsuite
1738sven.panne@aedion.de**20070915085845]
1739[distclean: extra-gcc-opts, testsuite
1740Simon Marlow <simonmar@microsoft.com>**20070914125444]
1741[Another attempt at getting bindists working everywhere
1742Ian Lynagh <igloo@earth.li>**20070916005328]
1743[MERGED: Better modelling of newtypes in the Term datatype
1744Ian Lynagh <igloo@earth.li>**20070914203411
1745 Pepe Iborra <mnislaih@gmail.com>**20070912165855
1746 
1747  This helps to get pretty printing right,
1748  nested newtypes were not being shown correctly by :print
1749]
1750[Use sed to make stage-specific ghc-inplace.c's
1751Ian Lynagh <igloo@earth.li>**20070914164821
1752 When trying to do it with -D we were having trouble getting the double
1753 quotes through in all Windows configurations.
1754]
1755[Remove --export-all-symbols for DLL linking, it is default and prevents us from using .def files
1756Clemens Fruhwirth <clemens@endorphin.org>**20070831104624]
1757[Fix copy+paste-o, spotted by Simon Marlow
1758Ian Lynagh <igloo@earth.li>**20070914142650]
1759[Add a --names-only flag for list --simple-output
1760Ian Lynagh <igloo@earth.li>**20070907181944
1761 We use this in the testsuite to find out which libraries we should run
1762 the tests from.
1763]
1764[fix install-docs for non-html docs
1765Simon Marlow <simonmar@microsoft.com>**20070914093738]
1766[Remove call to validateGraph that snuck in in last patch
1767Ben.Lippmeier@anu.edu.au**20070914092504
1768 Also some comment / var name wibbles
1769]
1770[Correct the branch versino number (6.8.0 rather than 6.8)
1771Ian Lynagh <igloo@earth.li>**20070913181649]
1772[More library installation path fiddling
1773Ian Lynagh <igloo@earth.li>**20070913174242]
1774[libsubdir for libraries is now always $$pkgid
1775Ian Lynagh <igloo@earth.li>**20070913173926]
1776[Define RelocatableBuild variable
1777Ian Lynagh <igloo@earth.li>**20070913155331
1778 default YES on Windows, NO otherwise.
1779]
1780[We need to thread lots more paths through installPackage to make bindists work
1781Ian Lynagh <igloo@earth.li>**20070913154830]
1782[Update .darcs-boring
1783Ian Lynagh <igloo@earth.li>**20070913015704]
1784[Add some more bits to the boring file
1785Ian Lynagh <igloo@earth.li>**20070907212208]
1786[STABLE ONLY: Fix build
1787Ian Lynagh <igloo@earth.li>**20070913004230]
1788[MERGED: GHCi debugger: new flag -fbreak-on-error
1789Ian Lynagh <igloo@earth.li>**20070912141427
1790 Pepe Iborra <mnislaih@gmail.com>**20070911101443
1791 
1792      This flag works like -fbreak-on-exception, but only stops
1793      on uncaught exceptions.
1794]
1795[STABLE only: Use -fno-warn-orphans in compiler/ if the compiler supports it
1796Ian Lynagh <igloo@earth.li>**20070912140917
1797 This was done as part of a larger patch in the HEAD.
1798]
1799[Give push-all the ability to pull with a --pull flag
1800Ian Lynagh <igloo@earth.li>**20070912140743
1801 OK, so the name is a bit wrong now...
1802]
1803[Handle doc-index*.html, not just doc-index.html
1804Ian Lynagh <igloo@earth.li>**20070912135407
1805 haddock sometimes makes doc-index-A.html etc files. Not sure why it
1806 doesn't for me.
1807 Patch from Judah Jacobson.
1808]
1809[Fix repeated section name in documentation.
1810judah.jacobson@gmail.com**20070907211616]
1811[Fix installation code
1812Ian Lynagh <igloo@earth.li>**20070912113954]
1813[updating hpc toolkit
1814andy@galois.com**20070908051600
1815 
1816 The hpc overlay has been ported from hpc-0.4
1817 The new API for readMix is now used.
1818 
1819]
1820[Fixing hpc to allow use of hash function to seperate source files on source path
1821andy@galois.com**20070907223357]
1822[Fixing Hpc's Finite Map compat lib for ghc 6.2.1
1823andy@galois.com**20070908055320]
1824[Further tweaking of haddock doc installation
1825Ian Lynagh <igloo@earth.li>**20070911224734
1826 On Windows we now always use a path beginning $topdir/ so bindists are
1827 relocatable.
1828 
1829 We also now tell "Setup configure" where we are putting the
1830 documentation, and tell installPackage to override as little as
1831 possible.
1832]
1833[make in-place has bitrotted, so don't advertise or support it
1834Ian Lynagh <igloo@earth.li>**20070911202202]
1835[Synched documentation links with current directory layout
1836sven.panne@aedion.de**20070911071801
1837 Somehow the "html" subdirs are gone, this change was not completely
1838 intentional, but it is nice, anyway. Those subdirs never served any
1839 real purpose...
1840 
1841 MERGE TO STABLE
1842]
1843[Refactoring & documenting the Term pprinter used by :print
1844Pepe Iborra <mnislaih@gmail.com>**20070911180411]
1845[Custom printer for the Term datatype that won't output TypeRep values
1846Pepe Iborra <mnislaih@gmail.com>*-20070911151454
1847 
1848 The term pretty printer used by :print shouldn't output
1849 the contents of TypeRep values, e.g. inside Dynamic values
1850]
1851[Try and rewrite reloads to reg-reg moves in the spill cleaner
1852Ben.Lippmeier@anu.edu.au**20070911173833]
1853[Don't try and coalesce nodes with themselves
1854Ben.Lippmeier@anu.edu.au**20070911151211]
1855[Try and allocate vregs spilled/reloaded from some slot to the same hreg
1856Ben.Lippmeier@anu.edu.au**20070911145054]
1857[Better handling of live range joins via spill slots in spill cleaner
1858Ben.Lippmeier@anu.edu.au**20070911130247]
1859[Make sure to coalesce all the nodes found during iterative scanning
1860Ben.Lippmeier@anu.edu.au**20070910162909]
1861[Add iterative coalescing to graph coloring allocator
1862Ben.Lippmeier@anu.edu.au**20070907172315
1863 
1864 Iterative coalescing interleaves conservative coalesing with the regular
1865 simplify/scan passes. This increases the chance that nodes will be coalesced
1866 as they will have a lower degree than at the beginning of simplify. The end
1867 result is that more register to register moves will be eliminated in the
1868 output code, though the iterative nature of the algorithm makes it slower
1869 compared to non-iterative coloring.
1870 
1871 Use -fregs-iterative  for graph coloring allocation with iterative coalescing
1872     -fregs-graph      for non-iterative coalescing.
1873 
1874 The plan is for iterative coalescing to be enabled with -O2 and have a
1875 quicker, non-iterative algorithm otherwise. The time/benefit tradeoff
1876 between iterative and not is still being tuned - optimal graph coloring
1877 is NP-hard, afterall..
1878]
1879[Cure space leak in coloring register allocator
1880Ben.Lippmeier@anu.edu.au**20070906131522
1881 
1882 We now do a deep seq on the graph after it is 'built', but before coloring.
1883 Without this, the colorer will just force bits of it and the heap will
1884 fill up with half evaluated pieces of graph from previous build/spill
1885 stages and zillions of apply thunks.
1886 
1887]
1888[Small improvement to GraphColor.selectColor
1889Ben.Lippmeier@anu.edu.au**20070906103347
1890 
1891 When selecting a color for a node, try and avoid using colors that
1892 conflicting nodes prefer. Not sure if this'll make much difference,
1893 but it was easy enough to add..
1894 
1895]
1896[Custom printer for the Term datatype that won't output TypeRep values
1897Pepe Iborra <mnislaih@gmail.com>**20070911151454
1898 
1899 The term pretty printer used by :print shouldn't output
1900 the contents of TypeRep values, e.g. inside Dynamic values
1901]
1902[Documentation for -fbreak-on-error
1903Pepe Iborra <mnislaih@gmail.com>**20070911101944]
1904[Remove obsolete -fdebugging flag
1905Pepe Iborra <mnislaih@gmail.com>**20070907135857
1906 
1907 A left over from the 1st GHCi debugger prototype
1908]
1909[Tiny optimisation/simplification to FunDeps.grow
1910simonpj@microsoft.com**20070907101133]
1911[Warning police
1912simonpj@microsoft.com**20070907101103]
1913[Add clarifying comments
1914simonpj@microsoft.com**20070907101046]
1915[Fix zonking in mkExports
1916simonpj@microsoft.com**20070906090346
1917 
1918 I'd missed zonk, so that an error message for missing type signature
1919 read (unhelpfully)
1920 
1921   main/GHC.hs:1070:0:
1922      Warning: Definition but no type signature for `upsweep''
1923               Inferred type: upsweep' :: forall t1. t
1924 
1925 The trouble was that 't' hadn't been zonked.
1926 
1927 Push to the stable branch
1928 
1929]
1930[Cleaned up version of Tom's unflattened skolemOccurs
1931Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20070910083457]
1932[Made TcTyFuns warning clean
1933Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20070907121113]
1934[fix for Simple9
1935Tom Schrijvers <tom.schrijvers@cs.kuleuven.be>**20070906171703
1936 
1937 No longer include non-indexed arguments
1938 in lookup of matching type function clause.
1939 By including non-indexed (additional) arguments,
1940 the lookup always fails.
1941]
1942[Improved error messages for higher-rank equality contexts
1943Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20070907101901]
1944[FIX: Type families test Simple14
1945Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20070907092217]
1946[FIX #903: mkWWcpr: not a product
1947Simon Marlow <simonmar@microsoft.com>**20070910103830
1948 This fixes the long-standing bug that prevents some code with
1949 mutally-recursive modules from being compiled with --make and -O,
1950 including GHC itself.  See the comments for details.
1951 
1952 There are some additional cleanups that were forced/enabled by this
1953 patch: I removed importedSrcLoc/importedSrcSpan: it wasn't adding any
1954 useful information, since a Name already contains its defining Module.
1955 In fact when re-typechecking an interface file we were wrongly
1956 replacing the interesting SrcSpans in the Names with boring
1957 importedSrcSpans, which meant that location information could degrade
1958 after reloading modules.  Also, recreating all these Names was a waste
1959 of space/time.
1960]
1961[The RTS is Haddock-less, tell make about it
1962sven.panne@aedion.de**20070910065759
1963 MERGE TO STABLE
1964]
1965[Include package documentation, n-th attempt...
1966sven.panne@aedion.de**20070909154053
1967 MERGE TO STABLE
1968]
1969[Yet another attempt to get the paths for the installed documentation correct
1970sven.panne@aedion.de**20070909124922
1971 MERGE TO STABLE
1972]
1973[Add a "show" target here, too, quite useful for debugging the build process
1974sven.panne@aedion.de**20070909123813
1975 MERGE TO STABLE
1976]
1977[Never try to build Haddock docs in ghc/compiler, even with HADDOCK_DOCS=YES
1978sven.panne@aedion.de**20070909123401
1979 MERGE TO STABLE
1980]
1981[Removed install-dirs target, it is unnecessary and leads to stray empty directories
1982sven.panne@aedion.de**20070909121157
1983 MERGE TO STABLE
1984]
1985[Removed install-dirs from phony targets, it is unused
1986sven.panne@aedion.de**20070909102815
1987 MERGE TO STABLE
1988]
1989[Nicer GHCi debugger underlining
1990Pepe Iborra <mnislaih@gmail.com>**20070910145319
1991 
1992 Improved the underlining of blocks.
1993 With this patch it does:
1994 
1995 Stopped at break020.hs:(6,20)-(7,29)
1996 _result :: t1 () = _
1997 5 
1998                      vv
1999 6  in_another_decl _ = do line1 0
2000 7                         line2 0
2001                                  ^^
2002 8 
2003 
2004 Instead of
2005 
2006 Stopped at break020.hs:(6,20)-(7,29)
2007 _result :: t1 () = _
2008 5 
2009 6  in_another_decl _ = do line1 0
2010                        ^^
2011 7                         line2 0
2012                                  ^^
2013 8 
2014 
2015 
2016]
2017[FIX #1669 (GHCi debugger underlining is in the wrong place)
2018Pepe Iborra <mnislaih@gmail.com>**20070910142129
2019 
2020 We weren't taking into account the offset added by the line numbers:
2021 
2022 Stopped at break020.hs:10:2-8
2023 _result :: IO () = _
2024 9  main = do
2025 10    line1 0
2026      ^^^^^^^
2027 11    line2 0
2028 
2029 
2030 This patch adjusts that
2031 
2032]
2033[Add a BeConservative setting to the make system
2034Ian Lynagh <igloo@earth.li>**20070910133528
2035 If it is set, we don't try to use clock_gettime
2036]
2037[Add a crucial missing ;
2038Ian Lynagh <igloo@earth.li>**20070908231024]
2039[Use := for PACKAGE_TARNAME, no reason for not doing so
2040sven.panne@aedion.de**20070908124645
2041 MERGE TO STABLE
2042]
2043[Removed unused oldincludedir, things are already complicated enough
2044sven.panne@aedion.de**20070908124448
2045 MERGE TO STABLE
2046]
2047[Added comment about GNU coding standards/autoconf history
2048sven.panne@aedion.de**20070908123317
2049 MERGE TO STABLE
2050]
2051[We seem to use Outputable unconditionally these days
2052sven.panne@aedion.de**20070908142712
2053 MERGE TO STABLE
2054]
2055[Make various assertions work when !DEBUG
2056Ian Lynagh <igloo@earth.li>**20070908003112]
2057[Fix assertions in RtClosureInspect
2058Ian Lynagh <igloo@earth.li>**20070907233330]
2059[In ASSERT and friends, use all the expressions we are passed even if !DEBUG
2060Ian Lynagh <igloo@earth.li>**20070907233324
2061 Otherwise we may get unused variable warnings. GHC should optimise them
2062 all out for us.
2063]
2064[Don't put directories for unbuildable libraries in bindists
2065Ian Lynagh <igloo@earth.li>**20070907210037
2066 We think there is a library there, and then installPackage fails to
2067 install it.
2068]
2069[Rejig boot
2070Ian Lynagh <igloo@earth.li>**20070907122847
2071 find on Windows doesn't understand -L, so stop trying to be clever and
2072 just autoreconf everything.
2073 
2074 Also, print out the names of directories as we autoreconf them, so that
2075 if autoreconfing one breaks then we know which one it was.
2076]
2077[Fix publishing
2078Ian Lynagh <igloo@earth.li>**20070907121414
2079 Paths like c:/foo/bar get misinterpreted by rsync (really SSH?), as it
2080 thinks we want /foo/bar on the machine c.
2081]
2082[Set do_bold based on $TERM, not platform
2083Ian Lynagh <igloo@earth.li>**20070906175535]
2084[Make installPackage install settings from the [package].buildinfo file.
2085judah.jacobson@gmail.com**20070906010044
2086 
2087 M ./libraries/installPackage.hs -1 +14
2088]
2089[Wibble some variable definitions to fix installation of bindists
2090Ian Lynagh <igloo@earth.li>**20070906140430]
2091[Remove hardtop_plat/FPTOOLS_TOP_ABS_PLATFORM
2092Ian Lynagh <igloo@earth.li>**20070906122036
2093 They are now the same as hardtop/FPTOOLS_TOP_ABS, so use those instead.
2094 
2095 Also removed some substitutions of / for \, as we now use a Haskell
2096 program to find the top path, and it only makes paths with /s in.
2097]
2098[warning police
2099Pepe Iborra <mnislaih@gmail.com>**20070906102417]
2100[Cleanup of equality rewriting and no swapInsts for wanteds
2101Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20070906115818
2102 - Removed code duplication
2103 - Added comments
2104 - Took out swapInsts for wanteds.  With the recent extension to swapInsts
2105   it does mess up error messages if applied to wanteds and i should not be
2106   necessary.
2107 NB: The code actually shrunk.  Line increase is due to comments.
2108]
2109[Remove EqInsts from addSCs to avoid -DDEBUG warnings
2110Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20070906095102]
2111[EqInst related clean up
2112Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20070906095018
2113 - Remove some unused and some superflous functions
2114 - Add comments regarding ancestor equalities
2115 - Tidied ancestor equality computation
2116 - Replace some incorrect instToId by instToVar (but there are still some
2117   bad ones around as we still get warnings with -DDEBUG)
2118 - Some cleaned up layout
2119 NB: Code growth is just due to more comments.
2120]
2121[Remove dead code in TcSimplify
2122Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20070906031719]
2123[Fix -DDEBUG warning
2124Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20070906023914]
2125[also swap for variables in completion algorithm
2126Tom Schrijvers <tom.schrijvers@cs.kuleuven.be>**20070905134426]
2127[Set GhcBootLibs=YES in mk/validate-settings.mk
2128Ian Lynagh <igloo@earth.li>**20070906113629]
2129[Quote all the arguments to installPackage
2130Ian Lynagh <igloo@earth.li>**20070905232959
2131 Makes it obvious what's going on if any are empty.
2132]
2133[FIX #1465, error messages could sometimes say things like "A.T doesn't match A.T"
2134Simon Marlow <simonmar@microsoft.com>**20070906093744
2135 This turned out to be a black hole, however we believe we now have a
2136 plan that does the right thing and shouldn't need to change again.
2137 Error messages will only ever refer to a name in an unambiguous way,
2138 falling back to <package>:<module>.<name> if no unambiguous shorter
2139 variant can be found.  See HscTypes.mkPrintUnqualified for the
2140 details.
2141 
2142 Earlier hacks to work around this problem have been removed (TcSimplify).
2143]
2144[fix error in .hi-boot-6
2145Simon Marlow <simonmar@microsoft.com>**20070905112503]
2146[Improve GraphColor.colorScan
2147Ben.Lippmeier@anu.edu.au**20070905164401
2148 
2149 Testing whether a node in the conflict graph is trivially
2150 colorable (triv) is still a somewhat expensive operation.
2151 
2152 When we find a triv node during scanning, even though we remove
2153 it and its edges from the graph, this is unlikely to to make the
2154 nodes we've just scanned become triv - so there's not much point
2155 re-scanning them right away.
2156 
2157 Scanning now takes place in passes. We scan the whole graph for
2158 triv nodes and remove all the ones found in a batch before rescanning
2159 old nodes.
2160 
2161 Register allocation for SHA1.lhs now takes (just) 40% of total
2162 compile time with -O2 -fregs-graph on x86
2163 
2164]
2165[Fix OS X warnings
2166Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070906004831]
2167[Declare ctime_r on Mac OS
2168Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070906001613
2169 
2170 On Mac OS, ctime_r is not declared in time.h if _POSIX_C_SOURCE is defined. We
2171 work around this by providing a declaration ourselves.
2172 
2173]
2174[FIX #1651: use family instances during interactive typechecking
2175Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20070905130244]
2176[Updates to work with latest cabal.
2177Duncan Coutts <duncan@haskell.org>**20070906131726]
2178[Add an OPTIONS -w pragma to utils/genprimopcode/Lexer.xx
2179Ian Lynagh <igloo@earth.li>**20070905184808
2180 SPJ reports that it has warnings (=> errors with -Werror) on Windows.
2181]
2182[Build settings for validation are now in mk/validate-settings.mk
2183Ian Lynagh <igloo@earth.li>**20070905184614]
2184[Don't give warnings in compat
2185Ian Lynagh <igloo@earth.li>**20070905182923
2186 There are lots of warnings in here due to things like modules being
2187 imported that, in some versions of GHC, aren't used. Thus we don't
2188 give any warnings in here, and therefore validating with -Werror won't
2189 make the build fail.
2190 
2191 An alternative would be to do
2192 SRC_HC_OPTS := $(filter-out -Werror,$(SRC_HC_OPTS))
2193 but if warnings are expected then there is little point in spewing them
2194 out anyway.
2195 
2196 On the other hand, there aren't any warnings for me (GHC 6.6 on Linux/amd64),
2197 so perhaps it would be worth fixing them instead.
2198]
2199[Refactor, improve, and document the deriving mechanism
2200simonpj@microsoft.com**20070905170730
2201 
2202 This patch does a fairly major clean-up of the code that implements 'deriving.
2203 
2204 * The big changes are in TcDeriv, which is dramatically cleaned up.
2205   In particular, there is a clear split into
2206        a) inference of instance contexts for deriving clauses
2207        b) generation of the derived code, given a context
2208   Step (a) is skipped for standalone instance decls, which
2209   have an explicitly provided context.
2210 
2211 * The handling of "taggery", which is cooperative between TcDeriv and
2212   TcGenDeriv, is cleaned up a lot
2213 
2214 * I have added documentation for standalone deriving (which was
2215   previously wrong).
2216 
2217 * The Haskell report is vague on exactly when a deriving clause should
2218   succeed.  Prodded by Conal I have loosened the rules slightly, thereyb
2219   making drv015 work again, and documented the rules in the user manual.
2220 
2221 I believe this patch validates ok (once I've update the test suite)
2222 and can go into the 6.8 branch.
2223 
2224]
2225[Further documentation about mdo, suggested by Benjamin Franksen
2226simonpj@microsoft.com**20070829083349]
2227[Refactor MachRegs.trivColorable to do unboxed accumulation
2228Ben.Lippmeier@anu.edu.au**20070905125219
2229 
2230 trivColorable was soaking up total 31% time, 41% alloc when
2231 compiling SHA1.lhs with -O2 -fregs-graph on x86.
2232 
2233 Refactoring to use unboxed accumulators and walk directly
2234 over the UniqFM holding the set of conflicts reduces this
2235 to 17% time, 6% alloc.
2236]
2237[change of representation for GenCmm, GenCmmTop, CmmProc
2238Norman Ramsey <nr@eecs.harvard.edu>**20070905164802
2239 The type parameter to a C-- procedure now represents a control-flow
2240 graph, not a single instruction.  The newtype ListGraph preserves the
2241 current representation while enabling other representations and a
2242 sensible way of prettyprinting.  Except for a few changes in the
2243 prettyprinter the new compiler binary should be bit-for-bit identical
2244 to the old.
2245]
2246[enable and slay warnings in cmm/Cmm.hs
2247Norman Ramsey <nr@eecs.harvard.edu>**20070905164646]
2248[fix warnings
2249Simon Marlow <simonmar@microsoft.com>**20070905114205]
2250[FIX #1650: ".boot modules interact badly with the ghci debugger"
2251Simon Marlow <simonmar@microsoft.com>**20070905104716
2252 
2253 In fact hs-boot files had nothing to do with it: the problem was that
2254 GHCi would forget the breakpoint information for a module that had
2255 been reloaded but not recompiled.  It's amazing that we never noticed
2256 this before.
2257 
2258 The ModBreaks were in the ModDetails, which was the wrong place.  When
2259 we avoid recompiling a module, ModDetails is regenerated from ModIface
2260 by typecheckIface, and at that point it has no idea what the ModBreaks
2261 should be, so typecheckIface made it empty.  The right place for the
2262 ModBreaks to go is with the Linkable, which is retained when
2263 compilation is avoided.  So now I've placed the ModBreaks in with the
2264 CompiledByteCode, which also makes it clear that only byte-code
2265 modules have breakpoints.
2266 
2267 This fixes break022/break023
2268 
2269]
2270[Fix boot: it was avoiding autoreconfing
2271Simon Marlow <simonmar@microsoft.com>**20070905101419
2272 Two problems here: find needs to dereference symbolic links (-L
2273 option, I really hope that's portable), and we need to notice when
2274 aclocal.m4 is updated. 
2275 
2276 Somehow I think this was easier when it just always ran
2277 autoreconf... what was wrong with that?
2278]
2279[don't generate .hi-boot/.o-boot files in GHCi
2280Simon Marlow <simonmar@microsoft.com>**20070904141231]
2281[refactoring only
2282Simon Marlow <simonmar@microsoft.com>**20070904141209]
2283[completion for modules in 'import M'
2284Simon Marlow <simonmar@microsoft.com>**20070904104458]
2285[make the GhcThreaded setting lazy, because GhcUnregisterised might not be set yet
2286Simon Marlow <simonmar@microsoft.com>**20070904101729]
2287[Typo
2288Ian Lynagh <igloo@earth.li>**20070905161402]
2289[Fix bindist creation on Windows
2290Ian Lynagh <igloo@earth.li>**20070905161354]
2291[Fix up bindist creation and publishing
2292Ian Lynagh <igloo@earth.li>**20070905160641]
2293[{Enter,Leave}CriticalSection imports should be outside #ifdef __PIC__
2294Simon Marlow <simonmar@microsoft.com>**20070905084941]
2295[warning police
2296Ben.Lippmeier@anu.edu.au**20070905094509]
2297[Do conservative coalescing in register allocator
2298Ben.Lippmeier@anu.edu.au**20070903163404
2299 
2300 Avoid coalescing nodes in the register conflict graph if the
2301 new node will not be trivially colorable. Also remove the
2302 front end aggressive coalescing pass.
2303   
2304 For typical Haskell code the graph coloring allocator now does
2305 about as well as the linear allocator.
2306   
2307 For code with a large amount of register pressure it does much
2308 better, but takes longer.
2309   
2310 For SHA1.lhs from darcs on x86
2311   
2312           spills    reloads    reg-reg-moves
2313           inserted   inserted  left in code   compile-time
2314   linear    1068      1311        229            7.69(s)
2315   graph      387       902        340           16.12(s)
2316 
2317]
2318[Use dlsym on OS X if available
2319Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070905052213
2320 
2321 On OS X 10.4 and newer, we have to use dlsym because the old NS* interface has
2322 been deprecated. The patch checks for HAVE_DLFCN_H instead of switching on
2323 the OS version.
2324 
2325 There is one additional quirk: although OS X prefixes global symbols with an
2326 underscore, dlsym expects its argument NOT to have a leading underscore. As a
2327 hack, we simply strip it off in lookupSymbol. Something a bit more elaborate
2328 might be cleaner.
2329]
2330[bug fix in Decomp step of completion algorithm for given equations
2331Tom Schrijvers <tom.schrijvers@cs.kuleuven.be>**20070904123945]
2332[fix of wanted equational class context
2333Tom Schrijvers <tom.schrijvers@cs.kuleuven.be>**20070904080014
2334 
2335 Previously failed to account for equational
2336 class context for wanted dictionary contraints, e.g. wanted C a
2337 in
2338 
2339        class a ~ Int => C a
2340        instance C Int
2341 
2342 should give rise to wanted a ~ Int and consequently discharge a ~ Int by
2343 unifying a with Int and then discharge C Int with the instance.
2344 
2345 All ancestor equalities are taken into account.
2346 
2347 
2348]
2349[FIX: Correct Leave/EnterCriticalSection imports
2350Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20070905010217]
2351[Don't hardwire the build path into the Haddock docs
2352sven.panne@aedion.de**20070904172855
2353 Formerly, the ghc-pkg was called to get the HTML dirs for other packages, but
2354 of course doing this at *build* time is totally wrong. Now we use a relative
2355 path, just like before. This is probably not perfect, but much better than
2356 before.
2357 
2358 As a sidenote: Cabal calls the relevant flag "html-location", ghc-pkg calls the
2359 field "haddock-html", and Haddock itself uses it as part of "read-interface".
2360 Too much creativity is sometimes a bad thing...
2361]
2362[put the @N suffix on stdcall foreign calls in .cmm code
2363Simon Marlow <simonmar@microsoft.com>**20070904142853
2364 This applies to EnterCriticalSection and LeaveCriticalSection in the RTS
2365]
2366[Set datarootdir to the value configure gives us (if any) so datadir works
2367Ian Lynagh <igloo@earth.li>**20070905013239
2368 We then set datarootdir to something else later on so that things still
2369 work when configure doesn't set it.
2370]
2371[Add a -Warn flag
2372Ian Lynagh <igloo@earth.li>**20070904141028]
2373[Always turn on -Wall -Werror when compiling the compiler, even for stage 1
2374Ian Lynagh <igloo@earth.li>**20070904140324]
2375[Fix CodingStyle#Warnings URLs
2376Ian Lynagh <igloo@earth.li>**20070904140115]
2377[OPTIONS_GHC overrides the command-line, not the other way around
2378Simon Marlow <simonmar@microsoft.com>**20070904100623]
2379[fix cut-and-pasto
2380Simon Marlow <simonmar@microsoft.com>**20070904100526]
2381[FIX #1651: unBox types when deferring unification
2382Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20070904072542
2383 - This fixes the first part of #1651; ie, the panic in ghci.
2384]
2385[Better error message for unsolvable equalities
2386Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20070903074528]
2387[Use := rather than = when assigning make variables to avoid cycles
2388Ian Lynagh <igloo@earth.li>**20070903235117]
2389[Don't use autoconf's datarootdir as <2.60 doesn't have it
2390Ian Lynagh <igloo@earth.li>**20070903234504]
2391[Use OPTIONS rather than OPTIONS_GHC for pragmas
2392Ian Lynagh <igloo@earth.li>**20070903233903
2393 Older GHCs can't parse OPTIONS_GHC.
2394 This also changes the URL referenced for the -w options from
2395 WorkingConventions#Warnings to CodingStyle#Warnings for the compiler
2396 modules.
2397]
2398[fix build (sorry, forgot to push with previous patch)
2399Simon Marlow <simonmar@microsoft.com>**20070903200615]
2400[remove debugging code
2401Simon Marlow <simonmar@microsoft.com>**20070903200003]
2402[Fix building RTS with gcc 2.*; declare all variables at the top of a block
2403Ian Lynagh <igloo@earth.li>**20070903165847
2404 Patch from Audrey Tang.
2405]
2406[Change the version number to 6.8 on the branch
2407Ian Lynagh <igloo@earth.li>**20070903172054]
2408[TAG ghc-6.8 branched 2007-09-03
2409Ian Lynagh <igloo@earth.li>**20070903155416]
2410[NCG space leak avoidance refactor
2411Ben.Lippmeier@anu.edu.au**20070903132254]
2412[Do aggressive register coalescing
2413Ben.Lippmeier@anu.edu.au**20070903115149
2414 Conservative and iterative coalescing come next.
2415]
2416[Add coalescence edges back to the register graph
2417Ben.Lippmeier@anu.edu.au**20070828144424]
2418[FIX #1623: disable the timer signal when the system is idle (threaded RTS only)
2419Simon Marlow <simonmar@microsoft.com>**20070903132523
2420 Having a timer signal go off regularly is bad for power consumption,
2421 and generally bad practice anyway (it means the app cannot be
2422 completely swapped out, for example).  Fortunately the threaded RTS
2423 already had a way to detect when the system was idle, so that it can
2424 trigger a GC and thereby find deadlocks.  After performing the GC, we
2425 now turn off timer signals, and re-enable them again just before
2426 running any Haskell code.
2427]
2428[FIX #1648: rts_mkWord64 was missing
2429Simon Marlow <simonmar@microsoft.com>**20070903131625
2430 Also noticed a few others from RtsAPI were missing, so I added them all
2431]
2432[FIX for #1080
2433Ross Paterson <ross@soi.city.ac.uk>**20070903141044
2434 
2435 Arrow desugaring now uses a private version of collectPatBinders and
2436 friends, in order to include dictionary bindings from ConPatOut.
2437 
2438 It doesn't fix arrowrun004 (#1333), though.
2439]
2440[Fix space leak in NCG
2441Ben.Lippmeier@anu.edu.au**20070831090431]
2442[GhcThreaded was bogusly off by default due to things being in the wrong order
2443Simon Marlow <simonmar@microsoft.com>**20070903103829]
2444[bump MAX_THUNK_SELECTOR_DEPTH from 8 to 16
2445Simon Marlow <simonmar@microsoft.com>**20070903101912
2446 this "fixes" #1038, in that the example runs in constant space, but
2447 it's really only working around the problem.  I have a better patch,
2448 attached to ticket #1038, but I'm wary about tinkering with this
2449 notorious bug farm so close to the release, so I'll push it after
2450 6.8.1.
2451]
2452[comments only
2453Simon Marlow <simonmar@microsoft.com>**20070831092224
2454 I had planned to do findEnclosingDecl a different way, so add a ToDo
2455 as a reminder.
2456]
2457[Suppress some warnings on Windows
2458Ian Lynagh <igloo@earth.li>**20070902222048]
2459[Fix warnings in ghc-pkg on Windows
2460Ian Lynagh <igloo@earth.li>**20070902221442]
2461[Fix and supress some warnings, and turn on -Werror when validating
2462Ian Lynagh <igloo@earth.li>**20070902193918]
2463[Explicitly set "docdir" when calling make, configure's --docdir seems to be ignored
2464sven.panne@aedion.de**20070902164342]
2465[Use DESTDIR for installation
2466sven.panne@aedion.de**20070901175124]
2467[Fixed TeX syntax
2468sven.panne@aedion.de**20070901124615]
2469[Set -Wall -fno-warn-name-shadowing in compiler/ when stage /= 2
2470Ian Lynagh <igloo@earth.li>**20070901113018]
2471[Add {-# OPTIONS_GHC -w #-} and some blurb to all compiler modules
2472Ian Lynagh <igloo@earth.li>**20070901112130]
2473[Add a --print-docdir flag
2474Ian Lynagh <igloo@earth.li>**20070831231538]
2475[Follow Cabal module movements in installPackage
2476Ian Lynagh <igloo@earth.li>**20070831181359]
2477[Follow Cabal's move Distribution.Program -> Distribution.Simple.Program
2478Ian Lynagh <igloo@earth.li>**20070831175217]
2479[Don't use the --docdir etc that autoconf provides
2480Ian Lynagh <igloo@earth.li>**20070831173903
2481 Older autoconfs (<2.60?) don't understand them.
2482]
2483[Don't try to copy haddock index files if we haven't built the docs.
2484judah.jacobson@gmail.com**20070831050321
2485 
2486 M ./libraries/Makefile +2
2487]
2488[Use cp -R instead of cp -a (it's more portable).
2489judah.jacobson@gmail.com**20070831050215
2490 
2491 M ./libraries/Makefile -3 +3
2492]
2493[Fix installing the libraries when there is no DESTDIR
2494Ian Lynagh <igloo@earth.li>**20070831015442]
2495[Make the doc index page obey DESTDIR
2496Ian Lynagh <igloo@earth.li>**20070831014537]
2497[Make rts docs obey DESTDIR
2498Ian Lynagh <igloo@earth.li>**20070831014346]
2499[Make the manpage obey DESTDIR
2500Ian Lynagh <igloo@earth.li>**20070831014253]
2501[Obey DESTDIR when installing library docs
2502Ian Lynagh <igloo@earth.li>**20070831012351]
2503[typo in DLL code
2504Simon Marlow <simonmar@microsoft.com>**20070830143105]
2505[Windows: give a better error message when running out of memory
2506Simon Marlow <simonmar@microsoft.com>**20070830135146
2507 I think this fixes #1209
2508 
2509 Previously:
2510 
2511 outofmem.exe: getMBlocks: VirtualAlloc MEM_RESERVE 1025 blocks failed: Not enoug
2512 h storage is available to process this command.
2513 
2514 Now:
2515 
2516 outofmem.exe: out of memory
2517]
2518[Remove NDP-related stuff from PrelNames
2519Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070831045411
2520 
2521 We don't need fixed Names for NDP built-ins. Instead, we can look them up
2522 ourselves during VM initialisation.
2523]
2524[Vectorisation of enumeration types
2525Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070831041822]
2526[Number data constructors from 0 when vectorising
2527Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070831032528]
2528[Rename functions
2529Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070831032125]
2530[Refactoring
2531Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070831015312]
2532[Refactoring
2533Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070831012638]
2534[Fix vectorisation of nullary data constructors
2535Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070831005912]
2536[Do not unnecessarily wrap array components
2537Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070830062958]
2538[Remove dead code
2539Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070830055444]
2540[Fix vectorisation of unary data constructors
2541Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070830040252]
2542[Fix vectorisation of sum type constructors
2543Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070830035225]
2544[Track changes to package ndp (use PArray_Int# instead of UArr Int)
2545Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070830032104]
2546[Find the correct array type for primitive tycons
2547Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070830025224]
2548[Add code for looking up PA methods of primitive TyCons
2549Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070830014257]
2550[Delete dead code
2551Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070829145630]
2552[Rewrite vectorisation of product DataCon workers
2553Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070829145446]
2554[Rewrite generation of PA dictionaries
2555Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070829064258]
2556[Complete PA dictionary generation for product types
2557Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070824230152]
2558[Simplify generation of PR dictionaries for products
2559Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070824071925]
2560[Remove unused vectorisation built-in
2561Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070824051524]
2562[Adapt PArray instance generation to new scheme
2563Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070824051242]
2564[Add UArr built-in
2565Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070824051213]
2566[Modify generation of PR dictionaries for new scheme
2567Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070824043144]
2568[Refactoring
2569Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070824040901]
2570[Remove dead code
2571Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070824035751]
2572[Fix buildFromPRepr
2573Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070824035700]
2574[Move code
2575Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070824032930]
2576[Move code
2577Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070824032743]
2578[Delete dead code
2579Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070824031504]
2580[Change buildToPRepr to work with the new representation scheme
2581Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070824031407]
2582[Remove Embed and related stuff from vectorisation
2583Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070824023030]
2584[Encode generic representation of vectorised TyCons by a data type
2585Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070824012140]
2586[Remove dead code
2587Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070823135810]
2588[Conversions to/from generic array representation (not finished yet)
2589Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070823135649]
2590[Use n-ary sums and products for NDP's generic representation
2591Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070823060945
2592 
2593 Originally, we wanted to only use binary ones, at least initially. But this
2594 would a lot of fiddling with selectors when converting to/from generic
2595 array representations. This is both inefficient and hard to implement.
2596 Instead, we will limit the arity of our sums/product representation to, say,
2597 16 (it's 3 at the moment) and initially refuse to vectorise programs for which
2598 this is not sufficient. This allows us to implement everything in the library.
2599 Later, we can implement the necessary splitting.
2600]
2601[Fix where all the documentation gets installed
2602Ian Lynagh <igloo@earth.li>**20070830223740
2603 The paths can also now be overridden with the standard configure flags
2604 --docdir=, --htmldir= etc. We were always advertising these, but now we
2605 actually obey them.
2606]
2607[Added decidability check for type instances
2608Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20070830144901]
2609[Warning police
2610Pepe Iborra <mnislaih@gmail.com>**20070829183155]
2611[Use a Data.Sequence instead of a list in cvReconstructType
2612Pepe Iborra <mnislaih@gmail.com>**20070829175119
2613 
2614 While I was there I removed some trailing white space
2615]
2616[Fix a bug in RtClosureInspect.cvReconstructType.
2617Pepe Iborra <mnislaih@gmail.com>**20070829174842
2618 Test is print025
2619]
2620[Warning police
2621Pepe Iborra <mnislaih@gmail.com>**20070829165653]
2622[UNDO: Extend ModBreaks with the srcspan's of the enclosing expressions
2623Pepe Iborra <mnislaih@gmail.com>**20070829102314
2624 
2625 Remnants of :stepover
2626 
2627]
2628[remove "special Ids" section, replace with a link to GHC.Prim
2629Simon Marlow <simonmar@microsoft.com>**20070830112139
2630 This documentation was just duplicating what is in GHC.Prim now.
2631]
2632[expand docs for unsafeCoerce#, as a result of investigations for #1616
2633Simon Marlow <simonmar@microsoft.com>**20070830111909]
2634[Remove text about ghcprof.  It almost certainly doesn't work.
2635Simon Marlow <simonmar@microsoft.com>**20070829122126]
2636[fix compiling GHC 6.7+ with itself - compat needs -package containers now
2637Simon Marlow <simonmar@microsoft.com>**20070829113500]
2638[fix typo
2639Simon Marlow <simonmar@microsoft.com>**20070824141039]
2640[no -auto-all for CorePrep
2641Simon Marlow <simonmar@microsoft.com>**20070829092414]
2642[improvements to findPtr(), a useful hack for space-leak debugging in gdb
2643Simon Marlow <simonmar@microsoft.com>**20070829092400]
2644[fix up some old text, remove things that aren't true any more
2645Simon Marlow <simonmar@microsoft.com>**20070828125821]
2646[Windows: remove the {Enter,Leave}CricialSection wrappers
2647Simon Marlow <simonmar@microsoft.com>**20070829104811
2648 The C-- parser was missing the "stdcall" calling convention for
2649 foreign calls, but once added we can call {Enter,Leave}CricialSection
2650 directly.
2651]
2652[Wibble
2653Pepe Iborra <mnislaih@gmail.com>**20070829085305]
2654[FIX: Remove accidential change to darcs-all in type families patch
2655Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20070829010011
2656 - The type families patch includes a change to darcs-all that breaks it for
2657   ssh repos at least for Perl 5.8.8 (on MacOS).
2658 - My Perl-fu is not sufficient to try to fix the modification, which was
2659   supposed to improve darcs-all on windows, so I just revert to the old
2660   code.
2661]
2662[Remove INSTALL_INCLUDES; no longer used
2663Ian Lynagh <igloo@earth.li>**20070828205636]
2664[Use DESTDIR when installing
2665Ian Lynagh <igloo@earth.li>**20070828205119]
2666[Copy LICENSE files into the bindist, as Cabal now installs them
2667Ian Lynagh <igloo@earth.li>**20070828130428]
2668[TAG 2007-08-28
2669Ian Lynagh <igloo@earth.li>**20070828215445]
2670Patch bundle hash:
2671a73b4945ababff001470a3978cb71a4de617653a