1. 17 Oct, 2011 2 commits
  2. 06 Aug, 2011 1 commit
  3. 20 Jul, 2011 1 commit
  4. 03 Jul, 2011 1 commit
    • Ian Lynagh's avatar
      defaultErrorHandler now only takes LogAction · e01fffc6
      Ian Lynagh authored
      It used to take a whole DynFlags, but that meant we had to
      create a DynFlags with (panic "No settings") for settings, as
      we didn't have any real settings.
      
      Now we just pass the LogAction, which is all that it actually needed.
      The default is exported from DynFlags as defaultLogAction.
      e01fffc6
  5. 18 Jun, 2011 1 commit
    • dterei's avatar
      SafeHaskell: Disable certain ghc extensions in Safe. · 45c64c1d
      dterei authored
      This patch disables the use of some GHC extensions in
      Safe mode and also the use of certain flags. Some
      are disabled completely while others are only allowed
      on the command line and not in source PRAGMAS.
      
      We also check that Safe imports are indeed importing
      a Safe or Trustworthy module.
      45c64c1d
  6. 21 Apr, 2011 2 commits
  7. 04 Apr, 2011 1 commit
  8. 23 Nov, 2010 1 commit
  9. 27 Oct, 2010 1 commit
    • Simon Marlow's avatar
      Refactoring and tidyup of HscMain and related things (also fix #1666) · 94bf0d36
      Simon Marlow authored
      While trying to fix #1666 (-Werror aborts too early) I decided to some
      tidyup in GHC/DriverPipeline/HscMain.
      
       - The GhcMonad overloading is gone from DriverPipeline and HscMain
         now.  GhcMonad is now defined in a module of its own, and only
         used in the top-level GHC layer.  DriverPipeline and HscMain
         use the plain IO monad and take HscEnv as an argument.
      
       - WarnLogMonad is gone.  printExceptionAndWarnings is now called
         printException (the old name is deprecated).  Session no longer
         contains warnings.
      
       - HscMain has its own little monad that collects warnings, and also
         plumbs HscEnv around.  The idea here is that warnings are collected
         while we're in HscMain, but on exit from HscMain (any function) we
         check for warnings and either print them (via log_action, so IDEs
         can still override the printing), or turn them into an error if
         -Werror is on.
      
       - GhcApiCallbacks is gone, along with GHC.loadWithLogger.  Thomas
         Schilling told me he wasn't using these, and I don't see a good
         reason to have them.
      
       - there's a new pure API to the parser (suggestion from Neil Mitchell):
            parser :: String
                   -> DynFlags
                   -> FilePath
                   -> Either ErrorMessages (WarningMessages, 
                                            Located (HsModule RdrName))
      94bf0d36
  10. 16 Aug, 2010 1 commit
    • simonpj@microsoft.com's avatar
      Refactor the command-line argument parsing (again) · 0cb74388
      simonpj@microsoft.com authored
      This change allows the client of CmdLineParser a bit more flexibility,
      by giving him an arbitrary computation (not just a deprecation
      message) for each flag.  
      
      There are several clients, so there are lots of boilerplate changes.
      
      Immediate motivation: if RTS is not profiled, we want to make 
      Template Haskell illegal.  That wasn't with the old setup.
      0cb74388
  11. 24 Jul, 2010 3 commits
  12. 27 Apr, 2010 1 commit
    • Simon Marlow's avatar
      --make is now the default (#3515), and -fno-code works with --make (#3783) · 7828bf3e
      Simon Marlow authored
      If the command line contains any Haskell source files, then we behave
      as if --make had been given.
      
      The meaning of the -c flag has changed (back): -c now selects one-shot
      compilation, but stops before linking.  However, to retain backwards
      compatibility, -c is still allowed with --make, and means the same as
      --make -no-link.  The -no-link flag has been un-deprecated.
      
      -fno-code is now allowed with --make (#3783); the fact that it was
      disabled before was largely accidental, it seems.  We also had some
      regressions in this area: it seems that -fno-code was causing a .hc
      file to be emitted in certain cases.  I've tidied up the code, there
      was no need for -fno-code to be a "mode" flag, as far as I can tell.
      
      -fno-code does not emit interface files, nor does it do recompilation
      checking, as suggested in #3783.  This would make Haddock emit
      interface files, for example, and I'm fairly sure we don't want to do
      that.  Compiling with -fno-code is pretty quick anyway, perhaps we can
      get away without recompilation checking.
      7828bf3e
  13. 12 Oct, 2009 2 commits
  14. 29 Jul, 2009 2 commits
  15. 16 Jul, 2009 1 commit
  16. 06 Jul, 2009 1 commit
  17. 01 Jul, 2009 1 commit
  18. 26 Apr, 2009 1 commit
  19. 28 Nov, 2008 1 commit
    • Thomas Schilling's avatar
      Use a per-session data structure for callbacks. Make 'WarnErrLogger' · 9a4607c3
      Thomas Schilling authored
      part of it.
      
      Part of the GHC API essentially represents a compilation framework.
      The difference of a *framework* as opposed to a *library* is that the
      overall structure of the functionality is pre-defined but certain
      details can be customised via callbacks.  (Also known as the Hollywood
      Principle: "Don't call us, we'll call you.")
      
      This patch introduces a per-session data structure that contains all
      the callbacks instead of adding lots of small function arguments
      whenever we want to give the user more control over certain parts of
      the API.  This should also help with future changes: Adding a new
      callback doesn't break old code since code that doesn't know about the
      new callback will use the (hopefully sane) default implementation.
      
      Overall, however, we should try and keep the number of callbacks small
      and well-defined (and provide useful defaults) and use simple library
      routines for the rest.
      9a4607c3
  20. 22 Nov, 2008 1 commit
  21. 26 Sep, 2008 1 commit
  22. 25 Sep, 2008 1 commit
  23. 23 Sep, 2008 1 commit
    • Simon Marlow's avatar
      #2566: emit a warning for 'ghc -c foo.bar' · f7d457cd
      Simon Marlow authored
      $ ghc -c foo.bar
      Warning: the following files would be used as linker inputs, but linking is not being done: foo.bar
      ghc: no input files
      Usage: For basic information, try the `--help' option.
      f7d457cd
  24. 14 Sep, 2008 1 commit
  25. 26 Aug, 2008 2 commits
  26. 05 Aug, 2008 1 commit
  27. 30 Jul, 2008 1 commit
  28. 16 Jul, 2008 1 commit
  29. 11 Jul, 2008 1 commit
  30. 14 Jun, 2008 4 commits