ghc-hetmet.git
18 years ago[project @ 2005-07-09 14:44:06 by panne]
panne [Sat, 9 Jul 2005 14:44:06 +0000 (14:44 +0000)]
[project @ 2005-07-09 14:44:06 by panne]
Fixed & simplified previous commit.

18 years ago[project @ 2005-07-09 14:35:51 by panne]
panne [Sat, 9 Jul 2005 14:35:51 +0000 (14:35 +0000)]
[project @ 2005-07-09 14:35:51 by panne]
Silence the error message when ld doesn't understand the -x option.

18 years ago[project @ 2005-07-09 14:33:01 by panne]
panne [Sat, 9 Jul 2005 14:33:01 +0000 (14:33 +0000)]
[project @ 2005-07-09 14:33:01 by panne]
Solaris' sed obviously doesn't like nested \(\), so do the gcc version
detection magic in two steps instead of one.

18 years ago[project @ 2005-07-09 00:13:14 by igloo]
igloo [Sat, 9 Jul 2005 00:13:14 +0000 (00:13 +0000)]
[project @ 2005-07-09 00:13:14 by igloo]
Fix building on IA64.

Please merge to stable.

18 years ago[project @ 2005-07-08 19:49:24 by simonpj]
simonpj [Fri, 8 Jul 2005 19:49:24 +0000 (19:49 +0000)]
[project @ 2005-07-08 19:49:24 by simonpj]
Revert accidental commit (merge to stable if bogus commit was merged)

18 years ago[project @ 2005-07-08 16:16:37 by simonpj]
simonpj [Fri, 8 Jul 2005 16:16:37 +0000 (16:16 +0000)]
[project @ 2005-07-08 16:16:37 by simonpj]
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.

18 years ago[project @ 2005-07-08 15:05:15 by simonpj]
simonpj [Fri, 8 Jul 2005 15:05:16 +0000 (15:05 +0000)]
[project @ 2005-07-08 15:05:15 by simonpj]
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

18 years ago[project @ 2005-07-08 13:57:50 by simonmar]
simonmar [Fri, 8 Jul 2005 13:57:50 +0000 (13:57 +0000)]
[project @ 2005-07-08 13:57:50 by simonmar]
genOutputFilenameFunc: fix output filename generated for non-Haskell
compilations with -odir.

18 years ago[project @ 2005-07-08 11:16:00 by simonmar]
simonmar [Fri, 8 Jul 2005 11:16:00 +0000 (11:16 +0000)]
[project @ 2005-07-08 11:16:00 by simonmar]
Clean .hi-boot and .o-boot files too

18 years ago[project @ 2005-07-07 13:50:40 by simonmar]
simonmar [Thu, 7 Jul 2005 13:50:40 +0000 (13:50 +0000)]
[project @ 2005-07-07 13:50:40 by simonmar]
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.

18 years ago[project @ 2005-07-06 11:31:53 by panne]
panne [Wed, 6 Jul 2005 11:31:53 +0000 (11:31 +0000)]
[project @ 2005-07-06 11:31:53 by panne]
DocBook validation police

18 years ago[project @ 2005-07-06 10:43:36 by simonmar]
simonmar [Wed, 6 Jul 2005 10:43:36 +0000 (10:43 +0000)]
[project @ 2005-07-06 10:43:36 by simonmar]
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)).

18 years ago[project @ 2005-07-05 04:55:30 by dons]
dons [Tue, 5 Jul 2005 04:55:30 +0000 (04:55 +0000)]
[project @ 2005-07-05 04:55:30 by dons]
Fix ffi on OpenBSD by dynamically allocating the obscure_ccall_ret_code.
Also merge in SimonM's wrapper over inline asm patch.

18 years ago[project @ 2005-07-01 09:41:24 by simonmar]
simonmar [Fri, 1 Jul 2005 09:41:24 +0000 (09:41 +0000)]
[project @ 2005-07-01 09:41:24 by simonmar]
setContextAfterLoad: include the Prelude if the top module is compiled
(this broke at some point in the HEAD, 6.4 works fine).

