ghc.git
10 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

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

10 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)

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

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

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

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

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

10 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

10 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

10 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

10 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

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

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

10 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

10 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

10 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

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

10 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

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

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

10 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

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

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

10 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

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

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

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

10 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

10 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.

10 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

10 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

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

10 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

10 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

10 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

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

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

10 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.

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

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

10 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

10 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

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

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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

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

10 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

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

10 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.

10 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.

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

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

10 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

10 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()

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

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

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

10 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.

10 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.

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

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

10 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

10 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

10 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

10 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.

10 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

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

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

10 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

10 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

10 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.

10 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

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

10 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.

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

10 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.

10 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

10 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)

10 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.

10 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.

10 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

10 years agoStop generating redundant parens in 'deriving' code
simonpj@microsoft.com [Thu, 23 Jul 2009 12:59:03 +0000 (12:59 +0000)] 
Stop generating redundant parens in 'deriving' code

This makes the code printed by -ddump-deriv look prettier

10 years agoWibble to printing tuple sections
simonpj@microsoft.com [Thu, 23 Jul 2009 12:57:56 +0000 (12:57 +0000)] 
Wibble to printing tuple sections

10 years agoFix Trac #3193: improve line number reporting for equality constraints
simonpj@microsoft.com [Thu, 23 Jul 2009 06:55:04 +0000 (06:55 +0000)] 
Fix Trac #3193: improve line number reporting for equality constraints

When reporting an error from a failed equality constraint, we were
setting the *context* but not the *line number* in TcTyFuns.eqInstMisMatch
As a result, the line number didn't match the context at all.  It's
trivial to fix.

I'm 99% certain this fixes #3193, but it's too complicated to
reproduce, so I have not actually tested it.

10 years agoAdd fmapM_maybe :: Monad m => (a -> m b) -> Maybe a -> m (Maybe b)
simonpj@microsoft.com [Thu, 23 Jul 2009 06:49:32 +0000 (06:49 +0000)] 
Add fmapM_maybe :: Monad m => (a -> m b) -> Maybe a -> m (Maybe b)

This function isn't used at the moment, but Max added it, and it
looks useful.

10 years agoAdd tuple sections as a new feature
simonpj@microsoft.com [Thu, 23 Jul 2009 06:38:59 +0000 (06:38 +0000)] 
Add tuple sections as a new feature

This patch adds tuple sections, so that

(x,,z)  means   \y -> (x,y,z)

Thanks for Max Bolinbroke for doing the hard work.

In the end, instead of using two constructors in HsSyn, I used
just one (still called ExplicitTuple) whose arguments can be
Present (LHsExpr id)
or Missing PostTcType

While I was at it, I did a bit of refactoring too.

10 years agoNetBSD defines _REENTRANT in its header files, so compiling ghc gives
Simon Marlow [Thu, 23 Jul 2009 07:50:30 +0000 (07:50 +0000)] 
NetBSD defines _REENTRANT in its header files, so compiling ghc gives
redefinition warnings for all files that are including includes/Rts.h.

Contributed by: Krister Walfridsson <krister.walfridsson@gmail.com>

10 years agoincludes/TSO.h: kill trailing whitespace
Samuel Bronson [Wed, 22 Jul 2009 17:03:54 +0000 (17:03 +0000)] 
includes/TSO.h: kill trailing whitespace

10 years agoSay what StgTSOBlockInfo is for, where to read about it.
Samuel Bronson [Wed, 22 Jul 2009 16:30:11 +0000 (16:30 +0000)] 
Say what StgTSOBlockInfo is for, where to read about it.

10 years agoMake the Integer library used directly configurable in GHC and base
Ian Lynagh [Wed, 22 Jul 2009 15:10:48 +0000 (15:10 +0000)] 
Make the Integer library used directly configurable in GHC and base
Rather than indirecting through an integer package

10 years agoFix cleaning with the new integer changes
Ian Lynagh [Wed, 22 Jul 2009 14:25:45 +0000 (14:25 +0000)] 
Fix cleaning with the new integer changes

10 years agoAdd integer-simple as a build option
Ian Lynagh [Wed, 22 Jul 2009 01:31:37 +0000 (01:31 +0000)] 
Add integer-simple as a build option

10 years agoTweak whitespace
Ian Lynagh [Sun, 19 Jul 2009 22:13:03 +0000 (22:13 +0000)] 
Tweak whitespace