7 years agoMove the RPATH computation into the build rules
Ian Lynagh [Sun, 14 Oct 2012 00:31:20 +0000 (01:31 +0100)] 
Move the RPATH computation into the build rules

It doesn't really belong in

7 years agoAdd TRANSITIVE_DEPS variables to files
Ian Lynagh [Sun, 14 Oct 2012 00:21:37 +0000 (01:21 +0100)] 
Add TRANSITIVE_DEPS variables to files

7 years agoFix installing when dynlibs-by-default
Ian Lynagh [Sun, 14 Oct 2012 00:08:35 +0000 (01:08 +0100)] 
Fix installing when dynlibs-by-default

7 years agoFix test for GHCi lib building
Ian Lynagh [Sat, 13 Oct 2012 15:52:48 +0000 (16:52 +0100)] 
Fix test for GHCi lib building

7 years agoKeep the list of DLLs that we dlopen
Ian Lynagh [Sat, 13 Oct 2012 15:18:41 +0000 (16:18 +0100)] 
Keep the list of DLLs that we dlopen

Unfortunately, dlsym finds the first symbol loaded, while when we reload
a compiled module in GHCi it's the last symbol that we want. Therefore
we remember the list of loaded DLLs ourselves and go through them in

7 years agoFix typo
Ian Lynagh [Sat, 13 Oct 2012 15:02:48 +0000 (16:02 +0100)] 
Fix typo

7 years agoMerge branch 'master' of
Ian Lynagh [Sat, 13 Oct 2012 13:45:12 +0000 (14:45 +0100)] 
Merge branch 'master' of

7 years agoWhen dynamic-by-default, don't use the GHCi linker
Ian Lynagh [Sat, 13 Oct 2012 13:42:52 +0000 (14:42 +0100)] 
When dynamic-by-default, don't use the GHCi linker

We instead link objects into a temporary DLL and dlopen that

7 years agoAdd a type signature needed when using GADTs
Simon Peyton Jones [Fri, 12 Oct 2012 17:08:23 +0000 (18:08 +0100)] 
Add a type signature needed when using GADTs

7 years agoDon't build the HS*.o files when DYNAMIC_BY_DEFAULT
Ian Lynagh [Fri, 12 Oct 2012 15:30:52 +0000 (16:30 +0100)] 
Don't build the HS*.o files when DYNAMIC_BY_DEFAULT

We don't use them (we use the .so/.dll instead), so no point generating

7 years agoMerge branch 'master' of
Simon Peyton Jones [Fri, 12 Oct 2012 12:59:19 +0000 (13:59 +0100)] 
Merge branch 'master' of

7 years agofix obvious typos
Gabor Greif [Fri, 12 Oct 2012 07:40:09 +0000 (09:40 +0200)] 
fix obvious typos

these can go into the release 7.6.2 too, I guess

7 years agoFix error in tidying the type variables of a TyCon when building an interface file
Simon Peyton Jones [Fri, 12 Oct 2012 07:17:00 +0000 (08:17 +0100)] 
Fix error in tidying the type variables of a TyCon when building an interface file

