Ticket #3744: minmaxbound.dpatch

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