1. 10 Mar, 2006 4 commits
    • Simon Marlow's avatar
      fix the build with GHC 6.4 (not 6.4.1) · 71f2cb60
      Simon Marlow authored
    • David Himmelstrup's avatar
      Wibble in HscMain. · 14f70d83
      David Himmelstrup authored
    • David Himmelstrup's avatar
      Initial foundation for quickcheck tests. · 0490ee1f
      David Himmelstrup authored
      I have no idea how to use the testsuite so I'll start
      making QuickCheck tests instead.
      I've included tests for 'HeaderInfo.getOptions'.
    • David Himmelstrup's avatar
      Parse OPTIONS properly and cache the result. · d700953c
      David Himmelstrup authored
      Use the lexer to parse OPTIONS, LANGUAGE and INCLUDE pragmas.
      This gives us greater flexibility and far better error
      messages. However, I had to make a few quirks:
        * The token parser is written manually since Happy doesn't
          like lexer errors (we need to extract options before the
          buffer is passed through 'cpp'). Still better than
          manually parsing a String, though.
        * The StringBuffer API has been extended so files can be
          read in blocks.
      I also made a new field in ModSummary called ms_hspp_opts
      which stores the updated DynFlags. Oh, and I took the liberty
      of moving 'getImports' into HeaderInfo together with
  2. 08 Mar, 2006 2 commits
  3. 07 Mar, 2006 3 commits
    • Simon Marlow's avatar
    • 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.
    • 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.
  4. 06 Mar, 2006 5 commits
  5. 05 Mar, 2006 1 commit
  6. 04 Mar, 2006 12 commits
  7. 03 Mar, 2006 1 commit
  8. 09 Feb, 2006 1 commit
  9. 05 Feb, 2006 2 commits
  10. 03 Feb, 2006 1 commit
  11. 02 Mar, 2006 6 commits
  12. 01 Mar, 2006 2 commits