1. 19 May, 2005 5 commits
    • simonpj's avatar
      [project @ 2005-05-19 11:15:40 by simonpj] · 4a587049
      simonpj authored
      Tune up the reporting of unused imports
      		Merge to STABLE
      	(I think the earlier change made it across)
      	(PS: the commit also does some trimming of
      	redundant imports.  If they don't merge, just
      	discard them.)
      My earlier fixes to the reporting of unused imports still missed
      some obscure cases, some of which are now fixed by this commit.
      I had to make the import-provenance data type yet richer, but in
      fact it has more sharing now, so it may be cheaper on space.
      There's still one infelicity. Consider
      		import M( x )
      		imoprt N( x )
      where the same underlying 'x' is involved in both cases.  Currently we
      don't report a redundant import, because dropping either import would
      change the qualified names in scope (M.x, N.x). But if the qualified
      names aren't used, the import is indeed redundant. Sadly we don't know
      that, because we only know what Names are used.  Left for the future!
      There's a comment in RnNames.warnDuplicateImports
      This commit also trims quite a few redundant imports disovered
      by the new setup.
    • simonmar's avatar
      [project @ 2005-05-19 11:13:23 by simonmar] · f01b31dd
      simonmar authored
      Add required include: #include "RtsFlags.h"
    • simonmar's avatar
      [project @ 2005-05-19 11:09:27 by simonmar] · e615ba8a
      simonmar authored
      Fix SMP build on Windows
    • simonpj's avatar
      [project @ 2005-05-19 07:58:35 by simonpj] · f7ccc078
      simonpj authored
      Catch an exception in Template Haskell code
      		Merge to STABLE
      If the code run by a Template Haskell splice fails with, say,
      a pattern-match failure, we should not report it as a GHC panic.
      It's a bug in the user's program.
      This commit fixes up the exception handling to do the right thing.
      Fixes SourceForge item #1201666
      TH_fail tests it.
    • simonpj's avatar
      [project @ 2005-05-19 07:56:58 by simonpj] · ead9311d
      simonpj authored
      Make sure the default methods are in scope
      	in a Template Haskell splice
      		Merge to STABLE
      This was just a typo really; in TcRnDriver.tcTopSrcDecls there were two
      tcl_envs, but one had a different name so we got the less up-to-date one.
      Fixes SourceForge item #1194808
      TH_spliceInst tests it.
  2. 18 May, 2005 9 commits
  3. 17 May, 2005 17 commits
  4. 16 May, 2005 9 commits
    • simonmar's avatar
      [project @ 2005-05-16 14:40:06 by simonmar] · df0ba686
      simonmar authored
      document +RTS -I
    • simonmar's avatar
      [project @ 2005-05-16 14:39:54 by simonmar] · 37c4e49e
      simonmar authored
      Set BINDIST_DOC_WAYS appropriately depending on which doc-building
      tools are available.  The default is to build all of html, ps & pdf if
    • simonmar's avatar
      [project @ 2005-05-16 14:27:07 by simonmar] · 33a84b8c
      simonmar authored
      Allow the amount of idle time which must pass before we force a major
      GC to be configured at runtime with the +RTS -I<secs> option.
      The idle GC only happens in the threaded RTS, and it is useful because
      it can make finalizers run more promptly, and also detect cases of
      deadlock.  Without the idle GC, Haskell computation must be taking
      place in order for finalizers to run or deadlock to be detected, and
      the only way some Haskell computation can take place is usually by
      +RTS -I0 turns off the idle GC, the default is +RTS -I0.3.
      We might need to add more tuning if it turns out that the idle GC is
      problematic, for example we don't check how long the GC actually took,
      and we should probably back off if major GCs are taking too long and
      adversely affecting interactive responsiveness.
    • simonmar's avatar
      [project @ 2005-05-16 13:47:57 by simonmar] · 34c2b1b2
      simonmar authored
      Implement -x <suffix> flag to override the suffix of a filename for
      the purposes of determinig how it should be compiled.  The usage is
      similar to gcc, except that we just use a suffix rather than a name
      for the language. eg.
         ghc -c -x hs hello.blah
      will pretend hello.blah is a .hs file.  Another possible use is -x
      hspp, which skips preprocessing.
      This works for one-shot compilation, --make, GHCi, and ghc -e.  The
      original idea was to make it possible to use runghc on a file that
      doesn't end in .hs, so changes to runghc will follow.
      Also, I made it possible to specify .c files and other kinds of files
      on the --make command line; these will be compiled to objects as
      normal and linked into the final executable.
      GHC API change: I had to extend the Target type to include an optional
      start phase, and also GHC.guessTarget now takes a (Maybe Phase) argument.
      I thought this would be half an hour, in fact it took half a day, and
      I still haven't documented it.  Sigh.
    • krasimir's avatar
      [project @ 2005-05-16 13:21:11 by krasimir] · afdca09f
      krasimir authored
      added modInfoIsExportedName & modInfoLookupName functions
    • simonpj's avatar
      [project @ 2005-05-16 12:40:14 by simonpj] · 94cc5f40
      simonpj authored
      Better debug-printing for -ddump-inlinings
    • simonpj's avatar
      [project @ 2005-05-16 12:39:55 by simonpj] · 7f668158
      simonpj authored
      Dont print result type for Core case-expressions (too voluminous)
    • simonpj's avatar
      [project @ 2005-05-16 12:39:15 by simonpj] · 4898649c
      simonpj authored
      Add assertions (only)
    • simonpj's avatar
      [project @ 2005-05-16 12:38:38 by simonpj] · edaedc5b
      simonpj authored
      Newtype representation
      		Merge to STABLE
      This commit fixes a long-standing bug (simple clerical error) in mkNewTyConRep,
      which for some reason had gone un-discovered for years.
      tc183 tests it.