A few more patches for you.
Something I haven't fixed:
ghc/rts/Printer.c
Printer.c:921:0:
warning: cast from pointer to integer of different size
this assumes it can cast a (void *) to an (unsigned int). I haven't
looked to see what else table.value is used for, so I don't know what
the correct fix is.
Incidentally, the bug:
"Wrong overlapped/missing pattern warnings"
http://hackage.haskell.org/trac/ghc/ticket/281
is responsible for a few erroneous warnings in the base libraries.
Thanks
Ian
Fri Jan 13 21:24:20 GMT 2006 Ian Lynagh <[EMAIL PROTECTED]>
* Pass anything through to darcs and let it do the failing on bad commands
Fri Jan 13 21:30:06 GMT 2006 Ian Lynagh <[EMAIL PROTECTED]>
* Remove dead code
Fri Jan 13 21:35:11 GMT 2006 Ian Lynagh <[EMAIL PROTECTED]>
* Remove dead panic
Fri Jan 13 21:36:20 GMT 2006 Ian Lynagh <[EMAIL PROTECTED]>
* Remove dead error
Fri Jan 13 23:12:49 GMT 2006 Ian Lynagh <[EMAIL PROTECTED]>
* Hack around whatsnew failing if there are no changes
New patches:
[Pass anything through to darcs and let it do the failing on bad commands
Ian Lynagh <[EMAIL PROTECTED]>**20060113212420] {
hunk ./darcs-all 3
+set -e
+
hunk ./darcs-all 63
- push|pull|wh*) darcsall $*;;
hunk ./darcs-all 64
- *) echo "syntax: ./darcs-all push|pull|whatsnew|get"; exit 1;;
+ *) darcsall $*;;
}
[Remove dead code
Ian Lynagh <[EMAIL PROTECTED]>**20060113213006] {
hunk ./ghc/rts/ProfHeap.c 521
- nat next_offset = 0;
- nat written;
hunk ./ghc/rts/ProfHeap.c 552
- } else {
- next_offset += written;
}
[Remove dead panic
Ian Lynagh <[EMAIL PROTECTED]>**20060113213511] {
hunk ./ghc/compiler/utils/BufWrite.hs 97
-bPutFS _ _ = panic "bPutFS"
}
[Remove dead error
Ian Lynagh <[EMAIL PROTECTED]>**20060113213620] {
hunk ./ghc/compiler/utils/Binary.hs 753
- put_ bh s = error ("Binary.put_(FastString): " ++ show (unpackFS s))
}
[Hack around whatsnew failing if there are no changes
Ian Lynagh <[EMAIL PROTECTED]>**20060113231249] {
hunk ./darcs-all 64
+ # Hack around whatsnew failing if there are no changes
+ w|wh|wha|what|whats|whatsn|whatsne|whatsnew) set +e; darcsall $*;;
}
Context:
[improvements to darcs-all
Simon Marlow <[EMAIL PROTECTED]>**20060113163207
- get from the same repo as the main GHC repo, if that was a local filesystem
- allow darcs whatsnew
- use --repodir if possible
]
[Add infrastructure for multiple library packages
Simon Marlow <[EMAIL PROTECTED]>**20060113150505
The ./darcs-all script at the top level is an easier way to do darcs
pull/push/get on the whole tree (it should probably allow more
commands; I'll fix that later).
libraries/default-packages is a list of darcs repositories with which
to populate the libraries tree.
]
[Add a skeleton libraries directory
Simon Marlow <[EMAIL PROTECTED]>**20060113131949
Adding files from libraries that aren't in the other
packages sub-repos. I haven't bothered to try to keep
history for these files, for history go back to the CVS
repo.
]
[[project @ 2006-01-12 16:16:28 by simonmar]
simonmar**20060112161628
GHC.runStmt: run the statement in a new thread to insulate the
environment from bad things that the user code might do, such as fork
a thread to send an exception back at a later time. In order to do
this, we had to keep track of which thread the ^C exception should go
to in a global variable.
Also, bullet-proof the top-level exception handler in GHCi a bit;
there was a small window where an exception could get through, so if
you lean on ^C for a while then press enter you could cause GHCi to
exit.
]
[[project @ 2006-01-12 14:42:25 by simonmar]
simonmar**20060112144225
+RTS -S: replace "collected" with "copied", which is more useful.
+RTS -Dg: print size of mutable list, and breakdown by type of closure
(MUT_VAR, MUT_ARR, others).
]
[[project @ 2006-01-12 13:49:24 by simonmar]
simonmar**20060112134924
fix calculation of copied bytes, we had a words/bytes mismatch when
adding the size of the mutable list
]
[[project @ 2006-01-12 12:41:03 by simonmar]
simonmar**20060112124103
time_str:
- use ctime_r if available
- avoid use of strcpy on overlapping regions
Ticket #480 (patch modified by me)
]
[[project @ 2006-01-12 12:40:01 by simonmar]
simonmar**20060112124001
check for ctime_r
]
[[project @ 2006-01-12 10:04:36 by simonmar]
simonmar**20060112100436
Document that source files are ASCII or UTF-8
]
[[project @ 2006-01-12 09:33:16 by simonmar]
simonmar**20060112093316
put unicode keywords under -fglasgow-exts, they aren't Hasell98
]
[[project @ 2006-01-11 16:58:53 by simonmar]
simonmar**20060111165853
MAYBE_GC: we should check alloc_blocks in addition to CurrentNursery,
since some allocateLocal calls don't allocate from the nursery.
]
[[project @ 2006-01-11 13:12:09 by simonmar]
simonmar**20060111131209
fix string desugaring: we can only use the ASCII unpackCString# if all
the chars are <= 0x7F, not <= 0xFF.
(fixes recent breakage in nofib/real/compress2)
]
[[project @ 2006-01-11 12:20:30 by simonmar]
simonmar**20060111122030
Add -threaded when building stage2+ again
]
[[project @ 2006-01-11 12:17:41 by simonmar]
simonmar**20060111121741
understand Unicode lambda as a synonym for \
]
[[project @ 2006-01-10 14:47:23 by simonmar]
simonmar**20060110144723
Fix a comment
]
[[project @ 2006-01-10 14:46:50 by simonmar]
simonmar**20060110144650
Char primops: the Char# rep is wordRep, not I32 (fixed -dcmm-lint
problems on x86_64)
]
[[project @ 2006-01-10 14:39:38 by simonmar]
simonmar**20060110143938
prevChar: don't back up over decoding errors
]
[[project @ 2006-01-10 14:39:01 by simonmar]
simonmar**20060110143901
Add a TODO
]
[[project @ 2006-01-10 14:37:53 by simonmar]
simonmar**20060110143753
reportLexError: don't back up one character, the buffer returned by
Alex is the one *before* the erroneous lexeme started.
]
[[project @ 2006-01-10 13:35:04 by simonmar]
simonmar**20060110133504
Z-encode cost centre symbols when printing them out.
]
[[project @ 2006-01-10 09:47:51 by simonmar]
simonmar**20060110094751
Fix compilation with GHC 6.2.x, hopefully
]
[[project @ 2006-01-10 09:05:18 by simonmar]
simonmar**20060110090518
add file argument to docs for +RTS -t
]
[[project @ 2006-01-09 14:38:01 by simonmar]
simonmar**20060109143801
Initialise part of a structure to NULL to avoid a gcc warning
I haven't checked the code on this one to be sure this isn't just a bug.
]
[[project @ 2006-01-09 14:37:07 by simonmar]
simonmar**20060109143707
Put entry_is_read_only and tvar_is_locked
]
[[project @ 2006-01-09 14:35:53 by simonmar]
simonmar**20060109143553
Avoid "dereferencing type-punned pointer will break strict-aliasing rules" warning
]
[[project @ 2006-01-09 14:35:31 by simonmar]
simonmar**20060109143531
Avoid "dereferencing type-punned pointer will break strict-aliasing rules" warnings
]
[[project @ 2006-01-09 14:33:50 by simonmar]
simonmar**20060109143350
Remove duplicate imports
]
[[project @ 2006-01-09 14:33:21 by simonmar]
simonmar**20060109143321
Remove dead panic
]
[[project @ 2006-01-09 14:32:57 by simonmar]
simonmar**20060109143257
Put a dummy record initialisation in to fix a warning
]
[[project @ 2006-01-09 14:32:31 by simonmar]
simonmar**20060109143231
Use correct format specifier for a size_t value
]
[[project @ 2006-01-09 14:32:03 by simonmar]
simonmar**20060109143203
Include string.h in unlit, fixing gcc "implicit declaration" warnings
]
[[project @ 2006-01-09 14:31:37 by simonmar]
simonmar**20060109143137
Include stdlib in lndir, fixing gcc "implicit declaration" warnings
]
[[project @ 2006-01-09 14:25:44 by simonmar]
simonmar**20060109142544]
[[project @ 2006-01-09 13:29:02 by simonmar]
simonmar**20060109132902
Avoid desugaring bug in HEAD (see test ds057).
]
[[project @ 2006-01-09 13:25:50 by simonmar]
simonmar**20060109132550
Fix up to compile with GHC 5.04.x again.
Also includes a fix for a memory error I discovered along the way:
should fix the "scavenge_one" crash in the stage2 build of recent
HEADs.
]
[[project @ 2006-01-09 10:31:14 by simonmar]
simonmar**20060109103114
ord# and chr# should be no-ops, not conversions between wordRep and I32.
]
[[project @ 2006-01-06 16:30:17 by simonmar]
simonmar**20060106163019
Add support for UTF-8 source files
GHC finally has support for full Unicode in source files. Source
files are now assumed to be UTF-8 encoded, and the full range of
Unicode characters can be used, with classifications recognised using
the implementation from Data.Char. This incedentally means that only
the stage2 compiler will recognise Unicode in source files, because I
was too lazy to port the unicode classifier code into libcompat.
Additionally, the following synonyms for keywords are now recognised:
forall symbol (U+2200) forall
right arrow (U+2192) ->
left arrow (U+2190) <-
horizontal ellipsis (U+22EF) ..
there are probably more things we could add here.
This will break some source files if Latin-1 characters are being used.
In most cases this should result in a UTF-8 decoding error. Later on
if we want to support more encodings (perhaps with a pragma to specify
the encoding), I plan to do it by recoding into UTF-8 before parsing.
Internally, there were some pretty big changes:
- FastStrings are now stored in UTF-8
- Z-encoding has been moved right to the back end. Previously we
used to Z-encode every identifier on the way in for simplicity,
and only decode when we needed to show something to the user.
Instead, we now keep every string in its UTF-8 encoding, and
Z-encode right before printing it out. To avoid Z-encoding the
same string multiple times, the Z-encoding is cached inside the
FastString the first time it is requested.
This speeds up the compiler - I've measured some definite
improvement in parsing at least, and I expect compilations overall
to be faster too. It also cleans up a lot of cruft from the
OccName interface. Z-encoding is nicely hidden inside the
Outputable instance for Names & OccNames now.
- StringBuffers are UTF-8 too, and are now represented as
ForeignPtrs.
- I've put together some test cases, not by any means exhaustive,
but there are some interesting UTF-8 decoding error cases that
aren't obvious. Also, take a look at unicode001.hs for a demo.
]
[[project @ 2006-01-06 11:04:07 by simonmar]
simonmar**20060106110407
Document -Rghc-timing
]
[[project @ 2006-01-05 13:10:55 by simonpj]
simonpj**20060105131055
MERGE TO STABLE
This commit fixes a nasty problem discovered by Volker Stolz.
The problem is described in Note [Multiple instantiation] in
TcExpr, which is reproduced below.
(Core Lint identifies the problem, incidentally.)
tc200 is a test case.
Note [Multiple instantiation]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
We are careful never to make a MethodInst that has, as its meth_id, another MethodInst.
For example, consider
f :: forall a. Eq a => forall b. Ord b => a -> b
At a call to f, at say [Int, Bool], it's tempting to translate the call to
f_m1
where
f_m1 :: forall b. Ord b => Int -> b
f_m1 = f Int dEqInt
f_m2 :: Int -> Bool
f_m2 = f_m1 Bool dOrdBool
But notice that f_m2 has f_m1 as its meth_id. Now the danger is that if we do
a tcSimplCheck with a Given f_mx :: f Int dEqInt, we may make a binding
f_m1 = f_mx
But it's entirely possible that f_m2 will continue to float out, because it
mentions no type variables. Result, f_m1 isn't in scope.
Here's a concrete example that does this (test tc200):
class C a where
f :: Eq b => b -> a -> Int
baz :: Eq a => Int -> a -> Int
instance C Int where
baz = f
Current solution: only do the "method sharing" thing for the first type/dict
application, not for the iterated ones. A horribly subtle point.
]
[[project @ 2006-01-05 10:02:58 by simonpj]
simonpj**20060105100258
'newtype' declarations are now parsed exactly like data type declarations,
so that you can declare newtypes using GADT syntax. But that means we
must check all the newtype restrictions separately, and I mised one.
This commit checks that there is no existential context on the newtype.
Test is tcfail156
]
[[project @ 2006-01-05 09:42:54 by simonmar]
simonmar**20060105094254
This file is not quite POSIX compliant; hopefully fix build on MacOS X
(Tiger)
]
[[project @ 2006-01-04 12:51:59 by simonmar]
simonmar**20060104125159
remove duplicate definition
]
[[project @ 2006-01-04 12:49:38 by simonmar]
simonmar**20060104124938
make 3.79.1 is ok
]
[[project @ 2006-01-04 11:52:54 by simonpj]
simonpj**20060104115254
Resolve ticket 644; crash when data con returns wrong type
]
[[project @ 2006-01-03 16:15:37 by simonmar]
simonmar**20060103161537
setContextAfterLoad: try to load a target if possible, otherwise load
the topmost module in the graph. Previously we were loading the first
module in the list, which happened to be right a lot of the time, but
not always.
Fixes ticket #642
]
[[project @ 2006-01-03 16:14:20 by simonmar]
simonmar**20060103161420
export ModLocation(..)
]
[[project @ 2006-01-03 12:57:10 by simonmar]
simonmar**20060103125710
sanity bugfix: use TSO_OFFSET_stack instead of OFFSET_stack
]
[[project @ 2006-01-03 12:56:10 by simonmar]
simonmar**20060103125610
two fixes for the case when a (synchronous) exception is propagated to
the top of a thread's stack, i.e. it is unhandled.
1. store the exception in the right place (we were using the
OFFSET_StgTSO_stack macro and not accounting for the TSO's
header size)
2. put an stg_enter_info on the stack so that the GC can understand
this thread's stack.
]
[[project @ 2006-01-03 12:53:40 by simonmar]
simonmar**20060103125340
for TSO fields, define a Cmm macro TSO_OFFSET_xxx to get the actual
offset including the header and variable parts (we were misusing the
headerless OFFSET_xxx macros in a couple of places).
]
[[project @ 2006-01-03 12:16:26 by simonmar]
simonmar**20060103121626
wibble in panic message
]
[[project @ 2006-01-03 11:06:45 by simonmar]
simonmar**20060103110645
emit an error message if GNU make 3.7x is found (3.80 is required).
]
[[project @ 2006-01-03 11:01:09 by simonmar]
simonmar**20060103110109
mention that GNU make 3.80 is required.
]
[[project @ 2005-12-29 12:06:13 by simonpj]
simonpj**20051229120613
Trim imports
]
[[project @ 2005-12-29 09:19:24 by simonpj]
simonpj**20051229091924
Document SPECIALISE INLNE
]
[[project @ 2005-12-21 11:43:29 by simonpj]
simonpj**20051221114329
Missing Show instance for FreeRegs on PowerPC
]
[[project @ 2005-12-19 13:08:19 by simonpj]
simonpj**20051219130819
Wibble to printing FunTyCon in GHCi that makes :b GHC.Base work
]
[[project @ 2005-12-19 11:00:59 by simonpj]
simonpj**20051219110059
Marginally improve the error message on a failure in DsMeta
]
[[project @ 2005-12-19 11:00:40 by simonpj]
simonpj**20051219110040
Tiny fix to patterns with type sigs
]
[[project @ 2005-12-19 09:48:14 by simonpj]
simonpj**20051219094814
Allow trailing parens in GADT signatures
]
[[project @ 2005-12-19 09:32:33 by simonpj]
simonpj**20051219093233
** Wibble to Friday's commit (fixes HEAD build) **
-----------------------------------------
Make deriving work for infix constructors
-----------------------------------------
Merge to stable branch
Back quotes were not being done correctly in deriving Read and Show.
Now they are. I think.
Test is drvrun018
]
[[project @ 2005-12-16 16:04:03 by simonpj]
simonpj**20051216160403
-----------------------------------------
Make deriving work for infix constructors
-----------------------------------------
Merge to stable branch
Back quotes were not being done correctly in deriving Read and Show.
Now they are. I think.
Test is drvrun018
]
[[project @ 2005-12-16 15:17:29 by simonpj]
simonpj**20051216151729
Document that type variables in instance context must be distinct; merge to stable
]
[[project @ 2005-12-16 15:15:08 by simonpj]
simonpj**20051216151508
-----------------------------------------
Test for repated type variables in an instance decl context;
this should require -fallow-undecidable-instances'
-----------------------------------------
Merge to stable branch
]
[[project @ 2005-12-16 11:41:51 by simonmar]
simonmar**20051216114151
Avoid building the GHCi version of this lib
]
[[project @ 2005-12-16 11:26:01 by simonmar]
simonmar**20051216112601
Use standard calloc rather than rolling our own.
As a small bonus, the standard libc version is more effecient about zeroing
the memory.
From: Duncan Coutts <[EMAIL PROTECTED]>
]
[[project @ 2005-12-15 23:32:29 by desrt]
desrt**20051215233229
(( PLEASE MERGE TO STABLE ))
Linker.c: linux/ppc: We call mmap() to allocate additional pages to
create jump islands. In the case where no
additional memory was needed the mmap call was
being made with a size of 0 which would fail.
The call is now conditionalised and documentation
has been added to the code. Closes trac #439.
]
[[project @ 2005-12-15 10:36:03 by simonmar]
simonmar**20051215103603
ignore _darcs
]
[[project @ 2005-12-15 10:05:54 by simonmar]
simonmar**20051215100554
fix missing symbol
]
[[project @ 2005-12-13 15:57:49 by simonmar]
simonmar**20051213155750
Raise the (new) exception NestedAtomically when atomically is nested
(using unsafePerformIO). This is a small improvement over crashing.
]
[[project @ 2005-12-13 12:52:25 by simonmar]
simonmar**20051213125225
fix FAQ links
]
[[project @ 2005-12-13 12:45:08 by simonmar]
simonmar**20051213124508
the FAQ is now in the Wiki
]
[[project @ 2005-12-13 12:42:51 by simonmar]
simonmar**20051213124251
while I'm here, bring various other bits of this page up to date
]
[[project @ 2005-12-13 12:26:06 by simonmar]
simonmar**20051213122606
Update bug reporting instructions to point to the new bug tracker
]
[[project @ 2005-12-13 12:18:51 by simonmar]
simonmar**20051213121851
Update the bug reporting instructions, I've now installed a redirect from
http://www.haskel.org/ghc/reportabug
to the bug reporting instructions, just in case we want to move that
page in the future.
]
[[project @ 2005-12-13 12:09:42 by simonmar]
simonmar**20051213120942
In the panic message, point to the bug reporting page in the User's
Guide rather than directly to the bug reporting page. That way people
will see the bug reporting instructions as well as the direct link
(which has now changed).
]
[[project @ 2005-12-13 11:30:33 by simonmar]
simonmar**20051213113033
undo accidental commit of snapshot version number
]
[[project @ 2005-12-12 15:06:11 by simonmar]
simonmar**20051212150611
Add -threaded for stage[23]
]
[[project @ 2005-12-12 14:22:30 by simonmar]
simonmar**20051212142230
Prevent --: from being interpreted as a comment
]
[[project @ 2005-12-09 11:35:44 by simonmar]
simonmar**20051209113544
Make the front panel compile again, submitted by Duncan Coutts
<[EMAIL PROTECTED]>. From his email:
Attached is a patch to port the GHC RTS font panel to Gtk+ 2.x rather
than the obsolete Gtk+ 1.2.
There were basically two changes needed. Change the configure check to
look for the pkg-config utility rather than the old gtk-config. At it's
just checking for Gtk+ 2.0 or later. It may be that the new code
actually needs a slightly later version than that. I'm not quite sure.
The other change was to convert the ghc-fontpanel.glade file to the
glade-2 format using the libglade-convert script and then to re-generate
the C code for constructing the GUI, that is the Vis*.c Vis*.h files in
ghc/rts.
The front panel has been bit-rotting for quite some time so it has not
kept up with changes in the rts structures. So I had to comment out
references to 3 bits that no longer exist. I've left FIXMEs in the code
at the appropriate places so that someone wiser than me can make the
appropriate changes.
So the thing does now build though I have no doubt that it will not run,
or at least will not do the right thing because it has not yet been
updated to the current state of the rts. However hopefully now that it
is at least buildable with a modern Gtk+ version someone else might be
able to fix it up.
This also relates to trac ticket #599:
http://cvs.haskell.org/trac/ghc/ticket/599
]
[[project @ 2005-12-02 15:16:08 by simonmar]
simonmar**20051202151608
remove one mention of hslibs
]
[[project @ 2005-12-02 14:22:06 by simonmar]
simonmar**20051202142206
- remove hslibs link
- add Building Guide link
- remove the word "hierarchical" from "hierarchical libraries"
]
[[project @ 2005-12-02 14:09:21 by simonmar]
simonmar**20051202140921
revert rev. 1.22 again, just in case this is the cause of the
segfaults reported on OpenBSD and SuSE.
]
[[project @ 2005-12-02 12:45:16 by simonmar]
simonmar**20051202124516
Fix Windows build
Patch submitted by: Esa Ilari Vuokko <eivuokko at gmail.com>
]
[[project @ 2005-11-30 16:56:51 by simonmar]
simonmar**20051130165651
fix bug in the case of an uncaught exception
]
[[project @ 2005-11-30 15:58:47 by simonmar]
simonmar**20051130155847
check for overrun of the fd_set, some OSs give you more descriptors
than FD_SETSIZE
]
[[project @ 2005-11-30 14:20:06 by simonpj]
simonpj**20051130142006
-----------------------------------------
Fix 'mkName' operator in Template Haskell
so that it handles built-in syntax
-----------------------------------------
Merge to stable branch
The 'mkName' function in Template Haskell wasn't dealing correctly with
built-in syntax. The parser generates Exact RdrNames for built-in syntax
operators, such as ':' and '[]'; and hence so should Convert.
At the same time I'm now generating a better error message in TH when
you use a constructor as a variable or vice versa.
]
[.hi is now boring
John Goerzen <[EMAIL PROTECTED]>**20051130185834]
[TAG Last state before ghc 6.4 branch split
John Goerzen <[EMAIL PROTECTED]>**20051130171550]
[Removed more obsolete dirs
John Goerzen <[EMAIL PROTECTED]>**20051130171526]
[Removed obsolete directories
John Goerzen <[EMAIL PROTECTED]>**20051130171453]
[TAG Initial conversion from CVS complete
John Goerzen <[EMAIL PROTECTED]>**20051130033234]
Patch bundle hash:
43b396f2e6abd008e51e6da0666325ab3e584236
_______________________________________________
Cvs-ghc mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/cvs-ghc