ghc-hetmet.git
15 years agoDocument ghc-pkg find-module, substring matching, and multi-field selection
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

15 years agoImprove the treatment of 'seq' (Trac #2273)
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.

15 years agodon't rebuild PrimEnv if genprimopcode and/or primops.txt don't exist
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.

15 years agoFix a division-by-zero when +RTS -V0 is given
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.

15 years agoCabalize ext-core tools
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.

15 years agoRemove Distribution.Compat.Char from compat again
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.

15 years agoFix an assertion
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.

15 years agoFix sin/cos/tan on x86; trac #2059
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.

15 years agoFIX #1288: GHCi wasn't adding the @n suffix to stdcalls on Windows
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

15 years agoFIX #2276: foreign import stdcall "&foo" doesn't work
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.

15 years agoUse -fffi when compiling Cabal stuff with the bootstrapping compiler
Ian Lynagh [Tue, 13 May 2008 21:11:28 +0000 (21:11 +0000)]
Use -fffi when compiling Cabal stuff with the bootstrapping compiler

15 years agoUse zipLazy from Util in VectType, rather than defining our own lazy_zip
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

15 years agoAdd a type signature to help GHC 6.4
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

15 years agoRewrite zipLazy to be warning-free for GHC 6.4
Ian Lynagh [Tue, 13 May 2008 19:39:01 +0000 (19:39 +0000)]
Rewrite zipLazy to be warning-free for GHC 6.4

15 years agoAdd Distribution.Compat.Char to compat
Ian Lynagh [Tue, 13 May 2008 19:22:43 +0000 (19:22 +0000)]
Add Distribution.Compat.Char to compat

15 years agoAdd Distribution.Compat.Exception to the compat library
Ian Lynagh [Tue, 13 May 2008 19:00:22 +0000 (19:00 +0000)]
Add Distribution.Compat.Exception to the compat library

15 years agoFix spelling of nonexistEnt
Ian Lynagh [Tue, 13 May 2008 13:51:58 +0000 (13:51 +0000)]
Fix spelling of nonexistEnt

15 years agoFIX #1641: don't add auto sccs to compiler-generated bindings
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.

15 years agoFix the Windows build; the new Cabal doesn't like --prefix=/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

15 years agoPull the configure options out into a variable in libraries/Makefile
Ian Lynagh [Sun, 11 May 2008 20:39:32 +0000 (20:39 +0000)]
Pull the configure options out into a variable in libraries/Makefile

15 years agotypo in rules example. spotted by vixey@#haskell
Don Stewart [Mon, 12 May 2008 18:24:35 +0000 (18:24 +0000)]
typo in rules example. spotted by vixey@#haskell

15 years agoFixes to via-C prototype generation (FIX BUILD on Windows)
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

15 years agodoc tweak
Simon Marlow [Mon, 12 May 2008 10:40:30 +0000 (10:40 +0000)]
doc tweak

15 years agoFIX #2234: don't generate <prog>.prof unless we're going to put something in it
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

15 years agoFIX #1861: floating-point constants for infinity and NaN in via-C
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

15 years agoTell the mangler how to mangle for amd64/freebsd; fixes trac #2072
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

15 years agoFollow distPref changes in Cabal
Ian Lynagh [Sun, 11 May 2008 14:45:39 +0000 (14:45 +0000)]
Follow distPref changes in Cabal

15 years agoFollow Cabal changes in ghci/Linker
Ian Lynagh [Sun, 11 May 2008 00:52:53 +0000 (00:52 +0000)]
Follow Cabal changes in ghci/Linker

15 years agoFollow changes in Cabal
Ian Lynagh [Sat, 10 May 2008 22:55:52 +0000 (22:55 +0000)]
Follow changes in Cabal

15 years agoRemove redundant imports from Inst
Ian Lynagh [Sat, 10 May 2008 22:04:52 +0000 (22:04 +0000)]
Remove redundant imports from Inst

15 years agoFix a warning when DEBUG is not on
Ian Lynagh [Sat, 10 May 2008 22:03:29 +0000 (22:03 +0000)]
Fix a warning when DEBUG is not on

15 years agoUpdate compat for changes to Cabal
Ian Lynagh [Sat, 10 May 2008 21:19:01 +0000 (21:19 +0000)]
Update compat for changes to Cabal

15 years agoUpdate ghc-pkg to follow Cabal changes
Ian Lynagh [Sat, 10 May 2008 21:10:35 +0000 (21:10 +0000)]
Update ghc-pkg to follow Cabal changes

15 years agoMake TcGenDeriv warning-free
Ian Lynagh [Tue, 6 May 2008 21:08:58 +0000 (21:08 +0000)]
Make TcGenDeriv warning-free

15 years agoMake TcMatches warning-free
Ian Lynagh [Tue, 6 May 2008 20:42:54 +0000 (20:42 +0000)]
Make TcMatches warning-free

15 years agoMake TcHsSyn warning-free
Ian Lynagh [Tue, 6 May 2008 20:18:29 +0000 (20:18 +0000)]
Make TcHsSyn warning-free

15 years agoMake TcRnMonad warning-free
Ian Lynagh [Tue, 6 May 2008 19:33:59 +0000 (19:33 +0000)]
Make TcRnMonad warning-free

15 years agoMake TcDefaults warning-free
Ian Lynagh [Tue, 6 May 2008 19:17:28 +0000 (19:17 +0000)]
Make TcDefaults warning-free

15 years agoMake TcArrows warning-free
Ian Lynagh [Tue, 6 May 2008 19:11:41 +0000 (19:11 +0000)]
Make TcArrows warning-free

15 years agoTcSplice is now mostly 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.

15 years agoMake Inst warning-free
Ian Lynagh [Tue, 6 May 2008 17:38:42 +0000 (17:38 +0000)]
Make Inst warning-free

15 years agoAdd a panic for lookupPred EqPred
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.

15 years agoMake FamInst warning-free
Ian Lynagh [Tue, 6 May 2008 17:10:31 +0000 (17:10 +0000)]
Make FamInst warning-free

15 years agoFix context for fwd_pure_anal to match that of forward_sol
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

15 years agoFIX validate: Fix warnings in new literal code
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.

15 years agoVectorise even with -O0
Roman Leshchinskiy [Wed, 7 May 2008 02:00:55 +0000 (02:00 +0000)]
Vectorise even with -O0

15 years agoRemove ilxGen; part of trac #2243
Ian Lynagh [Tue, 6 May 2008 10:44:56 +0000 (10:44 +0000)]
Remove ilxGen; part of trac #2243

15 years agoRemove javaGen; part of trac #2243
Ian Lynagh [Tue, 6 May 2008 10:43:07 +0000 (10:43 +0000)]
Remove javaGen; part of trac #2243

15 years agoAdd a comment about why DsMeta needs the warning kludge
Ian Lynagh [Tue, 6 May 2008 10:35:06 +0000 (10:35 +0000)]
Add a comment about why DsMeta needs the warning kludge

15 years agoFix Trac #2246; overhaul handling of overloaded literals
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

15 years agoFix type signature to work without -XRelaxedPolyRec, and hence earlier GHCs
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

15 years agoEliminate a warning for compiler/basicTypes/OccName.lhs
Thorkil Naur [Sun, 4 May 2008 19:15:11 +0000 (19:15 +0000)]
Eliminate a warning for compiler/basicTypes/OccName.lhs

15 years agoExternal Core tools: add note to README about where to find documentation
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

15 years agoSome External Core doc fixes
Tim Chevalier [Mon, 5 May 2008 00:39:55 +0000 (00:39 +0000)]
Some External Core doc fixes

15 years agoExternal Core tools: track new syntax for newtypes
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.

15 years agoImprove External Core newtype syntax
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!

15 years agoRemove a duplicate module import in BuildTyCl
Ian Lynagh [Sun, 4 May 2008 22:20:23 +0000 (22:20 +0000)]
Remove a duplicate module import in BuildTyCl

15 years agoMake SimplEnv warning-free
Ian Lynagh [Sun, 4 May 2008 21:31:23 +0000 (21:31 +0000)]
Make SimplEnv warning-free

15 years agoMake SimplUtils warning-free
Ian Lynagh [Sun, 4 May 2008 21:24:47 +0000 (21:24 +0000)]
Make SimplUtils warning-free

15 years agoRemove a hack for GHC 3.03 in SimplMonad
Ian Lynagh [Sun, 4 May 2008 20:59:35 +0000 (20:59 +0000)]
Remove a hack for GHC 3.03 in SimplMonad

15 years agoMake SimplMonad warning-free
Ian Lynagh [Sun, 4 May 2008 20:56:30 +0000 (20:56 +0000)]
Make SimplMonad warning-free

15 years agoMake LiberateCase warning-free
Ian Lynagh [Sun, 4 May 2008 20:47:29 +0000 (20:47 +0000)]
Make LiberateCase warning-free

15 years agoMake FloatOut warning-free
Ian Lynagh [Sun, 4 May 2008 20:40:58 +0000 (20:40 +0000)]
Make FloatOut warning-free

15 years agoMake FloatIn warning-free
Ian Lynagh [Sun, 4 May 2008 20:25:38 +0000 (20:25 +0000)]
Make FloatIn warning-free

15 years agoMake SetLevels warning-free
Ian Lynagh [Sun, 4 May 2008 20:17:10 +0000 (20:17 +0000)]
Make SetLevels warning-free

15 years agoMake Vectorise warning-free
Ian Lynagh [Sun, 4 May 2008 19:54:30 +0000 (19:54 +0000)]
Make Vectorise warning-free

15 years agoRemove some dead code from VectType
Ian Lynagh [Sun, 4 May 2008 19:44:32 +0000 (19:44 +0000)]
Remove some dead code from VectType

15 years agoMake VectType warning-free
Ian Lynagh [Sun, 4 May 2008 19:43:35 +0000 (19:43 +0000)]
Make VectType warning-free

15 years agoMake IfaceEnv warning-free
Ian Lynagh [Sun, 4 May 2008 19:09:44 +0000 (19:09 +0000)]
Make IfaceEnv warning-free

15 years agoMake IfaceSyn warning-free
Ian Lynagh [Sun, 4 May 2008 19:07:10 +0000 (19:07 +0000)]
Make IfaceSyn warning-free

15 years agoMake IfaceType warning-free
Ian Lynagh [Sun, 4 May 2008 18:35:29 +0000 (18:35 +0000)]
Make IfaceType warning-free

15 years agoMake BuildTyCl warning-free
Ian Lynagh [Sun, 4 May 2008 18:23:36 +0000 (18:23 +0000)]
Make BuildTyCl warning-free

15 years agoMake BinIface warning-free
Ian Lynagh [Sun, 4 May 2008 18:20:31 +0000 (18:20 +0000)]
Make BinIface warning-free

15 years agoMake LoadIface warning-free
Ian Lynagh [Sun, 4 May 2008 18:08:47 +0000 (18:08 +0000)]
Make LoadIface warning-free

15 years agoMake MkIface warning-free
Ian Lynagh [Sun, 4 May 2008 17:49:52 +0000 (17:49 +0000)]
Make MkIface warning-free

15 years agoMake TcIface warning-free
Ian Lynagh [Sun, 4 May 2008 17:29:06 +0000 (17:29 +0000)]
Make TcIface warning-free

15 years agoMake StgLint warning-free
Ian Lynagh [Sun, 4 May 2008 15:13:43 +0000 (15:13 +0000)]
Make StgLint warning-free

15 years agoMake CoreToStg warning-free
Ian Lynagh [Sun, 4 May 2008 14:54:32 +0000 (14:54 +0000)]
Make CoreToStg warning-free

15 years agoMake DsArrows warning-free
Ian Lynagh [Sun, 4 May 2008 14:04:43 +0000 (14:04 +0000)]
Make DsArrows warning-free

15 years agoMake DsCCall warning-free
Ian Lynagh [Sun, 4 May 2008 13:26:35 +0000 (13:26 +0000)]
Make DsCCall warning-free

15 years agoMake DsMeta almost warning-free
Ian Lynagh [Sun, 4 May 2008 12:57:42 +0000 (12:57 +0000)]
Make DsMeta almost warning-free
GHC claims that OccName is unused, but it is wrong.

15 years agoMake MatchLit warning-free
Ian Lynagh [Sun, 4 May 2008 11:48:48 +0000 (11:48 +0000)]
Make MatchLit warning-free

15 years agoAdd an Outputable EquationInfo instance
Ian Lynagh [Sun, 4 May 2008 11:48:27 +0000 (11:48 +0000)]
Add an Outputable EquationInfo instance

15 years agoWhitespace only (TcInstDcls)
Ian Lynagh [Sun, 4 May 2008 11:11:01 +0000 (11:11 +0000)]
Whitespace only (TcInstDcls)

15 years agoFix the stage 1 build
Ian Lynagh [Sun, 4 May 2008 01:17:33 +0000 (01:17 +0000)]
Fix the stage 1 build

15 years agoRemove unused function mapInScopeSet
Ian Lynagh [Sat, 3 May 2008 19:14:50 +0000 (19:14 +0000)]
Remove unused function mapInScopeSet

15 years agoMake part of the parser a bit stricter
Ian Lynagh [Fri, 2 May 2008 22:57:17 +0000 (22:57 +0000)]
Make part of the parser a bit stricter

15 years agoFix some space-wasting in the Parser
Ian Lynagh [Fri, 2 May 2008 22:56:45 +0000 (22:56 +0000)]
Fix some space-wasting in the Parser
(fst x, snd x) => x

15 years agoMake ByteCodeGen warning-free
Ian Lynagh [Sun, 4 May 2008 00:25:27 +0000 (00:25 +0000)]
Make ByteCodeGen warning-free

15 years agoTiny code tweak in the definition of io in GhciMonad; no semantic change
Ian Lynagh [Sat, 3 May 2008 23:52:11 +0000 (23:52 +0000)]
Tiny code tweak in the definition of io in GhciMonad; no semantic change

15 years agoMake GhciMonad warning-free
Ian Lynagh [Sat, 3 May 2008 23:51:35 +0000 (23:51 +0000)]
Make GhciMonad warning-free

15 years agoTiny code recatoring in GhciTags
Ian Lynagh [Sat, 3 May 2008 23:45:39 +0000 (23:45 +0000)]
Tiny code recatoring in GhciTags

15 years agoMake GhciTags warning-free
Ian Lynagh [Sat, 3 May 2008 23:44:41 +0000 (23:44 +0000)]
Make GhciTags warning-free

15 years agoMake ObjLink warning-free
Ian Lynagh [Sat, 3 May 2008 23:34:18 +0000 (23:34 +0000)]
Make ObjLink warning-free

15 years agoRemove a hack from a time when ghc couldn't do seq
Ian Lynagh [Sat, 3 May 2008 23:28:32 +0000 (23:28 +0000)]
Remove a hack from a time when ghc couldn't do seq

15 years agoMake RnExpr warning-free
Ian Lynagh [Sat, 3 May 2008 23:27:04 +0000 (23:27 +0000)]
Make RnExpr warning-free

15 years agoMake RnEnv warning-free
Ian Lynagh [Sat, 3 May 2008 22:34:30 +0000 (22:34 +0000)]
Make RnEnv warning-free

15 years agoFix warnings in RnNames
Ian Lynagh [Sat, 3 May 2008 22:15:12 +0000 (22:15 +0000)]
Fix warnings in RnNames

15 years agoMake RnBinds warning-free
Ian Lynagh [Sat, 3 May 2008 21:31:49 +0000 (21:31 +0000)]
Make RnBinds warning-free

15 years agoChange a mappM to mapM_
Ian Lynagh [Sat, 3 May 2008 20:33:54 +0000 (20:33 +0000)]
Change a mappM to mapM_