| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
Rename StgArrWords to StgArrBytes (see Trac #8552)
Reviewed By: austin
Differential Revision: https://phabricator.haskell.org/D1233
GHC Trac Issues: #8552
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
As a result of fixing #10836 it is now possible to merge 11 different
tests for #6018 into one
|
|
|
|
| |
Suggestion from Jeremy Gibbons
|
| |
|
|
|
|
| |
Thanks to Jeremy Gibbons for spotting the infelictity
|
|
|
|
|
|
|
|
|
| |
This fixes the ASSERTION failures in
indexed-types/should_fail/T5439
typecheck/should_fail/T5490
when GHC is compiled with -DDEBUG
See Phab:D202 attached to Trac #6018
|
| |
|
|
|
|
|
|
|
|
| |
I think this patch finally works around the delicacy in the strictness
of TcTyClsDecls.rejigConRes. See the notes with that function and
Note [Checking GADT return types].
As a result, we fix Trac #10836, and improve Trac #7175
|
| |
|
|
|
|
| |
Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
|
|
|
|
| |
Don't mark it expect_broken, because it fails only sometimes.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For now, this fails compliation immediately with an error. If desired, this
can be a warning that annotations in Safe Haskell are ignored.
Signed-off-by: David Kraeutmann <kane@kane.cx>
Reviewed By: goldfire, austin
Differential Revision: https://phabricator.haskell.org/D1226
GHC Trac Issues: #10826
|
|
|
|
|
|
|
|
| |
Use modern Cmm argument syntax in stg_block_blackhole definition.
Reviewed By: simonmar, austin
Differential Revision: https://phabricator.haskell.org/D1210
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
`configure` currently detects when the docbook and hscolour tools aren't
available, and instead of failing outright (as it does for missing alex
and happy), sets some variables in mk/config.mk to tell `make` not to
build the documentation.
Sometimes, however, you want to really make sure all documentation gets
built, fully colourized. For example when making a release. To do so,
you can override the mentioned variables from mk/config.mk in
mk/build.mk (e.g. set HSCOLOUR_SRCS=YES).
This patch adds some error checking to make sure that doing so will not
result in weird build failures when those tools are still missing.
Test Plan: ran `make` a couple of times, with different mk/config.mk settings.
Reviewed by: austin
Differential Revision: https://phabricator.haskell.org/D1232
|
|
|
|
|
|
|
|
|
|
| |
This allows these to be used from Text.Read.Lex import cycles.
Reviewed By: thomie, austin
Differential Revision: https://phabricator.haskell.org/D1121
GHC Trac Issues: #10444
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
See Note [CrossCompiling vs Stage1Only] in mk/config.mk.in.
See Note [Stage1Only vs stage=1] in mk/config.mk.in.
See Note [No stage2 packages when CrossCompiling or Stage1Only].
Also:
* use stage2 to build mkUserGuidePart, as was probably intended.
Now the following represent the same set of packages:
- packages that we build with ghc-stage2
- packages that depend on the ghc library
Those packages are: haddock, mkUserGuidePart and ghctags.
* don't let utils that don't depend on the ghc library depend on its
package-data.mk file. Instead, let those utils directly depend on
the package-data.mk files of the stage1 packages. Not sure if it
improves anything, but I found it easier to explain what's going on
this way.
(partially) reviewed by: austin
Differential Revision: https://phabricator.haskell.org/D1218
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a follow up to 841924c9587c10488a18e307b573720977bf4f13,
where `-fllvm` was explicitly removed from GhcStage1HcOpts for
perf-cross.
After removing -fllvm from GhcStage1HcOpts, it should be removed from
SRC_HC_OPTS as well, because SRC_HC_OPTS are added to every Haskell
compilation. That's what this patch does.
BuildFlavour bench-cross (added in ddf79ebf69fe4a6e69d69d451a6040a53b1ea12c),
is probably never used. But for consistency, also use -fllvm here, for
building stage2 and the libraries.
Reviewed by: austin
Differential Revision: https://phabricator.haskell.org/D1228
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Just install all packages that are built. Don't make an exception for
the dph and extra packages.
You can control whether the dph and extra packages should be build using
the variables BUILD_DPH and BUILD_EXTRA_PKGS. These variables didn't
exist before. But now that they do, InstallExtraPackages isn't really
needed anymore.
Reviewed by: austin
Differential Revision: https://phabricator.haskell.org/D1227
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Cross-compilation on Mac OSX currently doesn't work. While building
stage 1, the build system uses the `ar` for the target architecture
instead of the `ar` for build/host architecture.
The cause is a hack added in 24746fe78024a1edab843bc710c79c55998ab134
(2010), to supporting bootstrap compilers built with older versions of
Xcode. Xcode 4.3 started installing command line tools in a different
location. Assuming this all behind us now, and the paths didn't change
again (you never now), we can delete the hack.
Deleting the hack fixes the cross compilation issue. Tested by Trac user
jakzale.
Reviewed by: austin
Differential Revision: https://phabricator.haskell.org/D1231
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Cloning the ghc repository from GitHub doesn't work out of the box. It
requires installing some special url rewrites into ~/.gitconfig. The
build fails mysteriously if you forget. This patch tries to detect when
you cloned from GitHub, and warns you if you didn't set those url
rewrites.
This hopefully lowers to barrier to contribute to GHC by a tiny bit. At
least one /r/haskell user ran into this recently.
Test Plan:
cloned from github, ran ./boot, saw the message. Installed url
rewrites, and ran ./boot again, didn't see the message.
Reviewed by: austin
Differential Revision: https://phabricator.haskell.org/D1230
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
After I have found out that I should look at -ddump-prep and not
-ddump-core, I noticed that these days, GHC is perfectly capeable of
turning (the equivalent) of foldl to (the equivalent) of foldl' if the
operation in question is strict. So instead of using rewrite rules to
rewrite maximum to a strictMaximum for certain types, we simply use
SPECIALIZE.
This also marks maximum/minimum as INLINEABLE, so that client code can
get similar specializations, hopefully even automatically. And inded,
minimum applied to [Double] produces good code (although due to
inlineing, not due to specialization, it seems).
I checked (by looking at the core) that this still fixes #10788.
Differential revision: https://phabricator.haskell.org/D1229
|
|
|
|
|
|
|
|
| |
This fixes a regression reported in #10788, where due to less inlining
compared to earlier versions, we’d get worse code. With the SPECIALIZE,
we get the good code, and moreover, the good code is in List.hs and
_not_ inlined to the use site, so smaller code size and less compilation
time.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There used to be a lot of custom make code to build ghc-pkg with the
stage0 compiler. Commit ac5a314504554ddef0e855ef9e2fcf51e961f4a6
thankfully cleaned this up, by using the build settings from the
ghc-pkg.cabal file.
This commit removes some remains of the old way of installing ghc-pkg
when Stage1Only=YES. Notably, we called both `build-prog` as
`shell-wrapper`. This is surely wrong, because `build-prog` already
calls `shell-wrapper`. It isn't needed to set WANT_INSTALLED_WRAPPER
either; build-prog does that for us.
This prevents the following warnings when Stage1Only=YES:
utils/ghc-pkg/ghc.mk:46: warning:
overriding commands for target `install_utils/ghc-pkg_dist_wrapper'
utils/ghc-pkg/ghc.mk:37: warning:
ignoring old commands for target `install_utils/ghc-pkg_dist_wrapper'
Also add more comments and restructure a bit.
Reviewed by: austin
Differential Revision: https://phabricator.haskell.org/D1063
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Note that SRC_HC_OPTS are added to every Haskell compilation. So
there isn't any need to also add `-fllvm` to GhcStage1HcOpts,
GhcStage2HcOpts and GhcLibHcOpts.
Small bug fix: make sure we test for -fllvm in SRC_HC_OPTS, to check
whether the bootstrap compiler is affected by bug #9439.
Reviewed by: austin
Differential Revision: https://phabricator.haskell.org/D1188
|
|
|
|
|
|
|
|
|
| |
This allows easier diffing of different BuildFlavours, including
`mk/flavours/validate.mk`.
Reviewed By: bgamari, austin
Differential Revision: https://phabricator.haskell.org/D1050
|
|
|
|
|
| |
This has been unnecessary for quite some time due to the create/delete
capability events.
|
| |
|
|
|
|
| |
Otherwise this is ill-formed DocBook
|
|
|
|
|
|
|
| |
Lines like the following are filling up the build logs:
binary-0.7.5.0: cannot find any of
["Data/Binary.hi","Data/Binary.p_hi","Data/Binary.dyn_hi"] (ignoring)
|
|
|
|
|
|
| |
Reviewed by: bgamari
Differential Revision: https://phabricator.haskell.org/D1209
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Previously, foldr1 would be defiend recursively and thus not inline.
This is bad, for example, when maximumBy has a strict comparison
function: Before the BBP, it was implemented via foldl1, which inlined
and yielded good code. With BBP, it goes via foldr1, so we better inline
this as well. Fixes #10830.
Differential Revision: https://phabricator.haskell.org/D1205
|
|
|
|
| |
Differential Revision: https://phabricator.haskell.org/D1206
|
|
|
|
| |
Differential Revision: https://phabricator.haskell.org/D1207
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes validate.
374457809de343f409fbeea0a885877947a133a2 (D202) mentions: "This patch
also wires-in Maybe data type".
A conflicting definition of a wired-in type in a .hsig file doesn't seem
to cause compilation to fail. This is probably a bug, but a small one.
Since SPJ in ffc21506894c7887d3620423aaf86bc6113a1071 swept this under
the rug, by removing `data Bool a b c d = False` from tcfail220.hsig,
I'm going to do the same here.
D1098 touches these files, so ezyang can decide whether this problem
warrants fixing when doing a rebase.
Differential Revision: https://phabricator.haskell.org/D1208
|
|
|
|
| |
Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For details see #6018, Phab:D202 and the wiki page:
https://ghc.haskell.org/trac/ghc/wiki/InjectiveTypeFamilies
This patch also wires-in Maybe data type and updates haddock submodule.
Test Plan: ./validate
Reviewers: simonpj, goldfire, austin, bgamari
Subscribers: mpickering, bgamari, alanz, thomie, goldfire, simonmar,
carter
Differential Revision: https://phabricator.haskell.org/D202
GHC Trac Issues: #6018
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
`make test` now runs all tests for a single way only. Use `make slowtest` to
get the previous behaviour (i.e. run all tests for all ways).
The intention is to use this new `make test` setting for Phabricator, as
a reasonable compromise between `make fasttest` (what it previously
used) and a fullblown `make slowtest` (which runs all tests for all
ways).
See Note [validate and testsuite speed] in toplevel Makefile.
Differential Revision: https://phabricator.haskell.org/D1178
|
|
|
|
|
|
|
|
|
|
| |
I didn't realize that `./validate` does not run every test :(
Test Plan: ./validate --slow
Update submodule hpc.
Differential Revision: https://phabricator.haskell.org/D1204
|
|
|
|
| |
Please revert when #10712 is fixed.
|
| |
|
|
|
|
|
|
|
|
|
| |
They can only occur with `-O`, but we want tests to produce the same
output for all test ways.
This brings us closer to passing the complete testsuite.
Differential Revision: https://phabricator.haskell.org/D1203
|
|
|
|
| |
Updates stm submodule.
|
|
|
|
|
|
|
|
|
|
| |
Summary: See Note [Displaying potential instances].
Reviewers: austin
Subscribers: KaneTW, thomie
Differential Revision: https://phabricator.haskell.org/D1176
|