| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
Previously unboundKey and fromIntegerClassOpKey were sharing a Unique
Reassign unboundKey to `mkPreludeMiscIdUnique 158`
|
| |
|
|
|
|
| |
Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
`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
|
| |
|
|
|
|
|
| |
This fixes commit d1d8704cb3d003315177fad1394fce49f98fb1a2,
which somehow was mangled during merge.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
Reviewers: austin, thomie, bgamari
Reviewed By: bgamari
Differential Revision: https://phabricator.haskell.org/D1376
GHC Trac Issues: #10848
|
|
|
|
|
|
| |
This silences warnings from Sphinx of the form,
docs/users_guide/ghc.rst:: WARNING: document isn't included in any toctree
|
|
|
|
|
|
| |
Fixes Trac #10997
Merge to stable branch
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Test Plan: validate
Reviewers: austin, thomie, bgamari
Reviewed By: thomie
Subscribers: thomie
Differential Revision: https://phabricator.haskell.org/D1349
GHC Trac Issues: #10970
|
|
|
|
|
|
|
|
|
|
|
|
| |
Reviewers: austin, bgamari
Reviewed By: bgamari
Subscribers: thomie
Differential Revision: https://phabricator.haskell.org/D1367
GHC Trac Issues: #10848
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
Test Plan: harbormaster
Reviewers: austin, bgamari
Reviewed By: bgamari
Subscribers: thomie
Differential Revision: https://phabricator.haskell.org/D1374
|
| |
|
|
|
|
|
|
|
|
| |
$ 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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Test Plan: Validate.
Reviewers: austin
Reviewed By: austin
Subscribers: thomie
Differential Revision: https://phabricator.haskell.org/D1352
GHC Trac Issues: #10370
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
Test Plan: validate
Reviewers: austin, bgamari
Subscribers: thomie
Differential Revision: https://phabricator.haskell.org/D1366
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Reviewers: austin, goldfire, bgamari
Reviewed By: bgamari
Subscribers: thomie
Differential Revision: https://phabricator.haskell.org/D1363
|
|
|
|
|
|
|
|
|
|
|
|
| |
Test Plan: perl boot and check for warnings
Reviewers: niteria, austin, bgamari
Reviewed By: bgamari
Subscribers: thomie
Differential Revision: https://phabricator.haskell.org/D1364
|
|
|
|
| |
Signed-off-by: Sergei Trofimovich <siarheit@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
`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
|
|
|
|
|
|
|
|
|
|
|
|
| |
Test Plan: the linter works now
Reviewers: ezyang, austin, bgamari
Reviewed By: bgamari
Subscribers: thomie
Differential Revision: https://phabricator.haskell.org/D1359
|
| |
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Just a documentation change. Fixes #10736.
|
|
|
|
| |
The section heading syntax trips up this linter. Fixes #10979.
|
| |
|
|
|
|
| |
Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
|
|
|
|
| |
Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
Differential Revision: https://phabricator.haskell.org/D1348
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
|
| |
|