summaryrefslogtreecommitdiff
path: root/testsuite/.gitignore
diff options
context:
space:
mode:
authorAustin Seipp <austin@well-typed.com>2015-05-19 01:56:48 -0500
committerAustin Seipp <austin@well-typed.com>2015-05-19 01:56:48 -0500
commitb199536be25ea046079587933cc73d0a948a0626 (patch)
tree3f30861adc3a101adaf163dad97a0dc24e78ad7a /testsuite/.gitignore
parentb0b11ad93cf8470caed572dc16e5cf91304fa355 (diff)
downloadhaskell-b199536be25ea046079587933cc73d0a948a0626.tar.gz
compiler: make sure we reject -O + HscInterpreted
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
Diffstat (limited to 'testsuite/.gitignore')
-rw-r--r--testsuite/.gitignore1
1 files changed, 1 insertions, 0 deletions
diff --git a/testsuite/.gitignore b/testsuite/.gitignore
index ecd0e93062..1855727c56 100644
--- a/testsuite/.gitignore
+++ b/testsuite/.gitignore
@@ -717,6 +717,7 @@ mk/ghcconfig*_inplace_bin_ghc-stage2.exe.mk
/tests/ghc-api/T8628
/tests/ghc-api/T8639_api
/tests/ghc-api/T9595
+/tests/ghc-api/T10052/T10052
/tests/ghc-api/apirecomp001/myghc
/tests/ghc-api/dynCompileExpr/dynCompileExpr
/tests/ghc-api/ghcApi