1. 07 Mar, 2006 2 commits
    • Simon Marlow's avatar
      x86_64: add -fno-builtin to gcc command line for .hc files. · 646d6f52
      Simon Marlow authored
      This seems to be required now that we're stealing more registers.
      646d6f52
    • David Himmelstrup's avatar
      More work thrown at HscMain. · d1545b69
      David Himmelstrup authored
      MkIface.writeIfaceFile doesn't check GhcMode anymore. All it does
      is what the name say: write an interface to disk.
      I've refactored HscMain so the logic is easier to manage. That means
      we can avoid running the simplifier when typechecking (: And best of
      all, HscMain doesn't use GhcMode at all, anymore!
      
      The new HscMain intro looks like this:
      
      It's the task of the compilation proper to compile Haskell, hs-boot and
      core files to either byte-code, hard-code (C, asm, Java, ect) or to
      nothing at all (the module is still parsed and type-checked. This
      feature is mostly used by IDE's and the likes).
      Compilation can happen in either 'one-shot', 'batch', 'nothing',
      or 'interactive' mode. 'One-shot' mode targets hard-code, 'batch' mode
      targets hard-code, 'nothing' mode targets nothing and 'interactive' mode
      targets byte-code.
      The modes are kept separate because of their different types and meanings.
      In 'one-shot' mode, we're only compiling a single file and can therefore
      discard the new ModIface and ModDetails. This is also the reason it only
      targets hard-code; compiling to byte-code or nothing doesn't make sense
      when we discard the result.
      'Batch' mode is like 'one-shot' except that we keep the resulting ModIface
      and ModDetails. 'Batch' mode doesn't target byte-code since that require
      us to return the newly compiled byte-code.
      'Nothing' mode has exactly the same type as 'batch' mode but they're still
      kept separate. This is because compiling to nothing is fairly special: We
      don't output any interface files, we don't run the simplifier and we don't
      generate any code.
      'Interactive' mode is similar to 'batch' mode except that we return the
      compiled byte-code together with the ModIface and ModDetails.
      d1545b69
  2. 06 Mar, 2006 5 commits
  3. 05 Mar, 2006 1 commit
  4. 04 Mar, 2006 12 commits
  5. 03 Mar, 2006 1 commit
  6. 09 Feb, 2006 1 commit
  7. 05 Feb, 2006 2 commits
  8. 03 Feb, 2006 1 commit
  9. 02 Mar, 2006 6 commits
  10. 01 Mar, 2006 9 commits