[Git][ghc/ghc][wip/T14261] 45 commits: Warn about unused packages

Ben Gamari gitlab at gitlab.haskell.org
Wed Jun 12 18:28:25 UTC 2019



Ben Gamari pushed to branch wip/T14261 at Glasgow Haskell Compiler / GHC


Commits:
fe7e7e4a by Yuras Shumovich at 2019-06-11T22:39:58Z
Warn about unused packages

Reviewers: bgamari, simonpj

Reviewed By: simonpj

Subscribers: hvr, simonpj, mpickering, rwbarton, carter

GHC Trac Issues: #15838

Differential Revision: https://phabricator.haskell.org/D5285

- - - - -
39f50bff by Alp Mestanogullari at 2019-06-11T22:40:37Z
Refine the GHCI macro into HAVE[_{INTERNAL, EXTERNAL}]_INTERPRETER

As discussed in #16331, the GHCI macro, defined through 'ghci' flags
in ghc.cabal.in, ghc-bin.cabal.in and ghci.cabal.in, is supposed to indicate
whether GHC is built with support for an internal interpreter, that runs in
the same process. It is however overloaded in a few places to mean
"there is an interpreter available", regardless of whether it's an internal
or external interpreter.

For the sake of clarity and with the hope of more easily being able to
build stage 1 GHCs with external interpreter support, this patch splits
the previous GHCI macro into 3 different ones:

- HAVE_INTERNAL_INTERPRETER: GHC is built with an internal interpreter
- HAVE_EXTERNAL_INTERPRETER: GHC is built with support for external interpreters
- HAVE_INTERPRETER: HAVE_INTERNAL_INTERPRETER || HAVE_EXTERNAL_INTERPRETER

- - - - -
45616133 by Alec Theriault at 2019-06-11T22:41:14Z
Make `haddock_testsuite` respect `--test-accept`

Suppose you've made changes that affect the output of `haddockHtmlTest`
so that the following is failing:

    ./hadrian/build.sh -c --only=haddockHtmlTest test

Then, the following will accept new output for Haddock's test cases.

    ./hadrian/build.sh -c --only=haddockHtmlTest test --test-accept