7 years agoBe lazier when typechecking data type contexts (Trac #7321)
Simon Peyton Jones [Fri, 12 Oct 2012 07:15:44 +0000 (08:15 +0100)] 
Be lazier when typechecking data type contexts (Trac #7321)

We should be lazy when type-checking the equality-contraint
part of a data constructor's type, to make the knot-tying
work out right.  The fact that it's always worked before
is a fluke: no one else wrote a GADT whose type index mentions
  data T a wher
    MkT :: T (T Int)

7 years agoEnsure we produce a FunTy for functions (Trac #7312)
Simon Peyton Jones [Wed, 10 Oct 2012 18:10:18 +0000 (19:10 +0100)] 
Ensure we produce a FunTy for functions (Trac #7312)

The issue here was with a function type written prefix
  (->) a b
where we were not generating a FunTy, which blew the
invariant that function types are always FunTys.  We
can't look at the TyCon directly because it may be
knot-tied, so we look at the name instead.

7 years agoghc-pkg: Print something when no packages are found; fixes #6119
Ian Lynagh [Thu, 11 Oct 2012 20:31:00 +0000 (21:31 +0100)] 
ghc-pkg: Print something when no packages are found; fixes #6119

We used to say

    $ ghc-pkg list blargle

which may imply that blargle was found in

7 years agoWhitespace only in types/FamInstEnv.lhs
Ian Lynagh [Thu, 11 Oct 2012 17:23:53 +0000 (18:23 +0100)] 
Whitespace only in types/FamInstEnv.lhs

7 years agoAdd an "Outputable (InstInfo a)" instance
Ian Lynagh [Thu, 11 Oct 2012 17:06:50 +0000 (18:06 +0100)] 
Add an "Outputable (InstInfo a)" instance

7 years agoWhitespace only in typecheck/TcDeriv.lhs
Ian Lynagh [Thu, 11 Oct 2012 15:37:31 +0000 (16:37 +0100)] 
Whitespace only in typecheck/TcDeriv.lhs

7 years agoWhitespace only in typecheck/TcGenDeriv.lhs
Ian Lynagh [Thu, 11 Oct 2012 15:30:13 +0000 (16:30 +0100)] 
Whitespace only in typecheck/TcGenDeriv.lhs

7 years agoFix build on Windows
Ian Lynagh [Thu, 11 Oct 2012 15:25:23 +0000 (16:25 +0100)] 
Fix build on Windows

gcc couldn't find ghc_boot_platform.h. I'm not sure why it worked on

7 years agoRemove fake-happy; it's no longer useful
Ian Lynagh [Thu, 11 Oct 2012 14:34:46 +0000 (15:34 +0100)] 
Remove fake-happy; it's no longer useful

7 years agoRemove cvs-build; it's no longer used
Ian Lynagh [Thu, 11 Oct 2012 14:34:07 +0000 (15:34 +0100)] 
Remove cvs-build; it's no longer used

7 years agoRemove the distrib/prep-bin-* scripts
Ian Lynagh [Thu, 11 Oct 2012 14:33:28 +0000 (15:33 +0100)] 
Remove the distrib/prep-bin-* scripts

They are no longer used

7 years agoRemove distrib/Mac*; fixes #7136
Ian Lynagh [Thu, 11 Oct 2012 14:31:57 +0000 (15:31 +0100)] 
Remove distrib/Mac*; fixes #7136

We no longer produce installers fo OS X; we leave that to the Haskell
Platform team.

7 years agoMove the primop bits into the compiler/stage<n>/build directories
Ian Lynagh [Wed, 10 Oct 2012 14:54:08 +0000 (15:54 +0100)] 
Move the primop bits into the compiler/stage<n>/build directories

We shouldn't be generating files in the source directories

7 years agoPut the generated Parser.y under compiler/stage<n>/build; fixes #7195
Ian Lynagh [Wed, 10 Oct 2012 01:12:56 +0000 (02:12 +0100)] 
Put the generated Parser.y under compiler/stage<n>/build; fixes #7195

7 years agoMake -fexcess-precision a fully-dynamic flag
Ian Lynagh [Tue, 9 Oct 2012 22:41:44 +0000 (23:41 +0100)] 
Make -fexcess-precision a fully-dynamic flag

It used to be part-dynamic, part-static.

7 years agoMake -f(no-)pre-inlining a dynamic flag
Ian Lynagh [Tue, 9 Oct 2012 22:28:13 +0000 (23:28 +0100)] 
Make -f(no-)pre-inlining a dynamic flag

7 years agoWhitespace only in simplCore/SimplMonad.lhs
Ian Lynagh [Tue, 9 Oct 2012 21:27:26 +0000 (22:27 +0100)] 
Whitespace only in simplCore/SimplMonad.lhs

7 years agoWhitespace only in simplCore/SimplUtils.lhs
Ian Lynagh [Tue, 9 Oct 2012 21:24:49 +0000 (22:24 +0100)] 
Whitespace only in simplCore/SimplUtils.lhs

7 years agoWhitespace only in simplCore/SimplEnv.lhs
Ian Lynagh [Tue, 9 Oct 2012 21:15:54 +0000 (22:15 +0100)] 
Whitespace only in simplCore/SimplEnv.lhs

7 years agoMake -fsimple-list-literals a dynamic flag
Ian Lynagh [Tue, 9 Oct 2012 17:22:57 +0000 (18:22 +0100)] 
Make -fsimple-list-literals a dynamic flag

7 years agoMake -fmax-worker-args a dynamic flag
Ian Lynagh [Tue, 9 Oct 2012 16:31:51 +0000 (17:31 +0100)] 
Make -fmax-worker-args a dynamic flag

7 years agoMake the -dsuppress-* flags dynamic
Ian Lynagh [Tue, 9 Oct 2012 14:59:15 +0000 (15:59 +0100)] 
Make the -dsuppress-* flags dynamic

7 years agoMerge branch 'master' of
Ian Lynagh [Tue, 9 Oct 2012 11:33:00 +0000 (12:33 +0100)] 
Merge branch 'master' of

7 years ago-fliberate-case-threshold is already a dynamic flag
Ian Lynagh [Tue, 9 Oct 2012 11:32:26 +0000 (12:32 +0100)] 
-fliberate-case-threshold is already a dynamic flag

7 years agoMake the opt_UF_* static flags dynamic
Ian Lynagh [Mon, 8 Oct 2012 23:27:28 +0000 (00:27 +0100)] 
Make the opt_UF_* static flags dynamic

I also removed the default values from the "Discounts and thresholds"
note: most of them were no longer up-to-date.

Along the way I added FloatSuffix to the argument parser, analogous to

7 years agoprofiling fixes
Simon Marlow [Tue, 9 Oct 2012 08:23:50 +0000 (09:23 +0100)] 
profiling fixes

7 years agoFix comment
Simon Marlow [Mon, 8 Oct 2012 09:58:25 +0000 (10:58 +0100)] 
Fix comment

patch submitted by

7 years agoRemove unnecessary warning suppression
Ian Lynagh [Mon, 8 Oct 2012 23:09:33 +0000 (00:09 +0100)] 
Remove unnecessary warning suppression

7 years agoMake the -ferror-spans flag dynamic
Ian Lynagh [Mon, 8 Oct 2012 23:07:15 +0000 (00:07 +0100)] 
Make the -ferror-spans flag dynamic

7 years agoMerge ../ghc
Roman Leshchinskiy [Mon, 8 Oct 2012 22:37:14 +0000 (23:37 +0100)] 
Merge ../ghc

7 years agoFix copyArray# bug in new code generator
Roman Leshchinskiy [Mon, 8 Oct 2012 22:36:18 +0000 (23:36 +0100)] 
Fix copyArray# bug in new code generator

7 years agoFix copyArray# bug in old code generator
Roman Leshchinskiy [Mon, 8 Oct 2012 22:35:30 +0000 (23:35 +0100)] 
Fix copyArray# bug in old code generator

7 years agoPut the DynFlags in a global variable for tracing; fixes #7304
Ian Lynagh [Mon, 8 Oct 2012 20:55:23 +0000 (21:55 +0100)] 
Put the DynFlags in a global variable for tracing; fixes #7304

This is an ugly kludge to make a DynFlags value available for the
'trace' functions. It may not be the value we really ought to use,
but it'll be good enough for the pretty-printer to use.

Ideally we'd pass the real DynFlags down to all the trace calls,
but this will do for now at least.

7 years agountab
Simon Marlow [Mon, 8 Oct 2012 08:43:55 +0000 (09:43 +0100)] 

7 years agoFix a dependency bug in the build system
Simon Marlow [Fri, 5 Oct 2012 09:34:42 +0000 (10:34 +0100)] 
Fix a dependency bug in the build system

I've been meaning to track this one down for a long time.
Occasionally a build will fail with an error about a .so library being
truncated; the reason was that we weren't tracking the dependencies of
the GHC stage2 .so library correctly.

7 years agofix a warning
Simon Marlow [Fri, 5 Oct 2012 08:59:31 +0000 (09:59 +0100)] 
fix a warning

7 years agoexpand tabs
Simon Marlow [Fri, 5 Oct 2012 08:51:24 +0000 (09:51 +0100)] 
expand tabs

7 years agoProduce new-style Cmm from the Cmm parser
Simon Marlow [Wed, 3 Oct 2012 08:30:56 +0000 (09:30 +0100)] 
Produce new-style Cmm from the Cmm parser

The main change here is that the Cmm parser now allows high-level cmm
code with argument-passing and function calls.  For example:

foo ( gcptr a, bits32 b )
  if (b > 0) {
     // we can make tail calls passing arguments:
     jump stg_ap_0_fast(a);

  return (x,y);

More details on the new cmm syntax are in Note [Syntax of .cmm files]
in CmmParse.y.

The old syntax is still more-or-less supported for those occasional
code fragments that really need to explicitly manipulate the stack.
However there are a couple of differences: it is now obligatory to
give a list of live GlobalRegs on every jump, e.g.

  jump %ENTRY_CODE(Sp(0)) [R1];

Again, more details in Note [Syntax of .cmm files].

I have rewritten most of the .cmm files in the RTS into the new
syntax, except for AutoApply.cmm which is generated by the genapply
program: this file could be generated in the new syntax instead and
would probably be better off for it, but I ran out of enthusiasm.

Some other changes in this batch:

 - The PrimOp calling convention is gone, primops now use the ordinary
   NativeNodeCall convention.  This means that primops and "foreign
   import prim" code must be written in high-level cmm, but they can
   now take more than 10 arguments.

 - CmmSink now does constant-folding (should fix #7219)

 - .cmm files now go through the cmmPipeline, and as a result we
   generate better code in many cases.  All the object files generated
   for the RTS .cmm files are now smaller.  Performance should be
   better too, but I haven't measured it yet.

 - RET_DYN frames are removed from the RTS, lots of code goes away

 - we now have some more canned GC points to cover unboxed-tuples with
   2-4 pointers, which will reduce code size a little.

7 years agoAdd a ToDo comment
Simon Marlow [Thu, 9 Aug 2012 15:55:15 +0000 (16:55 +0100)] 
Add a ToDo comment

7 years agoMerge branch 'master' of
Ian Lynagh [Fri, 5 Oct 2012 00:12:45 +0000 (01:12 +0100)] 
Merge branch 'master' of

7 years agoMake adjust_ul handle BCOs
Ian Lynagh [Thu, 4 Oct 2012 23:40:50 +0000 (00:40 +0100)] 
Make adjust_ul handle BCOs

We never ran into this before, because replace_osuf was almost always
False (i.e. we were almost always using the vanilla way when using
bytecode, so adjust_ul wasn't needed). Now that we can have the dynamic
way on by default many tests were failing because of it.

7 years agoLoad the right object files in ghci
Ian Lynagh [Thu, 4 Oct 2012 19:44:41 +0000 (20:44 +0100)] 
Load the right object files in ghci

When we have a dynamic ghc, we need to load the dynamic object files

7 years agoMerge branch 'master' of
Simon Peyton Jones [Thu, 4 Oct 2012 16:56:11 +0000 (17:56 +0100)] 
Merge branch 'master' of

7 years agoDo not do type-class defaulting if there are insoluble constraints
Simon Peyton Jones [Thu, 4 Oct 2012 16:55:38 +0000 (17:55 +0100)] 
Do not do type-class defaulting if there are insoluble constraints

Type-class defaulting won't help with those insolubles,
and it does make arbitrary choices that obfuscate the
error messages from the insolubles.

7 years agoImprove erorr location for Given errors
Simon Peyton Jones [Thu, 4 Oct 2012 16:54:38 +0000 (17:54 +0100)] 
Improve erorr location for Given errors

Note [Inaccessible code].
Fixes Trac #7293.

7 years agoDo not create extra evidence given/derived variables in the Refl case of rewriteCtFlavor
Simon Peyton Jones [Thu, 4 Oct 2012 16:53:07 +0000 (17:53 +0100)] 
Do not create extra evidence given/derived variables in the Refl case of rewriteCtFlavor

Previously this optimisation only applied in the Wanted case,
but it works perfectly well in the others too, and saves
redundant evidence bindings.

7 years agoImprove debug tracing slighty
Simon Peyton Jones [Thu, 4 Oct 2012 16:51:47 +0000 (17:51 +0100)] 
Improve debug tracing slighty

7 years agoImprove pretty-printing for holes
Simon Peyton Jones [Thu, 4 Oct 2012 16:50:34 +0000 (17:50 +0100)] 
Improve pretty-printing for holes

7 years agoComments only
Simon Peyton Jones [Thu, 4 Oct 2012 16:50:24 +0000 (17:50 +0100)] 
Comments only

7 years agoActually build things the dynamic way
Ian Lynagh [Thu, 4 Oct 2012 15:00:17 +0000 (16:00 +0100)] 
Actually build things the dynamic way

Things went back to being statically linked again once I added an
explicit -static flag to the vanilla way.

7 years agoWindows install fix
Ian Lynagh [Wed, 3 Oct 2012 22:03:46 +0000 (23:03 +0100)] 
Windows install fix

7 years agoFix Windows build
Ian Lynagh [Wed, 3 Oct 2012 21:52:05 +0000 (22:52 +0100)] 
Fix Windows build

7 years agoFix the recompilation check for dynamic libraries
Ian Lynagh [Wed, 3 Oct 2012 18:05:28 +0000 (19:05 +0100)] 
Fix the recompilation check for dynamic libraries

I've put mkSOName in HscTypes for now; I'm not sure what the best place
for it is.

7 years agoAdd a "Dynamic by default" field to the ghc --info output
Ian Lynagh [Wed, 3 Oct 2012 16:59:59 +0000 (17:59 +0100)] 
Add a "Dynamic by default" field to the ghc --info output

7 years agoMerge branch 'master' of
Ian Lynagh [Wed, 3 Oct 2012 15:10:16 +0000 (16:10 +0100)] 
Merge branch 'master' of

7 years agoAdd a couple more RTS ways
Ian Lynagh [Wed, 3 Oct 2012 15:07:57 +0000 (16:07 +0100)] 
Add a couple more RTS ways

There are used by the testsuite when dynamic-by-default is on

7 years agoThe non-dynamic ways now need to explicitly use -static
Ian Lynagh [Wed, 3 Oct 2012 12:12:23 +0000 (13:12 +0100)] 
The non-dynamic ways now need to explicitly use -static

as x86_64/Linux now defaults to -dynamic

7 years agoBuild the dynamic way by default on Linux/amd64
Ian Lynagh [Tue, 25 Sep 2012 18:50:09 +0000 (19:50 +0100)] 
Build the dynamic way by default on Linux/amd64

This required various build system changes to get the build to go

In the inplace shell wrappers, we set LD_LIBRARY_PATH to allow programs
to find their libraries. In the future, we might change the inplace tree
to be the same shape as an installed tree instead. However, this would
mean changing the way we do installation, as currently we use cabal's
installation methods to install the libraries, but that only works if
the libraries are under libraries/foo/dist-install/build/..., rather
than in inplace/lib/...

7 years agoMerge branch 'master' of
Simon Peyton Jones [Wed, 3 Oct 2012 10:17:03 +0000 (11:17 +0100)] 
Merge branch 'master' of

7 years agoThis big patch re-factors the way in which arrow-syntax is handled
Simon Peyton Jones [Wed, 3 Oct 2012 10:16:22 +0000 (11:16 +0100)] 
This big patch re-factors the way in which arrow-syntax is handled

All the work was done by Dan Winograd-Cort.

The main thing is that arrow comamnds now have their own
data type HsCmd (defined in HsExpr).  Previously it was
punned with the HsExpr type, which was jolly confusing,
and made it hard to do anything arrow-specific.

To make this work, we now parameterise
  * MatchGroup
  * Match
  * StmtLR and friends
over the "body", that is the kind of thing they
enclose.  This "body" parameter can be instantiated to
either LHsExpr or LHsCmd respectively.

Everything else is really a knock-on effect; there should
be no change (yet!) in behaviour.  But it should be a sounder
basis for fixing bugs.

7 years agoTypo
Jose Pedro Magalhaes [Wed, 3 Oct 2012 07:55:47 +0000 (08:55 +0100)] 

7 years agoFix type error in 2c207b6f (Compare the kinds of type variables)
Simon Peyton Jones [Wed, 3 Oct 2012 07:15:34 +0000 (08:15 +0100)] 
Fix type error in 2c207b6f (Compare the kinds of type variables)

7 years agoImprove constraint solver depth error slightly
Simon Peyton Jones [Wed, 3 Oct 2012 07:13:46 +0000 (08:13 +0100)] 
Improve constraint solver depth error slightly

7 years agoAdd a flag to tell ghc to use $ORIGIN when linking program dynamically
Ian Lynagh [Mon, 1 Oct 2012 20:39:04 +0000 (21:39 +0100)] 
Add a flag to tell ghc to use $ORIGIN when linking program dynamically

7 years agoGive PrimOps a NOINLINE pragma, to suppress silly warnings from dsRule
Simon Peyton Jones [Tue, 2 Oct 2012 16:39:46 +0000 (17:39 +0100)] 
Give PrimOps a NOINLINE pragma, to suppress silly warnings from dsRule

See Trac #7287

7 years agoMake sure that we check for type errors strictly in a Template Haskell splice, even...
Simon Peyton Jones [Mon, 1 Oct 2012 20:52:19 +0000 (21:52 +0100)] 
Make sure that we check for type errors strictly in a Template Haskell splice, even if -fdefer-type-errors is on

We're going to run this code, so there's no point in deferring type
errors.  Worse, TcSplice uses unsafeCoerce (for vevy good reasons),
so splicing a type into a place where an expression is expected would
yield a seg-fault if we plough on regardless.

Fixes Trac #7276

7 years agoCompare the kinds of type variables when comparing types
Simon Peyton Jones [Tue, 2 Oct 2012 17:11:08 +0000 (18:11 +0100)] 
Compare the kinds of type variables when comparing types

This is just a bug that's been around since we introduced
polymorphic kinds.  The roots are in Type.cmpTypeX, but
there was a variant in TcRnDriver.checkBootTyCon, which
is where it came up.

Fixes Trac #7272

7 years agoMerge branch 'tc-untouchables'
Simon Peyton Jones [Tue, 2 Oct 2012 14:20:05 +0000 (15:20 +0100)] 
Merge branch 'tc-untouchables'

7 years agoMerge remote-tracking branch 'origin/master'
Simon Peyton Jones [Tue, 2 Oct 2012 14:18:44 +0000 (15:18 +0100)] 
Merge remote-tracking branch 'origin/master'

7 years agoA few more constraint solver improvements
Simon Peyton Jones [Tue, 2 Oct 2012 08:23:47 +0000 (09:23 +0100)] 
A few more constraint solver improvements

* Get rid of the lookupInInerts stage

* Re-introduce the flat-cache for flattening type-family equations
  See Note [Type family equations] in TcSMonad. My previous clever attempt
  with organising the work list proved too fragile.

  There's a (static) flag -fno-flat-cache to switch if off,
  so you can try with and without

* Improve the -ddump-cs-trace output

* The usual round of refactoring

7 years ago-fhpc is no longer a static flag (fixes hpc tests)
Simon Marlow [Thu, 27 Sep 2012 08:50:33 +0000 (09:50 +0100)] 
-fhpc is no longer a static flag (fixes hpc tests)

7 years agoFix typo in the documentation of CApiFFI
shelarcy [Tue, 2 Oct 2012 08:10:13 +0000 (17:10 +0900)] 
Fix typo in the documentation of CApiFFI

Signed-off-by: Gabor Greif <>
7 years agoImprove (and simplify) the short-circuiting of Refl coercions
Simon Peyton Jones [Tue, 2 Oct 2012 08:20:53 +0000 (09:20 +0100)] 
Improve (and simplify) the short-circuiting of Refl coercions

The constraint solver sometimes goes to a lot of effort that turns
out to be Refl in the end, and avoiding zonking those proofs is a
useful optimisation. (Trac #5030)

7 years agoComments, and unused import
Simon Peyton Jones [Tue, 2 Oct 2012 07:31:31 +0000 (08:31 +0100)] 
Comments, and unused import

7 years agoRefactor the shell-wrapper-creation logic
Ian Lynagh [Thu, 27 Sep 2012 18:11:09 +0000 (19:11 +0100)] 
Refactor the shell-wrapper-creation logic

7 years agoPut libexec binaries in lib/bin/ rather than just lib/
Ian Lynagh [Thu, 27 Sep 2012 13:35:05 +0000 (14:35 +0100)] 
Put libexec binaries in lib/bin/ rather than just lib/

Some binaries are installed in lib/, so if we wanted them to have a
shell wrapper then under the old scheme both the binary and the wrapper
would be installed under lib/. Now the binary is put under lib/bin/,
leaving lib/ for the wrapper.

7 years agoDo flag consistency checks at the end of flag parsing
Ian Lynagh [Sun, 30 Sep 2012 17:24:07 +0000 (18:24 +0100)] 
Do flag consistency checks at the end of flag parsing

This makes it easier to ensure that we get consistent consistency
checking, e.g. that
    -f1 -f2
will do the same checks as
    -f2 -f1

I think that some of the checks were bogus before, but hopefully
all are correct now.

7 years agoAllow -static to be used after -dynamic
Ian Lynagh [Mon, 1 Oct 2012 18:32:01 +0000 (19:32 +0100)] 
Allow -static to be used after -dynamic

It's still the case that
    -dynamic -static
will leave -fPIC enabled, but it's tricky to avoid that, and we already
have similar situations where for example
    -XRankNTypes -XNoRankNTypes
will leave ExplicitForAll enabled.

7 years agoRemove some old, commented out bits
Ian Lynagh [Mon, 1 Oct 2012 16:32:19 +0000 (17:32 +0100)] 
Remove some old, commented out bits

7 years agoMerge branch 'tc-untouchables' of into tc-untouchables
Simon Peyton Jones [Mon, 1 Oct 2012 10:26:12 +0000 (11:26 +0100)] 
Merge branch 'tc-untouchables' of into tc-untouchables

7 years agoTracing in TcUnify
Simon Peyton Jones [Mon, 1 Oct 2012 10:26:04 +0000 (11:26 +0100)] 
Tracing in TcUnify

7 years agoComments about silent superclasses
Simon Peyton Jones [Mon, 1 Oct 2012 10:24:10 +0000 (11:24 +0100)] 
Comments about silent superclasses

7 years agoModest refactoring (put bumpStepCounter into traceFireTcS, and other simple things)
Simon Peyton Jones [Mon, 1 Oct 2012 10:19:53 +0000 (11:19 +0100)] 
Modest refactoring (put bumpStepCounter into traceFireTcS, and other simple things)

7 years agoModest refactoring in TcCanonical (and TcSMonad)
Simon Peyton Jones [Mon, 1 Oct 2012 09:40:35 +0000 (10:40 +0100)] 
Modest refactoring in TcCanonical (and TcSMonad)

7 years agoSimplify the reOrient function (no change in behaviour)
Simon Peyton Jones [Mon, 1 Oct 2012 09:38:22 +0000 (10:38 +0100)] 
Simplify the reOrient function (no change in behaviour)

7 years agoFix an ASSERT
Simon Peyton Jones [Mon, 1 Oct 2012 09:37:12 +0000 (10:37 +0100)] 

7 years agoUse System Names for evidence variables
Simon Peyton Jones [Mon, 1 Oct 2012 09:36:13 +0000 (10:36 +0100)] 
Use System Names for evidence variables

These variables all have uniformative names like "cobox" or "d".
Make them System Names tells the pretty printer to show their
uniques even without -dppr-debug.  That in turn makes the
less-voluminous debug traces *much* more informative.