summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* Pattern synonyms: swap provided/requiredSimon Peyton Jones2015-10-2816-33/+111
| | | | | | | | | | | | | | This patch swaps the order of provided and required constraints in a pattern signature, so it now goes pattern P :: req => prov => t1 -> ... tn -> res_ty See the long discussion in Trac #10928. I think I have found all the places, but I could have missed something particularly in comments. There is a Haddock changes; so a submodule update.
* Build system: don't add ALL_HC_OPTS when linkingThomas Miedema2015-10-283-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: The current scheme in rules/distdir-way-opts.mk is something like this: GHC_LD_OPTS = MOST_HC_OPTS + ALL_LD_OPTS MOST_DIR_HC_OPTS = MOST_HC_OPTS + -odir,-hidir,-stubdir ALL_HC_OPTS = MOST_DIR_HC_OPTS + -hisuf,-osuf,-hcsuf,-split-objs,-dynamic-too Notice that both ALL_HC_OPTS and GHC_LD_OPTS include MOST_HC_OPTS, and currently both got added when linking. Adding MOST_HC_OPTS twice results in overly long and hard to decipher command lines (and build logs). This commit fixes that. Afaik, -odir,-hidir,-stubdir,-hisuf,-osuf,-hcsuf,-spit-objs,-dynamic-too are all not needed when linking, so this change should be safe to make. GHC_LD_OPTS is for linking, ALL_HC_OPTS is for compiling. ALL_HC_OPTS was added to the linking commands in 37a6a52facd1c3999ce4472c50b0030568be1e04, to make sure -no-user-package-conf would be in the options list. It still is after this change. Reviewers: austin, bgamari Differential Revision: https://phabricator.haskell.org/D1379
* PrelNames: Fix duplicate uniqueBen Gamari2015-10-271-1/+1
| | | | | Previously unboundKey and fromIntegerClassOpKey were sharing a Unique Reassign unboundKey to `mkPreludeMiscIdUnique 158`
* Testsuite: accept output for T10999 (#10999)Thomas Miedema2015-10-271-1/+14
|
* Make T10970a non-dependent on GCC version.Edward Z. Yang2015-10-274-9/+7
| | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
* Fix the DYNAMIC_GHC_PROGRAMS=NO build on Mac/WindowsReid Barton2015-10-271-0/+1
| | | | | | | | | LEADING_UNDERSCORE is defined in a header file, so we need to #include that file where we use LEADING_UNDERSCORE. Reviewed By: austin Differential Revision: https://phabricator.haskell.org/D1382
* Make worker-wrapper optionalChristiaan Baaij2015-10-274-15/+57
| | | | | | | | | | | | | | | | | | | Add -fworker-wrapper flag which enables the worker-wrapper transformation. It is implied by -O. The expected users of this flag, which includes myself, are GHC API users. In my Haskell-to-Hardware compiler, which uses the GHC API, I have seen no benifits of the worker-wrapper transformation. It does however induce longer compilation times. Further discussion can be seen here: https://mail.haskell.org/pipermail/ghc-devs/2015-October/010096.html Reviewed By: austin Differential Revision: https://phabricator.haskell.org/D1372 GHC Trac Issues: #11020
* DynFlags: Yet one more fixBen Gamari2015-10-271-0/+3
|
* Sort field labels before fingerprint hashingBartosz Nitka2015-10-277-1/+53
| | | | | | | | | | | | | | | | | | `fsEnvElts :: FastStringEnv a -> [a]` returns a list of `[a]` in the order of `Unique`s which is arbitrary. In this case it gives a list of record fields in arbitrary order, from which we then extract the field labels to contribute to the record fingerprint. The arbitrary ordering of field labels introduces unnecessary nondeterminism in interface files as demonstrated by the test case. We sort `FastString` here. It's safe, because the only way that the `Unique` associated with the `FastString` is used in comparison is for equality. If the `Unique`s are different it fallbacks to comparing the actual `ByteString`. Reviewed By: ezyang, thomie, bgamari, austin Differential Revision: https://phabricator.haskell.org/D1373 GHC Trac Issues: #4012
* DynFlags: Fix more merge errorsBen Gamari2015-10-271-1/+3
|
* Fix "Use correct documentation flag for freverse-errors"Ben Gamari2015-10-271-0/+4
| | | | | This fixes commit d1d8704cb3d003315177fad1394fce49f98fb1a2, which somehow was mangled during merge.
* Make it possible to have different UniqSupply strategiesBartosz Nitka2015-10-275-11/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To get reproducible/deterministic builds, the way that the Uniques are assigned shouldn't matter. This allows to test for that. It add 2 new flags: * `-dinitial-unique` * `-dunique-increment` And by varying these you can get interesting effects: * `-dinitial-unique=0 -dunique-increment 1` - current sequential UniqSupply * `-dinitial-unique=16777215 -dunique-increment -1` - UniqSupply that generates in decreasing order * `-dinitial-unique=1 -dunique-increment PRIME` - where PRIME big enough to overflow often - nonsequential order I haven't proven the usefullness of the last one yet and it's the reason why we have to mask the bits with `0xFFFFFF` in `genSym`, so I can remove it if it becomes contentious. Test Plan: validate on harbormaster Reviewers: simonmar, austin, ezyang, bgamari Reviewed By: austin, bgamari Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D1360 GHC Trac Issues: #4012
* Use correct documentation flag for freverse-errorsSiddhanathan Shanmugam2015-10-271-2/+2
| | | | | | | | | | Reviewers: austin, thomie, bgamari Reviewed By: bgamari Differential Revision: https://phabricator.haskell.org/D1376 GHC Trac Issues: #10848
* manpage: Mark as orphan documentBen Gamari2015-10-271-0/+2
| | | | | | This silences warnings from Sphinx of the form, docs/users_guide/ghc.rst:: WARNING: document isn't included in any toctree
* Zonk properly when checkig pattern synonymsSimon Peyton Jones2015-10-278-37/+80
| | | | | | Fixes Trac #10997 Merge to stable branch
* Comments onlySimon Peyton Jones2015-10-271-0/+1
|
* Add regression tests for #10045, #10999Simon Peyton Jones2015-10-275-0/+43
|
* Build system: comments only [skip ci]Thomas Miedema2015-10-272-10/+11
|
* Implement MIN_VERSION and VERSION macros natively in GHC.Edward Z. Yang2015-10-269-2/+96
| | | | | | | | | | | | | | Test Plan: validate Reviewers: austin, thomie, bgamari Reviewed By: thomie Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D1349 GHC Trac Issues: #10970
* Add flag to reverse errors in GHC/GHCiSiddhanathan Shanmugam2015-10-263-6/+29
| | | | | | | | | | | | Reviewers: austin, bgamari Reviewed By: bgamari Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D1367 GHC Trac Issues: #10848
* Remove cygwin32_HOST_OS #ifdefsErik de Castro Lopo2015-10-267-127/+23
| | | | | | | | | | | | | | | | | Build system support for Cygwin was removed in b6be81b841. Test Plan: - Validate on x86_64/linux - Cross-compile rts/RtsSymbols.c and rts/Linker.c to Windows using the i686-w64-mingw32-gcc and x86_64-w64-mingw32-gcc cross compilers. Reviewers: hvr, austin, bgamari Reviewed By: bgamari Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D1371
* Fix a typo in the User's Guide ReST introBartosz Nitka2015-10-261-1/+1
| | | | | | | | | | | | Test Plan: harbormaster Reviewers: austin, bgamari Reviewed By: bgamari Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D1374
* base: Add Haddocks to GHC.RTS.FlagsBen Gamari2015-10-261-3/+46
|
* Remove redundant typedefGabor Greif2015-10-261-2/+0
| | | | | | | | $ git grep -n "typedef struct LibDwSession_ " rts/Libdw.c:63:typedef struct LibDwSession_ LibDwSession; rts/Libdw.h:22:typedef struct LibDwSession_ LibDwSession; This trips up (e.g.) GCC v4.4.7.
* Add testcase for #10370Ben Gamari2015-10-262-0/+1022
| | | | | | | | | | | | | | Test Plan: Validate. Reviewers: austin Reviewed By: austin Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D1352 GHC Trac Issues: #10370
* Provide a utility to check API AnnotationsAlan Zimmerman2015-10-2522-195/+195
| | | | | | | | | | | | | | | | | | | | | | | | | | | | It is difficult for GHC developers to know if they have broken the API Annotations. This patch provides a utility that can be used as a test to show up errors in the API Annotations. It is based on the current tests for ghc-api/annotations which can parse a file using the just-built GHC API, and check that no annotations are disconnected from the ParsedSource in the output. In addition, it should be able to dump the annotations to a file, so a new feature developer can check that all changes to the parser do provide annotations. Trac ticket: #10917 Test Plan: ./validate Reviewers: hvr, thomie, austin, bgamari Reviewed By: bgamari Differential Revision: https://phabricator.haskell.org/D1368 GHC Trac Issues: #10917
* rts/RtsSymbols.c: Fix Windows buildErik de Castro Lopo2015-10-251-0/+8
| | | | | | | | | | | | | Test Plan: - Build whole of GHC on Linux. - Cross-compile rts/RtsSymbols.c and rts/Linker.c to Windows using the i686-w64-mingw32-gcc and x86_64-w64-mingw32-gcc cross compilers. Reviewers: bgamari, awson, austin Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D1365
* rts/Linker.c: Convert #if/#else to if/elseErik de Castro Lopo2015-10-251-22/+28
| | | | | | | | | | Test Plan: validate Reviewers: austin, bgamari Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D1366
* rts/Linker.c: Split RTS symbols out into separate fileErik de Castro Lopo2015-10-243-1183/+1217
| | | | | | | | | | | | | Pull the RtsSymbolVal typedef and rtsSyms[] array out into a separate header and C file. No change in functionality. Test Plan: validate Reviewers: simonmar, austin, bgamari Subscribers: Phyx, thomie Differential Revision: https://phabricator.haskell.org/D1362
* Update example GHCi startupGabor Greif2015-10-241-5/+1
|
* use Proxy instead of undefined -- we already dropped support for 7.6Ömer Sinan Ağacan2015-10-241-4/+3
| | | | | | | | | | Reviewers: austin, goldfire, bgamari Reviewed By: bgamari Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D1363
* configure.ac: Fix autotool warningsErik de Castro Lopo2015-10-241-4/+4
| | | | | | | | | | | | Test Plan: perl boot and check for warnings Reviewers: niteria, austin, bgamari Reviewed By: bgamari Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D1364
* typo in comments: s/selectg/select/Sergei Trofimovich2015-10-241-1/+1
| | | | Signed-off-by: Sergei Trofimovich <siarheit@google.com>
* Support more sphinx-build versions in configure scriptBartosz Nitka2015-10-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `sphinx-build` on CentOS (`python-sphinx10-doc-1.0.8-1.el6.centos.noarch`) responds with this on `stderr`: ``` $ sphinx-1.0-build --version Sphinx v1.0.8 Usage: /usr/bin/sphinx-1.0-build [options] sourcedir outdir [filenames...] Options: -b <builder> -- builder to use; default is html -a -- write all files; default is to only write new and changed files ... Modi: * without -a and without filenames, write new and changed files. * with -a, write all files. * with filenames, write these. ``` This should make it work for the old and the new format. Test Plan: ``` $ echo "Sphinx (sphinx-build) 1.0.1" | sed 's/Sphinx\( (sphinx-build)\)\? v\?\([0-9]\.[0-9]\.[0-9]\)/\2/' 1.0.1 $ echo "Sphinx v1.0.1" | sed 's/Sphinx\( (sphinx-build)\)\? v\?\([0-9]\.[0-9]\.[0-9]\)/\2/' 1.0.1 ``` Reviewers: austin, bgamari Reviewed By: bgamari Subscribers: thomie, erikd Differential Revision: https://phabricator.haskell.org/D1361
* Fix broken .arclintBartosz Nitka2015-10-241-1/+1
| | | | | | | | | | | | Test Plan: the linter works now Reviewers: ezyang, austin, bgamari Reviewed By: bgamari Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D1359
* gitignore: Ignore sphinx doctrees directoriesBen Gamari2015-10-231-1/+2
|
* Verify minimum required version of sphinx-buildBen Gamari2015-10-231-0/+9
| | | | | | | CentOS 6.6 includes sphinx-build 0.6.6 which is woefully inadequate to build the users guide. In particular it fails as it lacks `sphinx.ext.extlinks`, which was introduced in 1.0.0. Looking at the changelog it appears that 1.0.0 ought to work.
* base: Note platform dependence of registerFdBen Gamari2015-10-231-0/+5
| | | | Just a documentation change. Fixes #10736.
* arclint: ReST doesn't need ArcanistMergeConflictLinterBen Gamari2015-10-231-1/+2
| | | | The section heading syntax trips up this linter. Fixes #10979.
* Add testcase for #10426Ben Gamari2015-10-232-0/+4
|
* Quote GHC_PKG in Makefile.Edward Z. Yang2015-10-221-1/+1
| | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
* Quote GHC path in configure so we can deal with multiple spaces.Edward Z. Yang2015-10-221-1/+1
| | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
* Suggest chmod 755 instead of 644Ben Gamari2015-10-221-1/+1
| | | | | | | | | | | | | | | | | Previous suggestion would clear executable bit, meaning directory couldn't be entered. Fixes #11003. Test Plan: Read message. Reviewers: austin, thomie, dfeuer Reviewed By: thomie, dfeuer Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D1350 GHC Trac Issues: #11003
* Make stronglyConnCompFromEdgedVertices deterministicBartosz Nitka2015-10-2211-92/+124
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes it so the result of computing SCC's depends on the order the nodes were passed to it, but not on the order on the user provided key type. The key type is usually `Unique` which is known to be nondeterministic. Test Plan: `text` and `aeson` become deterministic after this ./validate Compare compile time for `text`: ``` $ cabal get text && cd text* && cabal sandbox init && cabal install --dependencies-only && time cabal build real 0m59.459s user 0m57.862s sys 0m1.185s $ cabal clean && time cabal build real 1m0.037s user 0m58.350s sys 0m1.199s $ cabal clean && time cabal build real 0m57.634s user 0m56.118s sys 0m1.202s $ cabal get text && cd text* && cabal sandbox init && cabal install --dependencies-only && time cabal build real 0m59.867s user 0m58.176s sys 0m1.188s $ cabal clean && time cabal build real 1m0.157s user 0m58.622s sys 0m1.177s $ cabal clean && time cabal build real 1m0.950s user 0m59.397s sys 0m1.083s ``` Reviewers: ezyang, simonmar, austin, bgamari Reviewed By: simonmar, bgamari Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D1268 GHC Trac Issues: #4012
* Add missing stderr fileBen Gamari2015-10-221-0/+3
|
* rts/Schedule.c: remove unused variableÖmer Sinan Ağacan2015-10-221-6/+0
| | | | Differential Revision: https://phabricator.haskell.org/D1348
* Suggest enabling PatternSynonyms (#10943)Moritz Kiefer2015-10-224-5/+17
| | | | | | | | | Suggest enabling PatternSynonyms if we find an invalid signature that looks like a pattern synonym. Reviewed By: austin, thomie Differential Revision: https://phabricator.haskell.org/D1347
* Add another test for #10549Ben Gamari2015-10-223-0/+7
|
* Stop the pipeline when it doesn't need to be run.ghc-validateEdward Z. Yang2015-10-211-3/+3
| | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
* Remove old trace statementRichard Eisenberg2015-10-211-3/+1
|