Ticket #3165: fix.patch

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