[Git][ghc/ghc][wip/fendor/os-string-modlocation] 61 commits: ghcup-metadata: Various fixes from 9.10.1

Hannes Siebenhandl (@fendor) gitlab at gitlab.haskell.org
Thu May 30 14:01:39 UTC 2024



Hannes Siebenhandl pushed to branch wip/fendor/os-string-modlocation at Glasgow Haskell Compiler / GHC


Commits:
20b0136a by Ben Gamari at 2024-05-22T00:31:39-04:00
ghcup-metadata: Various fixes from 9.10.1

Use Debian 12/x86-64, Debian 10/aarch64, and Debian 11/aarch64 bindists
where possible.

- - - - -
6838a7c3 by Sylvain Henry at 2024-05-22T00:32:23-04:00
Reverse arguments to stgCallocBytes (fix #24828)

- - - - -
f50f46c3 by Fendor at 2024-05-22T00:32:59-04:00
Add log messages for Iface serialisation compression level

Fix the label of the number of 'IfaceType' entries in the log message.
Add log message for the compression level that is used to serialise a an
interface file.

Adds `Outputable` instance for 'CompressionIFace'.

- - - - -
3bad5d55 by Hécate Moonlight at 2024-05-22T00:33:40-04:00
base: Update doctests outputs

ghc-internal: Update doctests outputs

- - - - -
9317c6fb by David Binder at 2024-05-22T00:34:21-04:00
haddock: Fix the testsuites of the haddock-library

- Apply all the metadata revisions from Hackage
  to the cabal file.
- Fix the `ParserSpec.hs` file in the `spec`
  testsuite of haddock-library.
- Make `CHANGES.md` an extra-doc-file instead of
  an extra-source-file.

- - - - -
54073b02 by David Binder at 2024-05-22T00:34:21-04:00
haddock: Fix parser of @since pragma

The testsuite contained tests for annotations of
the form `@since foo-bar-0.5.0`, but the parser was
written incorrectly.

- - - - -
ede6ede3 by Matthew Pickering at 2024-05-22T00:34:57-04:00
Fix nightly pages job

It seems likely broken by 9f99126a which moved `index.html` from the
root folder into `docs/` folder.

Fixes #24840

- - - - -
b7bcf729 by Cheng Shao at 2024-05-22T00:35:32-04:00
autoconf: remove unused context diff check

This patch removes redundant autoconf check for the context diff
program given it isn't actually been used anywhere, especially since
make removal.

- - - - -
ea2fe66e by Hécate Moonlight at 2024-05-22T00:36:13-04:00
haddock: Rework the contributing guide

- - - - -
0f302a94 by Hécate Moonlight at 2024-05-22T00:36:52-04:00
haddock: Add module relationships diagrams of haddock-api and haddock-library

- - - - -
d1a9f34f by Hécate Moonlight at 2024-05-22T00:36:52-04:00
Add instructions

- - - - -
b880ee80 by Hécate Moonlight at 2024-05-22T00:36:52-04:00
Add SVG outputs

- - - - -
6d7e6ad8 by Ben Gamari at 2024-05-22T13:40:05-04:00
rts: Fix size of StgOrigThunkInfo frames

Previously the entry code of the `stg_orig_thunk` frame failed to
account for the size of the profiling header as it hard-coded the frame
size. Fix this.

Fixes #24809.

- - - - -
c645fe40 by Fendor at 2024-05-22T13:40:05-04:00
Add regression test T24809 for stg_orig_thunk_info_frame size

- - - - -
4181aa40 by Andreas Klebinger at 2024-05-22T13:40:42-04:00
bindists: Check for existence of share folder before trying to copy it.

This folder isn't distributed in windows bindists

A lack of doing so resulted us copying loads of files twice.

- - - - -
d216510e by Matthew Pickering at 2024-05-22T13:40:42-04:00
Remove ad-hoc installation of mingw toolchain in relocatable bindists

This reverts 616ac30026e8dd7d2ebb98d92dde071eedf5d951

The choice about whether to install mingw is taken in the installation
makefile.

This is also broken on non-windows systems.

The actual issue was the EnableDistroToolchain variable wasn't declared
in mk/config.mk and therefore the check to install mingw was failing.

- - - - -
7b4c1998 by Cheng Shao at 2024-05-22T21:52:52-04:00
testsuite: fix T17920 for wasm backend

T17920 was marked as fragile on wasm before; it can be trivially fixed
by avoiding calling variadic printf() in cmm.

- - - - -
c739383b by Cheng Shao at 2024-05-22T21:53:29-04:00
testsuite: bump T22744 timeout to 5x

- - - - -
c4c6d714 by Cheng Shao at 2024-05-22T21:54:06-04:00
testsuite: don't attempt to detect host cpu features when testing cross ghc

The testsuite driver CPU feature detection logic only detects host CPU
and only makes sense when we are not testing a cross GHC.

- - - - -
3d9e4ce6 by Simon Peyton Jones at 2024-05-22T21:54:43-04:00
Better skolemisation

As #24810 showed, it is (a little) better to skolemise en-bloc,
so that Note [Let-bound skolems] fires more often.

See Note [Skolemisation en bloc] in GHC.Tc.Utils.Instantiate.

- - - - -
a3cd3a1d by Ryan Scott at 2024-05-22T21:55:19-04:00
Add missing parenthesizePat in cvtp

We need to ensure that the output of `cvtp` is parenthesized (at precedence
`sigPrec`) so that any pattern signatures with a surrounding pattern signature
can parse correctly.

Fixes #24837.

- - - - -
4bb2a7cc by Hécate Moonlight at 2024-05-22T21:55:59-04:00
[base] Document the memory overhead of ByteArray

Add a diagram that shows the constituent parts of a ByteArray and their
memory overhead.

- - - - -
8b2a016a by Hécate Moonlight at 2024-05-22T21:56:38-04:00
Haddock: Add MR template for Haddock

- - - - -
ead75532 by Peter Trommler at 2024-05-23T02:28:05-04:00
PPC: Support ELF v2 on powerpc64 big-endian

Detect ELF v2 on PowerPC 64-bit systems. Check for `_CALL_ELF`
preprocessor macro.

Fixes #21191

- - - - -
9d4c10f2 by Hécate Kleidukos at 2024-05-23T02:28:44-04:00
gitlab: Add @Kleidukos to CODEOWNERS for utils/haddock

- - - - -
28e64170 by Preetham Gujjula at 2024-05-23T07:20:48-04:00
haddock: Add cabal-fmt to tools for `make style`

- - - - -
00126a89 by Andrei Borzenkov at 2024-05-23T07:21:24-04:00
haddock: fix verbosity option parsing

- - - - -
a3e0b68b by Ryan Hendrickson at 2024-05-23T15:52:03-04:00
base: specify tie-breaking behavior of min, max, and related list/Foldable functions

- - - - -
bdcc0f37 by doyougnu at 2024-05-24T07:51:18-04:00
cmm: add word <-> double/float bitcast

- closes: #25331

This is the last step in the project plan described in #25331. This
commit:

- adds bitcast operands for x86_64, LLVM, aarch64
- For PPC and i386 we resort to using the cmm implementations
- renames conversion MachOps from Conv to Round|Truncate

- - - - -
f0d257f7 by Krzysztof Gogolewski at 2024-05-24T07:51:55-04:00
StgToByteCode: minor refactor

Some functions in StgToByteCode were filtering out void arguments.
However, StgToByteCode is called after unarisation: the void arguments
should have been removed earlier.
Instead of filtering out, we assert that the args are non-void.

- - - - -
03137fd2 by Krzysztof Gogolewski at 2024-05-24T07:51:55-04:00
StgToByteCode: minor refactor

`layoutNativeCall` was always called with a `primRepCmmType platform`
callback. Hence we can put it inside of `layoutNativeCall` rather than
repeat it.

- - - - -
27c430f3 by David Binder at 2024-05-24T07:52:38-04:00
haddock: Remove compatibility shims for GHC < 8.4 from haddock-library

- - - - -
8dd8a076 by Cheng Shao at 2024-05-24T07:53:14-04:00
compiler: avoid saving foreign call target to local when there are no caller-save GlobalRegs

This patch makes the STG->Cmm backend avoid saving foreign call target
to local when there are no caller-save GlobalRegs.

Since 321941a8ebe25192cdeece723e1058f2f47809ea, when we lower a
foreign call, we unconditionally save the foreign call target to a
temporary local first, then rely on cmmSink to clean it up later,
which only happens with -fcmm-sink (implied by -O) and not in
unoptimized code.

And this is troublesome for the wasm backend NCG, which needs to infer
a foreign call target symbol's type signature from the Cmm call site.
Previously, the NCG has been emitting incorrect type signatures for
unoptimized code, which happens to work with `wasm-ld` most of the
time, but this is never future-proof against upstream toolchain
updates, and it causes horrible breakages when LTO objects are
included in linker input. Hence this patch.

- - - - -
986df1ab by Cheng Shao at 2024-05-24T07:53:14-04:00
testsuite: add callee-no-local regression test

- - - - -
52d62e2a by Sylvain Henry at 2024-05-24T07:53:57-04:00
Fix HasCallStack leftovers from !12514 / #24726

- - - - -
c5e00c35 by crumbtoo at 2024-05-24T07:54:38-04:00
user_guide: Fix typo in MultiWayIf chapter

Close #24829

- - - - -
bd323b0e by Ben Gamari at 2024-05-24T07:55:15-04:00
base: Ensure that CHANGELOG is included in extra-source-files

This was missed in the `ghc-internal` split.

Closes #24831.

- - - - -
1bfd32e8 by Ben Gamari at 2024-05-24T07:55:15-04:00
base: Fix changelog reference to setBacktraceMechanismState

(cherry picked from commit b63f7ba01fdfd98a01d2f0dec8d9262b3e595c5d)

- - - - -
43e8e4f3 by Sylvain Henry at 2024-05-24T12:16:43-04:00
Float/double unboxed literal support for HexFloatLiterals (fix #22155)

- - - - -
4a7f4713 by Fendor at 2024-05-24T12:17:19-04:00
Improve test labels for binary interface file size tests

Test labels for binary interface file sizes are hard to read and overly
verbose at the same time. Extend the name for the metric title, but
shorten it in the actual comparison table.

- - - - -
14e554cf by Zubin Duggal at 2024-05-24T12:17:55-04:00
Revert "Fix haskell/haddock#783 Don't show button if --quickjump not present"

This reverts commit 7776566531e72c415f66dd3b13da9041c52076aa.

- - - - -
f56838c3 by Ben Gamari at 2024-05-24T12:17:55-04:00
Fix default hyperlinked sources pattern

Previously this didn't include the `%M` token which manifested as broken
links to the hyperlinked sources of reexports of declarations defined
in other packages.

Fixes haddock#1628.

(cherry picked from commit 1432bcc943d41736eca491ecec4eb9a6304dab36)

- - - - -
42efa62c by Ben Gamari at 2024-05-24T12:17:55-04:00
Make DocPaths a proper data type

(cherry picked from commit 7f3a5c4da0023ae47b4c376c9b1ea2d706c94d8c)

- - - - -
53d9ceb3 by Ben Gamari at 2024-05-24T12:17:55-04:00
haddock: Bump version to 2.30

(cherry picked from commit 994989ed3d535177e57b778629726aeabe8c7602)

- - - - -
e4db1112 by Zubin Duggal at 2024-05-24T12:17:55-04:00
haddock-api: allow base 4.20 and ghc 9.11

- - - - -
e294f7a2 by PHO at 2024-05-24T12:17:55-04:00
Add a flag "threaded" for building haddock with the threaded RTS

GHC isn't guaranteed to have a threaded RTS. There should be a way to build
it with the vanilla one.

(cherry picked from commit 75a94e010fb5b0236c670d22b04f5472397dc15d)

- - - - -
51165bc9 by Andreas Klebinger at 2024-05-25T10:58:03-04:00
Update ticky counter event docs.

Add the info about the info table address and json fields.

Fixes #23200

- - - - -
98597ad5 by Sylvain Henry at 2024-05-25T10:58:45-04:00
Export extractPromotedList (#24866)

This can be useful in plugins.

- - - - -
228dcae6 by Teo Camarasu at 2024-05-28T13:12:24+00:00
template-haskell: Move wired-ins to ghc-internal

Thus we make `template-haskell` reinstallable and keep it as the public
API for Template Haskell.
All of the wired-in identifiers are moved to `ghc-internal`.
This necessitates also moving much of `ghc-boot-th` into `ghc-internal`.
These modules are then re-exported from `ghc-boot-th` and
`template-haskell`.
To avoid a dependency on `template-haskell` from `lib:ghc`, we instead
depend on the TH ASTs via `ghc-boot-th`.

As `template-haskell` no longer has special status, we can drop the
logic adding an implicit dependency on `template-haskell` when using TH.
We can also drop the `template-haskell-next` package, which was
previously used when bootstrapping.

When bootstrapping, we need to vendor the TH AST modules from
`ghc-internal` into `ghc-boot-th`. This is controlled by the `bootstrap`
cabal flag as before. See Note [Bootstrapping Template Haskell].

We split out a GHC.Internal.TH.Lift module resolving #24752.
This module is only built when not bootstrapping.

Resolves #24703

-------------------------
Metric Increase:
    ghc_boot_th_dir
    ghc_boot_th_so
-------------------------

- - - - -
62dded28 by Teo Camarasu at 2024-05-28T13:12:24+00:00
testsuite: mark tests broken by #24886

Now that `template-haskell` is no longer wired-in.
These tests are triggering #24886, and so need to be marked broken.

- - - - -
3ca72ad9 by Cheng Shao at 2024-05-30T02:57:06-04:00
rts: fix missing function prototypes in ClosureMacros.h

- - - - -
e0029e3d by Andreas Klebinger at 2024-05-30T02:57:43-04:00
UnliftedFFITypes: Allow `(# #)` as argument when it's the only argument.

This allows representing functions like:

    int foo(void);

to be imported like this:

    foreign import ccall "a_number_c"
      c_number :: (# #) -> Int64#

Which can be useful when the imported function isn't implicitly
stateful.

- - - - -
d0401335 by Matthew Pickering at 2024-05-30T02:58:19-04:00
ci: Update ci-images commit for fedora38 image

The fedora38 nightly job has been failing for quite a while because
`diff` was no longer installed. The ci-images bump explicitly installs
`diffutils` into these images so hopefully they now pass again.

- - - - -
3c97c74a by Jan Hrček at 2024-05-30T02:58:58-04:00
Update exactprint docs

- - - - -
77760cd7 by Jan Hrček at 2024-05-30T02:58:58-04:00
Incorporate review feedback

- - - - -
87591368 by Jan Hrček at 2024-05-30T02:58:58-04:00
Remove no longer relevant reference to comments

- - - - -
05f4f142 by Jan Hrček at 2024-05-30T02:58:59-04:00
Replace outdated code example

- - - - -
45a4a5f3 by Andreas Klebinger at 2024-05-30T02:59:34-04:00
Reword error resulting from missing -XBangPatterns.

It can be the result of either a bang pattern or strict binding,
so now we say so instead of claiming it must be a bang pattern.

Fixes #21032

- - - - -
e17f2df9 by Cheng Shao at 2024-05-30T03:00:10-04:00
testsuite: bump MultiLayerModulesDefsGhciReload timeout to 10x

- - - - -
02a92a5e by Fendor at 2024-05-30T18:01:14+02:00
Migrate `Finder` component to `OsPath`

For each module in a GHCi session, we keep alive one `ModLocation`.
A `ModLocation` is fairly inefficiently packed, as `String`s are
expensive in memory usage.

While benchmarking the agda codebase, we concluded that we keep alive
around 11MB of `FilePath`'s, solely retained by `ModLocation`.

We provide a more densely packed encoding of `ModLocation`, by moving
from `FilePath` to `OsPath`. Further, we migrate the full `Finder`
component to `OsPath` to avoid unnecessary transformations.
As the `Finder` component is well-encapsuled, this requires only a
minimal amount of changes in other modules.

Bump to haddock submodule for `ModLocation` changes.

- - - - -
5598063e by Fendor at 2024-05-30T18:01:20+02:00
Introduce 'ModLocation' pattern synonym, fixes #24616

Allows to maintain backwards compatibility and not breaking any
consumers of 'ModLocation'

- - - - -


30 changed files:

- .gitignore
- .gitlab-ci.yml
- + .gitlab/merge_request_templates/Haddock.md
- .gitlab/rel_eng/mk-ghcup-metadata/mk_ghcup_metadata.py
- CODEOWNERS
- compiler/GHC.hs
- compiler/GHC/Builtin/Names/TH.hs
- compiler/GHC/Builtin/Types.hs
- compiler/GHC/Cmm/MachOp.hs
- compiler/GHC/Cmm/Opt.hs
- compiler/GHC/Cmm/Parser.y
- compiler/GHC/CmmToAsm/AArch64/CodeGen.hs
- compiler/GHC/CmmToAsm/AArch64/Instr.hs
- compiler/GHC/CmmToAsm/AArch64/Ppr.hs
- compiler/GHC/CmmToAsm/PPC/CodeGen.hs
- compiler/GHC/CmmToAsm/Wasm/FromCmm.hs
- compiler/GHC/CmmToAsm/X86/CodeGen.hs
- compiler/GHC/CmmToAsm/X86/Instr.hs
- compiler/GHC/CmmToAsm/X86/Ppr.hs
- compiler/GHC/CmmToC.hs
- compiler/GHC/CmmToLlvm/CodeGen.hs
- compiler/GHC/Core/Opt/Arity.hs
- compiler/GHC/Core/SimpleOpt.hs
- compiler/GHC/Core/TyCo/Rep.hs
- compiler/GHC/Core/TyCon.hs
- compiler/GHC/Core/Utils.hs
- + compiler/GHC/Data/OsPath.hs
- compiler/GHC/Data/Strict.hs
- compiler/GHC/Driver/Backpack.hs
- compiler/GHC/Driver/CodeOutput.hs


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/2676d34056fb597701fe834b540d1b0c0235590a...5598063efa4ecadc5b1cb0fc8c6bc57aaaad2a0a

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/2676d34056fb597701fe834b540d1b0c0235590a...5598063efa4ecadc5b1cb0fc8c6bc57aaaad2a0a
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/20240530/0c6a5d46/attachment-0001.html>


More information about the ghc-commits mailing list