ghc-hetmet.git
14 years agoMinor refactoring
Ian Lynagh [Sun, 9 Aug 2009 15:42:58 +0000 (15:42 +0000)]
Minor refactoring

14 years agoFIX #2395 (ViewPatterns trigger bad Check errors)
Alexander Dunlap [Fri, 7 Aug 2009 18:48:41 +0000 (18:48 +0000)]
FIX #2395 (ViewPatterns trigger bad Check errors)

14 years agoPass -m32 to gcc on i386 and ppc OS X
Ian Lynagh [Sat, 8 Aug 2009 22:25:37 +0000 (22:25 +0000)]
Pass -m32 to gcc on i386 and ppc OS X
This makes GHC work even if you are actually running it in 64bit mode,
e.g. on OS X 10.6 Snow.

14 years agoFix bindist creation
Ian Lynagh [Sat, 8 Aug 2009 18:44:07 +0000 (18:44 +0000)]
Fix bindist creation
This is a bit kludgy. We've hit the maximum number of arguments you can
have in the for loop for adding files to the bindist list, so this just
splits the list in 2.

14 years agoPut the library haddock docs in the html subdirectory of docdir
Ian Lynagh [Sat, 8 Aug 2009 17:57:56 +0000 (17:57 +0000)]
Put the library haddock docs in the html subdirectory of docdir

14 years agoInstall the main doc index page, and also put it in bindists
Ian Lynagh [Sat, 8 Aug 2009 11:20:34 +0000 (11:20 +0000)]
Install the main doc index page, and also put it in bindists

14 years agoFIX BUILD: Remove harmful dnls and identifier typo in aclocal.m4
Alexander Dunlap [Sat, 1 Aug 2009 01:23:35 +0000 (01:23 +0000)]
FIX BUILD: Remove harmful dnls and identifier typo in aclocal.m4

14 years agoFix the build on OS X
Ian Lynagh [Fri, 7 Aug 2009 15:21:51 +0000 (15:21 +0000)]
Fix the build on OS X