18 years ago[project @ 2005-06-29 16:04:04 by simonpj]
simonpj [Wed, 29 Jun 2005 16:04:04 +0000 (16:04 +0000)]
[project @ 2005-06-29 16:04:04 by simonpj]
Vital wibble to last commit!

18 years ago[project @ 2005-06-29 15:41:27 by simonpj]
simonpj [Wed, 29 Jun 2005 15:41:27 +0000 (15:41 +0000)]
[project @ 2005-06-29 15:41:27 by simonpj]
MERGE TO STABLE

Fix a long-lurking renamer bug, concerning the reporting of ambiguous
name occurrences.

(the merge may require a little fiddling)

18 years ago[project @ 2005-06-29 08:47:21 by simonmar]
simonmar [Wed, 29 Jun 2005 08:47:21 +0000 (08:47 +0000)]
[project @ 2005-06-29 08:47:21 by simonmar]
Make it compile on Alpha.

18 years ago[project @ 2005-06-28 13:44:28 by simonmar]
simonmar [Tue, 28 Jun 2005 13:44:28 +0000 (13:44 +0000)]
[project @ 2005-06-28 13:44:28 by simonmar]
Add a comment that grabbing all the capabilities before GC causes the
thread->capability hash table to acquire multiple entries for the
current thread, which seems to be harmless.

18 years ago[project @ 2005-06-28 13:43:41 by simonmar]
simonmar [Tue, 28 Jun 2005 13:43:41 +0000 (13:43 +0000)]
[project @ 2005-06-28 13:43:41 by simonmar]
Disable the assertion that checks for multiple entries with the same
key in the hash table.  It's useful to be able to do this sometimes.

18 years ago[project @ 2005-06-27 12:59:52 by simonpj]
simonpj [Mon, 27 Jun 2005 12:59:52 +0000 (12:59 +0000)]
[project @ 2005-06-27 12:59:52 by simonpj]
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.

18 years ago[project @ 2005-06-27 09:17:35 by simonmar]
simonmar [Mon, 27 Jun 2005 09:17:35 +0000 (09:17 +0000)]
[project @ 2005-06-27 09:17:35 by simonmar]
Update docs for :ctags, :etags.

18 years ago[project @ 2005-06-27 08:54:51 by simonmar]
simonmar [Mon, 27 Jun 2005 08:54:51 +0000 (08:54 +0000)]
[project @ 2005-06-27 08:54:51 by simonmar]
help text wibble

18 years ago[project @ 2005-06-27 08:53:03 by simonmar]
simonmar [Mon, 27 Jun 2005 08:53:03 +0000 (08:53 +0000)]
[project @ 2005-06-27 08:53:03 by simonmar]
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).

18 years ago[project @ 2005-06-23 09:17:30 by simonmar]
simonmar [Thu, 23 Jun 2005 09:17:30 +0000 (09:17 +0000)]
[project @ 2005-06-23 09:17:30 by simonmar]
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).

18 years ago[project @ 2005-06-22 08:25:38 by simonmar]
simonmar [Wed, 22 Jun 2005 08:25:38 +0000 (08:25 +0000)]
[project @ 2005-06-22 08:25:38 by simonmar]
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.

18 years ago[project @ 2005-06-22 08:24:22 by simonmar]
simonmar [Wed, 22 Jun 2005 08:24:22 +0000 (08:24 +0000)]
[project @ 2005-06-22 08:24:22 by simonmar]
Check the result of GHC.depanal for errors.

18 years ago[project @ 2005-06-21 15:11:38 by ross]
ross [Tue, 21 Jun 2005 15:11:40 +0000 (15:11 +0000)]
[project @ 2005-06-21 15:11:38 by ross]
split Distribution.Extension between Language.Haskell.Extension (just
the type, which will also be useful when haskell-src-exts is merged)
and Distribution.Compiler (mappings to compiler options).

