1. 21 May, 2004 2 commits
    • simonmar's avatar
      [project @ 2004-05-21 13:28:59 by simonmar] · 89f9f089
      simonmar authored
      Fix yet another bug in the THUNK_SELECTOR code.  Interestingly, I
      spotted this one earlier but left a ToDo in the code rather than
      fixing it (I think I wasn't sure whether it could happen or not).
      
      The bug is to close another another way that eval_thunk_selector()
      could return a pointer into to-space.  See comments for details.
      89f9f089
    • geoffw's avatar
      [project @ 2004-05-21 09:25:03 by geoffw] · 0479146d
      geoffw authored
      mingw/msys fix: keep .lcomm directives
      0479146d
  2. 20 May, 2004 1 commit
  3. 19 May, 2004 1 commit
  4. 18 May, 2004 1 commit
  5. 15 May, 2004 1 commit
  6. 12 May, 2004 2 commits
    • simonpj's avatar
      [project @ 2004-05-12 13:01:30 by simonpj] · 3d4c49bb
      simonpj authored
      Tidy-up only; behaviour unchanged
      3d4c49bb
    • simonpj's avatar
      [project @ 2004-05-12 12:55:12 by simonpj] · 825fba2a
      simonpj authored
      ---------------------------------
      	Another delicate fix to the way that the
      	Dreaded Monomorpism Restriction is handled
      	---------------------------------
      
           I think this should merge nicely to the STABLE branch
      
      
      In TcSimplify 1.130 I changed tcSimplifyRestricted (used for
      declarations that fall under the monomorphism restriction) to use Plan
      C.  Unfortunately, it later transpired that George Russel and Serge
      Mechveliani both made somewhat-dubious use of overlapping instances
      that conflicted with this change. Here's the example
      
        instance (HasBinary ty IO) => HasCodedValue ty
      
        foo :: HasCodedValue a => String -> IO a
      
        doDecodeIO :: HasCodedValue a => () -> () -> IO a
        doDecodeIO codedValue view = let { act = foo "" } in  act
      
      You might think this should work becuase the call to 'foo' in the last
      line gives rise to a constraint (HasCodedValue t), which can be
      satisfied by the type sig for doDecodeIO.  But the restricted binding
      act = ... calls tcSimplifyRestricted, and Plan C simplifies the
      constraint using the (rather bogus) instance declaration, and now we
      are stuffed.
      
      
      This commit implements Plan D, which is like plan B except that it does no
      improvement, and hence avoids plan B's flaw.  See the comments with Plan D.
      
      The only criticism one might make of Plan D is that it may sometimes quantify
      a restricted binding over "too few" type variables; but one can solve that
      by adding a type sig.  So this seems better than the very subtle problems
      with Plan C.
      
      All of this is very much at the margin: George and Sergey are pushing
      their luck.
      825fba2a
  7. 11 May, 2004 2 commits
  8. 10 May, 2004 3 commits
    • simonmar's avatar
      [project @ 2004-05-10 11:53:41 by simonmar] · 318f8bc4
      simonmar authored
      Fix mishandling of the BF_COMPACTED flag, which could lead to problems
      when using the compacting collector (+RTS -c, or +RTS -M<size>).  In
      fact, I'm not sure how it worked at all.
      
      MERGE TO STABLE
      318f8bc4
    • simonmar's avatar
      [project @ 2004-05-10 10:26:07 by simonmar] · d28ae8e1
      simonmar authored
      Hack to generate correct dependencies for the RTS.  We now #define
      PROFILING, THREADED_RTS and DEBUG when generating dependencies so that
      we get (hopefully) a superset of all the deps.
      d28ae8e1
    • simonmar's avatar
      [project @ 2004-05-10 10:05:34 by simonmar] · 0181a93d
      simonmar authored
      In multiple declaration errors, give the location of one of the
      declarations as the location of the error message, instead of the
      top-level of the file.
      0181a93d
  9. 09 May, 2004 1 commit
  10. 08 May, 2004 2 commits
  11. 07 May, 2004 4 commits
    • panne's avatar
      [project @ 2004-05-07 21:19:21 by panne] · 70b3bd34
      panne authored
      GCC's __attribute__ handling seems to be a little bit stricter with GCC 3.3.3:
      
         * When a function declaration uses it, the corresponding definition has to
           use it, too.
      
         * Syntactically it is allowed only at the beginning of the function
           definition.
      
      Let's hope that the current syntax is backwards compatible...
      70b3bd34
    • simonpj's avatar
      [project @ 2004-05-07 14:06:45 by simonpj] · 250be0a3
      simonpj authored
      ---------------------------------
      	Make sure that GHCi loads all
      	necessary orphan-instance modules
      	---------------------------------
      
      When you do :m A, we need to load any orphan-instance modules
      below A.  That's easily done, but had been forgotten.
      
      	Do not merge to stable: the fix is different there
      250be0a3
    • simonpj's avatar
      [project @ 2004-05-07 14:06:12 by simonpj] · cd837518
      simonpj authored
      White space
      cd837518
    • simonmar's avatar
      [project @ 2004-05-07 11:23:56 by simonmar] · ea480db3
      simonmar authored
      make a SrcSpan for the whole file that is not "unhelpful"
      ea480db3
  12. 06 May, 2004 15 commits
  13. 05 May, 2004 5 commits