Ticket #1845: series-of-patches-to-fix-1845.patch

File series-of-patches-to-fix-1845.patch, 215.5 KB (added by PHO, 3 years ago)
Line 
14 patches for repository http://darcs.haskell.org/ghc:
2
3Tue Nov 30 21:14:25 JST 2010  pho@cielonegro.org
4  * rts/Linker.c (ocFlushInstructionCache):
5 
6  I found this function causes a segfault when ocAllocateSymbolExtras() has allocated a separate memory region for jump islands.
7
8Tue Nov 30 21:33:55 JST 2010  pho@cielonegro.org
9  * rts/Linker.c (machoGetMisalignment):
10 
11  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().
12
13Tue Nov 30 23:27:00 JST 2010  pho@cielonegro.org
14  * rts/Linker.c (loadArchive):
15 
16  This routine should be aware of Mach-O misalignment of malloc'ed memory regions.
17
18Tue Nov 30 23:30:14 JST 2010  pho@cielonegro.org
19  * FIX #1845 (unconditional relative branch out of range)
20 
21  Don't use mmap on powerpc-apple-darwin as mmap doesn't support
22  reallocating but we need to allocate jump islands just after each
23  object images. Otherwise relative branches to jump islands can fail
24  due to 24-bits displacement overflow.
25-----BEGIN PGP SIGNED MESSAGE-----
26Hash: SHA1
27
28
29New patches:
30
31[rts/Linker.c (ocFlushInstructionCache):
32pho@cielonegro.org**20101130121425
33 Ignore-this: 1e2c207e4b1d17387617ec5d645204b7
34 
35 I found this function causes a segfault when ocAllocateSymbolExtras() has allocated a separate memory region for jump islands.
36] {
37hunk ./rts/Linker.c 2396
38    Because the PPC has split data/instruction caches, we have to
39    do that whenever we modify code at runtime.
40  */
41- -
42- -static void ocFlushInstructionCache( ObjectCode *oc )
43+static void ocFlushInstructionCacheFrom(void* begin, size_t length)
44 {
45hunk ./rts/Linker.c 2398
46- -    int n = (oc->fileSize + sizeof( SymbolExtra ) * oc->n_symbol_extras + 3) / 4;
47- -    unsigned long *p = (unsigned long *) oc->image;
48+    size_t         n = (length + 3) / 4;
49+    unsigned long* p = begin;
50 
51hunk ./rts/Linker.c 2401
52- -    while( n-- )
53+    while (n--)
54     {
55         __asm__ volatile ( "dcbf 0,%0\n\t"
56                            "sync\n\t"
57hunk ./rts/Linker.c 2415
58                        "isync"
59                      );
60 }
61+static void ocFlushInstructionCache( ObjectCode *oc )
62+{
63+    /* The main object code */
64+    ocFlushInstructionCacheFrom(oc->image + oc->misalignment, oc->fileSize);
65+
66+    /* Jump Islands */
67+    ocFlushInstructionCacheFrom(oc->symbol_extras, sizeof(SymbolExtra) * oc->n_symbol_extras);
68+}
69 #endif
70 
71 /* --------------------------------------------------------------------------
72}
73[rts/Linker.c (machoGetMisalignment):
74pho@cielonegro.org**20101130123355
75 Ignore-this: 75425600049efd587e9873578e26392f
76 
77 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().
78] {
79hunk ./rts/Linker.c 5331
80 {
81     struct mach_header header;
82     int misalignment;
83- -   
84- -    fread(&header, sizeof(header), 1, f);
85- -    rewind(f);
86+
87+    {
88+        int n = fread(&header, sizeof(header), 1, f);
89+        if (n != 1) {
90+            barf("machoGetMisalignment: can't read the Mach-O header");
91+        }
92+    }
93+    fseek(f, -sizeof(header), SEEK_CUR);
94 
95 #if x86_64_HOST_ARCH || powerpc64_HOST_ARCH
96     if(header.magic != MH_MAGIC_64) {
97hunk ./rts/Linker.c 5342
98- -        errorBelch("Bad magic. Expected: %08x, got: %08x.\n",
99- -                   MH_MAGIC_64, header->magic);
100- -        return 0;
101+        barf("Bad magic. Expected: %08x, got: %08x.",
102+             MH_MAGIC_64, header.magic);
103     }
104 #else
105     if(header.magic != MH_MAGIC) {
106hunk ./rts/Linker.c 5347
107- -        errorBelch("Bad magic. Expected: %08x, got: %08x.\n",
108- -                   MH_MAGIC, header->magic);
109- -        return 0;
110+        barf("Bad magic. Expected: %08x, got: %08x.",
111+             MH_MAGIC, header.magic);
112     }
113 #endif
114 
115}
116[rts/Linker.c (loadArchive):
117pho@cielonegro.org**20101130142700
118 Ignore-this: bc84f9369ce5c2d289440701b7a3a2ab
119 
120 This routine should be aware of Mach-O misalignment of malloc'ed memory regions.
121] {
122hunk ./rts/Linker.c 1688
123     char tmp[12];
124     char *gnuFileIndex;
125     int gnuFileIndexSize;
126+#if !defined(USE_MMAP) && defined(darwin_HOST_OS)
127+    int misalignment;
128+#endif
129 
130     IF_DEBUG(linker, debugBelch("loadArchive: Loading archive `%s'\n", path));
131 
132hunk ./rts/Linker.c 1860
133                we use malloc then we can be given memory above 2^32.
134                In the mmap case we're probably wasting lots of space;
135                we could do better. */
136- -#ifdef USE_MMAP
137+#if defined(USE_MMAP)
138             image = mmapForLinker(memberSize, MAP_ANONYMOUS, -1);
139hunk ./rts/Linker.c 1862
140+#elif defined(darwin_HOST_OS)
141+            /* See loadObj() */
142+            misalignment = machoGetMisalignment(f);
143+            image = stgMallocBytes(memberSize + misalignment, "loadArchive(image)");
144+            image += misalignment;
145 #else
146             image = stgMallocBytes(memberSize, "loadArchive(image)");
147 #endif
148hunk ./rts/Linker.c 1883
149             oc = mkOc(path, image, memberSize, archiveMemberName
150 #ifndef USE_MMAP
151 #ifdef darwin_HOST_OS
152- -                     , 0
153+                     , misalignment
154 #endif
155 #endif
156                      );
157}
158[FIX #1845 (unconditional relative branch out of range)
159pho@cielonegro.org**20101130143014
160 Ignore-this: df234bd8ad937104c455656fe3c33732
161 
162 Don't use mmap on powerpc-apple-darwin as mmap doesn't support
163 reallocating but we need to allocate jump islands just after each
164 object images. Otherwise relative branches to jump islands can fail
165 due to 24-bits displacement overflow.
166] {
167hunk ./rts/Linker.c 72
168 #include <sys/wait.h>
169 #endif
170 
171- -#if defined(linux_HOST_OS) || defined(freebsd_HOST_OS) || defined(dragonfly_HOST_OS) || defined(netbsd_HOST_OS) || defined(openbsd_HOST_OS) || defined(darwin_HOST_OS)
172+#if defined(linux_HOST_OS    ) || defined(freebsd_HOST_OS) || \
173+    defined(dragonfly_HOST_OS) || defined(netbsd_HOST_OS ) || \
174+    defined(openbsd_HOST_OS  ) || \
175+    ( defined(darwin_HOST_OS ) && !defined(powerpc_HOST_ARCH) )
176+/* Don't use mmap on powerpc-apple-darwin as mmap doesn't support
177+ * reallocating but we need to allocate jump islands just after each
178+ * object images. Otherwise relative branches to jump islands can fail
179+ * due to 24-bits displacement overflow.
180+ */
181 #define USE_MMAP
182 #include <fcntl.h>
183 #include <sys/mman.h>
184hunk ./rts/Linker.c 1971
185    int fd;
186 #else
187    FILE *f;
188+#  if defined(darwin_HOST_OS)
189+   int misalignment;
190+#  endif
191 #endif
192    IF_DEBUG(linker, debugBelch("loadObj %s\n", path));
193 
194}
195
196Context:
197
198[Document the behaviour of fenv.h functions with GHC (#4391)
199Simon Marlow <marlowsd@gmail.com>**20101126125336
200 Ignore-this: bc4eab49428d567505a28add6fed90f1
201]
202[Remove the no-ghci-lib warning in ghc-pkg
203Ian Lynagh <igloo@earth.li>**20101127235805
204 GHCi libs are no longer necessary, as we can use the .a or .so versions
205 instead.
206]
207[Add GNU-variant support to the .a parser, and other improvements/tidyups
208Ian Lynagh <igloo@earth.li>**20101127223945]
209[Re-indent only
210Ian Lynagh <igloo@earth.li>**20101127191646]
211[Improve linker debugging for archive files
212Ian Lynagh <igloo@earth.li>**20101127190907]
213[Always enable the archive-loading code
214Ian Lynagh <igloo@earth.li>**20101127173000
215 If the GHCi .o lib doesn't exist, load the .a instead
216]
217[Inherit the ForceSpecConstr flag in non-recursive nested bindings
218Roman Leshchinskiy <rl@cse.unsw.edu.au>**20101127125025
219 Ignore-this: 401391eae25cefcb4afaba2e357decc1
220 
221 This makes sure that join points are fully specialised in loops which are
222 marked as ForceSpecConstr.
223]
224[Document -ddump-rule-firings and -ddump-rule-rewrites
225Roman Leshchinskiy <rl@cse.unsw.edu.au>**20101127123528
226 Ignore-this: beade2efe0cd767c0ce9d4f45a3380ba
227]
228[New flag -dddump-rule-rewrites
229Roman Leshchinskiy <rl@cse.unsw.edu.au>**20101127122022
230 Ignore-this: c0ef5b8a199fbd1ef020258d2cde85a3
231 
232 Now, -ddump-rule-firings only shows the names of the rules that fired (it would
233 show "before" and "after" with -dverbose-core2core previously) and
234 -ddump-rule-rewrites always shows the "before" and "after" bits, even without
235 -dverbose-core2core.
236]
237[Acutally, wild-card variables *can* have occurrences
238simonpj@microsoft.com**20101126162409
239 Ignore-this: 544bffed75eeccef03a1097f98524eea
240 
241 This patch removes the Lint test, and comments why
242]
243[Tidy up the handling of wild-card binders, and make Lint check it
244simonpj@microsoft.com**20101126133210
245 Ignore-this: 9e0be9f7867d53046ee5b0e478a0f433
246 
247 See Note [WildCard binders] in SimplEnv.  Spotted by Roman.
248]
249[Substitution should just substitute, not optimise
250simonpj@microsoft.com**20101125172356
251 Ignore-this: 657628d9b6796ceb5f915c43d56e4a06
252 
253 This was causing Trac #4524, by optimising
254      (e |> co)  to   e
255 on the LHS of a rule.  Result, the template variable
256 'co' wasn't bound any more.
257 
258 Now that substition doesn't optimise, it seems sensible to call
259 simpleOptExpr rather than substExpr when substituting in the
260 RHS of rules.  Not a big deal either way.
261]
262[Make SpecConstr "look through" identity coercions
263simonpj@microsoft.com**20101125172138
264 Ignore-this: c1cc585ed890a7702c33987e971e0af6
265]
266[Comment only
267simonpj@microsoft.com**20101125172011
268 Ignore-this: 3c7be8791badd00dcca9610ebb8981d1
269]
270[White space only
271simonpj@microsoft.com**20101101080748
272 Ignore-this: f7133fc6b22ae263c6672543a8534a6f
273]
274[Keep a maximum of 6 spare worker threads per Capability (#4262)
275Simon Marlow <marlowsd@gmail.com>**20101125135729
276 Ignore-this: a020786569656bf2f3a1717b65d463bd
277]
278[Unicide OtherNumber category should be allowed in identifiers (#4373)
279Simon Marlow <marlowsd@gmail.com>**20101115095444
280 Ignore-this: e331b6ddb17550163ee91bd283348800
281]
282[vectoriser: fix warning
283Ben Lippmeier <benl@ouroborus.net>**20101126044036
284 Ignore-this: e1a66bb405bf2f3f56b42c3b13fd4bf3
285]
286[vectoriser: fix warning
287Ben Lippmeier <benl@ouroborus.net>**20101126042950
288 Ignore-this: df8dd25bcfb3946c2974b13953a2f2c7
289]
290[vectoriser: take class directly from the instance tycon
291Ben Lippmeier <benl@ouroborus.net>**20101126042900
292 Ignore-this: 626a416717a5a059f39e53f4ec95fc66
293]
294[vectoriser: comments only
295Ben Lippmeier <benl@ouroborus.net>**20101125073201
296 Ignore-this: 8846ea8895307083bd1ebbc5d7fb1c5
297]
298[vectoriser: follow changes in mkClass
299Ben Lippmeier <benl@ouroborus.net>**20101125062349
300 Ignore-this: d5018cc022686d4272e126ca9a12283a
301]
302[vectoriser: tracing wibbles
303Ben Lippmeier <benl@ouroborus.net>**20101125062332
304 Ignore-this: c2024d8f03bc03bee2851f4f1c139fd5
305]
306[mkDFunUnfolding wants the type of the dfun to be a PredTy
307benl@ouroborus.net**20100914062939
308 Ignore-this: 7aa6e6b140746184cf00355b50c83b66
309]
310[vectoriser: fix conflicts
311Ben Lippmeier <benl@ouroborus.net>**20101125060904
312 Ignore-this: cc3decab1affada8629ca3818b76b3bf
313]
314[Comments and formatting only
315benl@ouroborus.net**20100914062903
316 Ignore-this: b0fc25f0952cafd56cc25353936327d4
317]
318[Comments and formatting to type environment vectoriser
319benl@ouroborus.net**20100909080405
320 Ignore-this: ab8549d53f845c9d82ed9a525fda3906
321]
322[Don't mix implicit and explicit layout
323Ian Lynagh <igloo@earth.li>**20101124231514]
324[Whitespace only
325Ian Lynagh <igloo@earth.li>**20101124230655]
326[Separate NondecreasingIndentation out into its own extension
327Ian Lynagh <igloo@earth.li>**20101124220507]
328[Add another GHC layout rule relaxation to RelaxedLayout
329Ian Lynagh <igloo@earth.li>**20101124205957]
330[Remove an unused build system variable: GhcDir
331Ian Lynagh <igloo@earth.li>**20101124140455]
332[Remove unused build system variable: GhcHasEditline
333Ian Lynagh <igloo@earth.li>**20101124140415]
334[Remove unused variables from the build system: HBC, NHC, MKDEPENDHS
335Ian Lynagh <igloo@earth.li>**20101124140052]
336[Remove references to Haskell 98
337Ian Lynagh <igloo@earth.li>**20101123233536
338 They are no longer right, as we have Haskell' generating new Haskell
339 standards.
340]
341[Tweak a configure test
342Ian Lynagh <igloo@earth.li>**20101123170621]
343[Add a configure test for the visibility hidden attribute
344Ian Lynagh <igloo@earth.li>**20101123170541]
345[sanity: fix places where we weren't filling fresh memory with 0xaa
346Simon Marlow <marlowsd@gmail.com>**20101029092843
347 Ignore-this: 2cb18f7f5afcaf33371aeffce67e218f
348]
349[Just some alpha renaming
350Ian Lynagh <igloo@earth.li>**20101121144455
351 Ignore-this: d5e807c5470840efc199e29f7d50804c
352]
353[Fix bug #3165 (:history throws irrefutable pattern failed)
354pepeiborra@gmail.com**20101115223623
355 Ignore-this: 73edf56e502b4d0385bc044133b27946
356 
357 I ran across this bug and took the time to fix it, closing
358 a long time due TODO in InteractiveEval.hs
359 
360 Instead of looking around to find the enclosing declaration
361 of a tick, this patch makes use of the information already collected during the
362 coverage desugaring phase
363]
364[For bindists, build ghc-pwd with stage 1
365Ian Lynagh <igloo@earth.li>**20101121183520
366 Ignore-this: a3b5c8b78c81ec1b6d5fbf23da346ff5
367 rather then the bootstrapping compiler. This fixes problems where the
368 bootstrapping compiler dynamically links against libraries not on the
369 target machine.
370]
371[Makefile tweak
372Ian Lynagh <igloo@earth.li>**20101121183342
373 Ignore-this: cd55a2819c1a5fd36da1bc7a75d2ded1
374]
375[Fix a makefile include ordering sanity check
376Ian Lynagh <igloo@earth.li>**20101121174916
377 Ignore-this: d0bdd41c4b618944d04ecb4f54fdd0f1
378]
379[Add an extension for GHC's layout-rule relaxations
380Ian Lynagh <igloo@earth.li>**20101120215340
381 Still TODO: Add the other relaxation (#1060) and update the alternative
382 layout rule to use the extension.
383]
384[Tweak the bindist configure.ac.in
385Ian Lynagh <igloo@earth.li>**20101120173735]
386[configure.ac tweaks
387Ian Lynagh <igloo@earth.li>**20101120170245]
388[When testing the bindist, tell it where gcc is
389Ian Lynagh <igloo@earth.li>**20101120155920
390 The location isn't baked into the bindist, as it may differ from
391 machine to machine.
392]
393[Comments only
394simonpj@microsoft.com**20101119100153
395 Ignore-this: 7abd5d965ea805770449d6f8dadbb921
396]
397[ForceSpecConstr now forces specialisation even for arguments which aren't scrutinised
398Roman Leshchinskiy <rl@cse.unsw.edu.au>**20101118212839
399 Ignore-this: db45721d29a694e53746f8b76513efa4
400]
401[Move the superclass generation to the canonicaliser
402simonpj@microsoft.com**20101118120533
403 Ignore-this: 5e0e525402a240b709f2b8104c1682b2
404 
405 Doing superclass generation in the canonicaliser (rather than
406 TcInteract) uses less code, and is generally more efficient.
407 
408 See Note [Adding superclasses] in TcCanonical.
409 
410 Fixes Trac #4497.
411]
412[Fix the generation of in-scope variables for IfaceLint check
413simonpj@microsoft.com**20101118090057
414 Ignore-this: bbcdba61ddf89d07fe69ca99c2017e3f
415]
416[Comments only
417simonpj@microsoft.com**20101118090034
418 Ignore-this: fa2936d35a0f7be4e4535ea9e2b7bf7b
419]
420[Omit bogus test for -XDeriveFunctor
421simonpj@microsoft.com**20101118090028
422 Ignore-this: a534243011809ebbb788b910961601c5
423 
424 It was duplicated in the case of 'deriving( Functor )'
425 and wrong for 'deriving( Foldable )'
426]
427[Improve error message on advice from a user
428simonpj@microsoft.com**20101118085306
429 Ignore-this: bd4f3858ff24e602e985288f27d536f3
430 
431 See Trac #4499
432]
433[TAG 2010-11-18
434Ian Lynagh <igloo@earth.li>**20101118011554
435 Ignore-this: ccadbe7fadd1148d2ee3caa8c8821ec5
436]
437[Fix the type sanity test in genprimopcode's Syntax.hs
438Ian Lynagh <igloo@earth.li>**20101117163031
439 We assume this is what it's supposed to be checking. Certainly the old
440 test (t2 == t2) can't be right.
441 Spotted by Andres Loeh.
442]
443[Build random with the stage2 compiler
444Ian Lynagh <igloo@earth.li>**20101117155259
445 Ignore-this: 7e376e4df479ff9d5d45604c99faafed
446]
447[remove -XNoMonomorphismRestriction
448Simon Marlow <marlowsd@gmail.com>**20101117124926
449 Ignore-this: b5ee3730f25e188e5920c42e169134fc
450 This was apparently needed at some point during the new typechecker
451 development, but does not seem to be required now.
452]
453[add some {-# LANGUAGE BangPatterns #-} to mollify GHC
454Simon Marlow <marlowsd@gmail.com>**20101117113705
455 Ignore-this: 136e7ff19b009eadbf2e0e6662c37d0f
456]
457[Eventlog: Put correct size for startup event
458scpmw@leeds.ac.uk**20101105151655
459 Ignore-this: 8b6eb4fa2137c8dfe50c5917e3a609a7
460]
461[Document SPECIALISE for imported functions
462simonpj@microsoft.com**20101117111559
463 Ignore-this: 5c9e83d15b85fe5a8639321e00e5dcaa
464 
465 This is a really useful new facility, but I'd forgotten to document it.
466 Pls merge to 7.0 branch
467]
468[Fix Trac #4498: bang-pattern bindings are monomorphic
469simonpj@microsoft.com**20101117101058
470 Ignore-this: 2a739aeca590b4dd1907078ba80133ff
471 
472 This patch forces bang patterns to be monomorphic,
473 and documents this fact.
474]
475[Comments only
476simonpj@microsoft.com**20101117100839
477 Ignore-this: 792d932904fef3fd4fe80fa8d97649db
478]
479[Fix Trac #4501: a transposition error in DynFlags
480simonpj@microsoft.com**20101117100832
481 Ignore-this: b81eca419581a7cec773556514915814
482 
483 Push to STABLE
484]
485[Refactoring of the way that inlinings and rules are activated
486simonpj@microsoft.com**20101116173719
487 Ignore-this: d195c39a646e1fac3804fb044644d226
488 
489 Principally, the SimplifierMode now carries several (currently
490 four) flags in *all* phases, not just the "Gentle" phase.
491 This makes things simpler and more uniform.
492 
493 As usual I did more refactoring than I had intended.
494 
495 This stuff should go into 7.0.2 in due course, once
496 we've checked it solves the DPH performance problems.
497]
498[Some infrastruture for lambda-lifting
499simonpj@microsoft.com**20101116173500
500 Ignore-this: bb0b7db06898b9fa731602107febbf7
501 
502 This stuff should have no effect but it sets things
503 up so that we can try floating out lambdas of n value
504 arguments.
505 
506 The new (secret) flag is -ffloatt-lam-args=n.
507 
508 This is *not* working yet, but it's got tangled up with
509 other stuff I want to commit, and it does no harm.
510]
511[Occurrence analyser takes account of the phase when handing RULES
512simonpj@microsoft.com**20101116173312
513 Ignore-this: 50558fb8ec8fe1d0d50db46a7153b077
514 
515 See Note [Finding rule RHS free vars]
516 
517 This should make Roman happy.
518]
519[Add -fwarn-lazy-unlifted-bindings to the list of flags
520simonpj@microsoft.com**20101116172211
521 Ignore-this: 4f150f347bb74027adacb64545f6b757
522]
523[Warn a bit less often about unlifted bindings.
524simonpj@microsoft.com**20101116171843
525 Ignore-this: 4b1caf1659695931bd17015699542026
526 
527 Warn when
528    (a) a pattern bindings binds unlifted values
529    (b) it has no top-level bang
530    (c) the RHS has a *lifted* type
531 
532 Clause (c) is new, argued for by Simon M
533 
534 Eg     x# = 4# + 4#      -- No warning
535        (# a,b #) = blah  -- No warning
536        I# x = blah       -- Warning
537]
538[Libraries bytestirng, time, binary need -fno-warn-identities
539simonpj@microsoft.com**20101116171610
540 Ignore-this: 17a6e0074510089ba03cfe4c15044b2d
541 
542 They all have redundant uses of fromIntegral, but are no under
543 GHC HQ control.
544]
545[Improve documentation for -fwarn-incomplete-patterns
546simonpj@microsoft.com**20101116171527
547 Ignore-this: d8386202cc322207436db0c5b185dab
548]
549[Add warning for probable identities (fromIntegral and friends)
550simonpj@microsoft.com**20101116171510
551 Ignore-this: 75d0912e716daa5727bb369c4c2d9354
552 
553 See Trac #4488.  The basic idea is to check for
554 
555     fun :: ty -> ty
556 
557 where fun is one of
558   toIntegerName     toRationalName
559   fromIntegralName  realToFracName
560 
561 There's a (documented) flag to control it -fwarn-identities.
562 Currently -Wall switches it on.
563]
564[Remove unncessary fromIntegral calls
565simonpj@microsoft.com**20101116171247
566 Ignore-this: 62a3dee6edb7e42c24b745ab96838eb8
567]
568[Fix -fwarn-missing-import-lists (fix Trac #4489)
569simonpj@microsoft.com**20101115232142
570 Ignore-this: 656b3a76540a488a7111ba7c9ec8ebc4
571]
572[Deriving Typeable changes
573simonpj@microsoft.com**20101115231146
574 Ignore-this: ce91c3f9cb19770115654b5d45f7dfb4
575 
576 * Fix a bug that led to a crash with
577     data family T a
578     deriving Functor T
579 
580 * Allow deriving Typeable for data families
581     data family T a
582     deriving Typeable1 T
583 
584 * Some refactoring and tidying
585]
586[Ensure that instance overlap errors are report properly
587simonpj@microsoft.com**20101115142805
588 Ignore-this: 2fca29a95bdc69a4c783cbcc663a10f7
589 
590 This (annoyingly) requires us to re-flatten the class predicate.
591 See Note [Flattening in error message generation]
592]
593[Ensure that unification variables alloc'd during solving are untouchable
594simonpj@microsoft.com**20101115121540
595 Ignore-this: 4cdb38180488e605489ce5d018998089
596 
597 This fixes Trac #4494.  See Note [Extra TcsTv untouchables] in TcSimplify.
598]
599[Fix paths used for doc publishing in the nightly builds
600Ian Lynagh <igloo@earth.li>**20101114205527]
601[Remove -Ofile docs
602Ian Lynagh <igloo@earth.li>**20101114173332
603 They said:
604     (NOTE: not supported since GHC 4.x.  Please ask if you're interested
605     in this.)
606]
607[Update to docbook 4.5; fixes trac #4447
608Ian Lynagh <igloo@earth.li>**20101114155023]
609[Add a build system dependency; fixes #4357
610Ian Lynagh <igloo@earth.li>**20101114140311]
611[Build system tweak: Inline DQ now it's the same on all platforms
612Ian Lynagh <igloo@earth.li>**20101114134636]
613[Fix up the ifdefs in Task.c
614Ian Lynagh <igloo@earth.li>**20101113125314]
615[Use standard task ID print style (hexadecimal).
616Edward Z. Yang <ezyang@mit.edu>**20101111000912
617 Ignore-this: 932c7eb57ab9ae47db12c28800555ecd
618]
619[Remove use of (now-gone) VarPatOut
620simonpj@microsoft.com**20101112230701
621 Ignore-this: 539600aa23278dc68da3eef8387f852
622]
623[Remove the now-unused constructor VarPatOut
624simonpj@microsoft.com**20101105131636
625 Ignore-this: a26cc84eabb9890fc8c375f9c8c5bd9d
626]
627[Track change in isInlinePragma
628simonpj@microsoft.com**20101105131545
629 Ignore-this: 256f4940744d84086c0f1c99a9ab8778
630 
631 In TcBinds we want to use isAnyInlinePragma, to get
632 both INLINE and INLINABLE.  I don't know why this isn't
633 leading to failures for others!  The (bogus) error I got,
634 triggered by this bug was:
635 
636   libraries\haskeline\System\Console\Haskeline\Key.hs:23:1:
637     You cannot SPECIALISE `M.findWithDefault'
638       because its definition has no INLINE/INLINABLE pragma
639]
640[More modules that need LANGUAGE BangPatterns
641simonpj@microsoft.com**20101112174439
642 Ignore-this: 2cc3d2a24b09eae4ddc98afeda35f011
643]
644[Add LANGUAGE BangPatterns to modules that use them
645simonpj@microsoft.com**20101112172049
646 Ignore-this: a9970f684f200fcc820ebb032f084bea
647]
648[Warn about top-level bangs (Trac #4477)
649simonpj@microsoft.com**20101112160801
650 Ignore-this: e9f6c85503c8b19780e5730ddde1e8f0
651 
652 A simple refactoring in the parser
653]
654[Slurp author spellings file from base and add more authors
655Ben Lippmeier <benl@ouroborus.net>**20101112134641
656 Ignore-this: 4bd29f0759fc8a117145c73db0763eeb
657]
658[A (final) re-engineering of the new typechecker
659simonpj@microsoft.com**20101112130011
660 Ignore-this: 23cf1f193a670ca199a05fa5fb940491
661 
662 Regression testing and user feedback for GHC 7.0 taught
663 us a lot.  This patch fixes numerous small bugs, and some
664 major ones (eg Trac #4484, #4492), and improves type
665 error messages.
666 
667 The main changes are:
668 
669 * Entirely remove the "skolem equivalance class" stuff;
670   a very useful simplification
671 
672 * Instead, when flattening "wanted" constraints we generate
673   unification variables (not flatten-skolems) for the
674   flattened type function application
675 
676 * We then need a fixup pass at the end, TcSimplify.solveCTyFunEqs,
677   which resolves any residual equalities of form
678       F xi ~ alpha
679 
680 * When we come across a definite failure (e.g. Int ~ [a]),
681   we now defer reporting the error until the end, in case we
682   learn more about 'a'.  That is particularly important for
683   occurs-check errors.  These are called "frozen" type errors.
684 
685 * Other improvements in error message generation.
686 
687 * Better tracing messages
688]
689[Allow the old [$foo| ... |] syntax for quasi-quotes
690simonpj@microsoft.com**20101112083052
691 Ignore-this: 868e0e07fc6bbc9772bcba54e8ca79d
692 
693 This is just a backward-compatibility thing, to be removed
694 eventually.
695]
696[Fix multi-line string (minor glitch in stage-1 compiler)
697simonpj@microsoft.com**20101111134503
698 Ignore-this: 5360d617003f0e97f91cfaef7f3c45df
699]
700[Add upstream URLs for vector and primitive
701Roman Leshchinskiy <rl@cse.unsw.edu.au>**20101110210258
702 Ignore-this: 6d995644fc2b2c6c408efd64366454da
703]
704[Obey the -rtsopts flag when making shared libraries; part of #4464
705Ian Lynagh <igloo@earth.li>**20101110145449]
706[Avoid scary message from tar if dph isn't in the tree
707Ian Lynagh <igloo@earth.li>**20101103213354
708 Ignore-this: b7010c5551be36e4149867cdb363bef0
709]
710[Whitespace only
711Ian Lynagh <igloo@earth.li>**20101103213318
712 Ignore-this: b6e90d57be101e8beae83516d9ccbe35
713]
714[Remove no-longer-necessary withFlattenedDynflags
715Ian Lynagh <igloo@earth.li>**20101103212718]
716[Use liftIO rather than io
717Ian Lynagh <igloo@earth.li>**20101103212216]
718[Fix a #if test
719Ian Lynagh <igloo@earth.li>**20101102192446
720 showMultiLineString is only in >= 7.1.
721]
722[Fix building genprimopcode with GHC 7.0, and remove haskell98 imports
723Ian Lynagh <igloo@earth.li>**20101102185831]
724[On Windows, when returning memory to the OS, we try to release it
725Ian Lynagh <igloo@earth.li>**20101101161802
726 Ignore-this: 899e1ede2f532caf9fe6d5f8581492c2
727 as well as decommiting it.
728]
729[Whitespace only, in rts/win32/OSMem.c
730Ian Lynagh <igloo@earth.li>**20101029204158]
731[Improve error messages
732simonpj@microsoft.com**20101101164630
733 Ignore-this: 17a9c2ff6b3f6dfdc80f826052302f86
734 
735 In particular, instead of
736    Cannot match 'a' with 'b'
737 we get
738    Could not deduce (a~b) from context (F a ~ b)
739 or whatever
740]
741[Uncomment and fix an OS X linker debug print
742Ian Lynagh <igloo@earth.li>**20101029135805
743 Ignore-this: a2e84c0f10cc9ee4fe1af8451a46114f
744]
745[fix bugs in tryTakeMVar/tryPutMVar
746Simon Marlow <marlowsd@gmail.com>**20101029090423
747 Ignore-this: f9909d1065042e4123225e638ca680b6
748 I'm surprised that these haven't caused any problems (or maybe they have?)
749]
750[Remove duplicate PrimopWrappers generation
751Simon Marlow <marlowsd@gmail.com>**20101028101624
752 Ignore-this: d739fc94db726025f229018b03e7fbc9
753 We were generating PrimopWrappers.hs twice in two different places,
754 one for the normal build and one for Haddock (I think).  Unfortunately
755 one of these was causing extra rebuilding, because the file dropped
756 into the dist-install/build/autogen directory, where it was picked up
757 by the automatic HS_SRCS detection in subsequent make runs.  This was
758 exposed by a recent change to HS_SRCS:
759 
760   Wed Oct 20 11:47:59 BST 2010  Ian Lynagh <igloo@earth.li>
761     * Look for sources in Cabal's autogen directory too
762 
763 This should fix the stage3 failures in the build bots.
764]
765[Comment out bogus debug line that broke build on OSX
766benl@ouroborus.net**20101029074405
767 Ignore-this: 63afeda706de08a63a70f0baffcb9b1f
768]
769[Fix import warning
770benl@ouroborus.net**20101029071617
771 Ignore-this: c3fdf649695be62e4a611d84423501f7
772]
773[Cleanup comments and formatting only
774benl@ouroborus.net**20101029065837
775 Ignore-this: 393131d43ae57e4c1e7ac0dce734c452
776]
777[Nicer error message for #3782
778benl@ouroborus.net**20101029063320
779 Ignore-this: fc746cad57410123a29f37f61f13dd3c
780 It now says:
781 
782 ghc-stage2: sorry! (this is work in progress)
783   (GHC version 7.1.20101028 for i386-apple-darwin):
784        Vectorise.Builtins.indexBuiltin
785     
786     DPH builtin function 'sumTyCon' of size '11' is not yet implemented.
787     This function does not appear in your source program, but it is needed
788     to compile your code in the backend. This is a known, current limitation
789     of DPH. If you want it to to work you should send mail to cvs-ghc@haskell.org
790     and ask what you can do to help (it might involve some GHC hacking).
791 
792 
793 I added 'pprSorry' that behaves like 'pprPanic' except it say sorry! instead
794 of panic!, and doesn't ask the user to report a bug.
795]
796[Replace some exit(n) calls with stg_exit(n); fixes trac #4445
797Ian Lynagh <igloo@earth.li>**20101028134854
798 Also changed exitcode of -1 to 1 in hpc.
799]
800[Remove -ds-multi-tyvar static flag
801simonpj@microsoft.com**20101028142548
802 Ignore-this: 6e69569e3d5966d0c42785b619237816
803 
804 It was always secret, and has now vanished as silently as it came
805]
806[Deprecate -fmethod-sharing, which no longer does anything
807simonpj@microsoft.com**20101028142429
808 Ignore-this: 717621bd06fbe97e564b3766517781a2
809 
810 We can remove it altogether in GHC 7.2
811]
812[Do w/w *recursive* things even if they are small
813simonpj@microsoft.com**20101028142150
814 Ignore-this: cd93dcfb62a9a41e29e1eb6d81097631
815 
816 A wibble to my previous change in WorkWrap, fixes simplrun010
817]
818[Two signficant changes to the simplifier
819simonpj@microsoft.com**20101027193729
820 Ignore-this: 9b35e8ad975ba1cebbba28028f1c7f43
821 
822 1. Do eta-expansion at let-bindings, not lambdas.
823    I have wanted to do this for a long time.
824    See Note [Eta-expanding at let bindings] in SimplUtils
825 
826 2. Simplify the rather subtle way in which InlineRules (the
827    template captured by an INLINE pragma) was simplified.
828    Now, these templates are always simplified in "gentle"
829    mode only, and only INLINE things inline inside them.
830 
831    See Note Note [Gentle mode], Note [Inlining in gentle mode]
832    and Note [RULEs enabled in SimplGently] in SimplUtils
833]
834[Yet another go at CoreArity
835simonpj@microsoft.com**20101027185630
836 Ignore-this: 400f04c4c7b6999567410081c672b081
837 
838 Amazingly, there were still Wrong Things in the arity analysis,
839 exposed by my fiddling with eta expansion.
840 
841 I simplified the code, clarified the comments, added more examples,
842 and tidied it all up.  I hope it's better this time.
843]
844[Buglet in tcIface, now that nested binders can have pragmas
845simonpj@microsoft.com**20101027184235
846 Ignore-this: de2db50370c35b8ae92ec2574d806b33
847 
848 This fix ties the knot for recursive groups properly
849]
850[Add strictness for raiseIO# primop
851simonpj@microsoft.com**20101027184128
852 Ignore-this: a4e862bbf08bdb837c6f3c851b185543
853]
854[Don't worker-wrapper INLINABLE things
855simonpj@microsoft.com**20101027184107
856 Ignore-this: 301a4b14ee8d71e97a83c8a976564a03
857 
858 See Note [Don't w/w INLINABLE things] in WorkWrap
859 
860 This fixes a bug that Milan found.
861]
862[Refactoring and tidyup of HscMain and related things (also fix #1666)
863Simon Marlow <marlowsd@gmail.com>**20101027121132
864 Ignore-this: af7a9a9c1e1f993be689ccd57b38dd74
865 While trying to fix #1666 (-Werror aborts too early) I decided to some
866 tidyup in GHC/DriverPipeline/HscMain.
867 
868  - The GhcMonad overloading is gone from DriverPipeline and HscMain
869    now.  GhcMonad is now defined in a module of its own, and only
870    used in the top-level GHC layer.  DriverPipeline and HscMain
871    use the plain IO monad and take HscEnv as an argument.
872 
873  - WarnLogMonad is gone.  printExceptionAndWarnings is now called
874    printException (the old name is deprecated).  Session no longer
875    contains warnings.
876 
877  - HscMain has its own little monad that collects warnings, and also
878    plumbs HscEnv around.  The idea here is that warnings are collected
879    while we're in HscMain, but on exit from HscMain (any function) we
880    check for warnings and either print them (via log_action, so IDEs
881    can still override the printing), or turn them into an error if
882    -Werror is on.
883 
884  - GhcApiCallbacks is gone, along with GHC.loadWithLogger.  Thomas
885    Schilling told me he wasn't using these, and I don't see a good
886    reason to have them.
887 
888  - there's a new pure API to the parser (suggestion from Neil Mitchell):
889       parser :: String
890              -> DynFlags
891              -> FilePath
892              -> Either ErrorMessages (WarningMessages,
893                                       Located (HsModule RdrName))
894]
895[follow changes in the GHC API
896Simon Marlow <marlowsd@gmail.com>**20101027111003
897 Ignore-this: ccf2c92944b0c9e191c7a25833347507
898]
899[tweaks
900Simon Marlow <marlowsd@gmail.com>**20101013184322
901 Ignore-this: 4861806ebfb190fcfe5bc2a07fef8b1a
902]
903[comment
904Simon Marlow <marlowsd@gmail.com>**20101013184300
905 Ignore-this: 7c9493c3f9a9420b18244cad3ceeb814
906]
907[Warn (not error) for SPECIALISE pragmas without INLINE
908simonpj@microsoft.com**20101027162922
909 Ignore-this: 412a6613556904752ea2b995b39d9edf
910 
911 See Note [SPECIALISE pragmas] in TcBinds.  Fixes Trac #444.
912]
913[fix stage1_libs pseudo-target
914Simon Marlow <marlowsd@gmail.com>**20101026122906
915 Ignore-this: 5ce50e0a6daebdbffbb4edc09f7c85c7
916]
917[Fix #4424.  Allow `-hide-all-packages` to be set dynamically.
918Thomas Schilling <nominolo@googlemail.com>**20101021170432
919 Ignore-this: 59fa27d6c74252a89a14290fa57fa093
920]
921[Fix whitespace and layout in PrelRules.
922Michal Terepeta <michal.terepeta@gmail.com>**20101024174134
923 Ignore-this: ade82debc07bac72079c7264623abade
924]
925[Fix for #4318 (Linker failure on OS X 10.6)
926gwright@antiope.com**20101026135153
927 Ignore-this: 15a0e05d9f029af63bd599762fd56a54
928 
929 This patch fixes two bugs in the Mach-O linker and adds debugging statements
930 to the same. The bugs:
931 
932 1. The test for symbol->n_value == 0 is removed and replaced by a test of the
933 flag field.  Checking the n_value field was just wrong; the value of a
934 symbol should only be examined when allocating space for a common block,
935 in which case the n_value field gives the size of the block.  This bug
936 led to an infrequently occuring linker crash.
937 
938 I believe the behavior of the linker now agrees with the intent of the
939 sketchy Apple documentation.
940 
941 2. Jump islands were being filled with garbage instead of the the location
942 of the referenced symbol. This caused relocations of type X86_64_RELOC_GOT and
943 X86_64_RELOC_GOT_LOAD to eventually lead to crashes.  The fix is simply to
944 look up the symbol.
945 
946 Enough debug statements have been added to follow the operation of the Mach-O
947 linker while it loads modules.  They are not yet as informative and well
948 organized as for ELF.  Improving the debug statements will require some
949 reorganization of the code -- the Mach-O linker seems basically sound, but
950 is crying out for some refactoring and commenting.
951     
952]
953[Use removeDups to find top-level duplicate names
954Ian Lynagh <igloo@earth.li>**20101026211546
955 findDupsEq is quadratic, whereas removeDups is n log n.
956 Fixes T1969 regression.
957]
958[Remove unnecessary imports
959Ian Lynagh <igloo@earth.li>**20101026191906
960 Ignore-this: 399a59e416337d6fa22bfd060a8ca0e9
961]
962[Add NoFoo form to the extensions list that dummy-ghc generates
963Ian Lynagh <igloo@earth.li>**20101026145445]
964[Fix a long-standing bug the float-out pass
965simonpj@microsoft.com**20101026111547
966 Ignore-this: 304a6ec24a49eea430e14a353a26001a
967 
968 We were failing to float out a binding that could be floated,
969 because of a confusion in the Lam case of floatExpr.
970 
971 In investigating this I also discoverd that there is really
972 no point at all in giving a different level to variables in
973 a binding group, so I've now given them all the same (in
974 SetLevels.lvlLamBndrs
975 
976 The overall difference is quite minor in a nofib run:
977 
978         Program           Size    Allocs   Runtime   Elapsed
979 -------------------------------------------------------------
980             Min          +0.0%     -8.5%    -28.4%    -28.7%
981             Max          +0.0%     +0.7%     -0.7%     -1.1%
982  Geometric Mean          +0.0%     -0.0%    -11.6%    -11.8%
983 
984 I don't trust those runtimes, but smaller is good!  The 8.5%
985 improvement in allocation in fulsom, and seems real.  The
986 0.7% allocation increase only happens in programs with
987 very small allocation.  I tracked one down to a call of this form
988 
989   GHC.IO.Handle.Internals.mkDuplexHandle5
990     = \ args -> GHC.IO.Handle.Internals.openTextEncoding1
991                   mb_codec ha_type
992                   (\mb_encoder mb_decoder -> blah)
993 
994 With the new floater the argument of openTextEncoding1 becomes
995 
996      (let lvl = .. in \mb_encoder mb_decoder -> blah)
997 
998 And rightly so.  However in fact this argument is a continuation
999 and hence is called once, so the floating is fruitless.
1000 
1001 Roll on one-shot-function analysis (which I know how to do
1002 but fail to get to!).
1003]
1004[Comments only
1005simonpj@microsoft.com**20100831085001
1006 Ignore-this: 7b317432fb34721460080f5677a5bc9f
1007]
1008[Fix initialisation of strictness in the demand analyser
1009simonpj@microsoft.com**20101026081757
1010 Ignore-this: d89b117caa95b51b6c24584ac03bedf6
1011 
1012 Previously, the demand analyser assumed that every binder
1013 starts off with no strictness info.  But now that we are
1014 preserving strictness on nesting bindings in interface files,
1015 that assumption is no longer correct, because an inlined function
1016 might have a nested binding with strictness set.
1017 
1018 So we need to know when we are in the initial sweep, so that we can
1019 set the strictness to 'bottom'.
1020 
1021 See Note [Initialising strictness]
1022]
1023[Don't look through SCC in exprIsConApp_maybe
1024simonpj@microsoft.com**20101026080754
1025 Ignore-this: f75b6bbb0ff5fc044934f91f6d8cd93a
1026 
1027 By not taking account of SCC notes we were inadvertently
1028 discarding some, which led to mis-counted entries with -O
1029 
1030 Should fix (part of) Trac #4414
1031]
1032[Make isIrrefutableHsPat say True for existentials; fixes Trac #4439
1033simonpj@microsoft.com**20101026070405
1034 Ignore-this: 5acc2be8b24b70dacdc58b284ee0923f
1035 
1036 At last. A bug that is really easy to fix.
1037]
1038[Serialise nested unfoldings across module boundaries
1039simonpj@microsoft.com**20101025152817
1040 Ignore-this: 1520586f152501d4acb084ebf9cd3136
1041 
1042 As Roman reported in #4428, nested let-bindings weren't
1043 being recorded with their unfoldings.  Needless to say,
1044 fixing this had more knock-on effects than I expected.
1045]
1046[Do not (ever) use substExprSC in the simplifier
1047simonpj@microsoft.com**20101025152622
1048 Ignore-this: d710a5c06495d4aa4b4b5408ade4dcde
1049 
1050 "Short-cut" substitution means "do nothing if the substitution
1051 is empty". We *never* want do to that in the simplifier because
1052 even though the substitution is empty, the in-scope set has
1053 useful information:
1054 
1055  * We get up-to-date unfoldings; and that in turn may
1056    reduce the number of iterations of the simplifier
1057 
1058  * We avoid space leaks, because failing to substitute may
1059    hang on to old Ids from a previous iteration
1060 
1061 (This is what was causing the late inlining of foo in
1062 Trac #4428.)
1063]
1064[Use new showMultiLineString to fix Trac #4436
1065simonpj@microsoft.com**20101025151236
1066 Ignore-this: 423715c38054018a54c7c5d433e0aba1
1067 
1068 There is an accompanying patch for libraries
1069     base
1070     template-haskell
1071]
1072[For a non-recursive let, make sure we extend the value environment
1073simonpj@microsoft.com**20101025143108
1074 Ignore-this: 6e72cf2aa0d400dc0484715a62f04d88
1075 
1076 This has been wrong for a long time.  Fixes Trac #4431.
1077]
1078[instance Outputable IntMap
1079simonpj@microsoft.com**20101025140704
1080 Ignore-this: 2674f9b03e752f781d3669cc14402b14
1081]
1082[Make the ffi.h->ffitarget.h dep a proper dep, rather than an order-only dep
1083Ian Lynagh <igloo@earth.li>**20101024134052]
1084[Remove the need to explicitly flatten the dynflags
1085Ian Lynagh <igloo@earth.li>**20101023210442]
1086[Follow GHC.Bool/GHC.Types merge
1087Ian Lynagh <igloo@earth.li>**20101023165422
1088 Ignore-this: fcdb2115e7f8c3bfabb8e91cb028aa2a
1089]
1090[Don't build packages that need TH if we are making a profiling compiler
1091Ian Lynagh <igloo@earth.li>**20101023145600
1092 You can't use TH with a profiling compiler.
1093]
1094[OS X uninstaller: Pass create-links its argument
1095Ian Lynagh <igloo@earth.li>**20101023124400]
1096[Tweak the OS X installer uninstaller script
1097Ian Lynagh <igloo@earth.li>**20101023000951]
1098[Improve the OS X installer
1099Ian Lynagh <igloo@earth.li>**20101022223104
1100 Major changes are:
1101 * Version number now includes full GHC version and arch
1102 * Uninstaller copes with multiple versions
1103]
1104[Optimised the representation of Inert Sets to use Maps to get to the relevant inert constraint faster.
1105dimitris@microsoft.com**20101022125840]
1106[Add rebindable syntax for if-then-else
1107simonpj@microsoft.com**20101022143400
1108 Ignore-this: 3a1979aef8864a6bae4bfd9be9a543ec
1109 
1110 There are two main changes
1111 
1112  * New LANGUAGE option RebindableSyntax, which implies NoImplicitPrelude
1113 
1114  * if-the-else becomes rebindable, with function name "ifThenElse"
1115    (but case expressions are unaffected)
1116 
1117 Thanks to Sam Anklesaria for doing most of the work here
1118]
1119[Lint should check for duplicate top-level bindings with same qualified name
1120simonpj@microsoft.com**20101022072405
1121 Ignore-this: 41db7e1fbbd1863c11bdf9c01cf75e07
1122 
1123 This would have produced a more civilised error for Trac #4396
1124]
1125[Fix unused import warning on OS X
1126Ian Lynagh <igloo@earth.li>**20101022134024]
1127[Switch more uniqFromSupply+splitUniqSupply's to takeUniqFromSupply
1128Ian Lynagh <igloo@earth.li>**20101021142824
1129 Ignore-this: 27991ada81de2d3ef7f4757ac6cc8d11
1130]
1131[Whitespace only
1132Ian Lynagh <igloo@earth.li>**20101021135551]
1133[Whitespace only
1134Ian Lynagh <igloo@earth.li>**20101021134404]
1135[Whitespace only
1136Ian Lynagh <igloo@earth.li>**20101021134133]
1137[Windows installer improvements from Claus
1138Ian Lynagh <igloo@earth.li>**20101021122942
1139 - add link to inno setup docs, so readers don't have to guess what
1140   ghc.iss might be
1141 
1142 - add Task section, and associated most Registry actions with separate
1143   (sub)tasks, so that file associations, default action, and PATH
1144   setting can be optional
1145 
1146 - copy license file into doc directory
1147 
1148 - install icon file again, so that DefaultIcon is no longer a dangling
1149   pointer (#4352)
1150 
1151 - only delete ghc_haskell key if empty (in case there were other tools
1152   using it)
1153 
1154 - add versioned GHCi to right-click menu (to allow for multiple tool installs)
1155]
1156[Fix Trac #4396, by localising pattern binders in the desugarer
1157simonpj@microsoft.com**20101021170324
1158 Ignore-this: d787a5a4c93c93757ca6c0979db9e0b3
1159 
1160 See Note [Localise pattern binders]
1161]
1162[White space only
1163simonpj@microsoft.com**20101021170232
1164 Ignore-this: 72260210a6c31dd61888b32780b0dc9f
1165]
1166[Add an assertion
1167simonpj@microsoft.com**20101021170222
1168 Ignore-this: 11fbd842db26b18519067ff9e6c63faa
1169]
1170[Use takeUniqFromSupply in ByteCodeGen
1171Ian Lynagh <igloo@earth.li>**20101021121454]
1172[Fix some whitespace
1173Ian Lynagh <igloo@earth.li>**20101021121059]
1174[Use takeUniqFromSupply in emitProcWithConvention
1175Ian Lynagh <igloo@earth.li>**20101021120853
1176 We were using the supply's unique, and then passing the same supply to
1177 initUs_, which sounds like a bug waiting to happen.
1178]
1179[Use takeUniqFromSupply in IfaceEnv
1180Ian Lynagh <igloo@earth.li>**20101021120304
1181 This is a little nicer than having to explicitly split supplies and
1182 throw half of them away.
1183]
1184[Define takeUniqFromSupply
1185Ian Lynagh <igloo@earth.li>**20101021115822]
1186[Remove some extraneous whitespace
1187Ian Lynagh <igloo@earth.li>**20101021115600]
1188[Add a comment on why some seq's are done
1189Ian Lynagh <igloo@earth.li>**20101021113404
1190 Ignore-this: 6c8e59eeb2f8733f7ff7686a28463728
1191]
1192[Tidy up RuntimeUnkSkols a bit more
1193simonpj@microsoft.com**20101021100640
1194 Ignore-this: eb3f5617eff99512a2e72d748c7ad99
1195]
1196[Fix haddock markup
1197simonpj@microsoft.com**20101021085420
1198 Ignore-this: a2705c5aaea64648770eb06ffbcf1e8f
1199]
1200[Improve rule checking, to fix panic Trac #4398
1201simonpj@microsoft.com**20101021085402
1202 Ignore-this: 7f1f8496f336b4e52374fc99110db4a8
1203 
1204 Lots of comments with decomposeRuleLhs
1205]
1206[Improve the simple expression optimiser so it does simple beta reduction
1207simonpj@microsoft.com**20101021085030
1208 Ignore-this: 7a8f99b59d01389ffada547dd29005f9
1209]
1210[Template Haskell: add view patterns (Trac #2399)
1211Reiner Pope <reiner.pope@gmail.com>**20101010131720
1212 Ignore-this: 710855eb7e9cdef96478f2f4da9cfbf4
1213]
1214[Tidy-up sweep, following the Great Skolemisation Simplification
1215simonpj@microsoft.com**20101021070837
1216 Ignore-this: ec821a200d54fb7c9d1135e2c4ce581
1217]
1218[Fix haddock markup
1219Ian Lynagh <igloo@earth.li>**20101020151952
1220 Ignore-this: 3d7bdf6a84a6264ae4cea215c415d821
1221]
1222[Tweak the haddock rules; no functional change
1223Ian Lynagh <igloo@earth.li>**20101020151636
1224 Ignore-this: bee8a936b3ebd33832fdd58161ba725
1225]
1226[Don't seq unfoldings
1227Ian Lynagh <igloo@earth.li>**20101020143710
1228 Ignore-this: 972ae43afdca1b7c6713c6ee5af14da4
1229 We generate intermediate unfoldings which are just thrown away, so
1230 evaluating them is a waste of time.
1231]
1232[Avoid hanging on to old unfoldings; fixes #4367 (compiler space regression)
1233Ian Lynagh <igloo@earth.li>**20101020131539]
1234[Comments and layout only
1235simonpj@microsoft.com**20101020132438
1236 Ignore-this: ae58e1d0dbb2d7d9ce02fe765cd3591f
1237]
1238[Look for sources in Cabal's autogen directory too
1239Ian Lynagh <igloo@earth.li>**20101020104759
1240 Ignore-this: 709b8b491ed89c9d979b93dbaa6e7069
1241]
1242[Follow Cabal change: Use usedExtensions rather than extensions
1243Ian Lynagh <igloo@earth.li>**20101020104739
1244 Ignore-this: 18f7fe6729e573c0b75746b5f891bb71
1245]
1246[fix markup
1247Simon Marlow <marlowsd@gmail.com>**20101020123116
1248 Ignore-this: 51372bccc13905f45610b106cacce31c
1249]
1250[remove xref to hasktags
1251Simon Marlow <marlowsd@gmail.com>**20101020123106
1252 Ignore-this: 1211f44dca795532adc729d08fde30b8
1253]
1254[Update the documentation on using DLL's from Windows, fixing several errors, in particular those relating to bug 3605
1255Neil Mitchell **20101010100709
1256 Ignore-this: 13b44b074b123c21f1b2257c9b1d0585
1257]
1258[(1) More lenient kind checking, (2) Fixed orientation problems and avoiding double unifications, (3) Comments
1259dimitris@microsoft.com**20101020115526]
1260[Midstream changes to deal with spontaneous solving and flatten skolem equivalence classes
1261dimitris@microsoft.com**20101019171514]
1262[hasktags was dropped in GHC 6.12, remove it from the docs
1263Simon Marlow <marlowsd@gmail.com>**20101018084401
1264 Ignore-this: e17307814d9c91f1197c07e0ea421f88
1265]
1266[Refactor, plus fix Trac #4418
1267simonpj@microsoft.com**20101020090946
1268 Ignore-this: 401774da6fbd69d567a27a58be3dd9b8
1269 
1270 We weren't doing fundeps for derived superclasses
1271]
1272[Add a comment, connecting the seq to the test (#4367) that shows its usefulness
1273simonpj@microsoft.com**20101020075941
1274 Ignore-this: 2dae7e226168a25e5753467c08e32414
1275]
1276[Define setIdUnfoldingLazily, and use it in Vectorise
1277Ian Lynagh <igloo@earth.li>**20101019201537
1278 Fixes a loop in the compiler, when running the dph tests
1279]
1280[Evaluate the results in coreToStgApp
1281Ian Lynagh <igloo@earth.li>**20101019170532
1282 Ignore-this: 3b3439d35ac21e664b5d24a070d6e8ca
1283]
1284[Retab CoreToStg, and remove trailing whitespace
1285Ian Lynagh <igloo@earth.li>**20101019155530]
1286[seq the unfolding in setUnfoldingInfo
1287Ian Lynagh <igloo@earth.li>**20101019154552
1288 Ignore-this: a18677dfdc1f1dddc82e89b3267d2bb1
1289 Contrary to the comment, for the module in #4367 at least, it is a big
1290 improvement. Without it we get a huge spike of drag.
1291]
1292[Comments only
1293simonpj@microsoft.com**20101019153531
1294 Ignore-this: 159849457d44f7036f22004075ac1377
1295]
1296[Fix debugger
1297simonpj@microsoft.com**20101019153522
1298 Ignore-this: ea1fb8253a1ac45bdc58d4f1ea9aa0f9
1299 
1300 A bit yukky; see Note [Runtime skolems] in TcErrors.
1301 But it works, and the debugger just is yukky in places.
1302]
1303[Fix IPRun by fixing the inferred quantification mechanism
1304simonpj@microsoft.com**20101019090220
1305 Ignore-this: e7dc8c35979136237fa9a572b70f298e
1306]
1307[Recover after an error in an implication constraint
1308simonpj@microsoft.com**20101019090202
1309 Ignore-this: fbbbdc2c3fc0bac0662d6b40e5d57d47
1310]
1311[Reject programs with equality superclasses for now
1312simonpj@microsoft.com**20101019090140
1313 Ignore-this: 3e3eb8c876fa95290f0278e800fce5bc
1314]
1315[Layout and tiny refactoring only
1316simonpj@microsoft.com**20101019090124
1317 Ignore-this: ee21565fde8cd45514d83d0ca9af3253
1318]
1319[Clean up the debugger code
1320simonpj@microsoft.com**20101019090100
1321 Ignore-this: 8677a9084d787f45542419a58e5d8866
1322 
1323 In particular there is much less fiddly skolemisation now
1324 Things are not *quite* right (break001 and 006 still fail),
1325 but they are *much* better than before.
1326]
1327[Add new VarEnv functions minusVarEnv, intersectsVarEnv, unionInScope
1328simonpj@microsoft.com**20101019085609
1329 Ignore-this: a3a8e23fe522079e3eb9c34ea8032602
1330]
1331[Major pass through type checker:(1) prioritizing equalities, (2) improved Derived mechanism, (3) bugfixes
1332dimitris@microsoft.com**20101018151510]
1333[(1) Caching FD improvements for efficiency, (2) preventing cascading deriveds from entering the inert, (3) Fixing bugs in the creation of FlexiTcS variables
1334dimitris@microsoft.com**20101015164421]
1335[Midstream changes for performance improvement related to superclasses and functional dependencies.
1336dimitris@microsoft.com**20101014143811]
1337[Minor
1338dimitris@microsoft.com**20101012080951]
1339[Commentary changes
1340dimitris@microsoft.com**20101011142235]
1341[Kind checking bugfix (#4356) and preventing wanteds from rewriting wanteds
1342dimitris@microsoft.com**20101008173700]
1343[Fix a retainer profiling segfault
1344Ian Lynagh <igloo@earth.li>**20101019132727
1345 Ignore-this: 19f9e2a6dc8a64b30f3769f4101f82db
1346 The bitmap type wasn't big enough to hold large bitmaps on 64 bit
1347 platforms. Profiling GHC was segfaulting when retainStack was handling a
1348 size 33 bitmap.
1349]
1350[Fix -auto-all: Add SCCs to IDs which have a monotype too
1351Ian Lynagh <igloo@earth.li>**20101018153957]
1352[Define SpecConstrAnnotation in GHC.Exts, and import it from there
1353simonpj@microsoft.com**20101018135746
1354 Ignore-this: a6ade815584a1d03be55a6c417de0ab0
1355 
1356 Reason: avoid having to link the entire ghc package in modules
1357 that use compile-time annotations:
1358 
1359      import GHC.Exts( SpecConstrAnnotation )
1360      {-# ANN type T ForceSpecConstr #-}
1361 
1362 It's a kind of bug that the package exporting SpecConstrAnnotation
1363 is linked even though it is only needed at compile time, but putting
1364 the data type declaration in GHC.Exts is a simple way to sidestep
1365 the problem
1366 
1367 See See Note [SpecConstrAnnotation] in SpecConstr
1368]
1369[Fix warnings in AsmCodeGen
1370David Terei <davidterei@gmail.com>**20101007143559
1371 Ignore-this: 1c34b3a39968a5ca123862726f36a8ee
1372]
1373[LLVM: Fix compilation of writebarrier, #4308
1374David Terei <davidterei@gmail.com>**20101004153843
1375 Ignore-this: df256e78b90e3fc263a88d4f0af6ea96
1376]
1377[Change how the OS X installer's create-links finds the versin number
1378Ian Lynagh <igloo@earth.li>**20101017122352
1379 Ignore-this: 543d3f40c2ba5daf8b2b4ea22eb4bfca
1380 It now gets created by configure, rather than trying to work out the
1381 version number at runtime.
1382]
1383[Add more quoting to distrib/MacOS/installer-scripts/create-links
1384Ian Lynagh <igloo@earth.li>**20101017112648
1385 Ignore-this: 5119ea2efc925d568d96c616af550c7c
1386]
1387[change os x installer to allow multiple installed versions
1388Evan Laforge <qdunkan@gmail.com>**20100929234538
1389 Ignore-this: 4f70551293f53a52c39c5962d8a5bd5b
1390 This puts the ghc version into the package name so they are considered separate
1391 packages.
1392]
1393[libffi: missing dependency on ffitarget.h
1394pho@cielonegro.org**20101017113321
1395 Ignore-this: 3e7f0c802e39184596219e3dcfd06fe9
1396 dist-install/build/ffi.h should have a dependency on ffitarget.h as *_stub.c requires it during the stage-2 build.
1397]
1398[Only put the boot packages in the haddock contents/index
1399Ian Lynagh <igloo@earth.li>**20101016180031
1400 Ignore-this: 3dc276dc734fec207def24a1d10eb369
1401 We don't install dph etc, so don't put them in the doc index.
1402]
1403[Correct the regexp used to search for extra packages
1404Ian Lynagh <igloo@earth.li>**20101016123421
1405 Ignore-this: 98e3f8fda1c5678730a00ec1ac25fde3
1406 We weren't ignoring comment lines
1407]
1408[Add a -fghci-sandbox flag so that we can en/disable the ghci sandbox
1409Ian Lynagh <igloo@earth.li>**20101015172746
1410 Ignore-this: 52bc5729437a93a925d3586d9803623c
1411 It's on by default (which matches the previous behaviour).
1412 
1413 Motivation:
1414 GLUT on OS X needs to run on the main thread. If you
1415 try to use it from another thread then you just get a
1416 white rectangle rendered. For this, or anything else
1417 with such restrictions, you can turn the GHCi sandbox off
1418 and things will be run in the main thread.
1419]
1420[Fix boot; it was failing if darcs-all or validate were missing
1421Ian Lynagh <igloo@earth.li>**20101015164549
1422 Ignore-this: 14b3e98836647aff345e35bca2102f93
1423 (which is the case in sdists)
1424]
1425[Comments and layout
1426simonpj@microsoft.com**20101015131924
1427 Ignore-this: 126fbdb629a08c1380c7a1f5cd967d97
1428]
1429[Make (Located a) an instance of Eq, Ord
1430simonpj@microsoft.com**20101015131857
1431 Ignore-this: 5da50f8dab06fcbc23ce149cd5080062
1432 
1433 Fulfils Trac #4369
1434]
1435[Give user-defined rules precedence over built-in rules
1436simonpj@microsoft.com**20101015131814
1437 Ignore-this: 76fbf36cb1a09e31c10c68c06b98937e
1438 
1439 This fixes Trac #4397.  See comments with 'isMoreSpecific'.
1440]
1441[Fix Trac #4401: meta-tyvars allocated by the constraint solver are always touchable
1442simonpj@microsoft.com**20101015130818
1443 Ignore-this: 7fcdaee825d9cadcf69c8c9b8967a446
1444 
1445   See Note [Touchable meta type variables] in TcSMonad
1446]
1447[Remove GHC.extendGlobalRdrScope, GHC.extendGlobalTypeScope
1448simonpj@microsoft.com**20101013091107
1449 Ignore-this: df65a43d261353ad53811b25507e913e
1450 
1451 These functions were added by
1452 
1453    Tue Apr 18 03:36:06 BST 2006  Lemmih <lemmih@gmail.com>
1454    * Make the initial rdr and type scope available in the ghc-api
1455 
1456 The are extremely dubious, because they extend the Rdr and Type
1457 env for every compilation.  The right thing to do is to use
1458 the InteractiveContext for temporary extensions.
1459 
1460 So far as we know, no one uses them.  And if they are being used
1461 it's probably a mistake.  So we're backing them out.
1462]
1463[InlinePrag needs an arity only for INLINE, not INLINABLE
1464Simon Marlow <marlowsd@gmail.com>**20101015094925
1465 Ignore-this: 3b338f0b2b49fa714b195067e0026ef7
1466 This doesn't fix anything (we think), but it's morally correct.
1467]
1468[Fix #4346 (INLINABLE pragma not behaving consistently)
1469Simon Marlow <marlowsd@gmail.com>**20101015094836
1470 Ignore-this: 9a9d8ad42cfdf7f619adfac284bae021
1471 Debugged thanks to lots of help from Simon PJ: we weren't updating the
1472 UnfoldingGuidance when the unfolding changed.
1473 Also, a bit of refactoring and additinoal comments.
1474]
1475[Have boot check that we have the dph packages when validating
1476Ian Lynagh <igloo@earth.li>**20101014140556
1477 Ignore-this: 61e365127933f4dbfb62be66115455bd
1478]
1479[Add more documentation for interruptible foreign calls
1480Simon Marlow <marlowsd@gmail.com>**20101014084253
1481 Ignore-this: 28ec0ddd958926a08ab816b6975da344
1482]
1483[minor refactoring
1484Simon Marlow <marlowsd@gmail.com>**20100926105819
1485 Ignore-this: 70d38e0a31a096c94dad5f346b0d91f6
1486]
1487[Fix for interruptible FFI handling
1488Simon Marlow <marlowsd@gmail.com>**20100925193442
1489 Ignore-this: a63ba3c60f577002a1d32b30bb45090c
1490 Set tso->why_blocked before calling maybePerformBlockedException(), so
1491 that throwToSingleThreaded() doesn't try to unblock the current thread
1492 (it is already unblocked).
1493]
1494[interruptible FFI: more robust handling of the exception case in the interpreter
1495Simon Marlow <marlowsd@gmail.com>**20100925193317
1496 Ignore-this: 7f9e67835a3bd096154db2dcf533ec66
1497]
1498[Don't interrupt when task blocks exceptions, don't immediately start exception.
1499Edward Z. Yang <ezyang@mit.edu>**20100925033026
1500 Ignore-this: 6c0669995a2b66abf29d68b3711cb78e
1501]
1502[Interruptible FFI calls with pthread_kill and CancelSynchronousIO. v4
1503Edward Z. Yang <ezyang@mit.edu>**20100919002905
1504 Ignore-this: 43c260f90eeb9c03413f6e749e23101d
1505 
1506 This is patch that adds support for interruptible FFI calls in the form
1507 of a new foreign import keyword 'interruptible', which can be used
1508 instead of 'safe' or 'unsafe'.  Interruptible FFI calls act like safe
1509 FFI calls, except that the worker thread they run on may be interrupted.
1510 
1511 Internally, it replaces BlockedOnCCall_NoUnblockEx with
1512 BlockedOnCCall_Interruptible, and changes the behavior of the RTS
1513 to not modify the TSO_ flags on the event of an FFI call from
1514 a thread that was interruptible.  It also modifies the bytecode
1515 format for foreign call, adding an extra Word16 to indicate
1516 interruptibility.
1517 
1518 The semantics of interruption vary from platform to platform, but the
1519 intent is that any blocking system calls are aborted with an error code.
1520 This is most useful for making function calls to system library
1521 functions that support interrupting.  There is no support for pre-Vista
1522 Windows.
1523 
1524 There is a partner testsuite patch which adds several tests for this
1525 functionality.
1526]
1527[Remove ghc-pkg's dependency on haskell98
1528Ian Lynagh <igloo@earth.li>**20101013194356
1529 Ignore-this: 273fdede3f21e682faa4dc6e61f4e7aa
1530]
1531[Build haskell98 and haskell2010 with stage2
1532Ian Lynagh <igloo@earth.li>**20101013182759
1533 Stops us accidentally depending on them
1534]
1535[Fix warning: Remove unused import
1536Ian Lynagh <igloo@earth.li>**20101013141224
1537 Ignore-this: ae8891440811f4676d9bb8e721ad22ca
1538]
1539[Fix warnings
1540benl@ouroborus.net**20101013040335
1541 Ignore-this: 4e5875827d2840de863000cdb35afb0e
1542]
1543[RegAlloc: Track slot liveness over jumps in spill cleaner
1544benl@ouroborus.net**20101013015414
1545 Ignore-this: ccd4a148908b7fbdc6ea76acf527c16b
1546]
1547[Bump Cabal dep
1548Ian Lynagh <igloo@earth.li>**20101012154528
1549 Ignore-this: da8539b957b74c7da91efff8ac25872
1550]
1551[Remove __HASKELL1__, __HASKELL98__, __CONCURRENT_HASKELL__
1552Ian Lynagh <igloo@earth.li>**20101012134700
1553 Ignore-this: d0db531be58537c52802de1c62694eb1
1554 We used to define these CPP symbols, but nothing on hackage uses them
1555 and the first 2 are no longer correct (as we support multiple Haskell
1556 versions).
1557]
1558[Follow Cabal changes: Cabal no longer has a docbook userguide
1559Ian Lynagh <igloo@earth.li>**20101012130538
1560 Ignore-this: bf0b30e465c13f82725d72aec145e939
1561 For now we don't build the Cabal userguide, but we should add markdown
1562 support so that we can do so.
1563]
1564[Fix build on Windows: ghc-pkg/Main.hs needs ForeignFunctionInterface
1565Ian Lynagh <igloo@earth.li>**20101012112111]
1566[Remove unnecessary import
1567Ian Lynagh <igloo@earth.li>**20101010222231
1568 Ignore-this: 6c7d5cee72837e2af43c2807e10ad602
1569]
1570[Make "./validate --slow" run the full testsuite
1571Ian Lynagh <igloo@earth.li>**20101007004327
1572 Ignore-this: 2dee8262c19fd5d5034a186203e20d0f
1573]
1574[Fix build following haskell98 and -fglasgow-exts changes
1575Ian Lynagh <igloo@earth.li>**20101006160656
1576 Ignore-this: c56bdb0f01da897b3de75bcab1e2887c
1577]
1578[Don't automatically link the haskell98 package
1579Ian Lynagh <igloo@earth.li>**20101006130235
1580 The default language is now Haskell2010, so this was a little odd.
1581 Also, --make is now on by default, so this was largely irrelevant.
1582]
1583[Deprecate -fglasgow-exts
1584Ian Lynagh <igloo@earth.li>**20101006124413
1585 Ignore-this: 70be67898a633ab31d76f6fca557d55
1586]
1587[Remove Opt_GADTs and Opt_TypeFamilies from -fglasgow-exts
1588Ian Lynagh <igloo@earth.li>**20101006122000
1589 Ignore-this: 7153ec880b2b5f9d332ae2f57b97afcc
1590 This means most code doesn't get caught by monomorphic local bindings.
1591]
1592[Fix Trac #4360: omitted case in combineCtLoc
1593simonpj@microsoft.com**20101008135747
1594 Ignore-this: 834636a97af6469862a822809253db41
1595]
1596[Beautiful new approach to the skolem-escape check and untouchable
1597simonpj@microsoft.com**20101008133751
1598 Ignore-this: 33517a772cfdfbf4aa4678609f3dcd71
1599 
1600 Instead of keeping a *set* of untouchable variables in each
1601 implication contraints, we keep a *range* of uniques for the
1602 *touchable* variables of an implication.  This are precisely
1603 the ones we would call the "existentials" if we were French.
1604 
1605 It turns out that the code is more efficient, and vastly easier
1606 to get right, than the set-based approach.
1607 
1608 Fixes Trac #4355 among others
1609]
1610[Do less simplification when doing let-generalisation
1611simonpj@microsoft.com**20101008133542
1612 Ignore-this: 71366d0de37f10ffba2edc9f3927ddbe
1613 
1614 This fixes Trac #4361.  In a rather delicate way, but
1615 no more delicate than before.  A more remoseless typechecker
1616 would reject #4361 altogether.
1617 
1618 See Note [Avoid unecessary constraint simplification]
1619]
1620[Suppress ambiguity errors if any other errors occur
1621simonpj@microsoft.com**20101008111318
1622 Ignore-this: 40f014265c1ab15fe172baaf76c23c87
1623]
1624[Fix Trac #4361: be more discerning when inferring types
1625simonpj@microsoft.com**20101008111227
1626 Ignore-this: 33656f9a151f494b26b6318b5fcffef
1627 
1628 Note [Avoid unecessary constraint simplification] in TcSimplify
1629]
1630[Float out partial applications
1631Simon Marlow <marlowsd@gmail.com>**20101008092709
1632 Ignore-this: 2dc9d10597c19d0598ef2fc3cf74156d
1633 
1634 This fixes at least one case of performance regression in 7.0, and
1635 is nice win on nofib:
1636 
1637         Program           Size    Allocs   Runtime   Elapsed
1638             Min          +0.3%    -63.0%    -38.5%    -38.7%
1639             Max          +1.2%     +0.2%     +0.9%     +0.9%
1640  Geometric Mean          +0.6%     -3.0%     -6.4%     -6.6%
1641]
1642[Suppress knock-on typechecker errors
1643simonpj@microsoft.com**20101008094348
1644 Ignore-this: 8d125926286a7614fa1ce998e3b26d04
1645 
1646 The error cascade caused puzzling errors in T4093b, and
1647 suppressing some seems like a good plan.  Very few test
1648 outputs change.
1649]
1650[Some refactoring and simplification in TcInteract.occurCheck
1651simonpj@microsoft.com**20101007163500
1652 Ignore-this: d43d09370ab27b8796062e2e98ce7e9
1653]
1654[Comments only
1655simonpj@microsoft.com**20101007130301
1656 Ignore-this: ab46592edd3d24786bbce42c50feb4fd
1657]
1658[Implement auto-specialisation of imported Ids
1659simonpj@microsoft.com**20101007111051
1660 Ignore-this: 45257ff6e9597e4fa4de10b0657e27d6
1661 
1662 This big-ish patch arranges that if an Id 'f' is
1663   * Type-class overloaded
1664        f :: Ord a => [a] -> [a]
1665   * Defined with an INLINABLE pragma
1666        {-# INLINABLE f #-}
1667   * Exported from its defining module 'D'
1668 
1669 then in any module 'U' that imports D
1670 
1671 1. Any call of 'f' at a fixed type will generate
1672    (a) a specialised version of f in U
1673    (b) a RULE that rewrites unspecialised calls to the
1674        specialised on
1675 
1676   e.g. if the call is (f Int dOrdInt xs) then the
1677   specialiser will generate
1678      $sfInt :: [Int] -> [Int]
1679      $sfInt = <code for f, imported from D, specialised>
1680      {-# RULE forall d.  f Int d = $sfInt #-}
1681 
1682 2. In addition, you can give an explicit {-# SPECIALISE -#}
1683    pragma for the imported Id
1684      {-# SPECIALISE f :: [Bool] -> [Bool] #-}
1685    This too generates a local specialised definition,
1686    and the corresponding RULE
1687 
1688 The new RULES are exported from module 'U', so that any module
1689 importing U will see the specialised versions of 'f', and will
1690 not re-specialise them.
1691 
1692 There's a flag -fwarn-auto-orphan that warns you if the auto-generated
1693 RULES are orphan rules. It's not in -Wall, mainly to avoid lots of
1694 error messages with existing packages.
1695 
1696 Main implementation changes
1697 
1698  - A new flag on a CoreRule to say if it was auto-generated.
1699    This is persisted across interface files, so there's a small
1700    change in interface file format.
1701 
1702  - Quite a bit of fiddling with plumbing, to get the
1703    {-# SPECIALISE #-} pragmas for imported Ids.  In particular, a
1704    new field tgc_imp_specs in TcGblEnv, to keep the specialise
1705    pragmas for imported Ids between the typechecker and the desugarer.
1706 
1707  - Some new code (although surprisingly little) in Specialise,
1708    to deal with calls of imported Ids
1709]
1710[Make NameEnv back into type NameEnv a = UniqFM a
1711simonpj@microsoft.com**20101007104638
1712 Ignore-this: 24857c013461788be354520e84f4c286
1713 
1714 I don't think the type distinction of declaring NameEnv with a newtype
1715 (as it was) is really useful to us. Moreover, VarEnv is a UniqFM, and
1716 I do sometimes want to build an envt with Ids and look up with Names.
1717 
1718 This may not be the last word on the subject.
1719]
1720[Improve the rule-matcher
1721simonpj@microsoft.com**20101007103700
1722 Ignore-this: 9de96237dc4b73a43326bd568e34b53b
1723 
1724 Previously it was rejecting the match
1725 
1726   Template: forall s t. map s t
1727   Actual:   map Int t
1728 
1729 which should obviously be fine.  It turns out that this kind of match
1730 comes up when specialising.  By freshening that t we could avoid the
1731 difficulty, but morally the (forall t) binds t and the rule should
1732 be alpha-equivalent regardless of the forall'd variables.
1733 
1734 This patch makes it so, and incidentally makes matching a little
1735 more efficient.  See Note [Eta expansion] in VarEnv.
1736]
1737[Fix Trac #4345: simplifier bug
1738simonpj@microsoft.com**20101007102720
1739 Ignore-this: 261c1c9f094df344ce34de814f8b60c5
1740 
1741 This is another long-standing bug, in which there was a possibility
1742 that a loop-breaker could lose its loop-breaker-hood OccInfo,
1743 and then the simplifer re-simplified the expression. Result, either
1744 non-termination or, in the case of #4345, an unbound identifier.
1745 
1746 The fix is very simple, in Id.transferPolyIdInfo.
1747 See Note [transferPolyIdInfo].
1748]
1749[Avoid redundant simplification
1750simonpj@microsoft.com**20101007095935
1751 Ignore-this: 61bd1a2c508260f558866e6a88c29fa3
1752 
1753 When adding specialisation for imported Ids, I noticed that the
1754 Glorious Simplifier was repeatedly (and fruitlessly) simplifying the
1755 same term.  It turned out to be easy to fix this, because I already
1756 had a flag in the ApplyTo and Select constructors of SimplUtils.SimplCont.
1757 
1758 See Note [Avoid redundant simplification]
1759]
1760[Make the occurrence analyser deal correctly with RULES for imported Ids
1761simonpj@microsoft.com**20101007094100
1762 Ignore-this: 335b1cad013524e42b31e88c0a7a00f6
1763 
1764 This patch fixes a long-standing lurking bug, but it surfaced when I
1765 was adding specialisation for imported Ids.
1766 
1767 See Note [ImpRuleUsage], which explains the issue.   The solution
1768 seems more complicated than the problem really deserves, but I
1769 could not think of a simpler way, so I just bit the bullet and
1770 wrote the code.  Improvements welcome.
1771]
1772[Make warning-free
1773simonpj@microsoft.com**20101007092007
1774 Ignore-this: 4bae0c470a8a1f96d21990d1f3cf1f93
1775]
1776[This is just white-space and layout
1777simonpj@microsoft.com**20101007091618
1778 Ignore-this: 759c0335df70fce32558e967f140803a
1779 
1780 (At least, I don't think there is anything else.)
1781]
1782[Fix an ASSERT failure in FamInstEnv
1783simonpj@microsoft.com**20101007091327
1784 Ignore-this: a8c08ccb7ec2bc65864a674b5441539
1785 
1786 I added a lot of comments too, to explain the preconditions;
1787 esp Note [FamInstEnv]
1788]
1789[Fix a looping bug in the new occur-check code
1790simonpj@microsoft.com**20101007084104
1791 Ignore-this: a02a2deafb9ec986ef1565f4596049ed
1792]
1793[Fix test T4235 with -O
1794simonpj@microsoft.com**20101006155223
1795 Ignore-this: f0fa0fe2f0c493e362d528d71f7a64e1
1796 
1797 The tag2Enum rule wasn't doing the right thing for
1798 enumerations with a phantom type parameter, like
1799    data T a = A | B
1800]
1801[Make warning-free
1802simonpj@microsoft.com**20101006155033
1803 Ignore-this: 221a3c95a6079c6ecc0468996a38b048
1804]
1805[Major bugfixing pass through the type checker
1806dimitris@microsoft.com**20101006152854]
1807[Typechecker performance fixes and flatten skolem bugfixing
1808dimitris@microsoft.com**20101004130200
1809 Ignore-this: 86721ba3f09479c146a0710796b43459
1810]
1811[Performance bug fixes
1812dimitris@microsoft.com**20100923143918]
1813[Fix Trac #4371: matching of view patterns
1814simonpj@microsoft.com**20101006115316
1815 Ignore-this: 494b28b91f1e6392b2f1521cda0e83b1
1816]
1817[Remove unused NoMatchContext construtor
1818simonpj@microsoft.com**20101006115251
1819 Ignore-this: 8985ff1dac51fb652bd65657a630a792
1820]
1821[Refactoring: mainly rename ic_env_tvs to ic_untch
1822simonpj@microsoft.com**20101006102830
1823 Ignore-this: 32999403a3f447e14b59cec7896027ff
1824 
1825 Plus remember to zonk the free_tvs in TcUnify.newImplication
1826]
1827[remove unnecessary/broken definition of mask_
1828Simon Marlow <marlowsd@gmail.com>**20101002195118
1829 Ignore-this: 4cdc9c95d40e01cdfe2d0ac411476603
1830]
1831[-fwarn-tabs: add "Warning" to the message
1832Simon Marlow <marlowsd@gmail.com>**20101002195100
1833 Ignore-this: 589a36daa3426ab51f2fb140e38df6c
1834]
1835[give a better error message in the non-threaded RTS for out-of-range FDs
1836Simon Marlow <marlowsd@gmail.com>**20100929212916
1837 Ignore-this: e94c9f390b8f79d24895a80f9d16c8d9
1838 
1839 # ./aw
1840 aw: file descriptor 1027 out of range for select (0--1024).
1841 Recompile with -threaded to work around this.
1842]
1843[Fix a very rare crash in GHCi
1844Simon Marlow <marlowsd@gmail.com>**20101005144735
1845 Ignore-this: dad1cd08934bae2ba47e72c0c000acfa
1846 When a BCO with a zero-length bitmap was right at the edge of
1847 allocated memory, we were reading a word of non-existent memory.
1848 
1849 This showed up as a segfault in T789(ghci) for me, but the crash was
1850 extremely sensitive and went away with most changes.
1851 
1852 Also, optimised scavenge_large_bitmap a bit while I was in there.
1853]
1854[Using 'stdcall' when it is not supported is only a warning now (#3336)
1855Simon Marlow <marlowsd@gmail.com>**20100924152445
1856 Ignore-this: 66c5903a600a47485a7583535bb38455
1857]
1858[remove unnecessary stg_noForceIO (#3508)
1859Simon Marlow <marlowsd@gmail.com>**20100924150202
1860 Ignore-this: dec52de9cd9da7dcedae12b20691aba9
1861]
1862[Replace an outputStr with putStrLn calls; fixes #4332
1863Ian Lynagh <igloo@earth.li>**20101003125707
1864 Ignore-this: eb4b5f60d9d9d3f7dc203869927b28ba
1865]
1866[make test and fulltest targets in the main Makefile; fixes #4297
1867Ian Lynagh <igloo@earth.li>**20100930224741
1868 You can now run "make test" in the root, and the fast testsuite will be
1869 run with cleaning enabled. It will also put the summary in
1870 testsuite_summary.txt.
1871]
1872[Don't show the loaded packages in ":show packages"; fixes #4300
1873Ian Lynagh <igloo@earth.li>**20100930210128
1874 It's never worked properly, and the information is in ":show linker".
1875]
1876[Handle EXTRA_LIBRARIES when building programs
1877Ian Lynagh <igloo@earth.li>**20100930192552
1878 Ignore-this: 401a26e18d25dcaee010b13eaed8f011
1879 And set hp2ps's EXTRA_LIBRARIES. Based on a patch from Sergei Trofimovich.
1880]
1881[Fix the doc directory on Windows
1882Ian Lynagh <igloo@earth.li>**20100929133328]
1883[Remove an unused import on Windows
1884Ian Lynagh <igloo@earth.li>**20100929000024
1885 Ignore-this: 2899e0e5a47122e637fb5c8aa0df52ab
1886]
1887[Use showCommandForUser when showing tracing commands
1888Ian Lynagh <igloo@earth.li>**20100928235844
1889 Ignore-this: 8a4a9c9f8a8029e708c4297b096b6ef1
1890]
1891[Fix hsc2hs docs: 'gcc' is now the default compiler, not 'ghc'; fixes #4341
1892Ian Lynagh <igloo@earth.li>**20100928201938]
1893[New member "archiveMemberName" for struct _ObjectCode
1894pho@cielonegro.org**20100927224145
1895 Ignore-this: 628bc605e7dc4f0c4856c6f7ad23d9ee
1896 
1897 struct _ObjectCode should be able to retain the name of archive members.
1898 Though currently the only use of those names are for debugging outputs.
1899]
1900[Use an empty signal handler for SIGPIPE instead of SIG_IGN
1901Simon Marlow <marlowsd@gmail.com>**20100925193548
1902 Ignore-this: b4dc5de32740a7c5fd8fe4b3bfb1300f
1903 
1904 This is so that the SIGPIPE handler gets reset to the default
1905 automatically on exec().
1906]
1907[Fix the TH deps
1908Ian Lynagh <igloo@earth.li>**20100925210029
1909 Ignore-this: 32b832301a3625d4ba70f84c5c4f94d2
1910]
1911[Check inplace doesn't exist before we try to create it
1912Ian Lynagh <igloo@earth.li>**20100924191858
1913 This fixes rerunning configure in a tree which already has an inplace
1914 directory. Edward Z Yang ran into this; I guess whether it actually
1915 fails depends on details of your installation, or we'd have run into
1916 it sooner.
1917]
1918[Fix an egregious bug: INLINE pragmas on monomorphic Ids were being ignored
1919simonpj@microsoft.com**20100924155815
1920 Ignore-this: 38c6eec6710a92df7662a55fc5132c15
1921 
1922 I had do to some refactoring to make this work nicely
1923 but now it does. I can't think how this escaped our
1924 attention for so long!
1925]
1926[Eta expand only lambdas that bind a non-dictionary Id
1927simonpj@microsoft.com**20100924155707
1928 Ignore-this: 7cc265eaf6c0bb3fa12eb311d92594ac
1929 
1930 See Note [When to eta expand]. The idea is that dictionary
1931 lambdas are invisible to the user, so we shouldn't eta
1932 expand them.
1933]
1934[Add a comment
1935simonpj@microsoft.com**20100924155620
1936 Ignore-this: de210a1afdd40328824803e1d77b4d7f
1937]
1938[Add a debug print
1939simonpj@microsoft.com**20100924155614
1940 Ignore-this: 1a58b6d297fc77d6ded8eec7ea9f895d
1941]
1942[Just moving comments around
1943simonpj@microsoft.com**20100924155600
1944 Ignore-this: 96635b8e8c9d88b50d82938568152ef8
1945]
1946[use putStrLn instead of Haskeline's outputStrLn
1947Simon Marlow <marlowsd@gmail.com>**20100924133154
1948 Ignore-this: 7581ae11714a9a52e78ba098c3c216b3
1949 use of the latter caused problems for Claus Reinke's macros that
1950 redirect stdout.
1951]
1952[Change "OPTIONS" to "OPTIONS_GHC" in error messages; fixes #4327
1953Ian Lynagh <igloo@earth.li>**20100924120423
1954 Ignore-this: 1697c83a5c346db640c0a2e22c69ff55
1955]
1956[Add deps for TH uses in vector
1957Ian Lynagh <igloo@earth.li>**20100923220244
1958 Ignore-this: 54c3386b1c268821fcdd34b84bc8c6a4
1959]
1960[Bump Cabal dep
1961Ian Lynagh <igloo@earth.li>**20100923143241]
1962[Update Cabal's version number
1963Ian Lynagh <igloo@earth.li>**20100923141719]
1964[Build primitive with stage2
1965Ian Lynagh <igloo@earth.li>**20100923140525
1966 Ignore-this: 110a819b78a57629a7edf1d4facdc191
1967]
1968[Fix the Windows __chkstk build error (missing Linker symbol)
1969Simon Marlow <marlowsd@gmail.com>**20100924113837
1970 Ignore-this: 48f0907bb1bd5eaa0730b94a6bd94ea
1971]
1972[emit a helpful error message for missing DPH packages
1973Simon Marlow <marlowsd@gmail.com>**20100923141957
1974 Ignore-this: 55ff2ee90c94524e023e014243bfe5df
1975]
1976[Fix computation of installed packages
1977simonpj@microsoft.com**20100924084737
1978 Ignore-this: a597d2fa8be5135ba8ead6d2624b3d71
1979 
1980 This is a follow-on to Simon's patch yesterday, developed
1981 with him.  It cleans up the computation of how packages
1982 are installed, and installs the right ones.
1983]
1984[Fix braino in WwLib/Literal patch
1985simonpj@microsoft.com**20100924070914
1986 Ignore-this: f6eb3a42e10f8aa7920de541cdfe76d8
1987]
1988[For now, switch off incomplete-pattern warnings in containers
1989simonpj@microsoft.com**20100923130117
1990 Ignore-this: 7ffa58567f7a33aafe256492999da325
1991 
1992 Put it back on when my patch is applied to the containers repo.
1993 (the one that removes two refuable lambdas)
1994]
1995[Make -funfolding-dict-threshold work properly
1996simonpj@microsoft.com**20100923130032
1997 Ignore-this: 417788f5b09d1d624f6b6371852c80c7
1998 
1999 and increase its default value. This makes overloaded functions
2000 a bit keener to inline.  Which fixes Trac #4321
2001]
2002[Impredicative types is no longer deprecated
2003simonpj@microsoft.com**20100923125910
2004 Ignore-this: 2bbaeb38b5e8424551677c0add627683
2005]
2006[Do not make FunctionalDependencies force MonoLocalBinds
2007simonpj@microsoft.com**20100923125900
2008 Ignore-this: f4ae1fd07c87ec14f60bdfe3863ba7a9
2009]
2010[move CHECKED settings to the right place
2011Simon Marlow <marlowsd@gmail.com>**20100923123558
2012 Ignore-this: e00a0eb5855463cc9b953670b3bbf211
2013]
2014[turn off -Werror for primitive and vector
2015Simon Marlow <marlowsd@gmail.com>**20100923122055
2016 Ignore-this: 54d7b80f3f893385e1c3ef431e2a8a7b
2017]
2018[Add primitive and vector packages for DPH support
2019Simon Marlow <marlowsd@gmail.com>**20100923104542
2020 Ignore-this: c070d015385b0a0797394132dcbb7670
2021 DPH is now using the public vector package instead of its internal
2022 version.
2023 
2024 vector and primitive are not "boot" packages; they aren't required to
2025 build GHC, but they are required to validate (because we include DPH
2026 when validating).
2027 
2028 If you say './darcs-all get --no-dph' then you don't get DPH, vector,
2029 or primitive.
2030]
2031[Refactoring and tidy up in the build system
2032Simon Marlow <marlowsd@gmail.com>**20100923095642
2033 Ignore-this: f7bf3a1fd160149d89b26f464b064fb1
2034 
2035 Instead of the ghc-stage and ghc-stage2-package files in a package, we
2036 now have a list of these in ghc.mk.  There are other similar lists (of
2037 boot-packages and non-installable packages), so this is not too bad,
2038 and is simpler.
2039 
2040 While poking around in the top-level ghc.mk file I spotted various
2041 opportunities to clean up and re-order some of the cruft that has
2042 accumulated over time.
2043]
2044[Allow absent State# RealWorld arguments
2045simonpj@microsoft.com**20100923111356
2046 Ignore-this: c2d57633dec0293ebe6723ea3a4bb5df
2047]
2048[Add notSCCNote, and use it
2049simonpj@microsoft.com**20100923105949
2050 Ignore-this: c8cc758656558a7f366bf784d75f0304
2051 
2052 The point here is that SCCs get in the way of eta
2053 expansion and we must treat them uniformly.
2054]
2055[Remove use of lambda with a refutable pattern
2056simonpj@microsoft.com**20100923105901
2057 Ignore-this: d7d48b94e5744717a838591a1cc79cf0
2058]
2059[Avoid ASSERT black hole
2060simonpj@microsoft.com**20100923105820
2061 Ignore-this: 5419d450871be22c8781ac3f0f40d76a
2062 
2063 When this ASSERT tripped in CoreToStg it tried to print out
2064 too much, which tripped the asssertion again.  Result: an
2065 infinite loop with no output at all.  Hard to debug!
2066]
2067[Rejig the absent-arg stuff for unlifted types
2068simonpj@microsoft.com**20100923105732
2069 Ignore-this: 69daa35816b948b0c4d259c73a5e928e
2070 
2071 This is what was giving the "absent entered" messages
2072 See Note [Absent errors] in WwLib.  We now return a
2073 suitable literal for absent values of unlifted type.
2074]
2075[Remove -fwarn-simple-patterns, and make -fwarn-incomplete-patterns include lambdas
2076simonpj@microsoft.com**20100922133934
2077 Ignore-this: e851a2fb0377e10c28c506f0bf14cc85
2078 
2079 This makes
2080      \(x:xs) -> e
2081 want when you have -fwarn-incomplete-patterns, which is consistent.
2082]
2083[Get rid of non-exhaustive lambda
2084simonpj@microsoft.com**20100922133801
2085 Ignore-this: 748b2d5b43b02b6591b81abe7c105cd6
2086]
2087[Fix an ASSERT failure with profiling
2088simonpj@microsoft.com**20100922133741
2089 Ignore-this: 170b2e94d6ee8cc7444cc4bb515328a0
2090 
2091 The problem arose with this kind of thing
2092 
2093    x = (,) (scc "blah" Nothing)
2094 
2095 Then 'x' is marked NoCafRefs by CoreTidy, becuase it has
2096 arity 1, and doesn't mention any caffy things.
2097 
2098 That in turns means that CorePrep must not float out the
2099 sat binding to give
2100 
2101   sat = scc "blah" Nothing
2102   x = (,) sat
2103 
2104 Rather we must generate
2105 
2106   x = \eta. let sat = scc "blah" Nothing
2107             in (,) sat eta
2108 
2109 URGH! This Caf stuff is such a mess.
2110]
2111[Remove an out of date paragraph from the user guide; fixes #4331
2112Ian Lynagh <igloo@earth.li>**20100922225239]
2113[Fix bindisttest when GhcProfiled = YES
2114Ian Lynagh <igloo@earth.li>**20100921222634
2115 Ignore-this: 47c620fd6bec745e3eb699d9f53441d8
2116]
2117[Fixes for when HADDOCK_DOCS=NO
2118Ian Lynagh <igloo@earth.li>**20100921213916
2119 Ignore-this: e0e069555c6db9d01a8ac70ba4dde591
2120]
2121[Bump version to 7.1
2122Ian Lynagh <igloo@earth.li>**20100921195935
2123 Ignore-this: 4563987e6885d5ef55995ec0fa0d5ae8
2124]
2125[Don't use -march=i686 on powerpc-apple-darwin
2126Ian Lynagh <igloo@earth.li>**20100921193721
2127 Thorikil ran into this when doing a PPC OS X build. We now also don't
2128 use -m32 on PPC/OSX, but I don't think it should be necessary. We can
2129 add it back if it does turn out to be.
2130]
2131[add a simple trace facility to the build system
2132Simon Marlow <marlowsd@gmail.com>**20100921134729
2133 Ignore-this: d23ea2d62a648d0711b4b07d98e1b79f
2134 
2135 saying
2136 
2137   make TRACE=1
2138 
2139 prints most of the macro calls and their arguments.  It's easy to
2140 trace new macros; see rules/trace.mk.
2141]
2142[fix building with extra packages (packages were added to BUILD_DIRS twice)
2143Simon Marlow <marlowsd@gmail.com>**20100921100153
2144 Ignore-this: 4b425dff9777871ad5ba3e05e1d14483
2145 Also add some comments about what extra-packages is doing
2146]
2147[add extra packages to $(EXTRA_PACKAGES), so we avoid installing them by default
2148Simon Marlow <marlowsd@gmail.com>**20100920144307
2149 Ignore-this: 3395825d911a8bf7ba8385518d8b517b
2150]
2151[Fix indexing error in archive loader
2152Ian Lynagh <igloo@earth.li>**20100921121642]
2153[Add some -Dl belches
2154Ian Lynagh <igloo@earth.li>**20100921121624]
2155[Add casts to fix warnings
2156Ian Lynagh <igloo@earth.li>**20100921121714]
2157[Add support for BSD-variant large filenames in .a archives
2158Ian Lynagh <igloo@earth.li>**20100921000451]
2159[Tell Cabal that we're not building GHCi libs if UseArchivesForGhci=YES
2160Ian Lynagh <igloo@earth.li>**20100920230449]
2161["UseArchivesForGhci = YES" on darwin
2162Ian Lynagh <igloo@earth.li>**20100920211538]
2163[Add a dependency that my OS X build has recently started tripping up over
2164Ian Lynagh <igloo@earth.li>**20100920210239]
2165[Add "Use archives for ghci" to --info output
2166Ian Lynagh <igloo@earth.li>**20100920210523]
2167[Implement archive loading for ghci
2168Ian Lynagh <igloo@earth.li>**20100920201620]
2169[Tweak gen_contents_index now dph may not be there
2170Ian Lynagh <igloo@earth.li>**20100920201513]
2171[Filter out the FFI library when loading package in ghci
2172Ian Lynagh <igloo@earth.li>**20100920181032
2173 The FFI GHCi import lib isn't needed as
2174 compiler/ghci/Linker.lhs + rts/Linker.c link the
2175 interpreted references to FFI to the compiled FFI.
2176 We therefore filter it out so that we don't get
2177 duplicate symbol errors.
2178]
2179[Loosen the conditions for -XUndecidableInstances; fixes Trac #4200
2180simonpj@microsoft.com**20100919162623
2181 Ignore-this: 2f4323e278b1ce9250549727ffd0aa1b
2182]
2183[Further improvements in error messages
2184simonpj@microsoft.com**20100919153355
2185 Ignore-this: b6fa0b11ae893df1a3ca68f78e427fa
2186]
2187[Add a flag -fwarn-missing-local-sigs, and improve -fwarn-mising-signatures
2188simonpj@microsoft.com**20100919153327
2189 Ignore-this: fda8dfca450054ea692be0ee30b01885
2190 
2191 The new flag prints out a warning if you have a local,
2192 polymorphic binding that lacks a type signature. It's meant
2193 to help with the transition to the new typechecker, which
2194 discourages local let-generalisation.
2195 
2196 At the same time I moved the missing-signature code to TcHsSyn,
2197 where it takes place as part of zonking.  That way the
2198 types are reported after all typechecking is complete,
2199 thereby fixing Trac #3696.  (It's even more important for
2200 local bindings, which is why I made the change.)
2201]
2202[Include the "stupid theta" in the type of $con2tag
2203simonpj@microsoft.com**20100919152201
2204 Ignore-this: d95fae78a0e66f48bbd5862573a11f4d
2205]
2206[Add a release note about the typechecker
2207Ian Lynagh <igloo@earth.li>**20100919132927]
2208[Enable shared libs on OpenBSD
2209Matthias Kilian <kili@outback.escape.de>**20100918205040
2210 Ignore-this: 729dd7ac0bba5d758f43bc31b541896
2211]
2212[Add separate functions for querying DynFlag and ExtensionFlag options
2213Ian Lynagh <igloo@earth.li>**20100918163815
2214 and remove the temporary DOpt class workaround.
2215]
2216[Fix mkUserGuidePart deps
2217Ian Lynagh <igloo@earth.li>**20100918145904
2218 We need to directly depend on the stage1 libs. The stage1 compiler lib
2219 doesn't depend on them.
2220]
2221[Fix build on cygwin: Normalise slashes in .depend files to be /
2222Ian Lynagh <igloo@earth.li>**20100918132328
2223 Ignore-this: 664f5ef4a41a4461eb34fe2ca7f2729a
2224]
2225[extra packages info is now read from packages file
2226Ian Lynagh <igloo@earth.li>**20100917224409
2227 rather than being repeated in the build system
2228]
2229[Tweak darcs-all
2230Ian Lynagh <igloo@earth.li>**20100917194435]
2231[Bump dependencies
2232Ian Lynagh <igloo@earth.li>**20100917183609]
2233[Library release notes for 7.0.1
2234Ian Lynagh <igloo@earth.li>**20100917174850]
2235[Fix overriding of implicit parameters in the solver
2236simonpj@microsoft.com**20100917140403
2237 Ignore-this: af76732309c7e2ca6b04f49327e9c14b
2238]
2239[Minor type printing amomaly
2240simonpj@microsoft.com**20100917140204
2241 Ignore-this: c90cb2e51421b4543a827e096051772e
2242]
2243[Spaces only
2244simonpj@microsoft.com**20100917140156
2245 Ignore-this: 7e34479502f7cb87d762355e40cbd012
2246]
2247[Minor refactoring
2248simonpj@microsoft.com**20100917140150
2249 Ignore-this: 6c0648b949b91b7e2f23c136b124faf2
2250]
2251[Add types of implicit parameters as untouchable
2252simonpj@microsoft.com**20100917140138
2253 Ignore-this: ba80740a557a9ba062dc7756e2320d17
2254 
2255 This is a tricky point:
2256    see Note [Implicit parameter untouchables]
2257]
2258[Better pretty printing of implicit parameters
2259simonpj@microsoft.com**20100917140054
2260 Ignore-this: 867dd67818a5bd687b2b6a1b59e15775
2261]
2262[Yet more error message improvement
2263simonpj@microsoft.com**20100917121206
2264 Ignore-this: 647fe8129d1d39d81e8249debd8df94e
2265]
2266[More error message wibbles
2267simonpj@microsoft.com**20100917094721
2268 Ignore-this: 8ec2f150b96b26af2e9ab7ac2b371fc7
2269]
2270[More error refactoring
2271simonpj@microsoft.com**20100917092834
2272 Ignore-this: 2d570ac0b9cc11305ddd33d093d11324
2273]
2274[Refactor type errors a bit
2275simonpj@microsoft.com**20100917080726
2276 Ignore-this: 33da4549373f585064e2ee22b50ad6ac
2277 
2278 Improves kind error messages in paticular
2279]
2280[Fix a very subtle shadowing bug in optCoercion
2281simonpj@microsoft.com**20100916170452
2282 Ignore-this: 9041cfb3c93e27a5e644e57815313aae
2283 
2284 See Note [Subtle shadowing in coercions]
2285 
2286 This is what was going wrong in Trac 4160.
2287]
2288[Fix bad error in tyVarsOfType
2289simonpj@microsoft.com**20100916170348
2290 Ignore-this: 67c8ce96a668cf6e3a38b82c893bcd81
2291 
2292 We weren't gathering the type variables free in the kind
2293 of a coercion binder!
2294]
2295[More assertions
2296simonpj@microsoft.com**20100916170310
2297 Ignore-this: 7fdcb53c99d791621a3d7e01ef454404
2298]
2299[Add more location info in CoreLint
2300simonpj@microsoft.com**20100916170229
2301 Ignore-this: 6558bab544b4f30189e0430668db87c3
2302]
2303[Print coercion variables as such (debugging change only)
2304simonpj@microsoft.com**20100916165944
2305 Ignore-this: c6d2001c1d8279a2288cb63bc339577d
2306]
2307[Remove pprTrace
2308simonpj@microsoft.com**20100915225935
2309 Ignore-this: 28185bbfa9732386f3c0f3eb4781a637
2310]
2311[Remove dead code dealing with type refinement
2312simonpj@microsoft.com**20100915223230
2313 Ignore-this: 62824b5c2ec1077c7642163352559621
2314]
2315[Use mkAppTy
2316simonpj@microsoft.com**20100915223205
2317 Ignore-this: e79e087b6a49219e9088846a1253a153
2318 
2319 Using AppTy in CoreLint was giving a bogus Lint failure
2320]
2321[Comments only
2322simonpj@microsoft.com**20100915221253
2323 Ignore-this: 3a45ea614188ccbb4a462de5cac96eda
2324]
2325[Extend eta reduction to work with casted arguments
2326simonpj@microsoft.com**20100915221229
2327 Ignore-this: 24b103dcdf70331211507af929789f86
2328 
2329 See Trac #4201, and
2330 Note [Eta reduction with casted arguments]
2331 
2332 Thanks to Louis Wasserman for suggesting this, and
2333 implementing an early version of the patch
2334]
2335[Allow "INLINEABLE" as a synonym
2336simonpj@microsoft.com**20100915154249
2337 Ignore-this: f41f80cb769e9acd5b463b170df698d0
2338]
2339[Documentation for INLINABLE
2340simonpj@microsoft.com**20100915154235
2341 Ignore-this: f942c02bcadc0d2d2f05b9369f93e280
2342]
2343[Implement TH reification of instances (Trac #1835)
2344simonpj@microsoft.com**20100915151242
2345 Ignore-this: 97dfa83db7da8f6cbd1b96801a57f8c5
2346 
2347 Accompanying patch for template-haskell package is reqd
2348]
2349[errno corresponding to ERROR_NO_DATA should be EPIPE (non-threaded RTS)
2350Simon Marlow <marlowsd@gmail.com>**20100915141809
2351 Ignore-this: 709c7280fbaa762e7071fb8796e8c01e
2352]
2353[Windows: use a thread-local variable for myTask()
2354Simon Marlow <marlowsd@gmail.com>**20100915120627
2355 Ignore-this: 13ffa4f19ebd319fe672af53af8d0b9a
2356 Which entailed fixing an incorrect #ifdef in Task.c
2357]
2358[Fix typo
2359Ian Lynagh <igloo@earth.li>**20100915140814]
2360[Add quotes in error message
2361simonpj@microsoft.com**20100915144724
2362 Ignore-this: c5158047c0aa41947a79e4c8edbe54f4
2363]
2364[Fix isDefaultInlinePragma
2365simonpj@microsoft.com**20100915144710
2366 Ignore-this: c9addf6bf811b23dc12603cf8521aa6c
2367]
2368[Implement INLINABLE pragma
2369simonpj@microsoft.com**20100915124442
2370 Ignore-this: 80a4ab2c2d65b27868dc9b2e954d6c6f
2371 
2372 Implements Trac #4299.  Documentation to come.
2373]
2374[Less voluminous error when derived code doesn't typecheck
2375simonpj@microsoft.com**20100915072301
2376 Ignore-this: eca7871dcc50c1070a0b530711adea27
2377]
2378[Improve pretty-printing of family instances
2379simonpj@microsoft.com**20100915123219
2380 Ignore-this: 25ec6bcc7e8a7f7c303b38ca201db90e
2381 
2382 Fixed Trac #4246
2383]
2384[Fix Trac #4240: -ddump-minimal-imports
2385simonpj@microsoft.com**20100915121937
2386 Ignore-this: ab85057cb829a42ea44a92f7b4af24a3
2387 
2388 See Note [Partial export] for the details.
2389 I also fixed one egregious bug that was just
2390 waiting to bite: we were using loadSysInterface
2391 instead of loadSrcInterface.
2392]
2393[Comments only
2394simonpj@microsoft.com**20100915105707
2395 Ignore-this: ab3a5f16f8260b7b8570e748bf97998a
2396]
2397[implement setThreadAffinity on Windows (#1741)
2398Simon Marlow <marlowsd@gmail.com>**20100914155844
2399 Ignore-this: a14c7b4ef812007042342d0a25478f0b
2400]
2401[COFF: cope with new debug sections in gcc 4.x (fixes ghciprog004)
2402Simon Marlow <marlowsd@gmail.com>**20100914153026
2403 Ignore-this: f340e40a2b0390836bc61bba144a04ed
2404 Also updated the object file parser to properly handle the overflow
2405 case for section names longer than 8 chars.
2406]
2407[eliminate clutter from make output
2408Simon Marlow <marlowsd@gmail.com>**20100915105712
2409 Ignore-this: bfa4480dd239dda2a02ac391b6a9219c
2410]
2411[rts_isProfiled should be a visible API (fixes T2615(dyn))
2412Simon Marlow <marlowsd@gmail.com>**20100915083941
2413 Ignore-this: b8ac09bb9d1a929bf45c6122f8485561
2414]
2415[Fix the "lost due to fragmentation" calculation
2416Simon Marlow <marlowsd@gmail.com>**20100914145945
2417 Ignore-this: cdffcc9f3061c3a33da5171be111fc43
2418 It was counting the space used by block descriptors as "lost"
2419]
2420[fix +RTS -S output: use peak_mblocks_allocated, now that mblocks can be freed
2421Simon Marlow <marlowsd@gmail.com>**20100914135030
2422 Ignore-this: 65d21e5f86d3ab6ab4d6c255180b6968
2423]
2424[Fix egregious bug in deeplyInstantiate
2425simonpj@microsoft.com**20100915070325
2426 Ignore-this: 22ede973038877af2673339aaf5de6cf
2427 
2428 This resulted in an infinite loop in applyTypeToArgs, in syb
2429]
2430[Improve HsSyn pretty printing
2431simonpj@microsoft.com**20100915070255
2432 Ignore-this: 7c8e2d86a482453c7e69e22bc31cb03f
2433]
2434[Remove (most of) the FiniteMap wrapper
2435Ian Lynagh <igloo@earth.li>**20100914201703
2436 We still have
2437     insertList, insertListWith, deleteList
2438 which aren't in Data.Map, and
2439     foldRightWithKey
2440 which works around the fold(r)WithKey addition and deprecation.
2441]
2442[Improve ASSERT
2443simonpj@microsoft.com**20100914113900
2444 Ignore-this: dbc0363be5924f543316e77f7d18dd77
2445]
2446[Comment on what an "enumeration" type is
2447simonpj@microsoft.com**20100914113850
2448 Ignore-this: c09c8591e3140f305d55fbf945adbf95
2449]
2450[Make absent-arg wrappers work for unlifted types (fix Trac #4306)
2451simonpj@microsoft.com**20100914113827
2452 Ignore-this: 1945e56779329e8b79780403710aba98
2453 
2454 Previously we were simply passing arguments of unlifted
2455 type to a wrapper, even if they were absent, which was
2456 stupid.
2457 
2458 See Note [Absent error Id] in WwLib.
2459]
2460[Comments only
2461simonpj@microsoft.com**20100914113641
2462 Ignore-this: 3191ce856c9b5d9700cedc9b149b8097
2463]
2464[Move error-ids to MkCore (from PrelRules)
2465simonpj@microsoft.com**20100914113635
2466 Ignore-this: c3d820db62ba6139dd7c96bf97e51bb5
2467 
2468 and adjust imports accordingly
2469]
2470[More wibbles to deriving error messages
2471simonpj@microsoft.com**20100914113523
2472 Ignore-this: bd2df662644961138fa209aec843a2aa
2473]
2474[Fix getThreadCPUTime()
2475Simon Marlow <marlowsd@gmail.com>**20100913153838
2476 Ignore-this: 950e048a5724086534b74c609c7d5ed
2477 ever since the patch "Check with sysconf _POSIX_THREAD_CPUTIME", it
2478 has been returning incorrect results, because the sysconf variable to
2479 check should have been _SC_THREAD_CPUTIME, not _POSIX_THREAD_CPUTIME.
2480]
2481[filter out the gcc-lib directory from the rts package's library-dirs
2482Simon Marlow <marlowsd@gmail.com>**20100913101259
2483 Ignore-this: 46dc1dccbfee8a65f9243e125eee117f
2484 fixes problems when building with GHC 6.10 on Windows
2485]
2486[Don't include GC time in heap profiles (#4225)
2487Simon Marlow <marlowsd@gmail.com>**20100913133852
2488 Ignore-this: 68ac48b004b311384b5996c6b33ba5cc
2489]
2490[Use clock_gettime (if available) to measure the process CPU time
2491Simon Marlow <marlowsd@gmail.com>**20100913133818
2492 Ignore-this: 8c9300df9b929bfc1db4713c9b6065b3
2493 This is much more accurate than getrusage, which was giving misleading
2494 results when trying to time very quick operations like a minor GC.
2495]
2496[make stg_arg_bitmaps public, and available via the GHCi linker (#3672)
2497Simon Marlow <marlowsd@gmail.com>**20100913105235
2498 Ignore-this: e18efd0bd77c521e5530fb59e93b5a42
2499]
2500[fix typo
2501Simon Marlow <marlowsd@gmail.com>**20100913105100
2502 Ignore-this: 6049eea21208864203b2d79db2edd143
2503]
2504[Update release notes and docs with LLVM info.
2505David Terei <davidterei@gmail.com>**20100914072135
2506 Ignore-this: 5b3d0e5c9d5da98ed6ae9c2e8e1f6f30
2507]
2508[Remove defaultExtensionFlags
2509Ian Lynagh <igloo@earth.li>**20100913165949
2510 The default should do into languageExtensions instead
2511]
2512[Improve crash message
2513simonpj@microsoft.com**20100913170407
2514 Ignore-this: 5c26a9979f18be8cd12cea823c9f4b5a
2515]
2516[Fix Trac #4302, plus a little refactoring
2517simonpj@microsoft.com**20100913170355
2518 Ignore-this: cf6886b587aa0e8d723362183625d946
2519]
2520[Fix build with 6.10
2521Ian Lynagh <igloo@earth.li>**20100913160048]
2522[Haddock fixes
2523simonpj@microsoft.com**20100913120510
2524 Ignore-this: f3157d6969f10d4cbd593000a477138b
2525]
2526[Remove two old junk files
2527simonpj@microsoft.com**20100913103426
2528 Ignore-this: ed7af5ef1b9592178909a8d876345302
2529]
2530[Super-monster patch implementing the new typechecker -- at last
2531simonpj@microsoft.com**20100913095048
2532 Ignore-this: 14d14a1e4d7a414f5ae8d9d89d1c6a4b
2533 
2534 This major patch implements the new OutsideIn constraint solving
2535 algorithm in the typecheker, following our JFP paper "Modular type
2536 inference with local assumptions". 
2537 
2538 Done with major help from Dimitrios Vytiniotis and Brent Yorgey.
2539 
2540]
2541[Fix simplifier statistics
2542simonpj@microsoft.com**20100909085441
2543 Ignore-this: 48e383655aafc912dea15c4d94382863
2544]
2545[Trace output
2546simonpj@microsoft.com**20100908170056
2547 Ignore-this: 4b67fa4b310fbf0a16b852686d2d3294
2548]
2549[Better debug output
2550simonpj@microsoft.com**20100908170047
2551 Ignore-this: 410cef00616dda7c0c162f65216e8ca3
2552]
2553[Add Outputable instance for OccEncl
2554simonpj@microsoft.com**20100908150510
2555 Ignore-this: 6362ef9028287d84f070eaf8963c1bfc
2556]
2557[Better simplifier counting
2558simonpj@microsoft.com**20100907214840
2559 Ignore-this: 9d4722703f8f47447e86a28c8c50e0ea
2560]
2561[Put liftStringName into the known-key names
2562simonpj@microsoft.com**20100906112415
2563 Ignore-this: 287064d14ff484da1a6dea6924bc9235
2564]
2565[Deprecate NoRelaxedPolyRec
2566simonpj@microsoft.com**20100903234519
2567 Ignore-this: 607217e77f6bc1b91bf57dfd8dd2b967
2568]
2569[Buglet in Core Lint
2570simonpj@microsoft.com**20100903234457
2571 Ignore-this: 277535d51b396d3b4b0265a0939c2d4
2572]
2573[Give seqId the right type
2574simonpj@microsoft.com**20100903093556
2575 Ignore-this: d1fc7a73dea160614a8d4ddc930f99cd
2576]
2577[Remove dead code
2578simonpj@microsoft.com**20100903093548
2579 Ignore-this: 92cc3f7651445aa349ee7f114d3ec758
2580]
2581[Comments and layout
2582simonpj@microsoft.com**20100903093502
2583 Ignore-this: 9987d1409e654992c1cb1be35cb87728
2584]
2585[Remove checkFreeness; no longer needed
2586simonpj@microsoft.com**20100902233227
2587 Ignore-this: c96a12ac9794290aa30402317d88c095
2588]
2589[Assert
2590simonpj@microsoft.com**20100902073642
2591 Ignore-this: 4be1ab2f6096665ae5ec7fdd1f025a67
2592]
2593[Add aserts
2594simonpj@microsoft.com**20100902073211
2595 Ignore-this: e1409441217fd070c5a7f9ee4cca99ab
2596]
2597[Wibbles
2598simonpj@microsoft.com**20100831113540
2599 Ignore-this: 903811ab493a7b560a62eb86fcf3ee25
2600]
2601[Wibble to allow phantom types in Enum
2602simonpj@microsoft.com**20100825112711
2603 Ignore-this: fdef1c50d92b4a3d46bbe4cbfd8a83ea
2604]
2605[Add HsCoreTy to HsType
2606simonpj@microsoft.com**20100824141845
2607 Ignore-this: 4ca742b099f9cc90af3167f1012dbba6
2608 
2609 The main thing here is to allow us to provide type
2610 signatures for 'deriving' bindings without pain.
2611]
2612[Comments
2613simonpj@microsoft.com**20100823223654
2614 Ignore-this: dd412a55839430c436902d8699d6900b
2615]
2616[Wibbles to error message
2617simonpj@microsoft.com**20100823163308
2618 Ignore-this: 4d6cd8e613762dca8135c2e3b09264ec
2619]
2620[Correct type signatures
2621simonpj@microsoft.com**20100823153045
2622 Ignore-this: 42942309221a443258246098f9c0a13b
2623]
2624[Add missing signatures
2625simonpj@microsoft.com**20100823112413
2626 Ignore-this: 8ee1ce40456306de469938c02df4fed5
2627]
2628[Add type signatures in "deriving" bindings
2629simonpj@microsoft.com**20100820234230
2630 Ignore-this: 4726b28968cf65ec16cb65b7e0e7303e
2631]
2632[Minor
2633dimitris@microsoft.com**20100820131021]
2634[Be a bit less aggressive in mark-many inside a cast
2635simonpj@microsoft.com**20100819104804
2636 Ignore-this: 3fd48fe7647ec7a58c2032cd86ca4d4f
2637]
2638[Wibble
2639simonpj@microsoft.com**20100818185738
2640 Ignore-this: d5c939311377c0d0c7244aa339193315
2641]
2642[Pretty printing change
2643simonpj@microsoft.com**20100818065436
2644 Ignore-this: 4f7e70976dbe52f95effb3e634dfef5d
2645]
2646[Remember to zonk FlatSkols!
2647simonpj@microsoft.com**20100811143555
2648 Ignore-this: 84f7f9dbda97f561a918c69308ddef9a
2649]
2650[De-polymorphise
2651simonpj@microsoft.com**20100730151217
2652 Ignore-this: a9304487b983e517a9083fd697f77576
2653]
2654[Work around missing type signature in Happy
2655simonpj@microsoft.com**20100730122405
2656 Ignore-this: 7f241a655d93c5ad7763a7ffe8db0c7a
2657 
2658 Happy generates
2659 
2660       notHappyAtAll = error "Blah"
2661 
2662 without a type signature, and currently the new
2663 typechecker doesn't generalise it.  This patch
2664 says "no monomorphism restriction" which makes it
2665 generalise again.
2666 
2667 Better would be to add a type sig to Happy's template
2668]
2669[Add two local type signatures
2670simonpj@microsoft.com**20100729152611
2671 Ignore-this: afa99bcc515469aa0990d44d8c18a9e6
2672]
2673[Second test from Simon's laptop
2674simonpj@microsoft.com**20100729091703
2675 Ignore-this: 4dc64cadae314a5a1b05cc5326918a83
2676]
2677[Test commit from Simon's laptop
2678simonpj@microsoft.com**20100729091344
2679 Ignore-this: 109eff835cc19e9f93799d12f09b0ba7
2680]
2681[Add OutsideIn flag
2682simonpj@microsoft.com**20100728075525
2683 Ignore-this: 69c2f5c3a15fa653f6da80598aa8d74d
2684]
2685[Layout only
2686simonpj@microsoft.com**20100727141539
2687 Ignore-this: 1a58a8fe80ba8bced18ae81a2efb9495
2688]
2689[Improvement to SimplUtils.mkLam
2690simonpj@microsoft.com**20100727131659
2691 Ignore-this: 739beaefa79baa7e0ebeb5b2b6d1ea91
2692]
2693[Give the correct kind to unsafeCoerce#
2694simonpj@microsoft.com**20100727131538
2695 Ignore-this: 6b787de3b398c6d7a61fa04fccd15fd6
2696]
2697[Suppress warnings about recursive INLINE in output of desugarer
2698simonpj@microsoft.com**20100727094549
2699 Ignore-this: a361f7238c0fcba526d46326722c42e
2700]
2701[Rename CorePrep.tryEtaReduce to tryEtaReducePrep
2702simonpj@microsoft.com**20100726231253
2703 Ignore-this: 4375ddace205745244ba224ae012252
2704 
2705 This avoids the name clash with the similar but
2706 not identical CoreUtils.tryEtaReduce
2707]
2708[Add a trace message
2709simonpj@microsoft.com**20100719211111
2710 Ignore-this: b5daebe46e50c8cf28cc693f84bbf099
2711]
2712[Don't use RelaxedPolyRec in the compiler; it's built in now
2713simonpj@microsoft.com**20100719170441
2714 Ignore-this: a2e4489cdf63478e46282a421ee7aec3
2715]
2716[Remove duplicated #defines for FreeBSD
2717Matthias Kilian <kili@outback.escape.de>**20100912181518
2718 Ignore-this: d16214fef8635c7c9ef4edec4e8e7896
2719]
2720[Don't fail with absolute silence
2721Matthias Kilian <kili@outback.escape.de>**20100912150506
2722 Ignore-this: 479e2321f39b263fa2d9f80491e5e9f7
2723]
2724[Add a release note: "-dynload wrapper" removed
2725Ian Lynagh <igloo@earth.li>**20100911195809]
2726[put back the conversion of warn-lazy-unlifted-bindings into an error until 7.2
2727Ian Lynagh <igloo@earth.li>**20100911193434
2728 I think we'll currently still have too many people with old versions of
2729 alex/happy to want to make this an error now.
2730]
2731[6.14 -> 7.0
2732Ian Lynagh <igloo@earth.li>**20100911192837]
2733[Add a couple more release notes
2734Ian Lynagh <igloo@earth.li>**20100911162059]
2735[Document -dsuppress-module-prefixes
2736Ian Lynagh <igloo@earth.li>**20100911162005]
2737[Enable -fregs-graph with -O2; fixes #2790
2738Ian Lynagh <igloo@earth.li>**20100910191301]
2739[Remove unused code
2740Ian Lynagh <igloo@earth.li>**20100909170207]
2741[Fix warnings
2742Ian Lynagh <igloo@earth.li>**20100909154348]
2743[Fix warnings
2744Ian Lynagh <igloo@earth.li>**20100909150957]
2745[Remove context completion
2746lykahb@gmail.com**20100901160153
2747 Ignore-this: dc61b259dcb7063f0c76f56788b5d2af
2748 Now completion suggests to remove only modules added to context before.
2749]
2750[avoid Foreign.unsafePerformIO
2751Ross Paterson <ross@soi.city.ac.uk>**20100909125531
2752 Ignore-this: 5cabeae4cffec8fc17ef7c0cabbea22a
2753]
2754[updates to the release notes
2755Simon Marlow <marlowsd@gmail.com>**20100909111450
2756 Ignore-this: a4d25ad8815c305b7e0f21fd4f6ee37b
2757]
2758[newAlignedPinnedByteArray#: avoid allocating an extra word sometimes
2759Simon Marlow <marlowsd@gmail.com>**20100909110805
2760 Ignore-this: 996a3c0460068ab2835b4920905b3e75
2761]
2762[Finish breaking up vectoriser utils
2763benl@ouroborus.net**20100909061311
2764 Ignore-this: 217fe1d58a3e8bb13200bcb81353a416
2765]
2766[Move VectType module to Vectorise tree
2767benl@ouroborus.net**20100909042451
2768 Ignore-this: 5af8cf394d4835911259ca3ffb6774c5
2769]
2770[Sort all the PADict/PData/PRDict/PRepr stuff into their own modules
2771benl@ouroborus.net**20100909035147
2772 Ignore-this: 53436329773347cad793adbd83e90a9e
2773]
2774[Break out Repr and PADict stuff for vectorisation of ADTs to their own modules
2775benl@ouroborus.net**20100909025759
2776 Ignore-this: d2b7d2f79332eda13416449742f7cf1c
2777]
2778[Break out conversion functions to own module
2779benl@ouroborus.net**20100909023332
2780 Ignore-this: 613f2666b6ca7f2f8876fcc1e4a59593
2781]
2782[Comments and formatting only
2783benl@ouroborus.net**20100909022117
2784 Ignore-this: c8e30139d730669e5db44f0ef491a588
2785]
2786[Remove "-dynload wrapper"; fixes trac #4275
2787Ian Lynagh <igloo@earth.li>**20100908213251]
2788[Don't set visibility on Windows
2789Ian Lynagh <igloo@earth.li>**20100905122442
2790 With gcc 4.5.0-1, using visibility hidden gives:
2791     error: visibility attribute not supported in this configuration; ignored
2792]
2793[Fix warnings on Windows
2794Ian Lynagh <igloo@earth.li>**20100905111201
2795 Ignore-this: c5cce63bb1e0c7a27271bed78d25fbc5
2796]
2797[Fix gcc wrapper for new mingw binaries
2798Ian Lynagh <igloo@earth.li>**20100905001807
2799 Ignore-this: f6acc8c911055ffce632bac138ccc939
2800]
2801[Don't pass our gcc options to stage0 ghc's gcc; they may not be suitable
2802Ian Lynagh <igloo@earth.li>**20100905103129]
2803[Update intree-mingw creation
2804Ian Lynagh <igloo@earth.li>**20100904225559]
2805[Update commands to build in-tree mingw
2806Ian Lynagh <igloo@earth.li>**20100904215112]
2807[Break out hoisting utils into their own module
2808benl@ouroborus.net**20100908074102
2809 Ignore-this: e3ba4ed0252a2def1ed88a9e14c58fea
2810]
2811[Break out closure utils into own module
2812benl@ouroborus.net**20100908072040
2813 Ignore-this: 216172b046ff101cf31a1753667a5383
2814]
2815[Move VectVar module to Vectorise tree
2816benl@ouroborus.net**20100908065904
2817 Ignore-this: 1fba5333d29927dba4275381e1a7f315
2818]
2819[Break out vectorisation of expressions into own module
2820benl@ouroborus.net**20100908065128
2821 Ignore-this: 6a952b80fb024b5291f166477eb1976
2822]
2823[Break out TyCon classifier into own module
2824benl@ouroborus.net**20100908063111
2825 Ignore-this: da754c4ef6960b4e152ea1bf8c04ab6f
2826]
2827[Break out vectorisation of TyConDecls into own module
2828benl@ouroborus.net**20100908052004
2829 Ignore-this: c0ab4fb2a05ca396efe348b384db1ebf
2830]
2831[Break out type vectorisation into own module
2832benl@ouroborus.net**20100907110311
2833 Ignore-this: 67bd70a21d16468daf68dd3ec1ff7d62
2834]
2835[Tidy up the ArchHasAdjustorSupport definition
2836Ian Lynagh <igloo@earth.li>**20100904144234]
2837[ppc: switch handling of 'foreign import wrapper' (FIW) to libffi
2838Sergei Trofimovich <slyfox@community.haskell.org>**20100829192859
2839 Ignore-this: 662ea926681ebea0759e2a04a38e82b7
2840 
2841 Joseph Jezak reported darcs-2.4.4 SIGSEGV in interactive mode in ghc-6.12.3.
2842 So I've concluded ppc also has rotten native adjustor. I don't have hardware
2843 to verify the patch (ticket #3516 should help to test it), but I think it will
2844 help (as similar patch helped for ia64 and ppc64).
2845]
2846[Binary no longer has unusable UNPACK pragmas, so no need to turn of -Werror
2847Ian Lynagh <igloo@earth.li>**20100904133339]
2848[Don't haddock packages that we aren't going to install
2849Ian Lynagh <igloo@earth.li>**20100903231921]
2850[Give haddock per-package source entity paths; fixes #3810
2851Ian Lynagh <igloo@earth.li>**20100903221335]
2852[update for containers-0.4
2853Simon Marlow <marlowsd@gmail.com>**20100903105131
2854 Ignore-this: 556eac0e4926c9b8af6b66d7b069302c
2855]
2856[Fix for nursery resizing: the first block's back pointer should be NULL
2857Simon Marlow <marlowsd@gmail.com>**20100827102818
2858 Ignore-this: fb68938e3f1e291e3c9e5e8047f9dcd2
2859 I'm not sure if this could lead to a crash or not, but it upsets +RTS -DS
2860 Might be related to #4265
2861]
2862[Add some -no-user-package-conf flags
2863Ian Lynagh <igloo@earth.li>**20100902224726
2864 Stops user-installed packages breaking the build
2865]
2866[Fix warnings: Remove unused imports
2867Ian Lynagh <igloo@earth.li>**20100902204342]
2868[Finish breaking up VectBuiltIn and VectMonad, and add comments
2869benl@ouroborus.net**20100831100724
2870 Ignore-this: 65604f3d22d03433abc12f10be40050d
2871]
2872[Fix warnings
2873benl@ouroborus.net**20100830083746
2874 Ignore-this: 2a0e000985f694582a6f9a9261ff2739
2875]
2876[Break up vectoriser builtins module
2877benl@ouroborus.net**20100830070900
2878 Ignore-this: b86bd36a7875abdcf16763902ba2e637
2879]
2880[Move VectCore to Vectorise tree
2881benl@ouroborus.net**20100830053415
2882 Ignore-this: d5763ca6424285b39a58c7792f4a84a1
2883]
2884[Split out vectoriser environments into own module
2885benl@ouroborus.net**20100830050252
2886 Ignore-this: 5319111c74831394d2c29b9aedf5a766
2887]
2888[Comments and formatting to vectoriser, and split out varish stuff into own module
2889benl@ouroborus.net**20100830042722
2890 Ignore-this: d3f0c98ed8124dd0fca9a2ccea3e15fd
2891]
2892[Fix warnings
2893benl@ouroborus.net**20100830040340
2894 Ignore-this: d6cfad803ad4617e7fdaa62e4a895282
2895]
2896[Fix warning about multiply exported name
2897benl@ouroborus.net**20100830035243
2898 Ignore-this: 27ce2c1d22d9f99929d16a426343044e
2899]
2900[Vectorisation of method types
2901benl@ouroborus.net**20100830032941
2902 Ignore-this: 75614571d5c246a4906edb3b39ab1e0b
2903]
2904[Comments and formatting to vectoriser
2905benl@ouroborus.net**20100830032516
2906 Ignore-this: fe665b77108501c7960d858be3290761
2907]
2908[Implement -dsuppress-module-prefixes
2909benl@ouroborus.net**20100830032428
2910 Ignore-this: 2bb8bad9c60ef9044132bba118010687
2911]
2912[Whitespace only
2913benl@ouroborus.net**20100527045629
2914 Ignore-this: 4c160dfa77727e659817b6af9c84684a
2915]
2916[Disambiguate a function name
2917Ian Lynagh <igloo@earth.li>**20100828225827]
2918[users_guide.xml is now generated
2919Ian Lynagh <igloo@earth.li>**20100828225751]
2920[Pass more -pgm flags in the ghc wrapper; fixes #3863
2921Ian Lynagh <igloo@earth.li>**20100827204537]
2922[Add a new-IO manager release note
2923Ian Lynagh <igloo@earth.li>**20100827171616]
2924[Merge a duplicate release note
2925Ian Lynagh <igloo@earth.li>**20100827171511]
2926[Typo, spotted by Johan Tibell
2927Ian Lynagh <igloo@earth.li>**20100827153914]
2928[First pass at 6.14.1 release notes
2929Ian Lynagh <igloo@earth.li>**20100826220811]
2930[Fix typo
2931Ian Lynagh <igloo@earth.li>**20100824201330]
2932[FIX BUILD: add rts_isProfiled to the symbol table
2933Simon Marlow <marlowsd@gmail.com>**20100826094319
2934 Ignore-this: 9536ddb0a94721c8dec03a2a981cfa83
2935]
2936[Fix the DPH package cleaning/profiled mess even more (the build was broken)
2937Simon Marlow <marlowsd@gmail.com>**20100826084436
2938 Ignore-this: 49d7e4db2fb53b856c213c74c8969d82
2939]
2940[Remove the debugging memory allocator - valgrind does a better job
2941Simon Marlow <marlowsd@gmail.com>**20100824113537
2942 Ignore-this: a3731a83dc18b0fd0de49452e695a7ca
2943 
2944 I got fed up with the constant bogus output from the debugging memory
2945 allocator in RtsUtils.c.  One problem is that we allocate memory in
2946 constructors that then isn't tracked, because the debugging allocator
2947 hasn't been initialised yet.
2948 
2949 The bigger problem is that for a given piece of leaking memory it's
2950 impossible to find out where it was allocated; however Valgrind gives
2951 output like this:
2952 
2953 ==6967== 8 bytes in 1 blocks are still reachable in loss record 1 of 7
2954 ==6967==    at 0x4C284A8: malloc (vg_replace_malloc.c:236)
2955 ==6967==    by 0x4C28522: realloc (vg_replace_malloc.c:525)
2956 ==6967==    by 0x6745E9: stgReallocBytes (RtsUtils.c:213)
2957 ==6967==    by 0x68D812: setHeapAlloced (MBlock.c:91)
2958 ==6967==    by 0x68D8E2: markHeapAlloced (MBlock.c:116)
2959 ==6967==    by 0x68DB56: getMBlocks (MBlock.c:240)
2960 ==6967==    by 0x684F55: alloc_mega_group (BlockAlloc.c:305)
2961 ==6967==    by 0x6850C8: allocGroup (BlockAlloc.c:358)
2962 ==6967==    by 0x69484F: allocNursery (Storage.c:390)
2963 ==6967==    by 0x694ABD: allocNurseries (Storage.c:436)
2964 ==6967==    by 0x6944F2: initStorage (Storage.c:217)
2965 ==6967==    by 0x673E3C: hs_init (RtsStartup.c:160)
2966 
2967 which tells us exactly what the leaking bit of memory is.  So I don't
2968 think we need our own debugging allocator.
2969]
2970[free the entries in the thread label table on exit
2971Simon Marlow <marlowsd@gmail.com>**20100824112606
2972 Ignore-this: c9d577c06548cda80791e590e40d35b3
2973]
2974[Panic in the right way
2975simonpj@microsoft.com**20100825091614
2976 Ignore-this: e6ea4f6dfd2aea088828ea7a945ddd5f
2977]
2978[Fix the DPH/profiled make thing (again)
2979simonpj@microsoft.com**20100825091602
2980 Ignore-this: bc58fa48034ac40cf7be4170958ea29e
2981]
2982[Don't test for gcc flags before we've found gcc
2983Ian Lynagh <igloo@earth.li>**20100824131401]
2984[Change how the dblatex/lndir problem is worked around
2985Ian Lynagh <igloo@earth.li>**20100824130938
2986 Hack: dblatex normalises the name of the main input file using
2987 os.path.realpath, which means that if we're in a linked build tree,
2988 it find the real source files rather than the symlinks in our link
2989 tree. This is fine for the static sources, but it means it can't
2990 find the generated sources.
2991 
2992 We therefore also generate the main input file, so that it really
2993 is in the link tree, and thus dblatex can find everything.
2994]
2995[Clean the generated userguide sources
2996Ian Lynagh <igloo@earth.li>**20100824105827
2997 Ignore-this: 39b4f9702c688c053ed3273b20969597
2998]
2999[DPH should not even be built if GhcProfiled
3000simonpj@microsoft.com**20100823133439
3001 Ignore-this: 62acbf83de5b70ff6d27ab38ce9218ae
3002 
3003 It's not just when cleaning!
3004]
3005[The templateHaskellOk check should only run in stage2
3006simonpj@microsoft.com**20100823133353
3007 Ignore-this: f6dc9292923a1ca201953c5f58c0af3c
3008 
3009 Because rtsIsProfiled is only available in stage2
3010]
3011[Add a couple of missing tests for EAGER_BLACKHOLE
3012Simon Marlow <marlowsd@gmail.com>**20100823104654
3013 Ignore-this: 70c981b86370b0c7564b29b057650897
3014 This was leading to looping and excessive allocation, when the
3015 computation should have just blocked on the black hole. 
3016 
3017 Reported by Christian Höner zu Siederdissen <choener@tbi.univie.ac.at>
3018 on glasgow-haskell-users.
3019]
3020[Don't check for swept blocks in -DS.
3021Marco Túlio Gontijo e Silva <marcot@marcot.eti.br>**20100718225526
3022 Ignore-this: ad5dcf3c247bc19fbef5122c1142f3b2
3023 
3024 The checkHeap function assumed the allocated part of the block contained only
3025 alive objects and slops.  This was not true for blocks that are collected using
3026 mark sweep.  The code in this patch skip the test for this kind of blocks.
3027]
3028[Fix "darcs get"
3029Ian Lynagh <igloo@earth.li>**20100822183542]
3030[Add "darcs-all upstreampull"
3031Ian Lynagh <igloo@earth.li>**20100822163419
3032 This pulls from the upstream repos, for those packages which have
3033 upstreams
3034]
3035[Generate the bit in the user guide where we say what -fglasgow-exts does
3036Ian Lynagh <igloo@earth.li>**20100822155514
3037 Stops the docs going out of sync with the code.
3038]
3039[Factor out the packages file parsing in darcs-all
3040Ian Lynagh <igloo@earth.li>**20100822154813]
3041[Document --supported-extensions
3042Ian Lynagh <igloo@earth.li>**20100822134530]
3043[fix extraction of command stack of arguments of arrow "forms" (fixes #4236)
3044Ross Paterson <ross@soi.city.ac.uk>**20100822090022
3045 Ignore-this: a93db04ec4f20540642a19cdc67d1666
3046 
3047 The command stack was being extracted (by unscramble) with the outermost
3048 type first, contrary to the comment on the function.
3049]
3050[minor fix to comment
3051Ross Paterson <ross@soi.city.ac.uk>**20100822085838
3052 Ignore-this: 8d203ba2600eaf4cf21b043dcfa96cdc
3053]
3054[Add the RTS library path to the library search path
3055Ian Lynagh <igloo@earth.li>**20100820155523
3056 In case the RTS is being explicitly linked in. For #3807.
3057]
3058[Remove some duplication of C flags
3059Ian Lynagh <igloo@earth.li>**20100819233743
3060 We now use the CONF_CC_OPTS_STAGEn C flags in machdepCCOpts, rather than
3061 repeating them there.
3062]
3063[Set -fno-stack-protector in CONF_CC_OPTS_STAGE* rathre than extra-gcc-opts
3064Ian Lynagh <igloo@earth.li>**20100819233031
3065 The latter is only used when compiling .hc files, whereas we need it for
3066 .c files too.
3067]
3068[Give clearer errors for bad input in the packages file; suggested by pejo
3069Ian Lynagh <igloo@earth.li>**20100819232420]
3070[Set -march=i686 on OS X x86 in the configure variables
3071Ian Lynagh <igloo@earth.li>**20100819230939
3072 We used to set it only in machdepCCOpts, so this is more consistent
3073]
3074[Give each stage its own Config.hs
3075Ian Lynagh <igloo@earth.li>**20100819224709
3076 This also means the file is generated in a dist directory, not a
3077 source directory.
3078]
3079[Fix cleaning when GhcProfiled = YES
3080Ian Lynagh <igloo@earth.li>**20100819131346
3081 We need to include the DPH cleaning rules, even though we don't build DPH
3082 when GhcProfiled = YES.
3083]
3084[stgReallocBytes(DEBUG): don't fail when the ptr passed in is NULL
3085Simon Marlow <marlowsd@gmail.com>**20100817150836
3086 Ignore-this: 4b5063e65e01399f64a33f0d0555ff38
3087]
3088[Use make-command in rules/bindist.mk
3089Ian Lynagh <igloo@earth.li>**20100818191243
3090 Rather than it having its own specialised version
3091]
3092[Use make-command when installing packages
3093Ian Lynagh <igloo@earth.li>**20100818190600]
3094[Add _DATA_FILES to package-data.mk files
3095Ian Lynagh <igloo@earth.li>**20100818185801]
3096[Add a "make-command" utility Makefile function
3097Ian Lynagh <igloo@earth.li>**20100818183055]
3098[LLVM: Nicer format for lack of shared lib warning
3099David Terei <davidterei@gmail.com>**20100817145207
3100 Ignore-this: 753d45762601d87761614937a1bb6716
3101]
3102[fix FP_CHECK_ALIGNMENT for autoconf 2.66 (fixes #4252)
3103Ross Paterson <ross@soi.city.ac.uk>**20100816142442
3104 Ignore-this: cd784b8888d32b3b2cc2cc0969ec40f
3105 
3106 Recent versions of AS_LITERAL_IF don't like *'s.  Fix from
3107 
3108 http://blog.gmane.org/gmane.comp.sysutils.autoconf.general/month=20100701
3109]
3110[Refactor the command-line argument parsing (again)
3111simonpj@microsoft.com**20100816074453
3112 Ignore-this: 26dc9e37a88660a887a2e316ed7a9803
3113 
3114 This change allows the client of CmdLineParser a bit more flexibility,
3115 by giving him an arbitrary computation (not just a deprecation
3116 message) for each flag. 
3117 
3118 There are several clients, so there are lots of boilerplate changes.
3119 
3120 Immediate motivation: if RTS is not profiled, we want to make
3121 Template Haskell illegal.  That wasn't with the old setup.
3122]
3123[Add upstream repo to the packages file
3124Ian Lynagh <igloo@earth.li>**20100815154741]
3125[Make the "tag" column of the packages file always present
3126Ian Lynagh <igloo@earth.li>**20100815151657
3127 It makes the parsing simpler if we always have the same number of columns
3128]
3129[Disable object splitting on OSX; works around #4013
3130Ian Lynagh <igloo@earth.li>**20100815134759]
3131[Return memory to the OS; trac #698
3132Ian Lynagh <igloo@earth.li>**20100813170402]
3133[Reduce the xargs -s value we use on Windows
3134Ian Lynagh <igloo@earth.li>**20100812223721
3135 With 30000 I was getting:
3136     xargs: value for -s option should be < 28153
3137]
3138[LLVM: Enable shared lib support on Linux x64
3139David Terei <davidterei@gmail.com>**20100813191534
3140 Ignore-this: 642ed37af38e5f17d419bf4f09332671
3141]
3142[Re-do the arity calculation mechanism again (fix Trac #3959)
3143simonpj@microsoft.com**20100813161151
3144 Ignore-this: d4a2aa48150b503b20c25351a79decfb
3145 
3146 After rumination, yet again, on the subject of arity calculation,
3147 I have redone what an ArityType is (it's purely internal to the
3148 CoreArity module), and documented it better.  The result should
3149 fix #3959, and I hope the related #3961, #3983.
3150 
3151 There is lots of new documentation: in particular
3152  * Note [ArityType] 
3153    describes the new datatype for arity info
3154 
3155  * Note [State hack and bottoming functions]
3156    says how bottoming functions are dealt with, particularly
3157    covering catch# and Trac #3959
3158 
3159 I also found I had to be careful not to eta-expand single-method
3160 class constructors; see Note [Newtype classes and eta expansion].
3161 I think this part could be done better, but it works ok.
3162]
3163[Comments only
3164simonpj@microsoft.com**20100813161019
3165 Ignore-this: baf68300d8bc630bf0b7ab27647b33a0
3166]
3167[Modify FloatOut to fix Trac #4237
3168simonpj@microsoft.com**20100813163120
3169 Ignore-this: ffc8d00d4b7f0a8a785fcef312900413
3170 
3171 The problem was that a strict binding was getting floated
3172 out into a letrec. This only happened when profiling was
3173 on.  It exposed a fragility in the floating strategy.  This
3174 patch makes it more robust.  See
3175       Note [Avoiding unnecessary floating]
3176]
3177[Fix egregious bug in SetLevels.notWorthFloating
3178simonpj@microsoft.com**20100813161429
3179 Ignore-this: d22865f48d417e6a6b732de3dfba378f
3180 
3181 This bug just led to stupid code, which would
3182 later be optimised away, but better not to generate
3183 stupid code in the first place.
3184]
3185[Delete GhcLibProfiled
3186simonpj@microsoft.com**20100813140152
3187 Ignore-this: 2e1a3f677308be726bd022f45e2fd856
3188 
3189 Simon M and I looked at this, and we think GhcLibProfiled is
3190 (a) not needed (b) confusing.
3191 
3192 Ian should review.
3193 
3194 Really, if GhcProfiled is on we should also
3195 check that 'p' is in the GhcLibWays
3196]
3197[Do not build DPH when GhcProfiled (fixes #4172)
3198simonpj@microsoft.com**20100813140021
3199 Ignore-this: 9e20181643b456e841f845ae0cab0a9a
3200 
3201 Reason: DPH uses Template Haskell and TH doesn't work
3202 in a profiled compiler
3203]
3204[Fix Trac #4220
3205simonpj@microsoft.com**20100812131319
3206 Ignore-this: 33141cfd81627592150a9e5973411ff8
3207 
3208 For deriving Functor, Foldable, Traversable with empty
3209 data cons I just generate a null equation
3210    f _ = error "urk"
3211 
3212 There are probably more lurking (eg Enum) but this will do for now.
3213]
3214[Improve the Specialiser, fixing Trac #4203
3215simonpj@microsoft.com**20100812131133
3216 Ignore-this: 482afbf75165e24a80527a6e52080c07
3217 
3218 Simply fixing #4203 is a tiny fix: in case alterantives we should
3219 do dumpUDs *including* the case binder. 
3220 
3221 But I realised that we can do better and wasted far too much time
3222 implementing the idea.  It's described in
3223     Note [Floating dictionaries out of cases]
3224]
3225[Comments
3226simonpj@microsoft.com**20100812101456
3227 Ignore-this: 6362fe887d25688c12ef2c3cf5554ce4
3228]
3229[Comments only
3230simonpj@microsoft.com**20100812101439
3231 Ignore-this: 7ed2f5fc08811cbe9958c2309a9ed1fa
3232]
3233[Fix bug in linting of shadowed case-alternative binders
3234simonpj@microsoft.com**20100812101413
3235 Ignore-this: 9212a5e2c03421749f5935b3944ecf53
3236]
3237[Comments and spacing only
3238simonpj@microsoft.com**20100812101347
3239 Ignore-this: ed59a7dae7decb24470709dc1c118dbb
3240]
3241[Add more info to more parse error messages (#3811)
3242Ian Lynagh <igloo@earth.li>**20100809233108]
3243[Run finalizers *after* updating the stable pointer table (#4221)
3244Simon Marlow <marlowsd@gmail.com>**20100810133739
3245 Ignore-this: b0462f80dd64eac71e599d8a9f6dd665
3246 Silly bug really, we were running the C finalizers while the StablePtr
3247 table was still in a partially-updated state during GC, but finalizers
3248 are allowed to call freeStablePtr() (via hs_free_fun_ptr(), for
3249 example), and chaos ensues.
3250]
3251[Do the dependency-omitting for 'make 1' in a slightly different way
3252Simon Marlow <marlowsd@gmail.com>**20100810093446
3253 Ignore-this: af15edd3a1492cbd93111316b57e02e4
3254 
3255 I encountered a couple of things that broke after Ian's previous
3256 patch: one was my nightly build scripts that use 'make stage=2' at the
3257 top level, and the other is 'make fast' in libraries/base, which uses
3258 'stage=0' to avoid building any compilers.
3259 
3260 So my version of this patch is more direct: it just turns off the
3261 appropriate dependencies using a variable set by 'make 1', 'make 2',
3262 etc.
3263]
3264[Integrate new I/O manager, with signal support
3265Johan Tibell <johan.tibell@gmail.com>**20100724102355
3266 Ignore-this: eb092857a2a1b0ca966649caffe7ac2b
3267]
3268[Add DoAndIfThenElse support
3269Ian Lynagh <igloo@earth.li>**20100808194625]
3270[Make another parse error more informative
3271Ian Lynagh <igloo@earth.li>**20100808193340]
3272[Make a parse error say what it is failing to parse; part of #3811
3273Ian Lynagh <igloo@earth.li>**20100808155732]
3274[Send ghc progress output to stdout; fixes #3636
3275Ian Lynagh <igloo@earth.li>**20100808142542]
3276[Fix the HsColour test in the build system
3277Ian Lynagh <igloo@earth.li>**20100805155319
3278 Ignore-this: ba2752b04801a253e891b31e1914485d
3279]
3280[Fix the -lm configure test; fixes #4155
3281Ian Lynagh <igloo@earth.li>**20100805142508
3282 Ignore-this: 358b8b1074d2d22fb8d362ea6d8b80d6
3283]
3284[Don't restrict filenames in line pragmas to printable characters; fixes #4207
3285Ian Lynagh <igloo@earth.li>**20100805135011
3286 Ignore-this: e3d32312127165e40e6eaa919193d60b
3287 "printable" is ASCII-only, whereas in other locales we can get things like
3288 # 1 "<línea-de-orden>"
3289]
3290[Ensure extension flags are flattened in the Cmm phase
3291Ian Lynagh <igloo@earth.li>**20100805133614
3292 If we start with a .cmmcpp file then they don't get flattened in
3293 the CmmCpp phase, as we don't run that phase.
3294]
3295[Add "cmmcpp" as a Haskellish source suffix
3296Ian Lynagh <igloo@earth.li>**20100805132555]
3297[On amd64/OSX we don't need to be given memory in the first 31bits
3298Ian Lynagh <igloo@earth.li>**20100805120600
3299 Ignore-this: 42eb64e25ad4b66ae022884305e0297b
3300 as PIC is always on
3301]
3302[NCG: Don't worry about trying to re-freeze missing coalescences
3303benl@ouroborus.net**20100702053319
3304 Ignore-this: ea05cbee19b6c5c410db41292cbb64b0
3305]
3306[Make -rtsopts more flexible
3307Ian Lynagh <igloo@earth.li>**20100805011137
3308 The default is a new "some" state, which allows only known-safe flags
3309 that we want on by default. Currently this is only "--info".
3310]
3311[Test for (fd < 0) before trying to FD_SET it
3312Ian Lynagh <igloo@earth.li>**20100804173636]
3313[Remove "On by default" comments in DynFlags
3314Ian Lynagh <igloo@earth.li>**20100802110803
3315 Ignore-this: 2a51055277b5ce9f0e98e1438b212027
3316 These make less sense now we support multiple languges. The
3317 "languageExtensions" function gives the defaults.
3318]
3319[Fix build: Add newline to end of ghc-pkg/Main.hs
3320Ian Lynagh <igloo@earth.li>**20100801183206]
3321[Add a versions haddock binary for Windows
3322Ian Lynagh <igloo@earth.li>**20100801180917]
3323[ghc-pkg: don't fail, if a file is already removed
3324ich@christoph-bauer.net**20100725162606
3325 Ignore-this: 5501d6812c31f4da525c7fb24f6dcaed
3326]
3327[Remove push-all from file list in boot script (push-all no longer exists)
3328Ian Lynagh <igloo@earth.li>**20100801121841
3329 Ignore-this: eec130f06610d8728a57626682860a1a
3330]
3331[Add error checking to boot-pkgs script
3332Ian Lynagh <igloo@earth.li>**20100801121432
3333 Ignore-this: 8afd6663db443c774bad45d75bbfe950
3334]
3335[Add more error checking to the boot script
3336Ian Lynagh <igloo@earth.li>**20100801113628]
3337[Remove libHSrtsmain.a before creating it
3338Ian Lynagh <igloo@earth.li>**20100801005432
3339 Otherwise it isn't updated properly if rts/Main.c changes
3340]
3341[Expose the functions haddock needs even when haddock is disabled; #3558
3342Ian Lynagh <igloo@earth.li>**20100731115506]
3343[Always haddock by default
3344Ian Lynagh <igloo@earth.li>**20100730235001
3345 Revert this patch:
3346     Matthias Kilian <kili@outback.escape.de>**20090920181319
3347     Don't build haddock if HADDOC_DOCS = NO, and disable HADDOC_DOCS
3348         if GhcWithInterpreter = NO
3349     Haddock uses TcRnDriver.tcRnGetInfo, which is only available if
3350     GHCI is built. Set HADDOC_DOCS to NO if GhcWithInterpreter is NO,
3351     and disable the haddock build if HADDOC_DOCS = NO.
3352]
3353[Add a debugTrace for the phases that we run
3354Ian Lynagh <igloo@earth.li>**20100729201503]
3355[* Add StringPrimL as a constructor for Template Haskell (Trac #4168)
3356simonpj@microsoft.com**20100730131922
3357 Ignore-this: 520d0a0a14b499b299e8b2be8d148ff0
3358   
3359 There are already constructors for IntPrim, FloatPrim etc,
3360 so this makes it more uniform.
3361   
3362 There's a corresponding patch for the TH library
3363]
3364[Add thread affinity support for FreeBSD
3365Gabor Pali <pgj@FreeBSD.org>**20100720001409
3366 Ignore-this: 6c117b8219bfb45445089e82ee470410
3367 - Implement missing functions for setting thread affinity and getting real
3368   number of processors.
3369 - It is available starting from 7.1-RELEASE, which includes a native support
3370   for managing CPU sets.
3371 - Add __BSD_VISIBLE, since it is required for certain types to be visible in
3372   addition to POSIX & C99.
3373]
3374[Disable symbol visibility pragmas for FreeBSD
3375Ian Lynagh <igloo@earth.li>**20100729012507
3376 Do not use GCC pragmas for controlling visibility, because it causes
3377 "undefined reference" errors at link-time.  The true reasons are
3378 unknown, however FreeBSD 8.x includes GCC 4.2.1 in the base system,
3379 which might be buggy.
3380]
3381[Fix numeric escape sequences parsing
3382Anton Nikishaev <anton.nik@gmail.com>**20100721194208
3383 Ignore-this: dd71935b1866b5624f7975c45ad519a1
3384 This fixes trac bug #1344
3385]
3386[Explicitly give the right path to perl when making the OS X installer; #4183
3387Ian Lynagh <igloo@earth.li>**20100728163030]
3388[Set -fno-stack-protector in extra-gcc-opts; fixes #4206
3389Ian Lynagh <igloo@earth.li>**20100728161957
3390 We were using it only when building the RTS, and only on certain
3391 platforms. However, some versions of OS X need the flag, while others
3392 don't support it, so we now test for it properly.
3393]
3394[Make PersistentLinkerState fields strict; fixes #4208
3395Ian Lynagh <igloo@earth.li>**20100727201911
3396 Ignore-this: fc5cfba48cd16624f6bb15a7a03a3b4
3397 We modify fields a lot, so we retain the old value if they aren't forced.
3398]
3399[Don't rebuild dependency files unnecessarily when doing "make 1" etc
3400Ian Lynagh <igloo@earth.li>**20100726211512
3401 Ignore-this: d91a729e5113aa964cc67768e92e57ef
3402]
3403[LLVM: If user specifies optlo, don't use '-O' levels
3404David Terei <davidterei@gmail.com>**20100726105650
3405 Ignore-this: e05e103b09d1de937540ffad7983f88e
3406]
3407[Flatten flags for ghci's :show
3408Ian Lynagh <igloo@earth.li>**20100725135320]
3409[Add support for Haskell98 and Haskell2010 "languages"
3410Ian Lynagh <igloo@earth.li>**20100724230121]
3411[Rename "language" varibles etc to "extension", and add --supported-extensions
3412Ian Lynagh <igloo@earth.li>**20100724223624]
3413[Separate language option handling into 2 phases
3414Ian Lynagh <igloo@earth.li>**20100724212013
3415 We now first collect the option instructions (from the commandline,
3416 from pragmas in source files, etc), and then later flatten them into
3417 the list of enabled options. This will enable us to use different
3418 standards (H98, H2010, etc) as a base upon which to apply the
3419 instructions, when we don't know what the base will be when we start
3420 collecting instructions.
3421]
3422[Separate the language flags from the other DynFlag's
3423Ian Lynagh <igloo@earth.li>**20100724133103
3424 Ignore-this: 47bb8d42e621e47016b66c7472bd6cb5
3425]
3426[Set stage-specific CC/LD opts in the bindist configure.ac
3427Ian Lynagh <igloo@earth.li>**20100724113748
3428 Ignore-this: f06926d185a35ddd05490ca4a257e992
3429]
3430[Use different CC/LD options for different stages
3431Ian Lynagh <igloo@earth.li>**20100723223059]
3432[Add some error belchs to the linker, when we find bad magic numbers
3433Ian Lynagh <igloo@earth.li>**20100723200822]
3434[Add some more linker debugging prints
3435Ian Lynagh <igloo@earth.li>**20100723180237]
3436[When (un)loading an object fails, say which object in teh panic
3437Ian Lynagh <igloo@earth.li>**20100723162649]
3438[Add a release note: GHCi import syntax
3439Ian Lynagh <igloo@earth.li>**20100721193647]
3440[Deprecate NewQualifiedOperators extension (rejected by H')
3441Ian Lynagh <igloo@earth.li>**20100719150909
3442 Ignore-this: 6e7e3bedc5360c5975f73497b3e6cba5
3443]
3444[LLVM: Allow optlc and optlo to override default params for these systools
3445David Terei <davidterei@gmail.com>**20100722181631
3446 Ignore-this: e60af7941996f7170fb3bfb02a002082
3447]
3448[LLVM: Code and speed improvement to dominateAllocs pass.
3449David Terei <davidterei@gmail.com>**20100721143654
3450 Ignore-this: 9fb7058c8a2afc005521298c7b8d0036
3451]
3452[Comments only
3453simonpj@microsoft.com**20100721144257
3454 Ignore-this: b3091ddcd1df271eb85fe90978ab7adc
3455]
3456[Fix inlining for default methods
3457simonpj@microsoft.com**20100721144248
3458 Ignore-this: 61a11a8f741f775000c6318aae4b3191
3459 
3460 This was discombobulated by a patch a week ago;
3461 now fixed, quite straightforwardly.  See
3462 Note [Default methods and instances]
3463]
3464[Allow reification of existentials and GADTs
3465simonpj@microsoft.com**20100721090437
3466 Ignore-this: 20f1ccd336cc25aff4d4d67a9ac2211a
3467 
3468 It turns out that TH.Syntax is rich enough to express even GADTs,
3469 provided we express them in equality-predicate form.  So for
3470 example
3471 
3472   data T a where
3473      MkT1 :: a -> T [a]
3474      MkT2 :: T Int
3475 
3476 will appear in TH syntax like this
3477 
3478   data T a = forall b. (a ~ [b]) => MkT1 b
3479            | (a ~ Int) => MkT2
3480 
3481 While I was at it I also improved the reification of types,
3482 so that we use TH.TupleT and TH.ListT when we can.
3483]
3484[add numSparks# primop (#4167)
3485Simon Marlow <marlowsd@gmail.com>**20100720153746
3486 Ignore-this: f3f925e7de28f3f895213aefbdbe0b0f
3487]
3488[LLVM: Decrease max opt level used under OSX to avoid bug
3489David Terei <davidterei@gmail.com>**20100720160938
3490 Ignore-this: 34b0b3550f00b27b00ad92f8232745e5
3491 
3492 Currently, many programs compiled with GHC at -O2 and LLVM
3493 set to -O3 will segfault (only under OSX). Until this issue
3494 is fixed I have simply 'solved' the segfault by lowering
3495 the max opt level for LLVM used to -O2 under OSX.
3496 
3497 All these recent changes to OSX should mean its finally as
3498 stable as Linux and Windows.
3499]
3500[LLVM: Fix OSX to work again with TNTC disabled.
3501David Terei <davidterei@gmail.com>**20100720160845
3502 Ignore-this: 8dc98139cfa536b2a64aa364d040b581
3503]
3504[LLVM: Fix printing of local vars so LLVM works with -fnew-codegen
3505David Terei <davidterei@gmail.com>**20100720160302
3506 Ignore-this: d883c433dfaed67921a8c5360e1f9f6a
3507]
3508[Use a separate mutex to protect all_tasks, avoiding a lock-order-reversal
3509Simon Marlow <marlowsd@gmail.com>**20100716150832
3510 Ignore-this: ffbdb4ee502e0f724d57acb9bfbe9d92
3511 In GHC 6.12.x I found a rare deadlock caused by this
3512 lock-order-reversal:
3513 
3514 AQ cap->lock
3515   startWorkerTask
3516     newTask
3517       AQ sched_mutex
3518 
3519 scheduleCheckBlackHoles
3520   AQ sched_mutex
3521    unblockOne_
3522     wakeupThreadOnCapabilty
3523       AQ cap->lock
3524 
3525 so sched_mutex and cap->lock are taken in a different order in two
3526 places.
3527 
3528 This doesn't happen in the HEAD because we don't have
3529 scheduleCheckBlackHoles, but I thought it would be prudent to make
3530 this less likely to happen in the future by using a different mutex in
3531 newTask.  We can clearly see that the all_tasks mutex cannot be
3532 involved in a deadlock, becasue we never call anything else while
3533 holding it.
3534]
3535['make fast' in a package does not build any compilers
3536Simon Marlow <marlowsd@gmail.com>**20100715125904
3537 Ignore-this: f27e70faf3944831dad16e89a4e273da
3538]
3539[LLVM: Fix up botched last commit
3540David Terei <davidterei@gmail.com>**20100719104823
3541 Ignore-this: a32e0f6a38cb9e02527eb8ca69b3eb59
3542]
3543[LLVM: Fix warning introduce in last commit.
3544David Terei <davidterei@gmail.com>**20100719103411
3545 Ignore-this: e9c92a9402aff50d60ab26e6ad441bfc
3546]
3547[LLVM: Use mangler to fix up stack alignment issues on OSX
3548David Terei <davidterei@gmail.com>**20100718231000
3549 Ignore-this: 9f6e8cb855269cb3a5ac1a23480d0e71
3550]
3551[Fix #4195 (isGadtSyntaxTyCon returns opposite result)
3552illissius@gmail.com**20100715134134
3553 Ignore-this: a90403f893030432b5c15d743647f350
3554]
3555[Update to time 1.2.0.3
3556Ian Lynagh <igloo@earth.li>**20100717181810
3557 Ignore-this: 1ccb4801a73f399e6718ce556543ede1
3558]
3559[Reorder RTS --info output
3560Ian Lynagh <igloo@earth.li>**20100717162356]
3561[Fix unreg prof build: Define CCS_SYSTEM in stg/MiscClosures.h
3562Ian Lynagh <igloo@earth.li>**20100717142832
3563 Ignore-this: 9675f3f51b6dac40483155344e7f45b6
3564]
3565[Make mkDerivedConstants as a stage 1 program
3566Ian Lynagh <igloo@earth.li>**20100717000827
3567 Ignore-this: 5357403461b209b8606f1d33defb51cf
3568 This way it gets the defines for the right platform when cross-compiling
3569]
3570[Don't generate Haskell dependencies if we don't have any Haskell sources
3571Ian Lynagh <igloo@earth.li>**20100717000800
3572 Ignore-this: 454abd0358f535b7e789327125c9206c
3573]
3574[Link programs that have no Haskell objects with gcc rather than ghc
3575Ian Lynagh <igloo@earth.li>**20100716235303
3576 Ignore-this: f65588b69675edea616cc434e769b0a4
3577]
3578[Use gcc to build C programs for stages >= 1
3579Ian Lynagh <igloo@earth.li>**20100716223703
3580 Ignore-this: 9f843a4e17285cda582117504707f9e7
3581]
3582[Add platform info to "ghc --info" output
3583Ian Lynagh <igloo@earth.li>**20100716141953]
3584[Tidy up Config.hs generation
3585Ian Lynagh <igloo@earth.li>**20100716140630]
3586[Fix HC porting test in makefiles
3587Ian Lynagh <igloo@earth.li>**20100716010808
3588 Ignore-this: 6052c1dd022a6108ab2236a299ee1d84
3589 Now that we are trying to support cross compilation, we can't use
3590     "$(TARGETPLATFORM)" != "$(HOSTPLATFORM)"
3591 as a test for HC-porting.
3592]
3593[Change a BUILD var to a HOST var
3594Ian Lynagh <igloo@earth.li>**20100716002558]
3595[Remove an unnecessary #include
3596Ian Lynagh <igloo@earth.li>**20100715233930
3597 Ignore-this: dcede249de6be7e3c9305c9279c2ca07
3598]
3599[Split up some make commands, so that errors aren't overlooked
3600Ian Lynagh <igloo@earth.li>**20100715152237
3601 Ignore-this: fb69b0a25d9ca71dae5e75d38db675cd
3602 When we ask make to run "a | b", if a fails then the pipeline might
3603 still exit successfuly.
3604]
3605[Remove an unnecessary #include
3606Ian Lynagh <igloo@earth.li>**20100715143000
3607 Ignore-this: 4e098cac5dda2dd595ca0a0f5121853c
3608]
3609[Simplify some more CPP __GLASGOW_HASKELL__ tests
3610Ian Lynagh <igloo@earth.li>**20100715142500]
3611[Remove some code only used with GHC 6.11.*
3612Ian Lynagh <igloo@earth.li>**20100715141720]
3613[__GLASGOW_HASKELL__ >= 609 is now always true
3614Ian Lynagh <igloo@earth.li>**20100715141544]
3615[Correct the values in ghc_boot_platform.h
3616Ian Lynagh <igloo@earth.li>**20100714223717
3617 Ignore-this: 4c99116f7ac73fadbd6d16807f57a693
3618]
3619[Change some TARGET checks to HOST checks
3620Ian Lynagh <igloo@earth.li>**20100714184715]
3621[LLVM: Add inline assembly to binding.
3622David Terei <davidterei@gmail.com>**20100714152530
3623 Ignore-this: 72a7b5460c128ed511e8901e5889fe2b
3624]
3625[LLVM: Fix mistype in last commit which broke TNTC under win/linux.
3626David Terei <davidterei@gmail.com>**20100714153339
3627 Ignore-this: 302d7957e3dded80368ebade5312ab35
3628]
3629[Remove unnecessary #include
3630Ian Lynagh <igloo@earth.li>**20100713153704
3631 Ignore-this: c37d3127b1dc68f59270c07173994c28
3632]
3633[Change some TARGET tests to HOST tests in the RTS
3634Ian Lynagh <igloo@earth.li>**20100713141034
3635 Which was being used seemed to be random
3636]
3637[LLVM: Add in new LLVM mangler for implementing TNTC on OSX
3638David Terei <davidterei@gmail.com>**20100713183243
3639 Ignore-this: 394fb74d7f9657d8b454bd0148d24bf7
3640]
3641[Refactor where an error message is generated
3642simonpj@microsoft.com**20100713115733
3643 Ignore-this: f94467856238586fcbbe48537141cf78
3644]
3645[Comments only
3646simonpj@microsoft.com**20100713115703
3647 Ignore-this: 5815442c4e69b9ec331b34242a596253
3648]
3649[Comments on data type families
3650simonpj@microsoft.com**20100713115640
3651 Ignore-this: 90a333bb7f7d64a49fb7dd180d893f6b
3652]
3653[Fix Trac #T4136: take care with nullary symbol constructors
3654simonpj@microsoft.com**20100707135945
3655 Ignore-this: 2a717a24fefcd593ea41c23dad351db0
3656 
3657 When a nullary constructor is a symbol eg (:=:) we need
3658 to take care.  Annoying.
3659]
3660[Fix Trac #4127 (and hence #4173)
3661simonpj@microsoft.com**20100707123125
3662 Ignore-this: 98bb6d0f7182b59f8c93596c61f9785d
3663 
3664 The change involves a little refactoring, so that the default
3665 method Ids are brought into scope earlier, before the value
3666 declarations are compiled.  (Since a value decl may contain
3667 an instance decl in a quote.)
3668 
3669 See Note [Default method Ids and Template Haskell] in
3670 TcTyClsDcls.
3671]
3672[Fix second bug in Trac #4127
3673simonpj@microsoft.com**20100701140124
3674 Ignore-this: c8d1cc27364fe9ee5a52acb1ecb5cdd9
3675 
3676 This bug concerned the awkward shadowing we do for
3677 Template Haskell declaration brackets.  Lots of
3678 comments in
3679 
3680   Note [Top-level Names in Template Haskell decl quotes]
3681]
3682[ia64: switch handling of 'foreign import wrapper' (FIW) to libffi
3683Sergei Trofimovich <slyfox@community.haskell.org>**20100709213922
3684 Ignore-this: fd07687e0089aebabf62de85d2be693
3685 
3686 I tried to build darcs-2.4.4 with ghc-6.12.3 and got coredumps when darcs is used
3687 in interactive mode. I tried test from ticket #3516 and found out FIW code is broken.
3688 Instead of fixing it I just switched to libffi. Result built successfully, passed
3689 'foreign import wrapper' test from ticket #3516 and builds working darcs.
3690]
3691[* storage manager: preserve upper address bits on 64bit machines (thanks to zygoloid)
3692Sergei Trofimovich <slyfox@community.haskell.org>**20100709115917
3693 Ignore-this: 9f1958a19992091ddc2761c389ade940
3694 
3695 Patch does not touch amd64 as it's address lengts is 48 bits at most, so amd64 is unaffected.
3696 
3697 the issue: during ia64 ghc bootstrap (both 6.10.4 and 6.12.3) I
3698 got the failure on stage2 phase:
3699     "inplace/bin/ghc-stage2"   -H32m -O -H64m -O0 -w ...
3700     ghc-stage2: internal error: evacuate: strange closure type 15
3701         (GHC version 6.12.3 for ia64_unknown_linux)
3702         Please report this as a GHC bug:  http://www.haskell.org/ghc/reportabug
3703     make[1]: *** [libraries/dph/dph-base/dist-install/build/Data/Array/Parallel/Base/Hyperstrict.o] Aborted
3704 
3705 gdb backtrace (break on 'barf'):
3706 Breakpoint 1 at 0x400000000469ec31: file rts/RtsMessages.c, line 39.
3707 (gdb) run -B/var/tmp/portage/dev-lang/ghc-6.12.3/work/ghc-6.12.3/inplace/bin --info
3708 Starting program: /var/tmp/portage/dev-lang/ghc-6.12.3/work/ghc-6.12.3/inplace/lib/ghc-stage2 -B/var/tmp/portage/dev-lang/ghc-6.12.3/work/ghc-6.12.3/inplace/bin --info
3709 [Thread debugging using libthread_db enabled]
3710 
3711 Breakpoint 1, barf (s=0x40000000047915b0 "evacuate: strange closure type %d") at rts/RtsMessages.c:39
3712 39        va_start(ap,s);
3713 (gdb) bt
3714 #0  barf (s=0x40000000047915b0 "evacuate: strange closure type %d") at rts/RtsMessages.c:39
3715 #1  0x400000000474a1e0 in evacuate (p=0x6000000000147958) at rts/sm/Evac.c:756
3716 #2  0x40000000046d68c0 in scavenge_srt (srt=0x6000000000147958, srt_bitmap=7) at rts/sm/Scav.c:348
3717 ...
3718 
3719 > 16:52:53 < zygoloid> slyfox: i'm no ghc expert but it looks like HEAP_ALLOCED_GC(q)
3720 >                      is returning true for a FUN_STATIC closure
3721 > 17:18:43 < zygoloid> try: p HEAP_ALLOCED_miss((unsigned long)(*p) >> 20, *p)
3722 > 17:19:12 < slyfox> (gdb) p HEAP_ALLOCED_miss((unsigned long)(*p) >> 20, *p)
3723 > 17:19:12 < slyfox> $1 = 0
3724 > 17:19:40 < zygoloid> i /think/ that means the mblock_cache is broken
3725 > 17:22:45 < zygoloid> i can't help further. however i am suspicious that you seem to have pointers with similar-looking low 33
3726 >                      bits and different high 4 bits, and it looks like such pointers get put into the same bucket in
3727 >                      mblock_cache.
3728 ...
3729 > 17:36:16 < zygoloid> slyfox: try changing the definition of MbcCacheLine to StgWord64, see if that helps
3730 > 17:36:31 < zygoloid> that's in includes/rts/storage/MBlock.h
3731 And it helped!
3732]
3733[Fixing link failure of compiler on ia64 ('-Wl,' prefixed value passed directly to ld)
3734Sergei Trofimovich <slyfox@community.haskell.org>**20100708180943
3735 Ignore-this: ced99785e1f870ee97e5bec658e2504f
3736 
3737     /usr/bin/ld -Wl,--relax -r -o dist-stage1/build/HSghc-6.10.4.o \
3738                                   dist-stage1/build/BasicTypes.o dist-stage1/build/DataCon.o ...
3739     /usr/bin/ld: unrecognized option '-Wl,--relax'
3740 
3741 If we just drop '-Wl,' part it will not help as '-r' and '--relax' are incompatible.
3742 
3743 Looks like '-Wl,--relax' was skipped by earlier binutils' ld as unknown option.
3744 Removing ia64 specific path.
3745]
3746[LLVM: Allow getelementptr to use LlvmVar for indexes.
3747David Terei <davidterei@gmail.com>**20100712152529
3748 Ignore-this: 9e158d9b89a86bca8abf11d082328278
3749]
3750[Move all the warning workarounds to one place
3751Ian Lynagh <igloo@earth.li>**20100710161723]
3752[xhtml is now warning-free
3753Ian Lynagh <igloo@earth.li>**20100710144635]
3754[Move a bit of build system code
3755Ian Lynagh <igloo@earth.li>**20100709224534]
3756[adapt to the new async exceptions API
3757Simon Marlow <marlowsd@gmail.com>**20100709125238
3758 Ignore-this: 55d845e40b9daed3575c1479d8dda1d5
3759]
3760[quiet some new spewage
3761Simon Marlow <marlowsd@gmail.com>**20100709091521
3762 Ignore-this: de7f91976bbc9789e6fd7091f05c25c0
3763]
3764[New asynchronous exception control API (ghc parts)
3765Simon Marlow <marlowsd@gmail.com>**20100708144851
3766 Ignore-this: 56320c5fc61ae3602d586609387aae22
3767 
3768 As discussed on the libraries/haskell-cafe mailing lists
3769   http://www.haskell.org/pipermail/libraries/2010-April/013420.html
3770 
3771 This is a replacement for block/unblock in the asychronous exceptions
3772 API to fix a problem whereby a function could unblock asynchronous
3773 exceptions even if called within a blocked context.
3774 
3775 The new terminology is "mask" rather than "block" (to avoid confusion
3776 due to overloaded meanings of the latter).
3777 
3778 In GHC, we changed the names of some primops:
3779 
3780   blockAsyncExceptions#   -> maskAsyncExceptions#
3781   unblockAsyncExceptions# -> unmaskAsyncExceptions#
3782   asyncExceptionsBlocked# -> getMaskingState#
3783 
3784 and added one new primop:
3785 
3786   maskUninterruptible#
3787 
3788 See the accompanying patch to libraries/base for the API changes.
3789]
3790[remove outdated comment
3791Simon Marlow <marlowsd@gmail.com>**20100708100840
3792 Ignore-this: afb2e9f6fe1f1acda51b0cbdf2637176
3793]
3794[remove 'mode: xml' emacs settings (#2208)
3795Simon Marlow <marlowsd@gmail.com>**20100708100817
3796 Ignore-this: 3a8d997fb90e01ca88dc47fb95feeba0
3797]
3798[typo in comment
3799Simon Marlow <marlowsd@gmail.com>**20100616111359
3800 Ignore-this: d3ef9288d6d6b9ab3bacbe09e0d9801c
3801]
3802[Win32 getProcessElapsedTime: use a higher-resolution time source
3803Simon Marlow <marlowsd@gmail.com>**20100708093223
3804 Ignore-this: 821989d4ff7ff2bff40cee71a881521c
3805 QueryPerformanceCounter() on Windows gives much better resolution than
3806 GetSystemTimeAsFileTime().
3807]
3808[alpha: switch handling of 'foreign import wrapper' (FIW) to libffi
3809Sergei Trofimovich <slyfox@community.haskell.org>**20100708065318
3810 Ignore-this: ddee15876737a6aa7f6dabc8ff79ce0d
3811 
3812 I tried to build ghc-6.12.3 and found out FIW part of code
3813 does not compile anymore. It uses absent functions under #ifdef.
3814 Instead of fixing it I just switched to libffi. Result built successfully
3815 and passed 'foreign import wrapper' test I wrote for trac ticket #3516.
3816 
3817 I didn't try to build -HEAD yet, but this patch only removes code, so
3818 it should not make -HEAD worse.
3819]
3820[Reorder the CPP flags so -optP can override the platform defines
3821Ian Lynagh <igloo@earth.li>**20100708203523]
3822[Add docs for DatatypeContexts extension
3823Ian Lynagh <igloo@earth.li>**20100707230907
3824 Ignore-this: 8158f03b35a2d7442a75fe85d6f1b1c7
3825]
3826[Make datatype contexts an extension (on by default) (DatatypeContexts)
3827Ian Lynagh <igloo@earth.li>**20100707212529
3828 Ignore-this: 6885ff510a0060610eeeba65122caef5
3829]
3830[LLVM: Fix various typos in comments
3831David Terei <davidterei@gmail.com>**20100707220448
3832 Ignore-this: 1ba3e722f150492da2f9d485c5795e80
3833]
3834[Handle haddock headers when looking for LANGUAGE/OPTIONS_GHC pragmas
3835Ian Lynagh <igloo@earth.li>**20100707120423
3836 Ignore-this: a75aa67690284a6cee3e62c943d4fd01
3837]
3838[Make pragState call mkPState, rather than duplicating everything
3839Ian Lynagh <igloo@earth.li>**20100706173007
3840 Ignore-this: 61fe24b99dbe7a42efff1a9dd703a75c
3841 This also means that extsBitmap gets set, whereas is was just being set
3842 to 0 before.
3843]
3844[LLVM: Add alias type defenitions to LlvmModule.
3845David Terei <davidterei@gmail.com>**20100707142053
3846 Ignore-this: eee6ad5385563ccf08e664d2634a03f2
3847]
3848[LLVM: Use packed structure type instead of structure type
3849David Terei <davidterei@gmail.com>**20100707120320
3850 Ignore-this: a06e0359d182291b81cae56993ca385e
3851 
3852 The regular structure type adds padding to conform to the platform ABI,
3853 which causes problems with structures storing doubles under windows since
3854 we don't conform to the platform ABI there. So we use packed structures
3855 instead now that don't do any padding.
3856]
3857[Make mkPState and pragState take their arguments in the same order
3858Ian Lynagh <igloo@earth.li>**20100706172611]
3859[Remove an out-of-date comment
3860Ian Lynagh <igloo@earth.li>**20100706172217
3861 Ignore-this: 710ebd7d2dc01c1b0f1e58a5b6f85701
3862]
3863[LLVM: Stop llvm saving stg caller-save regs across C calls
3864David Terei <davidterei@gmail.com>**20100705162629
3865 Ignore-this: 28b4877b31b9358e682e38fc54b88658
3866 
3867 This is already handled by the Cmm code generator so LLVM is simply
3868 duplicating work. LLVM also doesn't know which ones are actually live
3869 so saves them all which causes a fair performance overhead for C calls
3870 on x64. We stop llvm saving them across the call by storing undef to
3871 them just before the call.
3872]
3873[LLVM: Add in literal undefined value to binding
3874David Terei <davidterei@gmail.com>**20100705161544
3875 Ignore-this: 95d8361b11584aaeec44c30e76916470
3876]
3877[LLVM: Add a literal NULL value to binding
3878David Terei <davidterei@gmail.com>**20100705161308
3879 Ignore-this: 9507b4b12c1157498704a9d1e5860f12
3880 
3881 Patch from Erik de Castro Lopo <erikd@mega-nerd.com>.
3882]
3883[refactor import declaration support (#2362)
3884Simon Marlow <marlowsd@gmail.com>**20100705104557
3885 Ignore-this: ee034ac377078a7e92bfada1907c86a0
3886]
3887[Disable dynamic linking optimisations on OS X
3888Simon Marlow <marlowsd@gmail.com>**20100705103014
3889 Ignore-this: b04420d3705c51112797758d17b2e40c
3890 To improve performance of the RTS when dynamically linked on x86, I
3891 previously disabled -fPIC for certain critical modules (the GC, and a
3892 few others).  However, build reports suggest that the dynamic linker
3893 on OS X doesn't like this, so I'm disabling this optimsation on that
3894 platform.
3895]
3896[trac #2362 (full import syntax in ghci)
3897amsay@amsay.net**20100625032632
3898 Ignore-this: a9d0859d84956beb74e27b797431bf9c
3899 'import' syntax is seperate from ':module' syntax
3900]
3901[Simplify ghc-pkg's Cabal dependencies
3902Ian Lynagh <igloo@earth.li>**20100704184155
3903 We no longer support building with a compiler that doesn't come with
3904 base 4.
3905]
3906[Use Cabal to configure the dist-install ghc-pkg; fixes trac #4156
3907Ian Lynagh <igloo@earth.li>**20100704132612]
3908[Remove dead code (standalone deriving flag no longer used in parser)
3909Ian Lynagh <igloo@earth.li>**20100701162058]
3910[LLVM: Use the inbounds keyword for getelementptr instructions.
3911David Terei <davidterei@gmail.com>**20100702160511
3912 Ignore-this: 3708e658a4c82b78b1402393f4405541
3913]
3914[threadPaused: fix pointer arithmetic
3915Simon Marlow <marlowsd@gmail.com>**20100701085046
3916 Ignore-this: b78210e5d978f18ffd235f1c78a55a23
3917 Noticed by Henrique Ferreiro <hferreiro@udc.es>, thanks!
3918]
3919[LLVM: Change more operations to use getelementptr
3920David Terei <davidterei@gmail.com>**20100701161856
3921 Ignore-this: fb24eb124e203f50680c6fec3ff9fe7d
3922]
3923[Add the haskell2010 package
3924Simon Marlow <marlowsd@gmail.com>**20100630125532
3925 Ignore-this: e9b011313f283a8ff2fcda7d029a01f
3926]
3927[LLVM: Use getelementptr instruction for a lot of situations
3928David Terei <davidterei@gmail.com>**20100630181157
3929 Ignore-this: 34d314dd8dffad9bdcffdc525261a49d
3930 
3931 LLVM supports creating pointers in two ways, firstly through
3932 pointer arithmetic (by casting between pointers and ints)
3933 and secondly using the getelementptr instruction. The second way
3934 is preferable as it gives LLVM more information to work with.
3935 
3936 This patch changes a lot of pointer related code from the first
3937 method to the getelementptr method.
3938]
3939[remove out of date comments; point to the wiki
3940Simon Marlow <marlowsd@gmail.com>**20100625100313
3941 Ignore-this: 95f363a373534b9471b1818102ec592d
3942]
3943[NCG: allocatableRegs is only giving us 8 SSE regs to allocate to
3944benl@ouroborus.net**20100629054321
3945 Ignore-this: b3e0fa0b4ce988a0258dc12261989ee0
3946]
3947[LLVM: Use intrinsic functions for pow, sqrt, sin, cos
3948David Terei <davidterei@gmail.com>**20100628182949
3949 Ignore-this: 98a0befaca3fe2b36d710d8ff9f062c4
3950 
3951 Instead of calling the C library for these Cmm functions
3952 we use intrinsic functions provided by llvm. LLVM will
3953 then either create a compile time constant if possible, or
3954 use a cpu instruction or as a last resort call the C
3955 library.
3956]
3957[LLVM: Fix test '2047' under linux-x64
3958David Terei <davidterei@gmail.com>**20100628165256
3959 Ignore-this: 41735d4f431a430db636621650ccd71e
3960]
3961[LLVM: Fix test 'ffi005' under linux-x64
3962David Terei <davidterei@gmail.com>**20100628155355
3963 Ignore-this: 841f3142c63cc898ac4c3f89698a837e
3964]
3965[LLVM: Update to use new fp ops introduced in 2.7
3966David Terei <davidterei@gmail.com>**20100628144037
3967 Ignore-this: 5dd2e5964e3c039d297ed586841e706b
3968]
3969[Add noalias and nocapture attributes to pointer stg registers
3970David Terei <davidterei@gmail.com>**20100628115120
3971 Ignore-this: 492a1e723cb3a62498d240d7de92dd7
3972 
3973 At the moment this gives a very slight performance boost of around 1 - 2%.
3974 Future changes to the generated code though so that pointers are kept as
3975 pointers more often instead of being cast to integer types straight away
3976 should hopefully improve the benefit this brings.
3977 
3978]
3979[during shutdown, only free the heap if we waited for foreign calls to exit
3980Simon Marlow <marlowsd@gmail.com>**20100628090536
3981 Ignore-this: d545384a4f641d701455d08ef1217479
3982]
3983[Fix typo in -ddump-pass's document.
3984shelarcy <shelarcy@gmail.com>**20100620070759
3985 Ignore-this: f4f1ddb53f147949e948147d89190c37
3986]
3987[Add #undefs for posix source symbols when including papi.h
3988dmp@rice.edu**20100624163514
3989 Ignore-this: 8a1cba21b880d12a75a75f7e96882053
3990 
3991 Validation fails when validating with PAPI support (i.e. GhcRtsWithPapi  = YES
3992 in validate.mk).  The problem is that the posix symbols are defined by a header
3993 included from papi.h. Compilation then fails because these symbols are
3994 redefined in PosixSource.h.
3995 
3996 This patch adds an undefine for the posix symbols after including papi.h and
3997 before including PosixSource.h. The #undefines are localized to Papi.c since
3998 that is the only case where they are getting defined twice.
3999]
4000[Use machdepCCOpts in runPhase_MoveBinary; fixes trac #3952
4001Ian Lynagh <igloo@earth.li>**20100625220953]
4002[LLVM: Fix bug with calling tail with empty list
4003David Terei <davidterei@gmail.com>**20100625115729
4004 Ignore-this: 46b4b32c8d92372a2d49794a96fe1613
4005]
4006[Fix warnings
4007benl@ouroborus.net**20100624091339
4008 Ignore-this: 5ba4bbd6abb9c9d1fb8c5d21ab73f218
4009]
4010[NCG: Comments and formatting only
4011benl@ouroborus.net**20100624083121
4012 Ignore-this: 86002e72c30d06bcc876d8c49f4caa5a
4013]
4014[NCG: Do the actual reversing of SCCs
4015benl@ouroborus.net**20100624082717
4016 Ignore-this: 12d2027ea118e751fbb48b27126150ef
4017]
4018[NCG: Fix dumping of graphs in regalloc stats for graph allocator
4019benl@ouroborus.net**20100624082625
4020 Ignore-this: 2b971bc9e0318099a9afb0e0db135730
4021]
4022[NCG: Reverse SCCs after each round in the graph allocator
4023benl@ouroborus.net**20100624082437
4024 Ignore-this: f0152e4039d6f16f7b5a99b286538116
4025]
4026[NCG: Don't actually complain on unreachable code blocks
4027benl@ouroborus.net**20100624081445
4028 Ignore-this: e7335ae6120917cb858c38c7c6da8e24
4029]
4030[NCG: Do explicit check for precondition of computeLiveness
4031benl@ouroborus.net**20100624080747
4032 Ignore-this: e7053c4e5e4c3c746b5ebf016913424a
4033 
4034  computeLiveness requires the SCCs of blocks to be in reverse dependent
4035  order, and if they're not it was silently giving bad liveness info,
4036  yielding a bad allocation.
4037 
4038  Now it complains, loudly.
4039]
4040[NCG: Fix off-by-one error in realRegSqueeze
4041benl@ouroborus.net**20100623095813
4042 Ignore-this: ab0698686d4c250da8e207f734f8252d
4043]
4044[NCG: Handle stripping of liveness info from procs with no blocks (like stg_split_marker)
4045benl@ouroborus.net**20100623091209
4046 Ignore-this: c0319b6cc62ec713afe4eb03790406e3
4047]
4048[NCG: Emit a warning on unreachable code block instead of panicing
4049benl@ouroborus.net**20100623085002
4050 Ignore-this: d20314b79e3c31e764ed4cd97290c696
4051]
4052[NCG: Remember to keep the entry block first when erasing liveness info
4053Ben.Lippmeier@anu.edu.au**20090917104429
4054 Ignore-this: 1b0c1df19d622858d50ffb6a01f2cef0
4055]
4056[NCG: Refactor representation of code with liveness info
4057Ben.Lippmeier@anu.edu.au**20090917090730
4058 Ignore-this: 2aebb3b02ebd92e547c5abad9feb0f0d
4059 
4060  * I've pushed the SPILL and RELOAD instrs down into the
4061    LiveInstr type to make them easier to work with.
4062 
4063  * When the graph allocator does a spill cycle it now just
4064    re-annotates the LiveCmmTops instead of converting them
4065    to NatCmmTops and back.
4066 
4067  * This saves working out the SCCS again, and avoids rewriting
4068    the SPILL and RELOAD meta instructions into real machine
4069    instructions.
4070]
4071[NCG: Add sanity checking to linear allocator
4072Ben.Lippmeier@anu.edu.au**20090917090335
4073 Ignore-this: 5a442be8b5087d04bc8b58dffa9ea080
4074 If there are are unreachable basic blocks in the native code then the
4075 linear allocator might loop. Detect this case and panic instead.
4076]
4077[NCG: Refactor LiveCmmTop to hold a list of SCCs instead of abusing ListGraph
4078Ben.Lippmeier@anu.edu.au**20090917060332
4079 Ignore-this: 3fec8d69ed0f760e53a202f873d5d9cb
4080]
4081[NCG: Allow the liveness map in a LiveInfo to be Nothing
4082Ben.Lippmeier@anu.edu.au**20090917043937
4083 Ignore-this: 5f82422d54d1b0ffc0589eb7e82fb7a4
4084]
4085[NCG: Also show the result of applying coalesings with -ddump-asm-regalloc-stages
4086Ben.Lippmeier.anu.edu.au**20090917034427
4087 Ignore-this: 76bd6d5ca43adb2167cb25832cbaa80b
4088]
4089[Fix panic when running "ghc -H"; trac #3364
4090Ian Lynagh <igloo@earth.li>**20100624234011
4091 The problem is that showing SDoc's looks at the static flags global
4092 variables, but those are panics while we are parsing the static flags.
4093 We work around this by explicitly using a fixed prettyprinter style.
4094]
4095[Allow for stg registers to have pointer type in llvm BE.
4096David Terei <davidterei@gmail.com>**20100621175839
4097 Ignore-this: fc09b1a8314aef0bde945c77af1124fb
4098 
4099 Before all the stg registers were simply a bit type or
4100 floating point type but now they can be declared to have
4101 a pointer type to one of these. This will allow various
4102 optimisations in the future in llvm since the type is
4103 more accurate.
4104]
4105[Add support for parameter attributes to the llvm BE binding
4106David Terei <davidterei@gmail.com>**20100624111744
4107 Ignore-this: 77f3c0c7bf8f81c4a154dc835ae7bcba
4108 
4109 These allow annotations of the code produced by the backend
4110 which should bring some perforamnce gains. At the moment
4111 the attributes aren't being used though.
4112]
4113[Cast some more nats to StgWord to be on the safe side
4114Simon Marlow <marlowsd@gmail.com>**20100624105700
4115 Ignore-this: e6176683856f9872fdeb2358bb065bb8
4116 And add a comment about the dangers of int overflow
4117]
4118[comments only
4119Simon Marlow <marlowsd@gmail.com>**20100624105105
4120 Ignore-this: fc8f762f4c3a5ffca2f8da2bc63ac2a4
4121]
4122[Fix an arithmetic overflow bug causing crashes with multi-GB heaps
4123Simon Marlow <marlowsd@gmail.com>**20100624104654
4124 Ignore-this: 67210755aa098740ff5230347be0fd5d
4125]
4126[Add support for collecting PAPI native events
4127dmp@rice.edu**20100622195953
4128 Ignore-this: 7269f9c4dfb2912a024eb632200fcd1
4129 
4130 This patch extends the PAPI support in the RTS to allow collection of native
4131 events. PAPI can collect data for native events that are exposed by the
4132 hardware beyond the PAPI present events. The native events supported on your
4133 hardware can found by using the papi_native_avail tool.
4134 
4135 The RTS already allows users to specify PAPI preset events from the command
4136 line. This patch extends that support to allow users to specify native events.
4137 The changes needed are:
4138 
4139 1) New option (#) for the RTS PAPI flag for native events. For example, to
4140    collect the native event 0x40000000, use ./a.out +RTS -a#0x40000000 -sstderr
4141 
4142 2) Update the PAPI_FLAGS struct to store whether the user specified event is a
4143    papi preset or a native event
4144 
4145 3) Update init_countable_events function to add the native events after parsing
4146    the event code and decoding the name using PAPI_event_code_to_name
4147 
4148]
4149[Don't warn about unused bindings with parents in .hs-boot files; trac #3449
4150Ian Lynagh <igloo@earth.li>**20100624110351]
4151[fix the home_imps filter to allow for 'import "this" <module>'
4152Simon Marlow <marlowsd@gmail.com>**20100621125535
4153 Ignore-this: da4e605b0513afc32a4e7caa921a2c76
4154 In the PackageImports extension, import "this" means "import from the
4155 current package".
4156]
4157[Use the standard C wrapper code for the ghc-$version.exe wrapper
4158Ian Lynagh <igloo@earth.li>**20100622202859
4159 Ignore-this: 60cd3e6db3afb63e6ba9e2db3b033580
4160]
4161[Don't rely on "-packagefoo" working; use "-package foo" instead
4162Ian Lynagh <igloo@earth.li>**20100622202547]
4163[Remove unnecessary C #includes
4164Ian Lynagh <igloo@earth.li>**20100622172919]
4165[Make the ghci.exe wrapper call the right ghc.exe
4166Ian Lynagh <igloo@earth.li>**20100622172247]
4167[More updates to datalayout description in llvm BE
4168David Terei <davidterei@gmail.com>**20100622165339
4169 Ignore-this: b0c604fe7673b0aa7c7064694d574437
4170]
4171[Remove LlvmAs phase as the llvm opt tool now handles this phase
4172David Terei <davidterei@gmail.com>**20100622144044
4173 Ignore-this: b9fd8f959702b6af014e2fa654bede3
4174 
4175 This phase originally invoked the llvm-as tool that turns a textual
4176 llvm assembly file into a bit code file for the rest of llvm to deal
4177 with. Now the llvm opt tool can do this itself, so we don't need to
4178 use llvm-as anymore.
4179]
4180[Update datalayout info in llvm BE
4181David Terei <davidterei@gmail.com>**20100622123457
4182 Ignore-this: 89b043d211225dcd819f30549afe1840
4183]
4184[Fix handling of float literals in llvm BE
4185David Terei <davidterei@gmail.com>**20100622121642
4186 Ignore-this: a3b5f382ad4b5a426ad4b581664506fa
4187]
4188[Declare some top level globals to be constant when appropriate
4189David Terei <davidterei@gmail.com>**20100621174954
4190 Ignore-this: 44832f65550d4f995d11c01cc1affef5
4191 
4192 This involved removing the old constant handling mechanism
4193 which was fairly hard to use. Now being constant or not is
4194 simply a property of a global variable instead of a separate
4195 type.
4196]
4197[Reduce the number of passes over the cmm in llvm BE
4198David Terei <davidterei@gmail.com>**20100621125220
4199 Ignore-this: cb2f4e54e8d0f982d5087fbeee35c73c
4200]
4201[Fix negate op not working for -0 in llvm backend
4202David Terei <davidterei@gmail.com>**20100621123606
4203 Ignore-this: c5d76e5cffa781fed074137851b1347f
4204]
4205[ROLLBACK: picCCOpts: -dynamic should not entail -optc-fPIC
4206Simon Marlow <marlowsd@gmail.com>**20100621100409
4207 Ignore-this: f2fac7df33d3919199befc59bd455414
4208 and add a comment to explain why it was wrong.  This fixes the dyn
4209 test failures that sprang up recently.
4210]
4211[Check files are really created in libffi
4212Ian Lynagh <igloo@earth.li>**20100620163724
4213 when we think that the libffi build creates them, so they just depend
4214 on the libffi build stamp.
4215]
4216[Improve the missing-import-list warning
4217Ian Lynagh <igloo@earth.li>**20100620124320
4218 Ignore-this: 551e5fdf2dfb56b49d249e0cebaa6115
4219]
4220[Tweak missing-import-list warning
4221Ian Lynagh <igloo@earth.li>**20100620122622
4222 Ignore-this: 360cdf59ae13d66ded181129325506c4
4223]
4224[trac #1789 (warnings for missing import lists)
4225amsay@amsay.net**20100618150649
4226 Ignore-this: b0b0b1e048fbca0817c1e6fade1153fa
4227]
4228[Refix docs for sizeofByteArray#/sizeofMutableByteArray# (#3800)
4229Ian Lynagh <igloo@earth.li>**20100620103749]
4230[Remove some old commented out code
4231Ian Lynagh <igloo@earth.li>**20100620000459]
4232[SET_ARR_HDR's last argument is now a number of bytes, rather than words
4233Ian Lynagh <igloo@earth.li>**20100619235214
4234 This avoids unnecessary work and potential loss of information
4235]
4236[Replace an (incorrect) bytes-to-words calculation with ROUNDUP_BYTES_TO_WDS
4237Ian Lynagh <igloo@earth.li>**20100619234310]
4238[FIX #38000 Store StgArrWords payload size in bytes
4239Antoine Latter <aslatter@gmail.com>**20100101183346
4240 Ignore-this: 7bf3ab4fc080c46311fc10b179361bb6
4241]
4242[Add win32 datalayout support to llvm backend
4243David Terei <davidterei@gmail.com>**20100618131733
4244 Ignore-this: 4b7bffaa8ef38c628ab852c1a6c1c009
4245]
4246[Remove unused 'ddump-opt-llvm' flag
4247David Terei <davidterei@gmail.com>**20100618101237
4248 Ignore-this: f78467496d986897e49d82646ee2907e
4249]
4250[generate "movl lbl(%reg1), %reg2" instructions, better codegen for -fPIC
4251Simon Marlow <marlowsd@gmail.com>**20100618082258
4252 Ignore-this: a25567ebff9f575303ddc8f2deafebbf
4253]
4254[joinToTargets: fix a case of panic "handleComponent cyclic"
4255Simon Marlow <marlowsd@gmail.com>**20100618082147
4256 Ignore-this: 765baeefbb5a41724004acd92405cecc
4257]
4258[comment typo
4259Simon Marlow <marlowsd@gmail.com>**20100618082102
4260 Ignore-this: e495610b7dd5ec30b02938638b56cb7
4261]
4262[Add support of TNTC to llvm backend
4263David Terei <davidterei@gmail.com>**20100618093205
4264 Ignore-this: 2c27d21668374a5b0d5e844882c69439
4265 
4266 We do this through a gnu as feature called subsections,
4267 where you can put data/code into a numbered subsection
4268 and those subsections will be joined together in descending
4269 order by gas at compile time.
4270]
4271[Don't automatically insert a -fvia-C flag in an unregisterised compiler
4272Ian Lynagh <igloo@earth.li>**20100617190901
4273 Ignore-this: eb25a9a338fade9e17c153da7c5f27e9
4274 The default object mode is already HscC, so it's unnecessary, and
4275 -fvia-C generates a deprecated flag warning now.
4276]
4277[In PosixSource.h, conditionally define things based on platform
4278Ian Lynagh <igloo@earth.li>**20100617174912
4279 This may not be ideal, but it should get GHC building on all platforms
4280 again.
4281]
4282[disable -fPIC for the GC for performance reasons
4283Simon Marlow <marlowsd@gmail.com>**20100617140025
4284 Ignore-this: c7c152bbff71ef7891eaee8ff39fc281
4285 see comment for details
4286]
4287[picCCOpts: -dynamic should not entail -optc-fPIC
4288Simon Marlow <marlowsd@gmail.com>**20100617115259
4289 Ignore-this: d71e42bd56e4bd107d2c431b801855e5
4290]
4291[Make getAllocations() visible
4292Simon Marlow <marlowsd@gmail.com>**20100617113259
4293 Ignore-this: 1b7fb38a01358c0acbe8987df07d23f2
4294]
4295[Fix the symbol visibility pragmas
4296Simon Marlow <marlowsd@gmail.com>**20100617105758
4297 Ignore-this: 76552500865473a1dbebbc1cc2def9f0
4298]
4299[pick up changes to $(GhcStage1HcOpts) without re-configuring the ghc package
4300Simon Marlow <marlowsd@gmail.com>**20100616124718
4301 Ignore-this: afb56d5560c813051285607fefb15493
4302]
4303[Fix bindisttest Makefile
4304Ian Lynagh <igloo@earth.li>**20100616205611
4305 Ignore-this: 39cd352152422f378572fc3859c5a377
4306]
4307[Remove some more unused make variables
4308Ian Lynagh <igloo@earth.li>**20100616180519]
4309[Convert some more variable names to FOO_CMD, for consistency
4310Ian Lynagh <igloo@earth.li>**20100616175916]
4311[Rename some variables from FOO to FOO_CMD
4312Ian Lynagh <igloo@earth.li>**20100616161108
4313 This fixes a problem with commands like gzip, where if $GZIP is exported
4314 in the environment, then when make runs a command it'll put the Makefile
4315 variable's value in the environment. But gzip treats $GZIP as arguments
4316 for itself, so when we run gzip it thinks we're giving it "gzip" as an
4317 argument.
4318]
4319[Make the "show" target work anywhere in the build tree
4320Ian Lynagh <igloo@earth.li>**20100616122910
4321 Ignore-this: 299d40cbe16112accd9f14e56fa12158
4322]
4323[Change ghc-pwd's license to a string Cabal recognises
4324Ian Lynagh <igloo@earth.li>**20100615204015
4325 Ignore-this: c935b6ad7f605aab0168997a90b40fc6
4326]
4327[fix warning
4328Simon Marlow <marlowsd@gmail.com>**20100604205933
4329 Ignore-this: 2aaa4ed6a8b9ae1e39adc4696aaf14a3
4330]
4331[--install-signal-handles=no does not affect the timer signal (#1908)
4332Simon Marlow <marlowsd@gmail.com>**20100527214627
4333 Ignore-this: b0c51f1abdb159dc360662485095a11a
4334]
4335[Small optimisation: allocate nursery blocks contiguously
4336Simon Marlow <marlowsd@gmail.com>**20100509194928
4337 Ignore-this: e650e99e9ea9493d2efb245d565beef4
4338 This lets automatic prefetching work better, for a tiny performance boost
4339]
4340[fix -fforce-recomp setting: module is PrimOp, not PrimOps
4341Simon Marlow <marlowsd@gmail.com>**20100507084507
4342 Ignore-this: f76e0d9b643682ec0e8fb7d91afdea68
4343]
4344[it should be an error to use relative directories (#4134)
4345Simon Marlow <marlowsd@gmail.com>**20100615151740
4346 Ignore-this: 2068021701832e018ca41b22877921d5
4347]
4348[missing include-dirs or library-dirs is only a warning now (#4104)
4349Simon Marlow <marlowsd@gmail.com>**20100615151702
4350 Ignore-this: e3114123cef147bbd28ccb64581a1afb
4351]
4352[fix #3822: desugaring case command in arrow notation
4353Ross Paterson <ross@soi.city.ac.uk>**20100615225110
4354 Ignore-this: 477d6c460b4174b94b4cd113fa5b9d19
4355 
4356 Get the set of free variables from the generated case expression:
4357 includes variables in the guards and decls that were missed before,
4358 and is also a bit simpler.
4359]
4360[Deprecate the -fvia-C flag; trac #3232
4361Ian Lynagh <igloo@earth.li>**20100615151836
4362 Ignore-this: c2452b2648bf7e44546465c1b964fce
4363]
4364[Avoid using the new ~~ perl operator in the mangler
4365Ian Lynagh <igloo@earth.li>**20100615151236
4366 Ignore-this: 709a7ba4e514b1596841b3ba7e5c6cc
4367]
4368[stmAddInvariantToCheck: add missing init of invariant->lock (#4057)
4369Simon Marlow <marlowsd@gmail.com>**20100615123643
4370 Ignore-this: 3b132547fa934cecf71a846db2a5f70e
4371]
4372[Add new LLVM code generator to GHC. (Version 2)
4373David Terei <davidterei@gmail.com>**20100615094714
4374 Ignore-this: 4dd2fe5854b64a3f0339d484fd5c238
4375 
4376 This was done as part of an honours thesis at UNSW, the paper describing the
4377 work and results can be found at:
4378 
4379 http://www.cse.unsw.edu.au/~pls/thesis/davidt-thesis.pdf
4380 
4381 A Homepage for the backend can be found at:
4382 
4383 http://hackage.haskell.org/trac/ghc/wiki/Commentary/Compiler/Backends/LLVM
4384 
4385 Quick summary of performance is that for the 'nofib' benchmark suite, runtimes
4386 are within 5% slower than the NCG and generally better than the C code
4387 generator.  For some code though, such as the DPH projects benchmark, the LLVM
4388 code generator outperforms the NCG and C code generator by about a 25%
4389 reduction in run times.
4390 
4391]
4392[Fix Trac #4127: build GlobalRdrEnv in GHCi correctly
4393simonpj@microsoft.com**20100615070626
4394 Ignore-this: d907e3bfa7882878cea0af172aaf6e84
4395 
4396 GHCi was building its GlobalRdrEnv wrongly, so that the
4397 gre_par field was bogus.  That in turn fooled the renamer.
4398 The fix is easy: use the right function!  Namely, call
4399 RnNames.gresFromAvail rather than availsToNameSet.
4400]
4401[Comments, and improvement to pretty-printing of HsGroup
4402simonpj@microsoft.com**20100615070409
4403 Ignore-this: ec8358f2485370b20226a97ec84e9024
4404]
4405[Don't reverse bindings in rnMethodBinds (fix Trac #4126)
4406simonpj@microsoft.com**20100614163935
4407 Ignore-this: a6ffbb5af6f51b142ed0aeae8ee5e3a9
4408]
4409[Fix Trac #4120: generate a proper coercion when unifying forall types
4410simonpj@microsoft.com**20100614134311
4411 Ignore-this: 601592bb505305f1954cbe730f168da4
4412 
4413 This was just a blatant omission, which hasn't come up before.
4414 Easily fixed, happily.
4415]
4416[Use mkFunTy to ensure that invariants are respected
4417simonpj@microsoft.com**20100614134159
4418 Ignore-this: 67dcada7a4e8d9927581cd77af71b6f
4419]
4420[Remove redundant debug code
4421simonpj@microsoft.com**20100601154151
4422 Ignore-this: e6ff11c04c631cf6aac73788cbcf02b5
4423]
4424[Fix Trac #4099: better error message for type functions
4425simonpj@microsoft.com**20100531140413
4426 Ignore-this: 3f53ca98cf770577818b9c0937482577
4427 
4428 Now we only want about "T is a type function and might not be
4429 injective" when matchin (T x) against (T y), which is the case
4430 that is really confusing.
4431]
4432[Gruesome fix in CorePrep to fix embarassing Trac #4121
4433simonpj@microsoft.com**20100614132726
4434 Ignore-this: fe82d15474afaac3e6133adfd7a7e055
4435 
4436 This is a long-lurking bug that has been flushed into
4437 the open by other arity-related changes.  There's a
4438 long comment
4439 
4440      Note [CafInfo and floating]
4441 
4442 to explain. 
4443 
4444 I really hate the contortions we have to do through to keep correct
4445 CafRef information on top-level binders.  The Right Thing, I believe,
4446 is to compute CAF and arity information later, and merge it into the
4447 interface-file information when the latter is generated.
4448 
4449 But for now, this hackily fixes the problem.
4450]
4451[Fix a bug in CorePrep that meant output invariants not satisfied
4452simonpj@microsoft.com**20100531150013
4453 Ignore-this: d34eb36d8877d3caf1cf2b20de426abd
4454 
4455 In cpePair I did things in the wrong order so that something that
4456 should have been a CprRhs wasn't.  Result: a crash in CoreToStg.
4457 Fix is easy, and I added more informative type signatures too.
4458]
4459[Robustify the treatement of DFunUnfolding
4460simonpj@microsoft.com**20100531145332
4461 Ignore-this: 8f5506ada4d89f6ab8ad1e8c3ffb09ba
4462 
4463 See Note [DFun unfoldings] in CoreSyn.  The issue here is that
4464 you can't tell how many dictionary arguments a DFun needs just
4465 from looking at the Arity of the DFun Id: if the dictionary is
4466 represented by a newtype the arity might include the dictionary
4467 and value arguments of the (single) method.
4468 
4469 So we need to record the number of arguments need by the DFun
4470 in the DFunUnfolding itself.  Details in
4471    Note [DFun unfoldings] in CoreSyn
4472]
4473[Fix spelling in comment
4474simonpj@microsoft.com**20100614132259
4475 Ignore-this: bbf0d55f2e5f10ef9c74592c12f9201c
4476]
4477[Update docs on view patterns
4478simonpj@microsoft.com**20100614074801
4479 Ignore-this: 8617b9078800d4942d71f142a5b6c831
4480]
4481[Fix printing of splices; part of #4124
4482Ian Lynagh <igloo@earth.li>**20100613154838
4483 Just putting parens around non-atomic expressions isn't sufficient
4484 for splices, as only the $x and $(e) forms are valid input.
4485]
4486[In ghci, catch IO exceptions when calling canonicalizePath
4487Ian Lynagh <igloo@earth.li>**20100613134627
4488 We now get an exception if the path doesn't exist
4489]
4490[Whitespace only
4491Ian Lynagh <igloo@earth.li>**20100612213119]
4492[Whitespace only
4493Ian Lynagh <igloo@earth.li>**20100612165450]
4494[Update ghci example output in user guide; patch from YitzGale in #4111
4495Ian Lynagh <igloo@earth.li>**20100612162250]
4496[Fix #4131 missing UNTAG_CLOSURE in messageBlackHole()
4497benl@ouroborus.net**20100611044614]
4498[messageBlackHole: fix deadlock bug caused by a missing 'volatile'
4499Simon Marlow <marlowsd@gmail.com>**20100610080636
4500 Ignore-this: 3cda3054bb45408aa9bd2d794b69c938
4501]
4502[Pass --no-tmp-comp-dir to Haddock (see comment)
4503Simon Marlow <marlowsd@gmail.com>**20100604083214
4504 Ignore-this: bfa4d74038637bd149f4d878b4eb8a87
4505]
4506[Track changes to DPH libs
4507Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100607052903
4508 Ignore-this: 4dbc3f8418af3e74b3fc4f9a9dfe7764
4509]
4510[Track changes to DPH libs
4511Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100607012642
4512 Ignore-this: 5d4e498171a3c57ab02621bfaea82cff
4513]
4514[In ghc-pkg, send warnings to stderr
4515Ian Lynagh <igloo@earth.li>**20100606161726
4516 Ignore-this: 56927d13b5e1c1ce2752734f0f9b665b
4517]
4518[Re-add newlines to enable layout for multi-line input.
4519Ian Lynagh <igloo@earth.li>**20100602180737
4520 Patch from Adam Vogt <vogt.adam@gmail.com>
4521 Partial fix for #3984
4522]
4523[Don't use unnecessary parens when printing types (Fix Trac 4107)
4524simonpj@microsoft.com**20100604110143
4525 Ignore-this: a833714ab13013c4345b222f4e87db1d
4526 
4527    f :: Eq a => a -> a
4528 rather than
4529    f :: (Eq a) => a -> a
4530]
4531[Track DPH library changes
4532Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100604005728
4533 Ignore-this: 32bc2fbea6ad975e89545d4c42fd7c30
4534]
4535[fix --source-entity option passed to Haddock: we needed to escape a #
4536Simon Marlow <marlowsd@gmail.com>**20100603125459
4537 Ignore-this: d52ae6188b510c482bcebb23f0e553ae
4538]
4539[__stg_EAGER_BLACKHOLE_INFO -> __stg_EAGER_BLACKHOLE_info (#4106)
4540Simon Marlow <marlowsd@gmail.com>**20100602091419
4541 Ignore-this: 293315ac8f86fd366b8d61992ecc7961
4542]
4543[Add xhtml package (a new dependency of Haddock; not installed/shipped)
4544Simon Marlow <marlowsd@gmail.com>**20100602090101
4545 Ignore-this: af0ac8b91abe98f7fdb624ea0a4dee20
4546]
4547[Use UserInterrupt rather than our own Interrupted exception (#4100)
4548Simon Marlow <marlowsd@gmail.com>**20100602082345
4549 Ignore-this: 1909acf2f452593138b9f85024711714
4550]
4551[Add the global package DB to ghc --info (#4103)
4552Simon Marlow <marlowsd@gmail.com>**20100602082233
4553 Ignore-this: fd5c0e207e70eb0f62606c45dc5b8124
4554]
4555[rts/sm/GC.c: resize_generations(): Remove unneeded check of number of generations.
4556Marco Túlio Gontijo e Silva <marcot@debian.org>**20100528115612
4557 Ignore-this: 6f1bea62917c01c7adac636146132c97
4558 
4559 This "if" is inside another "if" which checks for RtsFlags.GcFlags.generations
4560 > 1, so testing this again is redundant, assuming the number of generations
4561 won't change during program execution.
4562]
4563[rts/sm/BlockAlloc.c: Small comment correction.
4564Marco Túlio Gontijo e Silva <marcot@debian.org>**20100526205839
4565 Ignore-this: bd2fcd4597cc872d80b0e2eeb1c3998a
4566]
4567[rts/sm/GC.c: Annotate constants.
4568Marco Túlio Gontijo e Silva <marcot@debian.org>**20100526205707
4569 Ignore-this: f232edb89383564d759ed890a18f602f
4570]
4571[includes/rts/storage/GC.h: generation_: n_words: Improve comment.
4572Marco Túlio Gontijo e Silva <marcot@debian.org>**20100526204615
4573 Ignore-this: f5d5feefa8f7b552303978f1804fea23
4574]
4575[Add PPC_RELOC_LOCAL_SECTDIFF support; patch from PHO in #3654
4576Ian Lynagh <igloo@earth.li>**20100601204211
4577 Ignore-this: 51293b7041cdce3ce7619ef11cf7ceb
4578]
4579[powerpc-apple-darwin now supports shared libs
4580Ian Lynagh <igloo@earth.li>**20100601173325]
4581[Vectoriser: only treat a function as scalar if it actually computes something
4582Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100601045630
4583 Ignore-this: e5d99a6ddb62052e3520094a5af47552
4584]
4585[Add a release notes file for 6.14.1
4586Ian Lynagh <igloo@earth.li>**20100530171117
4587 Ignore-this: 1941e6d3d1f4051b69ca2f17a1cf84d6
4588]
4589[Check dblatex actually creates the files we tell it to
4590Ian Lynagh <igloo@earth.li>**20100530171043
4591 Ignore-this: ccc72caea2313be05cbac59bb54c0603
4592 If it fails, it still exits successfully.
4593]
4594[Add darwin to the list of OSes for which we use mmap
4595Ian Lynagh <igloo@earth.li>**20100529145016
4596 Ignore-this: a86d12a3334aaaafc86f7af9dbb0a7ae
4597 Patch from Barney Stratford
4598]
4599[Simplify the CPP logic in rts/Linker.c
4600Ian Lynagh <igloo@earth.li>**20100529144929
4601 Ignore-this: 1288f5b752cc1ab8b1c90cfd0ecfdf68
4602]
4603[Fix validate on OS X
4604Ian Lynagh <igloo@earth.li>**20100529154726]
4605[OS X x86_64 fix from Barney Stratford
4606Ian Lynagh <igloo@earth.li>**20100529122440]
4607[OS X 64 installer fixes from Barney Stratford
4608Ian Lynagh <igloo@earth.li>**20100528234935]
4609[fix warning
4610Simon Marlow <marlowsd@gmail.com>**20100525155812
4611 Ignore-this: f34eee3fe3d89579fd8d381c91ced750
4612]
4613[Fix doc bugs (#4071)
4614Simon Marlow <marlowsd@gmail.com>**20100525155728
4615 Ignore-this: aa25be196de567de360075022a1942f7
4616]
4617[Make sparks into weak pointers (#2185)
4618Simon Marlow <marlowsd@gmail.com>**20100525150435
4619 Ignore-this: feea0bb5006007b82c932bc3006124d7
4620 The new strategies library (parallel-2.0+, preferably 2.2+) is now
4621 required for parallel programming, otherwise parallelism will be lost.
4622]
4623[If you say 'make' or 'make stage=2' here, pretend we're in the ghc dir
4624Simon Marlow <marlowsd@gmail.com>**20100525085301
4625 Ignore-this: 78b740337aa460915c812cbbcdae5321
4626]
4627[Another attempt to get these #defines right
4628Simon Marlow <marlowsd@gmail.com>**20100525154313
4629 Ignore-this: 460ca0c47d81cd25eae6542114f67899
4630 Apparently on Solaris it is an error to omit _ISOC99_SOURCE when using
4631 _POSIX_C_SOURCE==200112L.
4632]
4633[Add configure flags for the location of GMP includes/library; fixes #4022
4634Ian Lynagh <igloo@earth.li>**20100525221616
4635 Ignore-this: fc3060caf995d07274ec975eeefbdf3e
4636]
4637[Refactor pretty printing of TyThings to fix Trac #4015
4638simonpj@microsoft.com**20100525153126
4639 Ignore-this: 8f15053b7554f62caa84201d2e4976d2
4640]
4641[When haddocking, we need the dependencies to have been built
4642Ian Lynagh <igloo@earth.li>**20100525145830
4643 as haddock loads the .hi files with the GHC API.
4644]
4645[Fix profiling output; spotted by jlouis
4646Ian Lynagh <igloo@earth.li>**20100525111217
4647 We were outputing the number of words allocated in a column titled "bytes".
4648]
4649[Improve printing of TyThings; fixes Trac #4087
4650simonpj@microsoft.com**20100525114045
4651 Ignore-this: da2a757a533454bba80b9b77cc5a771
4652]
4653[Spelling in comments
4654simonpj@microsoft.com**20100525114001
4655 Ignore-this: 270f3da655e526cf04e27db7a01e29c0
4656]
4657[Refactor (again) the handling of default methods
4658simonpj@microsoft.com**20100525113910
4659 Ignore-this: 6686f6cdb878d57abf6b49fec64fcbb1
4660 
4661 This patch fixes Trac #4056, by
4662 
4663  a) tidying up the treatment of default method names
4664  b) removing the 'module' argument to newTopSrcBinder
4665 
4666 The details aren't that interesting, but the result
4667 is much tidier. The original bug was a 'nameModule' panic,
4668 caused by trying to find the module of a top-level name.
4669 But TH quotes generate Internal top-level names that don't
4670 have a module, and that is generally a good thing. 
4671 
4672 Fixing that in turn led to the default-method refactoring,
4673 which also makes the Name for a default method be handled
4674 in the same way as other derived names, generated in BuildTyCl
4675 via a call newImplicitBinder.  Hurrah.
4676]
4677[Don't do SpecConstr on NOINLINE things (Trac #4064)
4678simonpj@microsoft.com**20100525112807
4679 Ignore-this: 452be0a2cef0042fb67275c2827b5f72
4680 
4681 Since the RULE from specialising gets the same Activation as
4682 the inlining for the Id itself there's no point in specialising
4683 a NOINLINE thing, because the rule will be permanently switched
4684 off.
4685 
4686 See Note [Transfer activation] in SpecConstr
4687 and Note [Auto-specialisation and RULES] in Specialise.
4688]
4689[Change our #defines to work on FreeBSD too
4690Simon Marlow <marlowsd@gmail.com>**20100524105828
4691 Ignore-this: b23ede46211e67859206c0ec57d6a86f
4692 With glibc, things like _POSIX_C_SOURCE and _ISOC99_SOURCE are
4693 additive, but on FreeBSD they are mutually exclusive.  However, it
4694 turns out we only need to define _POSIX_C_SOURCE and _XOPEN_SOURCE to
4695 get all the C99 stuff we need too, so there's no need for any #ifdefs.
4696 
4697 Submitted by: Gabor PALI <pgj@FreeBSD.org>
4698]
4699[Add a missing UNTAG_CLOSURE, causing bus errors on Sparc
4700Simon Marlow <marlowsd@gmail.com>**20100524105547
4701 Ignore-this: a590b5391d6f05d50c8c088456c3c166
4702 We just about got away with this on x86 which isn't
4703 alignment-sensitive.  The result of the memory load is compared
4704 against a few different values, but there is a fallback case that
4705 happened to be the right thing when the pointer was tagged.  A good
4706 bug to find, nonetheless.
4707]
4708[Add wiki links
4709Simon Marlow <marlowsd@gmail.com>**20100520095953
4710 Ignore-this: c22f126cde166e6207922b2eb51d29e3
4711]
4712[the 'stage=0' trick to disable all compiler builds stopped working; fix it
4713Simon Marlow <marlowsd@gmail.com>**20100520104455
4714 Ignore-this: bb6fae9056471612c8dbf06916188c33
4715]
4716[Comments and formatting only
4717benl@ouroborus.net**20100524014021
4718 Ignore-this: 64579c38154728b632e358bec751cc0b
4719]
4720[Core prettyprinter fixes. Patch from Tim Chevalier. Fixes #4085
4721Ian Lynagh <igloo@earth.li>**20100522225048]
4722[Fix the RTS debug_p build
4723Ian Lynagh <igloo@earth.li>**20100522163127]
4724[Unset $CFLAGS for "GNU non-executable stack" configure test; fixes #3889
4725Ian Lynagh <igloo@earth.li>**20100521165005
4726 With gcc 4.4 we get
4727     Error: can't resolve `.note.GNU-stack' {.note.GNU-stack section} - `.Ltext0' {.text section}
4728 when running gcc with the -g flag. To work around this we unset
4729 CFLAGS when running the test.
4730]
4731[Don't run "set -o igncr" before configuring libffi
4732Ian Lynagh <igloo@earth.li>**20100520162918
4733 Ignore-this: 489fa94df23f2adf4ff63c8ede2c0794
4734 It used to make the build work on cygwin, but now it breaks it instead:
4735     config.status: creating include/Makefile
4736     gawk: ./confLqjohp/subs.awk:1: BEGIN {\r
4737     gawk: ./confLqjohp/subs.awk:1: ^ backslash not last character on line
4738     config.status: error: could not create include/Makefile
4739     make[2]: *** [libffi/stamp.ffi.configure-shared] Error 1
4740     make[1]: *** [all] Error 2
4741]
4742[Stop passing -Wl,-macosx_version_min to gcc
4743Ian Lynagh <igloo@earth.li>**20100520154003
4744 Fixes a build failure on OS X 10.6. When linking
4745     rts/dist/build/libHSrts-ghc6.13.20100519.dylib
4746 we got
4747     ld: symbol dyld_stub_binding_helper not defined (usually in crt1.o/dylib1.o/bundle1.o)
4748     collect2: ld returned 1 exit status
4749]
4750[Fix build on FreeBSD; patch from Gabor PALI
4751Ian Lynagh <igloo@earth.li>**20100519140552]
4752[Fix package shadowing order (#4072)
4753Simon Marlow <marlowsd@gmail.com>**20100519104617
4754 Ignore-this: 26ea5e4bb5dff18618b807a54c7d6ebb
4755 
4756 Later packages are supposed to shadow earlier ones in the stack,
4757 unless the ordering is overriden with -package-id flags.
4758 Unfortunately an earlier fix for something else had sorted the list of
4759 packages so that it was in lexicographic order by installedPackageId,
4760 and sadly our test (cabal/shadow) didn't pick this up because the
4761 lexicographic ordering happened to work for the test.  I've now fixed
4762 the test so it tries both orderings.
4763]
4764[Set more env variables when configuring libffi
4765Ian Lynagh <igloo@earth.li>**20100518185014
4766 We now tell it where to find ld, nm and ar
4767]
4768[Set the location of ar to be the in-tree ar on Windows
4769Ian Lynagh <igloo@earth.li>**20100518181556]
4770[Change another / to </> to avoid building paths containing \/
4771Ian Lynagh <igloo@earth.li>**20100518172015
4772 This will hopefully fix #2889.
4773]
4774[Fix #4074 (I hope).
4775Simon Marlow <marlowsd@gmail.com>**20100518113214
4776 Ignore-this: 73cd70f5bc6f5add5247b61985c03fc1
4777 
4778 1. allow multiple threads to call startTimer()/stopTimer() pairs
4779 2. disable the timer around fork() in forkProcess()
4780 
4781 A corresponding change to the process package is required.
4782]
4783[we don't have a gcc-lib in LIB_DIR any more
4784Simon Marlow <marlowsd@gmail.com>**20100401102351
4785 Ignore-this: f41acd2d8f8e6763aa8bd57a0b44a7e4
4786]
4787[In validate, use gmake if available; based on a patch from Gabor PALI
4788Ian Lynagh <igloo@earth.li>**20100517200654]
4789[Remove duplicate "./configure --help" output; fixes #4075
4790Ian Lynagh <igloo@earth.li>**20100516141206]
4791[Update various 'sh boot's to 'perl boot'
4792Ian Lynagh <igloo@earth.li>**20100516122609
4793 Spotted by Marco Túlio Gontijo e Silva
4794]
4795[add missing initialisation for eventBufMutex
4796Simon Marlow <marlowsd@gmail.com>**20100514094943
4797 Ignore-this: 7f75594a8cb54fbec5aebd46bb959f45
4798]
4799[Undo part of #4003 patch
4800Simon Marlow <marlowsd@gmail.com>**20100513142017
4801 Ignore-this: cb65db86a38a7e5ccee9f779e489d104
4802 We still need the workaround for when compiling HEAD with 6.12.2
4803 
4804]
4805[fix !TABLES_NEXT_TO_CODE
4806Simon Marlow <marlowsd@gmail.com>**20100510151934
4807 Ignore-this: fccb859b114bef1c3122c98e60af51
4808]
4809[looksLikeModuleName: allow apostrophe in module names (#4051)
4810Simon Marlow <marlowsd@gmail.com>**20100510094741
4811 Ignore-this: df9348f3ba90608bec57257b47672985
4812]
4813[add the proper library dependencies for GhcProfiled=YES
4814Simon Marlow <marlowsd@gmail.com>**20100506122118
4815 Ignore-this: 6236993aa308ab5b5e1e5ea5f65982a
4816]
4817[Fix Trac #4003: fix the knot-tying in checkHiBootIface
4818simonpj@microsoft.com**20100511075026
4819 Ignore-this: a9ce2a318386fdc8782848df84592002
4820 
4821 I had incorrectly "optimised" checkHiBootIface so that it forgot
4822 to update the "knot-tied" type environment.
4823 
4824 This patch fixes the HEAD
4825]
4826[Re-engineer the derived Ord instance generation code (fix Trac #4019)
4827simonpj@microsoft.com**20100510133333
4828 Ignore-this: 8fe46e4dad27fbee211a7928acf372c2
4829   
4830 As well as fixing #4019, I rejigged the way that Ord instances are
4831 generated, which should make them faster in general.  See the
4832 Note [Generating Ord instances].
4833 
4834 I tried to measure the performance difference from this change, but
4835 the #4019 fix only removes one conditional branch per iteration, and
4836 I couldn't measure a consistent improvement.  But still, tihs is
4837 better than before.
4838]
4839[Make arity of INLINE things consistent
4840simonpj@microsoft.com**20100510133005
4841 Ignore-this: 15e7abf803d1dcb3f4ca760d2d939d0d
4842 
4843 We eta-expand things with INLINE pragmas;
4844 see Note [Eta-expanding INLINE things].
4845 
4846 But I eta-expanded it the wrong amount when the function
4847 was overloaded.  Ooops.
4848]
4849[Compacting GC fix, we forgot to thread the new bq field of StgTSO.
4850Simon Marlow <marlowsd@gmail.com>**20100510082325
4851 Ignore-this: a079c8446e2ad53efff6fd95d0f3ac80
4852]
4853[Add version constraints for the boot packages; fixes trac #3852
4854Ian Lynagh <igloo@earth.li>**20100509175051
4855 When using the bootstrapping compiler, we now explicitly constrain
4856 the version of boot packages (Cabal, extensible-exceptions, etc) to the
4857 in-tree version, so that the build system is less fragile should the
4858 user have a newer version installed for the bootstrapping compiler.
4859]
4860[Don't include inter-package dependencies when compiling with stage 0; #4031
4861Ian Lynagh <igloo@earth.li>**20100509130511
4862 This fixes a problem when building with GHC 6.12 on Windows, where
4863 dependencies on stage 0 (bootstrapping compiler) packages have absolute
4864 paths c:/ghc/..., and make gets confused by the colon.
4865]
4866[Add a ghc.mk for bindisttest/
4867Ian Lynagh <igloo@earth.li>**20100508223911]
4868[Move some make variables around so they are available when cleaning
4869Ian Lynagh <igloo@earth.li>**20100508212405]
4870[Optimise checkremove a bit
4871Ian Lynagh <igloo@earth.li>**20100508202006]
4872[Improve the bindisttest Makefile
4873Ian Lynagh <igloo@earth.li>**20100508195450]
4874[Add tools to test that cleaning works properly
4875Ian Lynagh <igloo@earth.li>**20100508194105]
4876[Tweak the ghc-pkg finding code
4877Ian Lynagh <igloo@earth.li>**20100508125815
4878 It now understand the ghc-stage[123] names we use in-tree, and it won't
4879 go looking for any old ghc-pkg if it can't find the one that matches
4880 ghc.
4881]
4882[Add a way to show what cleaning would be done, without actually doing it
4883Ian Lynagh <igloo@earth.li>**20100508122438]
4884[Tidy up the "rm" flags in the build system
4885Ian Lynagh <igloo@earth.li>**20100508115745]
4886[Correct install-name for dynamic Darwin rts
4887pho@cielonegro.org**20100508151155
4888 Ignore-this: 6d31716c8c113dcb46e9cb925c4201df
4889]
4890[PIC support for PowerPC
4891pho@cielonegro.org**20100508143900
4892 Ignore-this: 3673859a305398c4acae3f4d7c997615
4893 
4894 PPC.CodeGen.getRegister was not properly handling PicBaseReg.
4895 It seems working with this patch, but I'm not sure this change is correct.
4896]
4897[Fix makefile loop (#4050)
4898pho@cielonegro.org**20100507140707
4899 Ignore-this: 3a1cb13d0600977e74d17ac26cbef83d
4900 
4901 The libtool creates "libffi.dylib" and "libffi.5.dylib" but not "libffi.5.0.9.dylib". Having it in libffi_DYNAMIC_LIBS causes an infinite makefile loop.
4902]
4903[Fix crash in nested callbacks (#4038)
4904Simon Marlow <marlowsd@gmail.com>**20100507093222
4905 Ignore-this: cade85e361534ce711865a4820276388
4906 Broken by "Split part of the Task struct into a separate struct
4907 InCall".
4908]
4909[Add $(GhcDynamic) knob, set to YES to get stage2 linked with -dynamic
4910Simon Marlow <marlowsd@gmail.com>**20100428205241
4911 Ignore-this: 1db8bccf92099785ecac39aebd27c92d
4912 Default currently NO.
4913 
4914 Validate passed with GhcDynamic=YES on x86/Linux here.
4915 
4916 The compiler is currently slower on x86 when linked -dynamic,
4917 because the GC inner loop has been adversely affected by -fPIC, I'm
4918 looking into how to fix it.
4919]
4920[omit "dyn" from the way appended to the __stginit label
4921Simon Marlow <marlowsd@gmail.com>**20100428204914
4922 Ignore-this: 14183f3defa9f2bde68fda6729b740bc
4923 When GHCi is linked dynamically, we still want to be able to load
4924 non-dynamic object files.
4925]
4926[improvements to findPtr(), a neat hack for browsing the heap in gdb
4927Simon Marlow <marlowsd@gmail.com>**20100506115427
4928 Ignore-this: ac57785bb3e13b97a5945f753f068738
4929]
4930[Fix +RTS -G1
4931Simon Marlow <marlowsd@gmail.com>**20100506110739
4932 Ignore-this: 86a5de39a94d3331a4ee1213f82be497
4933]
4934[Enable the "redundant specialise pragmas" warning; fixes trac #3855
4935Ian Lynagh <igloo@earth.li>**20100506175351]
4936[Find the correct external ids when there's a wrapper
4937simonpj@microsoft.com**20100506164135
4938 Ignore-this: 636266407b174b05b2b8646cc73062c0
4939 
4940 We were failing to externalise the wrapper id for a function
4941 that had one.
4942]
4943[Add a comment about pattern coercions
4944simonpj@microsoft.com**20100506164027
4945 Ignore-this: 17428089f3df439f65d892e23e8ed61a
4946]
4947[Comments only
4948simonpj@microsoft.com**20100506163829
4949 Ignore-this: 169167b6463873ab173cc5750c5be469
4950]
4951[Make a missing name in mkUsageInfo into a panic
4952simonpj@microsoft.com**20100506163813
4953 Ignore-this: b82ff1b8bf89f74f146db7cb5cc4c4d7
4954 
4955 We really want to know about this!
4956]
4957[Refactoring of hsXxxBinders
4958simonpj@microsoft.com**20100506163737
4959 Ignore-this: 97c6667625262b160f9746f7bea1c980
4960 
4961 This patch moves various functions that extract the binders
4962 from a HsTyClDecl, HsForeignDecl etc into HsUtils, and gives
4963 them consistent names.
4964]
4965[Fix Trac #3966: warn about useless UNPACK pragmas
4966simonpj@microsoft.com**20100506163337
4967 Ignore-this: 5beb24b686eda6113b614dfac8490df1
4968 
4969 Warning about useless UNPACK pragmas wasn't as easy as I thought.
4970 I did quite a bit of refactoring, which improved the code by refining
4971 the types somewhat.  In particular notice that in DataCon, we have
4972 
4973     dcStrictMarks   :: [HsBang]
4974     dcRepStrictness :: [StrictnessMarks]
4975 
4976 The former relates to the *source-code* annotation, the latter to
4977 GHC's representation choice.
4978]
4979[Make tcg_dus behave more sanely; fixes a mkUsageInfo panic
4980simonpj@microsoft.com**20100506162719
4981 Ignore-this: d000bca15b0e127e297378ded1bfb81b
4982 
4983 The tcg_dus field used to contain *uses* of type and class decls,
4984 but not *defs*.  That was inconsistent, and it really went wrong
4985 for Template Haskell bracket.  What happened was that
4986  foo = [d| data A = A
4987                   f :: A -> A
4988                   f x = x |]
4989 would find a "use" of A when processing the top level of the module,
4990 which in turn led to a mkUsageInfo panic in MkIface.  The cause was
4991 the fact that the tcg_dus for the nested quote didn't have defs for
4992 A.
4993]
4994[Add a HsExplicitFlag to SpliceDecl, to improve Trac #4042
4995simonpj@microsoft.com**20100506161523
4996 Ignore-this: e4e563bac2fd831cc9e94612f5b4fa9d
4997 
4998 The issue here is that
4999 
5000     g :: A -> A
5001     f
5002     data A = A
5003 
5004 is treated as if you'd written $(f); that is the call of
5005 f is a top-level Template Haskell splice.  This patch
5006 makes sure that we *first* check the -XTemplateHaskellFlag
5007 and bleat about a parse error if it's off.  Othewise we
5008 get strange seeing "A is out of scope" errors.
5009]
5010[Change an assert to a warn
5011simonpj@microsoft.com**20100506161111
5012 Ignore-this: 739a4fb4c7940376b0f2c8ad52a1966c
5013 
5014 This is in the constraint simplifier which I'm about
5015 to rewrite, so I'm hoping the assert isn't fatal!
5016]
5017[Tidy up debug print a little
5018simonpj@microsoft.com**20100506161027
5019 Ignore-this: bd5492878e06bee1cddcbb3fc4df66d8
5020]
5021[Remove useless UNPACK pragmas
5022simonpj@microsoft.com**20100506161012
5023 Ignore-this: 3e5ab1a7cf58107034412a798bc214e5
5024]
5025[Add WARNM2 macro, plus some refactoring
5026simonpj@microsoft.com**20100506160808
5027 Ignore-this: 2ab4f1f0b5d94be683036e77aec09255
5028]
5029[Use -Wwarn for the binary package, becuase it has redundant UNPACK pragmas
5030simonpj@microsoft.com**20100506160750
5031 Ignore-this: cf0d3a11473e28bfce9602e716e69a5f
5032]
5033[Fix Trac #3966: warn about unused UNPACK pragmas
5034simonpj@microsoft.com**20100409201812
5035 Ignore-this: c96412596b39c918b5fb9b3c39ce2119
5036]
5037[Fix Trac #3953: fail earlier when using a bogus quasiquoter
5038simonpj@microsoft.com**20100409201748
5039 Ignore-this: ef48e39aa932caed538643985234f043
5040]
5041[Fix Trac #3965: tighten conditions when deriving Data
5042simonpj@microsoft.com**20100409184420
5043 Ignore-this: 96f7d7d2da11565d26b465d7d0497ac9
5044 
5045 It's tricky to set up the context for a Data instance.  I got it wrong
5046 once, and fixed it -- hence the "extra_constraints" in
5047 TcDeriv.inferConstraints. 
5048 
5049 But it still wasn't right!  The tricky bit is that dataCast1 is only
5050 generated when T :: *->*, and dataCast2 when T :: *->*->*. (See
5051 the code in TcGenDeriv for dataCastX.
5052]
5053[Fix Trac #3964: view patterns in DsArrows
5054simonpj@microsoft.com**20100409165557
5055 Ignore-this: d823c182831d5e2e592e995b16180e2f
5056 
5057 Just a missing case; I've eliminated the catch-all so
5058 that we get a warning next time we extend HsPat
5059]
5060[Fix Trac #3955: renamer and type variables
5061simonpj@microsoft.com**20100409163710
5062 Ignore-this: bd5ec64d76c0f583bf5f224792bf294c
5063 
5064 The renamer wasn't computing the free variables of a type declaration
5065 properly.  This patch refactors a bit, and makes it more robust,
5066 fixing #3955 and several other closely-related bugs.  (We were
5067 omitting some free variables and that could just possibly lead to a
5068 usage-version tracking error.
5069]
5070[Layout only
5071simonpj@microsoft.com**20100409163506
5072 Ignore-this: 1f14990b5aa0b9821b84452fb34e9f41
5073]
5074[Give a better deprecated message for INCLUDE pragmas; fixes #3933
5075Ian Lynagh <igloo@earth.li>**20100506130910
5076 We now have a DeprecatedFullText constructor, so we can override the
5077 "-#include is deprecated: " part of the warning.
5078]
5079[De-haddock a comment that confuses haddock
5080Ian Lynagh <igloo@earth.li>**20100506123607]
5081[Fix comment to not confuse haddock
5082Ian Lynagh <igloo@earth.li>**20100506113642]
5083[Detect EOF when trying to parse a string in hp2ps
5084Ian Lynagh <igloo@earth.li>**20100506000830]
5085[Make the demand analyser sdd demands for strict constructors
5086simonpj@microsoft.com**20100505200936
5087 Ignore-this: eb32632adbc354eb7a5cf884c263e0d3
5088 
5089 This opportunity was spotted by Roman, and is documented in
5090 Note [Add demands for strict constructors] in DmdAnal.
5091]
5092[Fix interaction of exprIsCheap and the lone-variable inlining check
5093simonpj@microsoft.com**20100505200723
5094 Ignore-this: f3cb65085c5673a99153d5d7b6559ab1
5095 
5096 See Note [Interaction of exprIsCheap and lone variables] in CoreUnfold
5097 
5098 This buglet meant that a nullary definition with an INLINE pragma
5099 counter-intuitively didn't get inlined at all.  Roman identified
5100 the bug.
5101]
5102[Matching cases in SpecConstr and Rules
5103simonpj@microsoft.com**20100505200543
5104 Ignore-this: f5c28c780fbf8badce84c6fdc9aa1779
5105 
5106 This patch has zero effect.  It includes comments,
5107 a bit of refactoring, and a tiny bit of commment-out
5108 code go implement the "matching cases" idea below.
5109 
5110 In the end I've left it disabled because while I think
5111 it does no harm I don't think it'll do any good either.
5112 But I didn't want to lose the idea totally. There's
5113 a thread called "Storable and constant memory" on
5114 the libraries@haskell.org list (Apr 2010) about it.
5115 
5116 Note [Matching cases]
5117 ~~~~~~~~~~~~~~~~~~~~~
5118 {- NOTE: This idea is currently disabled.  It really only works if
5119          the primops involved are OkForSpeculation, and, since
5120         they have side effects readIntOfAddr and touch are not.
5121         Maybe we'll get back to this later .  -}
5122   
5123 Consider
5124    f (case readIntOffAddr# p# i# realWorld# of { (# s#, n# #) ->
5125       case touch# fp s# of { _ ->
5126       I# n# } } )
5127 This happened in a tight loop generated by stream fusion that
5128 Roman encountered.  We'd like to treat this just like the let
5129 case, because the primops concerned are ok-for-speculation.
5130 That is, we'd like to behave as if it had been
5131    case readIntOffAddr# p# i# realWorld# of { (# s#, n# #) ->
5132    case touch# fp s# of { _ ->
5133    f (I# n# } } )
5134]
5135[Comments only
5136simonpj@microsoft.com**20100504163629
5137 Ignore-this: 3be12df04714aa820bce706b5dc8a9cb
5138]
5139[Comments only
5140simonpj@microsoft.com**20100504163529
5141 Ignore-this: 791e2fd39c7d880ce1dc80ebdf3a5398
5142]
5143[Comments only
5144simonpj@microsoft.com**20100504163457
5145 Ignore-this: f19e9ffeb3d65770b1595bca5f97a59d
5146]
5147[Comments only (about type families)
5148simonpj@microsoft.com**20100417145032
5149 Ignore-this: dd39425ef2155d52dbf55a4d5fd97cb8
5150]
5151[Fix hp2ps when the .hp file has large string literals
5152Ian Lynagh <igloo@earth.li>**20100505191921]
5153[In build system, call package-config after including package data
5154Ian Lynagh <igloo@earth.li>**20100504225035
5155 Otherwise the $1_$2_HC_OPTS variable gets clobbered.
5156]
5157[runghc: flush stdout/stderr on an exception (#3890)
5158Simon Marlow <marlowsd@gmail.com>**20100505133848
5159 Ignore-this: 224c1898cec64cb1c94e0d7033e7590e
5160]
5161[Remove the Unicode alternative for ".." (#3894)
5162Simon Marlow <marlowsd@gmail.com>**20100505121202
5163 Ignore-this: 2452cd67281667106f9169747b6d784f
5164]
5165[tidyup; no functional changes
5166Simon Marlow <marlowsd@gmail.com>**20100505115015
5167 Ignore-this: d0787e5cdeef1dee628682fa0a46019
5168]
5169[Make the running_finalizers flag task-local
5170Simon Marlow <marlowsd@gmail.com>**20100505114947
5171 Ignore-this: 345925d00f1dca203941b3c5d84c90e1
5172 Fixes a bug reported by Lennart Augustsson, whereby we could get an
5173 incorrect error from the RTS about re-entry from a finalizer,
5174]
5175[add a MAYBE_GC() in killThread#, fixes throwto003(threaded2) looping
5176Simon Marlow <marlowsd@gmail.com>**20100505114746
5177 Ignore-this: efea04991d6feed04683a42232fc85da
5178]
5179[Allow filepath-1.2.*
5180Simon Marlow <marlowsd@gmail.com>**20100505101139
5181 Ignore-this: 1b5580cd9cd041ec48f40cd37603326a
5182]
5183[BlockedOnMsgThrowTo is possible in resurrectThreads (#4030)
5184Simon Marlow <marlowsd@gmail.com>**20100505094534
5185 Ignore-this: ac24a22f95ffeaf480187a1620fdddb2
5186]
5187[Don't raise a throwTo when the target is masking and BlockedOnBlackHole
5188Simon Marlow <marlowsd@gmail.com>**20100505094506
5189 Ignore-this: 302616931f61667030d77ddfbb02374e
5190]
5191[Fix build with GHC 6.10
5192Ian Lynagh <igloo@earth.li>**20100504180302
5193 In GHC 6.10, intersectionWith is (a -> b -> a) instead of (a -> b -> c),
5194 so we need to jump through some hoops to get the more general type.
5195]
5196[The libffi patches are no longer needed
5197Ian Lynagh <igloo@earth.li>**20100504171603]
5198[Use the in-tree windres; fixes trac #4032
5199Ian Lynagh <igloo@earth.li>**20100504170941]
5200[Print unfoldings on lambda-bound variables
5201Simon PJ <simonpj@microsoft.com>**20100503181822
5202 Ignore-this: 2fd5a7502cc6273d96258e0914f0f8cd
5203 
5204 ...in the unusual case where they have one;
5205 see Note [Case binders and join points] in Simplify.lhs
5206]
5207[Replace FiniteMap and UniqFM with counterparts from containers.
5208Milan Straka <fox@ucw.cz>**20100503171315
5209 Ignore-this: a021972239163dbf728284b19928cebb
5210 
5211 The original interfaces are kept. There is small performance improvement:
5212 - when compiling for five nofib, we get following speedups:
5213     Average                -----           -2.5%
5214     Average                -----           -0.6%
5215     Average                -----           -0.5%
5216     Average                -----           -5.5%
5217     Average                -----          -10.3%
5218 - when compiling HPC ten times, we get:
5219     switches                          oldmaps   newmaps
5220     -O -fasm                          117.402s  116.081s (98.87%)
5221     -O -fasm -fregs-graph             119.993s  118.735s (98.95%)
5222     -O -fasm -fregs-iterative         120.191s  118.607s (98.68%)
5223]
5224[Make the demand analyser take account of lambda-bound unfoldings
5225Simon PJ <simonpj@microsoft.com>**20100503151630
5226 Ignore-this: 2ee8e27d4df2debfc79e6b8a17c32bc1
5227 
5228 This is a long-standing lurking bug. See Note [Lamba-bound unfoldings]
5229 in DmdAnal.
5230 
5231 I'm still not really happy with this lambda-bound-unfolding stuff.
5232]
5233[Fix dynamic libs on OS X, and enable them by default
5234Ian Lynagh <igloo@earth.li>**20100503150302]
5235[Switch back to using bytestring from the darcs repo; partially fixes #3855
5236Ian Lynagh <igloo@earth.li>**20100502113458]
5237[Fix some cpp warnings when building on FreeBSD; patch from Gabor PALI
5238Ian Lynagh <igloo@earth.li>**20100428150700]
5239[Fix "make 2"
5240Ian Lynagh <igloo@earth.li>**20100427162212
5241 The new Makefile logic was enabling the stage 1 rules when stage=2,
5242 so "make 2" was rebuilding stage 1.
5243]
5244[Inplace programs depend on their shell wrappers
5245Ian Lynagh <igloo@earth.li>**20100427160038]
5246[--make is now the default (#3515), and -fno-code works with --make (#3783)
5247Simon Marlow <marlowsd@gmail.com>**20100427122851
5248 Ignore-this: 33330474fa4703f32bf9997462b4bf3c
5249 If the command line contains any Haskell source files, then we behave
5250 as if --make had been given.
5251 
5252 The meaning of the -c flag has changed (back): -c now selects one-shot
5253 compilation, but stops before linking.  However, to retain backwards
5254 compatibility, -c is still allowed with --make, and means the same as
5255 --make -no-link.  The -no-link flag has been un-deprecated.
5256 
5257 -fno-code is now allowed with --make (#3783); the fact that it was
5258 disabled before was largely accidental, it seems.  We also had some
5259 regressions in this area: it seems that -fno-code was causing a .hc
5260 file to be emitted in certain cases.  I've tidied up the code, there
5261 was no need for -fno-code to be a "mode" flag, as far as I can tell.
5262 
5263 -fno-code does not emit interface files, nor does it do recompilation
5264 checking, as suggested in #3783.  This would make Haddock emit
5265 interface files, for example, and I'm fairly sure we don't want to do
5266 that.  Compiling with -fno-code is pretty quick anyway, perhaps we can
5267 get away without recompilation checking.
5268]
5269[remove duplicate docs for -e in --help output (#4010)
5270Simon Marlow <marlowsd@gmail.com>**20100426140642
5271 Ignore-this: 187ff893ba8ffa0ec127867a7590e38d
5272]
5273[workaround for #4003, fixes HEAD build with 6.12.2
5274Simon Marlow <marlowsd@gmail.com>**20100426103428
5275 Ignore-this: c4bc445dc8052d4e6efef3f1daf63562
5276]
5277[Make sure all the clean rules are always included
5278Ian Lynagh <igloo@earth.li>**20100424181823
5279 In particular, this fixes a problem where stage3 bits weren't being cleaned
5280]
5281[Correct the name of the amd64/FreeBSD platform in PlatformSupportsSharedLibs
5282Ian Lynagh <igloo@earth.li>**20100424132830
5283 We weren't getting sharedlibs on amd64/FreeBSD because of this
5284]
5285[Include DPH docs in bindists
5286Ian Lynagh <igloo@earth.li>**20100424123101]
5287[reinstate eta-expansion during SimplGently, to fix inlining of sequence_
5288Simon Marlow <marlowsd@gmail.com>**20100423124853
5289 Ignore-this: 4fa0fd5bafe0d6b58fc81076f50d5f8d
5290]
5291[fix 64-bit value for W_SHIFT, which thankfully appears to be not used
5292Simon Marlow <marlowsd@gmail.com>**20100422213605
5293 Ignore-this: 525c062d2456c224ec8d0e083edd3b55
5294]
5295[Add missing constant folding and optimisation for unsigned division
5296Simon Marlow <marlowsd@gmail.com>**20100422213443
5297 Ignore-this: fb10d1cda0852fab0cbcb47247498fb3
5298 Noticed by Denys Rtveliashvili <rtvd@mac.com>, see #4004
5299]
5300[Fix the GHC API link in the main doc index.html
5301Ian Lynagh <igloo@earth.li>**20100422213226]
5302[Give the right exit code in darcs-all
5303Ian Lynagh <igloo@earth.li>**20100421171339
5304 Our END block was calling system, which alters $?. So now we save and
5305 restore it.
5306]
5307[Use StgWord64 instead of ullong
5308Ian Lynagh <igloo@earth.li>**20100421162336
5309 This patch also fixes ullong_format_string (renamed to showStgWord64)
5310 so that it works with values outside the 32bit range (trac #3979), and
5311 simplifies the without-commas case.
5312]
5313[Implement try10Times in Makefile
5314Ian Lynagh <igloo@earth.li>**20100420165909
5315 Avoid using seq, as FreeBSD has jot instead.
5316]
5317[Fix crash in non-threaded RTS on Windows
5318Simon Marlow <marlowsd@gmail.com>**20100420122125
5319 Ignore-this: 28b0255a914a8955dce02d89a7dfaca
5320 The tso->block_info field is now overwritten by pushOnRunQueue(), but
5321 stg_block_async_info was assuming that it still held a pointer to the
5322 StgAsyncIOResult.  We must therefore save this value somewhere safe
5323 before putting the TSO on the run queue.
5324]
5325[Expand the scope of the event_buf_mutex to cover io_manager_event
5326Simon Marlow <marlowsd@gmail.com>**20100420122026
5327 Ignore-this: 185a6d84f7d4a35997f10803f6dacef1
5328 I once saw a failure that I think was due to a race on
5329 io_manager_event, this should fix it.
5330]
5331[Flags -auto and -auto-all operate only on functions not marked INLINE.
5332Milan Straka <fox@ucw.cz>**20100331191050
5333 Ignore-this: 3b63580cfcb3c33d62ad697c36d94d05
5334]
5335[Spelling correction for LANGUAGE pragmas
5336Max Bolingbroke <batterseapower@hotmail.com>**20100413192825
5337 Ignore-this: 311b51ba8d43f6c7fd32f48db9a88dee
5338]
5339[Update the user guide so it talks about the newer "do rec" notation everywhere
5340Ian Lynagh <igloo@earth.li>**20100416205416
5341 Some of the problems highlighted in trac #3968.
5342]
5343[Fix typo
5344Ian Lynagh <igloo@earth.li>**20100416205412]
5345[Fix Trac #3950: unifying types of different kinds
5346simonpj@microsoft.com**20100412151845
5347 Ignore-this: d145b9de5ced136ef2c39f3ea4a04f4a
5348 
5349 I was assuming that the unifer only unified types of the
5350 same kind, but now we can "defer" unsolved constraints that
5351 invariant no longer holds.  Or at least is's more complicated
5352 to ensure. 
5353 
5354 This patch takes the path of not assuming the invariant, which
5355 is simpler and more robust.  See
5356 Note [Mismatched type lists and application decomposition]
5357]
5358[Fix Trac #3943: incorrect unused-variable warning
5359simonpj@microsoft.com**20100412151630
5360 Ignore-this: 52459f2b8b02c3cb120abe674dc9a060
5361 
5362 In fixing this I did the usual little bit of refactoring
5363]
5364[Convert boot and boot-pkgs to perl
5365Ian Lynagh <igloo@earth.li>**20100415143919
5366 This stops us having to worry about sh/sed/... portability.
5367]
5368[Use $(MAKE), not make, when recursively calling make
5369Ian Lynagh <igloo@earth.li>**20100415121453]
5370[Remove the ghc_ge_609 makefile variables
5371Ian Lynagh <igloo@earth.li>**20100412235658
5372 They are now guaranteed to be YES
5373]
5374[Increase the minimum version number required to 6.10 in configure.ac
5375Ian Lynagh <igloo@earth.li>**20100412235313]
5376[The bootstrapping compiler is now required to be > 609
5377Ian Lynagh <igloo@earth.li>**20100409161046]
5378[Handle IND_STATIC in isRetainer
5379Ian Lynagh <igloo@earth.li>**20100409104207
5380 IND_STATIC used to be an error, but at the moment it can happen
5381 as isAlive doesn't look through IND_STATIC as it ignores static
5382 closures. See trac #3956 for a program that hit this error.
5383]
5384[Add Data and Typeable instances to HsSyn
5385David Waern <david.waern@gmail.com>**20100330011020
5386 Ignore-this: c3f2717207b15539fea267c36b686e6a
5387 
5388 The instances (and deriving declarations) have been taken from the ghc-syb
5389 package.
5390]
5391[Fix for derefing ThreadRelocated TSOs in MVar operations
5392Simon Marlow <marlowsd@gmail.com>**20100407092824
5393 Ignore-this: 94dd7c68a6094eda667e2375921a8b78
5394]
5395[sanity check fix
5396Simon Marlow <marlowsd@gmail.com>**20100407092746
5397 Ignore-this: 9c18cd5f5393e5049015ca52e62a1269
5398]
5399[get the reg liveness right in the putMVar# heap check
5400Simon Marlow <marlowsd@gmail.com>**20100407092724
5401 Ignore-this: b1ba07a59ecfae00e9a1f8391741abc
5402]
5403[initialise the headers of MSG_BLACKHOLE objects properly
5404Simon Marlow <marlowsd@gmail.com>**20100407081712
5405 Ignore-this: 183dcd0ca6a395d08db2be12b02bdd79
5406]
5407[initialise the headers of MVAR_TSO_QUEUE objects properly
5408Simon Marlow <marlowsd@gmail.com>**20100407081514
5409 Ignore-this: 4b4a2f30cf2fb69ca4128c41744687bb
5410]
5411[undo debugging code
5412Simon Marlow <marlowsd@gmail.com>**20100406142740
5413 Ignore-this: 323c2248f817b6717c19180482fc4b00
5414]
5415[putMVar#: fix reg liveness in the heap check
5416Simon Marlow <marlowsd@gmail.com>**20100406135832
5417 Ignore-this: cddd2c7807ac7612c9b2c4c0d384d284
5418]
5419[account for the new BLACKHOLEs in the GHCi debugger
5420Simon Marlow <marlowsd@gmail.com>**20100406133406
5421 Ignore-this: 4d4aeb4bbada3f50dc1fb0123f565e8f
5422]
5423[don't forget to deRefTSO() in tryWakeupThread()
5424Simon Marlow <marlowsd@gmail.com>**20100406130411
5425 Ignore-this: 171d57c4f8653835dec0b69f9be9881c
5426]
5427[Fix bug in popRunQueue
5428Simon Marlow <marlowsd@gmail.com>**20100406091453
5429 Ignore-this: 9d3cec8f18f5c5cbd51751797386eb6f
5430]
5431[fix bug in migrateThread()
5432Simon Marlow <marlowsd@gmail.com>**20100401105840
5433 Ignore-this: 299bcf0d1ea0f8865f3e845eb93d2ad3
5434]
5435[Remove the IND_OLDGEN and IND_OLDGEN_PERM closure types
5436Simon Marlow <marlowsd@gmail.com>**20100401093519
5437 Ignore-this: 95f2480c8a45139835eaf5610217780b
5438 These are no longer used: once upon a time they used to have different
5439 layout from IND and IND_PERM respectively, but that is no longer the
5440 case since we changed the remembered set to be an array of addresses
5441 instead of a linked list of closures.
5442]
5443[Change the representation of the MVar blocked queue
5444Simon Marlow <marlowsd@gmail.com>**20100401091605
5445 Ignore-this: 20a35bfabacef2674df362905d7834fa
5446 
5447 The list of threads blocked on an MVar is now represented as a list of
5448 separately allocated objects rather than being linked through the TSOs
5449 themselves.  This lets us remove a TSO from the list in O(1) time
5450 rather than O(n) time, by marking the list object.  Removing this
5451 linear component fixes some pathalogical performance cases where many
5452 threads were blocked on an MVar and became unreachable simultaneously
5453 (nofib/smp/threads007), or when sending an asynchronous exception to a
5454 TSO in a long list of thread blocked on an MVar.
5455 
5456 MVar performance has actually improved by a few percent as a result of
5457 this change, slightly to my surprise.
5458 
5459 This is the final cleanup in the sequence, which let me remove the old
5460 way of waking up threads (unblockOne(), MSG_WAKEUP) in favour of the
5461 new way (tryWakeupThread and MSG_TRY_WAKEUP, which is idempotent).  It
5462 is now the case that only the Capability that owns a TSO may modify
5463 its state (well, almost), and this simplifies various things.  More of
5464 the RTS is based on message-passing between Capabilities now.
5465]
5466[eliminate some duplication with a bit of CPP
5467Simon Marlow <marlowsd@gmail.com>**20100330154355
5468 Ignore-this: 838f7d341f096ca14c86ab9c81193e36
5469]
5470[Make ioManagerDie() idempotent
5471Simon Marlow <marlowsd@gmail.com>**20100401100705
5472 Ignore-this: a5996b43cdb2e2d72e6e971d7ea925fb
5473 Avoids screeds of "event buffer overflowed; event dropped" in
5474 conc059(threaded1).
5475]
5476[Move a thread to the front of the run queue when another thread blocks on it
5477Simon Marlow <marlowsd@gmail.com>**20100329144521
5478 Ignore-this: c518ff0d41154680edc811d891826a29
5479 This fixes #3838, and was made possible by the new BLACKHOLE
5480 infrastructure.  To allow reording of the run queue I had to make it
5481 doubly-linked, which entails some extra trickiness with regard to
5482 GC write barriers and suchlike.
5483]
5484[remove non-existent MUT_CONS symbols
5485Simon Marlow <marlowsd@gmail.com>**20100330152600
5486 Ignore-this: 885628257a9d03f2ece2a754d993014a
5487]
5488[change throwTo to use tryWakeupThread rather than unblockOne
5489Simon Marlow <marlowsd@gmail.com>**20100329144613
5490 Ignore-this: 10ad4965e6c940db71253f1c72218bbb
5491]
5492[tiny GC optimisation
5493Simon Marlow <marlowsd@gmail.com>**20100329144551
5494 Ignore-this: 9e095b9b73fff0aae726f9937846ba92
5495]
5496[New implementation of BLACKHOLEs
5497Simon Marlow <marlowsd@gmail.com>**20100329144456
5498 Ignore-this: 96cd26793b4e6ab9ddd0d59aae5c2f1d
5499 
5500 This replaces the global blackhole_queue with a clever scheme that
5501 enables us to queue up blocked threads on the closure that they are
5502 blocked on, while still avoiding atomic instructions in the common
5503 case.
5504 
5505 Advantages:
5506 
5507  - gets rid of a locked global data structure and some tricky GC code
5508    (replacing it with some per-thread data structures and different
5509    tricky GC code :)
5510 
5511  - wakeups are more prompt: parallel/concurrent performance should
5512    benefit.  I haven't seen anything dramatic in the parallel
5513    benchmarks so far, but a couple of threading benchmarks do improve
5514    a bit.
5515 
5516  - waking up a thread blocked on a blackhole is now O(1) (e.g. if
5517    it is the target of throwTo).
5518 
5519  - less sharing and better separation of Capabilities: communication
5520    is done with messages, the data structures are strictly owned by a
5521    Capability and cannot be modified except by sending messages.
5522 
5523  - this change will utlimately enable us to do more intelligent
5524    scheduling when threads block on each other.  This is what started
5525    off the whole thing, but it isn't done yet (#3838).
5526 
5527 I'll be documenting all this on the wiki in due course.
5528 
5529]
5530[Fix warnings (allow pushOnRunQueue() to not be inlined)
5531Simon Marlow <marlowsd@gmail.com>**20100401114559
5532 Ignore-this: f40bfbfad70a5165a946d11371605b7d
5533]
5534[remove out of date comment
5535Simon Marlow <marlowsd@gmail.com>**20100401105853
5536 Ignore-this: 26af88dd418ee0bcda7223b3b7e4e8d2
5537]
5538[tidy up spacing in stderr traces
5539Simon Marlow <marlowsd@gmail.com>**20100326163122
5540 Ignore-this: 16558b0433a274be217d4bf39aa4946
5541]
5542[Fix an assertion that was not safe when running in parallel
5543Simon Marlow <marlowsd@gmail.com>**20100325143656
5544 Ignore-this: cad08fb8900eb3a475547af0189fcc47
5545]
5546[Never jump directly to a thunk's entry code, even if it is single-entry
5547Simon Marlow <marlowsd@gmail.com>**20100325114847
5548 Ignore-this: 938da172c06a97762ef605c8fccfedf1
5549 I don't think this fixes any bugs as we don't have single-entry thunks
5550 at the moment, but it could cause problems for parallel execution if
5551 we ever did re-introduce update avoidance.
5552]
5553[Rename forgotten -dverbose-simpl to -dverbose-core2core in the docs.
5554Milan Straka <fox@ucw.cz>**20100331153626
5555 Ignore-this: 2da58477fb96e1cfb80f37dddd7c422c
5556]
5557[Add -pa and -V to the documentation of time profiling options.
5558Milan Straka <fox@ucw.cz>**20100329191121
5559 Ignore-this: be74d216481ec5a19e5f40f85e6e3d65
5560]
5561[Keep gcc 4.5 happy
5562Simon Marlow <marlowsd@gmail.com>**20100330120425
5563 Ignore-this: 7811878cc2bd1ce9cfbb5bf102fe3454
5564]
5565[Fix warning compiling Linker.c for PPC Mac
5566naur@post11.tele.dk**20100403182355
5567 Ignore-this: e2d2448770c9714ce17dd6cf3e297063
5568 The warning message eliminated is:
5569 > rts/Linker.c:4756:0:
5570 >      warning: nested extern declaration of 'symbolsWithoutUnderscore'
5571]
5572[Fix error compiling AsmCodeGen.lhs for PPC Mac (mkRtsCodeLabel)
5573naur@post11.tele.dk**20100403181656
5574 Ignore-this: deb7524ea7852a15a2ac0849c8c82f74
5575 The error messages eliminated are:
5576 > compiler/nativeGen/AsmCodeGen.lhs:875:31:
5577 >     Not in scope: `mkRtsCodeLabel'
5578 > compiler/nativeGen/AsmCodeGen.lhs:879:31:
5579 >     Not in scope: `mkRtsCodeLabel'
5580 > compiler/nativeGen/AsmCodeGen.lhs:883:31:
5581 >     Not in scope: `mkRtsCodeLabel'
5582]
5583[Fix error compiling AsmCodeGen.lhs for PPC Mac (DestBlockId)
5584naur@post11.tele.dk**20100403180643
5585 Ignore-this: 71e833e94ed8371b2ffabc2cf80bf585
5586 The error message eliminated is:
5587 > compiler/nativeGen/AsmCodeGen.lhs:637:16:
5588 >     Not in scope: data constructor `DestBlockId'
5589]
5590[Fix boot-pkgs's sed usage to work with Solaris's sed
5591Ian Lynagh <igloo@earth.li>**20100401153441]
5592[Pass "-i org.haskell.GHC" to packagemaker when building the OS X installer
5593Ian Lynagh <igloo@earth.li>**20100331144707
5594 This seems to fix this failure:
5595 [...]
5596 ** BUILD SUCCEEDED **
5597 rm -f -f GHC-system.pmdoc/*-contents.xml
5598 /Developer/usr/bin/packagemaker -v --doc GHC-system.pmdoc\
5599              -o /Users/ian/to_release/ghc-6.12.1.20100330/GHC-6.12.1.20100330-i386.pkg
5600 2010-03-31 15:08:15.695 packagemaker[13909:807] Setting to : 0 (null)
5601 2010-03-31 15:08:15.709 packagemaker[13909:807] Setting to : 0 org.haskell.glasgowHaskellCompiler.ghc.pkg
5602 2010-03-31 15:08:15.739 packagemaker[13909:807] relocate: (null) 0
5603 2010-03-31 15:08:15.740 packagemaker[13909:807] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSXMLDocument initWithXMLString:options:error:]: nil argument'
5604 2010-03-31 15:08:15.741 packagemaker[13909:807] Stack: (
5605     2511962091,
5606     2447007291,
5607     2511961547,
5608     2511961610,
5609     2432803204,
5610     453371,
5611     447720,
5612     436209,
5613     435510,
5614     9986,
5615     9918
5616 )
5617 make[1]: *** [framework-pkg] Trace/BPT trap
5618 make: *** [framework-pkg] Error 2
5619]
5620[Use machdepCCOpts when compiling the file to toggle -(no-)rtsopts
5621Ian Lynagh <igloo@earth.li>**20100331161302
5622 Should fix toggling on OS X "Snow Leopard". Diagnosed by Roman Leshchinskiy.
5623]
5624[Avoid a non-portable use of tar reported by Roman Leshchinskiy
5625Ian Lynagh <igloo@earth.li>**20100330145802]
5626[Don't install EXTRA_PACKAGES by default
5627Simon Marlow <marlowsd@gmail.com>**20100330142714
5628 Ignore-this: d4cc8f87a6de8d9d1d6dc9b77130b3
5629]
5630[fix a non-portable printf format
5631Simon Marlow <marlowsd@gmail.com>**20100330134437
5632 Ignore-this: d41c23c54ec29654cb2049de1e588570
5633]
5634[avoid single quote in #error
5635Simon Marlow <marlowsd@gmail.com>**20100330120346
5636 Ignore-this: 663f39e7a27fead2f648fbf22d345bb4
5637]
5638[use FMT_Word64 instead of locally-defined version
5639Simon Marlow <marlowsd@gmail.com>**20100330114650
5640 Ignore-this: 82697b8095dffb3a8e196c687006ece0
5641]
5642[remove old/unused DotnetSupport and GhcLibsWithUnix
5643Simon Marlow <marlowsd@gmail.com>**20100330123732
5644 Ignore-this: c68814868b3671abdc369105bbeafe6c
5645]
5646[fix return type cast in f.i.wrapper when using libffi (#3516)
5647Simon Marlow <marlowsd@gmail.com>**20100329154220
5648 Ignore-this: f898eb8c9ae2ca2009e539735b92c438
5649 
5650 Original fix submitted by
5651   Sergei Trofimovich <slyfox@community.haskell.org>
5652 modified by me:
5653  - exclude 64-bit types
5654  - compare uniques, not strings
5655  - #include "ffi.h" is conditional
5656]
5657[libffi: install 'ffitarget.h' header as sole 'ffi.h' is unusable
5658Simon Marlow <marlowsd@gmail.com>**20100329135734
5659 Ignore-this: f9b555ea289d8df1aa22cb6faa219a39
5660 Submitted by: Sergei Trofimovich <slyfox@community.haskell.org>
5661 Re-recorded against HEAD.
5662]
5663[avoid a fork deadlock (see comments)
5664Simon Marlow <marlowsd@gmail.com>**20100329132329
5665 Ignore-this: 3377f88b83bb3b21e42d7fc5f0d866f
5666]
5667[tidy up the end of the all_tasks list after forking
5668Simon Marlow <marlowsd@gmail.com>**20100329132253
5669 Ignore-this: 819d679875be5f344e816210274d1c29
5670]
5671[Add a 'setKeepCAFs' external function (#3900)
5672Simon Marlow <marlowsd@gmail.com>**20100329110036
5673 Ignore-this: ec532a18cad4259a09847b0b9ae2e1d2
5674]
5675[Explicitly check whether ar supports the @file syntax
5676Ian Lynagh <igloo@earth.li>**20100329123325
5677 rather than assuming that all GNU ar's do.
5678 Apparently OpenBSD's older version doesn't.
5679]
5680[Fix the format specifier for Int64/Word64 on Windows
5681Ian Lynagh <igloo@earth.li>**20100327182126
5682 mingw doesn't understand %llu/%lld - it treats them as 32-bit rather
5683 than 64-bit. We use %I64u/%I64d instead.
5684]
5685[Fix the ghci startmenu item
5686Ian Lynagh <igloo@earth.li>**20100326235934
5687 I'm not sure what changed, but it now doesn't work for me without
5688 the "Start in" field being set.
5689]
5690[Fix paths to docs in "Start Menu" entries in Windows installer; fixes #3847
5691Ian Lynagh <igloo@earth.li>**20100326155917]
5692[Add a licence file for the Windows installer to use
5693Ian Lynagh <igloo@earth.li>**20100326155130]
5694[Add gcc-g++ to the inplace mingw installation; fixes #3893
5695Ian Lynagh <igloo@earth.li>**20100326154714]
5696[Add the licence file to the Windows installer. Fixes #3934
5697Ian Lynagh <igloo@earth.li>**20100326152449]
5698[Quote the paths to alex and happy in configure
5699Ian Lynagh <igloo@earth.li>**20100325143449
5700 Ignore-this: d6d6e1a250f88985bbeea760e63a79db
5701]
5702[Use </> rather than ++ "/"
5703Ian Lynagh <igloo@earth.li>**20100325133237
5704 This stops us generating paths like
5705     c:\foo\/ghc460_0/ghc460_0.o
5706 which windres doesn't understand.
5707]
5708[Append $(exeext) to utils/ghc-pkg_dist_PROG
5709Ian Lynagh <igloo@earth.li>**20100324233447
5710 Fixes bindist creation
5711]
5712[A sanity check
5713Simon Marlow <marlowsd@gmail.com>**20100325110500
5714 Ignore-this: 3b3b76d898c822456857e506b7531e65
5715]
5716[do_checks: do not set HpAlloc if the stack check fails
5717Simon Marlow <marlowsd@gmail.com>**20100325110328
5718 Ignore-this: 899ac8c29ca975d03952dbf4608d758
5719 
5720 This fixes a very rare heap corruption bug, whereby
5721 
5722  - a context switch is requested, which sets HpLim to zero
5723    (contextSwitchCapability(), called by the timer signal or
5724    another Capability).
5725 
5726  - simultaneously a stack check fails, in a code fragment that has
5727    both a stack and a heap check.
5728 
5729 The RTS then assumes that a heap-check failure has occurred and
5730 subtracts HpAlloc from Hp, although in fact it was a stack-check
5731 failure and retreating Hp will overwrite valid heap objects.  The bug
5732 is that HpAlloc should only be set when Hp has been incremented by the
5733 heap check.  See comments in rts/HeapStackCheck.cmm for more details.
5734 
5735 This bug is probably incredibly rare in practice, but I happened to be
5736 working on a test that triggers it reliably:
5737 concurrent/should_run/throwto001, compiled with -O -threaded, args 30
5738 300 +RTS -N2, run repeatedly in a loop.
5739]
5740[comments and formatting only
5741Simon Marlow <marlowsd@gmail.com>**20100325104617
5742 Ignore-this: c0a211e15b5953bb4a84771bcddd1d06
5743]
5744[Change how perl scripts get installed; partially fixes #3863
5745Ian Lynagh <igloo@earth.li>**20100324171422
5746 We now regenerate them when installing, which means the path for perl
5747 doesn't get baked in
5748]
5749[Pass the location of gcc in the ghc wrapper script; partially fixes #3863
5750Ian Lynagh <igloo@earth.li>**20100324171408
5751 This means we don't rely on baking a path to gcc into the executable
5752]
5753[Quote the ar path in configure
5754Ian Lynagh <igloo@earth.li>**20100324162043]
5755[Remove unused cUSER_WAY_NAMES cUSER_WAY_OPTS
5756Ian Lynagh <igloo@earth.li>**20100324145048]
5757[Remove unused cCONTEXT_DIFF
5758Ian Lynagh <igloo@earth.li>**20100324145013]
5759[Remove unused cEnableWin32DLLs
5760Ian Lynagh <igloo@earth.li>**20100324144841]
5761[Remove unused cGHC_CP
5762Ian Lynagh <igloo@earth.li>**20100324144656]
5763[Fix the build for non-GNU-ar
5764Ian Lynagh <igloo@earth.li>**20100324132907]
5765[Tweak the Makefile code for making .a libs; fixes trac #3642
5766Ian Lynagh <igloo@earth.li>**20100323221325
5767 The main change is that, rather than using "xargs ar" we now put
5768 all the filenames into a file, and do "ar @file". This means that
5769 ar adds all the files at once, which works around a problem where
5770 files with the same basename in a later invocation were overwriting
5771 the existing file in the .a archive.
5772]
5773[Enable shared libraries on Windows; fixes trac #3879
5774Ian Lynagh <igloo@earth.li>**20100320231414
5775 Ignore-this: c93b35ec5b7a7fa6ddb286d17a616216
5776]
5777[Add the external core PDF to the new build system
5778Ian Lynagh <igloo@earth.li>**20100321161909]
5779[Allow specifying $threads directly when validating
5780Ian Lynagh <igloo@earth.li>**20100321112835]
5781[Remove LazyUniqFM; fixes trac #3880
5782Ian Lynagh <igloo@earth.li>**20100320213837]
5783[UNDO: slight improvement to scavenging ...
5784Simon Marlow <marlowsd@gmail.com>**20100319153413
5785 Ignore-this: f0ab581c07361f7b57eae02dd6ec893c
5786 
5787 Accidnetally pushed this patch which, while it validates, isn't
5788 correct.
5789 
5790 rolling back:
5791 
5792 Fri Mar 19 11:21:27 GMT 2010  Simon Marlow <marlowsd@gmail.com>
5793   * slight improvement to scavenging of update frames when a collision has occurred
5794 
5795     M ./rts/sm/Scav.c -19 +15
5796]
5797[slight improvement to scavenging of update frames when a collision has occurred
5798Simon Marlow <marlowsd@gmail.com>**20100319112127
5799 Ignore-this: 6de2bb9614978975f17764a0f259d9bf
5800]
5801[Don't install the utf8-string package
5802Ian Lynagh <igloo@earth.li>**20100317212709]
5803[Don't use -Bsymbolic when linking the RTS
5804Ian Lynagh <igloo@earth.li>**20100316233357
5805 This makes the RTS hooks work when doing dynamic linking
5806]
5807[Fix Trac #3920: Template Haskell kinds
5808simonpj@microsoft.com**20100317123519
5809 Ignore-this: 426cac7920446e04f3cc30bd1d9f76e2
5810 
5811 Fix two places where we were doing foldl instead of foldr
5812 after decomposing a Kind.  Strange that the same bug appears
5813 in two quite different places!
5814]
5815[copy_tag_nolock(): fix write ordering and add a write_barrier()
5816Simon Marlow <marlowsd@gmail.com>**20100316143103
5817 Ignore-this: ab7ca42904f59a0381ca24f3eb38d314
5818 
5819 Fixes a rare crash in the parallel GC.
5820 
5821 If we copy a closure non-atomically during GC, as we do for all
5822 immutable values, then before writing the forwarding pointer we better
5823 make sure that the closure itself is visible to other threads that
5824 might follow the forwarding pointer.  I imagine this doesn't happen
5825 very often, but I just found one case of it: in scavenge_stack, the
5826 RET_FUN case, after evacuating ret_fun->fun we then follow it and look
5827 up the info pointer.
5828]
5829[Add sliceP mapping to vectoriser builtins
5830benl@ouroborus.net**20100316060517
5831 Ignore-this: 54c3cafff584006b6fbfd98124330aa3
5832]
5833[Comments only
5834benl@ouroborus.net**20100311064518
5835 Ignore-this: d7dc718cc437d62aa5b1b673059a9b22
5836]
5837[TAG 2010-03-16
5838Ian Lynagh <igloo@earth.li>**20100316005137
5839 Ignore-this: 234e3bc29e2f26cc59d7b03d780cc352
5840]
5841Patch bundle hash:
5842e207986a268ea172df5ff7b2221abe697d1b5e8d
5843-----BEGIN PGP SIGNATURE-----
5844Version: GnuPG v1.4.10 (Darwin)
5845
5846iD8DBQFM9QskFOecpxqG73IRAskaAJ9/ED+SdTTJyvgR3LNvdwcRWm946wCeL5Bj
5847Jcrovaj1z8U9kwTUouj6bto=
5848=kJGH
5849-----END PGP SIGNATURE-----