14 years agoAdd -r option to darcs-all, and remove push-all (#3375)
Simon Marlow [Mon, 3 Aug 2009 10:44:13 +0000 (10:44 +0000)]
Add -r option to darcs-all, and remove push-all (#3375)
Contributed by: seliopou@gmail.com

This patch modifies darcs-all to have feature parity with push-all by
recognizing two new options.

    * -i, equivalent to --ignore-failure in push-all
    * -r <repo>, specifies the remote repository darcs commands will use

Some example commands:

Get the libraries from a repository of your choosing. This is useful
when working with a git mirror:

    $ ./darcs-all -r http://darcs.haskell.org get

Pull changes. Used to be:

    $ ./push-all --pull http://darcs.haskell.org

Is now:

    $ ./darcs-all -r http://darcs.haskell.org pull

Or to use the default remote of the ghc repository:

    $ ./darcs-all pull

14 years agoAdd a kludge to fix building shared libs
Ian Lynagh [Fri, 7 Aug 2009 13:07:31 +0000 (13:07 +0000)]
Add a kludge to fix building shared libs
The .dyn_hi files currently depend on the .dyn_hi files of modules that
they import. But they actually want the .hi files of modules from
another package.This we make the .dyn_hi files depend on the .hi files
so we are sure that they exist and are up-to-date.

14 years agoLeave dyn in GhcLibWays when validating
Ian Lynagh [Fri, 7 Aug 2009 00:54:45 +0000 (00:54 +0000)]
Leave dyn in GhcLibWays when validating

14 years agoBuild shared library support by default on platforms that support it
Ian Lynagh [Thu, 6 Aug 2009 16:43:20 +0000 (16:43 +0000)]
Build shared library support by default on platforms that support it

14 years agoUpdate the libffi filenames to follow the new version number
Ian Lynagh [Thu, 6 Aug 2009 14:13:59 +0000 (14:13 +0000)]
Update the libffi filenames to follow the new version number
Stops make going into an infinite rebuilding loop

14 years agoFix ticky build
Simon Marlow [Thu, 6 Aug 2009 09:30:21 +0000 (09:30 +0000)]
Fix ticky build

14 years agoadd #include <sys/types.h> (hopefully fixes OS X build)
Simon Marlow [Thu, 6 Aug 2009 08:17:47 +0000 (08:17 +0000)]
add #include <sys/types.h> (hopefully fixes OS X build)

14 years agoprofiling build fix
Simon Marlow [Wed, 5 Aug 2009 10:22:17 +0000 (10:22 +0000)]
profiling build fix

14 years agoprofiling build fixes
Simon Marlow [Wed, 5 Aug 2009 09:35:39 +0000 (09:35 +0000)]
profiling build fixes

14 years ago#include fix
Simon Marlow [Wed, 5 Aug 2009 09:25:37 +0000 (09:25 +0000)]
#include fix

14 years agouse C99-style array initialisers
Simon Marlow [Mon, 3 Aug 2009 21:45:45 +0000 (21:45 +0000)]
use C99-style array initialisers

14 years agouse C99-style array initialisers
Simon Marlow [Mon, 3 Aug 2009 21:09:48 +0000 (21:09 +0000)]
use C99-style array initialisers

14 years agomove termios prototypes into a public header
Simon Marlow [Mon, 3 Aug 2009 21:03:04 +0000 (21:03 +0000)]
move termios prototypes into a public header

14 years agomove StgEntCounter type into its own header
Simon Marlow [Mon, 3 Aug 2009 21:02:29 +0000 (21:02 +0000)]
move StgEntCounter type into its own header

14 years agoCommon up two closure type -> string tables
Simon Marlow [Mon, 3 Aug 2009 20:32:52 +0000 (20:32 +0000)]
Common up two closure type -> string tables
Also, use C99-style array initialisers

14 years agoRename primops from foozh_fast to stg_foozh
Simon Marlow [Mon, 3 Aug 2009 20:29:40 +0000 (20:29 +0000)]
Rename primops from foozh_fast to stg_foozh
For consistency with other RTS exported symbols

14 years agoremove the GUM closure types
Simon Marlow [Mon, 3 Aug 2009 20:21:51 +0000 (20:21 +0000)]
remove the GUM closure types

14 years agouse C99-style array initialisers
Simon Marlow [Mon, 3 Aug 2009 20:11:48 +0000 (20:11 +0000)]
use C99-style array initialisers

14 years agoRemove final bits of the old .NET support
Simon Marlow [Mon, 3 Aug 2009 19:59:35 +0000 (19:59 +0000)]
Remove final bits of the old .NET support

14 years agofast make omits all GHC stages
Simon Marlow [Sun, 2 Aug 2009 19:07:52 +0000 (19:07 +0000)]
fast make omits all GHC stages

14 years agofast make omits dependencies in ghc/ too
Simon Marlow [Sun, 2 Aug 2009 19:07:33 +0000 (19:07 +0000)]
fast make omits dependencies in ghc/ too

14 years agoremove unnecessary -#include options
Simon Marlow [Sun, 2 Aug 2009 19:06:51 +0000 (19:06 +0000)]
remove unnecessary -#include options

14 years agomention that INCLUDE pragmas are accepted, but ignored
Simon Marlow [Sun, 2 Aug 2009 19:06:14 +0000 (19:06 +0000)]
mention that INCLUDE pragmas are accepted, but ignored

14 years agoDeprecate the -#include flag
Simon Marlow [Sun, 2 Aug 2009 19:05:35 +0000 (19:05 +0000)]
Deprecate the -#include flag

14 years agoremove docuumentation for -#include option
Simon Marlow [Sat, 1 Aug 2009 22:21:18 +0000 (22:21 +0000)]
remove docuumentation for -#include option

14 years agofix off-by-one in memory allocation
Simon Marlow [Tue, 4 Aug 2009 09:21:15 +0000 (09:21 +0000)]
fix off-by-one in memory allocation

14 years agoWindows build fix
Simon Marlow [Mon, 3 Aug 2009 15:05:33 +0000 (15:05 +0000)]
Windows build fix

14 years agoWindows build fixes
Simon Marlow [Mon, 3 Aug 2009 14:23:46 +0000 (14:23 +0000)]
Windows build fixes

14 years agomove gc_alloc_block to make it visible on 32-bit
Simon Marlow [Mon, 3 Aug 2009 13:28:47 +0000 (13:28 +0000)]
move gc_alloc_block to make it visible on 32-bit

14 years agoWindows build fixes
Simon Marlow [Mon, 3 Aug 2009 13:19:33 +0000 (13:19 +0000)]
Windows build fixes

14 years agox86_64 warning fix
Simon Marlow [Mon, 3 Aug 2009 12:04:15 +0000 (12:04 +0000)]
x86_64 warning fix

14 years agox86_64 warning fixes
Simon Marlow [Mon, 3 Aug 2009 11:59:55 +0000 (11:59 +0000)]
x86_64 warning fixes

14 years agox86_64 build fix: declare gc_alloc_block_sync
Simon Marlow [Mon, 3 Aug 2009 11:36:03 +0000 (11:36 +0000)]
x86_64 build fix: declare gc_alloc_block_sync

14 years agoRTS tidyup sweep, first phase
Simon Marlow [Sun, 2 Aug 2009 21:32:04 +0000 (21:32 +0000)]
RTS tidyup sweep, first phase

The first phase of this tidyup is focussed on the header files, and in
particular making sure we are exposinng publicly exactly what we need
to, and no more.

 - Rts.h now includes everything that the RTS exposes publicly,
   rather than a random subset of it.

 - Most of the public header files have moved into subdirectories, and
   many of them have been renamed.  But clients should not need to
   include any of the other headers directly, just #include the main
   public headers: Rts.h, HsFFI.h, RtsAPI.h.

 - All the headers needed for via-C compilation have moved into the
   stg subdirectory, which is self-contained.  Most of the headers for
   the rest of the RTS APIs have moved into the rts subdirectory.

 - I left MachDeps.h where it is, because it is so widely used in
   Haskell code.

 - I left a deprecated stub for RtsFlags.h in place.  The flag
   structures are now exposed by Rts.h.

 - Various internal APIs are no longer exposed by public header files.

 - Various bits of dead code and declarations have been removed

 - More gcc warnings are turned on, and the RTS code is more
   warning-clean.

 - More source files #include "PosixSource.h", and hence only use
   standard POSIX (1003.1c-1995) interfaces.

There is a lot more tidying up still to do, this is just the first
pass.  I also intend to standardise the names for external RTS APIs
(e.g use the rts_ prefix consistently), and declare the internal APIs
as hidden for shared libraries.

14 years agoreplace sparc-specific Int64 code with calls to platform-independent macros
Simon Marlow [Mon, 27 Jul 2009 21:51:03 +0000 (21:51 +0000)]
replace sparc-specific Int64 code with calls to platform-independent macros

14 years agoremove old incarnation of .NET support
Simon Marlow [Sun, 28 Jun 2009 21:11:47 +0000 (21:11 +0000)]
remove old incarnation of .NET support

14 years agoWindows build fix
Simon Marlow [Mon, 3 Aug 2009 14:49:31 +0000 (14:49 +0000)]
Windows build fix

14 years agorts_stop_on_exception is a C int, not a W_
Simon Marlow [Mon, 3 Aug 2009 12:49:16 +0000 (12:49 +0000)]
rts_stop_on_exception is a C int, not a W_
amazing this hasn't caused any problems before now

14 years agoFix #3412: the worker of an Id might not be a local Id
Simon Marlow [Mon, 3 Aug 2009 11:28:03 +0000 (11:28 +0000)]
Fix #3412: the worker of an Id might not be a local Id

14 years agoAdd -r option to darcs-all, and remove push-all (#3375)
Simon Marlow [Mon, 3 Aug 2009 10:44:13 +0000 (10:44 +0000)]
Add -r option to darcs-all, and remove push-all (#3375)
Contributed by: seliopou@gmail.com

This patch modifies darcs-all to have feature parity with push-all by
recognizing two new options.

    * -i, equivalent to --ignore-failure in push-all
    * -r <repo>, specifies the remote repository darcs commands will use

Some example commands:

Get the libraries from a repository of your choosing. This is useful
when working with a git mirror:

    $ ./darcs-all -r http://darcs.haskell.org get

Pull changes. Used to be:

    $ ./push-all --pull http://darcs.haskell.org

Is now:

    $ ./darcs-all -r http://darcs.haskell.org pull

Or to use the default remote of the ghc repository:

    $ ./darcs-all pull

14 years agoremove dead code
Simon Marlow [Sat, 20 Jun 2009 21:41:13 +0000 (21:41 +0000)]
remove dead code

14 years agofix warnings
Simon Marlow [Wed, 29 Jul 2009 13:43:48 +0000 (13:43 +0000)]
fix warnings

14 years agoImplement "ghc --abi-hash M1 M2 ..."
Simon Marlow [Wed, 29 Jul 2009 13:21:25 +0000 (13:21 +0000)]
Implement "ghc --abi-hash M1 M2 ..."
This prints a combined hash of the ABIs exposed by the modules listed
on the command line.  It will be used by Cabal for generating a
package Id based on the actual ABI of a package.

14 years agoClean GMP properly; fixes #3411
Ian Lynagh [Sun, 2 Aug 2009 19:57:59 +0000 (19:57 +0000)]
Clean GMP properly; fixes #3411

14 years agoFix permissions when installing
Ian Lynagh [Sun, 2 Aug 2009 16:12:37 +0000 (16:12 +0000)]
Fix permissions when installing

14 years agoFix creation of library doc index, and put the library docs in bindists
Ian Lynagh [Sun, 2 Aug 2009 11:42:02 +0000 (11:42 +0000)]
Fix creation of library doc index, and put the library docs in bindists

14 years agoRemove a TODO item that's been done
Ian Lynagh [Sun, 2 Aug 2009 10:39:44 +0000 (10:39 +0000)]
Remove a TODO item that's been done

14 years agoAdd a publish-docs rule
Ian Lynagh [Sat, 1 Aug 2009 22:41:55 +0000 (22:41 +0000)]
Add a publish-docs rule

14 years agoAdd docs to bindists
Ian Lynagh [Sat, 1 Aug 2009 22:25:51 +0000 (22:25 +0000)]
Add docs to bindists

14 years agoFix "make show" in a bindist
Ian Lynagh [Sat, 1 Aug 2009 21:26:04 +0000 (21:26 +0000)]
Fix "make show" in a bindist

14 years agoMake the new build system install the documentation
Ian Lynagh [Sat, 1 Aug 2009 20:46:24 +0000 (20:46 +0000)]
Make the new build system install the documentation

14 years agowhitespace tweaks in rules/docbook.mk
Ian Lynagh [Sat, 1 Aug 2009 19:52:21 +0000 (19:52 +0000)]
whitespace tweaks in rules/docbook.mk

14 years agoFix configure when alex/happy are installed to a directory containing spaces
Ian Lynagh [Sat, 1 Aug 2009 18:28:17 +0000 (18:28 +0000)]
Fix configure when alex/happy are installed to a directory containing spaces

14 years agoAllow more than 64k instructions in a BCO; fixes #789
Ian Lynagh [Sat, 1 Aug 2009 15:32:03 +0000 (15:32 +0000)]
Allow more than 64k instructions in a BCO; fixes #789

14 years agoIf ghci runs out of labels, panic
Ian Lynagh [Sat, 1 Aug 2009 13:28:29 +0000 (13:28 +0000)]
If ghci runs out of labels, panic

14 years agoFix the 64k insns overflow check in ghci, and add more checks
Ian Lynagh [Sat, 1 Aug 2009 13:00:14 +0000 (13:00 +0000)]
Fix the 64k insns overflow check in ghci, and add more checks

14 years agoFix cleaning the integer package
Ian Lynagh [Thu, 30 Jul 2009 14:31:29 +0000 (14:31 +0000)]
Fix cleaning the integer package

14 years agoFix warnings when building with the HEAD
Ian Lynagh [Thu, 30 Jul 2009 14:30:31 +0000 (14:30 +0000)]
Fix warnings when building with the HEAD

14 years agoRemove some redundant fromIntegral's
Ian Lynagh [Thu, 30 Jul 2009 10:55:32 +0000 (10:55 +0000)]
Remove some redundant fromIntegral's

14 years agoFix space problems in ghci
Ian Lynagh [Thu, 30 Jul 2009 10:53:51 +0000 (10:53 +0000)]
Fix space problems in ghci
We were making arrays with range (0, n-1) which is bad if n == 0 now
that we are using Word types.

14 years agoMake the types we use when creating GHCi bytecode better match reality
Ian Lynagh [Wed, 29 Jul 2009 13:09:11 +0000 (13:09 +0000)]
Make the types we use when creating GHCi bytecode better match reality
We were keeping things as Int, and then converting them to Word16 at
the last minute, when really they ought to have been Word16 all along.

14 years agoAdd an (Outputable Word16) instance
Ian Lynagh [Tue, 28 Jul 2009 13:44:36 +0000 (13:44 +0000)]
Add an (Outputable Word16) instance

14 years agoFix whitespace in ByteCodeAsm.lhs
Ian Lynagh [Tue, 28 Jul 2009 12:34:44 +0000 (12:34 +0000)]
Fix whitespace in ByteCodeAsm.lhs

14 years agoAdd CHECK(p), like ASSERT(p) but works even when !defined(DEBUG)
Simon Marlow [Wed, 29 Jul 2009 07:54:33 +0000 (07:54 +0000)]
Add CHECK(p), like ASSERT(p) but works even when !defined(DEBUG)
For inexpensive assertions

14 years agoenable the x86-specific versions of atomic_inc()/atomic_dec()
Simon Marlow [Wed, 29 Jul 2009 07:53:07 +0000 (07:53 +0000)]
enable the x86-specific versions of atomic_inc()/atomic_dec()

14 years agofix warning
Simon Marlow [Tue, 28 Jul 2009 10:38:55 +0000 (10:38 +0000)]
fix warning

14 years agofix warning
Simon Marlow [Tue, 28 Jul 2009 10:27:07 +0000 (10:27 +0000)]
fix warning

14 years agofix a warning
Simon Marlow [Tue, 28 Jul 2009 10:17:31 +0000 (10:17 +0000)]
fix a warning

14 years agoBe a bit more sensible about choosing external OccNames
Simon Marlow [Tue, 28 Jul 2009 10:04:34 +0000 (10:04 +0000)]
Be a bit more sensible about choosing external OccNames

Instead of chr_$wchr, we now just get $wchr.  In general, when an
OccName is system-generated, we leave it out of the final external
name, preferring to use the name of the exported parent instead (which
is necessarily a user-written name).

Names should be no less deterministic, but should be shorter and more
readable.

14 years agoRemove old 'foreign import dotnet' code
Simon Marlow [Mon, 27 Jul 2009 14:45:24 +0000 (14:45 +0000)]
Remove old 'foreign import dotnet' code
It still lives in darcs, if anyone wants to revive it sometime.

14 years agoremove a couple of ToDos
Simon Marlow [Mon, 27 Jul 2009 09:47:19 +0000 (09:47 +0000)]
remove a couple of ToDos

14 years agobuildinfo files need a $$(wildcard)
Simon Marlow [Mon, 27 Jul 2009 09:10:12 +0000 (09:10 +0000)]
buildinfo files need a $$(wildcard)

14 years agoSlight tweak to avoid overflowing the command-line size in bindist
Simon Marlow [Mon, 27 Jul 2009 09:09:46 +0000 (09:09 +0000)]
Slight tweak to avoid overflowing the command-line size in bindist
Not a real fix: if this bites us again we'll have to rethink

14 years agoavoid (benign) error about overriding rules for binary-dist
Simon Marlow [Mon, 27 Jul 2009 09:09:03 +0000 (09:09 +0000)]
avoid (benign) error about overriding rules for binary-dist

14 years agoGive a better error message for hidden packages when building Cabal package
Ian Lynagh [Sun, 26 Jul 2009 19:49:15 +0000 (19:49 +0000)]
Give a better error message for hidden packages when building Cabal package
Fixes #3168

14 years agoAdd a -fbuilding-cabal-package flag
Ian Lynagh [Sun, 26 Jul 2009 18:19:34 +0000 (18:19 +0000)]
Add a -fbuilding-cabal-package flag
This means GHC knows whether it's building a Cabal package, or just
Haskell sources. For example, it may wish to give different error
messages when building a Cabal package.

14 years agoAdd an extension to disable n+k patterns
Ian Lynagh [Sat, 25 Jul 2009 13:47:03 +0000 (13:47 +0000)]
Add an extension to disable n+k patterns

14 years agoFix a warning on Windows
Ian Lynagh [Fri, 24 Jul 2009 22:12:44 +0000 (22:12 +0000)]
Fix a warning on Windows

14 years agoRemove GHC's haskell98 dependency
Ian Lynagh [Fri, 24 Jul 2009 21:08:25 +0000 (21:08 +0000)]
Remove GHC's haskell98 dependency

14 years agoadd number of bytes to +RTS -DS leak reports
Simon Marlow [Fri, 24 Jul 2009 15:00:10 +0000 (15:00 +0000)]
add number of bytes to +RTS -DS leak reports

14 years agofree the gc_thread structures during shutdown
Simon Marlow [Fri, 24 Jul 2009 14:59:56 +0000 (14:59 +0000)]
free the gc_thread structures during shutdown

14 years agoAdd atomic_inc()/atomic_dec(), and use them to replace gc_running_mutex
Simon Marlow [Fri, 24 Jul 2009 14:26:20 +0000 (14:26 +0000)]
Add atomic_inc()/atomic_dec(), and use them to replace gc_running_mutex
This also fixes a memory leak on Windows with -threaded, because we
were calling initMutex(&gc_running_mutex) for each GC, which allocates
memory.

14 years agoRewrite the foreign import string parser using ReadP
Simon Marlow [Thu, 23 Jul 2009 15:21:38 +0000 (15:21 +0000)]
Rewrite the foreign import string parser using ReadP
And kill the duplicate one in HsSyn.Convert

14 years agopoint to the wiki
Simon Marlow [Thu, 23 Jul 2009 13:23:45 +0000 (13:23 +0000)]
point to the wiki

14 years agoRemove note about avoiding use of #def in libraries
Simon Marlow [Thu, 23 Jul 2009 11:10:26 +0000 (11:10 +0000)]
Remove note about avoiding use of #def in libraries
It should be safe to use now that we aren't relying on C prototypes
for foreign functions in via-C code.

14 years agorefactorings
Simon Marlow [Thu, 23 Jul 2009 09:12:30 +0000 (09:12 +0000)]
refactorings

14 years agoFix Trac #3391: make generic to/from bindings only for newly-declared types
simonpj@microsoft.com [Thu, 23 Jul 2009 15:58:03 +0000 (15:58 +0000)]
Fix Trac #3391: make generic to/from bindings only for newly-declared types

Before this patch we were bogusly making to/from bindings for all data types
in the TcGblEnv.  But that is wrong when we have multiple "chunks" of
bindings in Template Haskell.  We should start from the declarations
themselves.  Easy.

14 years agoPrint explicit braces and semicolons in do-notation
simonpj@microsoft.com [Thu, 23 Jul 2009 15:24:11 +0000 (15:24 +0000)]
Print explicit braces and semicolons in do-notation

By printing explicit braces we make it more likely that pretty-printed
code will be acceptable if fed back into GHC.

See http://www.haskell.org/pipermail/glasgow-haskell-users/2009-July/017554.html

14 years agoDocumentation for stand-alone deriving (Trac #3012)
simonpj@microsoft.com [Thu, 23 Jul 2009 13:25:58 +0000 (13:25 +0000)]
Documentation for stand-alone deriving (Trac #3012)

14 years agoWindows only: set the encoding on stdin to utf8
Simon Marlow [Thu, 23 Jul 2009 12:19:13 +0000 (12:19 +0000)]
Windows only: set the encoding on stdin to utf8
Otherwise it defaults to latin1.

14 years agoFix Trac #3012: allow more free-wheeling in standalone deriving
simonpj@microsoft.com [Thu, 23 Jul 2009 13:01:45 +0000 (13:01 +0000)]
Fix Trac #3012: allow more free-wheeling in standalone deriving

In standalone deriving, we now do *not* check side conditions.
We simply generate the code and typecheck it.  If there's a type
error, it's the programmer's problem.

This means that you can do 'deriving instance Show (T a)', where
T is a GADT, for example, provided of course that the boilerplate
code does in fact typecheck.

I put some work into getting a decent error message.  In particular
if there's a type error in a method, GHC will show the entire code
for that method (since, after all, the user did not write it).
Most of the changes are to achieve that goal.

Still to come: changes in the documentation.

14 years agoUse the ErrMsg record type
simonpj@microsoft.com [Thu, 23 Jul 2009 13:01:08 +0000 (13:01 +0000)]
Use the ErrMsg record type