18 years ago[project @ 2005-06-21 12:03:25 by simonmar]
simonmar [Tue, 21 Jun 2005 12:03:25 +0000 (12:03 +0000)]
[project @ 2005-06-21 12:03:25 by simonmar]
Document changes to the package system.

A nice side effect of the relaxed restrictions is that the
-ignore-package flag is no longer required when compiling a package
(unless the package is "base", and even in that case we might be able
to get away with -hide-package base).  For now, I've removed
references that talk about using -ignore-package when compiling a
package, and simplified the documentation for -ignore-package.

18 years ago[project @ 2005-06-21 11:57:00 by simonmar]
simonmar [Tue, 21 Jun 2005 11:57:00 +0000 (11:57 +0000)]
[project @ 2005-06-21 11:57:00 by simonmar]
fix Windows build

18 years ago[project @ 2005-06-21 10:44:37 by simonmar]
simonmar [Tue, 21 Jun 2005 10:44:42 +0000 (10:44 +0000)]
[project @ 2005-06-21 10:44:37 by simonmar]
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.

18 years ago[project @ 2005-06-21 10:30:41 by simonmar]
simonmar [Tue, 21 Jun 2005 10:30:41 +0000 (10:30 +0000)]
[project @ 2005-06-21 10:30:41 by simonmar]
we should be using PprTyThingInContext instead of PprTyThing here

18 years ago[project @ 2005-06-19 08:41:40 by krasimir]
krasimir [Sun, 19 Jun 2005 08:41:40 +0000 (08:41 +0000)]
[project @ 2005-06-19 08:41:40 by krasimir]
Add pprTyThingHdr function.

18 years ago[project @ 2005-06-19 08:40:50 by krasimir]
krasimir [Sun, 19 Jun 2005 08:40:50 +0000 (08:40 +0000)]
[project @ 2005-06-19 08:40:50 by krasimir]
Add PprTyThing to modules list

18 years ago[project @ 2005-06-19 03:08:23 by chak]
chak [Sun, 19 Jun 2005 03:08:23 +0000 (03:08 +0000)]
[project @ 2005-06-19 03:08:23 by chak]
Small improvement to the text

18 years ago[project @ 2005-06-16 09:51:45 by simonmar]
simonmar [Thu, 16 Jun 2005 09:51:45 +0000 (09:51 +0000)]
[project @ 2005-06-16 09:51:45 by simonmar]
oops, bring runghc in on the shared-compat.mk game

18 years ago[project @ 2005-06-16 09:45:28 by simonmar]
simonmar [Thu, 16 Jun 2005 09:45:29 +0000 (09:45 +0000)]
[project @ 2005-06-16 09:45:28 by simonmar]
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.

18 years ago[project @ 2005-06-16 09:40:27 by simonmar]
simonmar [Thu, 16 Jun 2005 09:40:27 +0000 (09:40 +0000)]
[project @ 2005-06-16 09:40:27 by simonmar]
Use -optdep--exclude-module to fix building HEAD with itself.

18 years ago[project @ 2005-06-16 09:36:15 by simonmar]
simonmar [Thu, 16 Jun 2005 09:36:15 +0000 (09:36 +0000)]
[project @ 2005-06-16 09:36:15 by simonmar]
Fix -optdep--exclude-module (looks like this has been broken for a while)

18 years ago[project @ 2005-06-16 09:33:41 by simonmar]
simonmar [Thu, 16 Jun 2005 09:33:41 +0000 (09:33 +0000)]
[project @ 2005-06-16 09:33:41 by simonmar]
Fix stage1 compilation

18 years ago[project @ 2005-06-16 01:17:09 by ross]
ross [Thu, 16 Jun 2005 01:17:11 +0000 (01:17 +0000)]
[project @ 2005-06-16 01:17:09 by ross]
refactoring only: split Compiler type from Distribution.Setup,
to reduce dependencies.

18 years ago[project @ 2005-06-15 13:50:14 by simonmar]
simonmar [Wed, 15 Jun 2005 13:50:14 +0000 (13:50 +0000)]
[project @ 2005-06-15 13:50:14 by simonmar]
Undo accidental commit

