1. 16 May, 2001 3 commits
  2. 15 May, 2001 4 commits
    • sof's avatar
      [project @ 2001-05-15 19:57:08 by sof] · 37e76467
      sof authored
      -fglasgow-exts doesn't seem to imply -package data anymore -- add it to HC_OPTS
    • sof's avatar
      [project @ 2001-05-15 19:54:46 by sof] · 204d5aab
      sof authored
      Use LD_OPTS when linking the test binary
    • sewardj's avatar
      [project @ 2001-05-15 15:29:03 by sewardj] · 5c080580
      sewardj authored
      Fix up the PEi386 linker well enough for ghci to start and function
      on Win32.  Two potential problems still to be fixed properly:
      * ocGetNames_PEi386 doesn't copy local syms into oc's local symtab,
        and it probably should (since the ELF one does).  Easy to fix.
      * I can't figure out how to read syms in the executable itself
        on Win32.  This problem is solved properly for Unix-ELF by doing
        dlopen(NULL).  Here I have kludged it using RTS_MINGW_ONLY_SYMBOLS,
        but this is not a good long-term solution.
    • sewardj's avatar
      [project @ 2001-05-15 15:01:48 by sewardj] · 9e41f44a
      sewardj authored
      Handle leading underscores correctly, for ghci on Win32.
  3. 14 May, 2001 5 commits
    • sewardj's avatar
      [project @ 2001-05-14 16:40:54 by sewardj] · 7e8d0a0b
      sewardj authored
      Record-selector unfolding fix #2
    • simonpj's avatar
      [project @ 2001-05-14 12:55:31 by simonpj] · 934a2c9f
      simonpj authored
      comment wibble
    • simonpj's avatar
      [project @ 2001-05-14 12:55:11 by simonpj] · 44d91e4c
      simonpj authored
      Add DEBUG code for CgInfo field of IdInfo
    • simonpj's avatar
      [project @ 2001-05-14 12:03:41 by simonpj] · ea8abf4c
      simonpj authored
      ****	MERGE WITH 5.00 BRANCH     ********
      	Expose record selectors with correct unfoldings
      The problem was that there was that with "ghc --make" we were
      passing on record selectors to importing modules in their un-tidied
      form.  The idea was that they have very stylised bindings so they
      don't need tidying.  But they do, because they may mention error
      messages that get floated out.
      Here's the comment from CoreTidy.lhs
      -- MINOR-HACK ALERT: we *do* tidy record selectors.  Reason: they mention error
      -- messages, which may be floated out:
      --	x_field pt = case pt of
      --			Rect x y -> y
      --			Pol _ _  -> error "buggle wuggle"
      -- The error message will be floated out so we'll get
      --	lvl5 = error "buggle wuggle"
      --	x_field pt = case pt of
      --			Rect x y -> y
      --			Pol _ _  -> lvl5
      -- When this happens, it's vital that the Id exposed to importing modules
      -- (by ghci) mentions lvl5 in its unfolding, not the un-tidied version.
      -- What about the Id in the TyCon?  It probably shouldn't be in the TyCon at
      -- all, but in any case it will have the error message inline so it won't matter.
    • sewardj's avatar
      [project @ 2001-05-14 10:20:58 by sewardj] · 3bf43200
      sewardj authored
      Change wording of panic message on encountering unboxed tuples to:
              Bytecode generator can't handle unboxed tuples.  Possibly due
              to foreign import/export decls in source.  Workaround:
              compile this module to a .o file, then restart session.
  4. 10 May, 2001 3 commits
  5. 09 May, 2001 8 commits
    • simonmar's avatar
      [project @ 2001-05-09 13:48:18 by simonmar] · b16f846d
      simonmar authored
      Add test for pattern parse errors, in particular getting the line
      number right (4.08.2 didn't).
    • simonpj's avatar
      [project @ 2001-05-09 13:46:29 by simonpj] · dda636ed
      simonpj authored
      Fix bug in spec-constr rule generation [Sergei2]
    • simonpj's avatar
      [project @ 2001-05-09 13:28:11 by simonpj] · f11dacd8
      simonpj authored
      ****	MERGE WITH 5.00 BRANCH     ********
      	Fix a rather obscure rule bogon
      The problem was that there was
      	class Foo a where
      	  op :: a -> a
      	{-# RULES "op" op x = x #-}
      or something like that.  We attach locally defined rules, like this one,
      to the local binding, in SimplCore.prepareRules.  Alas op doesn't reply
      "True" to isLocalId, because it's a class selector (so it's a GlobalId
      throughout).   Result: we treated the rule as an imported rule, and
      therefore gave 'op' a fresh unique (becuase it looked as if it was
      already in scope).  This only blew up in ghc --make or --interactive.
      The handling of local vs global rules is rather unsatisfactory.
      Something to muse on.
    • simonpj's avatar
      [project @ 2001-05-09 13:05:07 by simonpj] · 43f425a4
      simonpj authored
      Fix yesterdays bogons in parsing do-expressions; MERGE IN BRANCH
    • simonpj's avatar
      [project @ 2001-05-09 13:04:30 by simonpj] · 5d9b0aa4
      simonpj authored
      Remove unused fn getContext
    • simonmar's avatar
      [project @ 2001-05-09 09:55:41 by simonmar] · 57c3ca26
      simonmar authored
      Use -hcsuf to avoid clobbering .hc files when building several ways,
      and clean up the -osuf usage (put all the suffix-changing options in
      one place).
    • simonmar's avatar
      [project @ 2001-05-09 09:43:44 by simonmar] · bd6633a9
      simonmar authored
      Document -hcsuf option
    • simonmar's avatar
      [project @ 2001-05-09 09:38:18 by simonmar] · 02edb760
      simonmar authored
      Add a new option: -hcsuf <suffix> which renames the .hc suffix to
      <suffix> for this compilation, in the same way as -osuf and -hisuf.
      To even things up, remove partial support for '-ohi -', which
      allegedly dumped the .hi file to stdout but in reality never worked.
      It's a strange thing to want to do anyway, but in any case you could
      always say '-ohi /dev/stdout', or even 'ghc Foo.hs && cat Foo.hi'.
  6. 08 May, 2001 11 commits
    • qrczak's avatar
      [project @ 2001-05-08 17:33:57 by qrczak] · 3738f227
      qrczak authored
      Fix typo when times() is used.
      Move foreign imports inside appropriate #ifdefs.
      A small problem remained (besides Win32): For hpux getrusage is defined
      here as a macro, and foreign importing a macro relies on compilation
      via C. Should be wrapped in a function, but I'm not sure if it's safe
      to call it getrusage.
    • sewardj's avatar
      [project @ 2001-05-08 16:47:25 by sewardj] · 713af4d5
      sewardj authored
      Insert interim fix in the bytecode gen to ignore polymorphic case
      for the time being.  I can't see any way to fix it right in the
      timescale before 5.00.1 goes out.  This works well enough to
      make Sergei's DoCon thing run on the interpreter without segfaults.
         -- Nasty hack; treat
         --     case scrut::suspect of bndr { DEFAULT -> rhs }
         --     as
         --     let bndr = scrut in rhs
         --     when suspect is polymorphic or arrowtyped
         -- So the required strictness properties are not observed.
         -- At some point, must fix this properly.
    • simonpj's avatar
      [project @ 2001-05-08 16:25:30 by simonpj] · ac60a2e4
      simonpj authored
      Fix braino
    • rrt's avatar
      [project @ 2001-05-08 14:54:58 by rrt] · 8162c20d
      rrt authored
      fixdll.pl renamed decyg.pl, for greater justice.
      runexe.c added: it's a little Windows program which takes a command line and
      runs it, without any connection to the parent process. This allows cygwin
      binaries to be run against our patched cygwin1.dll (under a pseudonym),
      without any connection being made if the parent process is also Cygwinised.
    • simonpj's avatar
      [project @ 2001-05-08 14:44:37 by simonpj] · 7c72bad5
      simonpj authored
      ****	MERGE WITH 5.00 BRANCH     ********
      	Make parallel list comprehensions work
      There were two bugs
      1.  The desugaring in DsListComp was generating code that failed Lint.
          I've restructured it quite a lot.
      2.  More seriously, in a ParStmt, the last 'stmt' may be a guard;
          but previously both guards and the result of a list comprehension
          were encoded as an ExprStmt (see HsExpr.Stmt), using the fact that
          the stmt was last in the list to make the difference between a guard
          and a result.  But in parallel list comp this isn't right:
      	[ e | x <- xs, guard | y <- ys ]
          Here 'guard' is last in its list, but isn't an overall result.
          The sensible fix is to properly distinguish
      	"here's the answer" 			 (ResultStmt)
      	"here's a guard or an imperative action" (ExprStmt)
          The fix is rather easy, but touched quite a lot of files.  On the
          way I tidied up the parser a little.
    • simonpj's avatar
      [project @ 2001-05-08 14:39:27 by simonpj] · 76573a24
      simonpj authored
      Add parallel list comp test
    • simonmar's avatar
      [project @ 2001-05-08 14:33:01 by simonmar] · 696708bc
      simonmar authored
      oops, backout accidentally committed changes
    • simonmar's avatar
      [project @ 2001-05-08 11:55:24 by simonmar] · 52bcee1f
      simonmar authored
      Fix setSrcLocP
    • simonmar's avatar
      [project @ 2001-05-08 11:07:30 by simonmar] · c7c6aea8
      simonmar authored
      oops, remove debugging output
    • simonmar's avatar
      [project @ 2001-05-08 10:58:48 by simonmar] · b8b47abe
      simonmar authored
      	DriverPhases.haskellish_src_suffix :: String -> Bool
      	DriverPhases.haskellish_src_file   :: String -> Bool
      which return True for suffixes of Haskell source files only.  The
      existing haskellish_suffix and haskellish_file return True also for
      .raw_s and .hc files.
      We use these instead of haskellish_file in Main.main when deciding
      whether to preprocess a file.
      Fixes: compilation of .raw_s files, and potential bugs with
      compilation of .hc files.
    • simonmar's avatar
      [project @ 2001-05-08 08:55:17 by simonmar] · dc673bca
      simonmar authored
      Drop in CPUTime library replacement.  Still needs to be ported to
  7. 07 May, 2001 6 commits