Ticket #1821: fix1821

File fix1821, 145.3 KB (added by dfranke, 6 years ago)
Line 
1
2New patches:
3
4[FIX #1821 (Parser or lexer mess-up)
5df@dfranke.us**20071210230649] {
6hunk ./compiler/parser/Lexer.x 157
7-"-- " $docsym .* / { ifExtension (not . haddockEnabled) } ;
8+"-- " [$docsym \#] .* / { ifExtension (not . haddockEnabled) } ;
9}
10
11Context:
12
13[Improve pretty-printing of InstDecl
14simonpj@microsoft.com**20071210083053
15 
16 Fixes Trac #1966.
17 
18]
19[Comments only
20Pepe Iborra <mnislaih@gmail.com>**20071208204815]
21[Refactoring only
22Pepe Iborra <mnislaih@gmail.com>**20071208195222
23 
24 Suspensions in the Term datatype used for RTTI
25 always get assigned a Type, so there is no reason
26 to juggle around with a (Maybe Type) anymore.
27 
28]
29[Change the format used by :print to show the content of references
30Pepe Iborra <mnislaih@gmail.com>**20071208193013
31     
32     This comes as result of the short discussion linked below.
33     
34     http://www.haskell.org/pipermail/cvs-ghc/2007-December/040049.html
35 
36]
37[Help the user when she tries to do :history without :trace
38Pepe Iborra <mnislaih@gmail.com>**20071208180918
39 
40 Teach GHCi to show a "perhaps you forgot to use :trace?" when
41 it finds that the user is trying to retrieve an empty :history
42 
43]
44[Prevent the binding of unboxed things by :print
45Pepe Iborra <mnislaih@gmail.com>**20071208181830]
46[Coercions from boxy splitters must be sym'ed in pattern matches
47Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20071208105018]
48[Properly keep track of whether normalising given or wanted dicts
49Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20071207071302
50 - The information of whether given or wanted class dictionaries where
51   normalised by rewriting wasn't always correctly propagated in TcTyFuns,
52   which lead to malformed dictionary bindings.
53 - Also fixes a bug in TcPat.tcConPat where GADT equalities where emitted in
54   the wrong position in case bindings (which led to CoreLint failures).
55]
56[TcPat.tcConPat uses equalities instead of GADT refinement
57Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20071120071208
58 * This patch implements the use of equality constraints instead of GADT
59   refinements that we have been discussing for a while.
60 * It just changes TcPat.tcConPat.  It doesn't have any of the simplification
61   and dead code removal that is possible due to this change.
62 * At the moment, this patch breaks a fair number of GADT regression tests.
63]
64[Use installPackage for register --inplace as well as installing
65Ian Lynagh <igloo@earth.li>**20071207234652
66 We also need to do the GHC.Prim hack when registering inplace or the
67 tests that use it fail.
68]
69[Fix the libraries Makefile
70Ian Lynagh <igloo@earth.li>**20071205125015
71     x && y
72 is not the same as
73     if x; then y; fi
74 as the latter doesn't fail when x fails
75]
76[Copy hscolour.css into dist/... so it gets installed with the library docs
77Ian Lynagh <igloo@earth.li>**20071205013703]
78[Add the hscolour.css from hscolour 1.8
79Ian Lynagh <igloo@earth.li>**20071205011733]
80[BIN_DIST_INST_SUBDIR Needs to be defined in config.mk so ./Makefile can see it
81Ian Lynagh <igloo@earth.li>**20071207121317]
82[#include ../includes/MachRegs.h rather than just MachRegs.h
83Ian Lynagh <igloo@earth.li>**20071205170335
84 This fixes building on NixOS. I'm not sure why it worked everywhere else,
85 but not on NixOS, before.
86]
87[Fix bindist creation: readline/config.mk is gone
88Ian Lynagh <igloo@earth.li>**20071203123031]
89[FIX #1843: Generate different instructions on PPC
90Ian Lynagh <igloo@earth.li>**20071203123237
91 The old ones caused lots of
92     unknown scattered relocation type 4
93 errors. Patch from Chris Kuklewicz.
94]
95[Refactor gen_contents_index
96Ian Lynagh <igloo@earth.li>**20071207183538
97 Also fixes it with Solaris's sh, spotted by Christian Maeder
98]
99[Use GHC.Exts rather than GHC.Prim
100Ian Lynagh <igloo@earth.li>**20071202234222]
101[Alter the base:GHC.Prim hack in installPackage, following changes in base
102Ian Lynagh <igloo@earth.li>**20071202215719]
103[Remove debug warning, and explain why
104simonpj@microsoft.com**20071207170507]
105[comment only
106Simon Marlow <simonmar@microsoft.com>**20071206092422]
107[comment typo
108Simon Marlow <simonmar@microsoft.com>**20071206092412]
109[add Outputable instance for OccIfaceEq
110Simon Marlow <simonmar@microsoft.com>**20071206092403]
111[Workaround for #1959: assume untracked names have changed
112Simon Marlow <simonmar@microsoft.com>**20071206092349
113 This fixes the 1959 test, but will do more recompilation than is
114 strictly necessary (but only when -O is on).  Still, more
115 recompilation is better than segfaults, link errors or other random
116 breakage.
117]
118[FIX part of #1959: declaration versions were not being incremented correctly
119Simon Marlow <simonmar@microsoft.com>**20071206084556
120 We were building a mapping from ModuleName to [Occ] from the usage
121 list, using the usg_mod field as the key.  Unfortunately, due to a
122 very poor naming decision, usg_mod is actually the module version, not
123 the ModuleName.  usg_name is the ModuleName.  Since Version is also an
124 instance of Uniquable, there was no type error: all that happened was
125 lookups in the map never succeeded.  I shall rename the fields of
126 Usage in a separate patch.
127 
128 This doesn't completely fix #1959, but it gets part of the way there.
129 
130 I have to take partial blame as the person who wrote this fragment of
131 code in late 2006 (patch "Interface file optimisation and removal of
132 nameParent").
133]
134[move FP_FIND_ROOT after the "GHC is required" check
135Simon Marlow <simonmar@microsoft.com>**20071205101814]
136[FIX #1110: hackery also needed when running gcc for CPP
137Simon Marlow <simonmar@microsoft.com>**20071205150230]
138[Teach :print to follow references (STRefs and IORefs)
139Pepe Iborra <mnislaih@gmail.com>**20071204105511
140 
141 Prelude Data.IORef> :p l
142 l = (_t4::Maybe Integer) : (_t5::[Maybe Integer])
143 Prelude Data.IORef> p <- newIORef l
144 Prelude Data.IORef> :p p
145 p = GHC.IOBase.IORef (GHC.STRef.STRef {((_t6::Maybe Integer) :
146                                         (_t7::[Maybe Integer]))})
147 Prelude Data.IORef> :sp p
148 p = GHC.IOBase.IORef (GHC.STRef.STRef {(_ : _)})
149 
150 
151 I used braces to denote the contents of a reference.
152 Perhaps there is a more appropriate notation?
153]
154[refactoring only
155Pepe Iborra <mnislaih@gmail.com>**20071202125400]
156[Change --shared to -shared in Win32 DLL docs
157simonpj@microsoft.com**20071204154023]
158[protect console handler against concurrent access (#1922)
159Simon Marlow <simonmar@microsoft.com>**20071204153918]
160[Make eta reduction check more carefully for bottoms (fix Trac #1947)
161simonpj@microsoft.com**20071204145803
162 
163 Eta reduction was wrongly transforming
164        f = \x. f x
165 to
166        f = f
167 
168 Solution: don't trust f's arity information; instead look at its
169 unfolding.  See Note [Eta reduction conditions]
170 
171 Almost all the new lines are comments!
172 
173 
174]
175[Improve inlining for INLINE non-functions
176simonpj@microsoft.com**20071204114955
177       
178 (No need to merge to 6.8, but no harm if a subsequent patch needs it.)
179 
180 The proximate cause for this patch is to improve the inlining for INLINE
181 things that are not functions; this came up in the NDP project.  See
182 Note [Lone variables] in CoreUnfold.
183 
184 This caused some refactoring that actually made things simpler.  In
185 particular, more of the inlining logic has moved from SimplUtils to
186 CoreUnfold, where it belongs.
187 
188 
189]
190[fix race conditions in sandboxIO (#1583, #1922, #1946)
191Simon Marlow <simonmar@microsoft.com>**20071204114444
192 using the new block-inheriting forkIO (#1048)
193]
194[:cd with no argument goes to the user's home directory
195Simon Marlow <simonmar@microsoft.com>**20071204113945
196 Seems better than getting a confusing 'cannot find directory' exception.
197]
198[forkIO starts the new thread blocked if the parent is blocked (#1048)
199Simon Marlow <simonmar@microsoft.com>**20071204110947]
200[Improve eta reduction, to reduce Simplifier iterations
201simonpj@microsoft.com**20071203150039
202 
203 I finally got around to investigating why the Simplifier was sometimes
204 iterating so often.  There's a nice example in Text.ParserCombinators.ReadPrec,
205 which produced:
206 
207 NOTE: Simplifier still going after 3 iterations; bailing out.  Size = 339
208 NOTE: Simplifier still going after 3 iterations; bailing out.  Size = 339
209 NOTE: Simplifier still going after 3 iterations; bailing out.  Size = 339
210 
211 No progress is being made.  It turned out that an interaction between
212 eta-expansion, casts, and eta reduction was responsible. The change is
213 small and simple, in SimplUtils.mkLam: do not require the body to be
214 a Lam when floating the cast outwards. 
215 
216 I also discovered a missing side condition in the same equation, so fixing
217 that is good too.  Now there is no loop when compiling ReadPrec.
218 
219 Should do a full nofib run though.
220 
221]
222[Don't default to stripping binaries when installing
223Ian Lynagh <igloo@earth.li>**20071202195817]
224[Improve pretty-printing for Insts
225simonpj@microsoft.com**20071128173125]
226[Reorganise TcSimplify (again); FIX Trac #1919
227simonpj@microsoft.com**20071128173146
228 
229 This was a bit tricky.  We had a "given" dict like (d7:Eq a); then it got
230 supplied to reduceImplication, which did some zonking, and emerged with
231 a "needed given" (d7:Eq Int). That got everything confused.
232 
233 I found a way to simplify matters significantly.  Now reduceContext
234        - first deals with methods/literals/dictionaries
235        - then deals with implications
236 Separating things in this way not only made the bug go away, but
237 eliminated the need for the recently-added "needed-givens" results returned
238 by checkLoop.  Hurrah.
239 
240 It's still a swamp.  But it's a bit better.
241 
242]
243[FIX #1914: GHCi forgot all the modules that were loaded before an error
244Simon Marlow <simonmar@microsoft.com>**20071130130734]
245[FIX #1744: ignore the byte-order mark at the beginning of a file
246Simon Marlow <simonmar@microsoft.com>**20071130101100]
247[FIX Trac #1935: generate superclass constraints for derived classes
248simonpj@microsoft.com**20071128150541
249 
250 This bug only reports a problem with phantom types, but actually
251 there was quite a long-standing and significant omission in the
252 constraint generation for derived classes.  See
253 Note [Superclasses of derived instance] in TcDeriv.
254 
255 The test deriving-1935 tests both cases.
256 
257 
258]
259[Print a bit more info in VarBinds (no need to merge)
260simonpj@microsoft.com**20071128150354]
261[Check for duplicate bindings in CoreLint
262simonpj@microsoft.com**20071128150214]
263[add comment
264Simon Marlow <simonmar@microsoft.com>**20071128111417]
265[FIX #1916: don't try to convert float constants to int in CMM optimizer
266Bertram Felgenhauer <int-e@gmx.de>**20071122095513]
267[give a more useful message when the static flags have not been initialised (#1938)
268Simon Marlow <simonmar@microsoft.com>**20071127135435]
269[Rebuild utils with the stage1 compiler when making a bindist; fixes trac #1860
270Ian Lynagh <igloo@earth.li>**20071127203959
271 This is a bit unpleasant, as "make binary-dist" really shouldn't actually
272 build anything, but it works.
273]
274[Remove the --print-docdir flag
275Ian Lynagh <igloo@earth.li>**20071127195605
276 It wasn't doing the right thing for bindists. Let's rethink...
277]
278[FIX #1925: the interpreter was not maintaining tag bits correctly
279Simon Marlow <simonmar@microsoft.com>**20071127122614
280 See comment for details
281]
282[add missing instruction: ALLOC_AP_NOUPD
283Simon Marlow <simonmar@microsoft.com>**20071127122604]
284[Check tag bits on the fun pointer of a PAP
285Simon Marlow <simonmar@microsoft.com>**20071126160420]
286[canonicalise the path to HsColour
287Simon Marlow <simonmar@microsoft.com>**20071126141614]
288[Consistently put www. on the front of haskell.org in URLs
289Ian Lynagh <igloo@earth.li>**20071126215256]
290[Fix some more URLs
291Ian Lynagh <igloo@earth.li>**20071126214147]
292[Tweak some URLs
293Ian Lynagh <igloo@earth.li>**20071126194148]
294[Fix some links
295Ian Lynagh <igloo@earth.li>**20071126184406]
296[Copy gmp stamps into bindists, so we don't try and rebuild gmp
297Ian Lynagh <igloo@earth.li>**20071125211919]
298[On Windows, Delete the CriticalSection's we Initialize
299Ian Lynagh <igloo@earth.li>**20071125125845]
300[On Windows, add a start menu link to the flag reference
301Ian Lynagh <igloo@earth.li>**20071125124429]
302[Remove html/ from the paths we put in the start menu on Windows
303Ian Lynagh <igloo@earth.li>**20071125124150]
304[MERGED: Make ":" in GHCi repeat the last command
305Ian Lynagh <igloo@earth.li>**20071125122020
306 Ian Lynagh <igloo@earth.li>**20071124231857
307  It used to be a synonym for ":r" in 6.6.1, but this wasn't documented or
308  known about by the developers. In 6.8.1 it was accidentally broken.
309  This patch brings it back, but as "repeat the last command", similar to
310  pressing enter in gdb. This is almost as good for people who want it to
311  reload, and means that it can also be used to repeat commands like :step.
312]
313[MERGED: Put library docs in a $pkg, rather than $pkgid, directory; fixes trac #1864
314Ian Lynagh <igloo@earth.li>**20071124212305
315 Ian Lynagh <igloo@earth.li>**20071124171220
316]
317[Don't make a library documentation prologue
318Ian Lynagh <igloo@earth.li>**20071124211943
319 It's far too large now, and no-one complained when 6.8.1 didn't have one.
320]
321[Don't put package version numbers in links in index.html
322Ian Lynagh <igloo@earth.li>**20071124211629]
323[Define install-strip in Makefile
324Ian Lynagh <igloo@earth.li>**20071124205037]
325[Define install-strip in distrib/Makefile
326Ian Lynagh <igloo@earth.li>**20071124204803]
327[Install gmp from bindists; fixes trac #1848
328Ian Lynagh <igloo@earth.li>**20071124185240]
329[(native gen) fix code generated for GDTOI on x86_32
330Bertram Felgenhauer <int-e@gmx.de>**20071121063942
331 See trac #1910.
332]
333[Copy the INSTALL hack from mk/config.mk.in into distrib/Makefile-bin-vars.in
334Ian Lynagh <igloo@earth.li>**20071124163028
335 configure will set INSTALL to ./install-sh if it can't find it in the path,
336 so we need to replace the . with the path to our root.
337]
338[Make install-sh executable /before/ we try to find it
339Ian Lynagh <igloo@earth.li>**20071124162450]
340[Document --info in the +RTS -? help
341Ian Lynagh <igloo@earth.li>**20071123204352]
342[MERGED: If we have hscolour then make source code links in teh haddock docs
343Ian Lynagh <igloo@earth.li>**20071123233113
344 Fri Nov 23 13:15:59 PST 2007  Ian Lynagh <igloo@earth.li>
345]
346[Tidy and trim the type environment in mkBootModDetails
347simonpj@microsoft.com**20071123153519
348 
349 Should fix Trac #1833
350 
351 We were failing to trim the type envt in mkBootModDetails, so several
352 functions all called (*), for example, were getting into the interface.
353 Result chaos.  It only actually bites when we do the retyping-loop thing,
354 which is why it's gone so long without a fix.
355 
356 
357]
358[refactor: HscNothing and boot modules do not need desugaring
359Simon Marlow <simonmar@microsoft.com>**20071123135237]
360[FIX #1910: fix code generated for GDTOI on x86_32
361Bertram Felgenhauer <int-e@gmx.de>*-20071121102627]
362[Properly ppr InstEqs in wanteds of implication constraints
363Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20071122093002]
364[FIX #1910: fix code generated for GDTOI on x86_32
365Bertram Felgenhauer <int-e@gmx.de>**20071121102627]
366[Add built-in Double operations to vectorisation
367Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071122002517]
368[Teach vectorisation about Double
369Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071121054932]
370[Vectorise polyexprs with notes
371Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071121053102]
372[Make rebindable do-notation behave as advertised
373simonpj@microsoft.com**20071121174914
374 
375 Adopt Trac #1537.  The patch ended up a bit bigger than I expected,
376 so I suggest we do not merge this into the 6.8 branch.  But there
377 is no funadamental reason why not.
378 
379 With this patch, rebindable do-notation really does type as if you
380 had written the original (>>) and (>>=) operations in desguared form.
381 
382 I ended up refactoring some of the (rather complicated) error-context
383 stuff in TcUnify, by pushing an InstOrigin into tcSubExp and its
384 various calls. That means we could get rid of tcFunResTy, and the
385 SubCtxt type.  This should improve error messages slightly
386 in complicated situations, because we have an Origin to hand
387 to instCall (in the (isSigmaTy actual_ty) case of tc_sub1).
388 
389 Thanks to Pepe for the first draft of the patch.
390 
391]
392[Add DEBUG-only flag -dsuppress-uniques to suppress printing of uniques
393simonpj@microsoft.com**20071116152446
394 
395 This is intended only for debugging use: it makes it easier to
396 compare two variants without the variations between uniques mattering.
397 
398 (Of course, you can't actually feed the output to the C compiler
399 or assembler and expect anything sensible to happen!)
400 
401]
402[Add -dcore-lint when validating libraries
403simonpj@microsoft.com**20071105164733]
404[Fix Trac #1913: check data const for derived types are in scope
405simonpj@microsoft.com**20071121151428
406 
407 When deriving an instance, the data constructors should all be in scope.
408 This patch checks the condition.
409 
410 
411]
412[Fix Trac #1909: type of map in docs
413simonpj@microsoft.com**20071120160152]
414[Move file locking into the RTS, fixing #629, #1109
415Simon Marlow <simonmar@microsoft.com>**20071120140859
416 File locking (of the Haskell 98 variety) was previously done using a
417 static table with linear search, which had two problems: the array had
418 a fixed size and was sometimes too small (#1109), and performance of
419 lockFile/unlockFile was suboptimal due to the linear search.
420 Also the algorithm failed to count readers as required by Haskell 98
421 (#629).
422 
423 Now it's done using a hash table (provided by the RTS).  Furthermore I
424 avoided the extra fstat() for every open file by passing the dev_t and
425 ino_t into lockFile.  This and the improvements to the locking
426 algorithm result in a healthy 20% or so performance increase for
427 opening/closing files (see openFile008 test).
428]
429[FIX Trac #1825: standalone deriving Typeable
430simonpj@microsoft.com**20071120125732
431 
432 Standalone deriving of typeable now requires you to say
433        instance Typeable1 Maybe
434 which is exactly the shape of instance decl that is generated
435 by a 'deriving( Typeable )' clause on the data type decl.
436 
437 This is a bit horrid, but it's the only consistent way, at least
438 for now.  If you say something else, the error messages are helpful.
439 
440 MERGE to 6.8 branch
441 
442]
443[FIX #1715: egregious bug in ifaceDeclSubBndrs
444simonpj@microsoft.com**20071120111723
445 
446 ifaceDeclSubBndrs didn't have an IfaceSyn case; but with type
447 families an IfaceSyn can introduce subordinate binders.  Result:
448 chaos.
449 
450 The fix is easy though.  Merge to 6.8 branch.
451 
452 
453]
454[Always do 'setup makefile' before building each library
455Simon Marlow <simonmar@microsoft.com>**20071120103329
456 This forces preprocessing to happen, which is necessary if any of the
457 .hsc files have been modified.  Without this change, a 'setup
458 makefile' would be required by hand after a .hsc file changed.
459 Fortunately 'setup makefile' isn't much extra work, and I've made it
460 not overwrite GNUmakefile if it hasn't changed, which avoids
461 recalculating the dependencies each time.
462]
463[FIX #1847 (improve :browse! docs, fix unqual)
464claus.reinke@talk21.com**20071108013147
465 
466 - add example to docs, explain how to interpret
467   output of `:browse! Data.Maybe`
468 - print unqualified names according to current
469   context, not the context of the target module
470 
471]
472[Track changes to package ndp
473Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071120033716]
474[Temporary hack for passing PArrays from unvectorised to vectorised code
475Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071120024545]
476[Bind NDP stuff to [:.:] arrays
477Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071119020302]
478[Don't treat enumerations specially during vectorisation for the moment
479Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071119013729]
480[Fix bugs in vectorisation of case expressions
481Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071119013714]
482[More built-in NDP combinators
483Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071119012205]
484[New vectorisation built-ins
485Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071118051940]
486[Fix bug in conversion unvect/vect
487Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071118051926]
488[Extend built-in vectorisation environments
489Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071118045219]
490[Fix bug in generation of environments for vectorisation
491Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071118045203]
492[Add builtin var->var mapping to vectorisation
493Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071118042605]
494[Extend vectorisation built-in mappings with datacons
495Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071118034351]
496[Change representation of parallel arrays of enumerations
497Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071118033355]
498[Add vectorisation-related builtin
499Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071118031513]
500[Teach vectorisation about Bool
501Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071117042714]
502[Incomplete support for boxing during vectorisation
503Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071117040739]
504[Make sure some TyCons always vectorise to themselves
505Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071117040537]
506[Simple conversion vectorised -> unvectorised
507Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071117023029]
508[Fix bug in case vectorisation
509Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071117015014]
510[Vectorisation of algebraic case expressions
511Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071116074814]
512[More vectorisation-related built-ins
513Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071116061831]
514[Vectorisation utilities
515Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071116051037]
516[Add vectorisation built-ins
517Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071116050959]
518[Fix vectorisation of binders in case expressions
519Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071116021833]
520[Two small typos in the flags summary (merge to 6.8 branch)
521simonpj@microsoft.com**20071119134639]
522[Improve the situation for Trac #959: civilised warning instead of a trace msg
523simonpj@microsoft.com**20071119122938
524 
525 This doesn't fix the root cause of the bug, but it makes the report
526 more civilised, and points to further info.
527 
528]
529[FIX Trac #1806: test for correct arity for datacon in infix pattern patch
530simonpj@microsoft.com**20071119114301
531 
532 Happily the fix is easy; pls merge
533 
534]
535[Accept x86_64-*-freebsd* as well as amd64-*-freebsd* in configure.ac
536Ian Lynagh <igloo@earth.li>**20071117154502
537 Patch from Brian P. O'Hanlon
538]
539[Attempt at fixing #1873, #1360
540Simon Marlow <simonmar@microsoft.com>**20071116152148
541 
542 I think I figured out a reasonable way to manage the GHCi context,
543 comments welcome.
544 
545 Rule 1: external package modules in the context are persistent.  That
546 is, when you say 'import Data.Maybe' it survives over :load, :add,
547 :reload and :cd.
548 
549 Rule 2: :load and :add remove all home-package modules from the
550 context and add the rightmost target, as a *-module if possible.  This
551 is as before, and makes sense for :load because we're starting a new
552 program; the old home-package modules don't make sense any more.  For
553 :add, it usually does what you want, because the new target will
554 become the context.
555 
556 Rule 3: any modules from the context that fail to load during a
557 :reload are remembered, and re-added to the context at the next
558 successful :reload.
559 
560 Claus' suggestion about adding the "remembered" modules to the prompt
561 prefixed with a ! is implemented but commented out.  I couldn't
562 decide whether it was useful or confusing.
563 
564 One difference that people might notice is that after a :reload where
565 there were errors, GHCi would previously dump you in the most recent
566 module that it loaded.  Now it dumps you in whatever subset of the
567 current context still makes sense, and in the common case that will
568 probably be {Prelude}.
569]
570[Wibble to fix Trac #1901 (shorten messsage slightly)
571simonpj@microsoft.com**20071116150341]
572[Improve links from flag reference to the relevant section; and improve doc of RankN flags
573simonpj@microsoft.com**20071116145816]
574[FIX Trac #1901: check no existential context in H98 mode
575simonpj@microsoft.com**20071116145609]
576[Improve documentation of data type declarations (Trac #1901)
577simonpj@microsoft.com**20071116081841]
578[Change the command-line semantics for query commands
579Simon Marlow <simonmar@microsoft.com>**20071116132046
580 
581 From the help text:
582 
583   Commands that query the package database (list, latest, describe,
584   field) operate on the list of databases specified by the flags
585   --user, --global, and --package-conf.  If none of these flags are
586   given, the default is --global --user.
587 
588 This makes it possible to query just a single database (e.g. the
589 global one without the user one), which needed tricks to accomplish
590 before.
591]
592[use "ghc-pkg latest --global" instead of "ghc-pkg list --simple-output"
593Simon Marlow <simonmar@microsoft.com>**20071116122018
594 The former now does the right thing: it uses the global database only,
595 and picks the most recent package with the given name.
596]
597[Disallow installing packages whose names  differ in case only.
598Simon Marlow <simonmar@microsoft.com>**20071116121153
599 --force overrides.  Requested by Duncan Coutts, with a view to
600 treating package names as case-insensitive in the future.
601]
602[FIX BUILD (with GHC 6.2.x): update .hi-boot file
603Simon Marlow <simonmar@microsoft.com>**20071116101227]
604[FIX #1828: installing to a patch with spaces in
605Simon Marlow <simonmar@microsoft.com>**20071115155747
606 We have to pass the path to gcc when calling windres, which itself
607 might have spaces in.  Furthermore, we have to pass the path to gcc's
608 tools to gcc.  This means getting the quoting right, and after much
609 experimentation and reading of the windres sources I found something
610 that works: passing --use-temp-files to windres makes it use its own
611 implementation of quoting instead of popen(), and this does what we
612 want.  Sigh.
613]
614[on Windows, install to a directory with spaces (test for #1828)
615Simon Marlow <simonmar@microsoft.com>**20071115155327]
616[FIX #1679: crash on returning from a foreign call
617Simon Marlow <simonmar@microsoft.com>**20071115131635
618 We forgot to save a pointer to the BCO over the foreign call.  Doing
619 enough allocation and GC during the call could provoke a crash.
620]
621[Avoid the use of unversioned package dependencies
622Simon Marlow <simonmar@microsoft.com>**20071115103249
623 Fortunately "ghc-pkg list $pkg --simple-output" is a good way to add
624 the version number.
625]
626[FIX #1596 (remove deprecated --define-name)
627Simon Marlow <simonmar@microsoft.com>**20071114165323
628 Also remove the old command-line syntax for ghc-pkg, which was not
629 documented.  Do not merge.
630]
631[FIX #1837: remove deprecated support for unversioned dependencies (do not merge)
632Simon Marlow <simonmar@microsoft.com>**20071114161044
633 
634]
635[wibble
636Pepe Iborra <mnislaih@gmail.com>**20071114233356]
637[Make pprNameLoc more robust in absence of loc information
638Pepe Iborra <mnislaih@gmail.com>**20071114233343]
639[Try to manage the size of the text rendered for ':show bindings'
640Pepe Iborra <mnislaih@gmail.com>**20071114231601]
641[Make the Term ppr depth aware
642Pepe Iborra <mnislaih@gmail.com>**20071114183417]
643[Use paragraph fill sep where possible
644Pepe Iborra <mnislaih@gmail.com>**20071114181233]
645[Make SpecConstr work again
646simonpj@microsoft.com**20071115084242
647 
648 In a typo I'd written env instead of env', and as a result RULES are
649 practically guaranteed not to work in a recursive group.  This pretty
650 much kills SpecConstr in its tracks!
651 
652 Well done Kenny Lu for spotting this.  The fix is easy.
653 
654 Merge into 6.8 please.
655 
656 
657 
658]
659[Documentation only - fix typo in flags reference
660Tim Chevalier <chevalier@alum.wellesley.edu>**20071115055748]
661[Avoid making Either String an instance of Monad in the Haddock parser
662David Waern <david.waern@gmail.com>**20071114204050]
663[FIX 1463 (implement 'ghc-pkg find-module')
664claus.reinke@talk21.com**20071109162652
665 
666 - the ticket asks for a module2package lookup in ghc-pkg
667   (this would be useful to have in cabal, as well)
668 
669 - we can now ask which packages expose a module we need,
670   eg, when preparing a cabal file or when getting errors
671   after package reorganisations:
672 
673   $ ./ghc-pkg-inplace find-module Var
674   c:/fptools/ghc/driver/package.conf.inplace:
675       (ghc-6.9.20071106)
676   
677   $ ./ghc-pkg-inplace find-module Data.Sequence
678   c:/fptools/ghc/driver/package.conf.inplace:
679       containers-0.1
680 
681 - implemented as a minor variation on listPackages
682 
683 (as usual, it would be useful if one could combine
684 multiple queries into one)
685 
686]
687[remove --define-name from the --help usage message (#1596)
688Simon Marlow <simonmar@microsoft.com>**20071114153417
689 
690]
691[FIX #1837: emit deprecated message for unversioned dependencies
692Simon Marlow <simonmar@microsoft.com>**20071114153010]
693[Fix #782, #1483, #1649: Unicode GHCi input
694Simon Marlow <simonmar@microsoft.com>**20071114151411
695 GHCi input is now treated universally as UTF-8, except for the Windows
696 console where we do the correct conversion from the current code
697 page (see System.Win32.stringToUnicode).
698 
699 That leaves non-UTF-8 locales on Unix as unsupported, but (a) we only
700 accept source files in UTF-8 anyway, and (b) UTF-8 is quite ubiquitous
701 as the default locale.
702 
703]
704[Fix build
705David Waern <david.waern@gmail.com>**20071114125842
706 I had forgot to update HaddockLex.hi-boot-6, so the build with 6.2.2
707 failed. This fixes that.
708]
709[FIX Trac 1662: actually check for existentials in proc patterns
710simonpj@microsoft.com**20071114112930
711 
712 I'd fixed the bug for code that should be OK, but had forgotten to
713 make the test for code that should be rejected!
714 
715 Test is arrowfail004
716 
717]
718[FIX Trac 1888; duplicate INLINE pragmas
719simonpj@microsoft.com**20071114104701
720 
721 There are actually three things here
722 - INLINE pragmas weren't being pretty-printed properly
723 - They were being classified into too-narrow boxes by eqHsSig
724 - They were being printed in to much detail by hsSigDoc
725 
726 All easy.  Test is rnfail048.
727 
728]
729[Run the -frule-check pass more often (when asked)
730simonpj@microsoft.com**20071114104632]
731[GHCi debugger: added a new flag, -fno-print-binding-contents
732Pepe Iborra <mnislaih@gmail.com>**20071113174539
733 
734 The contents of bindings show at breakpoints and by :show bindings
735 is rendered using the same printer that :print uses.
736 But sometimes the output it gives spans over too many lines and the
737 user may want to be able to disable it.
738]
739[Fix Trac 1865: GHCi debugger crashes with :print
740Pepe Iborra <mnislaih@gmail.com>**20071113170113]
741[Replaced two uses of head b explicit pattern matching
742Pepe Iborra <mnislaih@gmail.com>**20071013113136]
743[Print binding contents in :show bindings
744Pepe Iborra <mnislaih@gmail.com>**20071006123952]
745[ Leftovers from the 1st GHCi debugger prototype
746Pepe Iborra <mnislaih@gmail.com>**20071004204718]
747[Following an indirection doesn't count as a RTTI step
748Pepe Iborra <mnislaih@gmail.com>**20070928091941]
749[FIX #1653 (partially): add -X flags to completion for :set
750Simon Marlow <simonmar@microsoft.com>**20071113153257]
751[Merge from Haddock: Add <<url>> for images
752David Waern <david.waern@gmail.com>**20071112220537
753 A merge of this patch:
754 
755   Mon Aug  7 16:22:14 CEST 2006  Simon Marlow <simonmar@microsoft.com>
756     * Add <<url>> for images
757     Submitted by: Lennart Augustsson
758 
759 Please merge to the 6.8.2 branch.
760]
761[Improve documentation of INLINE, esp its interactions with other transformations
762simonpj@microsoft.com**20071112160240]
763[Comment re Trac #1220
764simonpj@microsoft.com**20071112154109]
765[Merge from Haddock: Modify lexing of /../
766David Waern <david.waern@gmail.com>**20071112023856
767 
768   Tue Aug 28 11:19:54 CEST 2007  Simon Marlow <simonmar@microsoft.com>
769     * Modify lexing of /../
770     This makes /../ more like '..', so that a single / on a line doesn't
771     trigger a parse error.  This should reduce the causes of accidental
772     parse errors in Haddock comments; apparently stray / characters are
773     a common source of failures.
774 
775 Please merge this to the 6.8.2 branch.
776]
777[Merge from Haddock: allow blank lines inside code blocks
778David Waern <david.waern@gmail.com>**20071112013439
779 
780   Tue Jan  9 14:14:34 CET 2007  Simon Marlow <simonmar@microsoft.com>
781     * allow blank lines inside a @...@ code block
782 
783 Please merge this to the 6.8.2 branch
784]
785[Merge of a patch from the old Haddock branch:
786David Waern <david.waern@gmail.com>**20071112013143
787 
788   Fri Jan  5 12:13:41 CET 2007  Simon Marlow <simonmar@microsoft.com>
789     * Fix up a case of extra vertical space after a code block
790 
791 Please merge this to the 6.8.2 branch
792]
793[Remove ex-extralibs from libraries/Makefile
794Ian Lynagh <igloo@earth.li>**20071111213618]
795[Remove the X11 and HGL libraries from extralibs
796Ian Lynagh <igloo@earth.li>**20071111213447
797 Don Stewart, X11 maintainer, requested we remove X11, and HGL depends on it
798 on Linux (and we don't try to build HGL on Windows).
799]
800[arrows is no longer an extralib
801Ian Lynagh <igloo@earth.li>**20071027123656]
802[Turn -fprint-bind-result off by default
803Ian Lynagh <igloo@earth.li>**20071111001126]
804[TAG 2007-11-11
805Ian Lynagh <igloo@earth.li>**20071111161540]
806[Define CPP in distrib/Makefile-bin-vars.in; fixes #1855
807Ian Lynagh <igloo@earth.li>**20071110180302
808 Patch from Christian Maeder
809]
810[Tweak gen_contents_index to work with Solaris's sh
811Ian Lynagh <igloo@earth.li>**20071110180014]
812[Update install-sh
813Ian Lynagh <igloo@earth.li>**20071110173950
814 This comes from the Debian automake 1:1.10+nogfdl-1 package.
815]
816[Support more doc targets (html, pdf, etc) in the libraries Makefile
817Ian Lynagh <igloo@earth.li>**20071110171328]
818[Build Cabal user guide during "make", not only "make install-docs"
819Ian Lynagh <igloo@earth.li>**20071110171247]
820[Use INSTALL_SCRIPT, not INSTALL_PROGRAM, when installing scripts; fixes #1858
821Ian Lynagh <igloo@earth.li>**20071110152309]
822[Rename Parser.ly in the extralibs tarball; fixes #1859
823Ian Lynagh <igloo@earth.li>**20071110151529
824 If Cabal doesn't see the .ly file then it won't try to run happy, and
825 thus won't fail if happy isn't installed.
826]
827[Add a path to the DocBook XSL Stylesheets search path
828Ian Lynagh <igloo@earth.li>**20071110150649
829 Slackware puts the stylesheets in /usr/share/xml/docbook/xsl-stylesheets*
830 Patch from Andrea Rossato.
831]
832[Replace "tail -n +2" with "sed 1d", as Solaris doesn't understand the former
833Ian Lynagh <igloo@earth.li>**20071031001218]
834[Fix typo: -XNoRank2Types -> -XRank2Types
835Ian Lynagh <igloo@earth.li>**20071109135656]
836[Fix Trac #1654: propagate name changes into CoreRules
837simonpj@microsoft.com**20071108175108
838 
839 This patch is on the HEAD.  It fixes a nasty and long-standing bug
840 whereby we weren't substituting the ru_fn field of a CoreRule in
841 CoreSubst.substSpec, which ultimately led to a puzzling "nameModule"
842 error trying to put the rules in the interface file.
843 
844 
845]
846[eliminate a bit of duplication
847Simon Marlow <simonmar@microsoft.com>*-20071105143714]
848[Pad static literals to word size in the code generator
849Simon Marlow <simonmar@microsoft.com>**20071108132842]
850[FIX #1617: reloading didn't change the :browse output as it should
851Simon Marlow <simonmar@microsoft.com>**20071107161454
852 The problem was that because the interface hadn't changed, we were
853 re-using the old ModIface.  Unfortunately the ModIface contains the
854 GlobalRdrEnv for the module, and that *had* changed.  The fix is to
855 put the new GlobalRdrEnv in the ModIface even if the interface has not
856 otherwise changed.
857 
858 ModIface is not really the right place for the GlobalRdrEnv, but
859 neither is ModDetails, so we should think about a better way to do
860 this.
861]
862[FIX BUILD
863Simon Marlow <simonmar@microsoft.com>**20071107161612
864 Sorry, should have pushed with previous batch of changes.
865]
866[FIX #1556: GHC's :reload keeps the context, if possible
867Simon Marlow <simonmar@microsoft.com>**20071107124118]
868[FIX #1561: don't use tabs in pretty-printed output at all.
869Simon Marlow <simonmar@microsoft.com>**20071107113201
870 Tabs aren't guaranteed to be 8 spaces on every output device, so we
871 shouldn't be using them.  Instead I added a little optimisation to
872 use chunks of 8 spaces for long indentations.
873 
874]
875[FIX #1765, #1766
876Simon Marlow <simonmar@microsoft.com>**20071107111757
877 - :def! now overwrites a previous command with the same name
878 - :def on its own lists the defined macros
879 - ":undef f g" undefines both f and g
880]
881[#1617: Add :browse! and various other additions to GHCi
882Simon Marlow <simonmar@microsoft.com>**20071107102648
883   
884   - :browse!
885     a variant of :browse that lists children separately,
886     not in context, and gives import qualifiers in comments
887 
888 SimonM: I also added sorting by source location for interpreted
889 modules in :browse, and alphabetic sorting by name otherwise.  For
890 :browse *M, the locally-defined names come before the external ones.
891 
892   - :{ ..lines.. :} (multiline commands)
893     allow existing commands to be spread over multiple lines
894     to improve readability, both interactively and in .ghci
895     (includes a refactoring that unifies the previous three
896     command loops into one, runCommands, fed from cmdqueue,
897     file, or readline)
898 
899   - :set
900       now shows GHCi-specific flag settings (printing/
901       debugger), as well as non-language dynamic flag
902       settings
903     :show languages
904       show active language flags
905     :show packages
906       show active package flags as well as implicitly
907       loaded packages
908 
909]
910[FIX #1838: use System.Directory.getHomeDirectory instead of getEnv "HOME"
911Simon Marlow <simonmar@microsoft.com>**20071107100653]
912[catch up with removal of config.mk in the readline package
913Simon Marlow <simonmar@microsoft.com>**20071107095952]
914[Fix Trac #1813: generalise over *all* type variables at top level, even phantom ones
915simonpj@microsoft.com**20071106153151
916 
917 See Note [Silly type synonym] in TcType for further details.  This bug
918 (or at least infelicity) has been in GHC for quite a long time.
919 
920]
921[Fix Trac #1814 (staging interaction in Template Haskell and GHCi), and add comments
922simonpj@microsoft.com**20071106135548
923 
924 An Id bound by GHCi from a previous Stmt is Global but Internal, and
925 I'd forgotten that, leading to unnecessary restrictions when using TH
926 and GHCi together.
927 
928 This patch fixes the problem and adds lots of explanatory comments (which
929 is where most of the extra lines come from).
930 
931 
932]
933[Improve error messages
934simonpj@microsoft.com**20071106105258]
935[Improve manual entry for binding lexically scoped type variables in pattern signatures
936simonpj@microsoft.com**20071106105151]
937[Remove trailing spaces from programlisting lines
938simonpj@microsoft.com**20071106104921]
939[Remove unhelpful sentence (see Trac #1832)
940simonpj@microsoft.com**20071106104315
941 
942 Merge to 6.8 branch
943 
944]
945[fix stage 1 compilation
946Simon Marlow <simonmar@microsoft.com>**20071106142057]
947[warning police
948Simon Marlow <simonmar@microsoft.com>**20071106140538]
949[GHC API: add checkAndLoadModule
950Simon Marlow <simonmar@microsoft.com>**20071106140121
951 Does what the name suggests: it performs the function of both
952 checkModule and load on that module, avoiding the need to process each
953 module twice when checking a batch of modules.  This will make Haddock
954 and ghctags much faster.
955 
956 Along with this is the beginnings of a refactoring of the HscMain
957 interface.  HscMain now exports functions for separately running the
958 parser, typechecher, and generating ModIface and ModDetails.
959 Eventually the plan is to complete this interface and use it to
960 replace the existing one.
961]
962[update to use latest changes to the GHC API (works much quicker now)
963Simon Marlow <simonmar@microsoft.com>**20071106135430]
964[warning police
965Simon Marlow <simonmar@microsoft.com>**20071106104019]
966[Various improvements
967Simon Marlow <simonmar@microsoft.com>**20071105164054
968  - take the GHC topdir as a runtime argument
969  - deal with files one at a time (fix space leak)
970]
971[build ghctags-inplace
972Simon Marlow <simonmar@microsoft.com>**20071105163954]
973[updates to ghctags code
974Simon Marlow <simonmar@microsoft.com>**20071105163927]
975[eliminate a bit of duplication
976Simon Marlow <simonmar@microsoft.com>**20071105143714]
977[catch up with changes to checkModule
978Simon Marlow <simonmar@microsoft.com>**20071105142217]
979[reorder the imports
980Simon Marlow <simonmar@microsoft.com>**20070625134151]
981[add $(GHCTAGS)
982Simon Marlow <simonmar@microsoft.com>**20070625133450]
983[follow changes in HsRecFields
984Simon Marlow <simonmar@microsoft.com>**20070625133119]
985[merged patches relating to GhcTags from #946
986Simon Marlow <simonmar@microsoft.com>**20070625132158
987 
988 * accomodate changes in the GHC API
989 * refactoring for more readable source code
990 * if the whole group fails, try one file at a time
991 * desperate attempts to handle the GHC build
992]
993[Rules to create TAGS using ghctags
994Simon Marlow <simonmar@microsoft.com>**20070625132047]
995[request for documentation of a new argument
996nr@eecs.harvard.edu**20070625131906]
997[new README file for utils/ghctags
998nr@eecs.harvard.edu**20061013202756]
999[proper HC entry for bootstrapping in Makefile
1000Norman Ramsey <nr@eecs.harvard.edu>**20060920042839]
1001[first cut at missing case for ids defined in pattern
1002Norman Ramsey <nr@eecs.harvard.edu>**20060920042757]
1003[change representation of FoundThing
1004Norman Ramsey <nr@eecs.harvard.edu>**20060917050800
1005 refactored FoundThing to use GHC's native representation of
1006 source-code locations and to carry the module name so that the TAGS
1007 file can contain a qualified name as well as the unqualified name
1008]
1009[get names of data constructors
1010Norman Ramsey <nr@eecs.harvard.edu>**20060917015539]
1011[do notation for the Maybe monad
1012Norman Ramsey <nr@eecs.harvard.edu>**20060917003410]
1013[load all files at once and compute tags for all
1014Norman Ramsey <nr@eecs.harvard.edu>**20060917002430]
1015[tell GHC not to generate code (thanks Simon M)
1016Norman Ramsey <nr@eecs.harvard.edu>**20060917002353]
1017[cover more cases; take GHC options on command line
1018Norman Ramsey <nr@eecs.harvard.edu>**20060916232755
1019 Bit of a dog's breakfast here:
1020   * generate tags for more cases in the syntax
1021   * accept -package ghc and other args on command line
1022   * scrub away old code for snaffling thru text
1023]
1024[initial, very incomplete tags generator
1025Norman Ramsey <nr@eecs.harvard.edu>**20060915235033
1026 The ultimate goal is to replace hasktags with
1027 a tags generator based on GHC-as-a-library.
1028 This file is a very incomplete first cut.
1029]
1030[Inline implication constraints
1031simonpj@microsoft.com**20071105220807
1032 
1033 This patch fixes Trac #1643, where Lennart found that GHC was generating
1034 code with unnecessary dictionaries.  The reason was that we were getting
1035 an implication constraint floated out of an INLINE (actually an instance
1036 decl), and the implication constraint therefore wasn't inlined even
1037 though it was used only once (but inside the INLINE).  Thus we were
1038 getting:
1039 
1040        ic = \d -> <stuff>
1041        foo = _inline_me_ (...ic...)
1042 
1043 Then 'foo' gets inlined in lots of places, but 'ic' now looks a bit
1044 big. 
1045 
1046 But implication constraints should *always* be inlined; they are just
1047 artefacts of the constraint simplifier.
1048 
1049 This patch solves the problem, by adding a WpInline form to the HsWrap
1050 type.
1051 
1052 
1053]
1054[Comment warning about transparent newtypes
1055simonpj@microsoft.com**20071105220744]
1056[Wibble to earlier case-merge fix
1057simonpj@microsoft.com**20071105220627
1058 
1059 This fix avoids a bogus WARN in SimplEnv.substId
1060 
1061]
1062[Improve pretty-printing of Core slightly (avoid indenting let bodies)
1063simonpj@microsoft.com**20071105220535]
1064[Fix an old but subtle bug in the Simplifier
1065simonpj@microsoft.com**20071105161314
1066 
1067 I got a Core Lint failure when compiling System.Win32.Info in the
1068 Win32 package.  It was very delicate: adding or removing a function
1069 definition elsewhere in the module (unrelated to the error) made the
1070 error go away.
1071 
1072 Happily, I found it.  In SimplUtils.prepareDefault I was comparing an
1073 InId with an OutId.  We were getting a spurious hit, and hence doing
1074 a bogus CaseMerge.
1075 
1076 This bug has been lurking ever since I re-factored the way that case
1077 expressions were simplified, about 6 months ago!
1078 
1079]
1080[Make CoreLint give a more informative error message
1081simonpj@microsoft.com**20071105161217]
1082[Comments about TH staging
1083simonpj@microsoft.com**20071105145340]
1084[Fix freeHaskellFunctionPtr for Darwin/i386
1085Aaron Tomb <atomb@galois.com>**20071029202636]
1086[MERGED: Set interfacedir (using $topdir, not $httptopdir)
1087Ian Lynagh <igloo@earth.li>**20071103180803
1088 Mon Oct 29 10:48:25 PDT 2007  Ian Lynagh <igloo@earth.li>
1089]
1090[Teach ghc-pkg about $httptopdir
1091Ian Lynagh <igloo@earth.li>**20071029161130]
1092[MERGED: installPackage needs to treat $httptopdir the same as $topdir
1093Ian Lynagh <igloo@earth.li>**20071103180259
1094 Sun Oct 28 06:45:34 PDT 2007  Ian Lynagh <igloo@earth.li>
1095]
1096[MERGED: Define and use $httptopdir for the haddock docs locations
1097Ian Lynagh <igloo@earth.li>**20071103180023
1098 Sun Oct 28 05:35:52 PDT 2007  Ian Lynagh <igloo@earth.li>
1099]
1100[We need to copy .buildinfo files into the bindists
1101Ian Lynagh <igloo@earth.li>**20071028131752]
1102[(>>>) now comes from GHC.Desugar
1103Simon Marlow <simonmar@microsoft.com>**20071102155954]
1104[Refactor error recovery slightly
1105simonpj@microsoft.com**20071102130115
1106 
1107 Mostly this patch is refacoring, but it also avoids post-tc zonking if
1108 the typechecker found errors.  This is good because otherwise with
1109 DEBUG you can get the "Inventing strangely-kinded TyCon" warning.
1110 
1111]
1112[Avoid Haddock bug #1821
1113simonpj@microsoft.com**20071102130043]
1114[Update error message to mention -XPatternSignatures instead of -fglasgow-exts
1115simonpj@microsoft.com**20071101180302]
1116[Rejig the error messages a bit; fixes a minor bug
1117simonpj@microsoft.com**20071101175022
1118 
1119 The type checker was only reporting the first message if an equality
1120 failed to match.  This patch does a bit of refactoring and fixes the
1121 bug, which was in the bogus use of eqInstMisMatch
1122 in tcSimplify.report_no_instances.b
1123 
1124 This is really a bug in 6.8 too, so this would be good to merge across
1125 to the 6.8 branch.
1126 
1127]
1128[Refactor Haddock options
1129David Waern <davve@dtek.chalmers.se>**20071101131757
1130 
1131 This patch renames the DOC_OPTIONS pragma to OPTIONS_HADDOCK. It also
1132 adds "-- # ..."-style Haddock option pragmas, for compatibility with
1133 code that use them.
1134 
1135 Another change is that both of these two pragmas behave like
1136 OPTIONS_GHC, i.e. they are only allowed at the top of the module, they
1137 are ignored everywhere else and they are stored in the dynflags. There is
1138 no longer any Haddock options in HsSyn.
1139 
1140 Please merge this to the 6.8.2 branch when 6.8.1 is out, if appropriate.
1141 
1142]
1143[clean ghci-inplace
1144Simon Marlow <simonmar@microsoft.com>**20071031093932]
1145[clean Haddock droppings
1146Simon Marlow <simonmar@microsoft.com>**20071031093923]
1147[Fix warning in OSMem for darwin
1148Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20071030133003]
1149[FIX BUILD: a glitch in the new rules and inlining stuff
1150simonpj@microsoft.com**20071030113857
1151 
1152 Don't re-add the worker info to a binder until completeBind. It's not
1153 needed in its own RHS, and it may be replaced, via the substitution
1154 following postInlineUnconditionally.
1155 
1156 (Fixes build of the stage2 compiler which fell over when Coercion.lhs
1157 was being compiled.)
1158 
1159]
1160[Fix LiberateCase
1161simonpj@microsoft.com**20071029170620
1162 
1163        Merge to STABLE please
1164 
1165 Liberate case was being far too gung-ho about what to specialise. This
1166 bug only showed up when a recursive function 'f' has a nested recursive
1167 function 'g', where 'g' calls 'f' (as well as recursively calling 'g').
1168 This exact situation happens in GHC/IO.writeLines.
1169 
1170 This patch puts things right; see Note [When to specialise].  Result:
1171 much less code bloat.
1172 
1173 
1174 
1175 
1176]
1177[Improve error-message output slightly
1178simonpj@microsoft.com**20071029162637]
1179[Improve documentation of orphan instances (thanks to Adrian Hey)
1180simonpj@microsoft.com**20071029162505
1181 
1182 Please push to stable branch
1183 
1184 Simon
1185 
1186]
1187[fix installation of haddock.css and friends
1188Simon Marlow <simonmar@microsoft.com>**20071029120732]
1189[In a pattern binding, a type sig in the pattern cannot bind a type variable
1190simonpj@microsoft.com**20071027153330
1191 
1192 In a pattern binding with a pattern type signature, such as
1193 
1194        (Just (x::a)) = e
1195 
1196 the pattern type signature cannot bind type variables.  Hence
1197 'a' must be in scope already for the above example to be legal.
1198 
1199 This has been the situation for some time, but Dan changed it when
1200 adding view patterns.  This one-line change restores the old behaviour.
1201 
1202]
1203[Substantial improvement to the interaction of RULES and inlining
1204simonpj@microsoft.com**20071029111056
1205 
1206        (Merge to 6.8 branch after testing.)
1207 
1208 There were a number of delicate interactions between RULEs and inlining
1209 in GHC 6.6.  I've wanted to fix this for a long time, and some perf
1210 problems in the 6.8 release candidate finally forced me over the edge!
1211 
1212 The issues are documented extensively in OccurAnal, Note [Loop breaking
1213 and RULES], and I won't duplicate them here.  (Many of the extra lines in
1214 OccurAnal are comments!)
1215 
1216 This patch resolves Trac bugs #1709, #1794, #1763, I believe.
1217 
1218 
1219]
1220[Add newline in debug print
1221simonpj@microsoft.com**20071026150224]
1222[Explicit pattern match in default case of addTickLHsBind
1223simonpj@microsoft.com**20071024134828]
1224[Generalise the types of mk_FunBind, mk_easy_FunBind, mkVarBind
1225simonpj@microsoft.com**20071024134750]
1226[Fix the build with GHC < 6.4 (foldl1' didn't exist)
1227Ian Lynagh <igloo@earth.li>*-20071027210526]
1228[Fix the build with GHC < 6.4 (foldl1' didn't exist)
1229Ian Lynagh <igloo@earth.li>**20071027210526]
1230[MERGED: We need to install-docs when making the Windows bindist
1231Ian Lynagh <igloo@earth.li>**20071027203220]
1232[We need to set _way=* in rts/ both when making and installing bindists
1233Ian Lynagh <igloo@earth.li>**20071027142914
1234 This is a hack, but it means we get libHSrts*.a etc rather than just
1235 libHSrts.a.
1236]
1237[Fix a whole heap of speling errrs in the docs
1238Josef Svenningsson <josef.svenningsson@gmail.com>**20071007213858]
1239[Only build/install the man page if XSLTPROC is defined
1240Ian Lynagh <igloo@earth.li>**20071027122155]
1241[install the Cabal docs, and make them show up in a binary distribution
1242Simon Marlow <simonmar@microsoft.com>**20071026122456]
1243[cp => $(CP)
1244Simon Marlow <simonmar@microsoft.com>**20071026111054]
1245[get rid of the html subdirectory under share/doc/ghc/users_guide
1246Simon Marlow <simonmar@microsoft.com>**20071026110919]
1247[Make 'improvement' work properly in TcSimplify
1248simonpj@microsoft.com**20071027155459
1249 
1250        (Please merge this, and the preceding
1251        handful from me to the 6.8 branch.)
1252 
1253 This patch fixes a serious problem in the type checker, whereby
1254 TcSimplify was going into a loop because it thought improvement
1255 had taken place, but actually the unificataion was actually deferred.
1256 
1257 We thereby fix Trac #1781, #1783, #1795, and #1797!
1258 
1259 In fixing this I found what a mess TcSimplify.reduceContext is!
1260 We need to fix this.
1261 
1262 The main idea is to replace the "improvement flag" in Avails with
1263 a simpler and more direct test: have any of the mutable type variables
1264 in the (zonked) 'given' or 'irred' constraints been filled in?
1265 This test uses the new function TcMType.isFilledMetaTyVar; the test
1266 itself is towards the end of reduceContext.
1267 
1268 I fixed a variety of other infelicities too, and left some ToDos.
1269 
1270 
1271]
1272[An implication constraint can abstract over EqInsts
1273simonpj@microsoft.com**20071027155433]
1274[In an AbsBinds, the 'dicts' can include EqInsts
1275simonpj@microsoft.com**20071027154903
1276 
1277 An AbsBinds abstrats over evidence, and the evidence can be both
1278 Dicts (class constraints, implicit parameters) and EqInsts (equality
1279 constraints).  So we need to
1280   - use varType rather than idType
1281   - use instToVar rather than instToId
1282   - use zonkDictBndr rather than zonkIdBndr in zonking
1283 
1284 It actually all worked before, but gave warnings.
1285 
1286 
1287]
1288[More notes
1289simonpj@microsoft.com**20071027154702]
1290[Comments only
1291simonpj@microsoft.com**20071027154642]
1292[Add anyM to IOEnv
1293simonpj@microsoft.com**20071027154551]
1294[Add a note to NOTES
1295simonpj@microsoft.com**20071027100220]
1296[Make compileToCore return the module name and type environment along with bindings
1297Tim Chevalier <chevalier@alum.wellesley.edu>**20071027100530
1298 
1299   compileToCore returned just a list of CoreBind, which isn't enough,
1300 since to do anything with the resulting Core code, you probably also
1301 want the type declarations. I left compileToCore as it is, but added a
1302 function compileToCoreModule that returns a complete Core module (with
1303 module name, type environment, and bindings). I'm not sure that
1304 returning the type environment is the best way to represent the type
1305 declarations for the given module, but I don't want to reinvent the
1306 External Core wheel for this.
1307 
1308]
1309[binary-dist: Makefile-vars needs HADDOCK_DOCS=YES
1310Simon Marlow <simonmar@microsoft.com>**20071025135816]
1311[fix the links in the library documentation index
1312Simon Marlow <simonmar@microsoft.com>**20071025152245]
1313[default to installing runhaskell and hsc2hs again, but provide knobs to turn them off
1314Simon Marlow <simonmar@microsoft.com>**20071025084222]
1315[Adding hpc documentation about sum and map, push to STABLE.
1316andy@unsafeperformio.com**20071025050341]
1317[Fixing typo in runtime documentation for hpc, push to stable
1318andy@unsafeperformio.com**20071025045456]
1319[Correct a comment
1320Ian Lynagh <igloo@earth.li>**20071024114549]
1321[Fix ghc package in bindists; it wasn't adding the depenedency on readline
1322Ian Lynagh <igloo@earth.li>**20071024120633]
1323[Fix installing the ghc package .hi files in a bindist
1324Ian Lynagh <igloo@earth.li>**20071024114219]
1325[Build the manpage when building, not when installing
1326Ian Lynagh <igloo@earth.li>**20071024112914]
1327[Hack to make sure we get all the RTS ways in bindists
1328Ian Lynagh <igloo@earth.li>**20071024004155]
1329[Fix installing the documentation in the bindists
1330Ian Lynagh <igloo@earth.li>**20071023234624]
1331[-ftype-families -> -XTypeFamilies
1332Ian Lynagh <igloo@earth.li>**20071024142828]
1333[FIX #1791: fail with out-of-heap when allocating more than the max heap size in one go
1334Simon Marlow <simonmar@microsoft.com>**20071024095420
1335 Normally the out-of-heap check is performed post-GC, but there are
1336 cases where we can detect earlier that we definitely have exhausted
1337 the heap size limit.
1338]
1339[Fix more warnings
1340Simon Marlow <simonmar@microsoft.com>**20071023131351]
1341[FIX BUILD (on 32-bit platforms): hs_hpc_module() type mismatch
1342Simon Marlow <simonmar@microsoft.com>**20071023082233]
1343[patch from #1782; fixes check-packages target on Solaris
1344Simon Marlow <simonmar@microsoft.com>**20071022133337]
1345[add PIC relocations for x86_64, and use a simpler hack in place of x86_64_high_symbol()
1346Simon Marlow <simonmar@microsoft.com>**20071018125220
1347 This is Wolfgang Thaller's patch sent to cvs-ghc recently, with extra
1348 commentary by me.  It turns out that this patch is not just a cleanup,
1349 it is also necessary for GHCi to work on x86_64 with shared libraries,
1350 because previously lookupSymbol() was creating jump-table entries for
1351 all symbols looked up that resolved outside 2Gb, whereas Wolfgang's
1352 version only generates jump-table entries for 32-bit symbol references
1353 in object code that we load.
1354]
1355[fix creation of ghc-inplace for non-std ways
1356Simon Marlow <simonmar@microsoft.com>**20071017152820]
1357[remove an incorrect assertion
1358Simon Marlow <simonmar@microsoft.com>**20071016151829]
1359[second attempt to fix C compiler warnings with -fhpc
1360Simon Marlow <simonmar@microsoft.com>**20071019133243
1361 The hs_hpc_module() prototype in RtsExternal.h didn't match its usage:
1362 we were passing StgWord-sized parameters but the prototype used C
1363 ints.  I think it accidentally worked because we only ever passed
1364 constants that got promoted.  The constants unfortunately were
1365 sometimes negative, which caused the C compiler to emit warnings.
1366 
1367 I suspect PprC.pprHexVal may be wrong to emit negative constants in
1368 the generated C, but I'm not completely sure.  Anyway, it's easy to
1369 fix this in CgHpc, which is what I've done.
1370 
1371]
1372[Zonk quantified tyvars with skolems
1373Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20071019115653
1374 
1375 We used to zonk quantified type variables to regular TyVars.  However, this
1376 leads to problems.  Consider this program from the regression test suite:
1377 
1378   eval :: Int -> String -> String -> String
1379   eval 0 root actual = evalRHS 0 root actual
1380 
1381   evalRHS :: Int -> a
1382   evalRHS 0 root actual = eval 0 root actual
1383 
1384 It leads to the deferral of an equality
1385 
1386   (String -> String -> String) ~ a
1387 
1388 which is propagated up to the toplevel (see TcSimplify.tcSimplifyInferCheck).
1389 In the meantime `a' is zonked and quantified to form `evalRHS's signature.
1390 This has the *side effect* of also zonking the `a' in the deferred equality
1391 (which at this point is being handed around wrapped in an implication
1392 constraint).
1393 
1394 Finally, the equality (with the zonked `a') will be handed back to the
1395 simplifier by TcRnDriver.tcRnSrcDecls calling TcSimplify.tcSimplifyTop.
1396 If we zonk `a' with a regular type variable, we will have this regular type
1397 variable now floating around in the simplifier, which in many places assumes to
1398 only see proper TcTyVars.
1399 
1400 We can avoid this problem by zonking with a skolem.  The skolem is rigid
1401 (which we requirefor a quantified variable), but is still a TcTyVar that the
1402 simplifier knows how to deal with.
1403]
1404[Fix typo that prevented zonking of rhs of EqInsts
1405Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20071018131040
1406 
1407 MERGE TO STABLE
1408]
1409[implement #1468, :browse on its own uses the currently-loaded module
1410Simon Marlow <simonmar@microsoft.com>**20071019115751]
1411[FIX #1784: EM_AMD64 and EM_X86_64 might both be defined to the same value
1412Simon Marlow <simonmar@microsoft.com>**20071019110223]
1413[Tell Cabal what it's version number is while bootstrapping it
1414Duncan Coutts <duncan.coutts@worc.ox.ac.uk>**20071018222128
1415 This means that it'll work with all the packages that specify a cabal-version
1416]
1417[FIX #1450: asynchronous exceptions are now printed by +RTS -xc
1418Simon Marlow <simonmar@microsoft.com>**20071018134951]
1419[fix -fbreak-on-exception for unregsterised
1420Simon Marlow <simonmar@microsoft.com>**20071018110621]
1421[fix :print when !tablesNextToCode
1422Simon Marlow <simonmar@microsoft.com>**20071018105340]
1423[fix breakpoints in unregisterised mode
1424Simon Marlow <simonmar@microsoft.com>**20071018101929]
1425[Change some ints to unsigned ints
1426Simon Marlow <simonmar@microsoft.com>**20071018095503
1427 Fixes some gratuitous warnings when compiling via C with -fhpc
1428]
1429[fix warnings when compiling via C
1430Simon Marlow <simonmar@microsoft.com>**20071018095417]
1431[rollback "accounting wibble: we were missing an alloc_blocks .. "
1432Simon Marlow <simonmar@microsoft.com>**20071018094415
1433 I misread the code, now added a comment to explain why it isn't necessary
1434]
1435[recordMutable: test for gen>0 before calling recordMutableCap
1436Simon Marlow <simonmar@microsoft.com>**20071017125657
1437 For some reason the C-- version of recordMutable wasn't verifying that
1438 the object was in an old generation before attempting to add it to the
1439 mutable list, and this broke maessen_hashtab.  This version of
1440 recordMutable is only used in unsafeThaw#.
1441]
1442[re-instate missing parts of "put the @N suffix on stdcall foreign calls in .cmm code"
1443Simon Marlow <simonmar@microsoft.com>**20071017144007
1444 These changes were apparently lost during "massive changes to add a
1445 'zipper' representation of C-"
1446]
1447[Don't barf on error message with non-tc tyvars
1448Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20071018060336
1449 
1450 MERGE TO STABLE
1451]
1452[Fix deferring on tyvars in TcUnify.subFunTys
1453Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20071018044352]
1454[TcUnify.subFunTys must take type families into account
1455Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20071017114326
1456 * A bug reported by Andrew Appleyard revealed that subFunTys did take
1457   neither type families nor equalities into account.  In a fairly obscure
1458   case there was also a coercion ignored.
1459]
1460[Refactoring: extract platform-specific code from sm/MBlock.c
1461Simon Marlow <simonmar@microsoft.com>**20071017134145
1462 Also common-up some duplicate bits in the platform-specific code
1463]
1464[fix an error message (barf -> sysErrorBelch)
1465Simon Marlow <simonmar@microsoft.com>**20071017121855]
1466[fix warning on Windows
1467Simon Marlow <simonmar@microsoft.com>**20071017121645]
1468[Don't clean gmp when validating (speeds up validation on Windows)
1469Simon Marlow <simonmar@microsoft.com>**20071017100908]
1470[document float2Int# and double2Int#
1471Simon Marlow <simonmar@microsoft.com>**20070925121139]
1472[Update HsExpr.hi-boot-6 for view pattern changes
1473simonpj@microsoft.com**20071017120212]
1474[Fix #1709: do not expose the worker for a loop-breaker
1475simonpj@microsoft.com**20071016131840
1476 
1477 The massive 'Uni' program produced a situation in which a function that
1478 had a worker/wrapper split was chosen as a loop breaker.  If the worker
1479 is exposed in the interface file, then an importing module may go into
1480 an inlining loop: see comments on TidyPgm.tidyWorker.
1481 
1482 This patch fixes the inlining bug.  The code that gives rise to this
1483 bizarre case is still not good (it's a bunch of implication constraints
1484 and we are choosing a bad loop breaker) but the first thing is to fix the
1485 bug.
1486 
1487 It's rather hard to produce a test case!
1488 
1489 Please merge to the 6.8 branch.
1490 
1491 
1492 
1493]
1494[Fix #1662: do not simplify constraints for vanilla pattern matches
1495simonpj@microsoft.com**20071016124710
1496 
1497 See Note [Arrows and patterns] in TcPat. 
1498 
1499 This fixes Trac 1662.   Test is arrows/should_compile/arrowpat.hs
1500 
1501 Please merge
1502 
1503]
1504[Eliminate over-zealous warning in CoreToStg
1505simonpj@microsoft.com**20071016124606]
1506[Show inlined function in the header of 'Inlining done' message
1507simonpj@microsoft.com**20071016124535]
1508[Show program size in the simplifier-bailing-out message
1509simonpj@microsoft.com**20071016124450]
1510[View patterns, record wildcards, and record puns
1511Dan Licata <drl@cs.cmu.edu>**20071010150254
1512 This patch implements three new features:
1513 * view patterns (syntax: expression -> pat in a pattern)
1514 * working versions of record wildcards and record puns
1515 See the manual for detailed descriptions.
1516 
1517 Other minor observable changes:
1518 * There is a check prohibiting local fixity declarations
1519   when the variable being fixed is not defined in the same let
1520 * The warn-unused-binds option now reports warnings for do and mdo stmts
1521 
1522 Implementation notes:
1523 
1524 * The pattern renamer is now in its own module, RnPat, and the
1525 implementation is now in a CPS style so that the correct context is
1526 delivered to pattern expressions.
1527 
1528 * These features required a fairly major upheaval to the renamer.
1529 Whereas the old version used to collect up all the bindings from a let
1530 (or top-level, or recursive do statement, ...) and put them into scope
1531 before renaming anything, the new version does the collection as it
1532 renames.  This allows us to do the right thing with record wildcard
1533 patterns (which need to be expanded to see what names should be
1534 collected), and it allows us to implement the desired semantics for view
1535 patterns in lets.  This change had a bunch of domino effects brought on
1536 by fiddling with the top-level renaming.
1537 
1538 * Prior to this patch, there was a tricky bug in mkRecordSelId in HEAD,
1539 which did not maintain the invariant necessary for loadDecl.  See note
1540 [Tricky iface loop] for details.
1541]
1542[FIX profiling after my storage manager changes
1543Simon Marlow <simonmar@microsoft.com>**20071015103939]
1544[More docu for skolemOccurs
1545Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20071015075644]
1546[Slightly improved comments in TcTyClsDecls
1547Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20071010142023]
1548[TcTyFuns: remove some duplicate code
1549Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20071004142315]
1550[TcTyFuns.eqInstToRewrite
1551Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20071003145715]
1552[Add allocateInGen() for allocating in a specific generation, and cleanups
1553Simon Marlow <simonmar@microsoft.com>**20071012124413
1554 Now allocate() is a synonym for allocateInGen(). 
1555 
1556 I also made various cleanups: there is now less special-case code for
1557 supporting -G1 (two-space collection), and -G1 now works with
1558 -threaded.
1559]
1560[optimise isAlive()
1561Simon Marlow <simonmar@microsoft.com>**20071012103810]
1562[accounting wibble: we were missing an alloc_blocks++ in allocateLocal()
1563Simon Marlow <simonmar@microsoft.com>**20071012101711]
1564[threadStackOverflow should be using allocateLocal
1565Simon Marlow <simonmar@microsoft.com>**20071012100405]
1566[FIX #1759 while respecting the ticks
1567andy@galois.com**20071015033319]
1568[Improving the combine mode for hpc
1569andy@galois.com**20071014171009
1570 
1571 we now have
1572 Processing Coverage files:
1573   sum         Sum multiple .tix files in a single .tix file
1574   combine     Combine two .tix files in a single .tix file
1575   map         Map a function over a single .tix file
1576 
1577 Where sum joins many .tix files, combine joins two files (with
1578 extra functionality possible), and map just applied a function
1579 to single .tix file.
1580 
1581 These changes were improvements driven by hpc use cases.
1582 
1583 END OF DESCRIPTION***
1584 
1585 Place the long patch description above the ***END OF DESCRIPTION*** marker.
1586 The first line of this file will be the patch name.
1587 
1588 
1589 This patch contains the following changes:
1590 
1591 M ./utils/hpc/Hpc.hs -1 +3
1592 M ./utils/hpc/HpcCombine.hs -33 +84
1593 M ./utils/hpc/HpcFlags.hs -11 +59
1594]
1595[Fix DoCon: Another try at getting extractResults right
1596simonpj@microsoft.com**20071012162325
1597 
1598 For some reason TcSimplify.extractResults is quite difficult to get right.
1599 This is another attempt; finally I think I have it.
1600 
1601 Strangely enough, it's only Sergey's DoCon program that shows up the
1602 bug, which manifested as a failure in the Simplifier
1603 
1604         lookupRecBndr $dGCDRing{v a1Lz} [lid]
1605 
1606 But it was due to extractResults producing multiple bindings for
1607 the same dictionary.
1608 
1609 Please merge this to the stable branch (after previous patches to
1610 TcSimplify though).
1611 
1612 
1613]
1614[mention what SCC stands for
1615Simon Marlow <simonmar@microsoft.com>**20071011135736]
1616[Add a proper write barrier for MVars
1617Simon Marlow <simonmar@microsoft.com>**20071011135505
1618 Previously MVars were always on the mutable list of the old
1619 generation, which meant every MVar was visited during every minor GC.
1620 With lots of MVars hanging around, this gets expensive.  We addressed
1621 this problem for MUT_VARs (aka IORefs) a while ago, the solution is to
1622 use a traditional GC write-barrier when the object is modified.  This
1623 patch does the same thing for MVars.
1624 
1625 TVars are still done the old way, they could probably benefit from the
1626 same treatment too.
1627]
1628[we need to #include "Stg.h" first, we can't rely on GHC to inject it
1629Simon Marlow <simonmar@microsoft.com>**20071010153244
1630 This fixes the unreg build, and in general building the RTS code
1631 via-C. I'm not sure at what stage this was broken, but I think it
1632 was working accidentally before.
1633]
1634[Fix Trac #1680; check for unboxed tuples in TcType.marshalableTyCon
1635simonpj@microsoft.com**20071011123426]
1636[Fix Trac #1759: do not let ticks get in the way of spotting trivially-true guards
1637simonpj@microsoft.com**20071010164731
1638 
1639 GHC spots that an 'otherwise' guard is true, and uses that knowledge to
1640 avoid reporting spurious missing-pattern or overlaps with -Wall.
1641 
1642 The HPC ticks were disguising the 'otherwise', which led to this failure.
1643 Now we check.  The key change is defining DsGRHSs.isTrueLHsExpr.
1644 
1645 Test is ds062
1646 
1647 
1648]
1649[Fix Trac #1755; check for stage errors in TH quoted Names
1650simonpj@microsoft.com**20071010150250
1651 
1652 There are a number of situations in which you aren't allowed to use
1653 a quoted Name in a TH program, such as
1654        \x -> 'x
1655 But we weren't checking for that!  Now we are.
1656 
1657 Merge to stable branch.
1658 
1659 Test is TH_qname.
1660 
1661 
1662]
1663[checkWellStaged: reverse comparsion (no change in semantics), plus some comments
1664simonpj@microsoft.com**20071010124013]
1665[Add traceTc in tcSimplifyDefault
1666simonpj@microsoft.com**20071010123933]
1667[Improve pretty-printing of splices in HsSyn
1668simonpj@microsoft.com**20071010123726]
1669[Fix Trac #1678; be more careful about catching and reporting exceptions in spliced TH monadic computations
1670simonpj@microsoft.com**20071010145705
1671 
1672 Many of the new lines are comments to explain the slightly-convoluted
1673 in which exceptions get propagated out of the Q monad.
1674 
1675 This fixes Trac 1679; test is TH_runIO (as well as the exising TH_fail).
1676 
1677 Please merge
1678 
1679 
1680]
1681[Comments only
1682simonpj@microsoft.com**20071010145646]
1683[FIX BUILD (when compiling base via C): declare n_capabilities
1684Simon Marlow <simonmar@microsoft.com>**20071010103704]
1685[GHCi: use non-updatable thunks for breakpoints
1686Simon Marlow <simonmar@microsoft.com>**20071010093241
1687 The extra safe points introduced for breakpoints were previously
1688 compiled as normal updatable thunks, but they are guaranteed
1689 single-entry, so we can use non-updatable thunks here.  This restores
1690 the tail-call property where it was lost in some cases (although stack
1691 squeezing probably often recovered it), and should improve
1692 performance.
1693]
1694[FIX #1681: withBreakAction had too large a scope in runStmt
1695Simon Marlow <simonmar@microsoft.com>**20071010085820]
1696[tiny refactoring
1697Simon Marlow <simonmar@microsoft.com>**20071009145002]
1698[small reworking of the loop-breaker-choosing algorithm
1699Simon Marlow <simonmar@microsoft.com>**20071009145305
1700 Previously inline candidates were given higher preference as
1701 non-loop-breakers than constructor applications, but the reason for
1702 this was that making a wrapper into a loop-breaker is to be avoided at
1703 all costs.  This patch refines the algorithm slightly so that wrappers
1704 are explicitly avoided by giving them a much higher score, and other
1705 inline candidates are given lower scores than constructor
1706 applications.
1707 
1708 This makes almost zero difference to a complete nofib run, so it
1709 amounts to just a tidyup.
1710]
1711[Fix warnings when build w/o readline
1712Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20071010101840]
1713[Update documentation for win32 DLL linking
1714Clemens Fruhwirth <clemens@endorphin.org>**20071010074415]
1715[FIX: tidy up TcSimplify following equality constraints additions
1716simonpj@microsoft.com**20071010093334
1717 
1718 The combination of "type refinement" for GADTs and the new equality
1719 constraints has made TcSimplify rather complicated.  And wrong:
1720 it generated bogus code for cholewo-eval.
1721 
1722 This patch is still far from entirely satisfactory.  There are
1723 too many places where invariants are unclear, and the code is
1724 still a bit of a mess.  But I believe it's better, and it passes
1725 the regression tests!  So I think it's good enough for the 6.8 release.
1726 
1727 Please merge.
1728 
1729 The main changes are:
1730 
1731 - get rid of extractLocalResults (which was always suspicious)
1732 
1733 - instead, treat the 'refinement' along with 'givens', by
1734   adding a field to RedEnv, red_reft which travels with red_givens
1735 
1736 - I also reworked extractResults a bit, which looked wrong to me
1737   This entailed changing the Given constructor in Avail to take
1738   an Inst rather than a TcId
1739 
1740 
1741]
1742[Improve pretty-printing for HsSyn
1743simonpj@microsoft.com**20071010093058]
1744[Fix Trac #1746: make rule-matching work properly with Cast expressions
1745simonpj@microsoft.com**20070929104406
1746 
1747 The Cast case of the rule-matcher was simply wrong.
1748 
1749 This patch fixes it; see Trac #1746.
1750 
1751 I also fixed the rule generation in SpecConstr to generate a wild-card
1752 for the cast expression, which we don't want to match on.  This makes
1753 the rule more widely applicable; it wasn't the cause of the bug.
1754 
1755]
1756[Small comment only
1757simonpj@microsoft.com**20070929104309]
1758[export n_capabilities, see #1733
1759Simon Marlow <simonmar@microsoft.com>**20071009142701]
1760[FIX #1743, create a fresh unique for each Id we bind at a breakpoint
1761Simon Marlow <simonmar@microsoft.com>**20071009142554]
1762[remove vestiges of way 'u' (see #1008)
1763Simon Marlow <simonmar@microsoft.com>**20071009130942]
1764[also call initMutex on every task->lock, see #1391
1765Simon Marlow <simonmar@microsoft.com>**20071009122409]
1766[remove the "-unreg" flag and the unregisterised way, see #1008
1767Simon Marlow <simonmar@microsoft.com>**20071009122338]
1768[warning removal
1769Simon Marlow <simonmar@microsoft.com>**20071009105138]
1770[warning removal
1771Simon Marlow <simonmar@microsoft.com>**20071003170005]
1772[refactoring only: use the parameterised InstalledPackageInfo
1773Simon Marlow <simonmar@microsoft.com>**20071003163536
1774 This required moving PackageId from PackageConfig to Module
1775]
1776[warning removal
1777Simon Marlow <simonmar@microsoft.com>**20071003174016]
1778[warning removal
1779Simon Marlow <simonmar@microsoft.com>**20071003173448]
1780[warning removal
1781Simon Marlow <simonmar@microsoft.com>**20071003173202]
1782[warning removal
1783Simon Marlow <simonmar@microsoft.com>**20071003172715]
1784[remove most warnings
1785Simon Marlow <simonmar@microsoft.com>**20071003090804]
1786[mkIfaceExports: sort the children of AvailTC
1787Simon Marlow <simonmar@microsoft.com>**20071002114917
1788 This fixes a problem with spurious recompilations: each time a module
1789 was recompiled, the order of the children would change, causing extra
1790 recompilation.
1791 
1792 MERGE TO STABLE
1793]
1794[error message fix (#1758)
1795Simon Marlow <simonmar@microsoft.com>**20071008134958]
1796[FIX validate for PPC Mac OS X - RegAllocStats.hs
1797Thorkil Naur <naur@post11.tele.dk>**20071005144105]
1798[FIX validate for PPC Mac OS X - RegAllocLinear.hs
1799Thorkil Naur <naur@post11.tele.dk>**20071005143607]
1800[FIX validate for PPC Mac OS X - Linker.c
1801Thorkil Naur <naur@post11.tele.dk>**20071005144908]
1802[FIX validate for PPC Mac OS X - Evac.h
1803Thorkil Naur <naur@post11.tele.dk>**20071005144454]
1804[FIX #1748: -main-is wasn't handling the case of a single hierarchical module
1805Simon Marlow <simonmar@microsoft.com>**20071008131305
1806 test case is driver062.5
1807]
1808[FIX BUILD FD_SETSIZE signed
1809jochemberndsen@dse.nl**20070927132649
1810 On FreeBSD FD_SETSIZE is unsigned. Cast it to a signed int
1811 for portability.
1812]
1813[FIX BUILD addDLL returns const char*
1814jochemberndsen@dse.nl**20070927132619
1815 addDLL returns const char*, not just a char*.
1816 Fix compiler warning
1817]
1818[FIX BUILD `set -o igncr'-issue on FreeBSD
1819jochemberndsen@dse.nl**20070926203750
1820 `set -o igncr' does not work on non-cygwin-systems.
1821 Fail silently if this command does not work, instead
1822 of aborting the build.
1823 
1824]
1825[comment-out "use vars" in 3 places (see #1739)
1826Simon Marlow <simonmar@microsoft.com>**20071008115740]
1827[Change DOCOPTIONS pragma to DOC_OPTIONS
1828David Waern <davve@dtek.chalmers.se>**20071002143849
1829 
1830 MERGE TO STABLE
1831]
1832[FIX: parsing of doc options
1833David Waern <davve@dtek.chalmers.se>**20071002143713
1834 
1835 Lexing of the doc options pragma was changed, but but no change was
1836 made to the parser to reflect that. This patch fixes this problem.
1837 
1838 MERGE TO STABLE
1839]
1840[FIX: add missing case to OccName.isSymOcc
1841David Waern <davve@dtek.chalmers.se>**20071002143459]
1842[Remove warnings from WwLib
1843Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20071002130736]
1844[FIX: mkWWcpr takes open alg types into account
1845Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20071002130407
1846 - This fixed the failures of GMapAssoc and GMapTop for optmising ways
1847 
1848 MERGE TO STABLE
1849]
1850[FIX #1738: KPush rule of FC must take dataConEqTheta into account
1851Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20071001154343
1852 
1853 MERGE TO STABLE
1854]
1855[FIX #1729: Don't try to expand syn families with -XLiberalTypeSynonyms
1856Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20070929122624
1857 
1858 MERGE TO STABLE
1859]
1860[Some more traceTcs
1861Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20070929121941]
1862[FIX: Make boxy splitters aware of type families
1863Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20070928225541
1864 
1865 MERGE TO STABLE
1866]
1867[Finally, I managed to squash an infamous bug in :print
1868Pepe Iborra <mnislaih@gmail.com>**20070927151300
1869   
1870   It turns out the newtype handling code in :print
1871   was slipping non mutable Tyvars in the types reconstructed.
1872   The error message eventually produced was rather obscure:
1873   
1874   [src/Tp.hs:75:28-64] *MainTp> :p x
1875   *** Exception: No match in record selector Var.tcTyVarDetails
1876   [src/Tp.hs:75:28-64] *MainTp>
1877   
1878   Due to non mutable tyvars, unifyType was failing.
1879   A well placed assertion in the unifyType code would have made
1880    my life much easier.
1881   Which reminds me I should install a -ddump-* system in the
1882   RTTI subsystem, or future hackers will run away in swearing.
1883 
1884 
1885 MERGE TO STABLE
1886 
1887]
1888[Be a bit more flexible in terminal identification for do_bold
1889Pepe Iborra <mnislaih@gmail.com>**20070927141549
1890   
1891   In Os X for instance, by default we have TERM=xterm-color
1892 
1893 MERGE TO STABLE
1894 
1895]
1896[html_installed_root shouldn't contain $$pkgid
1897Ian Lynagh <igloo@earth.li>**20070927130427
1898 This actually didn't break anything, as the shell expanded $pkgid to the
1899 empty string, but it was still wrong.
1900]
1901[Comments and debug output only
1902simonpj@microsoft.com**20070927110842]
1903[further stub filename fix: I managed to break non-stubdir -fvia-C compilation
1904Simon Marlow <simonmar@microsoft.com>**20070927102539]
1905[also acquire/release task->lock across fork()
1906Simon Marlow <simonmar@microsoft.com>**20070927091331
1907 further attempt to fix #1391 on MacOS
1908]
1909[FIX -stubdir bug: the .hc file was #including the wrong _stub.h filename
1910Simon Marlow <simonmar@microsoft.com>**20070926134539
1911 Using -stubdir together with hierarchical modules, -fvia-C, and --make
1912 is essentially broken in 6.6.x.  Recently discovered by Cabal's use of
1913 -stubdir.
1914 
1915 Test cases: driver027/driver028 (I've updated them to use -fvia-C, in
1916 order to test for this bug).
1917]
1918[Add STANDARD_OPTS to SRC_HC_OPTS in rts/Makefile so we get -I../includes for .cmm files
1919Ian Lynagh <igloo@earth.li>**20070926122637
1920 Patch from Clemens Fruhwirth
1921]
1922[fix #1734, panic in :show modules after load failure
1923Simon Marlow <simonmar@microsoft.com>**20070926100732]
1924[Remove current package from preloaded package set
1925Clemens Fruhwirth <clemens@endorphin.org>**20070926084802]
1926[Fixing #1340, adding HPC Documentation
1927andy@galois.com**20070926055331]
1928[TAG 2007-09-25
1929Ian Lynagh <igloo@earth.li>**20070925164536]
1930[fix to previous fix to THUNK_SELECTOR machinery
1931Simon Marlow <simonmar@microsoft.com>**20070925132600
1932 It turns out I didn't get it quite right in the case of compacting
1933 collection.  This should make it work again.
1934]
1935[Be more specific about file-header pragmas
1936simonpj@microsoft.com**20070924162847
1937 
1938 Document the rules for pragmas that must occur at the top of a file.
1939 
1940 Please merge this patch
1941 
1942]
1943[comments only: point to relevant bug reports
1944Simon Marlow <simonmar@microsoft.com>**20070924103323]
1945[FIX #1038: failure of selector-thunk machinery to do its job
1946Simon Marlow <simonmar@microsoft.com>**20070917151834
1947 After a couple of abortive attempts, I think I've got this right.
1948 When the GC sees a chain of the form
1949 
1950    snd (_, snd (_, snd (_, ...)))
1951 
1952 it can now deal with an arbitrary nesting depth, whereas previously it
1953 had a depth limit which was necessitated by the use of recursion.  Now
1954 we chain all the selector thunks together in the heap, and go back and
1955 update them all when we find the value at the end of the chain.
1956 
1957 While I was here I removed some old cruft in eval_thunk_selector()
1958 which was carefully manintaing invariants that aren't necessary any
1959 more, the main one being that evacuate() can safely be passed a
1960 to-space pointer now.
1961 
1962 In addition to validate I've tested building a stage3 compiler with
1963 and without +RTS -c, so I'm reasonably sure this is safe.
1964 
1965]
1966[attempt to fix #1391, hold locks across fork() and initialize them in the child
1967Simon Marlow <simonmar@microsoft.com>**20070914145519]
1968[Put packages in ../$$pkgid not ../$$pkg
1969Ian Lynagh <igloo@earth.li>**20070923204940]
1970[Notice when C modules have changed when deciding whether or not to link
1971Ian Lynagh <igloo@earth.li>**20070923181620
1972 Based on a patch from Lemmih
1973]
1974[Whitespace changes only
1975Ian Lynagh <igloo@earth.li>**20070923174242]
1976[Remove remaining bits of bindist "make in-place"
1977Ian Lynagh <igloo@earth.li>**20070923163640]
1978[Add an entry for strings treated as ISO-8859-1 to the users guide bug list
1979Ian Lynagh <igloo@earth.li>**20070923131845]
1980[Fix bug #1725 (Haddock links between packages)
1981sven.panne@aedion.de**20070923120636
1982 Resolving this bug is a bit tricky, it boils down to the question: Should the
1983 Haddock links between packages include the package version or not?
1984 
1985 Pro: We can differentiate between various versions of the same package,
1986 installed all at once. (How often does this really happen in practice?)
1987 
1988 Cons: When package A refers to a package B, and B is later upgraded, links
1989 in A's documentation will break. Furthermore, if an *additional* version of
1990 B is installed, which version should A refer to?
1991 
1992 Because IMHO it is not clear what to do when version numbers are included,
1993 let's leave them out. If somebody has a better idea, feel free to submit a
1994 better patch.
1995 
1996 MERGE TO STABLE
1997]
1998[Unbreak "dist" target for fresh trees
1999sven.panne@aedion.de**20070923094358
2000 The previous hack to include Parser.hs in source distros broke the possibility
2001 of doing a "make dist" in a fresh tree, i.e. one which has just been checked
2002 out and configured, but *not* built. Of course you will need Happy for such a
2003 source distro later, but at least the freedom to do this is important.
2004 
2005 The ultimate goal should be that something like "make dist" will work in a
2006 freshly checked out tree, with no prerequisite steps (this is very common in
2007 most projects). We should move towards that goal, not away from it...
2008 
2009 
2010 MERGE TO STABLE
2011]
2012[make stamp.inplace-gcc-lib copy $(LD) instead of $(GccDir)ld.exe to avoid building problem
2013shelarcy <shelarcy@gmail.com>**20070920130159]
2014[Removed duplicate entry for derbugging flag -ddump-tc from the user guide
2015v.dijk.bas@gmail.com**20070920121306]
2016[Fix building with compilers which don't have an integer for a patch level
2017Ian Lynagh <igloo@earth.li>**20070921165316]
2018[Move OPTIONS pragmas above comments
2019Ian Lynagh <igloo@earth.li>**20070921163552
2020 Fixes building with -Werror (i.e. validate) and GHC < 6.6
2021]
2022[massive convulsion in ZipDataflow
2023Norman Ramsey <nr@eecs.harvard.edu>**20070921134124
2024 
2025 After my talk, I got the idea of 'shallow rewriting' for the
2026 dataflow framework.  Here it is implemented, along with
2027 some related ideas late making Graph and not LGraph primary.
2028 
2029 The only bad thing is that the whole bit is stitched together
2030 out of ill-fitting pieces, kind of like Frankenstein's monster.
2031 A new ZipDataflow will rise out of the ashes.
2032]
2033[incomplete start on set of intervals for stack model
2034Norman Ramsey <nr@eecs.harvard.edu>**20070921134035]
2035[Small changes to mk-ing flow graphs
2036simonpj@microsoft.com**20070919150544
2037 
2038 - ZipCfg: add mkBlockId :: Unique -> BlockId
2039 - MkZipCfg: change sequence --> catAGrpahs
2040 - MkZipCfgCmm: add mkCmmIfThen
2041 
2042 Not fully validated, but I don't think anything will break
2043 
2044 
2045]
2046[Mostly comments, following NR/SPJ meeting
2047simonpj@microsoft.com**20070919150345]
2048[Remove a redundant part of distrib/Makefile's "make install"
2049Ian Lynagh <igloo@earth.li>**20070920183903]
2050[Fix Trac #1718: interaction of error, unlifted tuples, and casts
2051simonpj@microsoft.com**20070920120049
2052 
2053 See Note [Float coercions (unlifted)] in Simplify
2054 
2055 Test is simpl018
2056 
2057]
2058[Hack to get haskell-src's Parser.hs into source distributions
2059Ian Lynagh <igloo@earth.li>**20070919194222]
2060[Fix --print-docdir for relocatable builds; fixes #1226
2061Ian Lynagh <igloo@earth.li>**20070919140100]
2062[Use $(RelocatableBuild) rather than $(Windows)
2063Ian Lynagh <igloo@earth.li>**20070919140037]
2064[Fix exponential-time behaviour with type synonyms; rename -XPartiallyAppliedTypeSynonyms to -XLiberalTypeSynonyms
2065simonpj@microsoft.com**20070919171207
2066 
2067 Fixes exponential behaviour present in GHC 6.6!
2068 
2069 I renamed the flag because the old (not very old) name wasn't
2070 describing what it does.
2071 
2072]
2073[FIX #1688: Givens in checkLoop are not that rigid after all
2074Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20070919150738
2075 - This patch re-instates the policy of 6.6.1 to zonk the given constraints
2076   in the simplifier loop.
2077 
2078 MERGE TO STABLE
2079]
2080[FIX #1713: watch out for type families in splitAppTy functions
2081Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20070919122011
2082 
2083   MERGE TO STABLE
2084]
2085[Catch any exceptions thrown by getEnv; fixes #1704
2086Ian Lynagh <igloo@earth.li>**20070918215752]
2087[Make the error message mentioning -XPatternSignatures spell the flag correctly
2088simonpj@microsoft.com**20070919142821]
2089[Give Windows its own definitions of docdir (and htmldir etc)
2090Ian Lynagh <igloo@earth.li>**20070918201249]
2091[Include build.mk or validate{,-settings}.mk through custom-settings.mk
2092Ian Lynagh <igloo@earth.li>**20070918200637]
2093[Install extra-gcc-opts in bindists
2094Ian Lynagh <igloo@earth.li>**20070918194839]
2095[Add validate.mk to .darcs-boring
2096Ian Lynagh <igloo@earth.li>**20070918184509]
2097[add support for EM_AMD64 elf machine type, openbsd/amd64 ghci works
2098Don Stewart <dons@galois.com>**20070916034845]
2099[patch Linker.c for amd64/openbsd
2100Don Stewart <dons@galois.com>**20070916012728]
2101[MERGED: Another attempt at getting bindists working everywhere
2102Ian Lynagh <igloo@earth.li>**20070918163331
2103 Ian Lynagh <igloo@earth.li>**20070916005328] {
2104]
2105[Tune coalescing in non-iterative register allocator
2106Ben.Lippmeier@anu.edu.au**20070917132614
2107 
2108 If iterative coalescing isn't turned on, then do a single aggressive
2109 coalescing pass for the first build/color cycle and then back off to
2110 conservative coalescing for subseqent passes.
2111 
2112 Aggressive coalescing is a cheap way to eliminate lots of the reg-reg
2113 moves, but it can make the graph less colorable - if we turn it on
2114 for every pass then allocation for code with a large amount of register
2115 pressure (ie SHA1) doesn't converge in a sensible number of cycles.
2116]
2117[Bugfix to iterative coalescer
2118Ben.Lippmeier@anu.edu.au**20070917124241
2119 
2120 Coalescences must be applied to the unsimplified graph in the same order
2121 they were found by the iterative coalescing algorithm - otherwise
2122 the vreg rewrite mapping will be wrong and badness will ensue.
2123]
2124[Add -dasm-lint
2125Ben.Lippmeier@anu.edu.au**20070917113024
2126 
2127 When -dasm-lint is turned on the register conflict graph is checked for
2128 internal consistency after each build/color pass. Make sure that all
2129 edges point to valid nodes, that nodes are colored differently to their
2130 neighbours, and if the graph is supposed to be colored, that all nodes
2131 actually have a color.
2132]
2133[Count CmmTops processed so far in the native code generator
2134Ben.Lippmeier@anu.edu.au**20070914164234
2135 To help with debugging / nicer -ddump-asm-regalloc-stages
2136]
2137[Change spill cost function back to inverse length of live range.
2138Ben.Lippmeier@anu.edu.au**20070914161408
2139 
2140 On further testing it turns out that using Chaitin's spill cost formula
2141 of counting the number of uses of a var and then dividing by the degree
2142 of the node isn't actually a win. Perhaps because this isn't counting
2143 the number of actual spills inserted in the output code.
2144 
2145 This would be worth revisiting if other work manages to increase the
2146 register pressure in the native code.
2147]
2148[Replace missing '#' on options pragma
2149Ben.Lippmeier@anu.edu.au**20070914094320]
2150[Better cleaning of spills in spill cleaner
2151Ben.Lippmeier@anu.edu.au**20070914093907
2152 
2153 Track what slots each basic block reloads from. When cleaning spill
2154 instructions we can use this information to decide whether the slot
2155 spilled to will ever be read from on this path.
2156]
2157[added node to push a closure onto the current call context
2158Norman Ramsey <nr@eecs.harvard.edu>**20070917172939]
2159[tightened some dataflow code as part of preparing a talk
2160Norman Ramsey <nr@eecs.harvard.edu>**20070917161715]
2161[added 'filterRegsUsed' to CmmExpr
2162Norman Ramsey <nr@eecs.harvard.edu>**20070917161634]
2163[Writing out .tix file only if you are the original process, not a child.
2164andy@galois.com**20070917230641
2165 This lets us gain coverage on programs that use fork, like xmonad.
2166 
2167 * To be merged to STABLE *
2168 
2169]
2170[removing the functions hs_hpc_read and hs_hpc_write inside Hpc.c, they are dead code.
2171andy@galois.com**20070917230201
2172 
2173 * To be merged to STABLE. *
2174 
2175]
2176[Clean stage<n>/ghc-inplace.c
2177Ian Lynagh <igloo@earth.li>**20070917094300]
2178[Comments only
2179simonpj@microsoft.com**20070917161133]
2180[Loosen the syntax of types slightly
2181simonpj@microsoft.com**20070917160708
2182 
2183 This change allows you to write
2184        f :: (Eq a) => (Ord b) => a -> b -> b
2185 Previously you could only have a forall and context after '->'
2186 but not after '=>' which is strange and inconsistent.
2187 
2188 Making the parser a bit more generous didn't change the number
2189 of shift/reduce conflicts.
2190 
2191 tc236 tests.
2192 
2193 
2194]
2195[avoid platform dependencies: my_uintptr_t ==> StgWord
2196Simon Marlow <simonmar@microsoft.com>**20070917120156]
2197[FIX: TypeFamilies: should_compile/Simple12
2198Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20070916130419
2199 - checkTauTvUpdate now distinguishes between whether
2200   (1) a type variables occurs only in type family parameters
2201       (in which case unification is to be deferred)
2202   (2) other variable occurences
2203       (which case we fail with a cannot create infinite type message, as before)
2204]
2205[Keep valgrind happy when calling timer_create
2206sven.panne@aedion.de**20070916111927
2207 Fill all of the sigevent structure with zeroes before individual fields are
2208 set. Although not strictly necessary, this keeps tools like valgrind from
2209 complaining about passing uninitialized data, which is a good thing.
2210 
2211 MERGE TO STABLE
2212]
2213[reloads are now sunk as deep as possible
2214Norman Ramsey <nr@eecs.harvard.edu>**20070915215414]
2215[added instance declarations so we can fold over local registers used in Middle and Last nodes
2216Norman Ramsey <nr@eecs.harvard.edu>**20070915215337]
2217[added monadic mapM_blocks.  the fear, the fear...
2218Norman Ramsey <nr@eecs.harvard.edu>**20070915215303]
2219[fix misspelled constructor
2220Norman Ramsey <nr@eecs.harvard.edu>**20070915215238]
2221[add another way to run in the fuel monad (this is a mess right now)
2222Norman Ramsey <nr@eecs.harvard.edu>**20070915215138]
2223[lay ground for more readable dumping of CmmGraph
2224Norman Ramsey <nr@eecs.harvard.edu>**20070915201849]
2225[add a function to help identify unique predecessors
2226Norman Ramsey <nr@eecs.harvard.edu>**20070915201746]
2227[scrub away remaining MidNop
2228Norman Ramsey <nr@eecs.harvard.edu>**20070915201719]
2229[changes needed to get map_blocks to actually compile :-(
2230Norman Ramsey <nr@eecs.harvard.edu>**20070915201651]
2231[remove an unwanted language extension
2232Norman Ramsey <nr@eecs.harvard.edu>**20070915201525]
2233[drop the old, redundant implementation of postorder_dfs
2234Norman Ramsey <nr@eecs.harvard.edu>**20070915201448]
2235[eliminate the last vestige of UniqSM from ZipCfg
2236Norman Ramsey <nr@eecs.harvard.edu>**20070915201414]
2237[add map_blocks to ZipCfg
2238Norman Ramsey <nr@eecs.harvard.edu>**20070915201355]
2239[get rid of MidNop
2240Norman Ramsey <nr@eecs.harvard.edu>**20070915201243]
2241[get freshBlockId out of ZipCfg and bury it in MkZipCfg where it belongs
2242Norman Ramsey <nr@eecs.harvard.edu>**20070915201030]
2243[Make DESTDIR work again
2244sven.panne@aedion.de**20070916084339
2245 installPackage is a horror, using --force is probably not the perfect way
2246 to make DESTDIR functionality work again, but given the current state of
2247 affairs, I can't find a quick and clean solution.
2248 
2249 MERGE TO STABLE
2250]
2251[Resurrect the "lib" subdirectory in the installation tree, it was somehow lost
2252sven.panne@aedion.de**20070916084122
2253 Having all package directory directly in the toplevel installation directory
2254 would be a bad thing because of potential name clashes, and it wasn't done this
2255 way earlier, so reinstantiate the old layout.
2256 
2257 MERGE TO STABLE
2258]
2259[Overhaul of the rewrite rules
2260Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20070915074119
2261 - Cleaned up and simplified rules
2262 - Added many missing cases
2263 - The rules OccursCheck and swap have been eliminated and integrate with
2264   the other rules; ie, Subst and Unify perform the occurs check themselves
2265   and they can deal with left-to-right and right-to-left oriented rewrites.
2266   This makes the code simpler and more efficient.
2267 - Also added comments.
2268]
2269[added foldUFM_Directly, used where appropriate, killed all warnings
2270Norman Ramsey <nr@eecs.harvard.edu>**20070915190617]
2271[(temporarily) check consistency of new postorder DFS no matter what DEBUG is
2272Norman Ramsey <nr@eecs.harvard.edu>**20070915133904]
2273[Wibbles to MkZipCfgCmm stuff
2274simonpj@microsoft.com**20070914170119
2275 
2276 Watch out: I've added MkZipCfg.sequence, which clashes with the
2277 Prelude (like some other names in MkZipCfg.  Maybe you can think
2278 of a better name for it.
2279 
2280]
2281[make remove_entry_label actually work inside ZipDataflow
2282Norman Ramsey <nr@eecs.harvard.edu>**20070914145435]
2283[export 'entry' from ZipCfg, at least for now
2284Norman Ramsey <nr@eecs.harvard.edu>**20070914145417]
2285[Remove export of remove_entry_label
2286simonpj@microsoft.com**20070914135211]
2287[replace #ifdef DEBUG with debugIsOn in cmm/MkZipCfg
2288Norman Ramsey <nr@eecs.harvard.edu>**20070914134202]
2289[new signatures for splicing functions, new postorder_dfs
2290Norman Ramsey <nr@eecs.harvard.edu>**20070913173653]
2291[tidying cmm/CmmSpillReload.hs
2292Norman Ramsey <nr@eecs.harvard.edu>**20070913173512]
2293[tidying cmm/CmmLiveZ.hs
2294Norman Ramsey <nr@eecs.harvard.edu>**20070913173446]
2295[Unbreak "clean" and "distclean" targets when there is no testsuite
2296sven.panne@aedion.de**20070915085845]
2297[Use sed to make stage-specific ghc-inplace.c's
2298Ian Lynagh <igloo@earth.li>**20070914233446
2299 When trying to do it with -D we were having trouble getting the double
2300 quotes through in all Windows configurations.
2301]
2302[Fix copy+paste-o, spotted by Simon Marlow
2303Ian Lynagh <igloo@earth.li>**20070914142650]
2304[Add documentation about -shared, shared library name mangling, and a xrefs
2305Clemens Fruhwirth <clemens@endorphin.org>**20070914204538]
2306[distclean: ghcprof-inplace
2307Simon Marlow <simonmar@microsoft.com>**20070914125542]
2308[distclean: <lib>/.depend[.bak]
2309Simon Marlow <simonmar@microsoft.com>**20070914125532]
2310[distclean: extra-gcc-opts, testsuite
2311Simon Marlow <simonmar@microsoft.com>**20070914125444]
2312[fix install-docs for non-html docs
2313Simon Marlow <simonmar@microsoft.com>**20070914093738]
2314[Refer to "boot" libs, not "core" libs
2315Ian Lynagh <igloo@earth.li>**20070914132658]
2316[Give darcs-all a -s (silent) flag
2317Ian Lynagh <igloo@earth.li>**20070913202330]
2318[warning police
2319Ben.Lippmeier@anu.edu.au**20070913161443]
2320[Better calculation of spill costs / selection of spill candidates.
2321Ben.Lippmeier@anu.edu.au**20070913155407
2322 
2323 Use Chaitin's formula for calculation of spill costs.
2324   Cost to spill some vreg = (num writes + num reads) / degree of node
2325 
2326 With 2 extra provisos:
2327   1) Don't spill vregs that live for only 1 instruction.
2328   2) Always prefer to spill vregs that live for a number of instructions
2329        more than 10 times the number of vregs in that class.
2330 
2331 Proviso 2 is there to help deal with basic blocks containing very long
2332 live ranges - SHA1 has live ranges > 1700 instructions. We don't ever
2333 try to keep these long lived ranges in regs at the expense of others.
2334 
2335 Because stack slots are allocated from a global pool, and there is no
2336 slot coalescing yet, without this condition the allocation of SHA1 dosn't
2337 converge fast enough and eventually runs out of stack slots.
2338 
2339 Prior to this patch we were just choosing to spill the range with the
2340 longest lifetime, so we didn't bump into this particular problem.
2341 
2342]
2343[comment wibbles
2344Ben.Lippmeier@anu.edu.au**20070912160759]
2345[Bump version number 6.7 -> 6.9
2346Ian Lynagh <igloo@earth.li>**20070913181733]
2347[More library installation path fiddling
2348Ian Lynagh <igloo@earth.li>**20070913174242]
2349[libsubdir for libraries is now always $$pkgid
2350Ian Lynagh <igloo@earth.li>**20070913173926]
2351[Define RelocatableBuild variable
2352Ian Lynagh <igloo@earth.li>**20070913155331
2353 default YES on Windows, NO otherwise.
2354]
2355[We need to thread lots more paths through installPackage to make bindists work
2356Ian Lynagh <igloo@earth.li>**20070913154830]
2357[Comments only
2358simonpj@microsoft.com**20070913152440]
2359[Comments, and remove export of checkAmbiguity
2360simonpj@microsoft.com**20070911085734]
2361[Define and use PprTyThing.pprTypeForUser
2362simonpj@microsoft.com**20070911085123
2363 
2364 When printing types for the user, the interactive UI often wants to
2365 leave foralls implicit.  But then (as Claus points out) we need to be
2366 careful about name capture. For example with this source program
2367 
2368        class C a b where
2369          op :: forall a. a -> b
2370 
2371 we were erroneously displaying the class in GHCi (with suppressed
2372 foralls) thus:
2373 
2374        class C a b where
2375          op :: a -> b
2376 
2377 which is utterly wrong.
2378 
2379 This patch fixes the problem, removes GHC.dropForAlls (which is dangerous),
2380 and instead supplies PprTyThing.pprTypeForUser, which does the right thing.
2381 
2382 
2383]
2384[Minor refactoring: give an explicit name to the pretty-printing function for TyThing, and use it
2385simonpj@microsoft.com**20070911085005]
2386[Improve documentation for Template Haskell
2387simonpj@microsoft.com**20070911082212]
2388[Better modelling of newtypes in the Term datatype
2389Pepe Iborra <mnislaih@gmail.com>**20070912165855
2390 
2391 This helps to get pretty printing right,
2392 nested newtypes were not being shown correctly by :print
2393 
2394 
2395]
2396[GHCi debugger: Added a -fprint-evld-with-show flag
2397Pepe Iborra <mnislaih@gmail.com>**20070912153505
2398     
2399     The flag enables the use of Show instances in :print.
2400     By default they are not used anymore
2401 
2402]
2403[Update .darcs-boring
2404Ian Lynagh <igloo@earth.li>**20070913015704]
2405[export stopTimer(), we need this in the unix package
2406Simon Marlow <simonmar@microsoft.com>**20070912200057]
2407[move generic graph-colouring code into util
2408Simon Marlow <simonmar@microsoft.com>**20070912114110
2409 It is needed by cmm/StackColor, and hence is needed even when there is no
2410 native code generator.
2411]
2412[remove remaining redundancies from ZipCfgCmmRep
2413Norman Ramsey <nr@eecs.harvard.edu>**20070912165851
2414   -- LastBranch no longer takes parameters
2415   -- LastJump and LastReturn no longer carry CmmActuals;
2416      instead, those are carried by a CopyOut in the same basic block
2417 
2418]
2419[Forgot to import Data.List.find
2420v.dijk.bas@gmail.com**20070912143346]
2421[Remove warning flags from individual compiler modules
2422Ian Lynagh <igloo@earth.li>**20070912162200
2423 We now set the flags once and for all in compiler/Makefile.
2424]
2425[Give push-all the ability to pull with a --pull flag
2426Ian Lynagh <igloo@earth.li>**20070912140743
2427 OK, so the name is a bit wrong now...
2428]
2429[Handle doc-index*.html, not just doc-index.html
2430Ian Lynagh <igloo@earth.li>**20070912135407
2431 haddock sometimes makes doc-index-A.html etc files. Not sure why it
2432 doesn't for me.
2433 Patch from Judah Jacobson.
2434]
2435[Fix installation code
2436Ian Lynagh <igloo@earth.li>**20070912113954]
2437[Further tweaking of haddock doc installation
2438Ian Lynagh <igloo@earth.li>**20070911224734
2439 On Windows we now always use a path beginning $topdir/ so bindists are
2440 relocatable.
2441 
2442 We also now tell "Setup configure" where we are putting the
2443 documentation, and tell installPackage to override as little as
2444 possible.
2445]
2446[make in-place has bitrotted, so don't advertise or support it
2447Ian Lynagh <igloo@earth.li>**20070911202202]
2448[TAG ghc-6.8 branched 2007-09-03
2449Ian Lynagh <igloo@earth.li>**20070903155416]
2450[Fix repeated section name in documentation.
2451judah.jacobson@gmail.com**20070907211616]
2452[Clean ups for multi-way building of the GHC package
2453Clemens Fruhwirth <clemens@endorphin.org>**20070912171126]
2454[change the zipper representation of calls
2455Norman Ramsey <nr@eecs.harvard.edu>**20070912153852
2456 This patch combines two changes:
2457   1. As requested by SimonPJ, the redundancy inherent in having
2458      LastCall bear actual parameters has been removed.  The actual
2459      parameters are now carried by a separate CopyOut node.
2460   2. The internal (to zipper) representation of calls has changed;
2461      the representation of calling conventions is more orthogonal,
2462      and there is now no such thing as a 'safe' or 'final' call
2463      to a CallishMachOp.   This change has affected the interface
2464      to MkZipCfgCmm, which now provides a static guarantee.  Simon's
2465      new upstream code will be affected; I've patched the existing
2466      code in CmmCvt (which becomes ever hairier).
2467   
2468]
2469[make it easier to have debugging code typechecked even when debugging is turned off
2470Norman Ramsey <nr@eecs.harvard.edu>**20070912152502]
2471[fix a typo!
2472Norman Ramsey <nr@eecs.harvard.edu>**20070912102545]
2473[cleaned up all warnings (and added many type signatures) in Outputable
2474Norman Ramsey <nr@eecs.harvard.edu>**20070912102526]
2475[overlooked ZipCfgExtras for a name change
2476Norman Ramsey <nr@eecs.harvard.edu>**20070912093920]
2477[extra prettyprinting only when debugging
2478Norman Ramsey <nr@eecs.harvard.edu>**20070912093844]
2479[renaming, reorganizing, and better doco for ZipCfg
2480Norman Ramsey <nr@eecs.harvard.edu>**20070911225542]
2481[esacpe backslashes in the filename in the .rc file
2482Simon Marlow <simonmar@microsoft.com>**20070912111658]
2483[Remove --export-all-symbols for DLL linking, it is default and prevents us from using .def files
2484Clemens Fruhwirth <clemens@endorphin.org>**20070831104624]
2485[Call windres with explicit preprocessor path in case gcc is not in $PATH
2486Clemens Fruhwirth <clemens@endorphin.org>**20070806085120]
2487[Weak.c incorrectly claims it's being compiled along RTS Main.c
2488Clemens Fruhwirth <clemens@endorphin.org>**20070806084524]
2489[Sign extension hack to work around PC64 relocation limitation for binutils <2.17 for x86_64.
2490Clemens Fruhwirth <clemens@endorphin.org>**20070912094430
2491 
2492 binutils <2.17 can't generate PC64 relocations for x86_64. Hence we
2493 emit only 32 bit PC relative offsets, and artifically stick a zero in
2494 front of them to make them 64 bit (see PprMach.sh ppr_item in
2495 pprDataItem). This works as long as the offset is <32bit AND it's
2496 positive. This is not the case for offsets in jump tables, they are
2497 all negative. This hack sign extends them with a MOVSXL instruction
2498 into the dead index register, then adding the properly sign extended
2499 offset to the jump table base label giving the correct target address
2500 for the following jump.
2501]
2502[foldl1' was added to Data.List in GHC 6.4.x
2503Simon Marlow <simonmar@microsoft.com>**20070912110909]
2504[update .hi-boot-6 to track .lhs-boot
2505Simon Marlow <simonmar@microsoft.com>**20070912104312]
2506[update to track .lhs-boot file
2507Simon Marlow <simonmar@microsoft.com>**20070912103417]
2508[Refactoring & documenting the Term pprinter used by :print
2509Pepe Iborra <mnislaih@gmail.com>**20070911180411]
2510[Custom printer for the Term datatype that won't output TypeRep values
2511Pepe Iborra <mnislaih@gmail.com>*-20070911151454
2512 
2513 The term pretty printer used by :print shouldn't output
2514 the contents of TypeRep values, e.g. inside Dynamic values
2515]
2516[Try and rewrite reloads to reg-reg moves in the spill cleaner
2517Ben.Lippmeier@anu.edu.au**20070911173833]
2518[Fix type error in MkZipCfg
2519Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20070912010458
2520 - Fixes a bug introduced with the patch named
2521   'check for unreachable code only with -DDEBUG'
2522 - Breakage occured only without -DDEBUG (which is 'valdiate's default!)
2523]
2524[scrape some unused barnacles off of ZipCfg and put them into ZipCfgExtras
2525Norman Ramsey <nr@eecs.harvard.edu>**20070911154533]
2526[split the CmmGraph constructor interface from the representation
2527Norman Ramsey <nr@eecs.harvard.edu>**20070911150635
2528 Interface MkZipCfgCmm should now be sufficient for all construction
2529 needs, though some identifiers are re-exported from (and explained in)
2530 MkZipCfg.  ZipCfgCmmRep should be used only by modules involved in
2531 analysis, optimization, or translation of Cmm programs.
2532]
2533[correct two single-identifier bugs that stopped the Adams optimization from working
2534Norman Ramsey <nr@eecs.harvard.edu>**20070911142914]
2535[default ppr method for CmmGraph now tells more about the representation
2536Norman Ramsey <nr@eecs.harvard.edu>**20070911142701
2537 (Previously, ppr had tried to make the zipper representation look as
2538 much like the ListGraph representation as possible.  This decision was
2539 unhelpful for debugging, so although the old code has been retained,
2540 the new default is to tell it like it is.  It may be possible to
2541 retire PprCmmZ one day, although it may be desirable to retain it as
2542 the internal form becomes less readable.
2543 
2544]
2545[prettyprint 'hinted' things in a more readable way
2546Norman Ramsey <nr@eecs.harvard.edu>**20070911142535]
2547[check for unreachable code only with -DDEBUG
2548Norman Ramsey <nr@eecs.harvard.edu>**20070911142410]
2549[add a big diagnostic for failures in CmmCvt.toZgraph
2550Norman Ramsey <nr@eecs.harvard.edu>**20070911142338]
2551[Don't try and coalesce nodes with themselves
2552Ben.Lippmeier@anu.edu.au**20070911151211]
2553[Try and allocate vregs spilled/reloaded from some slot to the same hreg
2554Ben.Lippmeier@anu.edu.au**20070911145054]
2555[Better handling of live range joins via spill slots in spill cleaner
2556Ben.Lippmeier@anu.edu.au**20070911130247]
2557[Make sure to coalesce all the nodes found during iterative scanning
2558Ben.Lippmeier@anu.edu.au**20070910162909]
2559[Add iterative coalescing to graph coloring allocator
2560Ben.Lippmeier@anu.edu.au**20070907172315
2561 
2562 Iterative coalescing interleaves conservative coalesing with the regular
2563 simplify/scan passes. This increases the chance that nodes will be coalesced
2564 as they will have a lower degree than at the beginning of simplify. The end
2565 result is that more register to register moves will be eliminated in the
2566 output code, though the iterative nature of the algorithm makes it slower
2567 compared to non-iterative coloring.
2568 
2569 Use -fregs-iterative  for graph coloring allocation with iterative coalescing
2570     -fregs-graph      for non-iterative coalescing.
2571 
2572 The plan is for iterative coalescing to be enabled with -O2 and have a
2573 quicker, non-iterative algorithm otherwise. The time/benefit tradeoff
2574 between iterative and not is still being tuned - optimal graph coloring
2575 is NP-hard, afterall..
2576]
2577[Custom printer for the Term datatype that won't output TypeRep values
2578Pepe Iborra <mnislaih@gmail.com>**20070911151454
2579 
2580 The term pretty printer used by :print shouldn't output
2581 the contents of TypeRep values, e.g. inside Dynamic values
2582]
2583[FIX #1466 (partly), which was causing concprog001(ghci) to fail
2584Simon Marlow <simonmar@microsoft.com>**20070911130228
2585 An AP_STACK now ensures that there is at least AP_STACK_SPLIM words of
2586 stack headroom available after unpacking the payload.  Continuations
2587 that require more than AP_STACK_SPLIM words of stack must do their own
2588 stack checks instead of aggregating their stack usage into the parent
2589 frame.  I have made this change for the interpreter, but not for
2590 compiled code yet - we should do this in the glorious rewrite of the
2591 code generator.
2592]
2593[Fix type signatures
2594Pepe Iborra <mnislaih@gmail.com>**20070911113212]
2595[Documentation for -fbreak-on-error
2596Pepe Iborra <mnislaih@gmail.com>**20070911101944]
2597[GHCi debugger: new flag -fbreak-on-error
2598Pepe Iborra <mnislaih@gmail.com>**20070911101443
2599     
2600     This flag works like -fbreak-on-exception, but only stops
2601     on uncaught exceptions.
2602]
2603[Remove obsolete -fdebugging flag
2604Pepe Iborra <mnislaih@gmail.com>**20070907135857
2605 
2606 A left over from the 1st GHCi debugger prototype
2607]
2608[refactoring: eliminate DriverPipeline.CompResult and GHC.upsweep_compile
2609Simon Marlow <simonmar@microsoft.com>**20070910145747]
2610[refactoring: inline hscMkCompiler
2611Simon Marlow <simonmar@microsoft.com>**20070910145718]
2612[FIX #1677; poor error message for misspelled module declaration
2613Simon Marlow <simonmar@microsoft.com>**20070911085452]
2614[Synched documentation links with current directory layout
2615sven.panne@aedion.de**20070911071801
2616 Somehow the "html" subdirs are gone, this change was not completely
2617 intentional, but it is nice, anyway. Those subdirs never served any
2618 real purpose...
2619 
2620 MERGE TO STABLE
2621]
2622[Add a BeConservative setting to the make system
2623Ian Lynagh <igloo@earth.li>**20070910133528
2624 If it is set, we don't try to use clock_gettime
2625]
2626[Nicer GHCi debugger underlining
2627Pepe Iborra <mnislaih@gmail.com>**20070910145319
2628 
2629 Improved the underlining of blocks.
2630 With this patch it does:
2631 
2632 Stopped at break020.hs:(6,20)-(7,29)
2633 _result :: t1 () = _
2634 5 
2635                      vv
2636 6  in_another_decl _ = do line1 0
2637 7                         line2 0
2638                                  ^^
2639 8 
2640 
2641 Instead of
2642 
2643 Stopped at break020.hs:(6,20)-(7,29)
2644 _result :: t1 () = _
2645 5 
2646 6  in_another_decl _ = do line1 0
2647                        ^^
2648 7                         line2 0
2649                                  ^^
2650 8 
2651 
2652 
2653]
2654[FIX #1669 (GHCi debugger underlining is in the wrong place)
2655Pepe Iborra <mnislaih@gmail.com>**20070910142129
2656 
2657 We weren't taking into account the offset added by the line numbers:
2658 
2659 Stopped at break020.hs:10:2-8
2660 _result :: IO () = _
2661 9  main = do
2662 10    line1 0
2663      ^^^^^^^
2664 11    line2 0
2665 
2666 
2667 This patch adjusts that
2668 
2669]
2670[Turn off orphan warnings
2671Ian Lynagh <igloo@earth.li>**20070910122756
2672 We also avoid using -fno-warn-orphans with older GHCs that don't understand
2673 the flag.
2674]
2675[Add some more bits to the boring file
2676Ian Lynagh <igloo@earth.li>**20070907212208]
2677[Add a --names-only flag for list --simple-output
2678Ian Lynagh <igloo@earth.li>**20070907181944
2679 We use this in the testsuite to find out which libraries we should run
2680 the tests from.
2681]
2682[FIX #903: mkWWcpr: not a product
2683Simon Marlow <simonmar@microsoft.com>**20070910103830
2684 This fixes the long-standing bug that prevents some code with
2685 mutally-recursive modules from being compiled with --make and -O,
2686 including GHC itself.  See the comments for details.
2687 
2688 There are some additional cleanups that were forced/enabled by this
2689 patch: I removed importedSrcLoc/importedSrcSpan: it wasn't adding any
2690 useful information, since a Name already contains its defining Module.
2691 In fact when re-typechecking an interface file we were wrongly
2692 replacing the interesting SrcSpans in the Names with boring
2693 importedSrcSpans, which meant that location information could degrade
2694 after reloading modules.  Also, recreating all these Names was a waste
2695 of space/time.
2696]
2697[Cleaned up version of Tom's unflattened skolemOccurs
2698Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20070910083457]
2699[The RTS is Haddock-less, tell make about it
2700sven.panne@aedion.de**20070910065759
2701 MERGE TO STABLE
2702]
2703[Include package documentation, n-th attempt...
2704sven.panne@aedion.de**20070909154053
2705 MERGE TO STABLE
2706]
2707[Yet another attempt to get the paths for the installed documentation correct
2708sven.panne@aedion.de**20070909124922
2709 MERGE TO STABLE
2710]
2711[Add a "show" target here, too, quite useful for debugging the build process
2712sven.panne@aedion.de**20070909123813
2713 MERGE TO STABLE
2714]
2715[Never try to build Haddock docs in ghc/compiler, even with HADDOCK_DOCS=YES
2716sven.panne@aedion.de**20070909123401
2717 MERGE TO STABLE
2718]
2719[Removed install-dirs target, it is unnecessary and leads to stray empty directories
2720sven.panne@aedion.de**20070909121157
2721 MERGE TO STABLE
2722]
2723[Removed install-dirs from phony targets, it is unused
2724sven.panne@aedion.de**20070909102815
2725 MERGE TO STABLE
2726]
2727[Add a crucial missing ;
2728Ian Lynagh <igloo@earth.li>**20070908231024]
2729[implement the outOfLine primitive in MkZipCfg (proposed as mkBlock)
2730Norman Ramsey <nr@eecs.harvard.edu>**20070908155141]
2731[withUnique and mkBlock as requested by SLPJ (but only one is implemented)
2732Norman Ramsey <nr@eecs.harvard.edu>**20070907172030]
2733[no registers are available after a call
2734Norman Ramsey <nr@eecs.harvard.edu>**20070907170843]
2735[wrote an analysis to help in sinking Reload instructions
2736Norman Ramsey <nr@eecs.harvard.edu>**20070907165955]
2737[We seem to use Outputable unconditionally these days
2738sven.panne@aedion.de**20070908142712
2739 MERGE TO STABLE
2740]
2741[Removed setting of default values for variables which are never empty
2742sven.panne@aedion.de**20070908131809
2743 The standard autoconf variables like prefix, exec_prefix, ... are always set by
2744 configure, so there is no need to provide explicit defaults in the Makefile.
2745 
2746 The lines were introduced about a decade ago, perhaps there were some bugs in
2747 ancient autoconfs, but today I can't think of a reason why this should be still
2748 necessary.
2749]
2750[Use := for PACKAGE_TARNAME, no reason for not doing so
2751sven.panne@aedion.de**20070908124645
2752 MERGE TO STABLE
2753]
2754[Removed unused oldincludedir, things are already complicated enough
2755sven.panne@aedion.de**20070908124448
2756 MERGE TO STABLE
2757]
2758[Added comment about GNU coding standards/autoconf history
2759sven.panne@aedion.de**20070908123317
2760 MERGE TO STABLE
2761]
2762[Fixing Hpc's Finite Map compat lib for ghc 6.2.1
2763andy@galois.com**20070908055320]
2764[updating hpc toolkit
2765andy@galois.com**20070908051600
2766 
2767 The hpc overlay has been ported from hpc-0.4
2768 The new API for readMix is now used.
2769 
2770]
2771[Fixing hpc to allow use of hash function to seperate source files on source path
2772andy@galois.com**20070907223357]
2773[Make various assertions work when !DEBUG
2774Ian Lynagh <igloo@earth.li>**20070908003112]
2775[Fix assertions in RtClosureInspect
2776Ian Lynagh <igloo@earth.li>**20070907233330]
2777[In ASSERT and friends, use all the expressions we are passed even if !DEBUG
2778Ian Lynagh <igloo@earth.li>**20070907233324
2779 Otherwise we may get unused variable warnings. GHC should optimise them
2780 all out for us.
2781]
2782[Don't put directories for unbuildable libraries in bindists
2783Ian Lynagh <igloo@earth.li>**20070907210037
2784 We think there is a library there, and then installPackage fails to
2785 install it.
2786]
2787[a good deal of salutory renaming
2788Norman Ramsey <nr@eecs.harvard.edu>**20070907161246
2789 I've renamed a number of type and data constructors within Cmm so that
2790 the names used in the compiler may more closely reflect the C--
2791 specification 2.1.  I've done a bit of other renaming as well.
2792 Highlights:
2793 
2794   CmmFormal and CmmActual now bear a CmmKind (which for now is a
2795                                               MachHint as before)
2796   CmmFormals = [CmmFormal] and CmmActuals = [CmmActual]
2797   
2798   suitable changes have been made to both code and nonterminals in the
2799   Cmm parser (which is as yet untested)
2800 
2801   For reasons I don't understand, parts of the code generator use a
2802   sequence of 'formal parameters' with no C-- kinds.  For these we now
2803   have the types
2804     type CmmFormalWithoutKind   = LocalReg
2805     type CmmFormalsWithoutKinds = [CmmFormalWithoutKind]
2806 
2807   A great many appearances of (Tau, MachHint) have been simplified to
2808   the appropriate CmmFormal or CmmActual, though I'm sure there are
2809   more opportunities.
2810 
2811   Kind and its data constructors are now renamed to
2812      data GCKind = GCKindPtr | GCKindNonPtr
2813   to avoid confusion with the Kind used in the type checker and with CmmKind.
2814 
2815 Finally, in a somewhat unrelated bit (and in honor of Simon PJ, who
2816 thought of the name), the Whalley/Davidson 'transaction limit' is now
2817 called 'OptimizationFuel' with the net effect that there are no longer
2818 two unrelated uses of the abbreviation 'tx'.
2819 
2820 
2821]
2822[Made TcTyFuns warning clean
2823Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20070907121113]
2824[fix for Simple9
2825Tom Schrijvers <tom.schrijvers@cs.kuleuven.be>**20070906171703
2826 
2827 No longer include non-indexed arguments
2828 in lookup of matching type function clause.
2829 By including non-indexed (additional) arguments,
2830 the lookup always fails.
2831]
2832[Improved error messages for higher-rank equality contexts
2833Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20070907101901]
2834[FIX: Type families test Simple14
2835Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20070907092217]
2836[refactor duplicated code in main/HscMain
2837Norman Ramsey <nr@eecs.harvard.edu>**20070907132442
2838   I kept making mistakes because all the ZipCfg and CPS stuff
2839   was called from two different places (compiling Haskell and
2840   compiling Cmm).  Now it is called from a single place, and therefore
2841   successfully turned off by default.
2842 
2843   I still don't know why turning it on causes rts/Apply.cmm not to
2844   compile; that development is new since yesterday.
2845 
2846]
2847[in CmmExpr, always have (Show GlobalReg), regardless of DEBUG setting
2848Norman Ramsey <nr@eecs.harvard.edu>**20070907132417]
2849[Rejig boot
2850Ian Lynagh <igloo@earth.li>**20070907122847
2851 find on Windows doesn't understand -L, so stop trying to be clever and
2852 just autoreconf everything.
2853 
2854 Also, print out the names of directories as we autoreconf them, so that
2855 if autoreconfing one breaks then we know which one it was.
2856]
2857[Fix publishing
2858Ian Lynagh <igloo@earth.li>**20070907121414
2859 Paths like c:/foo/bar get misinterpreted by rsync (really SSH?), as it
2860 thinks we want /foo/bar on the machine c.
2861]
2862[Fix building with old compilers which don't understand -fno-warn-orphans
2863Ian Lynagh <igloo@earth.li>**20070906195737]
2864[Tiny optimisation/simplification to FunDeps.grow
2865simonpj@microsoft.com**20070907101133]
2866[Warning police
2867simonpj@microsoft.com**20070907101103]
2868[Add clarifying comments
2869simonpj@microsoft.com**20070907101046]
2870[Fix zonking in mkExports
2871simonpj@microsoft.com**20070906090346
2872 
2873 I'd missed zonk, so that an error message for missing type signature
2874 read (unhelpfully)
2875 
2876   main/GHC.hs:1070:0:
2877      Warning: Definition but no type signature for `upsweep''
2878               Inferred type: upsweep' :: forall t1. t
2879 
2880 The trouble was that 't' hadn't been zonked.
2881 
2882 Push to the stable branch
2883 
2884]
2885[adding new files to do with new cmm functionality
2886Norman Ramsey <nr@eecs.harvard.edu>**20070907075754]
2887[Set do_bold based on $TERM, not platform
2888Ian Lynagh <igloo@earth.li>**20070906175535]
2889[Updates to work with latest cabal.
2890Duncan Coutts <duncan@haskell.org>**20070906131726]
2891[massive changes to add a 'zipper' representation of C--
2892Norman Ramsey <nr@eecs.harvard.edu>**20070906161948
2893 
2894 Changes too numerous to comment on, but here is some old history that
2895 I saved:
2896 
2897 
2898 Wed Aug 15 11:07:13 BST 2007  Norman Ramsey <nr@eecs.harvard.edu>
2899   * type synonyms made consistent with new Cmm types
2900 
2901     M ./compiler/nativeGen/MachInstrs.hs -2 +2
2902 
2903 Mon Aug 20 19:22:14 BST 2007  Norman Ramsey <nr@eecs.harvard.edu>
2904   * pushing return info beyond cmm into codegen
2905 
2906     M ./compiler/codeGen/Bitmap.hs r3
2907     M ./compiler/codeGen/CgBindery.lhs r3
2908     M ./compiler/codeGen/CgCallConv.hs r3
2909     M ./compiler/codeGen/CgCase.lhs r3
2910     M ./compiler/codeGen/CgClosure.lhs r3
2911     M ./compiler/codeGen/CgCon.lhs r3
2912     M ./compiler/codeGen/CgExpr.lhs r3
2913     M ./compiler/codeGen/CgForeignCall.hs -6 +7 r3
2914     M ./compiler/codeGen/CgHeapery.lhs r3
2915     M ./compiler/codeGen/CgHpc.hs +1 r3
2916     M ./compiler/codeGen/CgInfoTbls.hs r3
2917     M ./compiler/codeGen/CgLetNoEscape.lhs r3
2918     M ./compiler/codeGen/CgMonad.lhs r3
2919     M ./compiler/codeGen/CgParallel.hs r3
2920     M ./compiler/codeGen/CgPrimOp.hs +3 r3
2921     M ./compiler/codeGen/CgProf.hs r3
2922     M ./compiler/codeGen/CgStackery.lhs r3
2923     M ./compiler/codeGen/CgTailCall.lhs r3
2924     M ./compiler/codeGen/CgTicky.hs r3
2925     M ./compiler/codeGen/CgUtils.hs -1 +1 r3
2926     M ./compiler/codeGen/ClosureInfo.lhs r3
2927     M ./compiler/codeGen/CodeGen.lhs r3
2928     M ./compiler/codeGen/SMRep.lhs r3
2929     M ./compiler/nativeGen/AsmCodeGen.lhs -2 +2 r1
2930     M ./compiler/nativeGen/MachCodeGen.hs -3 +3 r1
2931     M ./compiler/nativeGen/MachInstrs.hs r1
2932     M ./compiler/nativeGen/MachRegs.lhs r1
2933     M ./compiler/nativeGen/NCGMonad.hs r1
2934     M ./compiler/nativeGen/PositionIndependentCode.hs r1
2935     M ./compiler/nativeGen/PprMach.hs r1
2936     M ./compiler/nativeGen/RegAllocInfo.hs r1
2937     M ./compiler/nativeGen/RegisterAlloc.hs r1
2938 
2939 Mon Aug 20 20:54:41 BST 2007  Norman Ramsey <nr@eecs.harvard.edu>
2940   * put CmmReturnInfo into a CmmCall (and related types)
2941 
2942     M ./compiler/cmm/Cmm.hs -2 +1 r3
2943     M ./compiler/cmm/CmmBrokenBlock.hs -13 +12 r1
2944     M ./compiler/cmm/CmmCPS.hs -3 +3
2945     M ./compiler/cmm/CmmCPSGen.hs -8 +6 r1
2946     M ./compiler/cmm/CmmLint.hs -1 +1
2947     M ./compiler/cmm/CmmLive.hs -1 +1
2948     M ./compiler/cmm/CmmOpt.hs -3 +3
2949     M ./compiler/cmm/CmmParse.y -6 +6 r3
2950     M ./compiler/cmm/PprC.hs -3 +3
2951     M ./compiler/cmm/PprCmm.hs -7 +4 r2
2952     M ./compiler/codeGen/CgForeignCall.hs -7 +6 r2
2953     M ./compiler/codeGen/CgHpc.hs -1 r1
2954     M ./compiler/codeGen/CgPrimOp.hs -3 r1
2955     M ./compiler/codeGen/CgUtils.hs -1 +1 r1
2956     M ./compiler/nativeGen/AsmCodeGen.lhs -2 +2
2957     M ./compiler/nativeGen/MachCodeGen.hs -3 +3 r1
2958 
2959 Tue Aug 21 18:09:13 BST 2007  Norman Ramsey <nr@eecs.harvard.edu>
2960   * add call info in nativeGen
2961 
2962     M ./compiler/nativeGen/AsmCodeGen.lhs r1
2963     M ./compiler/nativeGen/MachInstrs.hs r1
2964     M ./compiler/nativeGen/MachRegs.lhs r1
2965     M ./compiler/nativeGen/NCGMonad.hs r1
2966     M ./compiler/nativeGen/PositionIndependentCode.hs r1
2967     M ./compiler/nativeGen/PprMach.hs r1
2968     M ./compiler/nativeGen/RegAllocInfo.hs r1
2969 
2970 Wed Aug 22 16:41:58 BST 2007  Norman Ramsey <nr@eecs.harvard.edu>
2971   * ListGraph is now a newtype, not a synonym
2972   The resultant bookkeepping is unenviable, but the change
2973   greatly simplifies our ability to make Cmm things propertly
2974   Outputable for both list-graph and zipper-graph representations.
2975 
2976     M ./compiler/cmm/Cmm.hs -5 +3
2977     M ./compiler/cmm/CmmCPS.hs -2 +2
2978     M ./compiler/cmm/CmmCPSGen.hs -1 +1
2979     M ./compiler/cmm/CmmContFlowOpt.hs -3 +3
2980     M ./compiler/cmm/CmmCvt.hs -2 +2
2981     M ./compiler/cmm/CmmInfo.hs -2 +3
2982     M ./compiler/cmm/CmmLint.hs -1 +1
2983     M ./compiler/cmm/CmmOpt.hs -2 +2
2984     M ./compiler/cmm/PprC.hs -1 +1
2985     M ./compiler/cmm/PprCmm.hs -5 +8
2986     M ./compiler/cmm/PprCmmZ.hs -7 +1
2987     M ./compiler/codeGen/CgMonad.lhs -1 +1
2988     M ./compiler/nativeGen/AsmCodeGen.lhs -15 +15
2989     M ./compiler/nativeGen/MachCodeGen.hs -2 +2
2990     M ./compiler/nativeGen/PositionIndependentCode.hs -6 +6
2991     M ./compiler/nativeGen/PprMach.hs -3 +2
2992     M ./compiler/nativeGen/RegAllocColor.hs +1
2993     M ./compiler/nativeGen/RegAllocLinear.hs -4 +5
2994     M ./compiler/nativeGen/RegCoalesce.hs -6 +6
2995     M ./compiler/nativeGen/RegLiveness.hs -12 +12
2996 
2997 Thu Aug 23 13:44:49 BST 2007  Norman Ramsey <nr@eecs.harvard.edu>
2998   * diagnostic assistance in case fromJust fails
2999 
3000     M ./compiler/nativeGen/MachCodeGen.hs -2 +5
3001 
3002 Thu Aug 23 14:07:28 BST 2007  Norman Ramsey <nr@eecs.harvard.edu>
3003   * give every block, even the first, a label
3004     With branch-chain elimination, the first block of a procedure
3005     might be the target of a branch.  This actually happens to
3006     a dozen or more procedures in the run-time system.
3007 
3008     M ./compiler/nativeGen/PprMach.hs -8 +3
3009 
3010 Fri Aug 24 17:27:04 BST 2007  Norman Ramsey <nr@eecs.harvard.edu>
3011   * clean up the code in PprMach
3012 
3013     M ./compiler/nativeGen/PprMach.hs -16 +14
3014 
3015 Fri Aug 24 19:35:03 BST 2007  Norman Ramsey <nr@eecs.harvard.edu>
3016   * a bunch of impedance matching to get the compiler to build, plus
3017    * the plus is diagnostics for unreachable code, which required
3018      moving a lot of prettyprinting code
3019 
3020     M ./compiler/cmm/Cmm.hs -7 +5
3021     M ./compiler/cmm/CmmCPSZ.hs -1 +1
3022     M ./compiler/cmm/CmmCvt.hs -8 +8
3023     M ./compiler/cmm/CmmParse.y -4 +3
3024     M ./compiler/cmm/MkZipCfg.hs -19 +9
3025     M ./compiler/cmm/PprCmmZ.hs -118 +4
3026     M ./compiler/cmm/ZipCfg.hs -1 +13
3027     M ./compiler/cmm/ZipCfgCmm.hs -10 +129
3028     M ./compiler/main/HscMain.lhs -4 +4
3029     M ./compiler/nativeGen/NCGMonad.hs -2 +2
3030     M ./compiler/nativeGen/RegAllocInfo.hs -3 +3
3031 
3032 Fri Aug 31 14:38:02 BST 2007  Norman Ramsey <nr@eecs.harvard.edu>
3033   * fix a warning about an import
3034 
3035     M ./compiler/nativeGen/RegAllocColor.hs -1 +1
3036 
3037]
3038[Make installPackage install settings from the [package].buildinfo file.
3039judah.jacobson@gmail.com**20070906010044
3040 
3041 M ./libraries/installPackage.hs -1 +14
3042]
3043[Wibble some variable definitions to fix installation of bindists
3044Ian Lynagh <igloo@earth.li>**20070906140430]
3045[Remove hardtop_plat/FPTOOLS_TOP_ABS_PLATFORM
3046Ian Lynagh <igloo@earth.li>**20070906122036
3047 They are now the same as hardtop/FPTOOLS_TOP_ABS, so use those instead.
3048 
3049 Also removed some substitutions of / for \, as we now use a Haskell
3050 program to find the top path, and it only makes paths with /s in.
3051]
3052[Cure space leak in coloring register allocator
3053Ben.Lippmeier@anu.edu.au**20070906131522
3054 
3055 We now do a deep seq on the graph after it is 'built', but before coloring.
3056 Without this, the colorer will just force bits of it and the heap will
3057 fill up with half evaluated pieces of graph from previous build/spill
3058 stages and zillions of apply thunks.
3059 
3060]
3061[Small improvement to GraphColor.selectColor
3062Ben.Lippmeier@anu.edu.au**20070906103347
3063 
3064 When selecting a color for a node, try and avoid using colors that
3065 conflicting nodes prefer. Not sure if this'll make much difference,
3066 but it was easy enough to add..
3067 
3068]
3069[Set GhcBootLibs=YES in mk/validate-settings.mk
3070Ian Lynagh <igloo@earth.li>**20070906113629]
3071[Quote all the arguments to installPackage
3072Ian Lynagh <igloo@earth.li>**20070905232959
3073 Makes it obvious what's going on if any are empty.
3074]
3075[warning police
3076Pepe Iborra <mnislaih@gmail.com>**20070906102417]
3077[Cleanup of equality rewriting and no swapInsts for wanteds
3078Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20070906115818
3079 - Removed code duplication
3080 - Added comments
3081 - Took out swapInsts for wanteds.  With the recent extension to swapInsts
3082   it does mess up error messages if applied to wanteds and i should not be
3083   necessary.
3084 NB: The code actually shrunk.  Line increase is due to comments.
3085]
3086[Remove EqInsts from addSCs to avoid -DDEBUG warnings
3087Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20070906095102]
3088[EqInst related clean up
3089Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20070906095018
3090 - Remove some unused and some superflous functions
3091 - Add comments regarding ancestor equalities
3092 - Tidied ancestor equality computation
3093 - Replace some incorrect instToId by instToVar (but there are still some
3094   bad ones around as we still get warnings with -DDEBUG)
3095 - Some cleaned up layout
3096 NB: Code growth is just due to more comments.
3097]
3098[Remove dead code in TcSimplify
3099Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20070906031719]
3100[Fix -DDEBUG warning
3101Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20070906023914]
3102[also swap for variables in completion algorithm
3103Tom Schrijvers <tom.schrijvers@cs.kuleuven.be>**20070905134426]
3104[FIX #1465, error messages could sometimes say things like "A.T doesn't match A.T"
3105Simon Marlow <simonmar@microsoft.com>**20070906093744
3106 This turned out to be a black hole, however we believe we now have a
3107 plan that does the right thing and shouldn't need to change again.
3108 Error messages will only ever refer to a name in an unambiguous way,
3109 falling back to <package>:<module>.<name> if no unambiguous shorter
3110 variant can be found.  See HscTypes.mkPrintUnqualified for the
3111 details.
3112 
3113 Earlier hacks to work around this problem have been removed (TcSimplify).
3114]
3115[fix error in .hi-boot-6
3116Simon Marlow <simonmar@microsoft.com>**20070905112503]
3117[Improve GraphColor.colorScan
3118Ben.Lippmeier@anu.edu.au**20070905164401
3119 
3120 Testing whether a node in the conflict graph is trivially
3121 colorable (triv) is still a somewhat expensive operation.
3122 
3123 When we find a triv node during scanning, even though we remove
3124 it and its edges from the graph, this is unlikely to to make the
3125 nodes we've just scanned become triv - so there's not much point
3126 re-scanning them right away.
3127 
3128 Scanning now takes place in passes. We scan the whole graph for
3129 triv nodes and remove all the ones found in a batch before rescanning
3130 old nodes.
3131 
3132 Register allocation for SHA1.lhs now takes (just) 40% of total
3133 compile time with -O2 -fregs-graph on x86
3134 
3135]
3136[Fix OS X warnings
3137Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070906004831]
3138[Declare ctime_r on Mac OS
3139Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070906001613
3140 
3141 On Mac OS, ctime_r is not declared in time.h if _POSIX_C_SOURCE is defined. We
3142 work around this by providing a declaration ourselves.
3143 
3144]
3145[FIX #1651: use family instances during interactive typechecking
3146Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20070905130244]
3147[Add an OPTIONS -w pragma to utils/genprimopcode/Lexer.xx
3148Ian Lynagh <igloo@earth.li>**20070905184808
3149 SPJ reports that it has warnings (=> errors with -Werror) on Windows.
3150]
3151[Build settings for validation are now in mk/validate-settings.mk
3152Ian Lynagh <igloo@earth.li>**20070905184614]
3153[Don't give warnings in compat
3154Ian Lynagh <igloo@earth.li>**20070905182923
3155 There are lots of warnings in here due to things like modules being
3156 imported that, in some versions of GHC, aren't used. Thus we don't
3157 give any warnings in here, and therefore validating with -Werror won't
3158 make the build fail.
3159 
3160 An alternative would be to do
3161 SRC_HC_OPTS := $(filter-out -Werror,$(SRC_HC_OPTS))
3162 but if warnings are expected then there is little point in spewing them
3163 out anyway.
3164 
3165 On the other hand, there aren't any warnings for me (GHC 6.6 on Linux/amd64),
3166 so perhaps it would be worth fixing them instead.
3167]
3168[Typo
3169Ian Lynagh <igloo@earth.li>**20070905161402]
3170[Fix bindist creation on Windows
3171Ian Lynagh <igloo@earth.li>**20070905161354]
3172[Fix up bindist creation and publishing
3173Ian Lynagh <igloo@earth.li>**20070905160641]
3174[Refactor, improve, and document the deriving mechanism
3175simonpj@microsoft.com**20070905170730
3176 
3177 This patch does a fairly major clean-up of the code that implements 'deriving.
3178 
3179 * The big changes are in TcDeriv, which is dramatically cleaned up.
3180   In particular, there is a clear split into
3181        a) inference of instance contexts for deriving clauses
3182        b) generation of the derived code, given a context
3183   Step (a) is skipped for standalone instance decls, which
3184   have an explicitly provided context.
3185 
3186 * The handling of "taggery", which is cooperative between TcDeriv and
3187   TcGenDeriv, is cleaned up a lot
3188 
3189 * I have added documentation for standalone deriving (which was
3190   previously wrong).
3191 
3192 * The Haskell report is vague on exactly when a deriving clause should
3193   succeed.  Prodded by Conal I have loosened the rules slightly, thereyb
3194   making drv015 work again, and documented the rules in the user manual.
3195 
3196 I believe this patch validates ok (once I've update the test suite)
3197 and can go into the 6.8 branch.
3198 
3199]
3200[Further documentation about mdo, suggested by Benjamin Franksen
3201simonpj@microsoft.com**20070829083349]
3202[Refactor MachRegs.trivColorable to do unboxed accumulation
3203Ben.Lippmeier@anu.edu.au**20070905125219
3204 
3205 trivColorable was soaking up total 31% time, 41% alloc when
3206 compiling SHA1.lhs with -O2 -fregs-graph on x86.
3207 
3208 Refactoring to use unboxed accumulators and walk directly
3209 over the UniqFM holding the set of conflicts reduces this
3210 to 17% time, 6% alloc.
3211]
3212[change of representation for GenCmm, GenCmmTop, CmmProc
3213Norman Ramsey <nr@eecs.harvard.edu>**20070905164802
3214 The type parameter to a C-- procedure now represents a control-flow
3215 graph, not a single instruction.  The newtype ListGraph preserves the
3216 current representation while enabling other representations and a
3217 sensible way of prettyprinting.  Except for a few changes in the
3218 prettyprinter the new compiler binary should be bit-for-bit identical
3219 to the old.
3220]
3221[enable and slay warnings in cmm/Cmm.hs
3222Norman Ramsey <nr@eecs.harvard.edu>**20070905164646]
3223[fix warnings
3224Simon Marlow <simonmar@microsoft.com>**20070905114205]
3225[FIX #1650: ".boot modules interact badly with the ghci debugger"
3226Simon Marlow <simonmar@microsoft.com>**20070905104716
3227 
3228 In fact hs-boot files had nothing to do with it: the problem was that
3229 GHCi would forget the breakpoint information for a module that had
3230 been reloaded but not recompiled.  It's amazing that we never noticed
3231 this before.
3232 
3233 The ModBreaks were in the ModDetails, which was the wrong place.  When
3234 we avoid recompiling a module, ModDetails is regenerated from ModIface
3235 by typecheckIface, and at that point it has no idea what the ModBreaks
3236 should be, so typecheckIface made it empty.  The right place for the
3237 ModBreaks to go is with the Linkable, which is retained when
3238 compilation is avoided.  So now I've placed the ModBreaks in with the
3239 CompiledByteCode, which also makes it clear that only byte-code
3240 modules have breakpoints.
3241 
3242 This fixes break022/break023
3243 
3244]
3245[Fix boot: it was avoiding autoreconfing
3246Simon Marlow <simonmar@microsoft.com>**20070905101419
3247 Two problems here: find needs to dereference symbolic links (-L
3248 option, I really hope that's portable), and we need to notice when
3249 aclocal.m4 is updated. 
3250 
3251 Somehow I think this was easier when it just always ran
3252 autoreconf... what was wrong with that?
3253]
3254[don't generate .hi-boot/.o-boot files in GHCi
3255Simon Marlow <simonmar@microsoft.com>**20070904141231]
3256[refactoring only
3257Simon Marlow <simonmar@microsoft.com>**20070904141209]
3258[completion for modules in 'import M'
3259Simon Marlow <simonmar@microsoft.com>**20070904104458]
3260[make the GhcThreaded setting lazy, because GhcUnregisterised might not be set yet
3261Simon Marlow <simonmar@microsoft.com>**20070904101729]
3262[{Enter,Leave}CriticalSection imports should be outside #ifdef __PIC__
3263Simon Marlow <simonmar@microsoft.com>**20070905084941]
3264[warning police
3265Ben.Lippmeier@anu.edu.au**20070905094509]
3266[Do conservative coalescing in register allocator
3267Ben.Lippmeier@anu.edu.au**20070903163404
3268 
3269 Avoid coalescing nodes in the register conflict graph if the
3270 new node will not be trivially colorable. Also remove the
3271 front end aggressive coalescing pass.
3272   
3273 For typical Haskell code the graph coloring allocator now does
3274 about as well as the linear allocator.
3275   
3276 For code with a large amount of register pressure it does much
3277 better, but takes longer.
3278   
3279 For SHA1.lhs from darcs on x86
3280   
3281           spills    reloads    reg-reg-moves
3282           inserted   inserted  left in code   compile-time
3283   linear    1068      1311        229            7.69(s)
3284   graph      387       902        340           16.12(s)
3285 
3286]
3287[Use dlsym on OS X if available
3288Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070905052213
3289 
3290 On OS X 10.4 and newer, we have to use dlsym because the old NS* interface has
3291 been deprecated. The patch checks for HAVE_DLFCN_H instead of switching on
3292 the OS version.
3293 
3294 There is one additional quirk: although OS X prefixes global symbols with an
3295 underscore, dlsym expects its argument NOT to have a leading underscore. As a
3296 hack, we simply strip it off in lookupSymbol. Something a bit more elaborate
3297 might be cleaner.
3298]
3299[bug fix in Decomp step of completion algorithm for given equations
3300Tom Schrijvers <tom.schrijvers@cs.kuleuven.be>**20070904123945]
3301[fix of wanted equational class context
3302Tom Schrijvers <tom.schrijvers@cs.kuleuven.be>**20070904080014
3303 
3304 Previously failed to account for equational
3305 class context for wanted dictionary contraints, e.g. wanted C a
3306 in
3307 
3308        class a ~ Int => C a
3309        instance C Int
3310 
3311 should give rise to wanted a ~ Int and consequently discharge a ~ Int by
3312 unifying a with Int and then discharge C Int with the instance.
3313 
3314 All ancestor equalities are taken into account.
3315 
3316 
3317]
3318[Set datarootdir to the value configure gives us (if any) so datadir works
3319Ian Lynagh <igloo@earth.li>**20070905013239
3320 We then set datarootdir to something else later on so that things still
3321 work when configure doesn't set it.
3322]
3323[FIX: Correct Leave/EnterCriticalSection imports
3324Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20070905010217]
3325[Don't hardwire the build path into the Haddock docs
3326sven.panne@aedion.de**20070904172855
3327 Formerly, the ghc-pkg was called to get the HTML dirs for other packages, but
3328 of course doing this at *build* time is totally wrong. Now we use a relative
3329 path, just like before. This is probably not perfect, but much better than
3330 before.
3331 
3332 As a sidenote: Cabal calls the relevant flag "html-location", ghc-pkg calls the
3333 field "haddock-html", and Haddock itself uses it as part of "read-interface".
3334 Too much creativity is sometimes a bad thing...
3335]
3336[put the @N suffix on stdcall foreign calls in .cmm code
3337Simon Marlow <simonmar@microsoft.com>**20070904142853
3338 This applies to EnterCriticalSection and LeaveCriticalSection in the RTS
3339]
3340[Add a -Warn flag
3341Ian Lynagh <igloo@earth.li>**20070904141028]
3342[Always turn on -Wall -Werror when compiling the compiler, even for stage 1
3343Ian Lynagh <igloo@earth.li>**20070904140324]
3344[Fix CodingStyle#Warnings URLs
3345Ian Lynagh <igloo@earth.li>**20070904140115]
3346[OPTIONS_GHC overrides the command-line, not the other way around
3347Simon Marlow <simonmar@microsoft.com>**20070904100623]
3348[fix cut-and-pasto
3349Simon Marlow <simonmar@microsoft.com>**20070904100526]
3350[FIX #1651: unBox types when deferring unification
3351Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20070904072542
3352 - This fixes the first part of #1651; ie, the panic in ghci.
3353]
3354[Better error message for unsolvable equalities
3355Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20070903074528]
3356[Use := rather than = when assigning make variables to avoid cycles
3357Ian Lynagh <igloo@earth.li>**20070903235117]
3358[Don't use autoconf's datarootdir as <2.60 doesn't have it
3359Ian Lynagh <igloo@earth.li>**20070903234504]
3360[Use OPTIONS rather than OPTIONS_GHC for pragmas
3361Ian Lynagh <igloo@earth.li>**20070903233903
3362 Older GHCs can't parse OPTIONS_GHC.
3363 This also changes the URL referenced for the -w options from
3364 WorkingConventions#Warnings to CodingStyle#Warnings for the compiler
3365 modules.
3366]
3367[Fix building RTS with gcc 2.*; declare all variables at the top of a block
3368Ian Lynagh <igloo@earth.li>**20070903165847
3369 Patch from Audrey Tang.
3370]
3371[fix build (sorry, forgot to push with previous patch)
3372Simon Marlow <simonmar@microsoft.com>**20070903200615]
3373[remove debugging code
3374Simon Marlow <simonmar@microsoft.com>**20070903200003]
3375[NCG space leak avoidance refactor
3376Ben.Lippmeier@anu.edu.au**20070903132254]
3377[Do aggressive register coalescing
3378Ben.Lippmeier@anu.edu.au**20070903115149
3379 Conservative and iterative coalescing come next.
3380]
3381[Add coalescence edges back to the register graph
3382Ben.Lippmeier@anu.edu.au**20070828144424]
3383[FIX #1623: disable the timer signal when the system is idle (threaded RTS only)
3384Simon Marlow <simonmar@microsoft.com>**20070903132523
3385 Having a timer signal go off regularly is bad for power consumption,
3386 and generally bad practice anyway (it means the app cannot be
3387 completely swapped out, for example).  Fortunately the threaded RTS
3388 already had a way to detect when the system was idle, so that it can
3389 trigger a GC and thereby find deadlocks.  After performing the GC, we
3390 now turn off timer signals, and re-enable them again just before
3391 running any Haskell code.
3392]
3393[FIX #1648: rts_mkWord64 was missing
3394Simon Marlow <simonmar@microsoft.com>**20070903131625
3395 Also noticed a few others from RtsAPI were missing, so I added them all
3396]
3397[FIX for #1080
3398Ross Paterson <ross@soi.city.ac.uk>**20070903141044
3399 
3400 Arrow desugaring now uses a private version of collectPatBinders and
3401 friends, in order to include dictionary bindings from ConPatOut.
3402 
3403 It doesn't fix arrowrun004 (#1333), though.
3404]
3405[Fix space leak in NCG
3406Ben.Lippmeier@anu.edu.au**20070831090431]
3407[GhcThreaded was bogusly off by default due to things being in the wrong order
3408Simon Marlow <simonmar@microsoft.com>**20070903103829]
3409[bump MAX_THUNK_SELECTOR_DEPTH from 8 to 16
3410Simon Marlow <simonmar@microsoft.com>**20070903101912
3411 this "fixes" #1038, in that the example runs in constant space, but
3412 it's really only working around the problem.  I have a better patch,
3413 attached to ticket #1038, but I'm wary about tinkering with this
3414 notorious bug farm so close to the release, so I'll push it after
3415 6.8.1.
3416]
3417[comments only
3418Simon Marlow <simonmar@microsoft.com>**20070831092224
3419 I had planned to do findEnclosingDecl a different way, so add a ToDo
3420 as a reminder.
3421]
3422[Suppress some warnings on Windows
3423Ian Lynagh <igloo@earth.li>**20070902222048]
3424[Fix warnings in ghc-pkg on Windows
3425Ian Lynagh <igloo@earth.li>**20070902221442]
3426[Fix and supress some warnings, and turn on -Werror when validating
3427Ian Lynagh <igloo@earth.li>**20070902193918]
3428[Explicitly set "docdir" when calling make, configure's --docdir seems to be ignored
3429sven.panne@aedion.de**20070902164342]
3430[Use DESTDIR for installation
3431sven.panne@aedion.de**20070901175124]
3432[Fixed TeX syntax
3433sven.panne@aedion.de**20070901124615]
3434[Set -Wall -fno-warn-name-shadowing in compiler/ when stage /= 2
3435Ian Lynagh <igloo@earth.li>**20070901113018]
3436[Add {-# OPTIONS_GHC -w #-} and some blurb to all compiler modules
3437Ian Lynagh <igloo@earth.li>**20070901112130]
3438[Add a --print-docdir flag
3439Ian Lynagh <igloo@earth.li>**20070831231538]
3440[Follow Cabal module movements in installPackage
3441Ian Lynagh <igloo@earth.li>**20070831181359]
3442[Follow Cabal's move Distribution.Program -> Distribution.Simple.Program
3443Ian Lynagh <igloo@earth.li>**20070831175217]
3444[Don't use the --docdir etc that autoconf provides
3445Ian Lynagh <igloo@earth.li>**20070831173903
3446 Older autoconfs (<2.60?) don't understand them.
3447]
3448[Don't try to copy haddock index files if we haven't built the docs.
3449judah.jacobson@gmail.com**20070831050321
3450 
3451 M ./libraries/Makefile +2
3452]
3453[Use cp -R instead of cp -a (it's more portable).
3454judah.jacobson@gmail.com**20070831050215
3455 
3456 M ./libraries/Makefile -3 +3
3457]
3458[Fix installing the libraries when there is no DESTDIR
3459Ian Lynagh <igloo@earth.li>**20070831015442]
3460[Make the doc index page obey DESTDIR
3461Ian Lynagh <igloo@earth.li>**20070831014537]
3462[Make rts docs obey DESTDIR
3463Ian Lynagh <igloo@earth.li>**20070831014346]
3464[Make the manpage obey DESTDIR
3465Ian Lynagh <igloo@earth.li>**20070831014253]
3466[Obey DESTDIR when installing library docs
3467Ian Lynagh <igloo@earth.li>**20070831012351]
3468[typo in DLL code
3469Simon Marlow <simonmar@microsoft.com>**20070830143105]
3470[Windows: give a better error message when running out of memory
3471Simon Marlow <simonmar@microsoft.com>**20070830135146
3472 I think this fixes #1209
3473 
3474 Previously:
3475 
3476 outofmem.exe: getMBlocks: VirtualAlloc MEM_RESERVE 1025 blocks failed: Not enoug
3477 h storage is available to process this command.
3478 
3479 Now:
3480 
3481 outofmem.exe: out of memory
3482]
3483[Remove NDP-related stuff from PrelNames
3484Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070831045411
3485 
3486 We don't need fixed Names for NDP built-ins. Instead, we can look them up
3487 ourselves during VM initialisation.
3488]
3489[Vectorisation of enumeration types
3490Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070831041822]
3491[Number data constructors from 0 when vectorising
3492Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070831032528]
3493[Rename functions
3494Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070831032125]
3495[Refactoring
3496Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070831015312]
3497[Refactoring
3498Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070831012638]
3499[Fix vectorisation of nullary data constructors
3500Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070831005912]
3501[Do not unnecessarily wrap array components
3502Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070830062958]
3503[Remove dead code
3504Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070830055444]
3505[Fix vectorisation of unary data constructors
3506Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070830040252]
3507[Fix vectorisation of sum type constructors
3508Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070830035225]
3509[Track changes to package ndp (use PArray_Int# instead of UArr Int)
3510Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070830032104]
3511[Find the correct array type for primitive tycons
3512Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070830025224]
3513[Add code for looking up PA methods of primitive TyCons
3514Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070830014257]
3515[Delete dead code
3516Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070829145630]
3517[Rewrite vectorisation of product DataCon workers
3518Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070829145446]
3519[Rewrite generation of PA dictionaries
3520Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070829064258]
3521[Complete PA dictionary generation for product types
3522Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070824230152]
3523[Simplify generation of PR dictionaries for products
3524Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070824071925]
3525[Remove unused vectorisation built-in
3526Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070824051524]
3527[Adapt PArray instance generation to new scheme
3528Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070824051242]
3529[Add UArr built-in
3530Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070824051213]
3531[Modify generation of PR dictionaries for new scheme
3532Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070824043144]
3533[Refactoring
3534Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070824040901]
3535[Remove dead code
3536Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070824035751]
3537[Fix buildFromPRepr
3538Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070824035700]
3539[Move code
3540Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070824032930]
3541[Move code
3542Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070824032743]
3543[Delete dead code
3544Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070824031504]
3545[Change buildToPRepr to work with the new representation scheme
3546Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070824031407]
3547[Remove Embed and related stuff from vectorisation
3548Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070824023030]
3549[Encode generic representation of vectorised TyCons by a data type
3550Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070824012140]
3551[Remove dead code
3552Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070823135810]
3553[Conversions to/from generic array representation (not finished yet)
3554Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070823135649]
3555[Use n-ary sums and products for NDP's generic representation
3556Roman Leshchinskiy <rl@cse.unsw.edu.au>**20070823060945
3557 
3558 Originally, we wanted to only use binary ones, at least initially. But this
3559 would a lot of fiddling with selectors when converting to/from generic
3560 array representations. This is both inefficient and hard to implement.
3561 Instead, we will limit the arity of our sums/product representation to, say,
3562 16 (it's 3 at the moment) and initially refuse to vectorise programs for which
3563 this is not sufficient. This allows us to implement everything in the library.
3564 Later, we can implement the necessary splitting.
3565]
3566[Fix where all the documentation gets installed
3567Ian Lynagh <igloo@earth.li>**20070830223740
3568 The paths can also now be overridden with the standard configure flags
3569 --docdir=, --htmldir= etc. We were always advertising these, but now we
3570 actually obey them.
3571]
3572[Added decidability check for type instances
3573Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20070830144901]
3574[Warning police
3575Pepe Iborra <mnislaih@gmail.com>**20070829183155]
3576[Use a Data.Sequence instead of a list in cvReconstructType
3577Pepe Iborra <mnislaih@gmail.com>**20070829175119
3578 
3579 While I was there I removed some trailing white space
3580]
3581[Fix a bug in RtClosureInspect.cvReconstructType.
3582Pepe Iborra <mnislaih@gmail.com>**20070829174842
3583 Test is print025
3584]
3585[Warning police
3586Pepe Iborra <mnislaih@gmail.com>**20070829165653]
3587[UNDO: Extend ModBreaks with the srcspan's of the enclosing expressions
3588Pepe Iborra <mnislaih@gmail.com>**20070829102314
3589 
3590 Remnants of :stepover
3591 
3592]
3593[remove "special Ids" section, replace with a link to GHC.Prim
3594Simon Marlow <simonmar@microsoft.com>**20070830112139
3595 This documentation was just duplicating what is in GHC.Prim now.
3596]
3597[expand docs for unsafeCoerce#, as a result of investigations for #1616
3598Simon Marlow <simonmar@microsoft.com>**20070830111909]
3599[Remove text about ghcprof.  It almost certainly doesn't work.
3600Simon Marlow <simonmar@microsoft.com>**20070829122126]
3601[fix compiling GHC 6.7+ with itself - compat needs -package containers now
3602Simon Marlow <simonmar@microsoft.com>**20070829113500]
3603[fix typo
3604Simon Marlow <simonmar@microsoft.com>**20070824141039]
3605[no -auto-all for CorePrep
3606Simon Marlow <simonmar@microsoft.com>**20070829092414]
3607[improvements to findPtr(), a useful hack for space-leak debugging in gdb
3608Simon Marlow <simonmar@microsoft.com>**20070829092400]
3609[fix up some old text, remove things that aren't true any more
3610Simon Marlow <simonmar@microsoft.com>**20070828125821]
3611[Windows: remove the {Enter,Leave}CricialSection wrappers
3612Simon Marlow <simonmar@microsoft.com>**20070829104811
3613 The C-- parser was missing the "stdcall" calling convention for
3614 foreign calls, but once added we can call {Enter,Leave}CricialSection
3615 directly.
3616]
3617[Wibble
3618Pepe Iborra <mnislaih@gmail.com>**20070829085305]
3619[FIX: Remove accidential change to darcs-all in type families patch
3620Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20070829010011
3621 - The type families patch includes a change to darcs-all that breaks it for
3622   ssh repos at least for Perl 5.8.8 (on MacOS).
3623 - My Perl-fu is not sufficient to try to fix the modification, which was
3624   supposed to improve darcs-all on windows, so I just revert to the old
3625   code.
3626]
3627[Remove INSTALL_INCLUDES; no longer used
3628Ian Lynagh <igloo@earth.li>**20070828205636]
3629[Use DESTDIR when installing
3630Ian Lynagh <igloo@earth.li>**20070828205119]
3631[Copy LICENSE files into the bindist, as Cabal now installs them
3632Ian Lynagh <igloo@earth.li>**20070828130428]
3633[TAG 2007-08-28
3634Ian Lynagh <igloo@earth.li>**20070828215445]
3635Patch bundle hash:
3636b7f10a0d999714d14f6fda9a1b362e9be7590170