Ticket #655: patch

File patch, 29.0 KB (added by Lemmih, 9 years ago)

Darcs patch.

Line 
1
2New patches:
3
4[Allow the GHC library to be dynamically loaded.
5Lemmih <[email protected]>**20060119185155
6 Moved the utility functions out of hschooks and
7 added a couple of symbols to the linkers export list.
8] {
9addfile ./ghc/compiler/parser/cutils.c
10hunk ./ghc/compiler/parser/cutils.c 1
11+/*
12+These utility routines are used various
13+places in the GHC library.
14+*/
15+
16+/* For GHC 4.08, we are relying on the fact that RtsFlags has
17+ * compatible layout with the current version, because we're
18+ * #including the current version of RtsFlags.h below.  4.08 didn't
19+ * ship with its own RtsFlags.h, unfortunately.   For later GHC
20+ * versions, we #include the correct RtsFlags.h.
21+ */
22+#if __GLASGOW_HASKELL__ < 502
23+#include "../includes/Rts.h"
24+#include "../includes/RtsFlags.h"
25+#else
26+#include "Rts.h"
27+#include "RtsFlags.h"
28+#endif
29+
30+#include "HsFFI.h"
31+
32+#include <string.h>
33+
34+#ifdef HAVE_UNISTD_H
35+#include <unistd.h>
36+#endif
37+
38+/*
39+Calling 'strlen' and 'memcpy' directly gives problems with GCC's inliner,
40+and causes gcc to require too many registers on x84
41+*/
42+
43+HsInt
44+ghc_strlen( HsAddr a )
45+{
46+    return (strlen((char *)a));
47+}
48+
49+HsInt
50+ghc_memcmp( HsAddr a1, HsAddr a2, HsInt len )
51+{
52+    return (memcmp((char *)a1, a2, len));
53+}
54+
55+HsInt
56+ghc_memcmp_off( HsAddr a1, HsInt i, HsAddr a2, HsInt len )
57+{
58+    return (memcmp((char *)a1 + i, a2, len));
59+}
60+
61+void
62+enableTimingStats( void )      /* called from the driver */
63+{
64+#if __GLASGOW_HASKELL__ >= 411
65+    RtsFlags.GcFlags.giveStats = ONELINE_GC_STATS;
66+#endif
67+    /* ignored when bootstrapping with an older GHC */
68+}
69+
70+void
71+setHeapSize( HsInt size )
72+{
73+    RtsFlags.GcFlags.heapSizeSuggestion = size / BLOCK_SIZE;
74+    if (RtsFlags.GcFlags.maxHeapSize != 0 &&
75+       RtsFlags.GcFlags.heapSizeSuggestion > RtsFlags.GcFlags.maxHeapSize) {
76+       RtsFlags.GcFlags.maxHeapSize = RtsFlags.GcFlags.heapSizeSuggestion;
77+    }
78+}
79+
80+
81addfile ./ghc/compiler/parser/cutils.h
82hunk ./ghc/compiler/parser/cutils.h 1
83+/* -----------------------------------------------------------------------------
84+ *
85+ * Utility C functions.
86+ *
87+ * -------------------------------------------------------------------------- */
88+
89+#include "HsFFI.h"
90+
91+// Out-of-line string functions, see PrimPacked.lhs
92+HsInt ghc_strlen( HsAddr a );
93+HsInt ghc_memcmp( HsAddr a1, HsAddr a2, HsInt len );
94+HsInt ghc_memcmp_off( HsAddr a1, HsInt i, HsAddr a2, HsInt len );
95+
96+
97+void enableTimingStats( void );
98+void setHeapSize( HsInt size );
99hunk ./ghc/compiler/parser/hschooks.c 41
100-void
101-enableTimingStats( void )      /* called from the driver */
102-{
103-#if __GLASGOW_HASKELL__ >= 411
104-    RtsFlags.GcFlags.giveStats = ONELINE_GC_STATS;
105-#endif
106-    /* ignored when bootstrapping with an older GHC */
107-}
108-
109-void
110-setHeapSize( HsInt size )
111-{
112-    RtsFlags.GcFlags.heapSizeSuggestion = size / BLOCK_SIZE;
113-    if (RtsFlags.GcFlags.maxHeapSize != 0 &&
114-       RtsFlags.GcFlags.heapSizeSuggestion > RtsFlags.GcFlags.maxHeapSize) {
115-       RtsFlags.GcFlags.maxHeapSize = RtsFlags.GcFlags.heapSizeSuggestion;
116-    }
117-}
118-
119hunk ./ghc/compiler/parser/hschooks.c 56
120-HsInt
121-ghc_strlen( HsAddr a )
122-{
123-    return (strlen((char *)a));
124-}
125-
126-HsInt
127-ghc_memcmp( HsAddr a1, HsAddr a2, HsInt len )
128-{
129-    return (memcmp((char *)a1, a2, len));
130-}
131-
132-HsInt
133-ghc_memcmp_off( HsAddr a1, HsInt i, HsAddr a2, HsInt len )
134-{
135-    return (memcmp((char *)a1 + i, a2, len));
136-}
137hunk ./ghc/compiler/parser/hschooks.h 9
138-void enableTimingStats( void );
139-void setHeapSize( HsInt size );
140hunk ./ghc/compiler/parser/hschooks.h 10
141-// Out-of-line string functions, see PrimPacked.lhs
142-HsInt ghc_strlen( HsAddr a );
143-HsInt ghc_memcmp( HsAddr a1, HsAddr a2, HsInt len );
144-HsInt ghc_memcmp_off( HsAddr a1, HsInt i, HsAddr a2, HsInt len );
145hunk ./ghc/rts/Linker.c 659
146+      SymX(stg_interp_constr_entry)             \
147+      SymX(stg_interp_constr1_entry)            \
148+      SymX(stg_interp_constr2_entry)            \
149+      SymX(stg_interp_constr3_entry)            \
150+      SymX(stg_interp_constr4_entry)            \
151+      SymX(stg_interp_constr5_entry)            \
152+      SymX(stg_interp_constr6_entry)            \
153+      SymX(stg_interp_constr7_entry)            \
154+      SymX(stg_interp_constr8_entry)            \
155+      SymX(stgMallocBytesRWX)                   \
156+      SymX(getAllocations)                      \
157+      SymX(revertCAFs)                          \
158+      SymX(RtsFlags)                            \
159}
160
161Context:
162
163[respect the -q switch in this script
164Simon Marlow <[email protected]>**20060119095759]
165[Hack around whatsnew failing if there are no changes
166Ian Lynagh <[email protected]>**20060113231249]
167[Pass anything through to darcs and let it do the failing on bad commands
168Ian Lynagh <[email protected]>**20060113212420]
169[[project @ 2006-01-18 12:16:06 by simonpj]
170simonpj**20060118121606
171 Check for constructors in type signatures
172]
173[[project @ 2006-01-18 12:15:37 by simonpj]
174simonpj**20060118121537
175 Expunge all mention of CCallable/CReturnable
176]
177[[project @ 2006-01-18 11:13:06 by simonpj]
178simonpj**20060118111306
179 Ghci wibble; weaken assert
180]
181[[project @ 2006-01-18 11:00:35 by simonmar]
182simonmar**20060118110035
183 Remove dead code
184]
185[[project @ 2006-01-18 10:59:54 by simonmar]
186simonmar**20060118105954
187 Remove dead panic
188]
189[[project @ 2006-01-18 10:58:15 by simonmar]
190simonmar**20060118105815
191 Remove dead error
192 
193 (darcs patch from Ian Lynagh)
194]
195[[project @ 2006-01-18 10:49:32 by simonmar]
196simonmar**20060118104932
197 Implement :main (see ticket #662)
198 
199 Patch from Volker Stolz, minor mods by me
200 
201 When matching commands, we now look for (a) an exact match, and (b)
202 the first prefix match we find in the list.  This is so that :module
203 can still be abbreviated by :m, to avoid surprise.
204 
205 Docs still to do.
206]
207[[project @ 2006-01-18 10:40:46 by simonmar]
208simonmar**20060118104046
209 add a couple of missing symbols
210]
211[[project @ 2006-01-18 10:31:50 by simonmar]
212simonmar**20060118103150
213 - fix a mixup in Capability.c regarding signals: signals_pending() is not
214   used in THREADED_RTS
215 
216 - some cleanups and warning removal while I'm here
217]
218[[project @ 2006-01-18 10:06:36 by simonmar]
219simonmar**20060118100636
220 Fix build on 5.04.x again
221]
222[[project @ 2006-01-17 16:13:18 by simonmar]
223simonmar**20060117161318
224 Improve the GC behaviour of IORefs (see Ticket #650).
225 
226 This is a small change to the way IORefs interact with the GC, which
227 should improve GC performance for programs with plenty of IORefs.
228 
229 Previously we had a single closure type for mutable variables,
230 MUT_VAR.  Mutable variables were *always* on the mutable list in older
231 generations, and always traversed on every GC.
232 
233 Now, we have two closure types: MUT_VAR_CLEAN and MUT_VAR_DIRTY.  The
234 latter is on the mutable list, but the former is not.  (NB. this
235 differs from MUT_ARR_PTRS_CLEAN and MUT_ARR_PTRS_DIRTY, both of which
236 are on the mutable list).  writeMutVar# now implements a write
237 barrier, by calling dirty_MUT_VAR() in the runtime, that does the
238 necessary modification of MUT_VAR_CLEAN into MUT_VAR_DIRY, and adding
239 to the mutable list if necessary.
240 
241 This results in some pretty dramatic speedups for GHC itself.  I've
242 just measureed a 30% overall speedup compiling a 31-module program
243 (anna) with the default heap settings :-D
244]
245[[project @ 2006-01-17 16:03:47 by simonmar]
246simonmar**20060117160347
247 Improve the GC behaviour of IOArrays/STArrays
248 
249 See Ticket #650
250 
251 This is a small change to the way mutable arrays interact with the GC,
252 that can have a dramatic effect on performance, and make tricks with
253 unsafeThaw/unsafeFreeze redundant.  Data.HashTable should be faster
254 now (I haven't measured it yet).
255 
256 We now have two mutable array closure types, MUT_ARR_PTRS_CLEAN and
257 MUT_ARR_PTRS_DIRTY.  Both are on the mutable list if the array is in
258 an old generation.  writeArray# sets the type to MUT_ARR_PTRS_DIRTY.
259 The garbage collector can set the type to MUT_ARR_PTRS_CLEAN if it
260 finds that no element of the array points into a younger generation
261 (discovering this required a small addition to evacuate(), but rough
262 tests indicate that it doesn't measurably affect performance).
263 
264 NOTE: none of this affects unboxed arrays (IOUArray/STUArray), only
265 boxed arrays (IOArray/STArray).
266 
267 We could go further and extend the DIRTY bit to be per-block rather
268 than for the whole array, but for now this is an easy improvement.
269]
270[[project @ 2006-01-17 13:50:06 by simonmar]
271simonmar**20060117135006
272 statDescribeGens: count large blocks in the "live" figure
273]
274[[project @ 2006-01-17 13:28:01 by simonmar]
275simonmar**20060117132801
276 take into account unscavenged copied words in +RTS -t stats.
277]
278[[project @ 2006-01-17 02:13:16 by wolfgang]
279wolfgang**20060117021316
280 Linux/PPC64: remove some dead code that accidentally slipped in.
281 
282 MERGE TO STABLE
283]
284[[project @ 2006-01-17 01:51:56 by wolfgang]
285wolfgang**20060117015156
286 Darwin/PPC:
287 Make StgRunIsImplementedInAssembler non-static; gcc has recently acquired
288 a habit of dead-stripping it.
289 
290 MERGE TO STABLE
291]
292[[project @ 2006-01-16 16:38:24 by simonmar]
293simonmar**20060116163825
294 Default signal handlers weren't being installed; amazing that this has
295 been broken ever since I rearranged the signal handling code.
296]
297[improvements to darcs-all
298Simon Marlow <[email protected]>**20060113163207
299 - get from the same repo as the main GHC repo, if that was a local filesystem
300 - allow darcs whatsnew
301 - use --repodir if possible
302]
303[Add infrastructure for multiple library packages
304Simon Marlow <[email protected]>**20060113150505
305 The ./darcs-all script at the top level is an easier way to do darcs
306 pull/push/get on the whole tree (it should probably allow more
307 commands; I'll fix that later).
308 
309 libraries/default-packages is a list of darcs repositories with which
310 to populate the libraries tree.
311 
312]
313[Add a skeleton libraries directory
314Simon Marlow <[email protected]>**20060113131949
315 Adding files from libraries that aren't in the other
316 packages sub-repos.  I haven't bothered to try to keep
317 history for these files, for history go back to the CVS
318 repo.
319]
320[[project @ 2006-01-12 16:16:28 by simonmar]
321simonmar**20060112161628
322 GHC.runStmt: run the statement in a new thread to insulate the
323 environment from bad things that the user code might do, such as fork
324 a thread to send an exception back at a later time.  In order to do
325 this, we had to keep track of which thread the ^C exception should go
326 to in a global variable.
327 
328 Also, bullet-proof the top-level exception handler in GHCi a bit;
329 there was a small window where an exception could get through, so if
330 you lean on ^C for a while then press enter you could cause GHCi to
331 exit.
332]
333[[project @ 2006-01-12 14:42:25 by simonmar]
334simonmar**20060112144225
335 +RTS -S: replace "collected" with "copied", which is more useful.
336 +RTS -Dg: print size of mutable list, and breakdown by type of closure
337 (MUT_VAR, MUT_ARR, others).
338]
339[[project @ 2006-01-12 13:49:24 by simonmar]
340simonmar**20060112134924
341 fix calculation of copied bytes, we had a words/bytes mismatch when
342 adding the size of the mutable list
343]
344[[project @ 2006-01-12 12:41:03 by simonmar]
345simonmar**20060112124103
346 time_str:
347   - use ctime_r if available
348   - avoid use of strcpy on overlapping regions
349 
350 Ticket #480 (patch modified by me)
351]
352[[project @ 2006-01-12 12:40:01 by simonmar]
353simonmar**20060112124001
354 check for ctime_r
355]
356[[project @ 2006-01-12 10:04:36 by simonmar]
357simonmar**20060112100436
358 Document that source files are ASCII or UTF-8
359]
360[[project @ 2006-01-12 09:33:16 by simonmar]
361simonmar**20060112093316
362 put unicode keywords under -fglasgow-exts, they aren't Hasell98
363]
364[[project @ 2006-01-11 16:58:53 by simonmar]
365simonmar**20060111165853
366 MAYBE_GC: we should check alloc_blocks in addition to CurrentNursery,
367 since some allocateLocal calls don't allocate from the nursery.
368]
369[[project @ 2006-01-11 13:12:09 by simonmar]
370simonmar**20060111131209
371 fix string desugaring: we can only use the ASCII unpackCString# if all
372 the chars are <= 0x7F, not <= 0xFF.
373 
374 (fixes recent breakage in nofib/real/compress2)
375]
376[[project @ 2006-01-11 12:20:30 by simonmar]
377simonmar**20060111122030
378 Add -threaded when building stage2+ again
379]
380[[project @ 2006-01-11 12:17:41 by simonmar]
381simonmar**20060111121741
382 understand Unicode lambda as a synonym for \
383]
384[[project @ 2006-01-10 14:47:23 by simonmar]
385simonmar**20060110144723
386 Fix a comment
387]
388[[project @ 2006-01-10 14:46:50 by simonmar]
389simonmar**20060110144650
390 Char primops: the Char# rep is wordRep, not I32 (fixed -dcmm-lint
391 problems on x86_64)
392]
393[[project @ 2006-01-10 14:39:38 by simonmar]
394simonmar**20060110143938
395 prevChar: don't back up over decoding errors
396]
397[[project @ 2006-01-10 14:39:01 by simonmar]
398simonmar**20060110143901
399 Add a TODO
400]
401[[project @ 2006-01-10 14:37:53 by simonmar]
402simonmar**20060110143753
403 reportLexError: don't back up one character, the buffer returned by
404 Alex is the one *before* the erroneous lexeme started.
405]
406[[project @ 2006-01-10 13:35:04 by simonmar]
407simonmar**20060110133504
408 Z-encode cost centre symbols when printing them out.
409]
410[[project @ 2006-01-10 09:47:51 by simonmar]
411simonmar**20060110094751
412 Fix compilation with GHC 6.2.x, hopefully
413]
414[[project @ 2006-01-10 09:05:18 by simonmar]
415simonmar**20060110090518
416 add file argument to docs for +RTS -t
417]
418[[project @ 2006-01-09 14:38:01 by simonmar]
419simonmar**20060109143801
420 Initialise part of a structure to NULL to avoid a gcc warning
421   I haven't checked the code on this one to be sure this isn't just a bug.
422]
423[[project @ 2006-01-09 14:37:07 by simonmar]
424simonmar**20060109143707
425 Put entry_is_read_only and tvar_is_locked
426]
427[[project @ 2006-01-09 14:35:53 by simonmar]
428simonmar**20060109143553
429 Avoid "dereferencing type-punned pointer will break strict-aliasing rules" warning
430]
431[[project @ 2006-01-09 14:35:31 by simonmar]
432simonmar**20060109143531
433 Avoid "dereferencing type-punned pointer will break strict-aliasing rules" warnings
434]
435[[project @ 2006-01-09 14:33:50 by simonmar]
436simonmar**20060109143350
437 Remove duplicate imports
438]
439[[project @ 2006-01-09 14:33:21 by simonmar]
440simonmar**20060109143321
441 Remove dead panic
442]
443[[project @ 2006-01-09 14:32:57 by simonmar]
444simonmar**20060109143257
445 Put a dummy record initialisation in to fix a warning
446]
447[[project @ 2006-01-09 14:32:31 by simonmar]
448simonmar**20060109143231
449 Use correct format specifier for a size_t value
450]
451[[project @ 2006-01-09 14:32:03 by simonmar]
452simonmar**20060109143203
453 Include string.h in unlit, fixing gcc "implicit declaration" warnings
454]
455[[project @ 2006-01-09 14:31:37 by simonmar]
456simonmar**20060109143137
457 Include stdlib in lndir, fixing gcc "implicit declaration" warnings
458]
459[[project @ 2006-01-09 14:25:44 by simonmar]
460simonmar**20060109142544]
461[[project @ 2006-01-09 13:29:02 by simonmar]
462simonmar**20060109132902
463 Avoid desugaring bug in HEAD (see test ds057).
464]
465[[project @ 2006-01-09 13:25:50 by simonmar]
466simonmar**20060109132550
467 Fix up to compile with GHC 5.04.x again.
468 
469 Also includes a fix for a memory error I discovered along the way:
470 should fix the "scavenge_one" crash in the stage2 build of recent
471 HEADs.
472]
473[[project @ 2006-01-09 10:31:14 by simonmar]
474simonmar**20060109103114
475 ord# and chr# should be no-ops, not conversions between wordRep and I32.
476]
477[[project @ 2006-01-06 16:30:17 by simonmar]
478simonmar**20060106163019
479 Add support for UTF-8 source files
480 
481 GHC finally has support for full Unicode in source files.  Source
482 files are now assumed to be UTF-8 encoded, and the full range of
483 Unicode characters can be used, with classifications recognised using
484 the implementation from Data.Char.  This incedentally means that only
485 the stage2 compiler will recognise Unicode in source files, because I
486 was too lazy to port the unicode classifier code into libcompat.
487 
488 Additionally, the following synonyms for keywords are now recognised:
489 
490   forall symbol        (U+2200)        forall
491   right arrow          (U+2192)        ->
492   left arrow                   (U+2190)        <-
493   horizontal ellipsis  (U+22EF)        ..
494 
495 there are probably more things we could add here.
496 
497 This will break some source files if Latin-1 characters are being used.
498 In most cases this should result in a UTF-8 decoding error.  Later on
499 if we want to support more encodings (perhaps with a pragma to specify
500 the encoding), I plan to do it by recoding into UTF-8 before parsing.
501 
502 Internally, there were some pretty big changes:
503 
504   - FastStrings are now stored in UTF-8
505 
506   - Z-encoding has been moved right to the back end.  Previously we
507     used to Z-encode every identifier on the way in for simplicity,
508     and only decode when we needed to show something to the user.
509     Instead, we now keep every string in its UTF-8 encoding, and
510     Z-encode right before printing it out.  To avoid Z-encoding the
511     same string multiple times, the Z-encoding is cached inside the
512     FastString the first time it is requested.
513 
514     This speeds up the compiler - I've measured some definite
515     improvement in parsing at least, and I expect compilations overall
516     to be faster too.  It also cleans up a lot of cruft from the
517     OccName interface.  Z-encoding is nicely hidden inside the
518     Outputable instance for Names & OccNames now.
519 
520   - StringBuffers are UTF-8 too, and are now represented as
521     ForeignPtrs.
522 
523   - I've put together some test cases, not by any means exhaustive,
524     but there are some interesting UTF-8 decoding error cases that
525     aren't obvious.  Also, take a look at unicode001.hs for a demo.
526]
527[[project @ 2006-01-06 11:04:07 by simonmar]
528simonmar**20060106110407
529 Document -Rghc-timing
530]
531[[project @ 2006-01-05 13:10:55 by simonpj]
532simonpj**20060105131055
533 MERGE TO STABLE
534 
535 This commit fixes a nasty problem discovered by Volker Stolz.
536 The problem is described in Note [Multiple instantiation] in
537 TcExpr, which is reproduced below.
538 
539 (Core Lint identifies the problem, incidentally.)
540 
541 tc200 is a test case.
542 
543 
544 Note [Multiple instantiation]
545 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
546 We are careful never to make a MethodInst that has, as its meth_id, another MethodInst.
547 For example, consider
548        f :: forall a. Eq a => forall b. Ord b => a -> b
549 At a call to f, at say [Int, Bool], it's tempting to translate the call to
550 
551        f_m1
552   where
553        f_m1 :: forall b. Ord b => Int -> b
554        f_m1 = f Int dEqInt
555 
556        f_m2 :: Int -> Bool
557        f_m2 = f_m1 Bool dOrdBool
558 
559 But notice that f_m2 has f_m1 as its meth_id.  Now the danger is that if we do
560 a tcSimplCheck with a Given f_mx :: f Int dEqInt, we may make a binding
561        f_m1 = f_mx
562 But it's entirely possible that f_m2 will continue to float out, because it
563 mentions no type variables.  Result, f_m1 isn't in scope.
564 
565 Here's a concrete example that does this (test tc200):
566 
567     class C a where
568       f :: Eq b => b -> a -> Int
569       baz :: Eq a => Int -> a -> Int
570 
571     instance C Int where
572       baz = f
573 
574 Current solution: only do the "method sharing" thing for the first type/dict
575 application, not for the iterated ones.  A horribly subtle point.
576]
577[[project @ 2006-01-05 10:02:58 by simonpj]
578simonpj**20060105100258
579 'newtype' declarations are now parsed exactly like data type declarations,
580 so that you can declare newtypes using GADT syntax.  But that means we
581 must check all the newtype restrictions separately, and I mised one.
582 This commit checks that there is no existential context on the newtype.
583 
584 Test is tcfail156
585]
586[[project @ 2006-01-05 09:42:54 by simonmar]
587simonmar**20060105094254
588 This file is not quite POSIX compliant; hopefully fix build on MacOS X
589 (Tiger)
590]
591[[project @ 2006-01-04 12:51:59 by simonmar]
592simonmar**20060104125159
593 remove duplicate definition
594]
595[[project @ 2006-01-04 12:49:38 by simonmar]
596simonmar**20060104124938
597 make 3.79.1 is ok
598]
599[[project @ 2006-01-04 11:52:54 by simonpj]
600simonpj**20060104115254
601 Resolve ticket 644; crash when data con returns wrong type
602]
603[[project @ 2006-01-03 16:15:37 by simonmar]
604simonmar**20060103161537
605 setContextAfterLoad: try to load a target if possible, otherwise load
606 the topmost module in the graph.  Previously we were loading the first
607 module in the list, which happened to be right a lot of the time, but
608 not always.
609 
610 Fixes ticket #642
611]
612[[project @ 2006-01-03 16:14:20 by simonmar]
613simonmar**20060103161420
614 export ModLocation(..)
615]
616[[project @ 2006-01-03 12:57:10 by simonmar]
617simonmar**20060103125710
618 sanity bugfix: use TSO_OFFSET_stack instead of OFFSET_stack
619]
620[[project @ 2006-01-03 12:56:10 by simonmar]
621simonmar**20060103125610
622 two fixes for the case when a (synchronous) exception is propagated to
623 the top of a thread's stack, i.e. it is unhandled.
624 
625   1. store the exception in the right place (we were using the
626      OFFSET_StgTSO_stack macro and not accounting for the TSO's
627      header size)
628 
629   2. put an stg_enter_info on the stack so that the GC can understand
630      this thread's stack.
631]
632[[project @ 2006-01-03 12:53:40 by simonmar]
633simonmar**20060103125340
634 for TSO fields, define a Cmm macro TSO_OFFSET_xxx to get the actual
635 offset including the header and variable parts (we were misusing the
636 headerless OFFSET_xxx macros in a couple of places).
637]
638[[project @ 2006-01-03 12:16:26 by simonmar]
639simonmar**20060103121626
640 wibble in panic message
641]
642[[project @ 2006-01-03 11:06:45 by simonmar]
643simonmar**20060103110645
644 emit an error message if GNU make 3.7x is found (3.80 is required).
645]
646[[project @ 2006-01-03 11:01:09 by simonmar]
647simonmar**20060103110109
648 mention that GNU make 3.80 is required.
649]
650[[project @ 2005-12-29 12:06:13 by simonpj]
651simonpj**20051229120613
652 Trim imports
653]
654[[project @ 2005-12-29 09:19:24 by simonpj]
655simonpj**20051229091924
656 Document SPECIALISE INLNE
657]
658[[project @ 2005-12-21 11:43:29 by simonpj]
659simonpj**20051221114329
660 Missing Show instance for FreeRegs on PowerPC
661]
662[[project @ 2005-12-19 13:08:19 by simonpj]
663simonpj**20051219130819
664 Wibble to printing FunTyCon in GHCi that makes :b GHC.Base work
665]
666[[project @ 2005-12-19 11:00:59 by simonpj]
667simonpj**20051219110059
668 Marginally improve the error message on a failure in DsMeta
669]
670[[project @ 2005-12-19 11:00:40 by simonpj]
671simonpj**20051219110040
672 Tiny fix to patterns with type sigs
673]
674[[project @ 2005-12-19 09:48:14 by simonpj]
675simonpj**20051219094814
676 Allow trailing parens in GADT signatures
677]
678[[project @ 2005-12-19 09:32:33 by simonpj]
679simonpj**20051219093233
680 ** Wibble to Friday's commit (fixes HEAD build) **
681 
682        -----------------------------------------
683        Make deriving work for infix constructors
684        -----------------------------------------
685 
686        Merge to stable branch
687 
688 Back quotes were not being done correctly in deriving Read and Show.
689 Now they are.  I think.
690 
691 Test is drvrun018
692]
693[[project @ 2005-12-16 16:04:03 by simonpj]
694simonpj**20051216160403
695 -----------------------------------------
696        Make deriving work for infix constructors
697        -----------------------------------------
698 
699        Merge to stable branch
700 
701 Back quotes were not being done correctly in deriving Read and Show.
702 Now they are.  I think.
703 
704 Test is drvrun018
705]
706[[project @ 2005-12-16 15:17:29 by simonpj]
707simonpj**20051216151729
708 Document that type variables in instance context must be distinct; merge to stable
709]
710[[project @ 2005-12-16 15:15:08 by simonpj]
711simonpj**20051216151508
712 -----------------------------------------
713        Test for repated type variables in an instance decl context;
714        this should require -fallow-undecidable-instances'
715        -----------------------------------------
716 
717        Merge to stable branch
718]
719[[project @ 2005-12-16 11:41:51 by simonmar]
720simonmar**20051216114151
721 Avoid building the GHCi version of this lib
722]
723[[project @ 2005-12-16 11:26:01 by simonmar]
724simonmar**20051216112601
725 Use standard calloc rather than rolling our own.
726 
727 As a small bonus, the standard libc version is more effecient about zeroing
728 the memory.
729 
730 From: Duncan Coutts <[email protected]>
731]
732[[project @ 2005-12-15 23:32:29 by desrt]
733desrt**20051215233229
734 (( PLEASE MERGE TO STABLE ))
735 
736 Linker.c: linux/ppc: We call mmap() to allocate additional pages to
737                      create jump islands.  In the case where no
738                      additional memory was needed the mmap call was
739                      being made with a size of 0 which would fail.
740                      The call is now conditionalised and documentation
741                      has been added to the code.  Closes trac #439.
742]
743[[project @ 2005-12-15 10:36:03 by simonmar]
744simonmar**20051215103603
745 ignore _darcs
746]
747[[project @ 2005-12-15 10:05:54 by simonmar]
748simonmar**20051215100554
749 fix missing symbol
750]
751[[project @ 2005-12-13 15:57:49 by simonmar]
752simonmar**20051213155750
753 Raise the (new) exception NestedAtomically when atomically is nested
754 (using unsafePerformIO).  This is a small improvement over crashing.
755]
756[[project @ 2005-12-13 12:52:25 by simonmar]
757simonmar**20051213125225
758 fix FAQ links
759]
760[[project @ 2005-12-13 12:45:08 by simonmar]
761simonmar**20051213124508
762 the FAQ is now in the Wiki
763]
764[[project @ 2005-12-13 12:42:51 by simonmar]
765simonmar**20051213124251
766 while I'm here, bring various other bits of this page up to date
767]
768[[project @ 2005-12-13 12:26:06 by simonmar]
769simonmar**20051213122606
770 Update bug reporting instructions to point to the new bug tracker
771]
772[[project @ 2005-12-13 12:18:51 by simonmar]
773simonmar**20051213121851
774 Update the bug reporting instructions, I've now installed a redirect from
775 
776   http://www.haskel.org/ghc/reportabug
777 
778 to the bug reporting instructions, just in case we want to move that
779 page in the future.
780]
781[[project @ 2005-12-13 12:09:42 by simonmar]
782simonmar**20051213120942
783 In the panic message, point to the bug reporting page in the User's
784 Guide rather than directly to the bug reporting page.  That way people
785 will see the bug reporting instructions as well as the direct link
786 (which has now changed).
787]
788[[project @ 2005-12-13 11:30:33 by simonmar]
789simonmar**20051213113033
790 undo accidental commit of snapshot version number
791]
792[[project @ 2005-12-12 15:06:11 by simonmar]
793simonmar**20051212150611
794 Add -threaded for stage[23]
795]
796[[project @ 2005-12-12 14:22:30 by simonmar]
797simonmar**20051212142230
798 Prevent --:  from being interpreted as a comment
799]
800[[project @ 2005-12-09 11:35:44 by simonmar]
801simonmar**20051209113544
802 Make the front panel compile again, submitted by Duncan Coutts
803 <[email protected]>.  From his email:
804 
805 Attached is a patch to port the GHC RTS font panel to Gtk+ 2.x rather
806 than the obsolete Gtk+ 1.2.
807 
808 There were basically two changes needed. Change the configure check to
809 look for the pkg-config utility rather than the old gtk-config. At it's
810 just checking for Gtk+ 2.0 or later. It may be that the new code
811 actually needs a slightly later version than that. I'm not quite sure.
812 
813 The other change was to convert the ghc-fontpanel.glade file to the
814 glade-2 format using the libglade-convert script and then to re-generate
815 the C code for constructing the GUI, that is the Vis*.c Vis*.h files in
816 ghc/rts.
817 
818 The front panel has been bit-rotting for quite some time so it has not
819 kept up with changes in the rts structures. So I had to comment out
820 references to 3 bits that no longer exist. I've left FIXMEs in the code
821 at the appropriate places so that someone wiser than me can make the
822 appropriate changes.
823 
824 So the thing does now build though I have no doubt that it will not run,
825 or at least will not do the right thing because it has not yet been
826 updated to the current state of the rts. However hopefully now that it
827 is at least buildable with a modern Gtk+ version someone else might be
828 able to fix it up.
829 
830 This also relates to trac ticket #599:
831 
832 http://cvs.haskell.org/trac/ghc/ticket/599
833]
834[[project @ 2005-12-02 15:16:08 by simonmar]
835simonmar**20051202151608
836 remove one mention of hslibs
837]
838[[project @ 2005-12-02 14:22:06 by simonmar]
839simonmar**20051202142206
840 - remove hslibs link
841 - add Building Guide link
842 - remove the word "hierarchical" from "hierarchical libraries"
843]
844[[project @ 2005-12-02 14:09:21 by simonmar]
845simonmar**20051202140921
846 revert rev. 1.22 again, just in case this is the cause of the
847 segfaults reported on OpenBSD and SuSE.
848]
849[[project @ 2005-12-02 12:45:16 by simonmar]
850simonmar**20051202124516
851 Fix Windows build
852 
853 Patch submitted by: Esa Ilari Vuokko <eivuokko at gmail.com>
854]
855[[project @ 2005-11-30 16:56:51 by simonmar]
856simonmar**20051130165651
857 fix bug in the case of an uncaught exception
858]
859[[project @ 2005-11-30 15:58:47 by simonmar]
860simonmar**20051130155847
861 check for overrun of the fd_set, some OSs give you more descriptors
862 than FD_SETSIZE
863]
864[[project @ 2005-11-30 14:20:06 by simonpj]
865simonpj**20051130142006
866 -----------------------------------------
867        Fix 'mkName' operator in Template Haskell
868        so that it handles built-in syntax
869        -----------------------------------------
870 
871        Merge to stable branch
872 
873 The 'mkName' function in Template Haskell wasn't dealing correctly with
874 built-in syntax.  The parser generates Exact RdrNames for built-in syntax
875 operators, such as ':' and '[]'; and hence so should Convert.
876 
877 At the same time I'm now generating a better error message in TH when
878 you use a constructor as a variable or vice versa.
879]
880[.hi is now boring
881John Goerzen <[email protected]>**20051130185834]
882[TAG Last state before ghc 6.4 branch split
883John Goerzen <[email protected]>**20051130171550]
884[Removed more obsolete dirs
885John Goerzen <[email protected]>**20051130171526]
886[Removed obsolete directories
887John Goerzen <[email protected]>**20051130171453]
888[TAG Initial conversion from CVS complete
889John Goerzen <[email protected]>**20051130033234]
890Patch bundle hash:
8912908db1e3a592e814642debc33f9fa5c53f07502