Ticket #4316: T4316.patch

File T4316.patch, 199.0 KB (added by vivian, 3 years ago)

GHCi multiline command (updated to 7.1.20101104)

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