summaryrefslogtreecommitdiff
path: root/ghc/compiler
Commit message (Collapse)AuthorAgeFilesLines
...
* [project @ 2005-07-12 12:56:36 by simonmar]simonmar2005-07-121-2/+9
| | | | export some more bits
* [project @ 2005-07-12 11:55:17 by simonmar]simonmar2005-07-121-25/+55
| | | | | | 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).
* [project @ 2005-07-11 15:34:07 by simonmar]simonmar2005-07-111-1/+1
| | | | make_constr_itbls: 64-bit fix (size of info table was hardcoded)
* [project @ 2005-07-11 14:21:54 by simonmar]simonmar2005-07-111-1/+4
| | | | byte code info tables for x86_64 (same as i386)
* [project @ 2005-07-11 10:47:20 by simonpj]simonpj2005-07-112-4/+5
| | | | Wibbles to unifyFunTy error messages
* [project @ 2005-07-11 10:46:42 by simonpj]simonpj2005-07-112-6/+12
| | | | Improvements to speakN, define speakNOf, move plural from TcSimplify
* [project @ 2005-07-11 10:25:43 by simonmar]simonmar2005-07-111-3/+7
| | | | | | | mingw32: ignore isDoesNotExistError failure from GHC.ConsoleHandler.flushConsole Submitted-by: Brian Smith <brianlsmith at gmail.com>
* [project @ 2005-07-11 09:54:43 by simonpj]simonpj2005-07-115-45/+130
| | | | | | | | | | | | | | | | | | | | | 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
* [project @ 2005-07-11 09:48:57 by simonpj]simonpj2005-07-112-50/+65
| | | | | | | | | | | | | | | | | | | 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.
* [project @ 2005-07-11 09:48:19 by simonpj]simonpj2005-07-111-5/+15
| | | | Add speakN, and the ability to set printing depth
* [project @ 2005-07-11 09:10:58 by simonmar]simonmar2005-07-111-1/+7
| | | | | | 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.
* [project @ 2005-07-08 19:49:24 by simonpj]simonpj2005-07-081-1/+1
| | | | Revert accidental commit (merge to stable if bogus commit was merged)
* [project @ 2005-07-08 16:16:37 by simonpj]simonpj2005-07-081-3/+8
| | | | | | | | 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.
* [project @ 2005-07-08 15:05:15 by simonpj]simonpj2005-07-083-14/+35
| | | | | | | | | 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
* [project @ 2005-07-08 13:57:50 by simonmar]simonmar2005-07-081-1/+1
| | | | | genOutputFilenameFunc: fix output filename generated for non-Haskell compilations with -odir.
* [project @ 2005-07-08 11:16:00 by simonmar]simonmar2005-07-081-3/+3
| | | | Clean .hi-boot and .o-boot files too
* [project @ 2005-07-07 13:50:40 by simonmar]simonmar2005-07-071-2/+2
| | | | | | | 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.
* [project @ 2005-07-06 10:43:36 by simonmar]simonmar2005-07-061-11/+21
| | | | | | | | 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)).
* [project @ 2005-07-01 09:41:24 by simonmar]simonmar2005-07-011-1/+1
| | | | | setContextAfterLoad: include the Prelude if the top module is compiled (this broke at some point in the HEAD, 6.4 works fine).
* [project @ 2005-06-29 16:04:04 by simonpj]simonpj2005-06-291-3/+4
| | | | Vital wibble to last commit!
* [project @ 2005-06-29 15:41:27 by simonpj]simonpj2005-06-291-12/+41
| | | | | | | | | MERGE TO STABLE Fix a long-lurking renamer bug, concerning the reporting of ambiguous name occurrences. (the merge may require a little fiddling)
* [project @ 2005-06-29 08:47:21 by simonmar]simonmar2005-06-291-6/+6
| | | | Make it compile on Alpha.
* [project @ 2005-06-27 12:59:52 by simonpj]simonpj2005-06-271-8/+16
| | | | | | | | | | | | 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.
* [project @ 2005-06-27 08:54:51 by simonmar]simonmar2005-06-271-1/+1
| | | | help text wibble
* [project @ 2005-06-27 08:53:03 by simonmar]simonmar2005-06-271-6/+11
| | | | | | | | | 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).
* [project @ 2005-06-23 09:17:30 by simonmar]simonmar2005-06-231-4/+9
| | | | | | 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).
* [project @ 2005-06-22 08:25:38 by simonmar]simonmar2005-06-221-4/+10
| | | | | | 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.
* [project @ 2005-06-22 08:24:22 by simonmar]simonmar2005-06-221-10/+13
| | | | Check the result of GHC.depanal for errors.
* [project @ 2005-06-21 11:57:00 by simonmar]simonmar2005-06-214-38/+38
| | | | fix Windows build
* [project @ 2005-06-21 10:44:37 by simonmar]simonmar2005-06-2127-336/+459
| | | | | | | | | | | | | | | | | | | | | | | 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.
* [project @ 2005-06-21 10:30:41 by simonmar]simonmar2005-06-211-2/+2
| | | | we should be using PprTyThingInContext instead of PprTyThing here
* [project @ 2005-06-19 08:41:40 by krasimir]krasimir2005-06-191-0/+10
| | | | Add pprTyThingHdr function.
* [project @ 2005-06-19 08:40:50 by krasimir]krasimir2005-06-191-0/+1
| | | | Add PprTyThing to modules list
* [project @ 2005-06-16 09:45:28 by simonmar]simonmar2005-06-161-23/+2
| | | | | | | | 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.
* [project @ 2005-06-16 09:36:15 by simonmar]simonmar2005-06-161-5/+12
| | | | Fix -optdep--exclude-module (looks like this has been broken for a while)
* [project @ 2005-06-16 09:33:41 by simonmar]simonmar2005-06-161-34/+26
| | | | Fix stage1 compilation
* [project @ 2005-06-15 13:50:14 by simonmar]simonmar2005-06-151-52/+0
| | | | Undo accidental commit
* [project @ 2005-06-15 12:03:19 by simonmar]simonmar2005-06-1510-363/+430
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* [project @ 2005-06-13 14:16:03 by simonmar]simonmar2005-06-131-1/+1
| | | | fix layout in the help text
* [project @ 2005-06-13 14:12:59 by simonmar]simonmar2005-06-131-5/+117
| | | | | | | | | | 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).
* [project @ 2005-06-13 13:46:39 by simonmar]simonmar2005-06-131-1/+0
| | | | unused imports
* [project @ 2005-06-13 13:44:48 by simonmar]simonmar2005-06-131-27/+9
| | | | | - Eliminate some warnings, remove dead code - export PrintUnqualified, alwaysQualify
* [project @ 2005-06-10 13:33:48 by simonpj]simonpj2005-06-101-3/+4
| | | | tcTrace wibble
* [project @ 2005-06-10 13:33:27 by simonpj]simonpj2005-06-101-4/+5
| | | | Comments only
* [project @ 2005-06-09 16:08:16 by wolfgang]wolfgang2005-06-091-1/+1
| | | | | | | | | 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
* [project @ 2005-06-09 05:55:40 by wolfgang]wolfgang2005-06-094-19/+111
| | | | | | | | 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.
* [project @ 2005-06-07 09:55:03 by simonmar]simonmar2005-06-071-1/+1
| | | | -ddump-hi-diffs shouldn't turn off recompilation checking
* [project @ 2005-06-06 13:19:41 by simonmar]simonmar2005-06-061-1/+1
| | | | Hopefully fix more compilation problems with various versions of GHC
* [project @ 2005-06-06 09:10:41 by simonmar]simonmar2005-06-061-0/+5
| | | | Make this build with GHC < 6.03 again
* [project @ 2005-06-03 09:56:38 by simonmar]simonmar2005-06-031-14/+7
| | | | | Profiling doesn't require -fvia-C any more. Also, I optimistically removed -fvia-C from all the other ways except unreg.