| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
export some more bits
|
|
|
|
|
|
| |
Use stgMallocBytesRWX for allocating info tables, since the memory
needs to be executable (not sure how this is working on OpenBSD right
now, but it definitely breaks on x86_64/Linux).
|
|
|
|
| |
make_constr_itbls: 64-bit fix (size of info table was hardcoded)
|
|
|
|
| |
byte code info tables for x86_64 (same as i386)
|
|
|
|
| |
Wibbles to unifyFunTy error messages
|
|
|
|
| |
Improvements to speakN, define speakNOf, move plural from TcSimplify
|
|
|
|
|
|
|
| |
mingw32: ignore isDoesNotExistError failure from
GHC.ConsoleHandler.flushConsole
Submitted-by: Brian Smith <brianlsmith at gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Improve the error message from unifyFunTys. Previously we got a really
horrible message from this:
t = ((\Just x -> x) :: Maybe a -> a) (Just 1)
Try.hs:1:6:
Couldn't match the rigid variable `a' against `t -> t1'
Expected type: a
Inferred type: t -> t1
Now it's much better:
Try.hs:14:6:
The lambda expression `\ Just x -> ...' has two arguments,
but its type `Maybe a -> a' has only one
In the expression: (\ Just x -> x) :: Maybe a -> a
tcfail140 tests some cases
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix a bug in the renamer for parallel list comprehensions
MERGE TO STABLE
It's surprinsingly tricky to combine
a) The parallel scopes for par-list-comps
with
b) The general form of the renamer types, whereby
scoped constructs work like
rnPat :: Pat -> RnM (thing,FreeVars)
-> RnM ((Pat,thing), FreeVars)
This general shape neatly allows rnPat to
extend the envt, report unused variables from
the 'thing' inside, and return the correct set
of free variables
But combining (a) and (b) is tricky, and was plain wrong before.
|
|
|
|
| |
Add speakN, and the ability to set printing depth
|
|
|
|
|
|
| |
x86_64: Pass -fno-asynchronous-unwind-tables to gcc, which eliminates
some unnecessary junk from the via-C generated code and allows
-split-objs to work.
|
|
|
|
| |
Revert accidental commit (merge to stable if bogus commit was merged)
|
|
|
|
|
|
|
|
| |
MERGE TO STABLE (once I"ve checked it works)
The dictionary-floating code in Specialise wasn't taking
variables free in the RULES into account, which resulted in
such variables perhaps going out of scope.
|
|
|
|
|
|
|
|
|
| |
MERGE TO STABLE
Add a check for Haskell-98 mode, to check that there is no type
synonym in an instance declaration.
tcfail139 tests this case
|
|
|
|
|
| |
genOutputFilenameFunc: fix output filename generated for non-Haskell
compilations with -odir.
|
|
|
|
| |
Clean .hi-boot and .o-boot files too
|
|
|
|
|
|
|
| |
small performance fix: in via-C mode we previously always created a
switch instead of an conditional-tree for a multi-branch case. Refine
this slightly so that 2-branch switches turn into conditionals again,
since gcc doesn't do a good job of optimising the equivalent switch.
|
|
|
|
|
|
|
|
| |
ghc -e should exit(1) if the statement fails to compile.
Fixes #1233146 (this was already partially fixed, in that ghc -e would
exit(1) if the modules fail to compile, but if the expression itself
was invalid it would still exit(0)).
|
|
|
|
|
| |
setContextAfterLoad: include the Prelude if the top module is compiled
(this broke at some point in the HEAD, 6.4 works fine).
|
|
|
|
| |
Vital wibble to last commit!
|
|
|
|
|
|
|
|
|
| |
MERGE TO STABLE
Fix a long-lurking renamer bug, concerning the reporting of ambiguous
name occurrences.
(the merge may require a little fiddling)
|
|
|
|
| |
Make it compile on Alpha.
|
|
|
|
|
|
|
|
|
|
|
|
| |
MERGE TO STABLE
Fix a typechecker bug, which made the typechecker loop under certain
circumstances, notably when we have
type Foo a = a
and try to unify
b :=: Foo b
typecheck/should_compile/tc195 tests this case now.
|
|
|
|
| |
help text wibble
|
|
|
|
|
|
|
|
|
| |
Rename :tags to :etags and :ctags. The problem was that :tags
prevented the common abbreviation of :type, namely :t.
Also, :etags and :ctags match the *nix commands of the same name, and
this way makes it easier for them to take an optional filename
argument (which they now do).
|
|
|
|
|
|
| |
Add a 'U' suffix to all integer literals to make them explicitly
unsigned. This avoids some warnings from gcc, but I don't think it
fixes any actual bugs (I could be wrong, though).
|
|
|
|
|
|
| |
pkgIdMap should include adjustments made by -package flags (it used
to; I broke this yesterday). Also add origPkgIdMap for keeping the
original package database - this might be needed in the future.
|
|
|
|
| |
Check the result of GHC.depanal for errors.
|
|
|
|
| |
fix Windows build
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Relax the restrictions on conflicting packages. This should address
many of the traps that people have been falling into with the current
package story.
Now, a local module can shadow a module in an exposed package, as long
as the package is not otherwise required by the program. GHC checks
for conflicts when it knows the dependencies of the module being
compiled.
Also, we now check for module conflicts in exposed packages only when
importing a module: if an import can be satisfied from multiple
packages, that's an error. It's not possible to prevent GHC from
starting by installing packages now (unless you install another base
package).
It seems to be possible to confuse GHCi by having a local module
shadowing a package module that goes away and comes back again. I
think it's nearly right, but strange happenings have been observed.
I'll try to merge this into the STABLE branch.
|
|
|
|
| |
we should be using PprTyThingInContext instead of PprTyThing here
|
|
|
|
| |
Add pprTyThingHdr function.
|
|
|
|
| |
Add PprTyThing to modules list
|
|
|
|
|
|
|
|
| |
Move the boilerplate Makefile code for using libghccompat.a into a
shared .mk file, lib/compat/compat.mk. libghccompat.a is really a
poor-mans package, but to make it a real package would mean dealing
with variationg in the package support of different GHC versions, so
this is easier for now.
|
|
|
|
| |
Fix -optdep--exclude-module (looks like this has been broken for a while)
|
|
|
|
| |
Fix stage1 compilation
|
|
|
|
| |
Undo accidental commit
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Re-implement GHCi's :info and :browse commands in terms of TyThings
rather than IfaceSyn.
The GHC API now exposes its internal types for Haskell entities:
TyCons, Classes, DataCons, Ids and Instances (collectively known as
TyThings), so we can inspect these directly to pretty-print
information about an entity. Previously the internal representations
were converted to IfaceSyn for passing to InteractiveUI, but we can
now remove that code.
Some of the new code comes via Visual Haskell, but I've changed it
around a lot to fix various dark corners and properly print things
like GADTs.
The pretty-printing interfaces for TyThings are exposed by a new
module PprTyThing, which is implemented purely in terms of the GHC API
(and is probably a good source of sample code). Visual Haskell should
be able to use the functions exported by this module directly.
Lots of new goodies are exported by the GHC module, mainly for
inspecting TyThings.
|
|
|
|
| |
fix layout in the help text
|
|
|
|
|
|
|
|
|
|
| |
Implement :tags command
Patch supplied by Claus Reinke, with some modifications by me.
Ideally we'd like this to be a command line option too, and we'd like
to drop the restriction that all the source files must be interpreted,
but that needs some work elsewhere (interface files have to store
definition source locations).
|
|
|
|
| |
unused imports
|
|
|
|
|
| |
- Eliminate some warnings, remove dead code
- export PrintUnqualified, alwaysQualify
|
|
|
|
| |
tcTrace wibble
|
|
|
|
| |
Comments only
|
|
|
|
|
|
|
|
|
| |
Fix a typo: powerpc32_TARGET_OS -> powerpc64_TARGET_OS
This didn't do any actual damage, because powerpc64 is not yet supported
by the NCG and powerpc32 is called just 'powerpc'.
MERGE TO STABLE
|
|
|
|
|
|
|
|
| |
Registerised support for Darwin/x86, both NCG and mangled.
*) -fPIC doesn't work yet with -fvia-C.
*) Apple officially requires the stack to be 16-byte-aligned,
GHC ignores this for now.
|
|
|
|
| |
-ddump-hi-diffs shouldn't turn off recompilation checking
|
|
|
|
| |
Hopefully fix more compilation problems with various versions of GHC
|
|
|
|
| |
Make this build with GHC < 6.03 again
|
|
|
|
|
| |
Profiling doesn't require -fvia-C any more. Also, I optimistically
removed -fvia-C from all the other ways except unreg.
|