Ian Lynagh [Sun, 17 Feb 2008 17:50:21 +0000 (17:50 +0000)]
Fix typo
Tim Chevalier [Sun, 17 Feb 2008 22:38:44 +0000 (22:38 +0000)]
Print better error message for reading External Core
GHC panicked with a "Prelude.undefined" error message if you tried to
compile a .hcr file. Since support for reading ExternalCore simply does
not exist, I added an error message to say that.
Please merge to 6.8. Thanks.
Tim Chevalier [Sun, 17 Feb 2008 21:32:06 +0000 (21:32 +0000)]
Documentation only: update External Core section of user guide
I updated the External Core section of the user guide, mostly to reflect
that the input path is broken and there are no firm plans to fix it.
Ian Lynagh [Sat, 16 Feb 2008 14:10:31 +0000 (14:10 +0000)]
Generate foo(void) rather than foo() in FFI stub files
-Wstrict-prototypes warns about the latter.
Patch from pcc in trac #2100.
Ian Lynagh [Fri, 15 Feb 2008 16:03:09 +0000 (16:03 +0000)]
Make hasktags -Wall clean
Ian Lynagh [Fri, 15 Feb 2008 15:51:22 +0000 (15:51 +0000)]
Whitespace only
Ian Lynagh [Fri, 15 Feb 2008 15:44:15 +0000 (15:44 +0000)]
Fix building hasktags
Ian Lynagh [Fri, 15 Feb 2008 15:35:58 +0000 (15:35 +0000)]
Revert an accidental comment change
marco-oweber@gmx.de [Tue, 12 Feb 2008 23:21:57 +0000 (23:21 +0000)]
find module names, fix for get constructor names, find class names as well, sort ctag files
marco-oweber@gmx.de [Tue, 12 Feb 2008 23:18:53 +0000 (23:18 +0000)]
added TODO item and link to alternatives on wiki
Duncan Coutts [Thu, 7 Feb 2008 17:00:20 +0000 (17:00 +0000)]
Make more arch-specific #if's exclusive with #else #error cases
So when the next person compiles the Sparc NCG it should fail more
obviously at compile time rather than panicing at runtime.
Plus one obvious fix for LocalReg gaining an extra param
Missing bits of Sparc NCG:
* genSwitch for generating jump tables. This is the most tricky one.
* ALLOCATABLE_REGS_INTEGER and ALLOCATABLE_REGS_DOUBLE just requires
finding and verifying the values. The nearby comment describes how.
* isRegRegMove and mkRegRegMoveInstr. Sparc uses Or for int move, check
what this is supposed to do for single and double float types.
* regDotColor. Probably just copy the ppc impl.
Ian Lynagh [Wed, 13 Feb 2008 16:11:06 +0000 (16:11 +0000)]
Document code a bit better
Ian Lynagh [Wed, 13 Feb 2008 15:42:32 +0000 (15:42 +0000)]
Add a necessary [] error case
Ian Lynagh [Wed, 13 Feb 2008 15:38:35 +0000 (15:38 +0000)]
\e -> f e ===> f
Twan van Laarhoven [Mon, 4 Feb 2008 02:11:31 +0000 (02:11 +0000)]
Fixed warnings in parser/Lexer.x
The -w flag can not be removed, because alex also generates code with lots of warnings.
Twan van Laarhoven [Mon, 4 Feb 2008 01:50:53 +0000 (01:50 +0000)]
Monadification and Fixed warnings in parser/RdrHsSyn, except for incomplete pattern matches
Twan van Laarhoven [Sun, 3 Feb 2008 22:39:32 +0000 (22:39 +0000)]
Fixed warnings in vectorise/VectMonad
Roman Leshchinskiy [Tue, 12 Feb 2008 05:22:19 +0000 (05:22 +0000)]
Fix typo in message
Simon Marlow [Thu, 7 Feb 2008 14:39:15 +0000 (14:39 +0000)]
Remove old code to get TMPDIR, use System.Directory.getTemporaryDirectory
Manuel M T Chakravarty [Mon, 11 Feb 2008 11:52:01 +0000 (11:52 +0000)]
Mac installer: Added XCODE_EXTRA_CONFIGURE_ARGS
Manuel M T Chakravarty [Mon, 11 Feb 2008 09:11:19 +0000 (09:11 +0000)]
Mac installer: make Uninstaller a bit more robust
Manuel M T Chakravarty [Mon, 11 Feb 2008 06:14:50 +0000 (06:14 +0000)]
Mac installer: add comprehensive licencing information
Manuel M T Chakravarty [Mon, 11 Feb 2008 02:23:29 +0000 (02:23 +0000)]
Force -s on ar in xcode builds
Roman Leshchinskiy [Mon, 11 Feb 2008 04:02:11 +0000 (04:02 +0000)]
Fix warning (FIX validate)
Roman Leshchinskiy [Mon, 11 Feb 2008 03:23:50 +0000 (03:23 +0000)]
Symbolic tags for simplifier phases
Every simplifier phase can have an arbitrary number of tags and multiple
phases can share the same tags. The tags can be used as arguments to
-ddump-simpl-phases to specify which phases are to be dumped.
For instance, -ddump-simpl-phases=main will dump the output of phases 2, 1 and
0 of the initial simplifier run (they all share the "main" tag) while
-ddump-simpl-phases=main:0 will dump only the output of phase 0 of that run.
At the moment, the supported tags are:
main The main, staged simplifier run (before strictness)
post-worker-wrapper After the w/w split
post-liberate-case After LiberateCase
final Final clean-up run
The names are somewhat arbitrary and will change in the future.
Roman Leshchinskiy [Mon, 11 Feb 2008 02:06:30 +0000 (02:06 +0000)]
Allow -ddump-simpl-phases to specify which phases to dump
We can now say -ddump-simpl-phases=1,2 to dump only these two phases and
nothing else.
Twan van Laarhoven [Mon, 4 Feb 2008 02:22:26 +0000 (02:22 +0000)]
Fixed warnings in parser/ParserCoreUtils
Twan van Laarhoven [Mon, 4 Feb 2008 00:05:10 +0000 (00:05 +0000)]
Fixed warnings in hsSyn/Convert, except for incomplete pattern matches
Twan van Laarhoven [Sun, 3 Feb 2008 22:42:28 +0000 (22:42 +0000)]
Fixed warnings in types/Unify
Twan van Laarhoven [Sun, 3 Feb 2008 22:41:59 +0000 (22:41 +0000)]
Fixed warnings in ndpFlatten/FlattenInfo
Twan van Laarhoven [Sun, 3 Feb 2008 22:40:43 +0000 (22:40 +0000)]
Fixed warnings in vectorise/VectBuiltIn
Twan van Laarhoven [Sun, 3 Feb 2008 22:40:03 +0000 (22:40 +0000)]
Fixed warnings in vectorise/VectCore
Twan van Laarhoven [Sun, 3 Feb 2008 21:48:48 +0000 (21:48 +0000)]
Fixed warnings in deSugar/DsExpr, except for incomplete pattern matches
Twan van Laarhoven [Sun, 3 Feb 2008 21:46:02 +0000 (21:46 +0000)]
Fixed warnings in deSugar/DsGRHSs, except for incomplete pattern matches
Twan van Laarhoven [Sun, 3 Feb 2008 21:12:53 +0000 (21:12 +0000)]
Fixed warnings in deSugar/DsListComp, except for incomplete pattern matches
Twan van Laarhoven [Sun, 3 Feb 2008 21:08:14 +0000 (21:08 +0000)]
Fixed warnings in deSugar/Check, except for incomplete pattern matches
Twan van Laarhoven [Sun, 3 Feb 2008 21:05:33 +0000 (21:05 +0000)]
Fixed warnings in deSugar/Match, except for incomplete pattern matches
Twan van Laarhoven [Sun, 3 Feb 2008 21:04:02 +0000 (21:04 +0000)]
Fixed warnings in deSugar/MatchCon, except for incomplete pattern matches
Twan van Laarhoven [Sun, 3 Feb 2008 21:03:39 +0000 (21:03 +0000)]
Fixed warnings in deSugar/DsMonad
Ian Lynagh [Sun, 10 Feb 2008 17:11:04 +0000 (17:11 +0000)]
Wibble the Makefile: DQ, \" and '"'
Ian Lynagh [Sun, 10 Feb 2008 17:10:50 +0000 (17:10 +0000)]
Don't use -w when compiling Config.hs
Ian Lynagh [Sun, 10 Feb 2008 17:09:25 +0000 (17:09 +0000)]
Add typesigs to Config.hs
Ian Lynagh [Sun, 10 Feb 2008 16:28:42 +0000 (16:28 +0000)]
Allow skipping "make clean" or only re-running the testsuite in validate
Manuel M T Chakravarty [Sat, 9 Feb 2008 11:07:27 +0000 (11:07 +0000)]
Mac installer: added support for full docs
Manuel M T Chakravarty [Thu, 7 Feb 2008 03:05:28 +0000 (03:05 +0000)]
Fixed permissions and other cleanup in Mac installer package
simonpj@microsoft.com [Thu, 7 Feb 2008 17:16:22 +0000 (17:16 +0000)]
Adjust error message (Trac #2079)
simonpj@microsoft.com [Thu, 7 Feb 2008 15:51:02 +0000 (15:51 +0000)]
Redo inlining patch, plus some tidying up
This adds back in the patch
* UNDO: Be a little keener to inline
It originally broke the compiler because it tickled a Cmm optimisation bug,
now fixed.
In revisiting this I have also make inlining a bit cleverer, in response to
more examples from Roman. In particular
* CoreUnfold.CallCtxt is a data type that tells something about
the context of a call. The new feature is that if the context is
the argument position of a function call, we record both
- whether the function (or some higher up function) has rules
- what the argument discount in that position is
Either of these make functions keener to inline, even if it's
in a lazy position
* There was conseqential tidying up on the data type of CallCont.
In particular I got rid of the now-unused LetRhsFlag
simonpj@microsoft.com [Fri, 25 Jan 2008 17:42:03 +0000 (17:42 +0000)]
Comments, and a type signature
Simon Marlow [Fri, 8 Feb 2008 12:42:19 +0000 (12:42 +0000)]
FIX #2080: an optimisation to remove a widening was wrong
Simon Marlow [Fri, 8 Feb 2008 12:41:32 +0000 (12:41 +0000)]
Remove some of the old compat stuff now that we assume GHC 6.4
Simon Marlow [Thu, 7 Feb 2008 14:58:30 +0000 (14:58 +0000)]
Allow runghc to take input from stdin, just like Ruby & Python
Simon Marlow [Thu, 7 Feb 2008 14:38:05 +0000 (14:38 +0000)]
remove a bogus assertion
Ian Lynagh [Thu, 7 Feb 2008 14:47:36 +0000 (14:47 +0000)]
Convert more UniqFM's back to LazyUniqFM's
These fix these failures:
break008(ghci)
break009(ghci)
break026(ghci)
ghci.prog009(ghci)
ghci025(ghci)
print007(ghci)
prog001(ghci)
prog002(ghci)
prog003(ghci)
at least some of which have this symptom:
Exception: expectJust prune
Ian Lynagh [Tue, 5 Feb 2008 21:19:09 +0000 (21:19 +0000)]
Be a bit more consistent about what's a set and what's a map
Ian Lynagh [Thu, 7 Feb 2008 01:57:14 +0000 (01:57 +0000)]
Make some more modules use LazyUniqFM instead of UniqFM
If these modules use UniqFM then we get a stack overflow when compiling
modules that use fundeps. I haven't tracked down the actual cause.
Ian Lynagh [Thu, 7 Feb 2008 00:25:44 +0000 (00:25 +0000)]
Remove unused import
Ian Lynagh [Wed, 6 Feb 2008 14:16:20 +0000 (14:16 +0000)]
Make UniqFM strict in its elements
Ian Lynagh [Wed, 6 Feb 2008 00:00:43 +0000 (00:00 +0000)]
Use uniqSetToList rather than eltsUFM
Ian Lynagh [Tue, 5 Feb 2008 20:53:36 +0000 (20:53 +0000)]
Use isEmptyUniqSet rather than isNullUFM
Manuel M T Chakravarty [Wed, 6 Feb 2008 07:30:54 +0000 (07:30 +0000)]
Added Uninstaller
Simon Marlow [Wed, 6 Feb 2008 11:39:36 +0000 (11:39 +0000)]
FIX BUILD on x86_64
Simon Marlow [Tue, 5 Feb 2008 09:04:29 +0000 (09:04 +0000)]
matchesPkg: match against the pkg Id (foo-1.0) not just the package name (foo)
Fixes the ghcpkg01 test.
Roman Leshchinskiy [Wed, 6 Feb 2008 03:50:07 +0000 (03:50 +0000)]
Teach cheapEqExpr about casts
Previously, cheapEqExpr would always return False if it encountered a cast.
This was bad for two reasons. Firstly, CSE (which uses cheapEqExpr to compare
expressions) never eliminated expressions which contained casts and secondly,
it was inconsistent with exprIsBig. This patch fixes this.
simonpj@microsoft.com [Tue, 5 Feb 2008 16:55:07 +0000 (16:55 +0000)]
Inject implicit bindings before the simplifier (Trac #2070)
With constructor unpacking, it's possible for constructors and record
selectors to have non-trivial code, which should be optimised before
being fed to the code generator. Example:
data Foo = Foo { get :: {-# UNPACK #-} !Int }
Then we do not want to get this:
T2070.get =
\ (tpl_B1 :: T2070.Foo) ->
case tpl_B1 of tpl1_B2 { T2070.Foo rb_B4 ->
let {
ipv_B3 [Just S] :: GHC.Base.Int
[Str: DmdType m]
ipv_B3 = GHC.Base.I# rb_B4
} in ipv_B3 }
If this goes through to codegen, we'll generate bad code. Admittedly,
this only matters when the selector is used in a curried way (e.g
map get xs), but nevertheless it's silly.
This patch injects the implicit bindings in SimplCore, before the
simplifier runs. That slows the simplifier a little, because it has
to look at some extra bindings; but it's probably a slight effect.
If it turns out to matter I suppose we can always inject them later,
e.g. just before the final simplification.
An unexpected (to me) consequence is that we get some specialisation rules
for class-method selectors. E.g. we get a rule
RULE (==) Int dInt = eqInt
There's no harm in this, but not much benefit either, because the
same result will happen when we inline (==) and dInt, but it's perhaps
more direct.
simonpj@microsoft.com [Tue, 5 Feb 2008 16:48:16 +0000 (16:48 +0000)]
Make do-notation a bit more flexible (Trac #1537)
This is a second attempt to fix #1537: to make the static typechecking
of do-notation behave just like the desugared version of the same thing.
This should allow parameterised monads to work properly (see Oleg's comment
in the above ticket).
We can probably merge to 6.8.3 if it goes smoothly.
Incidentally, the resulting setup suffers from greater type ambiguity
if (>>=) has a very general type. So test rebindable6 no longer works
(at least not without more type signatures), and rebindable5 requires
extra functional dependencies. But they are weird tests.
simonpj@microsoft.com [Tue, 5 Feb 2008 16:37:02 +0000 (16:37 +0000)]
White space only
Simon Marlow [Tue, 5 Feb 2008 10:14:25 +0000 (10:14 +0000)]
FIX #2047: Windows (and older Unixes): align info tables to 4 bytes, not 2
Perhaps in the past '.align 2' meant align to 4 bytes, but nowadays it
means align to 2 bytes. The compacting collector requires info tables
to be aligned to 4 bytes, because it stores tag bits in the low 2
bits.
This only affects -fvia-C - the native code generator was already
emitting the correct alignment. The incorrect alignment might well
have been adversely affecting performance with -fvia-C on Windows.
Manuel M T Chakravarty [Tue, 5 Feb 2008 07:37:38 +0000 (07:37 +0000)]
Most of installer for framework on system volume
Manuel M T Chakravarty [Tue, 5 Feb 2008 05:25:04 +0000 (05:25 +0000)]
Split into two types of Mac installer specs
Manuel M T Chakravarty [Tue, 5 Feb 2008 05:20:17 +0000 (05:20 +0000)]
Lambda logo for packages
- This image is in the public domain, cf
http://en.wikipedia.org/wiki/Image:Greek_lc_lamda_thin.svg
Manuel M T Chakravarty [Tue, 5 Feb 2008 03:00:47 +0000 (03:00 +0000)]
xcode build target for fixed /Library/Frameworks inst
- Also moving all MacOS-specific Makefile components into
distrib/MacOS/Makefile
Manuel M T Chakravarty [Sat, 2 Feb 2008 13:48:53 +0000 (13:48 +0000)]
First stab at an installer package for the Mac
- GHC as a Mac framework
- I tried to make a package where the user could choose whether to install
in /Library/Frameworks or ~/Library/Frameworks (to allow installation for
non-admins). However, that doesn't work well without including the whole
distribution twice as the decision as to whether the admin password needs
to be entered is made at packaging time (not at install time).
Simon Marlow [Mon, 4 Feb 2008 16:10:53 +0000 (16:10 +0000)]
Support for using libffi to implement FFI calls in GHCi (#631)
This means that an unregisterised build on a platform not directly
supported by GHC can now have full FFI support using libffi.
Also in this commit:
- use PrimRep rather than CgRep to describe FFI args in the byte
code generator. No functional changes, but PrimRep is more correct.
- change TyCon.sizeofPrimRep to primRepSizeW, which is more useful
Simon Marlow [Fri, 4 Jan 2008 13:19:36 +0000 (13:19 +0000)]
Use the correct libffi type for pointers
simonpj@microsoft.com [Mon, 4 Feb 2008 16:05:14 +0000 (16:05 +0000)]
Fix DEBUG build
Ian Lynagh [Sun, 3 Feb 2008 13:43:21 +0000 (13:43 +0000)]
Make seqAlts actually seq everything
Ian Lynagh [Sun, 3 Feb 2008 02:48:36 +0000 (02:48 +0000)]
Strictness tweaks
Ian Lynagh [Sun, 3 Feb 2008 00:39:29 +0000 (00:39 +0000)]
Whitespace
Ian Lynagh [Sat, 2 Feb 2008 21:39:36 +0000 (21:39 +0000)]
Whitespace only
Ian Lynagh [Sat, 2 Feb 2008 21:35:42 +0000 (21:35 +0000)]
Tweak strictness
Ian Lynagh [Wed, 30 Jan 2008 14:40:14 +0000 (14:40 +0000)]
Fix warnings in deSugar/DsBinds
Simon Marlow [Fri, 1 Feb 2008 14:48:10 +0000 (14:48 +0000)]
UNDO: Be a little keener to inline
This patch caused at least the following test failures:
1744(normal)
ghci028(ghci)
unicode001(normal)
and additionally made the stage3 build fail.
A little more validation please!
I didn't find the exact cause of the failure yet, but it appears that
the Lexer is miscompiled in some strange way. If any of {Encoding,
StringBuffer, or Lexer} are compiled without -O, the problem goes
away.
Simon Marlow [Fri, 1 Feb 2008 12:27:53 +0000 (12:27 +0000)]
FIX BUILD with GHC 6.4.x
Simon Marlow [Fri, 1 Feb 2008 11:43:02 +0000 (11:43 +0000)]
FIX BUILD with ghc-6.4.x
Simon Marlow [Tue, 29 Jan 2008 09:11:32 +0000 (09:11 +0000)]
Some tweaks to the building from source section
Manuel M T Chakravarty [Thu, 31 Jan 2008 02:48:45 +0000 (02:48 +0000)]
Warning clean up
simonpj@microsoft.com [Tue, 29 Jan 2008 01:14:38 +0000 (01:14 +0000)]
Move spiltDmdTy within module (no change in code)
simonpj@microsoft.com [Mon, 28 Jan 2008 21:38:56 +0000 (21:38 +0000)]
Fix typo where I forgot the new substitution
simonpj@microsoft.com [Mon, 28 Jan 2008 21:34:29 +0000 (21:34 +0000)]
Add missing (error) case in isIrrefutablePat
simonpj@microsoft.com [Mon, 28 Jan 2008 21:34:09 +0000 (21:34 +0000)]
Add missing (error) case in pprConDecl
Ian Lynagh [Wed, 30 Jan 2008 11:46:40 +0000 (11:46 +0000)]
Fix warnings on non-Windows
Twan van Laarhoven [Sun, 27 Jan 2008 01:54:19 +0000 (01:54 +0000)]
Fixed warnings in main/ErrUtils
Twan van Laarhoven [Sun, 27 Jan 2008 01:41:18 +0000 (01:41 +0000)]
Fixed warnings in main/HeaderInfo, except for incomplete pattern matches
Twan van Laarhoven [Sun, 27 Jan 2008 01:24:43 +0000 (01:24 +0000)]
Fixed warnings in main/DynFlags
Twan van Laarhoven [Sun, 27 Jan 2008 00:46:26 +0000 (00:46 +0000)]
Fixed warnings in hsSyn/HsSyn
Twan van Laarhoven [Sun, 27 Jan 2008 00:45:06 +0000 (00:45 +0000)]
Fixed warnings in hsSyn/HsUtils
Twan van Laarhoven [Sun, 27 Jan 2008 00:44:19 +0000 (00:44 +0000)]
Fixed warnings in hsSyn/HsTypes
Twan van Laarhoven [Sun, 27 Jan 2008 00:43:59 +0000 (00:43 +0000)]
Fixed warnings in hsSyn/HsDoc
Twan van Laarhoven [Sun, 27 Jan 2008 00:43:30 +0000 (00:43 +0000)]
Fixed warnings in hsSyn/HsLit
Twan van Laarhoven [Sun, 27 Jan 2008 00:42:54 +0000 (00:42 +0000)]
Fixed warnings in hsSyn/HsImpExp, except for incomplete pattern matches