18 years ago[project @ 2005-06-15 12:03:19 by simonmar]
simonmar [Wed, 15 Jun 2005 12:03:46 +0000 (12:03 +0000)]
[project @ 2005-06-15 12:03:19 by simonmar]
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.

18 years ago[project @ 2005-06-14 10:02:11 by tharris]
tharris [Tue, 14 Jun 2005 10:02:11 +0000 (10:02 +0000)]
[project @ 2005-06-14 10:02:11 by tharris]
Assert on nested atomic blocks

18 years ago[project @ 2005-06-13 14:36:01 by simonmar]
simonmar [Mon, 13 Jun 2005 14:36:01 +0000 (14:36 +0000)]
[project @ 2005-06-13 14:36:01 by simonmar]
- Fix up documentation for about new automatic printing semantics
- Document :tags

18 years ago[project @ 2005-06-13 14:16:03 by simonmar]
simonmar [Mon, 13 Jun 2005 14:16:03 +0000 (14:16 +0000)]
[project @ 2005-06-13 14:16:03 by simonmar]
fix layout in the help text

18 years ago[project @ 2005-06-13 14:12:59 by simonmar]
simonmar [Mon, 13 Jun 2005 14:12:59 +0000 (14:12 +0000)]
[project @ 2005-06-13 14:12:59 by simonmar]
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).

18 years ago[project @ 2005-06-13 13:46:39 by simonmar]
simonmar [Mon, 13 Jun 2005 13:46:39 +0000 (13:46 +0000)]
[project @ 2005-06-13 13:46:39 by simonmar]
unused imports

18 years ago[project @ 2005-06-13 13:44:48 by simonmar]
simonmar [Mon, 13 Jun 2005 13:44:48 +0000 (13:44 +0000)]
[project @ 2005-06-13 13:44:48 by simonmar]
- Eliminate some warnings, remove dead code
- export PrintUnqualified, alwaysQualify

18 years ago[project @ 2005-06-13 12:29:48 by simonmar]
simonmar [Mon, 13 Jun 2005 12:29:49 +0000 (12:29 +0000)]
[project @ 2005-06-13 12:29:48 by simonmar]
Block allocator performance fix: instead of keeping the free list
ordered, keep it doubly-linked, and introduce a new flag BF_FREE so we
can tell when a block is free.  We can still coalesce blocks on the
free list because block descriptors are kept consecutively in memory,
so we can tell based on the BF_FREE flag whether to coalesce with the
next higher/lower blocks when freeing a block.

This (almost) make freeChain O(n) rather than O(n^2), and has been
reported to help a lot when dealing with very large heaps.

18 years ago[project @ 2005-06-13 10:21:09 by simonmar]
simonmar [Mon, 13 Jun 2005 10:21:09 +0000 (10:21 +0000)]
[project @ 2005-06-13 10:21:09 by simonmar]
Use perl rather than sed to munge the package.conf file; avoids
portability problems with sed (previous version didn't work on Solaris).

18 years ago[project @ 2005-06-13 02:44:22 by wolfgang]
wolfgang [Mon, 13 Jun 2005 02:44:22 +0000 (02:44 +0000)]
[project @ 2005-06-13 02:44:22 by wolfgang]
Darwin:
Deal with the fact that the code and data in a .o file might not be
16-byte aligned even if it contains instructions that require 16-byte
alignment.
This fixes floating point related crashes on Darwin/x86; there might
also have been problems on Darwin/ppc if people load .o files with
AltiVec code into GHCi.

18 years ago[project @ 2005-06-13 02:03:42 by wolfgang]
wolfgang [Mon, 13 Jun 2005 02:03:42 +0000 (02:03 +0000)]
[project @ 2005-06-13 02:03:42 by wolfgang]
Darwin/x86:
Instead of aligning all literals at 16 bytes, reuse the hack from x86-64.

18 years ago[project @ 2005-06-13 00:16:44 by wolfgang]
wolfgang [Mon, 13 Jun 2005 00:16:44 +0000 (00:16 +0000)]
[project @ 2005-06-13 00:16:44 by wolfgang]
Darwin/x86: support GHCi.

18 years ago[project @ 2005-06-13 00:15:58 by wolfgang]
wolfgang [Mon, 13 Jun 2005 00:15:58 +0000 (00:15 +0000)]
[project @ 2005-06-13 00:15:58 by wolfgang]
Darwin/x86:
Fix two causes for crashes:
*) align literals to 16 bytes, because Apple's GCC likes to use
   SSE instructions which require this alignment.
