Ticket #4999: fix-compile-error-on-powerpc_linux-__4999_.2.dpatch

File fix-compile-error-on-powerpc_linux-__4999_.2.dpatch, 101.2 KB (added by erikd, 2 years ago)

Upadted version of patch. Now compiles but may not be correct.

Line 
1
2New patches:
3
4[Fix compile error on powerpc-linux (#4999)
5Erik de Castro Lopo <erikd@mega-nerd.com>**20110310071743
6 Ignore-this: a9dca9703dd82e27a463064cb369ceda
7 
8 Compile was breaking in rts/Linkder.c. Fix was to make the powerpc-linux
9 code path similar to the powerpc-darwin code path. Once this was fixed,
10 the compile breaks in the second stage compling the vector library.
11] {
12hunk ./rts/Linker.c 73
13 #include <sys/wait.h>
14 #endif
15 
16-#if defined(linux_HOST_OS    ) || defined(freebsd_HOST_OS) || \
17-    defined(dragonfly_HOST_OS) || defined(netbsd_HOST_OS ) || \
18-    defined(openbsd_HOST_OS  ) || \
19-    ( defined(darwin_HOST_OS ) && !defined(powerpc_HOST_ARCH) ) || \
20-    defined(kfreebsdgnu_HOST_OS)
21-/* Don't use mmap on powerpc-apple-darwin as mmap doesn't support
22+#if !defined(powerpc_HOST_ARCH) && \
23+    (   defined(linux_HOST_OS    ) || defined(freebsd_HOST_OS) || \
24+        defined(dragonfly_HOST_OS) || defined(netbsd_HOST_OS ) || \
25+        defined(openbsd_HOST_OS  ) || defined(darwin_HOST_OS ) || \
26+        defined(kfreebsdgnu_HOST_OS) )
27+/* Don't use mmap on powerpc_HOST_ARCH as mmap doesn't support
28  * reallocating but we need to allocate jump islands just after each
29  * object images. Otherwise relative branches to jump islands can fail
30  * due to 24-bits displacement overflow.
31hunk ./rts/Linker.c 135
32 static ObjectCode* mkOc( char *path, char *image, int imageSize,
33                          char *archiveMemberName
34 #ifndef USE_MMAP
35-#ifdef darwin_HOST_OS
36+#ifdef powerpc_HOST_ARCH
37                        , int misalignment
38 #endif
39 #endif
40hunk ./rts/Linker.c 159
41 static int ocGetNames_MachO       ( ObjectCode* oc );
42 static int ocResolve_MachO        ( ObjectCode* oc );
43 
44-#ifndef USE_MMAP
45+#if !defined USE_MMAP && defined(darwin_HOST_OS)
46 static int machoGetMisalignment( FILE * );
47 #endif
48 #if defined(powerpc_HOST_ARCH) || defined(x86_64_HOST_ARCH)
49hunk ./rts/Linker.c 1594
50        } else {
51            if ((W_)result > 0x80000000) {
52                // oops, we were given memory over 2Gb
53-#if defined(freebsd_HOST_OS)  || defined(kfreebsdgnu_HOST_OS) || defined(dragonfly_HOST_OS)
54+#if defined(freebsd_HOST_OS) || defined(kfreebsdgnu_HOST_OS) || defined(dragonfly_HOST_OS)
55                // Some platforms require MAP_FIXED.  This is normally
56                // a bad idea, because MAP_FIXED will overwrite
57                // existing mappings.
58hunk ./rts/Linker.c 1633
59 mkOc( char *path, char *image, int imageSize,
60       char *archiveMemberName
61 #ifndef USE_MMAP
62-#ifdef darwin_HOST_OS
63+#ifdef powerpc_HOST_ARCH
64     , int misalignment
65 #endif
66 #endif
67hunk ./rts/Linker.c 1672
68    oc->proddables        = NULL;
69 
70 #ifndef USE_MMAP
71-#ifdef darwin_HOST_OS
72+#ifdef powerpc_HOST_ARCH
73    oc->misalignment = misalignment;
74 #endif
75 #endif
76hunk ./rts/Linker.c 1699
77     char tmp[12];
78     char *gnuFileIndex;
79     int gnuFileIndexSize;
80-#if !defined(USE_MMAP) && defined(darwin_HOST_OS)
81+#if !defined(USE_MMAP) && defined(powerpc_HOST_ARCH)
82     int misalignment;
83 #endif
84 
85hunk ./rts/Linker.c 1879
86             image = stgMallocBytes(memberSize + misalignment, "loadArchive(image)");
87             image += misalignment;
88 #else
89-            image = stgMallocBytes(memberSize, "loadArchive(image)");
90+            misalignment = 0; /* This can't be right. */
91+            image = stgMallocBytes(memberSize + misalignment, "loadArchive(image)");
92 #endif
93             n = fread ( image, 1, memberSize, f );
94             if (n != memberSize) {
95hunk ./rts/Linker.c 1894
96 
97             oc = mkOc(path, image, memberSize, archiveMemberName
98 #ifndef USE_MMAP
99-#ifdef darwin_HOST_OS
100+#ifdef powerpc_HOST_ARCH
101                      , misalignment
102 #endif
103 #endif
104hunk ./rts/Linker.c 1975
105    int fd;
106 #else
107    FILE *f;
108-#  if defined(darwin_HOST_OS)
109+#  if defined(powerpc_HOST_ARCH)
110    int misalignment;
111 #  endif
112 #endif
113hunk ./rts/Linker.c 2055
114    image = stgMallocBytes(fileSize + misalignment, "loadObj(image)");
115    image += misalignment;
116 #  else
117-   image = stgMallocBytes(fileSize, "loadObj(image)");
118+   misalignment = 0; /* This can't be right. */
119+   image = stgMallocBytes(fileSize + misalignment, "loadObj(image)");
120 #  endif
121 
122    {
123hunk ./rts/Linker.c 2070
124 
125    oc = mkOc(path, image, fileSize, NULL
126 #ifndef USE_MMAP
127-#ifdef darwin_HOST_OS
128+#ifdef powerpc_HOST_ARCH
129             , misalignment
130 #endif
131 #endif
132hunk ./rts/Linker.c 2320
133   int aligned;
134 #ifndef USE_MMAP
135   int misalignment = 0;
136-#ifdef darwin_HOST_OS
137+#ifdef powerpc_HOST_ARCH
138   misalignment = oc->misalignment;
139 #endif
140 #endif
141hunk ./rts/Linker.c 5349
142 }
143 #endif
144 
145-#ifndef USE_MMAP
146+#if !defined USE_MMAP && defined(darwin_HOST_OS)
147 /*
148  * Figure out by how much to shift the entire Mach-O file in memory
149  * when loading so that its single segment ends up 16-byte-aligned
150hunk ./rts/LinkerInternals.h 83
151     /* ptr to malloc'd lump of memory holding the obj file */
152     char*      image;
153 
154-#ifdef darwin_HOST_OS
155+#ifdef powerpc_HOST_ARCH
156     /* record by how much image has been deliberately misaligned
157        after allocation, so that we can use realloc */
158     int        misalignment;
159}
160
161Context:
162
163[LLVM: Fix #4995, llvm mangler broken for large compiles
164David Terei <davidterei@gmail.com>**20110309215346
165 Ignore-this: 4fcef11ad0be0cff26c108bd05db0485
166]
167[Improve the XCode version detection
168Ian Lynagh <igloo@earth.li>**20110307225823
169 Amongst other improvements, we now handle 3-component versions
170 (like "3.1.4") correctly.
171]
172[Impredicative polymorphism no longer deprecated.
173Edward Z. Yang <ezyang@mit.edu>**20110306215916
174 Ignore-this: 49157eaae716879effb99c2638518265
175]
176[Fix doc formatting
177Ian Lynagh <igloo@earth.li>**20110306151532
178 Ignore-this: 4948eccebbf7637ff84db661a5138dd1
179]
180[configure: amend sanity check
181Sergei Trofimovich <slyfox@community.haskell.org>**20110301194018
182 Ignore-this: 4f40f8dd28bd436f02b487714b797ee7
183 
184 As we perform some mangling of original --build/--host/--target
185 params we should check the result of mangling against desired triplet,
186 not originally passed by user.
187 
188 Patch also adds mangled triplets to the output.
189]
190[configure: triplet: accept i486 CPU (and more), more vendors and OSes
191Sergei Trofimovich <slyfox@community.haskell.org>**20110301064108
192 Ignore-this: d508348bf04ad74afb069b8c743fd2f4
193 
194 Gentoo has interesting ports:
195 
196   - freebsd with following triplet:
197         ./configure --build=i686-gentoo-freebsd8 --host=i686-gentoo-freebsd8 --host=i686-gentoo-freebsd8
198     should be recognized as 'i386-unknown-freebsd'
199   - 'pc' vendor along with non-'i386' is very common:
200         ./configure --build=i486-pc-linux-gnu --i486-pc-linux-gnu --host=i486-pc-linux-gnu
201         ./configure --build=i686-pc-linux-gnu --i686-pc-linux-gnu --host=i686-pc-linux-gnu
202     should be recognized as 'i386-unknown-linux'
203 
204 Patch adds:
205 
206   - 'pc' vendor                 (maps to 'unknown')
207   - 'gentoo' vendor             (maps to 'unknown')
208   - 'i486', 'i586', 'i686' CPUs (maps to 'i386')
209   - 'freebsd8' OS               (maps to 'freebsd')
210]
211[Document -fwarn-missing-import-lists
212simonpj@microsoft.com**20110306000216
213 Ignore-this: 5a857935a775f608d8e00af9ad2b1633
214 
215 Also change the behaviour slightly, to warn only for
216 *unqualified* imports.  See Trac #4977.
217]
218[Completed the implementation of VECTORISE SCALAR
219Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20110305123625
220 Ignore-this: 96714958893800c6ae750fb343b32e31
221 - The pragma {-# VECTORISE SCALAR foo #-} marks 'foo' as a
222   scalar function for for vectorisation and generates a
223   vectorised version by applying 'scalar_map' and friends.
224 - The set of scalar functions is not yet emitted into
225   interface files.  This will be added in a subsequent
226   patch via 'VectInfo'.
227]
228[Fix build, and improve ghc-cabal's errors
229Ian Lynagh <igloo@earth.li>**20110305153931
230 Ignore-this: eb0d1b7ee3dbc7be6a39c9ed3a787d
231]
232[Whitespace only
233Ian Lynagh <igloo@earth.li>**20110305150238]
234[Sanity check values that we wrap in single quotes
235Ian Lynagh <igloo@earth.li>**20110305150118
236 Make sure they contain no single quotes, leading spaces, or trailing spaces.
237]
238[Avoid some shell calls in the build system
239Ian Lynagh <igloo@earth.li>**20110305144825
240 The DEP_INCLUDE_DIRS and DEP_LIB_DIRS variables always contain
241 single-quote dirs, so we can use e.g.
242     $(subst $(space)',$(space)-L',$(space)$($1_$2_DEP_LIB_DIRS_SINGLE_QUOTED))
243 to add -L to the front of each dir. I've appended "_SINGLE_QUOTED" to
244 the variable names so we don't accidentally add bare directories to
245 them.
246]
247[Make -fno-enable-rewrite-rules work properly
248simonpj@microsoft.com**20110302114317
249 Ignore-this: cd133880e58d9af55cf4454e4c700d
250 
251 I'd failed to propagate the Opt_EnableRewriteRules flag properly,
252 which meant that -fno-enable-rewrite-rules didn't disable all
253 rewrites.  This patch fixes it.
254]
255[Comments only
256simonpj@microsoft.com**20110302113041
257 Ignore-this: e97a3ee359e0211b4fb5b5fbf3f5607d
258]
259[Restore SPECIALISE INSTANCE pragmas
260simonpj@microsoft.com**20110222173112
261 Ignore-this: 4c0a8fab4f9e619d988beb8b5269474f
262 
263 For some reason I'd commented out this code, which
264 meant that we weren't getting the the goodness of
265 the SPECIALISE INSTANCE pragamas in GHC.Real. And
266 that in turn killed performance in nofib 'power'
267]
268[GHC.Prim.threadStatus# now returns the cap number, and the value of TSO_LOCKED
269Simon Marlow <marlowsd@gmail.com>**20110301101025
270 Ignore-this: 49548cffd04bf6fdd3071158d9865034
271]
272[Improve GHCi line numbers in errors
273Ian Lynagh <igloo@earth.li>**20110227172012
274 Ignore-this: 52c2c2f7c83207e8c7b36fab6ebe52d8
275 When running commands from the user (as opposed to from a file), reset
276 the line number to 1 at the start of each command.
277]
278[:script file scripts in GHCi #1363
279Vivian McPhail <haskell.vivian.mcphail@gmail.com>**20110226073133
280 This patch adds the script command in GHCi
281 
282 A file is read and executed as a series of GHCi commands.
283 
284 Execution terminates on the first error.  The filename and
285 line number are included in the error.
286]
287[Turn off split objects on Darwin if XCode < 3.2 (#4013)
288Ian Lynagh <igloo@earth.li>**20110225184358
289 Ignore-this: 3e894673649fee957df2413ca82b1c99
290]
291[libffi: backport incorrect detection of selinux
292Sergei Trofimovich <slyfox@community.haskell.org>**20110208212140
293 Ignore-this: 31bdddb5683acae2bffa3e97effaefea
294 
295 This patch unbreaks ghci on GRSEC kernels hardened with
296 TPE (Trusted Path Execution) protection.
297 
298 TPE forbids mmap('rwx') files opened for writes:
299     fd = open (a_file_in_tmp, O_RDWR);
300     mmap (...,               PROT_READ | PROT_WRITE | PROT_EXEC, fd);
301 
302 while allows anonymous RWX mappings:
303     mmap (...MAP_ANONYMOUS , PROT_READ | PROT_WRITE | PROT_EXEC, -1);
304 
305 Thanks to klondike for finding it out.
306 
307 The result of a horrible typo.
308 
309 (unreleased yet) upstream also has the patch:
310 
311 http://github.com/atgreen/libffi/commit/eaf444eabc4c78703c0f98ac0197b1619c1b1bef
312]
313[Generate the OS X installer from a bindist, rather than from a source tree
314Ian Lynagh <igloo@earth.li>**20110223170016]
315[Use -h rather than -soname; fixes dynlibs on Solaris 10; trac #4973
316Ian Lynagh <igloo@earth.li>**20110222152656]
317[Fix another fundep error (fixes Trac #4969)
318simonpj@microsoft.com**20110221153239
319 Ignore-this: 9308a7c55346c9eaeaa0818903c8d67b
320 
321 If I had a pound for every hour Dimitrios and I have spent
322 making functional dependencies work right, we'd be rich!
323 
324 We had stupidly caused a 'wanted' to be rewritten by a 'derived', with
325 resulting abject failure.  As well as fixing the bug, this patch
326 refactors some more, adds useful assert and comments.
327]
328[New codegen: GC calling convention must use registers.
329Edward Z. Yang <ezyang@mit.edu>**20110218011745
330 Ignore-this: 13cdd38bb5cea0d244861f01f0004dee
331 
332 Previously, on register-deficient architectures like x86-32,
333 the new code generator would emit code for calls to stg_gc_l1,
334 stg_gc_d1 and stg_gc_f1 that pushed their single argument on
335 to the stack, while the functions themselves expected the
336 argument to live in L1, D1 and F1 (respectively).  This was
337 because cmmCall with the GC calling convention allocated real
338 registers, not virtual registers.
339 
340 This patch modifies the code for assigning registers/stack slots
341 to use the right calling convention for GC and adds an assertion
342 to ensure it did it properly.
343]
344[Added a VECTORISE pragma
345Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20110220105032
346 Ignore-this: e3ed0e7caa45418452858a5a5937264
347 - Added a pragma {-# VECTORISE var = exp #-} that prevents
348   the vectoriser from vectorising the definition of 'var'.
349   Instead it uses the binding '$v_var = exp' to vectorise
350   'var'.  The vectoriser checks that the Core type of 'exp'
351   matches the vectorised Core type of 'var'.  (It would be
352   quite complicated to perform that check in the type checker
353   as the vectorisation of a type needs the state of the VM
354   monad.)
355 - Added parts of a related VECTORISE SCALAR pragma
356 - Documented -ddump-vect
357 - Added -ddump-vt-trace
358 - Some clean up
359]
360[Reenable object splitting on Darwin, now #4013 appears to be fixed
361Ian Lynagh <igloo@earth.li>**20110219191409
362 Ignore-this: e39e46beab8c8f2dc3369d5ec98610f2
363]
364[Clarify the "object splitting" variable names
365Ian Lynagh <igloo@earth.li>**20110219161508]
366[Fix #4867 (updated; corrects address calculation)
367gwright@antiope.com**20110214150924
368 Ignore-this: b68bcf1262f3507e1b9a7459139054bc
369 
370 This is a corrected fix for ticket #4867, "ghci displays negative floats
371 incorrectly".  The previous patch sometimes gave incorrect offset to values
372 in the __const section of the __TEXT segment.  The new patch arranges a zero
373 fixup for non-external, not-global offset table signed relocations.  This
374 is apparently what is required, though documentation on this point is scarce.
375 
376 With this change Doubles are negated properly, because the sign bit mask
377 is loaded from the correct offset.  This was tested both on HEAD and the 7.0
378 branch.
379 
380]
381[Scale columns in cost-centre-stack report to their contents
382Max Bolingbroke <batterseapower@hotmail.com>**20110216161340
383 Ignore-this: b7138527bb8c139ed554b9e6c9a9f37
384]
385[Change typechecker-trace output slightly
386simonpj@microsoft.com**20110217175904
387 Ignore-this: 4bf1c9dfa41c598765cd082a35bf193b
388]
389[Comments only
390simonpj@microsoft.com**20110217175840
391 Ignore-this: b9ea9687b41bfc062137a3ad6fafa3a6
392]
393[Fix Trac #4966
394simonpj@microsoft.com**20110217141000
395 Ignore-this: d4caaf910dfb86b1e469c5da3fe9cde2
396 
397 This is just a program that exploits overlapping
398 instances in a delicate way. The fix makes GHC
399 a bit more friendly towards such programs.
400 
401 See Note [Overlap and deriving] in TcSimplify
402]
403[Use "on the spot" solving for fundeps
404simonpj@microsoft.com**20110217140921
405 Ignore-this: 99290ef5538819053af708f5f9464488
406 
407 When we spot an equality arising from a functional dependency,
408 we now use that equality (a "wanted") to rewrite the work-item
409 constraint right away.  This avoids two dangers
410 
411  Danger 1: If we send the original constraint on down the pipeline
412            it may react with an instance declaration, and in delicate
413           situations (when a Given overlaps with an instance) that
414           may produce new insoluble goals: see Trac #4952
415 
416  Danger 2: If we don't rewrite the constraint, it may re-react
417            with the same thing later, and produce the same equality
418            again --> termination worries.
419 
420 To achieve this required some refactoring of FunDeps.lhs (nicer
421 now!). 
422 
423 This patch also contains a couple of unrelated improvements
424 
425 * A bad bug in TcSMonad.nestImplicTcS whereby the Tcs tyvars
426   of an outer implication were not untouchable inside
427 
428 * Improved logging machinery for the type constraint solver;
429   use -ddump-cs-trace (probably with a wider default line width
430   -dppr-cols=200 or something)
431]
432[Increase exprIsDupable threshold a bit
433simonpj@microsoft.com**20110215143921
434 Ignore-this: cf5a73026aabaa9f2ca93d0d338a6f56
435 
436 Now that exprIsDupable is less aggressive, test MethSharing wasn't
437 doing enough inlining.  Increasing the threshold fixes the problem
438 but the real fix is in Trac #4960.
439]
440[Ensure exprIsCheap/exprIsExpandable deal with Cast properly
441simonpj@microsoft.com**20110215143655
442 Ignore-this: 13bd5540b048de02737070bfa66f1a71
443 
444 This bug was causing a Lint error on the stable branch. For some
445 reason it doesn't show up in HEAD, but it's still worth fixing.
446 
447 The point is that ((f `cast` co) a) is cheap if f has arity>1.
448 This was being gratuitously missed before.
449]
450[Do not treat absentError specially
451simonpj@microsoft.com**20110215143504
452 Ignore-this: 3a8f6d6eae17b7360f58de86ec934cde
453 
454 (This was part of an experiment I abandoned.)
455]
456[Fix exprIsDupable
457simonpj@microsoft.com**20110214111512
458 Ignore-this: 2b800410f8103590da167ae24e7b242d
459 
460 It turns out that exprIsDupable would return True for an expression of
461 *arbitrary* size, provide it was a nested bunch of applications in
462 which no function had more than three arguments.  That was never the
463 intention, and could give rise to massive code duplication. 
464 
465 This patch makes it much less aggressive.
466]
467[Better case-of-case transformation
468simonpj@microsoft.com**20110214111151
469 Ignore-this: 32360d2c7703d772c7a5ad84b019bf87
470 
471 The ThunkSplitting idea in WorkWrap wasn't working at all,
472 leading to Trac #4957.  The culprit is really the simplifier
473 which was combining the wrong case continuations. See
474 Note [Fusing case continuations] in Simplify.
475]
476[Cleaned up Expr and Vectorise
477keller@.cse.unsw.edu.au**20110215014434
478 Ignore-this: 11b78040a7d16dc6e5ce7950c73bf8a9
479]
480[Fixed two syntax errors
481keller@.cse.unsw.edu.au**20110214020531
482 Ignore-this: 1abeebe0171a4262ceacee89adc9246e
483]
484[Handling of recursive scalar functions in isScalarLam
485keller@cse.unsw.edu.au**20110214002945
486 Ignore-this: db522152971fdcc9c74124d06ef785bd
487]
488[Added handling of non-recursive module global functions to isScalar check
489keller@cse.unsw.edu.au**20110209042855
490 Ignore-this: feae370a9bcc30371ab62f3700471739
491]
492[
493keller@cse.unsw.edu.au**20110202051408
494 Ignore-this: 7e0e1fcd40315da9abe80e2c2eda877f
495]
496[Removed minor bug
497keller@cse.unsw.edu.au**20110202040826
498 Ignore-this: 1abdae6a0f39b2ebd002f2587b5d1f53
499]
500[added handling of data constructors to vectLam
501keller@cse.unsw.edu.au**20110201042807
502 Ignore-this: 511fba94f926bb3a1088b21e36cc1f8c
503]
504[pruneSparkQueue: check for tagged pointers
505Simon Marlow <marlowsd@gmail.com>**20110214123858
506 Ignore-this: 719f77302b0dff3ba97b66a0d75b2482
507 This was a bug in 6.12.3.  I think the problem no longer occurs due to
508 the way sparks are treated as weak pointers, but it doesn't hurt to
509 test for tagged pointers anyway: better to do the test than have a
510 subtle invariant.
511]
512[Fix Trac #4953: local let binders can have IdInfo with free names
513simonpj@microsoft.com**20110214140334
514 Ignore-this: c8e5dbc6f0270e45d9cf2edee34d0354
515 
516 Local let binders in IfaceExpr never used to have unfoldings,
517 but lately they can (becuase they can have an INLINE pragma).
518 We must take account of the variables mentioned in the pragma
519 when computing the fingerprint.
520]
521[Comments only
522simonpj@microsoft.com**20110214090703
523 Ignore-this: bf950e91e0c984186fea1100aa15d00c
524]
525[LLVM: Huge improvement to mangler speed.
526David Terei <davidterei@gmail.com>**20110213014406
527 Ignore-this: 4eeaa572dfe956c990895154bd942bb2
528 
529 The old llvm mangler was horrible! Very slow
530 due to bad design and code. New version is
531 linear complexity as it should be and far
532 lower coefficients. This fixes trac 4838.
533]
534[Fix platform detection in bindists
535Ian Lynagh <igloo@earth.li>**20110211184244
536 In a bindist, we generate files like the hsc2hs wrapper.
537 This means we need to have the right values for the variables like
538 CONF_GCC_LINKER_OPTS_STAGE1 which in turn means we need to know what
539 platform we're on.
540]
541[New plan: push unsolved wanteds inwards
542simonpj@microsoft.com**20110211174058
543 Ignore-this: ed40762e260dab75b5e51c696f9965fa
544 
545 This fixes Trac #4935.  See Note [Preparing inert set for implications].
546 Lots of comments, but not a lot of code is changed!
547]
548[Remove unnecessary import, plus white space
549simonpj@microsoft.com**20110211173925
550 Ignore-this: 963f455c3c8aee49009b5d5a02f835ac
551]
552[Fix small but egregious error: using un-zonked constraints in simplifyRule
553simonpj@microsoft.com**20110211173835
554 Ignore-this: 238586e420dbbb1be7f6368117cf6280
555 
556 This resulted in double unifications.  Fix is trivial.
557]
558[makeSolvedByInst is only called on wanteds
559simonpj@microsoft.com**20110211173415
560 Ignore-this: 36e6201ab59a082e6dc38e56bea99e29
561 
562 This patch just adds an assert error.
563]
564[Enable DTrace on Solaris; based on a patch from Karel Gardas
565Ian Lynagh <igloo@earth.li>**20110210155217
566 Ignore-this: 93eaf0e06c721c80c175aaee9a113e6
567]
568[Use DTrace whenever it's available
569Ian Lynagh <igloo@earth.li>**20110210153300
570 Ignore-this: 111c72bf20d6eaafd3e488196a89b2c
571 Now that we've stopped trying to support 64bit OS X 10.5, the DTrace
572 problems there don't matter.
573]
574[replace C++ comments with C comments (Solaris' DTrace fails on C++ comments)
575Karel Gardas <karel.gardas@centrum.cz>**20110112051829
576 Ignore-this: c229292227c7e2b512daf9129cb66aeb
577]
578[Fix #4867, ghci displays negative floats incorrectly
579gwright@antiope.com**20110209222423
580 Ignore-this: 1b3279fa5f6c4849ed6311275b1a466a
581 
582 This patch fixes the erroneous relocations that caused
583 the bug in ticket #4867.  External addresses and global
584 offset table entries were relocated correctly, but all other
585 relocations were incorrectly calculated.  This caused, for
586 example, bad references to constants stored in the __const
587 section of the __TEXT segment.
588 
589 This bug only affected OS X on 64-bit platforms.
590 
591]
592[Fix Array sizeof primops to use the correct offset (which happens to be 0, so it worked before anyway). Makes us more future-proof, at least
593Daniel Peebles <pumpkingod@gmail.com>**20110201063017
594 Ignore-this: 8e79c3f6f80c81b4160a31e80e4ed29d
595]
596[Add sizeof(Mutable)Array# primitives
597Daniel Peebles <pumpkingod@gmail.com>**20110126051554
598 Ignore-this: ae17d94dbb86d6e1ffa0a489da842f78
599]
600[fix TRY_ACQUIRE_LOCK on Windows.
601Simon Marlow <marlowsd@gmail.com>**20110210150035
602 Ignore-this: b48713585b6d65020bb42f952c2c54ac
603]
604[constant fold  (a + N) - M  and  (a - N) + M
605Simon Marlow <marlowsd@gmail.com>**20110210115608
606 Ignore-this: 312c33d5ff7d4288be8ab0a5c6939c0c
607]
608[Recursively call cmmMachOpFold on divides that we turned into shifts
609Simon Marlow <marlowsd@gmail.com>**20110208104345
610 Ignore-this: bca0db454127c5f2b64b81d6200fc000
611 There might be more simplification to do.
612]
613[Add unboxed tuple support to Template Haskell
614Ian Lynagh <igloo@earth.li>**20110210134528
615 Ignore-this: cf946570a9d16016debf8bccd21b2c79
616]
617[Allow TH brackets to contain things of any kind
618Ian Lynagh <igloo@earth.li>**20110209184459
619 Ignore-this: b23f53d201abc874cf1f15a4eddb3abb
620 You can now quasi-quote things with unboxed types, and unboxed tuples.
621]
622[Simpify constraints from a TH bracket eagerly
623simonpj@microsoft.com**20110209175003
624 Ignore-this: b341ea3d235af1b2e617107f238ae1d6
625 
626 See Trac #4949, where having a TH bracket implication
627 was messing things up.  Better to get rid of it right away.
628]
629[Typo in comment
630simonpj@microsoft.com**20110209174914
631 Ignore-this: 3590bf097a566c6f590a37cda2be9b4e
632]
633[Call the final build system phase "final" rather than ""
634Ian Lynagh <igloo@earth.li>**20110207142046
635 Ignore-this: cc87cf202cff1f1d8b105268dacdd63f
636]
637[Fix bug introduced in "Implement fuzzy matching for the Finder"
638Simon Marlow <marlowsd@gmail.com>**20110208090121
639 Ignore-this: 53e61080e7d7fb28f9187629fa20746a
640 The finder was reporting a hidden package when it meant a hidden
641 module, and vice versa (looks like a typo).
642]
643[Fix Trac #4945: another SpecConstr infelicity
644simonpj@microsoft.com**20110207102537
645 Ignore-this: c3ffbb640cdbbab32758e6130ae803bc
646 
647 Well, more a plain bug really, which led to SpecConstr
648 missing some obvious opportunities for specialisation.
649 
650 Thanks to Max Bolingbroke for spotting this.
651]
652[add missing initialisation of ws->todo_large_objects
653Simon Marlow <marlowsd@gmail.com>**20110204093148
654 Ignore-this: dc9a28f85aff97e0896d212d7b21ae30
655 Found-by: Valgrind.  Thanks Julian!
656]
657[Add -XNondecreasingIndentation to -XHaskell98 for backwards compatibility.
658Simon Marlow <marlowsd@gmail.com>**20110204084226
659 Ignore-this: 42f7ef8bfbfb8d58f61afa217af3ffea
660 The final straw was when I learned today that Happy broke.
661]
662[only the GHC repo is in git for now; add hoopl
663Simon Marlow <marlowsd@gmail.com>**20110203205705
664 Ignore-this: 1cf90e7e5b83aabef74ec5e24496464c
665]
666[Fix typo in SpecConstr that made it not work at all
667simonpj@microsoft.com**20110203172756
668 Ignore-this: b550d5c5b73ed13709ee2938c80a750f
669 
670 There was a terrible typo in this patch; I wrote "env"
671 instead of "env1".
672 
673    Mon Jan 31 11:35:29 GMT 2011  simonpj@microsoft.com
674      * Improve Simplifier and SpecConstr behaviour
675 
676 Anyway, this fix is essential to make it work properly.
677 Thanks to Max for spotting the problem (again).
678]
679[fix compacting GC
680Simon Marlow <marlowsd@gmail.com>**20110202170036
681 Ignore-this: e78c99b318586a7fccc2a8e36d9fbf88
682]
683[fix warning
684Simon Marlow <marlowsd@gmail.com>**20110202160415
685 Ignore-this: 99f65d20b38cce971b0eda6c53eab8d3
686]
687[GC refactoring and cleanup
688Simon Marlow <marlowsd@gmail.com>**20110202154955
689 Ignore-this: 96b5b5ec97d49e69617d0007ee7fe804
690 Now we keep any partially-full blocks in the gc_thread[] structs after
691 each GC, rather than moving them to the generation.  This should give
692 us slightly better locality (though I wasn't able to measure any
693 difference).
694 
695 Also in this patch: better sanity checking with THREADED.
696]
697[avoid adding HPC ticks to arrow constructs (fixes #1333)
698Ross Paterson <ross@soi.city.ac.uk>**20110202211425
699 Ignore-this: 2938850ebbb53d1bc6bf0399f68dd8e5
700]
701[Fix the profiling build
702Simon Marlow <marlowsd@gmail.com>**20110202132257
703 Ignore-this: cdf6de609c7eee47bd6c9e957276f12b
704]
705[A small GC optimisation
706Simon Marlow <marlowsd@gmail.com>**20110202123049
707 Ignore-this: 4119e33b0f40787fd9339ad1104b3b9e
708 Store the *number* of the destination generation in the Bdescr struct,
709 so that in evacuate() we don't have to deref gen to get it.
710 This is another improvement ported over from my GC branch.
711]
712[scheduleProcessInbox: use non-blocking acquire, and take the whole queue
713Simon Marlow <marlowsd@gmail.com>**20110202114907
714 Ignore-this: 12020d2751d355d1c006697351223d99
715 This is an improvement from my GC branch, that helps performance for
716 intensive message-passing communication between Capabilities.
717]
718[do a bit of by-hand CSE
719Simon Marlow <marlowsd@gmail.com>**20110202114417
720 Ignore-this: c0c90cd767c74f3eee8b7f8cbc08dfa0
721]
722[add a const
723Simon Marlow <marlowsd@gmail.com>**20110202114345
724 Ignore-this: d12300d69c91d7187aa1dd83a4a13ff9
725]
726[add TRY_ACQUIRE_LOCK()
727Simon Marlow <marlowsd@gmail.com>**20110202113242
728 Ignore-this: face9da80ce407b9013d5f73bb65c34d
729]
730[Remove the per-generation mutable lists
731Simon Marlow <marlowsd@gmail.com>**20110202112646
732 Ignore-this: 3e0cacbc8c8b6ddf7005d25b593d3357
733 Now that we use the per-capability mutable lists exclusively.
734]
735[+RTS -qw hasn't done anything since 7.0.1; remove the implementation & docs
736Simon Marlow <marlowsd@gmail.com>**20110201163727
737 Ignore-this: e6c6ba6b8a119d87efcd79310b4fb5d2
738 It is still (silently) accepted for backwards compatibility.
739]
740[comments
741Simon Marlow <marlowsd@gmail.com>**20110201085830
742 Ignore-this: 5a70e58a48aa60e5ed7afc6e908d150a
743]
744[Annotate thread stop events with the owner of the black hole
745Simon Marlow <marlowsd@gmail.com>**20110127164226
746 Ignore-this: a60cbe5cc50da911d58020775c513ed0
747 
748 So we can now get these in ThreadScope:
749 
750   19487000: cap 1: stopping thread 6 (blocked on black hole owned by thread 4)
751 
752 Note: needs an update to ghc-events.  Older ThreadScopes will just
753 ignore the new information.
754]
755[update debugging code for fragmentation
756Simon Marlow <marlowsd@gmail.com>**20110125111011
757 Ignore-this: a98cd31d2e48ae9bdc52f9d96424ce39
758]
759[Fix type checker error message
760simonpj@microsoft.com**20110201122920
761 Ignore-this: 7369cc5f8dae3d81621f580a8ddaf41e
762 
763 See Trac #4940. We had a message
764      The lambda expression `\ x -> x' has one argument one argument,
765 repeating the "one argument" part.  Easy fix.
766]
767[Some refactoring of SpecConstr
768simonpj@microsoft.com**20110201122841
769 Ignore-this: c2966091564a9ca4ceb27a9596d36b7d
770 
771 This was originally to improve the case when SpecConstr generated a
772 function with an unused argument (see Trac #4941), but I ended up
773 giving up on that.  But the refactoring is still an improvement.
774 
775 In particular I got rid of BothOcc, which was unused.
776]
777[Don't make join points when the case has only one non-bottom alternative
778simonpj@microsoft.com**20110201122637
779 Ignore-this: 333b9b62debbfc1338530ef4e710ccbb
780 
781 This fixes Trac #4930.  See Note [Bottom alternatives] in Simplify.lhs
782]
783[Improve Simplifier and SpecConstr behaviour
784simonpj@microsoft.com**20110131113529
785 Ignore-this: e5b96c97cee0950e558ddf15178bb6c9
786 
787 Trac #4908 identified a case where SpecConstr wasn't "seeing" a
788 specialisation it should easily get.  The solution was simple: see
789 Note [Add scrutinee to ValueEnv too] in SpecConstr.
790 
791 Then it turned out that there was an exactly analogous infelicity in
792 the mighty Simplifer too; see Note [Add unfolding for scrutinee] in
793 Simplify. This fix is good for Simplify even in the absence of the
794 SpecConstr change.  (It arose when I moved the binder- swap stuff to
795 OccAnall, not realising that it *remains* valuable to record info
796 about the scrutinee of a case expression.  The Note says why.
797 
798 Together these two changes are unconditionally good.  Better
799 simplification, better specialisation. Thank you Max.
800]
801[fix warning
802Simon Marlow <marlowsd@gmail.com>**20110131135951
803 Ignore-this: e893d9bfbabf1601133a1e09c50b908
804]
805[32-bit fix
806Simon Marlow <marlowsd@gmail.com>**20101013154200
807 Ignore-this: 7508977c263ed2cec321b40a8b5772a
808]
809[update to mingw gcc 4.5.2
810Simon Marlow <marlowsd@gmail.com>**20110119135053
811 Ignore-this: b9d5cb736a48a0adc5e35eb8a0c191cd
812]
813[count fizzled and GC'd sparks separately
814Simon Marlow <marlowsd@gmail.com>**20101111132727
815 Ignore-this: 4cb4b759aed06659b46cdf76e791e5c9
816]
817[count "dud" sparks (expressions that were already evaluated when sparked)
818Simon Marlow <marlowsd@gmail.com>**20101101124143
819 Ignore-this: ca94824c0e75da0b3688300e7285c7e6
820]
821[fix some shutdown memory leaks
822Simon Marlow <marlowsd@gmail.com>**20100820093133
823 Ignore-this: 3e7b80b5f4846d6c56319c150895953d
824]
825[fix DEBUG build
826Simon Marlow <marlowsd@gmail.com>**20110131123433
827 Ignore-this: f2e009eaa66a14a7c8ec6acc7a4bbdb1
828]
829[Fix formatting glitch in documentation
830simonpj@microsoft.com**20110128115400
831 Ignore-this: 6c410ed19956feac7e0cf68bb40b40b1
832]
833[Fix warnings
834Simon Marlow <marlowsd@gmail.com>**20110128103639
835 Ignore-this: aa7f2c9f9b91f9dabc7b5d5ea26121fd
836]
837[Merge in new code generator branch.
838Simon Marlow <marlowsd@gmail.com>**20110124121650
839 Ignore-this: 7762f21082cb84ec94daaeefd70f5ef2
840 This changes the new code generator to make use of the Hoopl package
841 for dataflow analysis.  Hoopl is a new boot package, and is maintained
842 in a separate upstream git repository (as usual, GHC has its own
843 lagging darcs mirror in http://darcs.haskell.org/packages/hoopl).
844 
845 During this merge I squashed recent history into one patch.  I tried
846 to rebase, but the history had some internal conflicts of its own
847 which made rebase extremely confusing, so I gave up. The history I
848 squashed was:
849 
850   - Update new codegen to work with latest Hoopl
851   - Add some notes on new code gen to cmm-notes
852   - Enable Hoopl lag package.
853   - Add SPJ note to cmm-notes
854   - Improve GC calls on new code generator.
855 
856 Work in this branch was done by:
857    - Milan Straka <fox@ucw.cz>
858    - John Dias <dias@cs.tufts.edu>
859    - David Terei <davidterei@gmail.com>
860 
861 Edward Z. Yang <ezyang@mit.edu> merged in further changes from GHC HEAD
862 and fixed a few bugs.
863]
864[Fix an egregious strictness analyser bug (Trac #4924)
865simonpj@microsoft.com**20110128080748
866 Ignore-this: 3bf533c3d30b45a8e78b1fec3d9634f
867 
868 The "virgin" flag was being threaded rather than treated
869 like an environment.  As a result, the second and subsequent
870 recursive definitions in a module were not getting a
871 correctly-initialised fixpoint loop, causing much worse
872 strictness analysis results.  Indeed the symptoms in
873 Trac #4924 were quite bizarre.
874 
875 Anyway, it's easily fixed.  Merge to stable branch.
876]
877[Refine incomplete-pattern checks (Trac #4905)
878simonpj@microsoft.com**20110127131304
879 Ignore-this: cf2e0852f20d1cadc6a2cba4272838f6
880 
881 The changes are:
882 
883 * New flag -fwarn-incomplete-uni-patterns, which checks for
884   incomplete patterns in (a) lambdas, (b) pattern bindings
885 
886 * New flag is not implied by -W or -Wall (too noisy; and many
887   libraries use incomplete pattern bindings)
888 
889 * Actually do the incomplete-pattern check for pattern bindings
890   (previously simply omitted)
891 
892 * Documentation for new flag
893]
894[Fix "make 1" etc following the build system changes
895Ian Lynagh <igloo@earth.li>**20110127001739
896 Ignore-this: 7ae0a41f2753d7740569f362a97ea5fb
897 The logic is now in mk/compiler-ghc.mk rather than being duplicated in
898 ghc/Makefile and compiler/Makefile.
899]
900[Fix vectorisation of recursive types
901Roman Leshchinskiy <rl@cse.unsw.edu.au>**20110126231843
902 Ignore-this: 983fc42a659be2e085da9b16f994aa2e
903]
904[Fix dependencies among specialisations for imported Ids
905simonpj@microsoft.com**20110126172112
906 Ignore-this: 364e09c11affe7bfe8f1b934ea28bbb6
907 
908 This was a subtle one (Trac #4903).  See
909   Note [Glom the bindings if imported functions are specialised]
910 in Speclialise.
911 
912 Fundamentally, a specialised binding for an imported Id was being
913 declared non-recursive, whereas in fact it can become recursive
914 via a RULE.  Once it's specified non-recurive the OccAnal pass
915 treats that as gospel -- and that in turn led to infinite inlining.
916 
917 Easily fixed by glomming all the specialised bindings in a Rec;
918 now the OccAnal will sort them out correctly.
919]
920[Fix bug in roughTopNames
921simonpj@microsoft.com**20110126171803
922 Ignore-this: eca8b144162f1bd94e2ccb433bca1e02
923 
924 roughTopNames was returning a name that in fact might be
925 "looked though" by the rule matcher. Result: a rule
926 that should match was being pre-emptively discarded.
927 
928 See Note [Care with roughTopName].
929 
930 Fixes a bug noticed by Pedro (Trac #4918).
931]
932[Comments only, plus a tiny bit of debug printing
933simonpj@microsoft.com**20110126171255
934 Ignore-this: f84364b2b90fc860e9289dd40d0395ac
935]
936[Comments only
937simonpj@microsoft.com**20110126171235
938 Ignore-this: 79059977f82aaac7f9714ad09e820ea9
939]
940[Look through type synonyms when computing orphans
941simonpj@microsoft.com**20110126171229
942 Ignore-this: 6dfc45dae3a94cdb0022b2d21d6e09f6
943 
944 I renamed functions tyClsNamesOfTypes to oprhNamesOfType,
945 because it's only used in that capacity, and we therefore
946 want to look through type synonyms.  Similarly exprOrphNames.
947 
948 This fixes Trac #4912.
949]
950[Bleat a bit more informatively in unionLists
951simonpj@microsoft.com**20110126171030
952 Ignore-this: 80b276aa3d7971c6d7802b5f6b522d2e
953]
954[Keep separate linker flags, for when we want to link with gcc or ld
955Ian Lynagh <igloo@earth.li>**20110124233121]
956[Fix validate on OS X 64
957Ian Lynagh <igloo@earth.li>**20110124183618]
958[Split main/GHC into GHC and GhcMake
959simonpj@microsoft.com**20110125161632
960 Ignore-this: 502ea034de77ecd81173161836d78287
961 
962 There are two things going on in main/GHC.hs.
963   * It's the root module of the GHC package
964   * It contains lots of stuff for --make
965 It is also gigantic (2.7k lines)
966 
967 This patch splits it into two
968   * GHC.hs is the root module for the GHC package
969       (1.3k lines)
970   * GhcMake.hs contains the stuff for --make
971       (1.4k lines)
972 
973 Happily the functional split divided it almost
974 exactly in half.
975 
976 This is a pure refactoring.  There should be no
977 behavioural change.
978]
979[Comments only
980simonpj@microsoft.com**20110125131115
981 Ignore-this: 7ec4e97a481d06894de940aba59c575d
982]
983[Fix Trac #3717 by making exprOkForSpeculation a bit cleverer
984simonpj@microsoft.com**20110125110525
985 Ignore-this: 13b606b05da69c29bf53aaf408fd602
986 
987 The main change here is to do with dropping redundant seqs.
988 See Note [exprOkForSpeculation: case expressions] in CoreUtils.
989]
990[Improve dataToTag# magic
991simonpj@microsoft.com**20110125110418
992 Ignore-this: 11fdb265e030dec4d5b13ed6b16c9761
993 
994 dataToTag# is a bit unsatisfactory because it requires
995 its argument to be evaluated, and we don't have a good
996 way to enforce that. This patch adds some comments, and
997 makes exprOkForSpeculation a bit less picky in the case
998 of dataToTag# (since the argument may, in fact, not be
999 eval'd).
1000]
1001[Fix Trac #4917: try a bit harder to unify on-the-fly
1002simonpj@microsoft.com**20110125110112
1003 Ignore-this: e96e0a19ab8517d4ba648efe91f6b379
1004 
1005 This is generally a modest improvement but, more important,
1006 it fixes a "unify-under-forall" problem.  See Note [Avoid deferring].
1007 
1008 There's still a lurking unsatisfactory-ness in that we can't
1009 defer arbitrary constraints that are trapped under a forall.
1010]
1011[DPH options updated
1012Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20110124043617
1013 Ignore-this: 6b7d2949b75f9c923f279c1178d2d042
1014 - '-Odph' is now '-O2 -fsimplifier-phases=3 -fsimplifier-iterations=20'
1015 - The new option '-fdph-none' is the default; it indicates that no DPH
1016   backend is selected and is the only valid option if the DPH libraries
1017   are not installed.  If vectorisation is attempted with -fdph-none a
1018   suitable error message is generated.
1019 - Hence, '-fdph-par' (or '-fdph-seq') needs to be explicitly selected
1020   when using vectorisation and when linking vectorised code.  (There
1021   seems to be no elegant way to avoid that.)
1022]
1023[Add build system profiling to build system
1024Ian Lynagh <igloo@earth.li>**20110123151408
1025 Ignore-this: 75717810be32d60323980f9fd1baa853
1026]
1027[Fix ghci in stage3
1028Ian Lynagh <igloo@earth.li>**20110123120232]
1029[Remove use of non-existent $$(dir) variable in the rts ghc.mk
1030Ian Lynagh <igloo@earth.li>**20110123021815]
1031[Add some missing dependencies
1032Ian Lynagh <igloo@earth.li>**20110123004208]
1033[Tweak some deps to avoid multiple $(wildcard ...)s
1034Ian Lynagh <igloo@earth.li>**20110123001045
1035 Ignore-this: 38e53cb6f6b4f27c771ae0ed341f8958
1036 Note that some things depending on the rts/includes header files now
1037 depend on more files: They used to include depend on includes/*.h, but
1038 now they also depend on header files in subdirectories. As far as I can
1039 see this was a bug.
1040]
1041[Use := when assigning the result of $(wildcard ...)
1042Ian Lynagh <igloo@earth.li>**20110122224532
1043 Ignore-this: 67e2ca2ffbcffb5b7f55bd60c17fc6cf
1044 Avoids repeated evaluations of things that need system calls etc
1045]
1046[Simplify the build system, and remove 2 phases
1047Ian Lynagh <igloo@earth.li>**20110122190928
1048 Ignore-this: 7b6184088befcbc44ea47b2f4abf85a9
1049 From
1050     http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture/Idiom/PhaseOrdering
1051 
1052 Phase 0:
1053     Includes: package-data.mk files for things built by the
1054               bootstrapping compiler.
1055     Builds:   the dependency files for hsc2hs and genprimopcode. We need
1056               to do this now, as hsc2hs needs to be buildable in phase 1's
1057               includes (so that we can make the hpc library's .hs source
1058               files, which in turn is necessary for making its dependency
1059               files), and genprimopcode needs to be buildable in phase 1's
1060               includes (so that we can make the primop-*.hs-incl files,
1061               which are sources for the stage1 compiler library, and thus
1062               necessary for making its dependency files).
1063 Phase 1:
1064     Includes: dependency files for things built by the bootstrapping
1065               compiler.
1066     Builds:   package-data.mk files for everything else. Note that this
1067               requires configuring the packages, which means telling cabal
1068               which ghc to use, and thus the stage1 compiler gets built
1069               during this phase.
1070 Phase "":
1071     Includes: dependency files for everything else.
1072     Builds:   Everything else.
1073]
1074[Manually control more of the Cabal flags for the compiler and ghc packages
1075Ian Lynagh <igloo@earth.li>**20110121230552
1076 Ignore-this: 652b5f6327d246d7e2e47acbca614df2
1077 For some reason the Windows HEAD builder has started thinking the ghci
1078 flag should be on in stage 1. This should fix it, and generally make
1079 things a little more resilient.
1080]
1081[Remove some hardcoded makefile settings
1082Ian Lynagh <igloo@earth.li>**20110121230245
1083 Ignore-this: 6b1b68aebdfbe02c15518985d2ea7559
1084 Now that we used cabal to configure the ghc-bin package they are no
1085 longer needed.
1086]
1087[tweak newArray# documentation again
1088Simon Marlow <marlowsd@gmail.com>**20110119140633
1089 Ignore-this: ceee33428dbad7e0f5eabfa0a2590466
1090]
1091[Fix OSTYPE test
1092Ian Lynagh <igloo@earth.li>**20110120000308
1093 Ignore-this: 8fa5d5c03297cb507a166bd85675145c
1094]
1095[Comments only
1096simonpj@microsoft.com**20110119222247
1097 Ignore-this: ea531428e9093ecedb895735ed537791
1098]
1099[Add OSTYPE build-system variable, and use it
1100simonpj@microsoft.com**20110113155023
1101 Ignore-this: c4a75f0bb27a680924e57ca7075ec116
1102 
1103 The use is in install.mk.in, where we need to know when
1104 we're on Cygwin.
1105 
1106 This fixes the build on my Windows box, where I have
1107 both Msys and Cygwin.
1108]
1109[Remove an extraneous comma that stopped ghc-cabal from building
1110Ian Lynagh <igloo@earth.li>**20110119222359]
1111[Move some make variables around
1112Ian Lynagh <igloo@earth.li>**20110119221545
1113 Ignore-this: c57c93f39d72c3baef7c5f466861dd5b
1114]
1115[Remove a debugging 'info'
1116Ian Lynagh <igloo@earth.li>**20110119203305
1117 Ignore-this: ea912ba205eaae1d2bcf0cce7c13628d
1118]
1119[Move the PACKAGE_MAGIC evaluation inside package-data.mk
1120Ian Lynagh <igloo@earth.li>**20110119203229
1121 Ignore-this: 497c4e83ae75089c24d6c794c4e2891f
1122]
1123[Fix libraries/index.html's haddock dependency on Windows
1124Ian Lynagh <igloo@earth.li>**20110119172310]
1125[Add configure phases for the stage 3 compiler
1126Ian Lynagh <igloo@earth.li>**20110119130629]
1127[Include kfreebsdgnu in the list of Target Platforms.
1128Marco Silva <marcot@marcot.eti.br>**20110118222352
1129 Ignore-this: 759482baf33903b98cd837636a3f5328
1130]
1131[Fix documentation bug: newArray# accepts word count, not byte count.
1132Edward Z. Yang <ezyang@mit.edu>**20110118221834
1133 Ignore-this: 8daab134bf72a740b89d273fb4e983d5
1134]
1135[Update the location of libffi.dll.a
1136Ian Lynagh <igloo@earth.li>**20110118164225
1137 As far as I can see this has been wrong for some time, but only bit
1138 recently.
1139]
1140[Update the generics docs; pointed out by Christian Maeder
1141Ian Lynagh <igloo@earth.li>**20110117214632]
1142[ghc-cabal now adds the language flag being used
1143Ian Lynagh <igloo@earth.li>**20110117184833
1144 Ignore-this: 8198892ef7f8009561d3181425cde942
1145 This means we get -XHaskell98 added to the list of flags, just like we
1146 would if we were building with Cabal.
1147]
1148[Reinstate the OS X flags in the LDFLAGS etc variables
1149Ian Lynagh <igloo@earth.li>**20110117200540
1150 Ignore-this: 9261baa1843100f65b02fb91c1a0d225
1151 I expect this will fix:
1152 http://www.haskell.org/pipermail/cvs-ghc/2011-January/059098.html
1153]
1154[Add NondecreasingIndentation extension to ghc-bin
1155Ian Lynagh <igloo@earth.li>**20110117200427
1156 Ignore-this: b6b029ee6dfbda482c91d17e835f9000
1157]
1158[Change an "if ... else return ()" into a "when"
1159Ian Lynagh <igloo@earth.li>**20110117191714
1160 Ignore-this: 7de58b728e4fce7f86d7d24a3089e6c7
1161]
1162[Add NondecreasingIndentation to the list of extensions in ghc-pkg
1163Ian Lynagh <igloo@earth.li>**20110117190610
1164 Ignore-this: 20ce8144b7b64d1f67de2f6983717da3
1165]
1166[Add NondecreasingIndentation to the list of extensions in the ghc package
1167Ian Lynagh <igloo@earth.li>**20110117190404
1168 Ignore-this: 516b45e93c1b3bbb66da5414d9aabef1
1169]
1170[Fix deps on the ghc package
1171Ian Lynagh <igloo@earth.li>**20110117173010
1172 The standard libraries/$depname scheme doesn't apply, so we need to
1173 handle it specially.
1174]
1175[Tidy up gmp cleaning
1176Ian Lynagh <igloo@earth.li>**20110117121155
1177 Ignore-this: 61d9a57d14b70732f62d6b2c8d6d197a
1178]
1179[Remove redundant libraries/cabal-bin.hs
1180Ian Lynagh <igloo@earth.li>**20110116194919
1181 Ignore-this: 13b4a8d26fa06ec952351603c3bb40ee
1182]
1183[Turn off dtrace unless you override USE_DTRACE
1184Ian Lynagh <igloo@earth.li>**20110116180306
1185 Ignore-this: beafc2002091fa7f0e66666004c870a5
1186 There are problems with dtrace on 64bit 10.5. For now at least, we
1187 just turn dtrace off unless you override USE_DTRACE
1188]
1189[Simplify a bit of makefile
1190Ian Lynagh <igloo@earth.li>**20110116175218
1191 Ignore-this: 18f02e40e36eca2e2cab79c152c72541
1192]
1193[Tweak Windows phase ordering
1194Ian Lynagh <igloo@earth.li>**20110116173459
1195 Ignore-this: bb8a70741be4574edc149349acd0f4be
1196]
1197[Handle dependencies of programs on libraries correctly
1198Ian Lynagh <igloo@earth.li>**20110116155627]
1199[It's not clear if LDFLAGS flags will be given to gcc or ld,
1200Ian Lynagh <igloo@earth.li>**20110116151230
1201 Ignore-this: a6a2d0b1f550c922c32f6f252e4e3285
1202 and they accept different flags, so for now do nothing
1203]
1204[Fix cross-package dependency generation on Windows
1205Ian Lynagh <igloo@earth.li>**20110116150901
1206 Ignore-this: f78baaa7074ca36a6a4ff8a7e6f2e35
1207]
1208[Add some Windows-only CONFIGURE_PHASEs
1209Ian Lynagh <igloo@earth.li>**20110116150826
1210 Ignore-this: abf1bf498609107eb206b22d483613de
1211]
1212[Simplify, and future-proof, a dependency in the build system
1213Ian Lynagh <igloo@earth.li>**20110116020035
1214 Ignore-this: d089133430828d041b3601b1e9c8b22a
1215]
1216[Remove an unnecessary phase, and some unnecessary deps
1217Ian Lynagh <igloo@earth.li>**20110116015943
1218 Ignore-this: e649b072d006db5db97aee26d3753f65
1219 now that cross-package deps are tracked correctly.
1220]
1221[We can now pass -include-pkg-deps to the bootstrapping compiler
1222Ian Lynagh <igloo@earth.li>**20110116015714
1223 Ignore-this: bdfed941124bb93111f117800be5f2d8
1224]
1225[Remove some flags that are redundant now GHC gets configured by Cabal
1226Ian Lynagh <igloo@earth.li>**20110116003154
1227 Ignore-this: 43a023c5103b72c91d53cf3bed7a4c50
1228]
1229[Change some HC_OPTS var handling
1230Ian Lynagh <igloo@earth.li>**20110116003104
1231 Ignore-this: 629f4a3d37028f71a477c22ed4e8591e
1232 In particular, this means ghc gets built with -rtsopt, -threaded, etc again.
1233]
1234[Remove some unnecessary workarounds
1235Ian Lynagh <igloo@earth.li>**20110116002803
1236 Ignore-this: 5ecc62f765522c08c44aa0814c5b840e
1237 We can now rely on cross-package deps working properly, as we require
1238 GHC 6.12.
1239]
1240[Tidy up a bit
1241Ian Lynagh <igloo@earth.li>**20110116001121
1242 Ignore-this: a2baabc6da0cf2877507b7833d5b0fc7
1243]
1244[Build system improvements
1245Ian Lynagh <igloo@earth.li>**20110115231927
1246 Ignore-this: 92ea6514addc8aa8734d7e0eb61b50cb
1247 We no longer use dummy-ghc; instead we don't configure most packages
1248 until the stage1 compiler is available.
1249   
1250 We also now use Cabal for building the ghc-bin package.
1251 
1252 There are a couple more sanity checks too.
1253]
1254[Whitespace tweak
1255Ian Lynagh <igloo@earth.li>**20110115214149
1256 Ignore-this: 3e564566f311be473e94f6af609bdeaa
1257]
1258[Fix libffi build rules
1259Ian Lynagh <igloo@earth.li>**20110115202104
1260 Ignore-this: 57e1763d2079301b0165be7deba29c85
1261 Fixes a rare race when both libHSffi.a and libHSffi_p.a were being built
1262 at the same time:
1263 
1264 "cp" libffi/dist-install/build/libffi.a libffi/dist-install/build/libHSffi.a
1265 "cp" libffi/dist-install/build/libffi.a libffi/dist-install/build/libHSffi.a
1266 "cp" libffi/dist-install/build/libffi.so libffi/dist-install/build/libHSffi-ghc7.1.20110115.so
1267 cp: cannot create regular file `libffi/dist-install/build/libHSffi.a': File exists
1268]
1269[Fix Trac #4874: specialisation of INLINABLE things
1270simonpj@microsoft.com**20110114163227
1271 Ignore-this: b90543117ebddaf3bbeeaf0af0c18699
1272 
1273 Johan discovered that when INLINABLE things are specialised
1274 bad things can happen. This patch implements a hack -- but
1275 it's a simple hack and it solves the problem.
1276 
1277 See Note [Inline specialisations].
1278 
1279 The hack part is that really INLINABLE should not cause *any* loss
1280 optimisation, and it does; see Note [Don't w/w INLINABLE things] in
1281 WorkWrap.
1282]
1283[Comments only
1284simonpj@microsoft.com**20110114162959
1285 Ignore-this: f76d4d8f527c3fcd2598ec8cc5fd3049
1286]
1287[Fix a buglet in postInlineUnconditionally
1288simonpj@microsoft.com**20110114162927
1289 Ignore-this: 7a7b8610ef863907843d4ae36a8a1a3c
1290 
1291 Under obscure circumstances (actually only shown up when fixing something
1292 else) it was possible for a variable binding to be discarded although
1293 it was still used.  See Note [Top level and postInlineUnconditionally]
1294]
1295[cope with empty libraries/stamp directory (in git repo)
1296Simon Marlow <marlowsd@gmail.com>**20110114142406
1297 Ignore-this: 6e95c44368d784f86a0c1c1d1e24d810
1298]
1299[add .gitignore
1300Simon Marlow <marlowsd@gmail.com>**20110114142353
1301 Ignore-this: 23d7cabd2b04eedfe4c33ad94a120474
1302]
1303[Fix longstanding bug in C-- inlining for functions calls.
1304Edward Z. Yang <ezyang@mit.edu>**20110113130654
1305 Ignore-this: 79001003b1f3cc5005207ccfed980c21
1306]
1307[fix for remote repos without -r
1308Simon Marlow <marlowsd@gmail.com>**20110113131147
1309 Ignore-this: 3ddd8a4c616cad01a2dbdb500fb54279
1310]
1311[add a version of packages that stores all the repos in git
1312Simon Marlow <marlowsd@gmail.com>**20110113111733
1313 Ignore-this: fcca2eb2e753ee20bb5abce7f30f5205
1314]
1315[add the -r flag from darcs-all
1316Simon Marlow <marlowsd@gmail.com>**20110113111654
1317 Ignore-this: ada88377bd95ebb9c668dd48954f321e
1318]
1319[Make Template Haskell classInstances function return [ClassInstance]
1320simonpj@microsoft.com**20110113111421
1321 Ignore-this: d14381f0a94170965414dd8724188356
1322 
1323 This is a recently-introduce function, which was returning
1324 a [Name], being the names of the dfuns.  But what you really
1325 want (obviously!) is the ClassInstances, and we have a TH type
1326 for that.
1327 
1328 This is an API change, so don't merge into GHC 7.0.  But it's
1329 a new part of TH which is still settling down.
1330 
1331 Fixes Trac #4863.
1332]
1333[Improve the finder's error messages
1334simonpj@microsoft.com**20110113111233
1335 Ignore-this: ec4819b0a44af9fd03dc0a8b8e13699d
1336 
1337 I'd done all the work to add fuzzy-match suggestions, but they
1338 weren't really being used!  Here's what you get now
1339 
1340    module Foo where
1341     import Data.Lst
1342 
1343 Foo.hs:3:1:
1344     Failed to load interface for `Data.Lst'
1345     Perhaps you meant
1346       Data.List (from base)
1347       Data.List (needs flag -package haskell2010-1.0.0.0)
1348       Data.Int (needs flag -package haskell2010-1.0.0.0)
1349     Use -v to see a list of the files searched for.
1350]
1351[White space only
1352simonpj@microsoft.com**20110113093931
1353 Ignore-this: 4e46acca5241615a3283996052a634a
1354]
1355[Produce an error message, not a crash, for HsOpApp with non-var operator
1356simonpj@microsoft.com**20110112170719
1357 Ignore-this: df0f6f2e3318f9c33a714609019b0262
1358 
1359 Fixes Trac #4877.
1360]
1361[update to work with current packages file format
1362Simon Marlow <marlowsd@gmail.com>**20110112160224
1363 Ignore-this: da73498734aadbfbf0a31389a9dc44d
1364]
1365[In configure, test that GHC generates code for the correct platform (#4819)
1366Simon Marlow <marlowsd@gmail.com>**20110107163541
1367 Ignore-this: 29541d3896f9c9bcf791510edae70254
1368 Patch supplied by the bug reporter, tidied up by me.
1369 
1370 $ ./configure --with-ghc=$HOME/fp/bin/i386-unknown-linux/ghc --build=x86_64-unknown-linux
1371 checking for gfind... no
1372 checking for find... /usr/bin/find
1373 checking for sort... /usr/bin/sort
1374 checking for GHC version date... inferred 7.1.20110107
1375 checking version of ghc... 7.0.1
1376 checking build system type... x86_64-unknown-linux-gnu
1377 checking host system type... x86_64-unknown-linux-gnu
1378 checking target system type... x86_64-unknown-linux-gnu
1379 Host platform inferred as: i386-unknown-linux
1380 Target platform inferred as: i386-unknown-linux
1381 This GHC (/home/simonmar/fp/bin/i386-unknown-linux/ghc) does not generate code for the build platform
1382    GHC target platform    : i386-unknown-linux
1383    Desired build platform : x86_64-unknown-linux
1384]
1385[Major refactoring of the type inference engine
1386simonpj@microsoft.com**20110112145604
1387 Ignore-this: 6a7fc90c9b798e89505606726cc8090e
1388 
1389 This patch embodies many, many changes to the contraint solver, which
1390 make it simpler, more robust, and more beautiful.  But it has taken
1391 me ages to get right. The forcing issue was some obscure programs
1392 involving recursive dictionaries, but these eventually led to a
1393 massive refactoring sweep.
1394 
1395 Main changes are:
1396  * No more "frozen errors" in the monad.  Instead "insoluble
1397    constraints" are now part of the WantedConstraints type.
1398 
1399  * The WantedConstraint type is a product of bags, instead of (as
1400    before) a bag of sums.  This eliminates a good deal of tagging and
1401    untagging.
1402 
1403  * This same WantedConstraints data type is used
1404      - As the way that constraints are gathered
1405      - As a field of an implication constraint
1406      - As both argument and result of solveWanted
1407      - As the argument to reportUnsolved
1408 
1409  * We do not generate any evidence for Derived constraints. They are
1410    purely there to allow "impovement" by unifying unification
1411    variables.
1412 
1413  * In consequence, nothing is ever *rewritten* by a Derived
1414    constraint.  This removes, by construction, all the horrible
1415    potential recursive-dictionary loops that were making us tear our
1416    hair out.  No more isGoodRecEv search either. Hurrah!
1417 
1418  * We add the superclass Derived constraints during canonicalisation,
1419    after checking for duplicates.  So fewer superclass constraints
1420    are generated than before.
1421 
1422  * Skolem tc-tyvars no longer carry SkolemInfo.  Instead, the
1423    SkolemInfo lives in the GivenLoc of the Implication, where it
1424    can be tidied, zonked, and substituted nicely.  This alone is
1425    a major improvement.
1426 
1427  * Tidying is improved, so that we tend to get t1, t2, t3, rather
1428    than t1, t11, t111, etc
1429 
1430    Moreover, unification variables are always printed with a digit
1431    (thus a0, a1, etc), so that plain 'a' is available for a skolem
1432    arising from a type signature etc. In this way,
1433      (a) We quietly say which variables are unification variables,
1434          for those who know and care
1435      (b) Types tend to get printed as the user expects.  If he writes
1436              f :: a -> a
1437              f = ...blah...
1438          then types involving 'a' get printed with 'a', rather than
1439          some tidied variant.
1440 
1441  * There are significant improvements in error messages, notably
1442    in the "Cannot deduce X from Y" messages.
1443]
1444[Fix installation on cygwin
1445Ian Lynagh <igloo@earth.li>**20110111194838
1446 Ignore-this: fe923d0619da3bd3a34968106c92fdab
1447]
1448[Do dependency analysis when kind-checking type declarations
1449simonpj@microsoft.com**20110110110351
1450 Ignore-this: 17a8dee32694d3e1835cf7bb02d3abb5
1451 
1452 This patch fixes Trac #4875.  The main point is to do dependency
1453 analysis on type and class declarations, and kind-check them in
1454 dependency order, so as to improve error messages.
1455 
1456 This patch means that a few programs that would typecheck before won't
1457 typecheck any more; but before we were (naughtily) going beyond
1458 Haskell 98 without any language-extension flags, and Trac #4875
1459 convinces me that doing so is a Bad Idea.
1460 
1461 Here's an example that won't typecheck any more
1462        data T a b = MkT (a b)
1463        type F k = T k Maybe
1464 
1465 If you look at T on its own you'd default 'a' to kind *->*;
1466 and then kind-checking would fail on F.
1467 
1468 But GHC currently accepts this program beause it looks at
1469 the *occurrences* of T.
1470]
1471[Move imports around (no change in behaviour)
1472simonpj@microsoft.com**20110110105647
1473 Ignore-this: d618cabbc52be7d7968de1e0bdd44082
1474]
1475[Make fuzzy matching a little less eager for short identifiers
1476simonpj@microsoft.com**20110107102855
1477 Ignore-this: a753643e88433d74b44a480cc0f4170c
1478 
1479 For single-character identifiers we now don't make any suggestions
1480 See comments in Util.fuzzyLookup
1481]
1482[Fix Trac #4870: get the inlining for an imported INLINABLE Id
1483simonpj@microsoft.com**20110105002712
1484 Ignore-this: 60c0192eb48590c2e6868d15ba8f84ce
1485 
1486 We need the unfolding even for a *recursive* function (indeed
1487 that's the point) and I was using the wrong function to get it
1488 (idUnfolding rather than realIdUnfolding).
1489]
1490[Rejig the includes/ installation rules
1491Ian Lynagh <igloo@earth.li>**20110109181158
1492 They're a little nicer now, and a regression in the cygwin build is
1493 fixed (the $i in the destination wasn't surviving being passed through
1494 cygpath).
1495]
1496[Make DESTDIR an absolute path when installing; fixes #4883
1497Ian Lynagh <igloo@earth.li>**20110108171635]
1498[Add utils/ghc-cabal/Makefile
1499Ian Lynagh <igloo@earth.li>**20110108144049]
1500[Remove redundant import
1501Ian Lynagh <igloo@earth.li>**20110108130047
1502 Ignore-this: 1c7fdec77b48319c845c9593b5fb94af
1503]
1504[Improve error message of :set in ghci (ticket #4190).
1505Michal Terepeta <michal.terepeta@gmail.com>**20101130211505
1506 Ignore-this: ccc8a0816a900ba8c4a966285a465b23
1507]
1508[Improve error message when importing data constructors (ticket #4058).
1509Michal Terepeta <michal.terepeta@gmail.com>**20101127211338
1510 Ignore-this: 3289a08f0391dd90dfef2e0403a04ccd
1511]
1512[catch SIGTSTP and save/restore terminal settings (#4460)
1513Simon Marlow <marlowsd@gmail.com>**20110107124042
1514 Ignore-this: 38f7f27bf75178899f466404c048241d
1515 As far as I can tell, it is the responsibility of the program to save
1516 and restore its own terminal settings across a suspend/foreground, the
1517 shell doesn't do it (which seems odd).  So I've added a signal handler
1518 for SIGTSTP to the RTS which will save and restore the terminal
1519 settings iff we modified them with hSetBuffering or hSetEcho (we
1520 already restore them at exit time in these cases).
1521]
1522[comment updates
1523Simon Marlow <marlowsd@gmail.com>**20110107094236
1524 Ignore-this: c2b30b0c98645e2847a2749c7fdc167f
1525]
1526[On Cygwin, use a Cygwin-style path for /bin/install's destination
1527Ian Lynagh <igloo@earth.li>**20110106223030
1528 
1529 cygwin's /bin/install doesn't set file modes correctly if the
1530 destination path is a C: style path:
1531 
1532 $ /bin/install -c -m 644 foo /cygdrive/c/cygwin/home/ian/foo2
1533 $ /bin/install -c -m 644 foo c:/cygwin/home/ian/foo3
1534 $ ls -l foo*
1535 -rw-r--r-- 1 ian None 0 2011-01-06 18:28 foo
1536 -rw-r--r-- 1 ian None 0 2011-01-06 18:29 foo2
1537 -rwxrwxrwx 1 ian None 0 2011-01-06 18:29 foo3
1538 
1539 This causes problems for bindisttest/checkBinaries.sh which then
1540 thinks that e.g. the userguide HTML files are binaries.
1541 
1542 We therefore use a /cygdrive path if we are on cygwin
1543]
1544[Fix mkUserGuidePart program name on Windows
1545Ian Lynagh <igloo@earth.li>**20110106143707]
1546[add comment to remind people to update driver/gcc/gcc.c
1547Simon Marlow <marlowsd@gmail.com>**20110106152402
1548 Ignore-this: c07d7ac11eb9221ef821f78aab1807cb
1549]
1550[use Win32 CreateProcess() rather than mingw spawnv() (#4531)
1551Simon Marlow <marlowsd@gmail.com>**20110106133834
1552 Ignore-this: 4c0947853549dad034622c044391af6c
1553]
1554[update paths now that we upgraded gcc to 4.5.0
1555Simon Marlow <marlowsd@gmail.com>**20110106133729
1556 Ignore-this: f8f9bcad984fdd472e0ae958b66bea9d
1557]
1558[fix markup
1559Simon Marlow <marlowsd@gmail.com>**20110106093152
1560 Ignore-this: 555b6e39ae6b5a177b03c5edffc169ab
1561]
1562[fix up multi-line GHCi patch (#4316)
1563Simon Marlow <marlowsd@gmail.com>**20110105154548
1564 Ignore-this: 53d5d489bd2a792c01f2cc56a11f3ce6
1565]
1566[multiline commands in GHCi #4316
1567Vivian McPhail <haskell.vivian.mcphail@gmail.com>**20101105051308
1568 This patch adds support for multiline commands in GHCi.
1569 
1570 The first line of input is lexed.  If there is an active
1571 layout context once the lexer reaches the end of file, the
1572 user is prompted for more input.
1573 
1574 Multiline input is exited by an empty line and can be escaped
1575 with a user interrupt.
1576 
1577 Multiline mode is toggled with `:set +m`
1578]
1579[Replace a #if with a Haskell conditional
1580Ian Lynagh <igloo@earth.li>**20110105183011
1581 Ignore-this: f08f3a4356586efab2725ad8704b2eba
1582]
1583[Whitespace only in X86.Ppr
1584Ian Lynagh <igloo@earth.li>**20110105171124]
1585[Fix error compiling AsmCodeGen.lhs for PPC Mac (unused makeFar addr)
1586naur@post11.tele.dk**20101219213555
1587 Ignore-this: ab25d5f2e2ebe163547d5babaf4b1dbf
1588]
1589[Define cTargetArch and start to use it rather than ifdefs
1590Ian Lynagh <igloo@earth.li>**20110104220013
1591 Using Haskell conditionals means the compiler sees all the code, so
1592 there should be less rot of code specific to uncommon arches. Code
1593 for other platforms should still be optimised away, although if we want
1594 to support targetting other arches then we'll need to compile it
1595 for-real anyway.
1596]
1597[Fix error compiling AsmCodeGen.lhs for PPC Mac (rtsPackageId)
1598naur@post11.tele.dk**20101219212530
1599 Ignore-this: 946f6d3e0d3c3ddf2dc07b85e1f82d85
1600]
1601[Rename the c*Platform variables to c*PlatformString
1602Ian Lynagh <igloo@earth.li>**20110104210250]
1603[Fix #4829 (build does not respect --with-gcc option)
1604gwright@antiope.com**20101221133233
1605 Ignore-this: 37918feb82f911c2beb75915b6e8b97b
1606 
1607 This patch fixes what seems to be the last problem with the --with-gcc
1608 option.  On OS X, we need to pass the path to gcc to dtrace as the
1609 preprocessor.  (Internally, dtrace on OS X sets the default preprocessor
1610 to /usr/bin/gcc.)  ATM, dtrace is only supported on OS X, so we don't
1611 need any conditionalization.  If dtrace is ported to other platforms,
1612 we might need to change this. However, usage on other platforms will
1613 probably be similar to OS X, since many of Apple's changes are to
1614 use the gnu toolchain instead of the Sun toolchain.
1615   
1616]
1617[Drop a seven years old workaround for happy
1618Matthias Kilian <kili@outback.escape.de>**20101231192343
1619 Ignore-this: a9348c91292c113bd967464fbe859f1f
1620]
1621[Add gcc and ld flags to --info output
1622Ian Lynagh <igloo@earth.li>**20101220173520]
1623[Fix Trac #4525: report type errors in terms of the immediate type synonym
1624simonpj@microsoft.com**20101224082520
1625 Ignore-this: a3bd076bfe0e1c6f575b106f77f326c6
1626 
1627 This small change means that if you have
1628      type Age = Int
1629 and you try to unify Age and Bool, you'll get a complaint about
1630 not matching Age and Bool, rather than Int and Bool.  See the notes
1631 with Trac #4525
1632]
1633[Comments only
1634simonpj@microsoft.com**20101224082310
1635 Ignore-this: 1f69fa3244663b653607093efcdf7b0
1636]
1637[Implement fuzzy matching for the Finder
1638simonpj@microsoft.com**20101222175400
1639 Ignore-this: 4dfbbc07bcb59c5f4cee9a902c89d63e
1640 
1641 ..so that you get a more helpful message when
1642 you mis-spell a module name in an 'import'.
1643 
1644 Validates, but not fully tested.
1645 
1646 Based on Max's patch in Trac #2442, but heavily refactored.
1647]
1648[Implement fuzzy matching for the renamer
1649simonpj@microsoft.com**20101222175306
1650 Ignore-this: 66478736249de793a61612f184d484b0
1651 
1652 ...so that you get helpful suggestions when you mis-spell a name
1653 Based on Max's patch in Trac #2442, but heavily refactored.
1654]
1655[Add fuzzyLookup, a variant of fuzzyMatch
1656simonpj@microsoft.com**20101222175124
1657 Ignore-this: f0eafaf275b9edffee176f2fb4effe2f
1658 
1659 Plus, I changed quite a bit of layout to make the lines shorter.
1660]
1661[White space only
1662simonpj@microsoft.com**20101222175001
1663 Ignore-this: ddabada2042f4529e83d1c1ecb052306
1664]
1665[Layout and white space only
1666simonpj@microsoft.com**20101222174950
1667 Ignore-this: bf4e4fd9d39714d0461ab799d6b8ed91
1668]
1669[Tidy up rebindable syntax for MDo
1670simonpj@microsoft.com**20101222132210
1671 Ignore-this: b40ae8709e5a39d75f2b2813169af215
1672 
1673 For a long time an 'mdo' expression has had a SyntaxTable
1674 attached to it.  However, we're busy deprecating SyntaxTables
1675 in favour of rebindable syntax attached to individual Stmts,
1676 and MDoExpr was totally inconsistent with DoExpr in this
1677 regard.
1678 
1679 This patch tidies it all up.  Now there's no SyntaxTable on
1680 MDoExpr, and 'modo' is generally handled much more like 'do'.
1681 
1682 There is resulting small change in behaviour: now MonadFix is
1683 required only if you actually *use* recursion in mdo. This
1684 seems consistent with the implicit dependency analysis that
1685 is done for mdo.
1686 
1687 Still to do:
1688   * Deal with #4148 (this patch is on the way)
1689   * Get rid of the last remaining SyntaxTable on HsCmdTop
1690]
1691[Make the occurrence analyser track preInlineUnconditionally
1692simonpj@microsoft.com**20101222131156
1693 Ignore-this: 82edb06bcca6106327c2cce9d78c4e61
1694 
1695 This fixes a somewhat obscure situation in which an
1696 over-optimistic use of "occurs once" led to an infinite
1697 sequence of simplifier iterations.  Se Note [Cascading inlines]
1698 for the details.
1699 
1700 This showed up when compiling rather large DPH programs, which
1701 run lots of iterations of the simplifier, which in turn made
1702 compilation take much longer than necessary.
1703]
1704[Make mkDFunUnfolding more robust
1705simonpj@microsoft.com**20101222130854
1706 Ignore-this: 10bb4168a7080c843f6613043354151b
1707 
1708 It now uses tcSplitDFunTy, which is designed for the purpose and
1709 allows arbitrary argument types to the dfun, rather than
1710 tcSplitSigmaTy.  This generality is used in DPH, which has
1711 internally-generated dfuns with impliciation-typed arguments.
1712 
1713 To do this I had to make tcSplitDFunTy return the number of
1714 arguments, so there are some minor knock-on effects in other
1715 modules.
1716]
1717[Count allocations more accurately
1718Simon Marlow <marlowsd@gmail.com>**20101221152956
1719 Ignore-this: 33a4ed3a77bf35f232aa5c9078e8e380
1720 The allocation stats (+RTS -s etc.) used to count the slop at the end
1721 of each nursery block (except the last) as allocated space, now we
1722 count the allocated words accurately.  This should make allocation
1723 figures more predictable, too.
1724 
1725 This has the side effect of reducing the apparent allocations by a
1726 small amount (~1%), so remember to take this into account when looking
1727 at nofib results.
1728]
1729[Add a simple arity analyser
1730simonpj@microsoft.com**20101221165800
1731 Ignore-this: d5f3a9f56404d61bb7f374c875b42c49
1732 
1733 I've wanted to do this for ages, but never gotten around to
1734 it.  The main notes are in Note [Arity analysis] in SimplUtils.
1735 
1736 The motivating example for arity analysis is this:
1737 
1738   f = \x. let g = f (x+1)
1739           in \y. ...g...
1740 
1741 What arity does f have?  Really it should have arity 2, but a naive
1742 look at the RHS won't see that.  You need a fixpoint analysis which
1743 says it has arity "infinity" the first time round.
1744 
1745 This makes things more robust to the way in which you write code.  For
1746 example, see Trac #4474 which is fixed by this change.
1747 
1748 Not a huge difference, but worth while:
1749 
1750         Program           Size    Allocs   Runtime   Elapsed
1751 --------------------------------------------------------------------------------
1752             Min          -0.4%     -2.2%    -10.0%    -10.0%
1753             Max          +2.7%     +0.3%     +7.1%     +6.9%
1754  Geometric Mean          -0.3%     -0.2%     -2.1%     -2.2%
1755 
1756 I don't really believe the runtime numbers, because the machine was
1757 busy, but the bottom line is that not much changes, and what does
1758 change reliably (allocation and size) is in the right direction.
1759]
1760[Miscellaneous tidying up and refactoring
1761simonpj@microsoft.com**20101221161931
1762 Ignore-this: 7706d3065e6fc1defafe1cb8975b9969
1763]
1764[Comments only
1765simonpj@microsoft.com**20101221161918
1766 Ignore-this: 3e269a62da5cbec72d3e4b8328689628
1767]
1768[Single-method classes are implemented with a newtype
1769simonpj@microsoft.com**20101221161911
1770 Ignore-this: 4ca00f0b367fbeb8146146bc53116eb7
1771 
1772 This patch changes things so that such classes rely on the coercion
1773 mechanism for inlining (since the constructor is really just a cast)
1774 rather than on the dfun mechanism, therby removing some needless
1775 runtime indirections.
1776]
1777[For single-method classes use newtypes
1778simonpj@microsoft.com**20101101080736
1779 Ignore-this: d3851f92eb2385501411da57066b775e
1780 
1781 This clears up an awkward hack for exprIsConApp_maybe, and
1782 works better too.  See Note [Single-method classes] in
1783 TcInstDcls.
1784]
1785[boundTaskExiting: don't set task->stopped unless this is the last call (#4850)
1786Simon Marlow <marlowsd@gmail.com>**20101221115807
1787 Ignore-this: 7e1b990aa08b3ea9cdaa9385d8e41e48
1788 The bug in this case was that we had a worker thread making a foreign
1789 call which invoked a callback (in this case it was performGC, I
1790 think).  When the callback ended, boundTaskExiting() was setting
1791 task->stopped, but the Task is now per-OS-thread, so it is shared by
1792 the worker that made the original foreign call.  When the foreign call
1793 returned, because task->stopped was set, the worker was not placed on
1794 the queue of spare workers.  Somehow the worker woke up again, and
1795 found the spare_workers queue empty, which lead to a crash.
1796 
1797 Two bugs here: task->stopped should not have been set by
1798 boundTaskExiting (this broke when I split the Task and InCall structs,
1799 in 6.12.2), and releaseCapabilityAndQueueWorker() should not be
1800 testing task->stopped anyway, because it should only ever be called
1801 when task->stopped is false (this is now an assertion).
1802]
1803[releaseCapabilityAndQueueWorker: task->stopped should be false (#4850)
1804Simon Marlow <marlowsd@gmail.com>**20101221114911
1805 Ignore-this: b9c430a4bc9d2e0c7f4140d6d6971eae
1806]
1807[Fix Windows build
1808Simon Marlow <marlowsd@gmail.com>**20101221102101
1809 Ignore-this: f4773e06d030a335c9ac721af193b8d2
1810]
1811[raiseExceptionHelper: update tso->stackobj->sp before calling threadStackOverflow (#4845)
1812Simon Marlow <marlowsd@gmail.com>**20101221101411
1813 Ignore-this: 48495131fcc8c548882a470c2509f9f5
1814]
1815[add 'make re2' for rebuilding stage2 (similarly re1 and re3)
1816Simon Marlow <marlowsd@gmail.com>**20101221100254
1817 Ignore-this: 5c0afe3810b66a5b6e53a3a0fe933945
1818]
1819[fix warning
1820Simon Marlow <marlowsd@gmail.com>**20101216160415
1821 Ignore-this: 54a0eedfa5b7fc15c31dffffb1b10aad
1822]
1823[Small improvement to CorePrep
1824simonpj@microsoft.com**20101220123715
1825 Ignore-this: d0490225ed1895a1a5b97d786ed44260
1826 
1827 This change avoids unnecessary bindings. Example
1828 
1829      foo (let fn = \x.blah in
1830           in fn)
1831 
1832 We were generating something stupid like
1833 
1834     let fn = \x.blah in
1835     let fn' = \eta. fn eta
1836     in foo fn
1837 
1838 Now we don't.  The change is quite small.
1839 
1840 Thanks to Ben for showing me an example of this happening.
1841]
1842[Fix warnings
1843Ian Lynagh <igloo@earth.li>**20101219202711
1844 Ignore-this: 898015b086f684de5371bf97a23b9e2e
1845]
1846[Small refactoring
1847Ian Lynagh <igloo@earth.li>**20101219194032]
1848[Drop GhcWithLlvmCodeGen configuration bits
1849Matthias Kilian <kili@outback.escape.de>**20101219180239
1850 Ignore-this: 815ed46be7650792f85807c232edfcc
1851 The LLVM code generator is always built unconditionally, so both the
1852 configuration variable in mk/config.mk.in as well as the string in
1853 compilerInfo can be removed.
1854]
1855[Pass --hoogle to haddock; fixes trac #4521
1856Ian Lynagh <igloo@earth.li>**20101219125243]
1857[vectoriser: don't always pass superclass dictionaries to PA dfuns
1858Roman Leshchinskiy <rl@cse.unsw.edu.au>**20101218234838
1859 Ignore-this: 77c71976db8fc63aeb83f4abdba994d8
1860 
1861 This is just a guess at how this should work.
1862]
1863[vectoriser: delete dead code
1864Roman Leshchinskiy <rl@cse.unsw.edu.au>**20101218125350
1865 Ignore-this: 437eea71ad15ad5dc7902e596597c577
1866]
1867[vectoriser: adapt to new superclass story part I (dictionary construction)
1868Roman Leshchinskiy <rl@cse.unsw.edu.au>**20101218114953
1869 Ignore-this: 29c9aa46a1622beaae1dcefc4c482a30
1870]
1871[Replace uses of the old try function with the new one
1872Ian Lynagh <igloo@earth.li>**20101218230827
1873 Ignore-this: 5dd6c1a4142405aa1aab3fc4ec07eea6
1874]
1875[Replace uses of the old catch function with the new one
1876Ian Lynagh <igloo@earth.li>**20101218213350]
1877[Create ~/.ghc/ if it doesn't already exist; fixes trac #4522
1878Ian Lynagh <igloo@earth.li>**20101218184925]
1879[Document GADTSyntax extension
1880Ian Lynagh <igloo@earth.li>**20101218150121]
1881[Implement GADTSyntax extension
1882Ian Lynagh <igloo@earth.li>**20101218144550]
1883[Whitespace-only in rts/Linker.c
1884Ian Lynagh <igloo@earth.li>**20101217234124]
1885[Add some casts to fix warnings; patch from Greg Wright
1886Ian Lynagh <igloo@earth.li>**20101217223811]
1887[Put an up-to-date Makefile in docs/Makefile
1888Ian Lynagh <igloo@earth.li>**20101217223707
1889 It doesn't do anything useful yet, but it works with the new build system
1890]
1891[do not compile part of shared lib RTS with -fno-PIC on Solaris
1892Karel Gardas <karel.gardas@centrum.cz>**20101217085133
1893 Ignore-this: 8c8dbb45cac0578a58a3557f1e03c66
1894]
1895[provide shared libraries support on i386-unknown-solaris2 platform
1896Karel Gardas <karel.gardas@centrum.cz>**20101217084617
1897 Ignore-this: b6079c6a39a71200a1ee863573e40828
1898]
1899[fix CPP detection of Solaris in NCG
1900Karel Gardas <karel.gardas@centrum.cz>**20101217084510
1901 Ignore-this: 9d1ce59d469294eab1f0cbc697e48d69
1902]
1903[Fix checkBinaries on OS X
1904Ian Lynagh <igloo@earth.li>**20101216201121]
1905[Remove redundant HpcMap and HpcSet wrappers around Data.{Map,Set}
1906Ian Lynagh <igloo@earth.li>**20101216190605]
1907[Use "-perm -u+x" rather than "-executable" to find executables
1908Ian Lynagh <igloo@earth.li>**20101216145235
1909 On Windows, -executable is matching the html docs.
1910]
1911[Remove a debugging print
1912Ian Lynagh <igloo@earth.li>**20101216011459]
1913[__GLASGOW_HASKELL__ >= 604 is now always true
1914Ian Lynagh <igloo@earth.li>**20101215214656]
1915[Remove more dead code now we require GHC >= 6.12
1916Ian Lynagh <igloo@earth.li>**20101215213715]
1917[refactor and tidy up the section on RTS options
1918Simon Marlow <marlowsd@gmail.com>**20101216123151
1919 Ignore-this: 9cdafd687351d8a3ff879b64347f85d3
1920]
1921[Related to #4826: Some minor tweaks to the wording of the User Guide, section 4.16
1922Orphi <MathematicalOrchid@hotmail.com>**20101209170440
1923 Ignore-this: c3d942d58594be7d4c2eb4dc3a22f19
1924]
1925[FIX #4826 partial: Add -rtsopts and -with-rtsopts to User Guide section 4.11.6
1926Orphi <MathematicalOrchid@hotmail.com>**20101209165152
1927 Ignore-this: 2fc1c0abbb783695773ab0f9c013bbaa
1928]
1929[FIX #4826 partially: Change -f to -? in User Guide section F4.16
1930Orphi <MathematicalOrchid@hotmail.com>**20101209144148
1931 Ignore-this: 73410b350e80c8943ae722dec8dea44b
1932]
1933[fix #3910
1934Simon Marlow <marlowsd@gmail.com>**20101216114452
1935 Ignore-this: 410e95e188344a523520e192a3fb58ea
1936]
1937[remove an optimisation that wasn't
1938Simon Marlow <marlowsd@gmail.com>**20101215152656
1939 Ignore-this: e8413f58e8292c6e7463087d885b3a7d
1940]
1941[fix a warning
1942Simon Marlow <marlowsd@gmail.com>**20101216105723
1943 Ignore-this: ed6024378021a698ce638267ed3e21ab
1944]
1945[use EXTERN_INLINE instead of STATIC_INLINE to avoid some gcc warnings
1946Simon Marlow <marlowsd@gmail.com>**20101216105709
1947 Ignore-this: d4e1586cf318883a8e611b55df7fbf10
1948]
1949[remove dead code
1950Simon Marlow <marlowsd@gmail.com>**20101216104944
1951 Ignore-this: 97a04a3e37c1b28abc222a28bab3d17d
1952]
1953[fix retainer profiling: add missing case for TSO
1954Simon Marlow <marlowsd@gmail.com>**20101216103900
1955 Ignore-this: 11bda81ac159f638d719c1f6177702fb
1956]
1957[add a missing STACK case
1958Simon Marlow <marlowsd@gmail.com>**20101216102100
1959 Ignore-this: ac1c036b5cbf4209b1d10b6ab1c83f27
1960]
1961[Remove code that is dead now that we need >= 6.12 to build
1962Ian Lynagh <igloo@earth.li>**20101215201006]
1963[fix for large stack allocations
1964Simon Marlow <marlowsd@gmail.com>**20101215152419
1965 Ignore-this: d9aca17d68bd99214c126989a2318e79
1966]
1967[Implement stack chunks and separate TSO/STACK objects
1968Simon Marlow <marlowsd@gmail.com>**20101215120843
1969 Ignore-this: 73fa9460314d4a4e54456af12bef7960
1970 
1971 This patch makes two changes to the way stacks are managed:
1972 
1973 1. The stack is now stored in a separate object from the TSO.
1974 
1975 This means that it is easier to replace the stack object for a thread
1976 when the stack overflows or underflows; we don't have to leave behind
1977 the old TSO as an indirection any more.  Consequently, we can remove
1978 ThreadRelocated and deRefTSO(), which were a pain.
1979 
1980 This is obviously the right thing, but the last time I tried to do it
1981 it made performance worse.  This time I seem to have cracked it.
1982 
1983 2. Stacks are now represented as a chain of chunks, rather than
1984    a single monolithic object.
1985 
1986 The big advantage here is that individual chunks are marked clean or
1987 dirty according to whether they contain pointers to the young
1988 generation, and the GC can avoid traversing clean stack chunks during
1989 a young-generation collection.  This means that programs with deep
1990 stacks will see a big saving in GC overhead when using the default GC
1991 settings.
1992 
1993 A secondary advantage is that there is much less copying involved as
1994 the stack grows.  Programs that quickly grow a deep stack will see big
1995 improvements.
1996 
1997 In some ways the implementation is simpler, as nothing special needs
1998 to be done to reclaim stack as the stack shrinks (the GC just recovers
1999 the dead stack chunks).  On the other hand, we have to manage stack
2000 underflow between chunks, so there's a new stack frame
2001 (UNDERFLOW_FRAME), and we now have separate TSO and STACK objects.
2002 The total amount of code is probably about the same as before.
2003 
2004 There are new RTS flags:
2005 
2006    -ki<size> Sets the initial thread stack size (default 1k)  Egs: -ki4k -ki2m
2007    -kc<size> Sets the stack chunk size (default 32k)
2008    -kb<size> Sets the stack chunk buffer size (default 1k)
2009 
2010 -ki was previously called just -k, and the old name is still accepted
2011 for backwards compatibility.  These new options are documented.
2012]
2013[comments on SRC_HC_OPTS (#4829)
2014Simon Marlow <marlowsd@gmail.com>**20101214101340
2015 Ignore-this: e2bdec00f07b68e82837e77a4faf6514
2016]
2017[fix another sanity error, and refactor/tidy up
2018Simon Marlow <marlowsd@gmail.com>**20101209163919
2019 Ignore-this: d5ce953ac78e90fc0e22cd9848d26e2e
2020]
2021[Fix a bug in functorLikeTraverse, which was giving wrong answer for tuples
2022simonpj@microsoft.com**20101215123725
2023 Ignore-this: 560220e92429b5b1a6197a62f94a4ff2
2024 
2025 This bug led to Trac #4816, which is hereby fixed
2026]
2027[Improve printing for -ddump-deriv
2028simonpj@microsoft.com**20101215121955
2029 Ignore-this: 3181c948c4c2471bd99b32c5ee487a1e
2030]
2031[Tighten up what it means to be an "enumeration data constructor"
2032simonpj@microsoft.com**20101215121927
2033 Ignore-this: 459b3f9f7994a13094ed87b0768b33a8
2034 
2035 See Note [Enumeration types] in TyCon, and comments in Trac #4528
2036]
2037[Allow enumerations to have phantom arguments.
2038simonpj@microsoft.com**20101215121817
2039 Ignore-this: 32ef8cb869e6e38c2e43b3ae87b1b9a8
2040 
2041 The bytecode generator was being too eager.
2042 Fixes Trac #4528, or rather, a near variant.
2043]
2044[Instance declaration overlap allowed if *either* has -XOverlappingInstances
2045simonpj@microsoft.com**20101214180500
2046 Ignore-this: f1b1492541a7e0464ebc6adb45510a2e
2047 
2048 This satisfies Trac #3877.  Documentation is changed too.
2049 I'm not sure if this should go in 7.0.2.
2050]
2051[Fix Trac #4841: behave right with TypeSynonymInstances and NoFlexibleInstances
2052simonpj@microsoft.com**20101214174755
2053 Ignore-this: dccd707fdca84904b7885170a296ecb6
2054 
2055 When we have TypeSynonymInstances without FlexibleInstances we should still
2056 insist on a H98-style instance head, after looking through the synonym.
2057 
2058 This patch also make FlexibleInstances imply TypeSynonymInstances.  Anything
2059 else is a bit awkward, and not very useful.
2060 
2061]
2062[Fix Trac #3731: more superclass subtlety (sigh)
2063simonpj@microsoft.com**20101214180344
2064 Ignore-this: f4168e59f3164303ba7be022ba19c37b
2065 
2066 I will add more comments, but I want to commit this tonight,
2067 so the overnight builds get it.
2068]
2069[Less verbose debug print
2070simonpj@microsoft.com**20101214180248
2071 Ignore-this: e405e8545763e913155abe43daf7e36c
2072]
2073[Wibble to InstEnv.instanceHead
2074simonpj@microsoft.com**20101214082939
2075 Ignore-this: 851db517f8638a0aeb7ad461298f7e9f
2076 
2077 Fixes an accidental glitch in T1835
2078]
2079[Remove dead code now that we require the bootstrapping compiler be >= 6.12
2080Ian Lynagh <igloo@earth.li>**20101214011011]
2081[GHC 6.12 is now needed to build the HEAD
2082Ian Lynagh <igloo@earth.li>**20101214010923]
2083[Add libstdc++-4.5.0-1-mingw32-dll-6.tar.lzma to mingw tarballs
2084Ian Lynagh <igloo@earth.li>**20101213223153]
2085[Fix recursive superclasses (again).  Fixes Trac #4809.
2086simonpj@microsoft.com**20101213171511
2087 Ignore-this: b91651397918fd8f0183812f9a070073
2088 
2089 This patch finally deals with the super-delicate question of
2090 superclases in possibly-recursive dictionaries.  The key idea
2091 is the DFun Superclass Invariant (see TcInstDcls):
2092 
2093      In the body of a DFun, every superclass argument to the
2094      returned dictionary is
2095        either   * one of the arguments of the DFun,
2096        or       * constant, bound at top level
2097 
2098 To establish the invariant, we add new "silent" superclass
2099 argument(s) to each dfun, so that the dfun does not do superclass
2100 selection internally.  There's a bit of hoo-ha to make sure that
2101 we don't print those silent arguments in error messages; a knock
2102 on effect was a change in interface-file format.
2103 
2104 A second change is that instead of the complex and fragile
2105 "self dictionary binding" in TcInstDcls and TcClassDcl,
2106 using the same mechanism for existential pattern bindings.
2107 See Note [Subtle interaction of recursion and overlap] in TcInstDcls
2108 and Note [Binding when looking up instances] in InstEnv.
2109 
2110 Main notes are here:
2111 
2112   * Note [Silent Superclass Arguments] in TcInstDcls,
2113     including the DFun Superclass Invariant
2114 
2115 Main code changes are:
2116 
2117   * The code for MkId.mkDictFunId and mkDictFunTy
2118 
2119   * DFunUnfoldings get a little more complicated;
2120     their arguments are a new type DFunArg (in CoreSyn)
2121 
2122   * No "self" argument in tcInstanceMethod
2123   * No special tcSimplifySuperClasss
2124   * No "dependents" argument to EvDFunApp
2125 
2126 IMPORTANT
2127    It turns out that it's quite tricky to generate the right
2128    DFunUnfolding for a specialised dfun, when you use SPECIALISE
2129    INSTANCE.  For now I've just commented it out (in DsBinds) but
2130    that'll lose some optimisation, and I need to get back to
2131    this.
2132]
2133[Doing the smart canonicalization only if we are not simplifying a Rule LHS.
2134dimitris@microsoft.com**20101210132221
2135 Also, same thing now applies for adding superclasses.
2136 
2137]
2138[Moved canonicalisation inside solveInteract
2139dimitris@microsoft.com**20101209141215
2140 
2141 Moreover canonicalisation now is "clever", i.e. it never canonicalizes a class
2142 constraint if it can already discharge it from some other inert or previously
2143 encountered constraints. See Note [Avoiding the superclass explosion]
2144 
2145]
2146[GHCi linker: Assume non-Haskell libraries are dynamic libs
2147Ian Lynagh <igloo@earth.li>**20101213124930
2148 Ignore-this: aa153a8f6e309c7b3dae7e46bb7a9583
2149 This works around a segfault we get when trying to load libiconv.a on
2150 some platforms.
2151]
2152[Add --version support to ghc-cabal
2153Ian Lynagh <igloo@earth.li>**20101212213600
2154 Ignore-this: ef696dcb1b96a23765f9f18e75a56f5
2155]
2156[Don't link the GHC RTS into our C-only programs
2157Ian Lynagh <igloo@earth.li>**20101210185402
2158 Ignore-this: 56f620f7eb16a03e7497a161bc48458e
2159]
2160[Build a copy of ghc-cabal with the in-tree compiler, for the bindist
2161Ian Lynagh <igloo@earth.li>**20101210181123]
2162[Add a test that all programs in the bindist were built with the right GHC
2163Ian Lynagh <igloo@earth.li>**20101210161218
2164 They should use the GHC from the build tree, not the bootstrapping compiler.
2165]
2166[Fix Trac #4534: renamer bug
2167simonpj@microsoft.com**20101210084530
2168 Ignore-this: 8163bfa3a56344cfe89ad17c62e9655d
2169   
2170 The renamer wasn't attaching the right used-variables to a
2171 TransformStmt constructor.
2172 
2173 The real modification is in RnExpr; the rest is just
2174 pretty-printing and white space.
2175]
2176[White space only
2177simonpj@microsoft.com**20101210084255
2178 Ignore-this: 3fcf8a4fc8c15052c379a135951d53ea
2179]
2180[Comments only
2181simonpj@microsoft.com**20101210084116
2182 Ignore-this: 55bb1de129b1c9513751885eaa84b884
2183]
2184[Make the case-to-let transformation a little less eager
2185simonpj@microsoft.com**20101208172251
2186 Ignore-this: 55eaa1b5753af31aeb32ec792cb6b662
2187 
2188 See Note [Case elimination: lifted case].
2189 Thanks to Roman for identifying this case.
2190]
2191[warning fix: don't redefine BLOCKS_PER_MBLOCK
2192Simon Marlow <marlowsd@gmail.com>**20101210094002
2193 Ignore-this: cadba57f1c38f5e2af1de37d0a79c7ee
2194]
2195[Only reset the event log if logging is turned on (addendum to #4512)
2196Simon Marlow <marlowsd@gmail.com>**20101210093951
2197 Ignore-this: c9f85f0de2b11a37337672fba59aecc6
2198]
2199[allocate enough room for the longer filename (addendum to #4512)
2200Simon Marlow <marlowsd@gmail.com>**20101210093906
2201 Ignore-this: 270dc0219d98f1e0f9e006102ade7087
2202]
2203[Fix Windows build: move rtsTimerSignal to the POSIX-only section
2204Simon Marlow <marlowsd@gmail.com>**20101210090045
2205 Ignore-this: aa1844b70b9f1a44447787c4bbe10d44
2206]
2207[Default the value of -dppr-cols when the static flags aren't initialised yet
2208Ben Lippmeier <benl@ouroborus.net>**20101210060154
2209 Ignore-this: 4cea29085ef904f379a8829714c9e180
2210 If GHC's command line options are bad then the options parser uses the
2211 pretty printer before the -dppr-cols flag has been read.
2212]
2213[Defensify naked read in LLVM mangler
2214Ben Lippmeier <benl@ouroborus.net>**20101210045922
2215 Ignore-this: 1373f597863851bd03e7a7254558ed04
2216]
2217[Formatting only
2218Ben Lippmeier <benl@ouroborus.net>**20101210042600
2219 Ignore-this: 20bbcd95c70b59094d0bb8a63e459103
2220]
2221[Always ppr case alts on separate lines
2222Ben Lippmeier <benl@ouroborus.net>**20101208070508
2223 Ignore-this: 7e2edd57a61427621aeb254aef84f0f7
2224]
2225[Add -dppr-colsN to set width of dumps
2226Ben Lippmeier <benl@ouroborus.net>**20101208070245
2227 Ignore-this: edc64fee6c373b895bb80b83b549ce1a
2228]
2229[Add -dppr-case-as-let to print "strict lets" as actual lets
2230Ben Lippmeier <benl@ouroborus.net>**20101208065548
2231 Ignore-this: eb1d122dbd73b5263cae3a9f8259a838
2232]
2233[Suppress more info with -dsuppress-idinfo
2234Ben Lippmeier <benl@ouroborus.net>**20101208063037
2235 Ignore-this: 5e8213d7b8d2905e245917aa3e83efc5
2236]
2237[Implement -dsuppress-type-signatures
2238Ben Lippmeier <benl@ouroborus.net>**20101208062814
2239 Ignore-this: 34dbefe5f8d7fe58ecb26d6a748d1c71
2240]
2241[Add more suppression flags
2242Ben Lippmeier <benl@ouroborus.net>**20101208020723
2243 Ignore-this: b010ba9789a2fde6b815f33494fcc23c
2244  -dsuppress-all
2245  -dsuppress-type-applications
2246  -dsuppress-idinfo
2247]
2248[fix ticket number (#4505)
2249Simon Marlow <marlowsd@gmail.com>**20101209120404
2250 Ignore-this: 5769c5ce2a8d69d62d977a9ae138ec23
2251]
2252[fix warnings
2253Simon Marlow <marlowsd@gmail.com>**20101209115844
2254 Ignore-this: ffff37feb2abbfc5bd12940c7007c208
2255]
2256[Catch too-large allocations and emit an error message (#4505)
2257Simon Marlow <marlowsd@gmail.com>**20101209114005
2258 Ignore-this: c9013ab63dd0bd62ea045060528550c6
2259 
2260 This is a temporary measure until we fix the bug properly (which is
2261 somewhat tricky, and we think might be easier in the new code
2262 generator).
2263 
2264 For now we get:
2265 
2266 ghc-stage2: sorry! (unimplemented feature or known bug)
2267   (GHC version 7.1 for i386-unknown-linux):
2268         Trying to allocate more than 1040384 bytes.
2269 
2270 See: http://hackage.haskell.org/trac/ghc/ticket/4550
2271 Suggestion: read data from a file instead of having large static data
2272 structures in the code.
2273]
2274[Export the value of the signal used by scheduler (#4504)
2275Dmitry Astapov <dastapov@gmail.com>**20101208183755
2276 Ignore-this: 427bf8c2469283fc7a6f759440d07d87
2277]
2278[Tweak the "sorry" message a bit
2279Simon Marlow <marlowsd@gmail.com>**20101208163212
2280 Ignore-this: aa1ce5bc3c27111548204b740572efbe
2281 
2282 -              "sorry! (this is work in progress)\n"
2283 +              "sorry! (unimplemented feature or known bug)\n"
2284]
2285[:unset settings support
2286Boris Lykah <lykahb@gmail.com>**20101123190132
2287 Ignore-this: 5e97c99238f5d2394592858c34c004d
2288 Added support for settings [args, prog, prompt, editor and stop].
2289 Now :unset supports the same set of options as :set.
2290]
2291[Fix Windows memory freeing: add a check for fb == NULL; fixes trac #4506
2292Ian Lynagh <igloo@earth.li>**20101208152349
2293 Also added a few comments, and a load of code got indented 1 level deeper.
2294]
2295[Fixes for #4512: EventLog.c - provides ability to terminate event logging, Schedule.c - uses them in forkProcess.
2296Dmitry Astapov <dastapov@gmail.com>**20101203133950
2297 Ignore-this: 2da7f215d6c22708a18291a416ba8881
2298]
2299[Make CPPFLAGS variables, as well as CFLAGS and LDFLAGS
2300Ian Lynagh <igloo@earth.li>**20101207010033
2301 Ignore-this: 2fc1ca1422aae1988d0fe1d29a8485d9
2302 This fixes the "does unsetenv return void" test in the unix package on
2303 OS X, if I tell it to make 10.4-compatible binaries. The test uses
2304 CPPFLAGS but not CFLAGS, so it thought it returned int (as it was
2305 in 10.5-mode), but the C compiler (using CFLAGS, so in 10.4 mode)
2306 thought it returned void.
2307 
2308 I also added CONF_LD_OPTS_STAGE$3 to the list of things in LDFLAGS,
2309 which looks like an accidental ommission.
2310]
2311[Add a configure message
2312Ian Lynagh <igloo@earth.li>**20101206215201]
2313[Link even programs containing no Haskell modules with GHC
2314Ian Lynagh <igloo@earth.li>**20101206203329
2315 I don't remember why we made it use gcc instead, but going back to
2316 using ghc doesn't seem to break anything, and should fix the build
2317 on OS X 10.6.
2318]
2319[Correct the stage that the includes/ tools are built in
2320Ian Lynagh <igloo@earth.li>**20101206203125]
2321[Tweak the cleaning of inplace/; fixes trac #4320
2322Ian Lynagh <igloo@earth.li>**20101205212048]
2323[Close .ghci files after reading them; fixes trac #4487
2324Ian Lynagh <igloo@earth.li>**20101205205301]
2325[Fix the behaviour of :history for ticks surrounding top level functions
2326pepeiborra@gmail.com**20101203202346
2327 Ignore-this: 8059d4859c52c0c9a235b937cb8cde1d
2328]
2329[Don't warn of duplicate exports in case of module exports.
2330Michal Terepeta <michal.terepeta@gmail.com>**20101127212116
2331 Ignore-this: ea225d517826f971c400bbb68d1405b8
2332 
2333 But only when the module exports refer to different modules.
2334 See ticket #4478.
2335]
2336[Fix whitespace/layout in RnNames.
2337Michal Terepeta <michal.terepeta@gmail.com>**20101030171303
2338 Ignore-this: 707a7955fc4fc51683cc5a1dfe57f93
2339]
2340[Tell gcc to support back to OS X 10.5
2341Ian Lynagh <igloo@earth.li>**20101203201558
2342 Ignore-this: f02d70e5b9cce50137981c6cb2b62a18
2343]
2344[Make RelaxedLayout off by default
2345Ian Lynagh <igloo@earth.li>**20101202140808
2346 I suspect this is a vary rarely used extension to the official layout
2347 rule.
2348]
2349[Fix up TcInstDcls
2350simonpj@microsoft.com**20101203180758
2351 Ignore-this: 9311aeb4ee67c799704afec90b5982d0
2352 
2353 I really don't know how this module got left out of my last
2354 patch, namely
2355   Thu Dec  2 12:35:47 GMT 2010  simonpj@microsoft.com
2356   * Re-jig simplifySuperClass (again)
2357 
2358 I suggest you don't pull either the patch above, or this
2359 one, unless you really have to.  I'm not fully confident
2360 that it works properly yet.  Ran out of time. Sigh.
2361]
2362[throwTo: report the why_blocked value in the barf()
2363Simon Marlow <marlowsd@gmail.com>**20101203094840
2364 Ignore-this: 3b167c581be1c51dfe3586cc6359e1d0
2365]
2366[handle ThreadMigrating in throwTo() (#4811)
2367Simon Marlow <marlowsd@gmail.com>**20101203094818
2368 Ignore-this: 8ef8cb7fd3b50a27f83c29968131d461
2369 If a throwTo targets a thread that has just been created with
2370 forkOnIO, then it is possible the exception strikes while the thread
2371 is still in the process of migrating.  throwTo() didn't handle this
2372 case, but it's fairly straightforward.
2373]
2374[removeThreadFromQueue: stub out the link field before returning (#4813)
2375Simon Marlow <marlowsd@gmail.com>**20101202160838
2376 Ignore-this: 653ae17bc1120d7f4130da94665002a1
2377]
2378[small tidyup
2379Simon Marlow <marlowsd@gmail.com>**20101126140620
2380 Ignore-this: 70b1d5ed4c81a7b29dd5980a2d84aae1
2381]
2382[Fix a recomp bug: make classes/datatypes depend directly on DFuns (#4469)
2383Simon Marlow <marlowsd@gmail.com>**20101202122349
2384 Ignore-this: 61c765583bb1d97caa88cf9b4f45b87c
2385 And remove the old mechanism of recording dfun uses separately,
2386 because it didn't work.
2387 
2388 This wiki page describes recompilation avoidance and fingerprinting.
2389 I'll update it to describe the new method and what went wrong with the
2390 old method:
2391 
2392 http://hackage.haskell.org/trac/ghc/wiki/Commentary/Compiler/RecompilationAvoidance
2393]
2394[make a panic message more informative and suggest -dcore-lint (see #4534)
2395Simon Marlow <marlowsd@gmail.com>**20101201151706
2396 Ignore-this: 2a10761925d6f9f52675948baa30f7a
2397]
2398[Re-jig simplifySuperClass (again)
2399simonpj@microsoft.com**20101202123547
2400 Ignore-this: fe4062b8988258f6748ebd8fbd6515b5
2401 
2402 This fixes the current loop in T3731, and will fix other
2403 reported loops.  The loops show up when we are generating
2404 evidence for superclasses in an instance declaration.
2405 
2406 The trick is to make the "self" dictionary simplifySuperClass
2407 depend *explicitly* on the superclass we are currently trying
2408 to build.  See Note [Dependencies in self dictionaries] in TcSimplify.
2409 
2410 That in turn means that EvDFunApp needs a dependency-list, used
2411 when chasing dependencies in isGoodRecEv.
2412]
2413[A little refactoring (remove redundant argument passed to isGoodRecEv)
2414simonpj@microsoft.com**20101202123110
2415 Ignore-this: e517c5c12109a230f08dafb4d1e386df
2416]
2417[Make rebindable if-then-else a little more permissive
2418simonpj@microsoft.com**20101202122540
2419 Ignore-this: ddb552cfe307607b42d1e4baf4e3bf21
2420 
2421 See Note [Rebindable syntax for if].  Fixes Trac #4798.
2422 Thanks to Nils Schweinsberg <mail@n-sch.de>
2423]
2424[Improve error message (Trac #4799)
2425simonpj@microsoft.com**20101202102706
2426 Ignore-this: d9896e4d182936de1f256c820b96a8cf
2427]
2428[Fix a nasty bug in RULE matching: Trac #4814
2429simonpj@microsoft.com**20101202102618
2430 Ignore-this: ba058ad46a02bd2faf3a14de93fd19c6
2431 
2432 See Note [Matching lets], which explains it all in detail.
2433 It took me a day to think of a nice way to fix the bug,
2434 but I think the result is quite respectable. Subtle, though.
2435]
2436[Rename -XPArr to -XParallelArrays
2437Ben Lippmeier <benl@ouroborus.net>**20101130075415
2438 Ignore-this: 21b37680a7f25800d1200b59ad0b6b39
2439]
2440[FIX #1845 (unconditional relative branch out of range)
2441pho@cielonegro.org**20101130143014
2442 Ignore-this: df234bd8ad937104c455656fe3c33732
2443 
2444 Don't use mmap on powerpc-apple-darwin as mmap doesn't support
2445 reallocating but we need to allocate jump islands just after each
2446 object images. Otherwise relative branches to jump islands can fail
2447 due to 24-bits displacement overflow.
2448]
2449[rts/Linker.c (loadArchive):
2450pho@cielonegro.org**20101130142700
2451 Ignore-this: bc84f9369ce5c2d289440701b7a3a2ab
2452 
2453 This routine should be aware of Mach-O misalignment of malloc'ed memory regions.
2454]
2455[rts/Linker.c (machoGetMisalignment):
2456pho@cielonegro.org**20101130123355
2457 Ignore-this: 75425600049efd587e9873578e26392f
2458 
2459 Use fseek(3) instead of rewind(3) to move the file position indicator back to the initial position. Otherwise we can't use this function in loadArchive().
2460]
2461[rts/Linker.c (ocFlushInstructionCache):
2462pho@cielonegro.org**20101130121425
2463 Ignore-this: 1e2c207e4b1d17387617ec5d645204b7
2464 
2465 I found this function causes a segfault when ocAllocateSymbolExtras() has allocated a separate memory region for jump islands.
2466]
2467[Remove NewQualifiedOperators
2468Ian Lynagh <igloo@earth.li>**20101201181117
2469 The extension was rejected by Haskell', and deprecated in 7.0.
2470]
2471[fix ref to utils/ext-core, which moved to Hackage (extcore package)
2472Simon Marlow <marlowsd@gmail.com>**20101201092147
2473 Ignore-this: 272a7daaa335ef60bcc645db70b4d68b
2474]
2475[fix floating-point/FFI section: fenv is C99, not POSIX
2476Simon Marlow <marlowsd@gmail.com>**20101201092119
2477 Ignore-this: ce8b3edd428e4f77691dd739b5b4ae73
2478]
2479[Fixed some 'unused vars' warnings
2480keller@cse.unsw.edu.au**20101130013425
2481 Ignore-this: 35790d443faa23b87e4ba442e62376a3
2482]
2483[vectScalarLam handles int, float, and double now
2484keller@cse.unsw.edu.au**20101129231043
2485 Ignore-this: 6d67bdc8dd8577184040e791e6f3d0
2486]
2487[Handling of lets, letrec and case when checking if a lambda expr needs to be vectorised
2488keller@cse.unsw.edu.au**20101115051225
2489 Ignore-this: 1db6ed63d7b3f6d093e019322b407ff7
2490]
2491[Document the behaviour of fenv.h functions with GHC (#4391)
2492Simon Marlow <marlowsd@gmail.com>**20101126125336
2493 Ignore-this: bc4eab49428d567505a28add6fed90f1
2494]
2495[Remove the no-ghci-lib warning in ghc-pkg
2496Ian Lynagh <igloo@earth.li>**20101127235805
2497 GHCi libs are no longer necessary, as we can use the .a or .so versions
2498 instead.
2499]
2500[Add GNU-variant support to the .a parser, and other improvements/tidyups
2501Ian Lynagh <igloo@earth.li>**20101127223945]
2502[Re-indent only
2503Ian Lynagh <igloo@earth.li>**20101127191646]
2504[Improve linker debugging for archive files
2505Ian Lynagh <igloo@earth.li>**20101127190907]
2506[Always enable the archive-loading code
2507Ian Lynagh <igloo@earth.li>**20101127173000
2508 If the GHCi .o lib doesn't exist, load the .a instead
2509]
2510[Inherit the ForceSpecConstr flag in non-recursive nested bindings
2511Roman Leshchinskiy <rl@cse.unsw.edu.au>**20101127125025
2512 Ignore-this: 401391eae25cefcb4afaba2e357decc1
2513 
2514 This makes sure that join points are fully specialised in loops which are
2515 marked as ForceSpecConstr.
2516]
2517[Document -ddump-rule-firings and -ddump-rule-rewrites
2518Roman Leshchinskiy <rl@cse.unsw.edu.au>**20101127123528
2519 Ignore-this: beade2efe0cd767c0ce9d4f45a3380ba
2520]
2521[New flag -dddump-rule-rewrites
2522Roman Leshchinskiy <rl@cse.unsw.edu.au>**20101127122022
2523 Ignore-this: c0ef5b8a199fbd1ef020258d2cde85a3
2524 
2525 Now, -ddump-rule-firings only shows the names of the rules that fired (it would
2526 show "before" and "after" with -dverbose-core2core previously) and
2527 -ddump-rule-rewrites always shows the "before" and "after" bits, even without
2528 -dverbose-core2core.
2529]
2530[Acutally, wild-card variables *can* have occurrences
2531simonpj@microsoft.com**20101126162409
2532 Ignore-this: 544bffed75eeccef03a1097f98524eea
2533 
2534 This patch removes the Lint test, and comments why
2535]
2536[Tidy up the handling of wild-card binders, and make Lint check it
2537simonpj@microsoft.com**20101126133210
2538 Ignore-this: 9e0be9f7867d53046ee5b0e478a0f433
2539 
2540 See Note [WildCard binders] in SimplEnv.  Spotted by Roman.
2541]
2542[Substitution should just substitute, not optimise
2543simonpj@microsoft.com**20101125172356
2544 Ignore-this: 657628d9b6796ceb5f915c43d56e4a06
2545 
2546 This was causing Trac #4524, by optimising
2547      (e |> co)  to   e
2548 on the LHS of a rule.  Result, the template variable
2549 'co' wasn't bound any more.
2550 
2551 Now that substition doesn't optimise, it seems sensible to call
2552 simpleOptExpr rather than substExpr when substituting in the
2553 RHS of rules.  Not a big deal either way.
2554]
2555[Make SpecConstr "look through" identity coercions
2556simonpj@microsoft.com**20101125172138
2557 Ignore-this: c1cc585ed890a7702c33987e971e0af6
2558]
2559[Comment only
2560simonpj@microsoft.com**20101125172011
2561 Ignore-this: 3c7be8791badd00dcca9610ebb8981d1
2562]
2563[White space only
2564simonpj@microsoft.com**20101101080748
2565 Ignore-this: f7133fc6b22ae263c6672543a8534a6f
2566]
2567[Keep a maximum of 6 spare worker threads per Capability (#4262)
2568Simon Marlow <marlowsd@gmail.com>**20101125135729
2569 Ignore-this: a020786569656bf2f3a1717b65d463bd
2570]
2571[Unicide OtherNumber category should be allowed in identifiers (#4373)
2572Simon Marlow <marlowsd@gmail.com>**20101115095444
2573 Ignore-this: e331b6ddb17550163ee91bd283348800
2574]
2575[vectoriser: fix warning
2576Ben Lippmeier <benl@ouroborus.net>**20101126044036
2577 Ignore-this: e1a66bb405bf2f3f56b42c3b13fd4bf3
2578]
2579[vectoriser: fix warning
2580Ben Lippmeier <benl@ouroborus.net>**20101126042950
2581 Ignore-this: df8dd25bcfb3946c2974b13953a2f2c7
2582]
2583[vectoriser: take class directly from the instance tycon
2584Ben Lippmeier <benl@ouroborus.net>**20101126042900
2585 Ignore-this: 626a416717a5a059f39e53f4ec95fc66
2586]
2587[vectoriser: comments only
2588Ben Lippmeier <benl@ouroborus.net>**20101125073201
2589 Ignore-this: 8846ea8895307083bd1ebbc5d7fb1c5
2590]
2591[vectoriser: follow changes in mkClass
2592Ben Lippmeier <benl@ouroborus.net>**20101125062349
2593 Ignore-this: d5018cc022686d4272e126ca9a12283a
2594]
2595[vectoriser: tracing wibbles
2596Ben Lippmeier <benl@ouroborus.net>**20101125062332
2597 Ignore-this: c2024d8f03bc03bee2851f4f1c139fd5
2598]
2599[mkDFunUnfolding wants the type of the dfun to be a PredTy
2600benl@ouroborus.net**20100914062939
2601 Ignore-this: 7aa6e6b140746184cf00355b50c83b66
2602]
2603[vectoriser: fix conflicts
2604Ben Lippmeier <benl@ouroborus.net>**20101125060904
2605 Ignore-this: cc3decab1affada8629ca3818b76b3bf
2606]
2607[Comments and formatting only
2608benl@ouroborus.net**20100914062903
2609 Ignore-this: b0fc25f0952cafd56cc25353936327d4
2610]
2611[Comments and formatting to type environment vectoriser
2612benl@ouroborus.net**20100909080405
2613 Ignore-this: ab8549d53f845c9d82ed9a525fda3906
2614]
2615[Don't mix implicit and explicit layout
2616Ian Lynagh <igloo@earth.li>**20101124231514]
2617[Whitespace only
2618Ian Lynagh <igloo@earth.li>**20101124230655]
2619[Separate NondecreasingIndentation out into its own extension
2620Ian Lynagh <igloo@earth.li>**20101124220507]
2621[Add another GHC layout rule relaxation to RelaxedLayout
2622Ian Lynagh <igloo@earth.li>**20101124205957]
2623[Remove an unused build system variable: GhcDir
2624Ian Lynagh <igloo@earth.li>**20101124140455]
2625[Remove unused build system variable: GhcHasEditline
2626Ian Lynagh <igloo@earth.li>**20101124140415]
2627[Remove unused variables from the build system: HBC, NHC, MKDEPENDHS
2628Ian Lynagh <igloo@earth.li>**20101124140052]
2629[Remove references to Haskell 98
2630Ian Lynagh <igloo@earth.li>**20101123233536
2631 They are no longer right, as we have Haskell' generating new Haskell
2632 standards.
2633]
2634[Tweak a configure test
2635Ian Lynagh <igloo@earth.li>**20101123170621]
2636[Add a configure test for the visibility hidden attribute
2637Ian Lynagh <igloo@earth.li>**20101123170541]
2638[sanity: fix places where we weren't filling fresh memory with 0xaa
2639Simon Marlow <marlowsd@gmail.com>**20101029092843
2640 Ignore-this: 2cb18f7f5afcaf33371aeffce67e218f
2641]
2642[Just some alpha renaming
2643Ian Lynagh <igloo@earth.li>**20101121144455
2644 Ignore-this: d5e807c5470840efc199e29f7d50804c
2645]
2646[Fix bug #3165 (:history throws irrefutable pattern failed)
2647pepeiborra@gmail.com**20101115223623
2648 Ignore-this: 73edf56e502b4d0385bc044133b27946
2649 
2650 I ran across this bug and took the time to fix it, closing
2651 a long time due TODO in InteractiveEval.hs
2652 
2653 Instead of looking around to find the enclosing declaration
2654 of a tick, this patch makes use of the information already collected during the
2655 coverage desugaring phase
2656]
2657[For bindists, build ghc-pwd with stage 1
2658Ian Lynagh <igloo@earth.li>**20101121183520
2659 Ignore-this: a3b5c8b78c81ec1b6d5fbf23da346ff5
2660 rather then the bootstrapping compiler. This fixes problems where the
2661 bootstrapping compiler dynamically links against libraries not on the
2662 target machine.
2663]
2664[Makefile tweak
2665Ian Lynagh <igloo@earth.li>**20101121183342
2666 Ignore-this: cd55a2819c1a5fd36da1bc7a75d2ded1
2667]
2668[Fix a makefile include ordering sanity check
2669Ian Lynagh <igloo@earth.li>**20101121174916
2670 Ignore-this: d0bdd41c4b618944d04ecb4f54fdd0f1
2671]
2672[Add an extension for GHC's layout-rule relaxations
2673Ian Lynagh <igloo@earth.li>**20101120215340
2674 Still TODO: Add the other relaxation (#1060) and update the alternative
2675 layout rule to use the extension.
2676]
2677[Tweak the bindist configure.ac.in
2678Ian Lynagh <igloo@earth.li>**20101120173735]
2679[configure.ac tweaks
2680Ian Lynagh <igloo@earth.li>**20101120170245]
2681[When testing the bindist, tell it where gcc is
2682Ian Lynagh <igloo@earth.li>**20101120155920
2683 The location isn't baked into the bindist, as it may differ from
2684 machine to machine.
2685]
2686[Comments only
2687simonpj@microsoft.com**20101119100153
2688 Ignore-this: 7abd5d965ea805770449d6f8dadbb921
2689]
2690[ForceSpecConstr now forces specialisation even for arguments which aren't scrutinised
2691Roman Leshchinskiy <rl@cse.unsw.edu.au>**20101118212839
2692 Ignore-this: db45721d29a694e53746f8b76513efa4
2693]
2694[Move the superclass generation to the canonicaliser
2695simonpj@microsoft.com**20101118120533
2696 Ignore-this: 5e0e525402a240b709f2b8104c1682b2
2697 
2698 Doing superclass generation in the canonicaliser (rather than
2699 TcInteract) uses less code, and is generally more efficient.
2700 
2701 See Note [Adding superclasses] in TcCanonical.
2702 
2703 Fixes Trac #4497.
2704]
2705[Fix the generation of in-scope variables for IfaceLint check
2706simonpj@microsoft.com**20101118090057
2707 Ignore-this: bbcdba61ddf89d07fe69ca99c2017e3f
2708]
2709[Comments only
2710simonpj@microsoft.com**20101118090034
2711 Ignore-this: fa2936d35a0f7be4e4535ea9e2b7bf7b
2712]
2713[Omit bogus test for -XDeriveFunctor
2714simonpj@microsoft.com**20101118090028
2715 Ignore-this: a534243011809ebbb788b910961601c5
2716 
2717 It was duplicated in the case of 'deriving( Functor )'
2718 and wrong for 'deriving( Foldable )'
2719]
2720[Improve error message on advice from a user
2721simonpj@microsoft.com**20101118085306
2722 Ignore-this: bd4f3858ff24e602e985288f27d536f3
2723 
2724 See Trac #4499
2725]
2726[TAG 2010-11-18
2727Ian Lynagh <igloo@earth.li>**20101118011554
2728 Ignore-this: ccadbe7fadd1148d2ee3caa8c8821ec5
2729]
2730Patch bundle hash:
2731894077fd11257c2988c18afd17474c5220e1fde4