Simon Marlow [Thu, 18 Sep 2008 11:28:56 +0000 (11:28 +0000)]
Fix MacOS X build: don't believe __GNUC_GNU_INLINE__ on MacOS X
Simon Marlow [Thu, 18 Sep 2008 11:28:12 +0000 (11:28 +0000)]
require Alex version 2.1.0
Having 2.0.1 causes some unicode tests to fail
Manuel M T Chakravarty [Thu, 18 Sep 2008 10:09:34 +0000 (10:09 +0000)]
Type families: fixes in the new solver
Tim Chevalier [Thu, 18 Sep 2008 09:03:49 +0000 (09:03 +0000)]
ext-core library: Parser fixes; make it build with the HEAD
In the ext-core parser I guess I never tested:
* existential type variable bindings in case alts
* empty data declarations
That'll learn me!
Ian Lynagh [Wed, 17 Sep 2008 21:08:13 +0000 (21:08 +0000)]
Wibble ghc-pkg imports to fix building on Windows
Ian Lynagh [Wed, 17 Sep 2008 19:21:55 +0000 (19:21 +0000)]
ghc-pkg needs to make package.conf with sensible permissions
It was calling openTempFile which uses a 600 permissions mask.
Thomas Schilling [Wed, 17 Sep 2008 10:29:25 +0000 (10:29 +0000)]
Change 'loadWithCompiler' callback argument to just print warnings.
Rename function accordingly.
The callback wasn't very flexible to begin with. There's pretty much
no way around to calling 'compile' inside that callback since
'upsweep' depends on certain side effects of compile. It therefore
makes more sense to restrict the callback to its intended use only,
namely to log warnings and errors.
Simon Marlow [Wed, 17 Sep 2008 08:59:17 +0000 (08:59 +0000)]
Fix: GhcStage2HcOpts were being added to stage 3 too
Manuel M T Chakravarty [Wed, 17 Sep 2008 06:25:48 +0000 (06:25 +0000)]
Type families: unify with family apps in checking mode
Manuel M T Chakravarty [Tue, 16 Sep 2008 15:12:54 +0000 (15:12 +0000)]
Type families: bug fixes
Manuel M T Chakravarty [Tue, 16 Sep 2008 07:57:00 +0000 (07:57 +0000)]
Keep sysnonyms folded in equalities if possible
Manuel M T Chakravarty [Tue, 16 Sep 2008 05:51:36 +0000 (05:51 +0000)]
Type families: apply flattening coercions in the right order
Manuel M T Chakravarty [Mon, 15 Sep 2008 03:14:23 +0000 (03:14 +0000)]
TcTyFuns: tidy warning
Manuel M T Chakravarty [Mon, 15 Sep 2008 03:01:18 +0000 (03:01 +0000)]
Signature for Inst.isValidWantedEqInst
Manuel M T Chakravarty [Sun, 14 Sep 2008 16:36:39 +0000 (16:36 +0000)]
Remember if RewriteInst is swapped & bug fixes
Manuel M T Chakravarty [Sun, 14 Sep 2008 12:06:38 +0000 (12:06 +0000)]
Type families: fixed all non-termination in the testsuite
Manuel M T Chakravarty [Sat, 13 Sep 2008 13:36:31 +0000 (13:36 +0000)]
Type families: completed the new equality solver
- Implements normalisation of class constraints containing synonym family
applications or skolems refined by local equalities.
- Clean up of TcSimplify.reduceContext by using the new equality solver.
- Removed all the now unused code of the old algorithm.
- This completes the implementation of the new algorithm, but it is largely
untested => many regressions.
Ian Lynagh [Tue, 16 Sep 2008 22:00:57 +0000 (22:00 +0000)]
Use the new -optdep flag replacements when building with >= GHC 6.9
Fix building the HEAD with itself
Ian Lynagh [Mon, 15 Sep 2008 10:02:17 +0000 (10:02 +0000)]
Use "exec" when running ghc in the wrapper
Ian Lynagh [Sun, 14 Sep 2008 15:35:07 +0000 (15:35 +0000)]
Add "#!/bin/sh" to runghc.wrapper
Ian Lynagh [Sun, 14 Sep 2008 15:33:44 +0000 (15:33 +0000)]
Add a "#!/bin/sh" to ghc.wrapper
andygill@ku.edu [Tue, 16 Sep 2008 17:23:13 +0000 (17:23 +0000)]
Fixing directory creation to not create "" directories inside hpc report (harmless but needless)
andygill@ku.edu [Tue, 16 Sep 2008 03:05:21 +0000 (03:05 +0000)]
Fix Trac #2052 Allowing hpc to understand hsc files.
andygill@ku.edu [Mon, 15 Sep 2008 20:43:22 +0000 (20:43 +0000)]
Fix Trac #2311: creates subdirs for package coverage information
Simon Marlow [Tue, 16 Sep 2008 13:22:22 +0000 (13:22 +0000)]
FIX #2469: sort out our static/extern inline story
gcc has changed the meaning of "extern inline" when certain flags are
on (e.g. --std=gnu99), and this broke our use of it in the header
files.
Simon Marlow [Tue, 16 Sep 2008 13:09:22 +0000 (13:09 +0000)]
Fix a warning
Simon Marlow [Mon, 15 Sep 2008 14:59:24 +0000 (14:59 +0000)]
Stop using mremap() to allocate space for trampolines
This was causing problems because sometimes mremap() moved the memory
we had allocated from the low 2Gb to above the 2Gb boundary, causing
some linkages to fail. There's no MAP_32BIT flag to mremap().
So now we just use mmap(MAP_ANON|MAP_32BIT) to allocated space for the
trampolines. People without MAP_32BIT (eg. *BSD) will still have to
do something else here, such as allocating memory from a fixed
address; so I've made it slightly easier for those guys, but there's
still work to do (#2063).
One solution (that Simon PJ is advocating) is to turn on -fPIC by
default on x86-64. This is a good solution as it removes the need for
MAP_32BIT, but doesn't work with -fvia-C, so probably this is for
later.
Simon Marlow [Fri, 12 Sep 2008 15:55:49 +0000 (15:55 +0000)]
add $(GhcStage[123]HcOpts)
Roman Leshchinskiy [Tue, 16 Sep 2008 03:47:46 +0000 (03:47 +0000)]
Improve handling of -fdph-* flags
Roman Leshchinskiy [Tue, 16 Sep 2008 03:37:10 +0000 (03:37 +0000)]
Add -fdph-this
Roman Leshchinskiy [Tue, 16 Sep 2008 03:34:28 +0000 (03:34 +0000)]
Remove last traces of package ndp
Roman Leshchinskiy [Tue, 16 Sep 2008 01:32:36 +0000 (01:32 +0000)]
Clean up vectorisation error messages
Roman Leshchinskiy [Mon, 15 Sep 2008 04:28:23 +0000 (04:28 +0000)]
Fix vectoriser bug
We were using mkWildId in situations where it cause disastrous shadowing
Roman Leshchinskiy [Fri, 12 Sep 2008 11:40:28 +0000 (11:40 +0000)]
Track changes to dph
Roman Leshchinskiy [Fri, 12 Sep 2008 01:56:09 +0000 (01:56 +0000)]
Change desugaring of PArr literals
Roman Leshchinskiy [Fri, 12 Sep 2008 00:44:03 +0000 (00:44 +0000)]
Expose the dph packages automatically if -dph-* is set
Roman Leshchinskiy [Thu, 11 Sep 2008 05:43:33 +0000 (05:43 +0000)]
Don't panic on non-vectorisable expressions
Roman Leshchinskiy [Wed, 10 Sep 2008 04:53:39 +0000 (04:53 +0000)]
-Odph implies -fno-spec-constr-count
simonpj@microsoft.com [Mon, 15 Sep 2008 15:49:08 +0000 (15:49 +0000)]
Improve warning for SpecConstr
simonpj@microsoft.com [Mon, 15 Sep 2008 15:48:41 +0000 (15:48 +0000)]
White space only
simonpj@microsoft.com [Mon, 15 Sep 2008 07:29:46 +0000 (07:29 +0000)]
Minor refactoring to get rid of Type.splitNewTyConApp
simonpj@microsoft.com [Mon, 15 Sep 2008 15:06:01 +0000 (15:06 +0000)]
Refactor the desugaring of RULE lhss a bit
This is just a tidy-up. Previously we were calling occurAnalyse
twice on each LHS which was silly and a bit unclean too.
This patch should have no overall effect, though.
simonpj@microsoft.com [Mon, 15 Sep 2008 15:04:33 +0000 (15:04 +0000)]
Do not use the Static Arg Transformation by default with -O2
Max has some more heuristics to add, and is meanwhile worried
that having SAT on by default will make some highly-tuned array
programs worse. So it's off by default.
Use -fstatic-argument-transformation to switch it on.
simonpj@microsoft.com [Sun, 14 Sep 2008 11:46:41 +0000 (11:46 +0000)]
Comments, and a couple of asserts, only
simonpj@microsoft.com [Sun, 14 Sep 2008 11:34:34 +0000 (11:34 +0000)]
Fix Trac #2587: take account of type lets
GHC allows a non-recursive let for type varaibles
let a = TYPE ty in ...
But the free-variable finder had not caught up with this
fact. This patch catches up.
simonpj@microsoft.com [Sun, 14 Sep 2008 11:33:24 +0000 (11:33 +0000)]
Don't try to float type-lets
A type let shouldn't really occur in SetLevels, but if it does,
this patch makes sure it is left alone.
Ross Paterson [Mon, 15 Sep 2008 10:47:57 +0000 (10:47 +0000)]
add refs and fix a bug (noted by Peter Gammie) in docs of arrow notation
Thomas Schilling [Mon, 15 Sep 2008 08:57:38 +0000 (08:57 +0000)]
Generalise type of 'withExtendedLinkEnv'.
Thomas Schilling [Mon, 15 Sep 2008 08:56:33 +0000 (08:56 +0000)]
Use 'GhcMonad' in ghci/InteractiveUI.
Thomas Schilling [Mon, 15 Sep 2008 08:49:22 +0000 (08:49 +0000)]
Use 'GhcMonad' in ghci/GhciTags.
Thomas Schilling [Mon, 15 Sep 2008 08:47:38 +0000 (08:47 +0000)]
Use 'GhcMonad' in ghci/Debugger.
Thomas Schilling [Mon, 15 Sep 2008 08:46:46 +0000 (08:46 +0000)]
Use 'GhcMonad' in ghci/GhciMonad.
Thomas Schilling [Sun, 14 Sep 2008 23:29:57 +0000 (23:29 +0000)]
Use 'GhcMonad' in ghc/Main.
Thomas Schilling [Sun, 14 Sep 2008 23:26:42 +0000 (23:26 +0000)]
Require PatternSignatures for bootstrapping compiler.
Thomas Schilling [Sun, 14 Sep 2008 23:24:54 +0000 (23:24 +0000)]
Use 'GhcMonad' in InteractiveEval.
Thomas Schilling [Sun, 14 Sep 2008 23:20:44 +0000 (23:20 +0000)]
Use 'GhcMonad' in GHC and split up checkModule into phases.
I'm not sure I covered all the ways of throwing errors in the code.
Some functions throw ProgramErrors, some error messages. It's still
quite a mess, but we're getting closer. The missing cases are mostly
errors that cannot be fixed by the API client either or are a result
of wrong usage, so are in any case fatal.
One function, 'getModuleInfo', still returns a 'Maybe', but the
documentation suggests it should always succeed. So I may change that
soon.
The spit-up of of 'checkModule' has pros and cons. The various forms
of 'checkModule*' now become:
checkAndLoadModule ms False ~~>
loadModule =<< typecheckModule =<< parseModule (ms_mod_name ms)
checkAndLoadModule ms True ~~>
loadModule =<< desugarModule =<< typecheckModule =<< parseModule (ms_mod_name ms)
checkModule mn False ~~>
typecheckModule =<< parseModule mn
checkModule mn True ~~>
desugarModule =<< typecheckModule =<< parseModule mn
The old APIs cannot easily be provided, since the result type would be
different depending on the second argument. However, a more
convenient API can be modelled on top of these four functions
({parse,typecheck,desugar,load}Module).
Thomas Schilling [Sun, 14 Sep 2008 22:06:28 +0000 (22:06 +0000)]
Use 'GhcMonad' in DriverPipeline. Also haddockify a bit while we're at it.
Thomas Schilling [Sun, 14 Sep 2008 21:36:55 +0000 (21:36 +0000)]
Use 'GhcMonad' in HscMain.
Thomas Schilling [Sun, 14 Sep 2008 21:21:13 +0000 (21:21 +0000)]
Use 'GhcMonad' in DriverMkDepend.
Thomas Schilling [Sun, 14 Sep 2008 21:17:18 +0000 (21:17 +0000)]
Haddockify DynFlags (partial).
Thomas Schilling [Sun, 14 Sep 2008 21:00:16 +0000 (21:00 +0000)]
Haddockify 'IE'.
Thomas Schilling [Sun, 14 Sep 2008 20:58:11 +0000 (20:58 +0000)]
Provide accessors for 'ImportDecl'.
Thomas Schilling [Sun, 14 Sep 2008 20:56:29 +0000 (20:56 +0000)]
Start haddockifying 'HsBindLR'.
Thomas Schilling [Sun, 14 Sep 2008 20:53:16 +0000 (20:53 +0000)]
Document 'parseStaticFlags'.
Thomas Schilling [Sun, 14 Sep 2008 20:49:30 +0000 (20:49 +0000)]
Introduce 'GhcMonad' class and two default implementations 'Ghc' and 'GhcT'.
This monad will be required by most public API calls.
Thomas Schilling [Sun, 14 Sep 2008 17:39:04 +0000 (17:39 +0000)]
Give the "Failing due to -Werror" message a name.
Thomas Schilling [Sun, 14 Sep 2008 17:32:28 +0000 (17:32 +0000)]
Make typechecker top-level functions also return messages instead of
printing them.
Thomas Schilling [Sun, 14 Sep 2008 17:27:11 +0000 (17:27 +0000)]
Reflect changes of desugarer error reporting in VectMonad.
Thomas Schilling [Sun, 14 Sep 2008 17:24:04 +0000 (17:24 +0000)]
Generalise 'handleGhcException' to work with any 'ExceptionMonad'.
Thomas Schilling [Sun, 14 Sep 2008 17:21:54 +0000 (17:21 +0000)]
Introduce an 'ExceptionMonad' class.
This monad provides variants of 'catch', 'bracket', and 'finally', so
exceptions can be handled in monads that wrap IO. The latter two
methods need to be part of the class definition, because GHC uses
'block' and 'unblock' which are used in the definition of those two
methods for the IO monad. A perhaps better class interface would
consist of 'gcatch', 'gblock', and 'gunblock' and let the latter two
default to 'id' like is done for non-GHC implementations of 'bracket'
and 'finally'.
Thomas Schilling [Sun, 14 Sep 2008 16:42:45 +0000 (16:42 +0000)]
Provide default MonadIO instance for IO.
Thomas Schilling [Sun, 14 Sep 2008 16:36:41 +0000 (16:36 +0000)]
Return instead of print warnings and errors in desugarer.
Thomas Schilling [Sun, 14 Sep 2008 16:26:44 +0000 (16:26 +0000)]
Return parser errors and warnings instead of dying.
Thomas Schilling [Sun, 14 Sep 2008 16:03:37 +0000 (16:03 +0000)]
Add aliases for bags of warnings and errors.
Tim Chevalier [Mon, 15 Sep 2008 08:06:50 +0000 (08:06 +0000)]
Slightly more helpful panic message in DynFlags
Tim Chevalier [Sun, 14 Sep 2008 20:36:45 +0000 (20:36 +0000)]
Comments only: ".core" => ".hcr"
Ian Lynagh [Sat, 13 Sep 2008 15:31:42 +0000 (15:31 +0000)]
We need to tell ghc-pkg to --force if we've only built a profiling library
Ian Lynagh [Sat, 13 Sep 2008 14:48:20 +0000 (14:48 +0000)]
If we're profiling GHC, don't bother building the GHC package the vanilla way
Ian Lynagh [Sat, 13 Sep 2008 14:44:13 +0000 (14:44 +0000)]
Remove the duplicate show rule in libraries/Makefile
Ian Lynagh [Sat, 13 Sep 2008 14:13:12 +0000 (14:13 +0000)]
Move the "show" target from target.mk to boilerplate.mk
target.mk isn't included everywhere, but show is always handy
Ian Lynagh [Sat, 13 Sep 2008 10:46:58 +0000 (10:46 +0000)]
Change how we detect if we are using the bootstrapping compiler or not
I think looking for $(GHC_COMPILER_DIR_ABS) was failing on the Windows
buildbot due to different path separators. Now we just look for
"inplace".
Ian Lynagh [Fri, 12 Sep 2008 13:59:32 +0000 (13:59 +0000)]
wibble the distrib Makefile
We now need to install driver after ghc
Ian Lynagh [Fri, 12 Sep 2008 11:36:19 +0000 (11:36 +0000)]
Reinstate the driver/ghc directory, to create a versioned GHC program
e.g. $(bindir)/ghc-6.9.
20080911
Ian Lynagh [Fri, 12 Sep 2008 11:03:16 +0000 (11:03 +0000)]
If USE_NEW_MKDEPEND_FLAGS is YES then don't use the deprecated -optdep flags
Ian Lynagh [Fri, 12 Sep 2008 01:28:55 +0000 (01:28 +0000)]
Use --force-local when calling tar in bindisttest/
Otherwise it thinks that c:/foo is a remote file
Simon Marlow [Fri, 12 Sep 2008 13:04:04 +0000 (13:04 +0000)]
Fix #2586, bug in THUNK_SELECTORs (again)
This time, we had forgetten the write barrier in one place.
Simon Marlow [Fri, 12 Sep 2008 11:25:44 +0000 (11:25 +0000)]
Fix crash in biographical heap profiling (#2576)
Simon Marlow [Fri, 12 Sep 2008 11:06:43 +0000 (11:06 +0000)]
Fix retainer profiling (#2576)
Simon Marlow [Fri, 12 Sep 2008 10:01:40 +0000 (10:01 +0000)]
Fix some bugs in the stack-reducing code (#2571)
Tim Chevalier [Fri, 12 Sep 2008 04:41:47 +0000 (04:41 +0000)]
ext-core library: Add dead code eliminator for Core
Added code for dead code elimination to the ext-core library. This can be used in concert with Language.Core.Merge to produce a single self-contained module without unnecessary cruft.
Tim Chevalier [Fri, 12 Sep 2008 03:45:15 +0000 (03:45 +0000)]
ext-core library: expose some more modules
Tim Chevalier [Fri, 12 Sep 2008 03:33:47 +0000 (03:33 +0000)]
ext-core library: Change syntax for primitive coercions
Changed the ext-core syntax to include primitive coercions (left, right, sym, trans, etc.) as syntax rather than referring them to their names as in GHC. (I hope I updated the docs to reflect this...)
Tim Chevalier [Fri, 12 Sep 2008 03:22:19 +0000 (03:22 +0000)]
ext-core library: Export a lot more things from Prims
See comments for details.
Tim Chevalier [Fri, 12 Sep 2008 03:14:52 +0000 (03:14 +0000)]
ext-core library: Extend Core preprocessor
See comments for details.
Tim Chevalier [Fri, 12 Sep 2008 02:56:15 +0000 (02:56 +0000)]
ext-core library: Export a bunch more stuff from the parser
Tim Chevalier [Fri, 12 Sep 2008 02:53:14 +0000 (02:53 +0000)]
ext-core library: Fix performance bug
isUtupleTy was implemented inefficiently (and is called a lot by the typechecker). Replaced with uglier but faster code.
Tim Chevalier [Fri, 12 Sep 2008 02:38:42 +0000 (02:38 +0000)]
ext-core library: Remove some cruft
Tim Chevalier [Fri, 12 Sep 2008 02:15:35 +0000 (02:15 +0000)]
ext-core library: Add code for merging multiple Core modules into a single module
I added a new module, Merge, to the ext-core library that combines a list of ext-core modules into a new, uniquely renamed module.
See comments in Merge.hs for more details.
Ian Lynagh [Thu, 11 Sep 2008 15:38:27 +0000 (15:38 +0000)]
Use OSThreadProcAttr for workerStart
Ian Lynagh [Thu, 11 Sep 2008 14:05:19 +0000 (14:05 +0000)]
Include docs in the bindists