summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Utils: Fix `lengthIs` and `lengthExceeds` for negative argsÖmer Sinan Ağacan2016-07-071-6/+15
| | | | Credits goes to SPJ for finding this.
* Add Note [FamInstEnv determinism]Bartosz Nitka2016-07-071-0/+14
| | | | | | I'm just turning previous commit message into a Note GHC Trac: #4012
* Correct the message displayed for syntax error (#12146)Aditya2016-07-074-8/+8
|
* Use deterministic maps for FamInstEnvBartosz Nitka2016-07-071-10/+10
| | | | | | | | | | | | | | We turn FamInstEnvs into lists in some places which don't directly affect the ABI. That happens in family consistency checks and when producing output for `:info`. Unfortunately that nondeterminism is nonlocal and it's hard to tell locally what it affects. Furthermore the envs should be relatively small, so it should be free to use deterministic maps here. Testing with nofib and ./validate detected no difference between UniqFM and UniqDFM. GHC Trac: #4012
* Document some codegen nondeterminismBartosz Nitka2016-07-0711-31/+50
| | | | | | | | | Bit-for-bit reproducible binaries are not a goal for now, so this is just marking places that could be a problem. Doing this will allow eltsUFM to be removed and will leave only nonDetEltsUFM. GHC Trac: #4012
* Style changes for UniqFMBartosz Nitka2016-07-071-148/+145
| | | | | | | | | | | | | | | | | | | This file used the old style with type signatures separated from the code. As far as I understand the idea was to generate PostScript files from the source. I think the idea was abandoned and this more modern style is more common in the codebase. Test Plan: it still compiles Reviewers: austin, simonmar, bgamari Reviewed By: simonmar, bgamari Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D2383
* --without-libcharset disables the use of libcharsetSimon Marlow2016-07-071-3/+13
|
* Show testcase where demand analysis abortion code failsJoachim Breitner2016-07-073-0/+31
| | | | | By making it believe that some deeply nested value is absent when it really isn't. See #12368.
* Switch to LLVM version 3.8Erik de Castro Lopo2016-07-073-2/+10
| | | | | | | | | | | | | | LLVM 3.8 was released a couple of months ago. Test Plan: Build and test on x86_64/linux (perf-llvm) and armhf/linux. Reviewers: austin, hvr, rwbarton, bgamari Reviewed By: bgamari Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D2382
* Mention addModFinalizer changes in release notes.Facundo Domínguez2016-07-061-0/+7
|
* Have addModFinalizer expose the local type environment.Facundo Domínguez2016-07-0619-73/+429
| | | | | | | | | | | | | | | | | | | | | | Summary: This annotates the splice point with 'HsSpliced ref e' where 'e' is the result of the splice. 'ref' is a reference that the typechecker will fill with the local type environment. The finalizer then reads the ref and uses the local type environment, which causes 'reify' to find local variables when run in the finalizer. Test Plan: ./validate Reviewers: simonpj, simonmar, bgamari, austin, goldfire Reviewed By: goldfire Subscribers: simonmar, thomie, mboes Differential Revision: https://phabricator.haskell.org/D2286 GHC Trac Issues: #11832
* Adds x86_64-apple-darwin14 target.Moritz Angermann2016-07-053-11/+14
| | | | | | | | | | | | | | | | | | x86_64-apple-darwin14, is the target for the 64bit simulator. Ideally, we'd have (i386|armv7|arm64|x64_86)-apple-ios, yet, many #ifdefs depend on `darwin`, notably libffi. Hence, this only adds x86_64-apple-darwin14 as a target. This also updates the comment to add the `-S` flag, and dump the output to stdout; and adjusts the `datalayout` and `triple` values, as obtained through the method mentioned in the comment. Reviewers: hvr, erikd, austin, bgamari, simonmar Reviewed By: simonmar Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D2378
* Fix GetTime.c on Darwin with clock_gettimeMisty De Meo2016-07-051-2/+2
| | | | | | | | | On Darwin versions with clock_gettime, #ifdefs will prevent the mach-specific time functions from being used in most places, and the mach time headers won't be included; however, this section was guarded incorrectly and would still try to use them. Fixes #12195.
* Remove varEnvEltsBartosz Nitka2016-07-051-3/+1
| | | | | | | | | | varEnvElts can introduce unnecessary nondeterminism and we can finally remove it, so that no one will use it by accident. If someone wants to use varEnvElts they should either use DVarEnv or use nonDetEltsUFM and document why it doesn't introduce nondeterminism. GHC Trac: #4012
* Kill varEnvElts in zonkEnvIdsBartosz Nitka2016-07-053-6/+14
| | | | | | | | | | | | | | | This localizes the nondeterminism that varEnvElts could have introduced, so that it's obvious that it's benign. Test Plan: ./validate Reviewers: simonpj, austin, bgamari Subscribers: thomie, simonmar Differential Revision: https://phabricator.haskell.org/D2390 GHC Trac Issues: #4012
* Document codegen nondeterminismBartosz Nitka2016-07-051-1/+5
| | | | | | | We don't care about bit-for-bit reproducibility, so I'm just documenting this as a possible source. GHC Trac: #4012
* Test Trac #12133Simon Peyton Jones2016-07-052-0/+69
|
* White space onlySimon Peyton Jones2016-07-051-2/+2
|
* Tidy up tidyingSimon Peyton Jones2016-07-051-8/+2
| | | | | This is a tiny refactor, replacing an ad-hoc local function (TidyPgm.loookup_aux_id) with a solid global one (tidyVarOcc).
* Make unique auxiliary function names in derivingSimon Peyton Jones2016-07-056-143/+168
| | | | | | | | | In deriving for Data, we make some auxiliary functions, but they didn't always get distinct names (Trac #12245). This patch fixes it by using the same mechanism as for dictionary functions, namely chooseUniqueOccTc. Some assocated refactoring came along for the ride.
* Delete out-of-date commentSimon Peyton Jones2016-07-051-3/+0
|
* Use DVarEnv for vectInfoVarBartosz Nitka2016-07-058-33/+40
| | | | | | | | | This makes sure that we don't introduce unnecessary nondeterminism from vectorization. Also updates dph submodule to reflect the change in types. GHC Trac: #4012
* Extra ASSERTs for nameModuleSimon Peyton Jones2016-07-052-2/+3
|
* Check generic-default method for ambiguitySimon Peyton Jones2016-07-0512-39/+125
| | | | | | | | | | Fixes Trac #7497 and #12151. In some earlier upheaval I introduced a bug in the ambiguity check for genreric-default method. This patch fixes it. But in fixing it I realised that the sourc-location of any such error message was bogus, so I fixed that too, which involved a slightly wider change; see the comments with TcMethInfo.
* Kill some varEnvEltsBartosz Nitka2016-07-051-7/+21
| | | | | | | I was able to hide the nondeterminism in some specialized function, which I believe will be useful in other places. GHC Trac: #4012
* Revert "Linker: some extra debugging / logging"Simon Marlow2016-07-051-25/+0
| | | | This reverts commit 6377757918c1e7f63638d6f258cad8d5f02bb6a7.
* Revert "Fix 32-bit build failures"Simon Marlow2016-07-051-7/+4
| | | | This reverts commit 01f449f4ffd2c4f23bfe5698b9f1b98a86276900.
* Enum: Ensure that operations on Word fuseBen Gamari2016-07-041-14/+138
| | | | | | | | | | | | Test Plan: Validate, verify fusion Reviewers: austin, hvr Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D2376 GHC Trac Issues: #12354
* CallArity: Use not . null instead of length > 0Ben Gamari2016-07-041-1/+1
| | | | | | | | | | Test Plan: Validate Reviewers: austin Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D2381
* users-guide: Remove static field type from rts-flagBen Gamari2016-07-041-1/+0
| | | | This was introduced by a cut-and-paste error.
* Treat duplicate pattern synonym signatures as an errorSeraphime Kirkovski2016-07-044-0/+14
| | | | | | | | | | | | | | | | | | | | | | | Fixes issue T12165 by banning duplicate pattern synonyms signatures. This seems to me the best solution because: 1) it is coherent with the way we treat other duplicate signatures 2) the typechecker currently doesn't try to apply a second signature to a pattern to see if it matches, probably because it assumes there is no more than one signature per object. Test Plan: ./validate Reviewers: goldfire, austin, mpickering, bgamari Reviewed By: mpickering, bgamari Subscribers: mpickering, thomie Differential Revision: https://phabricator.haskell.org/D2361 GHC Trac Issues: #12165
* testsuite: Add testcase for #12355Ben Gamari2016-07-042-0/+8
| | | | | | | | | | | | | | Test Plan: Validate Reviewers: austin, osa1 Reviewed By: osa1 Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D2377 GHC Trac Issues: #12355
* users-guide: Note multiple pattern signature change in relnotesBen Gamari2016-07-042-0/+6
|
* base: Add release date to changelogBen Gamari2016-07-041-1/+1
|
* MkCore: Fix some note namesÖmer Sinan Ağacan2016-07-041-7/+7
|
* Fix 32-bit build failuresSimon Marlow2016-07-041-4/+7
|
* Kill varEnvElts in seqDmdEnvBartosz Nitka2016-07-012-3/+8
| | | | GHC Trac: #4012
* Document some benign nondeterminismBartosz Nitka2016-07-011-2/+8
|
* Remove uniqSetToListBartosz Nitka2016-07-0112-48/+86
| | | | | | | This documents nondeterminism in code generation and removes the nondeterministic ufmToList function. In the future someone will have to use nonDetEltsUFM (with proper explanation) or pprUFM.
* Linker: some extra debugging / loggingSimon Marlow2016-07-011-0/+25
|
* Remove unused oc->isImportLib (#12230)Simon Marlow2016-07-012-8/+1
| | | | | | | | | | | | | | | | | | | | Summary: This field is never set, but it was being tested and used to decide whether to resolve an object or not. This caused non-deterministic crashes when using the RTS linker (see #12230). I suspect this is not the correct fix, but putting it up so that Phyx can tell us what the right fix should be. Test Plan: validate Reviewers: austin, Phyx, bgamari, erikd Subscribers: erikd, thomie, ezyang Differential Revision: https://phabricator.haskell.org/D2371 GHC Trac Issues: #12230
* rules/sphinx.mk: stop xelatex on errorMarkus Rothe2016-07-011-5/+5
| | | | This avoids the interactive prompt of xelatex on error.
* Allow one type signature for multiple pattern synonymsMatthew Pickering2016-07-0111-21/+34
| | | | | | | | | This makes pattern synonym signatures more consistent with normal type signatures. Updates haddock submodule. Differential Revision: https://phabricator.haskell.org/D2083
* Add NamedThing (GenLocated l e) instanceBen Gamari2016-07-011-0/+3
|
* users-guide: Fix markup in release notesBen Gamari2016-07-011-1/+1
|
* Testsuite: be less strict about topHandler03's stderrThomas Miedema2016-07-011-1/+4
| | | | Fixes #12343.
* Fix check_uniques in non-unicode localeThomas Miedema2016-06-301-1/+2
| | | | | | | | | Testcase: `LC_ALL=C make -C utils/checkUniques`. Works with python2 and python3. Reviewed by: bgamari Differential Revision: https://phabricator.haskell.org/D2372
* CmmExpr: remove unused `vgcFlag` functionMichal Terepeta2016-06-301-6/+1
| | | | | | | | | | | | Test Plan: validate Reviewers: austin, bgamari, simonmar Reviewed By: bgamari, simonmar Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D2351
* ghc-pkg: Drop trailing slashes in computing db pathsBen Gamari2016-06-301-1/+1
| | | | | | | | | | | | Test Plan: Validate, try tests in ticket Reviewers: austin Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D2336 GHC Trac Issues: #12194
* nativeGen: Allow -fregs-graph to be usedBen Gamari2016-06-302-15/+19
| | | | | | | | | | | | | | | | Previously the flag was silently ignored due the #7679 and #8657. This, however, seems unnecessarily brutal and makes experimentation unduly difficult for users. Test Plan: Validate Reviewers: austin, simonmar Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D2335 GHC Trac Issues: #7679, #8657