*) In print_doctored, recognize global jumps that masquerade as
   local jumps by going via Lfoo$stub or Lfoo$non_lazy_ptr.

18 years ago[project @ 2005-06-10 13:33:48 by simonpj]
simonpj [Fri, 10 Jun 2005 13:33:48 +0000 (13:33 +0000)]
[project @ 2005-06-10 13:33:48 by simonpj]
tcTrace wibble

18 years ago[project @ 2005-06-10 13:33:27 by simonpj]
simonpj [Fri, 10 Jun 2005 13:33:27 +0000 (13:33 +0000)]
[project @ 2005-06-10 13:33:27 by simonpj]
Comments only

18 years ago[project @ 2005-06-09 16:08:16 by wolfgang]
wolfgang [Thu, 9 Jun 2005 16:08:16 +0000 (16:08 +0000)]
[project @ 2005-06-09 16:08:16 by wolfgang]
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

18 years ago[project @ 2005-06-09 06:01:51 by wolfgang]
wolfgang [Thu, 9 Jun 2005 06:01:51 +0000 (06:01 +0000)]
[project @ 2005-06-09 06:01:51 by wolfgang]
Support i386-apple-darwin for binary dists.

MERGE TO STABLE

18 years ago[project @ 2005-06-09 05:55:40 by wolfgang]
wolfgang [Thu, 9 Jun 2005 05:55:42 +0000 (05:55 +0000)]
[project @ 2005-06-09 05:55:40 by wolfgang]
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.

18 years ago[project @ 2005-06-09 05:35:28 by wolfgang]
wolfgang [Thu, 9 Jun 2005 05:35:28 +0000 (05:35 +0000)]
[project @ 2005-06-09 05:35:28 by wolfgang]
Following Apple's announcement to switch to Intel processors,
add i[3456]86-apple-darwin platform.

MERGE TO STABLE

18 years ago[project @ 2005-06-08 07:56:55 by simonmar]
simonmar [Wed, 8 Jun 2005 07:56:55 +0000 (07:56 +0000)]
[project @ 2005-06-08 07:56:55 by simonmar]
use test -f instead of -s, for portability.

18 years ago[project @ 2005-06-07 15:06:59 by simonmar]
simonmar [Tue, 7 Jun 2005 15:06:59 +0000 (15:06 +0000)]
[project @ 2005-06-07 15:06:59 by simonmar]
Remove some non-portable uses of /bin/test, from Christian Maeder.

18 years ago[project @ 2005-06-07 10:58:31 by simonmar]
simonmar [Tue, 7 Jun 2005 10:58:31 +0000 (10:58 +0000)]
[project @ 2005-06-07 10:58:31 by simonmar]
Various updates and improvements.

18 years ago[project @ 2005-06-07 09:55:03 by simonmar]
simonmar [Tue, 7 Jun 2005 09:55:03 +0000 (09:55 +0000)]
[project @ 2005-06-07 09:55:03 by simonmar]
-ddump-hi-diffs shouldn't turn off recompilation checking

18 years ago[project @ 2005-06-07 08:56:23 by simonmar]
simonmar [Tue, 7 Jun 2005 08:56:23 +0000 (08:56 +0000)]
[project @ 2005-06-07 08:56:23 by simonmar]
add filename to some error messages on mingw32

