1. 10 Jan, 2005 6 commits
    • panne's avatar
      [project @ 2005-01-10 19:01:27 by panne] · 7a8bd246
      panne authored
      Refactored and cleaned up ld-related tests. Only tested mildly under Linux.
      7a8bd246
    • wolfgang's avatar
      [project @ 2005-01-10 18:44:38 by wolfgang] · 0aca2f00
      wolfgang authored
      Handle foreign import wrapper properly for MacOS X, powerpc64-linux and AIX.
      Only Mac OS X tested so far.
      Pass information about argument types from DsForeign to createAdjustor encoded
      as a string ('i' for integers, 'f' for floats, 'd' for doubles and 'l' for
      long [64bit] integers).
      0aca2f00
    • simonmar's avatar
      [project @ 2005-01-10 16:24:16 by simonmar] · 5908f01a
      simonmar authored
      Add *.S to $(C_SRCS).  Seems to do the right thing, including  mkdependC.
      5908f01a
    • simonmar's avatar
      [project @ 2005-01-10 13:53:14 by simonmar] · cad81487
      simonmar authored
      Obscure bugfix affecting foreign import "wrapper" with non-word-sized
      argument types (eg. Double) on Windows.  The list of arguments types
      returned by dsFExport was the boxed types, rather than the unboxed
      types, so dsFExportDynamic couldn't get the correct sizes of the
      argument types to the stub function.
      
      It's more correct now, but not totally correct (see the comment for
      details).
      
      Noticed by: Wolfgang Thaller.
      cad81487
    • simonmar's avatar
      [project @ 2005-01-10 12:34:21 by simonmar] · 038f8bb5
      simonmar authored
      Remove copied definitions for joinFileName, splitFileName:
      System.FilePath is in libghccompat now.
      038f8bb5
    • simonmar's avatar
      [project @ 2005-01-10 11:45:19 by simonmar] · f13895fc
      simonmar authored
      Work around problems caused by limit on the length of the command line
      in ld, which shows up when building OpenGL on Windows with SplitObjs=YES.
      
      We now pass the names of the input files to ld via a linker script.
      This is (probably) only supported by GNU ld, so we now have to detect
      GNU ld in the configure script (yawn) and back off to the old method
      if we don't have it.
      f13895fc
  2. 09 Jan, 2005 1 commit
    • desrt's avatar
      [project @ 2005-01-09 00:29:05 by desrt] · d27af865
      desrt authored
      Modified the mangler for powerpc64.  This is the last missing piece for supporting
      registerised builds on PPC64.
      
      The current state of the mangler is temporary.  We're discussing a better way to take
      advantage of the PPC64 ABI's unique features to provide a better way of storing info
      tables.
      
      I don't think I've changed anything that affects other platforms.
      d27af865
  3. 08 Jan, 2005 2 commits
    • desrt's avatar
      [project @ 2005-01-08 22:54:28 by desrt] · 1e7063fc
      desrt authored
      Fixed this 6.4 TODO item listed on the wiki:
      
       PowerPC Linux (32bit): Fix GHCi FFI calls for arguments that are not passed on the stack (ByteCodeFFI).
      
      Separated the code for Darwin and Linux (for PowerPC only).  Rewrote the Linux version to account for the differences in the ABIs.
      
      All changes are inside #if powerpc_TARGET_ARCH && linux_TARGET_OS except:
        - import Data.List ( mapAccumL )      (used by my code)
        - small fix to a comment typo in Wolfgang's Darwin code
        - changed 'undefined' to a more meaningful 'error' message if
           mkMarshalCode is unimplemented
      
      Ran regression tests.  It passes them all except for the ones that are broken because of the 'wrapper' problems currently being addressed.
      1e7063fc
    • krasimir's avatar
      [project @ 2005-01-08 16:37:09 by krasimir] · 2429d1be
      krasimir authored
      system is replaced with rawSystem. This allows to use path names with embeded
      spaces under Windows. This is the same story as with hsc2hs but ghc-pkg is
      used only with GHC, so the change will not affect other compilers.
      Cabal uses "Program Files" as default installation path and this manifests
      the bug.
      2429d1be
  4. 07 Jan, 2005 1 commit
    • simonmar's avatar
      [project @ 2005-01-07 13:06:20 by simonmar] · 2fe2881b
      simonmar authored
      Fix what looks like a cut-n-pasto in retry#: the MAYBE_GC() was
      specifying readTVarzh_fast as the restart point, leading to a crash if
      MAYBE_GC triggered a GC in here.
      2fe2881b
  5. 06 Jan, 2005 13 commits
  6. 05 Jan, 2005 7 commits
  7. 04 Jan, 2005 4 commits
    • simonpj's avatar
      [project @ 2005-01-04 16:26:55 by simonpj] · a27f7c87
      simonpj authored
      ------------------
                Fix an mdo bug
        	------------------
      
      Embarassingly, this bug makes GHC either panic (for some programs) or
      go into a loop (on others) in a recursive mdo that involves a
      polymorphic function.  Urk!
      
      The fix is twofold:
        a) add a missing bindInstsOfLocalFuns to tcStmtAndThen (RecStmt case)
        b) bind the correct set of variables in dsRecStmt
      
      I added some explanatory comments about RecStmt in HsExpr too.
      
      The tests is mdo/should_compile/mdo006
      a27f7c87
    • simonmar's avatar
      [project @ 2005-01-04 13:41:53 by simonmar] · f3cdd93b
      simonmar authored
      ghc/mk/config.mk was never being included in ordinary Makefiles.  It
      was only included in the top-level fptools/Makefile for the purposes
      of obtaining binary distribution settings.
      
      This fixes that problem, and now as a side-effect $(GhcHasReadline)
      will start working again.
      f3cdd93b
    • simonpj's avatar
      [project @ 2005-01-04 10:26:34 by simonpj] · 700819de
      simonpj authored
      Import trimming
      700819de
    • simonpj's avatar
      [project @ 2005-01-04 09:19:50 by simonpj] · ce82d32e
      simonpj authored
      Remove redundant Subst hi-boot files
      ce82d32e
  8. 30 Dec, 2004 1 commit
    • simonpj's avatar
      [project @ 2004-12-30 22:14:59 by simonpj] · 7f05f109
      simonpj authored
      Fix to the pre-Xmas simplifier changes, which should make 
      everything work again.  I'd forgotten to attend to this
      corner.  Still not properly tested I fear.
      
      Also remove dead code from SimplEnv, and simplify the remainder (hooray).
      7f05f109
  9. 27 Dec, 2004 2 commits
  10. 24 Dec, 2004 3 commits
    • simonpj's avatar
      [project @ 2004-12-24 16:14:36 by simonpj] · 339d5220
      simonpj authored
      ---------------------------
                Refactor the simplifier
        	---------------------------
      
      Driven by a GADT bug, I have refactored the simpifier, and the way GHC
      treats substitutions.  I hope I have gotten it right.  Be cautious about updating.
      
      * coreSyn/Subst.lhs has gone
      
      * coreSyn/CoreSubst replaces it, except that it's quite a bit simpler
      
      * simplCore/SimplEnv is added, and contains the simplifier-specific substitution
        stuff
      
      Previously Subst was trying to be all things to all men, and that was making
      it Too Complicated.
      
      There may be a little more code now, but it's much easier to understand.
      339d5220
    • simonpj's avatar
      [project @ 2004-12-24 11:38:09 by simonpj] · 0498d355
      simonpj authored
      Reset the export flag for the new bindings in LiberateCase
      0498d355
    • simonpj's avatar
      [project @ 2004-12-24 11:02:39 by simonpj] · 0ee11df0
      simonpj authored
      Further wibbles to the scoped-tyvar story.
      
      This commit tidies up the ATyVar in TcTyThing, making it
      	ATyVar Name Type
      instead of the previous misleading
      	ATyVar TyVar Type
      
      But the main thing is that we must take care with definitions
      like this:
      
      	type T a = forall b. b -> (a,b)
      
      	f :: forall c. T c
      	f = ...
      
      Here, we want only 'c' to scope over the RHS of f.  The renamer ensures
      that... but we must also take care that we freshly instantiate the 
      expanded type signature (forall c b. b -> (c,b)) before checking f's RHS,
      so that we don't get false sharing between uses of T.
      0ee11df0