simonmar    2004/08/09 06:19:33 PDT

  Modified files:
    ghc/compiler/codeGen CgCase.lhs 
  Log:
  Allow case-of-unsafe-ccall to compile to straight-line code, like it
  used to.  This has already been fixed on the backend-hacking-branch,
  but I'm doing it here so that it can be merged into the STABLE branch,
  where it will help to work around a bug.
  
  The bug is in CgExpr.lhs:primRetUnboxedTuple, which picks temporaries
  to assign the result of a ccall to.  The Cg monad doesn't have a uniq
  supply (in the HEAD), so we always pick the same temporaries.  This
  leads to clashes in complex function with multiple ccalls.  Again,
  this is already fixed in the backend-hacking-branch.  I don't see an
  easy fix for this bug.
  
  The compilation of case-of-unsafe-ccall doesn't suffer from this
  problem, and it will help work around some cases of the bug, so I'm
  going to merge this onto the STABLE branch after some testing.
  
  Revision  Changes    Path
  1.67      +36 -24    fptools/ghc/compiler/codeGen/CgCase.lhs
_______________________________________________
Cvs-ghc mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to