18 years ago[project @ 2005-06-07 08:19:50 by simonpj]
simonpj [Tue, 7 Jun 2005 08:19:50 +0000 (08:19 +0000)]
[project @ 2005-06-07 08:19:50 by simonpj]
Mention that type splices are not implemented; MERGE to STABLE

18 years ago[project @ 2005-06-06 13:19:41 by simonmar]
simonmar [Mon, 6 Jun 2005 13:19:41 +0000 (13:19 +0000)]
[project @ 2005-06-06 13:19:41 by simonmar]
Hopefully fix more compilation problems with various versions of GHC

18 years ago[project @ 2005-06-06 09:10:41 by simonmar]
simonmar [Mon, 6 Jun 2005 09:10:41 +0000 (09:10 +0000)]
[project @ 2005-06-06 09:10:41 by simonmar]
Make this build with GHC < 6.03 again

18 years ago[project @ 2005-06-06 08:49:07 by tharris]
tharris [Mon, 6 Jun 2005 08:49:07 +0000 (08:49 +0000)]
[project @ 2005-06-06 08:49:07 by tharris]
Remove SMP-only fields from STM data structures from non-SMP builds

18 years ago[project @ 2005-06-03 10:20:34 by simonmar]
simonmar [Fri, 3 Jun 2005 10:20:34 +0000 (10:20 +0000)]
[project @ 2005-06-03 10:20:34 by simonmar]
Allow calls to __alloca in the prologue on mingw32 (previously only
allowed for cygwin32, I guess it hasn't happened for a while).

18 years ago[project @ 2005-06-03 10:08:55 by simonmar]
simonmar [Fri, 3 Jun 2005 10:08:55 +0000 (10:08 +0000)]
[project @ 2005-06-03 10:08:55 by simonmar]
Check for reserved stack space blown.

18 years ago[project @ 2005-06-03 09:56:38 by simonmar]
simonmar [Fri, 3 Jun 2005 09:56:38 +0000 (09:56 +0000)]
[project @ 2005-06-03 09:56:38 by simonmar]
Profiling doesn't require -fvia-C any more.  Also, I optimistically
removed -fvia-C from all the other ways except unreg.

18 years ago[project @ 2005-06-03 08:47:58 by simonmar]
simonmar [Fri, 3 Jun 2005 08:47:58 +0000 (08:47 +0000)]
[project @ 2005-06-03 08:47:58 by simonmar]
Fix crash in LDV profiling on the HEAD

18 years ago[project @ 2005-06-02 16:52:58 by sof]
sof [Thu, 2 Jun 2005 16:52:58 +0000 (16:52 +0000)]
[project @ 2005-06-02 16:52:58 by sof]
add .svn/ to list of ignorable dirs

18 years ago[project @ 2005-06-02 08:51:17 by simonmar]
simonmar [Thu, 2 Jun 2005 08:51:17 +0000 (08:51 +0000)]
[project @ 2005-06-02 08:51:17 by simonmar]
Make GHC.depanal store the module graph in the session again.  Fixes
ghc -M.

18 years ago[project @ 2005-06-01 13:17:12 by simonmar]
simonmar [Wed, 1 Jun 2005 13:17:12 +0000 (13:17 +0000)]
[project @ 2005-06-01 13:17:12 by simonmar]
Fix a regex bug

18 years ago[project @ 2005-05-31 14:14:26 by simonmar]
simonmar [Tue, 31 May 2005 14:14:26 +0000 (14:14 +0000)]
[project @ 2005-05-31 14:14:26 by simonmar]
Make more error messages from the downsweep into ErrMsg exceptions.

18 years ago[project @ 2005-05-31 13:10:39 by simonmar]
simonmar [Tue, 31 May 2005 13:10:39 +0000 (13:10 +0000)]
[project @ 2005-05-31 13:10:39 by simonmar]
oops, fix updating the module graph

18 years ago[project @ 2005-05-31 12:45:03 by simonmar]
simonmar [Tue, 31 May 2005 12:45:04 +0000 (12:45 +0000)]
[project @ 2005-05-31 12:45:03 by simonmar]
Fix some reporting of errors in the GHC API: errors during the
downsweep were thrown as exceptions; now they're reported via the
(Messages->IO ()) callback in the same way as other errors.

getModuleInfo no longer prints anything on stdout.  It does ignore
error messages and return Nothing, however - we should fix this and
return the error messages at some point.

The ErrMsg type can now be thrown as an exception.  This can be a
convenient alternative if collecting multiple error messages isn't
required.  We do this in the downsweep now.

18 years ago[project @ 2005-05-31 09:11:27 by simonmar]
simonmar [Tue, 31 May 2005 09:11:27 +0000 (09:11 +0000)]
[project @ 2005-05-31 09:11:27 by simonmar]
Fix the names of a few fields.

18 years ago[project @ 2005-05-27 14:47:08 by tharris]
tharris [Fri, 27 May 2005 14:47:10 +0000 (14:47 +0000)]
[project @ 2005-05-27 14:47:08 by tharris]
Update STM implementation for SMP builds

18 years ago[project @ 2005-05-26 21:37:13 by simonpj]
simonpj [Thu, 26 May 2005 21:37:13 +0000 (21:37 +0000)]
[project @ 2005-05-26 21:37:13 by simonpj]
MERGE TO STABLE

Put back in a missing case for higher-rank types. When the
definition is
a) non-recursive
b) a function binding
c) lacks a type signature
we want to *infer* a perhaps-higher-rank type for the RHS,
before making a monomorphically-typed Id for the LHS.

