- 30 Jun, 2016 3 commits
-
-
niteria authored
Ord Unique can be a source of invisible, accidental nondeterminism as explained in Note [No Ord for Unique]. This removes it, leaving a note with rationale. It's unfortunate that I had to write Ord instances for codegen data structures by hand, but I believe that it's a right trade-off here. Test Plan: ./validate Reviewers: simonmar, austin, bgamari Reviewed By: simonmar Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D2370 GHC Trac Issues: #4012
-
thomie authored
The cause of #12213 is in dump_stdout and dump_stderr: print(read_no_crs(<filename>)) Commit 6f6f5154 changed read_no_crs to return a unicode string. Printing a unicode strings works fine as long as sys.stdout.encoding is 'UTF-8'. There are two reasons why sys.stdout.encoding might not be 'UTF-8'. * When output is going to a file, sys.stdout and sys.stdout do not respect the locale: $ LC_ALL=en_US.utf8 python -c 'import sys; print(sys.stderr.encoding)' UTF-8 $ LC_ALL=en_US.utf8 python -c 'import sys; print(sys.stderr.encoding)' 2>/dev/null None * When output is going to the terminal, explicitly reopening sys.stdout has the side-effect of changing sys.stdout.encoding from 'UTF-8' to 'None'. sys.stdout = os.fdopen(sys.__stdout__.fileno(), "w", 0) We currently do this to set a buffersize of 0 (the actual buffersize used is irrelevant for the sys.stdout.encoding problem). Solution: fix dump_stdout and dump_stderr to not use read_no_crs.
-
Simon Peyton Jones authored
As Trac #12242 showed, there was a missing case in the pretty printer for IfaceCo. I've refactored it so that the pattern-match ovelap checker will spot it next time.
-
- 29 Jun, 2016 5 commits
-
-
thomie authored
The problem with ignore_output is that it hides errors for WAY=ghci. GHCi always returns with exit code 0 (unless it is broken itself). For example: ghci015 must have been failing with compile errors for years, but we didn't notice because all output was ignored. Therefore, replace all uses of ignore_output with either ignore_stderr or ignore_stdout. In some cases I opted for adding the expected output. Update submodule hpc and stm. Reviewed by: simonmar Differential Revision: https://phabricator.haskell.org/D2367
-
niteria authored
I have get test failures on `openFile008` with `openFile: resource exhausted (Too many open files)` when running inside `./validate`, but not when I run the test individually. I suspect that's because with `./validate` parallelism of 33 threads I go just above the `1024` file descriptor limit. This is probably related to the recent change: `58f0086b: Testsuite: open/close stdin/stdout/stderr explicitly` but I haven't looked deep enough to understand exactly how. I think bumping this is harmless, but I don't really know why it's necessary at all. Test Plan: ./validate Reviewers: austin, thomie, hvr, bgamari, simonmar Reviewed By: simonmar Subscribers: simonmar Differential Revision: https://phabricator.haskell.org/D2368
-
niteria authored
Unique order can introduce nondeterminism. As a step towards removing the Ord Unique instance I've refactored the code to use deterministic sets instead. Test Plan: ./validate Reviewers: simonmar, austin, bgamari Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D2369 GHC Trac Issues: #4012
-
thomie authored
-
Simon Peyton Jones authored
-
- 28 Jun, 2016 12 commits
-
-
Facundo Domínguez authored
Summary: We have the FloatOut pass create exported ids for floated StaticPtr bindings. The simplifier doesn't try to remove those. This patch also improves on 7fc20b by making a common definition collectStaticPtrSatArgs to test for StaticPtr binds. Fixes #12207. Test Plan: ./validate Reviewers: simonpj, austin, bgamari, simonmar, goldfire Reviewed By: simonpj Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D2366 GHC Trac Issues: #12207
-
Simon Peyton Jones authored
I'm not quite sure why this changed with my two recent commits, but it /has/ changed (in a benign way) so I'm accepting it. Maybe it wasn't me anyway... but life is short and I'm not inclined to dig further.
-
Simon Peyton Jones authored
We only do newtype unwrapping for Coercible constraints if the newtype's data constructor is in scope. We were trying to record the fact that the data constructor was thereby 'used', so that an import statement would not be flagged as unnecsssary (by -Wunused-imports). But the code was simply wrong. It was wrong because it assumed that only one level of unwrapping happened, whereas tcTopNormaliseNewTypeTF_maybe actually unwraps multiple layers. So we need to return a /list/ of data constructors that are used. This entailed a bit of refactoring, as usual. Fixes Trac #12067
-
Simon Peyton Jones authored
This fixes Trac #12156, where we were omitting to make an evidence binding (because cec_suppress was on), but yet the program was compiled and run. The fix is easy, and involves deleting code :-).
-
thomie authored
* T7837 is still broken for prof_ways (#9406) * T11627b is broken on Windows for WAY=prof_hc_hb (#12236) * T8089 is also broken for WAY=profasm on Windows
-
thomie authored
This prevents `cannot find -lHSrts_debug_p` when running `make TEST=T9078 WAY=profasm` (#9078).
-
thomie authored
I don't know why some ways were omitted before.
-
thomie authored
* add framework failures to unexpected results list * report errors in .T files as framework failures (show in summary) * don't report missing tests when framework failures in .T files
-
thomie authored
Just use a simple list of tuples, instead of a nested map. -90 lines of code.
-
thomie authored
This allows run_command's to contain `|`, and `no_stdin` isn't necessary anymore. Unfortunately it doesn't fix T7037 on Windows which I had hoped it would (testsuite driver tries to read a file that it just created itself, but the OS says it doesn't exist). The only drawback of this commit is that the command that the testsuite prints to the terminal (for debugging purposes) doesn't mention the files that stdout and stderr are redirected to anymore. This is probably ok. Update submodule unix. Differential Revision: https://phabricator.haskell.org/D1234
-
thomie authored
Before, `extra_files(['.hpc/Main.mix'])` meant copy `Main.mix` to `<testdir>/.hpc/Main.mix`. This feature wasn't really necessary, so now it just means copy `Main.mix` to `<testdir>/Main.mix`. This simplifies the implementation. Some small other cleanups as well. -40 lines of code.
-
- 27 Jun, 2016 8 commits
-
-
thomie authored
Refactoring only. Move try/except out of do_test.
-
thomie authored
-
thomie authored
And use os.walk instead of calling os.listdir many times. The testsuite driver should be able to handle backward slashes on Windows now.
-
Erik de Castro Lopo authored
Summary: Rename it to `USED_IF_x86_64_HOST_ARCH` to make it more like the existing `USED_IF` macros as suggested by Simon Marlow. Test Plan: Build on x86_64 windows Reviewers: Phyx, bgamari, simonmar, austin Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D2365
-
Ömer Sinan Ağacan authored
-
Ömer Sinan Ağacan authored
These get annoying when `undefined` is actually used as placeholder in WIP code. Some of these were also completely redundant (just call `deAnnotate'` instead of `deAnnotate` etc.).
-
Simon Marlow authored
-
Simon Marlow authored
Summary: T8761 seems to get different interleaving in its output on Phabricator, so this switches it to use stderr consistently. Test Plan: worksforme Reviewers: goldfire, austin, bgamari, erikd Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D2363
-
- 26 Jun, 2016 1 commit
-
-
Erik de Castro Lopo authored
Test Plan: Build on x86_64/linux, x86_64/darwin and powerpc/linux Reviewers: Phyx, bgamari, simonmar, austin Reviewed By: Phyx Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D2364
-
- 25 Jun, 2016 3 commits
-
-
Moritz Angermann authored
Summary: Commit 90538d86, seems to have broken static linking. The introduction of `argFixup` in `runLink` rearranges libs, and considers anything with an `-l` prefix or `.a` suffix a lib, which fails for libs that are just being linked together (e.g. `-o lib.a`). The proposed solution explicitly checks for the existance of the `-o` flag. Reviewers: rwbarton, erikd, Phyx, bgamari, austin Reviewed By: Phyx Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D2362
-
eir@cis.upenn.edu authored
This removes an unnecessary loop looking for invisible binders and tries to clarify what the very closely-related functions tcInferArgs, tc_infer_args, tcInferApps all do.
-
eir@cis.upenn.edu authored
This renames VisibilityFlag from > data VisibilityFlag = Visible | Specified | Invisible to > data ArgFlag = Required | Specified | Inferred The old name was quite confusing, because both Specified and Invisible were invisible! The new names are hopefully clearer.
-
- 24 Jun, 2016 8 commits
-
-
Ryan Scott authored
-
Ryan Scott authored
* Replaced 2.11's *TBA* with *May 2016* * Removed an outdated TODO comment * Removed lines which incorrectly stated that some strictness-related functions had been removed (they have been deprecated instead)
-
Ryan Scott authored
-
Simon Peyton Jones authored
-
Simon Marlow authored
-
Simon Marlow authored
Summary: Add more Notes and signposts across the codebase to help navigation. Test Plan: validate Reviewers: goldfire, simonpj, austin, ezyang, hvr, bgamari, erikd Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D2358
-
Simon Marlow authored
Summary: From a suggestion by @goldfire: clean up the message types, so that rather than one Message type with all the messages, we have a separate THMessage type for messages sent back to GHC during TH execution. At the same time I also removed the QDone/QFailed/QException messages into their own type, and made the result type of RunTH more accurate. Test Plan: validate Reviewers: goldfire, ezyang, austin, niteria, bgamari, erikd Subscribers: thomie, goldfire Differential Revision: https://phabricator.haskell.org/D2356
-
Simon Marlow authored
-