1. 04 Apr, 2007 2 commits
  2. 03 Apr, 2007 1 commit
  3. 02 Apr, 2007 1 commit
    • simonpj@microsoft.com's avatar
      Make type-tidying work for coercion variables · f2b02ce8
      simonpj@microsoft.com authored
      When tidying a TyVar binder, we must tidy its kind if it's a coercion
      variable!  I had forgotten to do this, which is a serious bug.  As a
      result some more complicated programs were getting a Lint error when
      reading in interface files.  Score one for Core Lint!
  4. 01 Apr, 2007 1 commit
  5. 06 Mar, 2007 1 commit
  6. 02 Apr, 2007 1 commit
  7. 30 Mar, 2007 2 commits
    • simonpj@microsoft.com's avatar
      The ru_local field of a CoreRule is False for implicit Ids · ec81fdde
      simonpj@microsoft.com authored
      	MERGE to 6.6.1
      For class-ops, record selectors, data constructors, we want the ru_local
      field of the Rule to be False.  We do not attach the rule to the binding
      for the Id, because there simply isn't a binding until the code gen stage.
      (NB: the ru_local field is different to the orphan-hood of the rule.)
      This fixes a bug that meant that RULES on class ops were never exported.
    • simonpj@microsoft.com's avatar
      Match the type of an Id during rule matching · 206b7529
      simonpj@microsoft.com authored
      	Please MERGE to 6.6.1
      Consider this RULE
          forall (c::Char->Int) (x::Char). 
      	f (c x) = "RULE FIRED"
      Well, this should only match on arguments of the specified type
      But we simply weren't checking this condition before.  Now we are.
      Test is simplrun008
  8. 28 Mar, 2007 1 commit
  9. 29 Mar, 2007 2 commits
  10. 28 Mar, 2007 3 commits
  11. 27 Mar, 2007 5 commits
    • wolfgang.thaller@gmx.net's avatar
      Make GHC main program depend on the libHSghc_dyn when GhcBuildDylibs==YES · be96a4fa
      wolfgang.thaller@gmx.net authored
      When building a dynamic GHC, we obviously want to build the dynamic library
      libHSghc_dyn.[so|dylib] before building the compiler executable.
    • wolfgang.thaller@gmx.net's avatar
      Use a sensible set of compiler options for building dynamic libraries on Mac OS X · 006e481e
      wolfgang.thaller@gmx.net authored
      The official options to use for building a dylib on Mac OS X are now
      -undefined dynamic_lookup -single_module -Wl,-macosx_version_min -Wl,10.3
      ... which should work on all arches (10.3 or later).
    • Simon Marlow's avatar
      make GHCi use base:Prelude, not just Prelude · 4439532f
      Simon Marlow authored
      The module that GHCi uses for its default scope should be exactly
      base:Prelude, not whatever Prelude is found on the search path.
    • Simon Marlow's avatar
      more improvements for #1119 · 075a7bad
      Simon Marlow authored
      When GHCi compiles its code framgents for setting buffering, it wants
      to refer to base:System.IO rather than whatever System.IO is on the
      search path, unfortunately there's no way to do this in source code,
      so to hack around it we set the search path to empty before compiling
      these expressions (not forgetting to flush the finder cache
    • Simon Marlow's avatar
      partial fix for #1119 · 1e8ae3f0
      Simon Marlow authored
      Unless we're in one-shot mode, emit an error if we attempt to
      demand-load interfaces for home modules.  This can only happen in one
      way (that I'm aware of): typing a qualified name at the GHCi prompt
      that refers to a module that isn't loaded.  Previously you got a
      cryptic message about not finding an interface file, now you get:
      Prelude> Foo.a
          attempting to use module `Foo' (Foo.hs) which is not loaded
      Of course you can still refer to package modules like this without
      loading them explicitly, only home modules are affected, and the
      behaviour is exactly the same as if you try to ':browse Foo' and
      Foo isn't loaded.
  12. 26 Mar, 2007 1 commit
    • Simon Marlow's avatar
      remove docs for unimplemented options · 70d12d0e
      Simon Marlow authored
      -optdep--include-module and --optdep--exclude-directory were features
      of the old mkdependHS script but weren't implemented when mkdependHS
      was merged into GHC.
  13. 27 Mar, 2007 1 commit
  14. 23 Mar, 2007 1 commit
  15. 26 Mar, 2007 2 commits
  16. 23 Mar, 2007 3 commits
  17. 22 Mar, 2007 6 commits
  18. 21 Mar, 2007 1 commit
    • simonpj@microsoft.com's avatar
      Fix checkHiBootIface for instances declared in hs-boot files · 9ac57e65
      simonpj@microsoft.com authored
      Hs-boot files can contain instance declarations, but Duncan used this feature
      for the first time today, and it didn't quite work.  I'm not sure whether
      it worked before; anyway it does now.
      The point is that the hs-boot file advertises an instance for, say, Num Int,
      with the arbitrary name $fx1.  The main module declares Num Int, and gives
      it the name, say, $f3.  So we need to generate a declaration
      	$fx1 = $f3
      to make it all line up.  And (this is the bit that was wrong) we need
      to make that new binding visible to imported unfoldings that mention
  19. 18 Mar, 2007 1 commit
    • red5_2@hotmail.com's avatar
      mangler and runtime updates for gcc 4 on ia64 · 79adecdb
      red5_2@hotmail.com authored
      Gcc 4 is doing more clever optimizations than earlier gccs. 
      These changes let ghc compile and run on ia64 with gcc 4.0.3.
      Register stack frames are enlarged so that all functions use the 
      same size stack frame.
      The code to mangle tail calls has been cleaned up and made more 
      Additional floating-point and special-purpose registers used by 
      GCC are saved upon entering the STG runtime.
      More general handling of NOP instructions.
      Handling of functions with multiple epilogues or no epilogue.
  20. 17 Mar, 2007 1 commit
    • red5_2@hotmail.com's avatar
      ia64 tailcall fix · 123ed121
      red5_2@hotmail.com authored
      Tail-calls now branch to the end of the function after the call.  This 
      stops gcc from trying to move instructions into the space immediately 
      after the call, which confuses the mangler.
  21. 21 Mar, 2007 3 commits