1. 08 Mar, 2005 16 commits
  2. 07 Mar, 2005 9 commits
    • simonpj's avatar
      [project @ 2005-03-07 17:46:24 by simonpj] · a1636622
      simonpj authored
      -----------------------------------------
             Make sure that LiberateCase only binds Internal Names
      	-----------------------------------------
      
      	Merge to STABLE
      
      The nested bindings generated by LiberateCase should be Internal as
      well as not-exported.  Otherwise an External Name can float to top level,
      where it might name-clash with another one.
      a1636622
    • simonpj's avatar
      [project @ 2005-03-07 16:46:08 by simonpj] · 36d22a1c
      simonpj authored
      -----------------------------------------
             Fix a long-standing indirection-zapping bug
      	-----------------------------------------
      
      	Merge to STABLE
      
      Up to now we zap indirections as part of the occurence analyser.
      But this is bogus.  The indirection zapper does the following:
      
      	x_local = <expression>
      	...bindings...
      	x_exported = x_local
      
      where x_exported is exported, and x_local is not, then we
      replace it with this:
      
      	x_exported = <expression>
      	x_local = x_exported
      	...bindings...
      
      But this is plain wrong if x_exported has a RULE that mentions
      something (f, say) in ...bindings.., because 'f' will then die.
      
      After hacking a few solutions, I've eventually simply made the indirection
      zapping into a separate pass (which is cleaner anyway), which wraps the
      entire program back into a single Rec if the bad thing can happen.
      
      On the way I've made indirection-zapping work in Recs too, which wasn't the
      case before.
      
      * Move the zapper from OccurAnal into SimplCore
      * Tidy up the printing of pragmas (PprCore and friends)
      * Add a new function Rules.addRules
      * Merge rules in the indirection zapper (previously one set was discarded)
      36d22a1c
    • simonmar's avatar
      [project @ 2005-03-07 15:59:27 by simonmar] · 30d8d383
      simonmar authored
      Include WORD_SIZE_IN_BITS in the interface header, and test it when
      reading.  Fixes a problem whereby GHC on a 64-bit platform will crash
      if it tries to read an interface file generated by the same version of
      GHC on a 32-bit platform.
      30d8d383
    • simonpj's avatar
      [project @ 2005-03-07 15:16:58 by simonpj] · bcacf0b7
      simonpj authored
      -----------------------------------------
             Fix scoping bug for quantified type variables
      	-----------------------------------------
      
      	Merge to STABLE
      
      When instantiating a declaration type signature, make sure to instantiate
      fresh names for non-scoped type variables, else they may be spuriously shared.
      Turns out that the test lib/Generics/reify tests this, which is good.
      
      Comments are with TcMType.tcInstSigType
      bcacf0b7
    • simonmar's avatar
      [project @ 2005-03-07 15:16:41 by simonmar] · 57f94a24
      simonmar authored
      Try once more to get this #include right, and add a comment
      57f94a24
    • simonmar's avatar
      [project @ 2005-03-07 14:52:20 by simonmar] · 0c7c7de8
      simonmar authored
      ghc_boot_platform.h is the right way to get hold of the platform
      defines inside the compiler.
      0c7c7de8
    • simonmar's avatar
      [project @ 2005-03-07 13:18:51 by simonmar] · 0c167905
      simonmar authored
      Mention not to use comments on the same line as OPTIONS_GHC
      0c167905
    • simonmar's avatar
      [project @ 2005-03-07 13:18:19 by simonmar] · 9942fd14
      simonmar authored
      Fix validate bug
      9942fd14
    • simonmar's avatar
      [project @ 2005-03-07 12:20:28 by simonmar] · 04e294bd
      simonmar authored
      Add missing hs_* symbols
      04e294bd
  3. 05 Mar, 2005 4 commits
  4. 04 Mar, 2005 8 commits
  5. 03 Mar, 2005 3 commits