E.g.  f = \(x :: forall a. a->a) -> (x True, x 'c')

This case got lost in the transition to 6.4

tc194 tests it

18 years ago[project @ 2005-05-25 20:28:26 by simonmar]
simonmar [Wed, 25 May 2005 20:28:26 +0000 (20:28 +0000)]
[project @ 2005-05-25 20:28:26 by simonmar]
Fix Linker on Windows: there was one more place where we had to check
for ".ctors" sections.

18 years ago[project @ 2005-05-25 12:38:14 by simonpj]
simonpj [Wed, 25 May 2005 12:38:14 +0000 (12:38 +0000)]
[project @ 2005-05-25 12:38:14 by simonpj]
Fix url

18 years ago[project @ 2005-05-25 08:33:15 by simonmar]
simonmar [Wed, 25 May 2005 08:33:15 +0000 (08:33 +0000)]
[project @ 2005-05-25 08:33:15 by simonmar]
something very strange happened with previous commit; try again

18 years ago[project @ 2005-05-25 08:23:17 by simonmar]
simonmar [Wed, 25 May 2005 08:23:17 +0000 (08:23 +0000)]
[project @ 2005-05-25 08:23:17 by simonmar]
Fix threaded RTS with older gcc versions. (merge rev. 1.215.2.10)

18 years ago[project @ 2005-05-24 16:10:35 by simonmar]
simonmar [Tue, 24 May 2005 16:10:35 +0000 (16:10 +0000)]
[project @ 2005-05-24 16:10:35 by simonmar]
Move RTS_SUPPORTS_THREADS into RtsConfig.h

18 years ago[project @ 2005-05-24 15:43:32 by simonmar]
simonmar [Tue, 24 May 2005 15:43:32 +0000 (15:43 +0000)]
[project @ 2005-05-24 15:43:32 by simonmar]
implement lockClosure properly

18 years ago[project @ 2005-05-24 14:52:08 by simonmar]
simonmar [Tue, 24 May 2005 14:52:08 +0000 (14:52 +0000)]
[project @ 2005-05-24 14:52:08 by simonmar]
isObjectLinkable: don't return True for an empty linkable

18 years ago[project @ 2005-05-24 14:19:09 by simonmar]
simonmar [Tue, 24 May 2005 14:19:09 +0000 (14:19 +0000)]
[project @ 2005-05-24 14:19:09 by simonmar]
If hsc_lang is HscNothing, produce an empty linkable.

