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
Ian Lynagh [Sun, 4 May 2008 19:44:32 +0000 (19:44 +0000)]
Remove some dead code from VectType
Ian Lynagh [Sun, 4 May 2008 19:43:35 +0000 (19:43 +0000)]
Make VectType warning-free
Ian Lynagh [Sun, 4 May 2008 19:09:44 +0000 (19:09 +0000)]
Make IfaceEnv warning-free
Ian Lynagh [Sun, 4 May 2008 19:07:10 +0000 (19:07 +0000)]
Make IfaceSyn warning-free
Ian Lynagh [Sun, 4 May 2008 18:35:29 +0000 (18:35 +0000)]
Make IfaceType warning-free
Ian Lynagh [Sun, 4 May 2008 18:23:36 +0000 (18:23 +0000)]
Make BuildTyCl warning-free
Ian Lynagh [Sun, 4 May 2008 18:20:31 +0000 (18:20 +0000)]
Make BinIface warning-free
Ian Lynagh [Sun, 4 May 2008 18:08:47 +0000 (18:08 +0000)]
Make LoadIface warning-free
Ian Lynagh [Sun, 4 May 2008 17:49:52 +0000 (17:49 +0000)]
Make MkIface warning-free
Ian Lynagh [Sun, 4 May 2008 17:29:06 +0000 (17:29 +0000)]
Make TcIface warning-free
Ian Lynagh [Sun, 4 May 2008 15:13:43 +0000 (15:13 +0000)]
Make StgLint warning-free
Ian Lynagh [Sun, 4 May 2008 14:54:32 +0000 (14:54 +0000)]
Make CoreToStg warning-free
Ian Lynagh [Sun, 4 May 2008 14:04:43 +0000 (14:04 +0000)]
Make DsArrows warning-free
Ian Lynagh [Sun, 4 May 2008 13:26:35 +0000 (13:26 +0000)]
Make DsCCall 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.
Ian Lynagh [Sun, 4 May 2008 11:48:48 +0000 (11:48 +0000)]
Make MatchLit warning-free
Ian Lynagh [Sun, 4 May 2008 11:48:27 +0000 (11:48 +0000)]
Add an Outputable EquationInfo instance
Ian Lynagh [Sun, 4 May 2008 11:11:01 +0000 (11:11 +0000)]
Whitespace only (TcInstDcls)
Ian Lynagh [Sun, 4 May 2008 01:17:33 +0000 (01:17 +0000)]
Fix the stage 1 build
Ian Lynagh [Sat, 3 May 2008 19:14:50 +0000 (19:14 +0000)]
Remove unused function mapInScopeSet
Ian Lynagh [Fri, 2 May 2008 22:57:17 +0000 (22:57 +0000)]
Make part of the parser a bit stricter
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
Ian Lynagh [Sun, 4 May 2008 00:25:27 +0000 (00:25 +0000)]
Make ByteCodeGen warning-free
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
Ian Lynagh [Sat, 3 May 2008 23:51:35 +0000 (23:51 +0000)]
Make GhciMonad warning-free
Ian Lynagh [Sat, 3 May 2008 23:45:39 +0000 (23:45 +0000)]
Tiny code recatoring in GhciTags
Ian Lynagh [Sat, 3 May 2008 23:44:41 +0000 (23:44 +0000)]
Make GhciTags warning-free
Ian Lynagh [Sat, 3 May 2008 23:34:18 +0000 (23:34 +0000)]
Make ObjLink warning-free
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
Ian Lynagh [Sat, 3 May 2008 23:27:04 +0000 (23:27 +0000)]
Make RnExpr warning-free
Ian Lynagh [Sat, 3 May 2008 22:34:30 +0000 (22:34 +0000)]
Make RnEnv warning-free
Ian Lynagh [Sat, 3 May 2008 22:15:12 +0000 (22:15 +0000)]
Fix warnings in RnNames
Ian Lynagh [Sat, 3 May 2008 21:31:49 +0000 (21:31 +0000)]
Make RnBinds warning-free
Ian Lynagh [Sat, 3 May 2008 20:33:54 +0000 (20:33 +0000)]
Change a mappM to mapM_
Ian Lynagh [Sat, 3 May 2008 20:33:00 +0000 (20:33 +0000)]
Make RnPat warning-free
Ian Lynagh [Sat, 3 May 2008 20:13:43 +0000 (20:13 +0000)]
Make RnHsDoc warning-free
Ian Lynagh [Sat, 3 May 2008 20:09:32 +0000 (20:09 +0000)]
Make RnSource warning-free
Ian Lynagh [Sat, 3 May 2008 17:06:49 +0000 (17:06 +0000)]
Make RnHsSyn warning-free
Ian Lynagh [Sat, 3 May 2008 17:00:53 +0000 (17:00 +0000)]
Whitespace only
Roman Leshchinskiy [Sun, 4 May 2008 05:40:06 +0000 (05:40 +0000)]
Vectorise polymorphic let bindings
Tim Chevalier [Sun, 4 May 2008 02:43:04 +0000 (02:43 +0000)]
Improve syntax for primitive coercions in External Core
Add new syntax in External Core for primitive coercions (trans,
sym, etc.) rather than wiring their names into the ext-core
parser.
Tim Chevalier [Sat, 3 May 2008 23:10:44 +0000 (23:10 +0000)]
Fix External Core interpreter
The External Core interpreter works (in a limited sense).
For details, see the README.
This means we now have a marginally functioning set of
External Core tools.
The other exciting change is that the test driver (Driver.hs)
now computes module dependencies automatically instead of
having a wired-in list of library modules.
Norman Ramsey [Sat, 3 May 2008 22:47:20 +0000 (22:47 +0000)]
replace hints with kinds in parser as well
Norman Ramsey [Sat, 3 May 2008 22:45:14 +0000 (22:45 +0000)]
replace Cmm 'hint' with 'kind'
C-- no longer has 'hints'; to guide parameter passing, it
has 'kinds'. Renamed type constructor, data constructor, and record
fields accordingly
Norman Ramsey [Sat, 3 May 2008 22:42:08 +0000 (22:42 +0000)]
new version of ZipDataflow
This version combines forward/backard into a type class
(actually two classes) of analysis and transformation.
These type classes will always be expanded away at the client,
so SLPJ may wonder why they exist: it is because the interface
to this module is already very broad, and by overloading the functions
for forward and backward problems, we cut the cognitive load on the
clients in half.
Norman Ramsey [Sat, 3 May 2008 22:34:52 +0000 (22:34 +0000)]
minor changes to Cmm left over from September 2007
Nothing too deep here; primarily tinking with prettyprinting
and names. Also eliminated some warnings. This patch covers
most (but not all) of the code NR changed at the very end
of September 2007, just before ICFP hit...
Ian Lynagh [Fri, 2 May 2008 17:47:53 +0000 (17:47 +0000)]
Make darcs-all act on all repos in libraries/, not just boot/extra libs
Ian Lynagh [Fri, 2 May 2008 15:56:49 +0000 (15:56 +0000)]
When validating, configure with "--prefix=`pwd`/inst"
This means a validate build can be installed locally.
`pwd`/inst probably won't give a useful value on all platforms (in
particular there are probably some Windows configurations it doesn't
work for), but I don't think it will ever make the build fail.
Ian Lynagh [Wed, 30 Apr 2008 15:25:08 +0000 (15:25 +0000)]
Improve the unboxed types documentation
Mainly adding descriptions of unboxed literals,
keller@cse.unsw.edu.au [Fri, 2 May 2008 03:19:05 +0000 (03:19 +0000)]
sumP on doubles and int
keller@cse.unsw.edu.au [Thu, 1 May 2008 01:18:24 +0000 (01:18 +0000)]
Fixed vect decl for sumP, enumfromToP
Don Stewart [Thu, 1 May 2008 00:05:17 +0000 (00:05 +0000)]
Missing .0 on float constant.
Don Stewart [Wed, 30 Apr 2008 21:48:27 +0000 (21:48 +0000)]
Replace C99 exp2f(32) call in __2Int_encodeDouble
with constant
4294967296.
exp2f is a C99-ism not availabl everywhere. Replace it
with its result. Helps building on OpenBSD>
Ian Lynagh [Wed, 30 Apr 2008 13:13:49 +0000 (13:13 +0000)]
Use panic rather than error in RegLiveness