You still do need to make sure those new changes (which show up in
Haddock's tree) get committed though.

Fixes #16694

- - - - -
762098bf by Alp Mestanogullari at 2019-06-11T22:41:52Z
rts/RtsFlags.c: mention that -prof too enables support for +RTS -l

- - - - -
457fe789 by Alp Mestanogullari at 2019-06-11T22:42:30Z
Hadrian: teach the RTS that PROFILING implies TRACING

As discussed in #16744, both the Make and Hadrian build systems
have special code to always pass -eventlog whenever -prof or -debug
are passed. However, there is some similar logic in the RTS itself only
for defining TRACING when the DEBUG macro is defined, but no such logic
is implemented to define TRACING when the PROFILING macro is defined.
This patch adds such a logic and therefore fixes #16744.

- - - - -
cf7f36ae by Ben Gamari at 2019-06-11T22:43:05Z
rts/linker: Mmap into low memory on AArch64

This extends mmapForLinker to use the same low-memory mapping
strategy used on x86_64 on AArch64. See #16784.

- - - - -
0b7f81f5 by Ben Gamari at 2019-06-11T22:43:05Z
rts/linker: Use mmapForLinker to map PLT

The PLT needs to be located within a close distance of
the code calling it under the small memory model.

Fixes #16784.

- - - - -
1389b2cc by Ömer Sinan Ağacan at 2019-06-11T22:43:43Z
Fix an error message in CheckUnload.c:searchHeapBlocks

- - - - -
aad6115a by Alp Mestanogullari at 2019-06-11T22:44:20Z
testsuite/mk/boilerplate.mk: rename 'ghc-config-mk' to 'ghc_config_mk'

Make/shell variable names which contain dashes can cause problems under
some conditions. The 'ghc-config-mk' variable from testsuite/mk/boilerplate.mk
that I made overridable (by Hadrian) in ba0aed2e was working as expected when
our Hadrian/Linux job was based off the deb8 Docker image, but broke when
I switched the job to use our deb9-based image, in 3d97bad6. The exact
circumstances/tool versions that trigger this problem are unknown, but
changing the variable's name to 'ghc_config_mk' lets us work around the issue.

This fixes the annth_compunits and annth_make test failures that showed up
when we switched the Hadrian/Linux job to use the deb9 environment.

- - - - -
9b4ff57d by Ben Gamari at 2019-06-12T11:35:25Z
llvm-targets: Add armv7l-unknown-linux-gnueabi

Fixes #15208.

[skip ci]

- - - - -
c05ca251 by Ben Gamari at 2019-06-12T11:36:01Z
testsuite: Add haddock perf test output to gitignore

[skip ci]

- - - - -
bbc752c5 by Ben Gamari at 2019-06-12T11:36:36Z
rts/linker: Make elf_got.c a bit more legible

- - - - -
217e6db4 by Ben Gamari at 2019-06-12T11:36:36Z
rts/linker: Only mprotect GOT after it is filled

This fixes a regression, introduced by 67c422ca, where we mprotect'd the
global offset table (GOT) region to PROT_READ before we had finished
filling it, resulting in a linker crash.

Fixes #16779.

- - - - -
1219f8e8 by Krzysztof Gogolewski at 2019-06-12T11:37:12Z
Use DeriveFunctor throughout the codebase (#15654)

- - - - -
bd2d13ff by Ben Gamari at 2019-06-12T12:19:59Z
Bump binary to 0.8.7.0

(cherry picked from commit 983ada70a013c7642a751f6e41587ff95b57d0f8)

- - - - -
381c3ae3 by Ben Gamari at 2019-06-12T12:19:59Z
Bump Cabal submodule

(cherry picked from commit ff438786613f07df9b2d43eaeac49b13815d849d)

Metric Increase:
    haddock.Cabal

- - - - -
0354c7de by Ben Gamari at 2019-06-12T12:19:59Z
Bump time submodule to 1.9.3

(cherry picked from commit fdb07571036b1498800589d45b61781e6acdd368)

- - - - -
e0b16eaa by Ben Gamari at 2019-06-12T12:19:59Z
Bump terminfo to 0.4.1.4

(cherry picked from commit 1134488b4c9cef904ea82f22f1978646eea612df)

- - - - -
2ce320b0 by Ben Gamari at 2019-06-12T12:19:59Z
gitlab-ci: Test using slowtest in deb9-debug job

- - - - -
90e7c450 by Ben Gamari at 2019-06-12T12:19:59Z
testsuite: Mark hWaitForInput-accurate-stdin as broken in threaded ways

As noted in #16535.

- - - - -
488187f8 by Ben Gamari at 2019-06-12T12:19:59Z
testsuite: Mark T13167 as fragile in threaded2

As noted in #16536.

- - - - -
9b583320 by Ben Gamari at 2019-06-12T12:19:59Z
testsuite: Mark T13910 as broken in optasm

Due to #16537.

- - - - -
eb644865 by Ben Gamari at 2019-06-12T12:19:59Z
testsuite: Mark T14761c as broken in hpc, profasm, and optasm ways

As noted in #16540.

- - - - -
1a204e07 by Ben Gamari at 2019-06-12T12:19:59Z
testsuite: Mark T16180 as broken in ghci and ext-interp ways

As noted in #16541.

- - - - -
8d482e45 by Ben Gamari at 2019-06-12T12:19:59Z
testsuite: Omit tcrun022 in hpc way

As noted in #16542, the expected rule doesn't fire. However, this
doesn't seem terribly surpring given the circumstances.

- - - - -
68cfdfdb by Ben Gamari at 2019-06-12T12:20:25Z
testsuite: Mark Overflow as broken in hpc way

As noted in #16543.

- - - - -
a3929a4f by Ben Gamari at 2019-06-12T12:20:25Z
testsuite: Mark T2783 as fragile in threaded1

It was previously marked as broken but it passes non-deterministically.
See #2783.

- - - - -
bb7ed32f by Ben Gamari at 2019-06-12T12:20:25Z
testsuite: Skip T7919 in ghci way

It times out pretty reliably. It's not clear that much is gained by
running this test in the ghci way anyways.

- - - - -
329dcd7a by Ben Gamari at 2019-06-12T12:20:25Z
testsuite: Fix fragile_for test modifier

- - - - -
55b5bb14 by Ben Gamari at 2019-06-12T12:20:25Z
testsuite: Fix omit_ways usage

omit_ways expects a list but this was broken in several cases.

- - - - -
264ad286 by Ben Gamari at 2019-06-12T12:20:25Z
testsuite: Mark threadstatus-T9333 as fragile in ghci way

As noted in #16555.

- - - - -
587bef66 by Ben Gamari at 2019-06-12T12:20:25Z
testsuite: Omit profasm way for cc017

cc017 requires TH but we can't load dynamic profiled objects.

- - - - -
dc5a37fd by Ben Gamari at 2019-06-12T12:20:25Z
testsuite: Skip T493 in ghci way.

T493 tests #493, which is an FFI test. FFI tests should be skipped
in ghci way.

- - - - -
e3f71d0e by Ben Gamari at 2019-06-12T12:20:25Z
testsuite: Mark T16449_2 as broken due to #16742

- - - - -
b5a13a1e by Ben Gamari at 2019-06-12T12:20:25Z
testsuite: Mark T16737 as broken in ghci way due to #16541

- - - - -
b09374a4 by Ben Gamari at 2019-06-12T12:20:25Z
testsuite: Note intentional typo in T7130

I earlier accidentally corrected it breaking the test.

- - - - -
a798c130 by Ben Gamari at 2019-06-12T12:20:25Z
linters/check-makefiles: Limit lint to Makefiles

Previously we would apply this rule, which is only intended for
testsuite Makefiles, to all files. This lead to a number of
false-positives in all.T files.

- - - - -
0782141e by Ben Gamari at 2019-06-12T12:20:25Z
gitlab-ci: Fetch submodules before running submodule linter

- - - - -
898f7e92 by Ben Gamari at 2019-06-12T12:20:25Z
Fix uses of #ifdef/#ifndef

The linter now enforces our preference for `#if defined()` and
`#if !defined()`.

- - - - -
0a13a04c by Ben Gamari at 2019-06-12T12:20:25Z
Bump unix submodule

Marks posix002 as fragile in threaded2 way due to #16550.

- - - - -
a8579e5b by Ben Gamari at 2019-06-12T12:27:25Z
process: Bump submodule

 * Skip process005 in ghci way
 * Mark process002 as fragile in threaded2

- - - - -
3f1022c5 by Ben Gamari at 2019-06-12T12:27:25Z
testsuite: Skip cgrun078 in ghci way

This test requires FFI usage.

- - - - -
1cbfef47 by Ben Gamari at 2019-06-12T12:27:25Z
testsuite: Unbreak galois_raytrace on i386

galois_raytrace was previously broken on i386 due to use of x87
arithmethic on that platform. However,
42504f4a575395a35eec5c3fd7c9ef6e2b54e68e removes x87 support; this
resulted in an unexpected pass. Unmark this test as broken.

- - - - -
20160f1a by Ben Gamari at 2019-06-12T12:27:25Z
testsuite: Don't run tests requiring TH in profasm way when GhcDynamic

Since we can't load profiled objects when GhcDynamic==YES. Affects:

* T16737
* T16384
* T16718
* T16619
* T16190

- - - - -
fef58b1b by Ben Gamari at 2019-06-12T18:27:46Z
Add a few missing llvm-targets

This should finally fix #14261.

- - - - -


30 changed files:

- .gitlab-ci.yml
- .gitlab/linters/check-makefiles.py
- .gitlab/linters/linter.py
- aclocal.m4
- compiler/basicTypes/UniqSupply.hs
- compiler/cmm/CmmLint.hs
- compiler/cmm/Hoopl/Block.hs
- compiler/cmm/PprC.hs
- compiler/codeGen/StgCmmExtCode.hs
- compiler/codeGen/StgCmmMonad.hs
- compiler/coreSyn/CoreLint.hs
- compiler/deSugar/Coverage.hs
- compiler/ghc.cabal.in
- compiler/ghci/ByteCodeAsm.hs
- compiler/ghci/ByteCodeGen.hs
- compiler/ghci/GHCi.hs
- compiler/hsSyn/Convert.hs
- compiler/hsSyn/HsBinds.hs
- compiler/llvmGen/LlvmCodeGen/Base.hs
- compiler/main/Annotations.hs
- compiler/main/CmdLineParser.hs
- compiler/main/DynFlags.hs
- compiler/main/DynamicLoading.hs
- compiler/main/GhcMake.hs
- compiler/main/GhcMonad.hs
- compiler/main/HscTypes.hs
- compiler/main/PipelineMonad.hs
- compiler/main/TidyPgm.hs
- compiler/nativeGen/AsmCodeGen.hs
- compiler/nativeGen/NCGMonad.hs


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/compare/7f5f1927045838ac87887b08e9ae6d4b7d59e549...fef58b1b42ded551b1767c3c3c35db713ac6afb3

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/compare/7f5f1927045838ac87887b08e9ae6d4b7d59e549...fef58b1b42ded551b1767c3c3c35db713ac6afb3
You're receiving this email because of your account on gitlab.haskell.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-commits/attachments/20190612/47d88d94/attachment-0001.html>


More information about the ghc-commits mailing list