18 years ago[project @ 2005-05-24 14:18:34 by simonmar]
simonmar [Tue, 24 May 2005 14:18:34 +0000 (14:18 +0000)]
[project @ 2005-05-24 14:18:34 by simonmar]
Don't write the interface in JustTypecheck mode

18 years ago[project @ 2005-05-24 09:38:29 by simonpj]
simonpj [Tue, 24 May 2005 09:38:29 +0000 (09:38 +0000)]
[project @ 2005-05-24 09:38:29 by simonpj]
Yet another wibble to the GHCi top-level interaction story; avoid dup error messages

18 years ago[project @ 2005-05-24 07:47:12 by simonpj]
simonpj [Tue, 24 May 2005 07:47:12 +0000 (07:47 +0000)]
[project @ 2005-05-24 07:47:12 by simonpj]
typo

18 years ago[project @ 2005-05-24 04:45:15 by chak]
chak [Tue, 24 May 2005 04:45:15 +0000 (04:45 +0000)]
[project @ 2005-05-24 04:45:15 by chak]
More details about the representation of types after type checking.

18 years ago[project @ 2005-05-23 15:44:10 by simonmar]
simonmar [Mon, 23 May 2005 15:44:10 +0000 (15:44 +0000)]
[project @ 2005-05-23 15:44:10 by simonmar]
Simplify and improve the Capability-passing machinery for bound
threads.

The old story was quite complicated: if you find a thread on the run
queue which the current task can't run, you had to call
passCapability(), which set a flag saying where the next Capability
was to go, and then release the Capability.  When multiple
Capabilities are flying around, it's not clear how this story should
extend.

The new story is much simpler: each time around the scheduler loop,
the task looks to see whether it can make any progress, and if not, it
releases its Capability and wakes up a task which *can* make some
progress.  The predicate for whether we can make any progress is
encapsulated in the (inline) function ANY_WORK_FOR_ME(Condition).
Waking up an appropriate task is encapsulated in the function
threadRunnable() (previously it was in two places).

The logic in Capability.c is simpler, but unfortunately it is now more
closely connected with the Scheduler, because it inspects the run
queue.  However, performance when communicating between bound and
unbound threads might be better.

The concurrency tests still work, so hopefully this hasn't broken
anything.

18 years ago[project @ 2005-05-23 14:49:59 by simonpj]
simonpj [Mon, 23 May 2005 14:49:59 +0000 (14:49 +0000)]
[project @ 2005-05-23 14:49:59 by simonpj]
Print only the result of a bind stmt

18 years ago[project @ 2005-05-23 13:39:55 by simonmar]
simonmar [Mon, 23 May 2005 13:39:55 +0000 (13:39 +0000)]
[project @ 2005-05-23 13:39:55 by simonmar]
- scheduleDetectDeadlock() should invoke GarbageCollect() via
  scheduleDoGC(), which collects the Capabilities first.

- scheduleDoGC() doesn't need the Capability.  Also, it appears that
  there was an out-of-bounds array access in here.

- add printThreadQueue(), useful from gdb.

- fix a couple of warnings.

18 years ago[project @ 2005-05-23 13:00:46 by simonpj]
simonpj [Mon, 23 May 2005 13:00:46 +0000 (13:00 +0000)]
[project @ 2005-05-23 13:00:46 by simonpj]
rename exportsFromAvail

18 years ago[project @ 2005-05-23 13:00:30 by simonpj]
simonpj [Mon, 23 May 2005 13:00:30 +0000 (13:00 +0000)]
[project @ 2005-05-23 13:00:30 by simonpj]
Further GHCi wibbles

a) Don't print the value of a 'let'
b) Only one error message for 'print id'

18 years ago[project @ 2005-05-23 10:17:45 by simonpj]
simonpj [Mon, 23 May 2005 10:17:45 +0000 (10:17 +0000)]
[project @ 2005-05-23 10:17:45 by simonpj]
Dead code (HEAD only)