- 19 May, 2015 2 commits
-
-
Austin Seipp authored
Apparently my machine likes this commit, but Harbormaster does not? This reverts commit b199536b.
-
Austin Seipp authored
When using GHCi, we explicitly reject optimization, because the compilers optimization passes can introduce unboxed tuples, which the interpreter is not able to handle. But this goes the other way too: using GHCi on optimized code may cause the optimizer to float out breakpoints that the interpreter introduces. This manifests itself in weird ways, particularly if you as an API client use custom DynFlags to introduce optimization in combination with HscInterpreted. It turns out we weren't checking for consistent DynFlag settings when doing `setSessionDynFlags`, as #10052 showed. While the main driver handled it in `DynFlags` via `parseDynamicFlags`, we didn't check this elsewhere. This does a little refactoring to split out some of the common code, and immunizes the various `DynFlags` utilities in the `GHC` module from this particular bug. We should probably be checking other general invariants too. This fixes #10052, and adds some notes about the behavior in `GHC` and `FloatOut` As a bonus, expose `warningMsg` from `ErrUtils` as a helper since it didn't exist (somehow). Signed-off-by:
Austin Seipp <austin@well-typed.com> Reviewed By: edsko Differential Revision: https://phabricator.haskell.org/D727 GHC Trac Issues: #10052
-
- 13 May, 2015 1 commit
-
-
Austin Seipp authored
This caused print007 to fail, so I guess I botched this more than I thought. This is a combination of reverting: "Fix build breakage from 9736c042", commit f35d621d. "compiler: make sure we reject -O + HscInterpreted", commit 9736c042.
-
- 11 May, 2015 1 commit
-
-
Austin Seipp authored
When using GHCi, we explicitly reject optimization, because the compilers optimization passes can introduce unboxed tuples, which the interpreter is not able to handle. But this goes the other way too: using GHCi on optimized code may cause the optimizer to float out breakpoints that the interpreter introduces. This manifests itself in weird ways, particularly if you as an API client use custom DynFlags to introduce optimization in combination with HscInterpreted. It turns out we weren't checking for consistent DynFlag settings when doing `setSessionDynFlags`, as #10052 showed. While the main driver handled it in `DynFlags` via `parseDynamicFlags`, we didn't check this elsewhere. This does a little refactoring to split out some of the common code, and immunizes the various `DynFlags` utilities in the `GHC` module from this particular bug. We should probably be checking other general invariants too. This fixes #10052, and adds some notes about the behavior in `GHC` and `FloatOut` As a bonus, expose `warningMsg` from `ErrUtils` as a helper since it didn't exist (somehow). Signed-off-by:
Austin Seipp <austin@well-typed.com> Reviewed By: edsko Differential Revision: https://phabricator.haskell.org/D727 GHC Trac Issues: #10052
-
- 14 Apr, 2015 1 commit
-
-
Konstantine Rybnikov authored
Add "error:" prefix to error-messages, also lowercase "Warning:" message to match GCC behavior closer. Reviewed By: thomie, austin Differential Revision: https://phabricator.haskell.org/D811 GHC Trac Issues: #10021
-
- 29 Mar, 2015 1 commit
-
-
Edward Z. Yang authored
Signed-off-by:
Edward Z. Yang <ezyang@cs.stanford.edu>
-
- 13 Jan, 2015 1 commit
-
-
GregWeber authored
Summary: see Trac #8624 similar functionality is now available with -ddump-to-file -ddump-splices However, users are already accustomed to -ddump-splices having a particular format, and this format is not completely valid code The goal of -th-file is to dump valid Haskell code Additionally, the convention of -ddump-to-file is to name the file after the flag, so the file is .dump-splices Given that the goal of the new flag is to generate valid Haskell, The extension should be .hs Additionally, -ddump-to-file effects all other dump flags Test Plan: look at the output of using the -th-file flag and compare it to the output of using -ddump-to-file and -ddump-splices I want to add test cases, but just need some pointers on getting started there Reviewers: thomie, goldfire, simonpj, austin Reviewed By: simonpj, austin Subscribers: thomie, carter Differential Revision: https://phabricator.haskell.org/D518 GHC Trac Issues: #8624
-
- 09 Jan, 2015 1 commit
-
-
Simon Peyton Jones authored
This module is a disorganised mess. For example, there is literally *no* documentation of what the *seven* different forms of 'Severity' are intended to connote. Anyway this patch makes a tiny step by not exporting unused functions pprMsgBag and isWarning, and a little bit of internal refactoring
-
- 03 Dec, 2014 1 commit
-
-
Austin Seipp authored
Signed-off-by:
Austin Seipp <austin@well-typed.com>
-
- 28 Nov, 2014 2 commits
-
-
thomasw authored
Summary: Add support for Partial Type Signatures, i.e. holes in types, see: https://ghc.haskell.org/trac/ghc/wiki/PartialTypeSignatures This requires an update to the Haddock submodule. Test Plan: validate Reviewers: austin, goldfire, simonpj Reviewed By: simonpj Subscribers: thomie, Iceland_jack, dominique.devriese, simonmar, carter, goldfire Differential Revision: https://phabricator.haskell.org/D168 GHC Trac Issues: #9478
-
Simon Peyton Jones authored
This is a knock-on from the -dump-to-file changes. (I found that -ddump-cs-trace stuff wasn't coming out!)
-
- 19 Nov, 2014 1 commit
-
-
GregWeber authored
Summary: allows things such as: -ddump-to-file -ddump-splices Test Plan: compile with flags -ddump-to-file -ddump-splices verify that it does output an extra file Try out other flags. I noticed that with -ddump-tc there is some output going to file and some to stdout. Reviewers: hvr, austin Reviewed By: austin Subscribers: simonpj, thomie, carter Differential Revision: https://phabricator.haskell.org/D460 GHC Trac Issues: #9126
-
- 04 Nov, 2014 1 commit
-
-
Simon Peyton Jones authored
I forget all the details, but I spent some time trying to understand the current setup, and tried to simplify it a bit
-
- 26 Sep, 2014 1 commit
-
-
Herbert Valerio Riedel authored
This was done in d94de872 to avoid orphans but since a94dc4c3 moved `Alternative` into GHC.Base, this isn't needed anymore. This is important, as otherwise this would require a non-neglectable amount of `Control.Monad hiding ((<|>), empty)` imports in user code. The Haddock submodule is updated as well Test Plan: partial local ./validate --fast, let Harbormaster doublecheck it Reviewed By: ekmett, austin Differential Revision: https://phabricator.haskell.org/D248
-
- 09 Sep, 2014 1 commit
-
-
Austin Seipp authored
Summary: This includes pretty much all the changes needed to make `Applicative` a superclass of `Monad` finally. There's mostly reshuffling in the interests of avoid orphans and boot files, but luckily we can resolve all of them, pretty much. The only catch was that Alternative/MonadPlus also had to go into Prelude to avoid this. As a result, we must update the hsc2hs and haddock submodules. Signed-off-by:
Austin Seipp <austin@well-typed.com> Test Plan: Build things, they might not explode horribly. Reviewers: hvr, simonmar Subscribers: simonmar Differential Revision: https://phabricator.haskell.org/D13
-
- 25 Jul, 2014 1 commit
-
-
Simon Peyton Jones authored
This patch was provoked by Trac #5610, which I finally got a moment to look at. In the end I added a new data type ErrUtils.Validity, data Validity = IsValid -- Everything is fine | NotValid MsgDoc -- A problem, and some indication of why with some suitable combinators, and used it where appropriate (which touches quite a few modules). The main payoff is that error messages improve for FFI type validation.
-
- 15 May, 2014 1 commit
-
-
Herbert Valerio Riedel authored
In some cases, the layout of the LANGUAGE/OPTIONS_GHC lines has been reorganized, while following the convention, to - place `{-# LANGUAGE #-}` pragmas at the top of the source file, before any `{-# OPTIONS_GHC #-}`-lines. - Moreover, if the list of language extensions fit into a single `{-# LANGUAGE ... -#}`-line (shorter than 80 characters), keep it on one line. Otherwise split into `{-# LANGUAGE ... -#}`-lines for each individual language extension. In both cases, try to keep the enumeration alphabetically ordered. (The latter layout is preferable as it's more diff-friendly) While at it, this also replaces obsolete `{-# OPTIONS ... #-}` pragma occurences by `{-# OPTIONS_GHC ... #-}` pragmas.
-
- 26 Oct, 2013 1 commit
-
-
Joachim Breitner authored
It was `[SrcSpan]`, but never ever contained more than one span.
-
- 23 Jun, 2013 1 commit
-
-
ian@well-typed.com authored
They now go through log_action. The existing severities all used printDoc, which always adds a trailing newline, which we don't want for the GHCi messages. I therefore added a new severity SevInteractive, which doesn't add a newline.
-
- 30 Jan, 2013 1 commit
-
-
ian@well-typed.com authored
-
- 26 Nov, 2012 1 commit
-
-
Simon Peyton Jones authored
Trac #7410 pointed out a terrible error message, which is much improved by this patch.
-
- 18 Oct, 2012 1 commit
-
-
ian@well-typed.com authored
We were being inconsistent about how we tested whether dump flags were enabled; in particular, sometimes we also checked the verbosity, and sometimes we didn't. This lead to oddities such as "ghc -v4" printing an "Asm code" section which didn't contain any code, and "-v4" enabled some parts of "-ddump-deriv" but not others. Now all the tests use dopt, which also takes the verbosity into account as appropriate.
-
- 17 Oct, 2012 1 commit
-
-
Ian Lynagh authored
-
- 16 Oct, 2012 2 commits
-
-
ian@well-typed.com authored
Mostly d -> g (matching DynFlag -> GeneralFlag). Also renamed if* to when*, matching the Haskell if/when names
-
ian@well-typed.com authored
This avoids confusion due to [DynFlag] and DynFlags being completely different types.
-
- 15 Oct, 2012 1 commit
-
-
ian@well-typed.com authored
-
- 08 Oct, 2012 1 commit
-
-
ian@well-typed.com authored
-
- 18 Jul, 2012 2 commits
-
-
pcapriotti authored
The only difference between SevDump and SevOutput in defaultLogAction is an extra blank line, so we don't need a separate hPrintDump function. Also make -ddump-to-file consistent with the stdout version, by avoiding to add the extra empty line when dumping rules.
-
pcapriotti authored
Commit 3fcf5bdf made the output of -ddump-rule-firings and -ddump-rule-rewrites excessively verbose. Fixed by removing the extra blank lines and separator when the header of dump is empty.
-
- 22 Jun, 2012 1 commit
-
-
Ian Lynagh authored
Technically the behaviour of sortWith has changed, as it used x `le` y = get_key x < get_key y (note "<" rather than "<="), but I assume that that was just a mistake.
-
- 14 Jun, 2012 1 commit
-
-
Ian Lynagh authored
-
- 12 Jun, 2012 4 commits
-
-
Ian Lynagh authored
-
Ian Lynagh authored
-
Ian Lynagh authored
We also store the Doc still, although we don't have to; we could just convert back again, at the cost of some inefficiency. But we do need the String, so that we can print it in the Show instance.
-
Ian Lynagh authored
-
- 11 Jun, 2012 5 commits
-
-
Ian Lynagh authored
-
Ian Lynagh authored
A side-effect is that we can no longer use the LogAction in defaultErrorHandler, as we don't have DynFlags at that point. But all that defaultErrorHandler did is to print Strings as SevFatal, so now it takes a 'FatalMessager' instead.
-
Ian Lynagh authored
We don't use it yet
-
Ian Lynagh authored
-
Ian Lynagh authored
We now include the String and the SDoc in the exception, and don't flatten them into a String until near the top-level
-