Manuel M T Chakravarty [Mon, 26 May 2008 07:35:46 +0000 (07:35 +0000)]
Fix fwrite$UNIX2003 symbols when cross-compiling for Tiger
- When compiling with -mmacos-deployment-target=10.4, we need
--no-builtin-fprintf, as the use of GCC's builtin function
optimisation for fprintf together with #include "PosixSource" in the
RTS leads to the use of fwrite$UNIX2003 (with GCC 4.0.1 on Mac OS X
10.5.2).
claus.reinke@talk21.com [Thu, 1 May 2008 20:52:52 +0000 (20:52 +0000)]
document :source command for GHCi, point to Haskell wiki
as discussed in this thread:
http://www.haskell.org/pipermail/glasgow-haskell-users/2008-April/014614.html
Ian Lynagh [Fri, 23 May 2008 03:25:08 +0000 (03:25 +0000)]
Do some stack fiddling in stg_unblockAsyncExceptionszh_ret
This fixes a segfault in #1657
Ian Lynagh [Wed, 21 May 2008 00:42:51 +0000 (00:42 +0000)]
Fix warnings in TcTyDecls
Ian Lynagh [Wed, 21 May 2008 00:39:35 +0000 (00:39 +0000)]
Fix whitespace in TcTyDecls
Manuel M T Chakravarty [Thu, 22 May 2008 04:49:00 +0000 (04:49 +0000)]
Ensure runhaskell is rebuild in stage2
simonpj@microsoft.com [Wed, 21 May 2008 13:00:28 +0000 (13:00 +0000)]
Fix Trac #1061: refactor handling of default methods
In an instance declaration, omitted methods get a definition that
uses the default method. We used to generate source code and feed it
to the type checker. But tc199 shows that is a bad idea -- see
Note [Default methods in instances] in TcClassDcl.
So this patch refactors to insteadl all us to generate the
*post* typechecked code directly for default methods.
simonpj@microsoft.com [Wed, 21 May 2008 13:00:16 +0000 (13:00 +0000)]
Comment typo
simonpj@microsoft.com [Tue, 20 May 2008 14:30:48 +0000 (14:30 +0000)]
Fix Trac #2292: improve error message for lone signatures
Refactoring reduces code and improves error messages
simonpj@microsoft.com [Tue, 20 May 2008 14:30:06 +0000 (14:30 +0000)]
Fix Trac #2293: improve error reporting for duplicate declarations
simonpj@microsoft.com [Thu, 15 May 2008 11:53:32 +0000 (11:53 +0000)]
Tuples cannot contain unboxed types
This bug allowed, for example
f = let x = ( 1#, 'x' ) in x
which is ill-typed because you can't put an unboxed value in a tuple.
Core Lint fails on this program.
The patch makes the program be rejcted up-front.
Ian Lynagh [Tue, 20 May 2008 21:48:52 +0000 (21:48 +0000)]
Make TcType warning-free
Ian Lynagh [Sat, 17 May 2008 14:21:12 +0000 (14:21 +0000)]
Teach push-all how to send as well
Ian Lynagh [Mon, 19 May 2008 11:11:00 +0000 (11:11 +0000)]
Make TcUnify warning-free
Ian Lynagh [Mon, 19 May 2008 09:41:26 +0000 (09:41 +0000)]
Fix a comment typo
Ian Lynagh [Mon, 19 May 2008 09:40:56 +0000 (09:40 +0000)]
Detab TcUnify
Simon Marlow [Mon, 19 May 2008 12:51:01 +0000 (12:51 +0000)]
FIX #1955: confusion between .exe.hp and .hp suffixes for heap profiles
Now we use <prog>.hp and <prog>.prof consistently.
Simon Marlow [Tue, 20 May 2008 08:42:21 +0000 (08:42 +0000)]
sort the output of :show packages
Simon Marlow [Tue, 20 May 2008 08:05:35 +0000 (08:05 +0000)]
update the "perf" settings to match the default
Simon Marlow [Tue, 20 May 2008 08:05:25 +0000 (08:05 +0000)]
use -O2 for libraries and stage2 compiler by default
Simon Marlow [Mon, 19 May 2008 12:53:33 +0000 (12:53 +0000)]
bump GHC's maximum stack size to 64Mb (see #2002)
Roman Leshchinskiy [Tue, 20 May 2008 03:19:13 +0000 (03:19 +0000)]
Add -Odph
This is the optimisation level recommended when compiling DPH programs. At the
moment, it is equivalent to -O2 -fno-method-sharing -fdicts-cheap
-fmax-simplifier-iterations20 -fno-spec-constr-threshold.
Roman Leshchinskiy [Tue, 20 May 2008 02:59:56 +0000 (02:59 +0000)]
Make -f[no-]method-sharing a dynamic flag
We want -Odph to be a dynamic flag and that should imply -fno-method-sharing.
This doesn't add a lot of complexity.
Norman Ramsey [Tue, 20 May 2008 03:24:54 +0000 (03:24 +0000)]
documentation for ZipDataflow
Ian Lynagh [Sun, 18 May 2008 13:31:40 +0000 (13:31 +0000)]
Make TcBinds warning-free
Ian Lynagh [Sun, 18 May 2008 12:56:06 +0000 (12:56 +0000)]
Detab TcBinds
Ian Lynagh [Sat, 17 May 2008 00:22:24 +0000 (00:22 +0000)]
Move the register-inplace special-case stuff into the ghc-prim package
Ian Lynagh [Fri, 16 May 2008 23:58:18 +0000 (23:58 +0000)]
Libraries Makefile Hack for ndp
We use the "build" rather than "make" target
Ian Lynagh [Fri, 16 May 2008 23:53:52 +0000 (23:53 +0000)]
When building libraries, we need to register them if we use the "build" targets
We currently only use the "make" targets, which already register the package.
Tim Chevalier [Sat, 17 May 2008 02:53:51 +0000 (02:53 +0000)]
Add dummy LICENSE file to make Cabal go through
Add a LICENSE file that just points to the GHC license.
Simon Marlow [Fri, 16 May 2008 13:00:45 +0000 (13:00 +0000)]
FIX #2257: timer_settime() hangs during configure
On a 2.6.24 Linux kernel, it appears that timer_settime() for
CLOCK_REALTIME is sometimes hanging for a random amount of time when
given a very small interval (we were using 1ns). Using 1ms seems to
be fine. Also I installed a 1-second timeout to catch hangs in the
future.
Simon Marlow [Fri, 16 May 2008 09:59:47 +0000 (09:59 +0000)]
validate fix: eliminate a warning
Simon Marlow [Thu, 15 May 2008 14:25:18 +0000 (14:25 +0000)]
validate fix: eliminate a warning on non-Windows
Simon Marlow [Thu, 15 May 2008 13:45:15 +0000 (13:45 +0000)]
FIX #2014: Template Haskell w/ mutually recursive modules
Try to load interfaces in getLinkDeps
claus.reinke@talk21.com [Thu, 1 May 2008 15:27:00 +0000 (15:27 +0000)]
Document ghc-pkg find-module, substring matching, and multi-field selection
Documentation and examples taken from
- ghc-pkg/Main.hs usageHeader
- patch: FIX 1463 (implement 'ghc-pkg find-module')
- patch: FIX #1839, #1463, by supporting ghc-pkg bulk queries
with substring matching
simonpj@microsoft.com [Fri, 16 May 2008 08:51:49 +0000 (08:51 +0000)]
Improve the treatment of 'seq' (Trac #2273)
Trac #2273 showed a case in which 'seq' didn't cure the space leak
it was supposed to. This patch does two things to help
a) It removes a now-redundant special case in Simplify, which
switched off the case-binder-swap in the early stages. This
isn't necessary any more because FloatOut has improved since
the Simplify code was written. And switching off the binder-swap
is harmful for seq.
However fix (a) is a bit fragile, so I did (b) too:
b) Desugar 'seq' specially. See Note [Desugaring seq (2)] in DsUtils
This isn't very robust either, since it's defeated by abstraction,
but that's not something GHC can fix; the programmer should use
a let! instead.
Tim Chevalier [Thu, 15 May 2008 23:04:05 +0000 (23:04 +0000)]
don't rebuild PrimEnv if genprimopcode and/or primops.txt don't exist
This helps if, for example, you want to build the Core tools on a machine that doesn't have a GHC build tree, and have a pre-existing copy of PrimEnv.hs.
Ian Lynagh [Sat, 26 Apr 2008 18:43:55 +0000 (18:43 +0000)]
Fix a division-by-zero when +RTS -V0 is given
In delayzh_fast we act as if tickInterval was 50, not 0.
Tim Chevalier [Wed, 14 May 2008 23:53:41 +0000 (23:53 +0000)]
Cabalize ext-core tools
I cabalized the ext-core tools, so now they can be built as
a library. The driver program has to be built separately.
Also updated genprimopcode to reflect the new module hierarchy
for the Core tools.
Ian Lynagh [Wed, 14 May 2008 12:51:52 +0000 (12:51 +0000)]
Remove Distribution.Compat.Char from compat again
Cabal now does this differently.
Ian Lynagh [Sat, 26 Apr 2008 11:01:15 +0000 (11:01 +0000)]
Fix an assertion
We were checking that a pointer was correctly tagged, but after we had
untagged it.
Ian Lynagh [Sat, 3 May 2008 00:08:41 +0000 (00:08 +0000)]
Fix sin/cos/tan on x86; trac #2059
If the value is > 2^63 then we need to work out its value mod 2pi,
and apply the operation to that instead.
Simon Marlow [Wed, 14 May 2008 09:27:42 +0000 (09:27 +0000)]
FIX #1288: GHCi wasn't adding the @n suffix to stdcalls on Windows
Simon Marlow [Wed, 14 May 2008 08:24:22 +0000 (08:24 +0000)]
FIX #2276: foreign import stdcall "&foo" doesn't work
This turned out not to be too hard, just a matter of figuring out the
correct argument list size by peeking inside FunPtr's type argument,
and in the C backend we have to emit an appropriate prototype for the label.
Ian Lynagh [Tue, 13 May 2008 21:11:28 +0000 (21:11 +0000)]
Use -fffi when compiling Cabal stuff with the bootstrapping compiler
Ian Lynagh [Tue, 13 May 2008 20:21:54 +0000 (20:21 +0000)]
Use zipLazy from Util in VectType, rather than defining our own lazy_zip
Ian Lynagh [Tue, 13 May 2008 20:06:41 +0000 (20:06 +0000)]
Add a type signature to help GHC 6.4
Needed in lieu of -XRelaxedPolyRec
Ian Lynagh [Tue, 13 May 2008 19:39:01 +0000 (19:39 +0000)]
Rewrite zipLazy to be warning-free for GHC 6.4
Ian Lynagh [Tue, 13 May 2008 19:22:43 +0000 (19:22 +0000)]
Add Distribution.Compat.Char to compat
Ian Lynagh [Tue, 13 May 2008 19:00:22 +0000 (19:00 +0000)]
Add Distribution.Compat.Exception to the compat library
Ian Lynagh [Tue, 13 May 2008 13:51:58 +0000 (13:51 +0000)]
Fix spelling of nonexistEnt
Simon Marlow [Tue, 13 May 2008 08:44:00 +0000 (08:44 +0000)]
FIX #1641: don't add auto sccs to compiler-generated bindings
I also changed con2tag_Foo and related names to follow the standard
practice of prefixing $ to compiler-generated names, so now we have
$con2tag_Foo.
Ian Lynagh [Mon, 12 May 2008 17:05:07 +0000 (17:05 +0000)]
Fix the Windows build; the new Cabal doesn't like --prefix=/foo
Ian Lynagh [Sun, 11 May 2008 20:39:32 +0000 (20:39 +0000)]
Pull the configure options out into a variable in libraries/Makefile
Don Stewart [Mon, 12 May 2008 18:24:35 +0000 (18:24 +0000)]
typo in rules example. spotted by vixey@#haskell
Simon Marlow [Mon, 12 May 2008 11:06:43 +0000 (11:06 +0000)]
Fixes to via-C prototype generation (FIX BUILD on Windows)
Previously we declared all external labels with type StgWord[],
because the same label might be used at different types in the same
file, e.g. if there are multiple foreign import declarations for the
same function. However, we have to declare called functions with the
right type on Windows, because this is the only way to make the
compiler add the appropriate '@n' suffix for stdcall functions.
Related to this is the reason we were getting mangler complaints
(epilogue mangling) when compiling the RTS with -fvia-C. The function
barf() doesn't return, but we had lost that information by declaring
our own prototypes, and so gcc was generating extra code after the
call to barf().
For more details see
http://hackage.haskell.org/trac/ghc/wiki/Commentary/Compiler/Backends/PprC
Simon Marlow [Mon, 12 May 2008 10:40:30 +0000 (10:40 +0000)]
doc tweak
Simon Marlow [Mon, 12 May 2008 10:40:20 +0000 (10:40 +0000)]
FIX #2234: don't generate <prog>.prof unless we're going to put something in it
Simon Marlow [Mon, 12 May 2008 10:38:47 +0000 (10:38 +0000)]
FIX #1861: floating-point constants for infinity and NaN in via-C
Ian Lynagh [Sun, 11 May 2008 18:20:11 +0000 (18:20 +0000)]
Tell the mangler how to mangle for amd64/freebsd; fixes trac #2072
Ian Lynagh [Sun, 11 May 2008 14:45:39 +0000 (14:45 +0000)]
Follow distPref changes in Cabal
Ian Lynagh [Sun, 11 May 2008 00:52:53 +0000 (00:52 +0000)]
Follow Cabal changes in ghci/Linker
Ian Lynagh [Sat, 10 May 2008 22:55:52 +0000 (22:55 +0000)]
Follow changes in Cabal
Ian Lynagh [Sat, 10 May 2008 22:04:52 +0000 (22:04 +0000)]
Remove redundant imports from Inst
Ian Lynagh [Sat, 10 May 2008 22:03:29 +0000 (22:03 +0000)]
Fix a warning when DEBUG is not on
Ian Lynagh [Sat, 10 May 2008 21:19:01 +0000 (21:19 +0000)]
Update compat for changes to Cabal
Ian Lynagh [Sat, 10 May 2008 21:10:35 +0000 (21:10 +0000)]
Update ghc-pkg to follow Cabal changes
Ian Lynagh [Tue, 6 May 2008 21:08:58 +0000 (21:08 +0000)]
Make TcGenDeriv warning-free
Ian Lynagh [Tue, 6 May 2008 20:42:54 +0000 (20:42 +0000)]
Make TcMatches warning-free
Ian Lynagh [Tue, 6 May 2008 20:18:29 +0000 (20:18 +0000)]
Make TcHsSyn warning-free
Ian Lynagh [Tue, 6 May 2008 19:33:59 +0000 (19:33 +0000)]
Make TcRnMonad warning-free
Ian Lynagh [Tue, 6 May 2008 19:17:28 +0000 (19:17 +0000)]
Make TcDefaults warning-free
Ian Lynagh [Tue, 6 May 2008 19:11:41 +0000 (19:11 +0000)]
Make TcArrows warning-free
Ian Lynagh [Tue, 6 May 2008 18:06:18 +0000 (18:06 +0000)]
TcSplice is now mostly warning-free
There are some unused things, but I am not sure if the intention is that
they will be used in the future. Names implied they were related to
splicing in patterns and types.
Ian Lynagh [Tue, 6 May 2008 17:38:42 +0000 (17:38 +0000)]
Make Inst warning-free
Ian Lynagh [Tue, 6 May 2008 17:17:49 +0000 (17:17 +0000)]
Add a panic for lookupPred EqPred
It's possible that returning Nothing was the right thing to do here,
but the comment and variable name indicated that it was written for
implicit parameters, so make it a panic for now just in case.
Ian Lynagh [Tue, 6 May 2008 17:10:31 +0000 (17:10 +0000)]
Make FamInst warning-free
simonpj@microsoft.com [Wed, 7 May 2008 07:28:25 +0000 (07:28 +0000)]
Fix context for fwd_pure_anal to match that of forward_sol
Roman Leshchinskiy [Wed, 7 May 2008 03:54:17 +0000 (03:54 +0000)]
FIX validate: Fix warnings in new literal code
Validate uses -Werror so the warnings broke it.
Roman Leshchinskiy [Wed, 7 May 2008 02:00:55 +0000 (02:00 +0000)]
Vectorise even with -O0
Ian Lynagh [Tue, 6 May 2008 10:44:56 +0000 (10:44 +0000)]
Remove ilxGen; part of trac #2243
Ian Lynagh [Tue, 6 May 2008 10:43:07 +0000 (10:43 +0000)]
Remove javaGen; part of trac #2243
Ian Lynagh [Tue, 6 May 2008 10:35:06 +0000 (10:35 +0000)]
Add a comment about why DsMeta needs the warning kludge
simonpj@microsoft.com [Tue, 6 May 2008 10:25:51 +0000 (10:25 +0000)]
Fix Trac #2246; overhaul handling of overloaded literals
The real work of fixing Trac #2246 is to use shortCutLit in
MatchLit.dsOverLit, so that type information discovered late in the
day by the type checker can still be exploited during desugaring.
However, as usual I found myself doing some refactoring along the
way, to tidy up the handling of overloaded literals. The main
change is to split HsOverLit into a record, which in turn uses
a sum type for the three variants. This makes the code significantly
more modular.
data HsOverLit id
= OverLit {
ol_val :: OverLitVal,
ol_rebindable :: Bool, -- True <=> rebindable syntax
-- False <=> standard syntax
ol_witness :: SyntaxExpr id, -- Note [Overloaded literal witnesses]
ol_type :: PostTcType }
data OverLitVal
= HsIntegral !Integer -- Integer-looking literals;
| HsFractional !Rational -- Frac-looking literals
| HsIsString !FastString -- String-looking literals
simonpj@microsoft.com [Tue, 6 May 2008 09:58:17 +0000 (09:58 +0000)]
Fix type signature to work without -XRelaxedPolyRec, and hence earlier GHCs
Thorkil Naur [Sun, 4 May 2008 19:15:11 +0000 (19:15 +0000)]
Eliminate a warning for compiler/basicTypes/OccName.lhs
Tim Chevalier [Mon, 5 May 2008 00:46:03 +0000 (00:46 +0000)]
External Core tools: add note to README about where to find documentation
Tim Chevalier [Mon, 5 May 2008 00:39:55 +0000 (00:39 +0000)]
Some External Core doc fixes
Tim Chevalier [Mon, 5 May 2008 00:10:50 +0000 (00:10 +0000)]
External Core tools: track new syntax for newtypes
Update External Core tools to reflect new syntax for
newtypes. (Notice that the typechecker is 90 lines shorter!)
Also: improve dependency-finding, miscellaneous refactoring.
Tim Chevalier [Sun, 4 May 2008 23:02:33 +0000 (23:02 +0000)]
Improve External Core newtype syntax
I realized that recursive newtypes no longer have to be
distinguished in the External Core AST, because explicit coercions
allow the typechecker to typecheck newtypes without ever
expanding newtypes. So, now all newtypes in External Core have
a representation clause. O frabjous day!
Ian Lynagh [Sun, 4 May 2008 22:20:23 +0000 (22:20 +0000)]
Remove a duplicate module import in BuildTyCl
Ian Lynagh [Sun, 4 May 2008 21:31:23 +0000 (21:31 +0000)]
Make SimplEnv warning-free
Ian Lynagh [Sun, 4 May 2008 21:24:47 +0000 (21:24 +0000)]
Make SimplUtils warning-free
Ian Lynagh [Sun, 4 May 2008 20:59:35 +0000 (20:59 +0000)]
Remove a hack for GHC 3.03 in SimplMonad
Ian Lynagh [Sun, 4 May 2008 20:56:30 +0000 (20:56 +0000)]
Make SimplMonad warning-free
Ian Lynagh [Sun, 4 May 2008 20:47:29 +0000 (20:47 +0000)]
Make LiberateCase warning-free
Ian Lynagh [Sun, 4 May 2008 20:40:58 +0000 (20:40 +0000)]
Make FloatOut warning-free
Ian Lynagh [Sun, 4 May 2008 20:25:38 +0000 (20:25 +0000)]
Make FloatIn warning-free
Ian Lynagh [Sun, 4 May 2008 20:17:10 +0000 (20:17 +0000)]
Make SetLevels warning-free
Ian Lynagh [Sun, 4 May 2008 19:54:30 +0000 (19:54 +0000)]
Make Vectorise warning-free