-
83ee7b78
by Ben Gamari at 2025-06-24T05:02:07-04:00
configure: Don't force value of OTOOL, etc. if not present
Previously if `otool` and `install_name_tool` were not present they
would be overridden by `fp_settings.m4`. This logic was introduced in
4ff93292243888545da452ea4d4c1987f2343591 without explanation.
-
9329c9e1
by Ben Gamari at 2025-06-24T05:02:07-04:00
ghc-toolchain: Add support for otool, install_name_tool
Fixes part of ghc#23675.
-
25f5c998
by Ben Gamari at 2025-06-24T05:02:08-04:00
ghc-toolchain: Add support for llc, opt, llvm-as
Fixes #23675.
-
51d150dd
by Rodrigo Mesquita at 2025-06-24T05:02:08-04:00
hadrian: Use settings-use-distro-mingw directly
The type `ToolchainSetting` only made sense when we had more settings to
fetch from the system config file. Even then "settings-use-distro-mingw"
is arguably not a toolchain setting.
With the fix for #23675, all toolchain tools were moved to the
`ghc-toolchain` `Toolchain` format. Therefore, we can inline
`settings-use-distro-mingw` accesses and delete `ToolchainSetting`.
-
dcf68a83
by Rodrigo Mesquita at 2025-06-24T05:02:08-04:00
configure: Check LlvmTarget exists for LlvmAsFlags
If LlvmTarget was empty, LlvmAsFlags would be just "--target=".
If it is empty now, simply keep LlvmAsFlags empty.
ghc-toolchain already does this right. This fix makes the two
configurations match up.
-
580a3353
by Ben Gamari at 2025-06-24T05:02:51-04:00
rts/linker/LoadArchive: Use bool
Improve type precision by using `bool` instead of `int` and `StgBool`.
-
76d1041d
by Ben Gamari at 2025-06-24T05:02:51-04:00
rts/linker/LoadArchive: Don't rely on file extensions for identification
Previously archive members would be identified via their file extension,
as described in #13103. We now instead use a more principled approach,
relying on the magic number in the member's header.
As well, we refactor treatment of archive format detection to improve
code clarity and error handling.
Closes #13103.
-
4b748a99
by Teo Camarasu at 2025-06-24T15:31:07-04:00
template-haskell: improve changelog
stable -> more stable, just to clarify that this interface isn't fully stable.
errornously -> mistakenly: I typod this and also let's go for a simpler word
-
e358e477
by Sylvain Henry at 2025-06-24T15:31:58-04:00
Bump stack resolver to use GHC 9.6.7
Cf #26139
-
4bf5eb63
by fendor at 2025-06-25T17:05:43-04:00
Teach `:reload` about multiple home units
`:reload` needs to lookup the `ModuleName` and must not assume the given
`ModuleName` is in the current `HomeUnit`.
We add a new utility function which allows us to find a `HomeUnitModule`
instead of a `Module`.
Further, we introduce the `GhciCommandError` type which can be used to
abort the execution of a GHCi command.
This error is caught and printed in a human readable fashion.
-
b3d97bb3
by fendor at 2025-06-25T17:06:25-04:00
Implement `-fno-load-initial-targets` flag
We add the new flag `-fno-load-initial-targets` which doesn't load all `Target`s
immediately but only computes the module graph for all `Target`s.
The user can then decide to load modules from that module graph using
the syntax:
ghci> :reload <Mod>
This will load everything in the module graph up to `Mod`.
The user can return to the initial state by using the builtin target
`none` to unload all modules.
ghci> :reload none
Is in principle identical to starting a new session with the
`-fno-load-initial-targets` flag.
The `-fno-load-initial-targets` flag allows for faster startup time of GHCi when a
user has lots of `Target`s.
We additionally extend the `:reload` command to accept multiple
`ModuleName`s. For example:
ghci> :reload <Mod1> <Mod2>
Loads all modules up to the modules `Mod1` and `Mod2`.
-
49f44e52
by Teo Camarasu at 2025-06-26T04:19:51-04:00
Expose ghc-internal unit id through the settings file
This in combination with the unit id of the compiler library allows
cabal to know of the two unit ids that should not be reinstalled (in
specific circumstances) as:
- when using plugins, we want to link against exactly the compiler unit
id
- when using TemplateHaskell we want to link against exactly the package
that contains the TemplateHaskell interfaces, which is `ghc-internal`
See: <https://github.com/haskell/cabal/issues/10087>
Resolves #25282
-
499c4efe
by Bryan Richter at 2025-06-26T04:20:33-04:00
CI: Fix and clean up capture of timings
* Fixes the typo that caused 'cat ci-timings' to report "no such file or
directory"
* Gave ci_timings.txt a file extension so it may play better with other
systems
* Fixed the use of time_it so all times are recorded
* Fixed time_it to print name along with timing
-
86c90c9e
by Bryan Richter at 2025-06-26T04:20:33-04:00
CI: Update collapsible section usage
The syntax apparently changed at some point.
-
04308ee4
by Bryan Richter at 2025-06-26T04:20:33-04:00
CI: Add more collapsible sections
-
43b606bb
by Florian Ragwitz at 2025-06-27T16:31:26-04:00
Tick uses of wildcard/pun field binds as if using the record selector function
Fixes #17834.
See Note [Record-selector ticks] for additional reasoning behind this as well
as an overview of the implementation details and future improvements.
-
d4952549
by Ben Gamari at 2025-06-27T16:32:08-04:00
testsuite/caller-cc: Make CallerCc[123] less sensitive
These were previously sensitive to irrelevant changes in program
structure. To avoid this we filter out all by lines emitted by the
-fcaller-cc from the profile.
-
c542744c
by Apoorv Ingle at 2025-06-29T10:57:33-05:00
- Remove one `SrcSpan` field from `VAExpansion`. It is no longer needed.
- Make `tcExpr` take a `Maybe HsThingRn` which will be passed on to tcApp and used by splitHsApps to determine a more accurate `AppCtx`
- `tcXExpr` is less hacky now
- do not look through HsExpansion applications
- kill OrigPat and remove HsThingRn From VAExpansion
- look through XExpr ExpandedThingRn while inferring type of head
- always set in generated code after stepping inside a ExpandedThingRn
- fixing record update error messages
- remove special case of tcbody from tcLambdaMatches
- wrap last stmt expansion in a HsPar so that the error messages are prettier
- remove special case of dsExpr for ExpandedThingTc
- make EExpand (HsExpr GhcRn) instead of EExpand HsThingRn
- fixing error messages for rebindable
-
1b3d7246
by Apoorv Ingle at 2025-06-29T11:00:11-05:00
fix the case where head of the application chain is an expanded expression and the argument is a type application c.f. T19167.hs
-
7259aedd
by Apoorv Ingle at 2025-06-29T11:00:45-05:00
move setQLInstLevel inside tcInstFun
-
470758c3
by Apoorv Ingle at 2025-06-29T11:00:56-05:00
ignore ds warnings originating from gen locations
-
6e78f285
by Apoorv Ingle at 2025-06-29T11:00:56-05:00
filter expr stmts error msgs
-
0382faea
by Apoorv Ingle at 2025-06-29T11:00:56-05:00
exception for AppDo while making error ctxt
-
e847af09
by Apoorv Ingle at 2025-06-29T11:00:56-05:00
moving around things for locations and error ctxts
-
5cbbee5b
by Apoorv Ingle at 2025-06-29T11:00:56-05:00
popErrCtxt doesn't push contexts and popErrCtxts in the first argument to bind and >> in do expansion statements
-
cf99e91b
by Apoorv Ingle at 2025-06-29T11:00:56-05:00
accept test cases with changed error messages
-------------------------
Metric Decrease:
T9020
-------------------------
-
6821dde0
by Apoorv Ingle at 2025-06-29T11:00:56-05:00
look through PopErrCtxt while splitting exprs in application chains
-
4e057bc9
by Apoorv Ingle at 2025-06-29T11:00:56-05:00
check the right origin for record selector incomplete warnings
-
9456d486
by Apoorv Ingle at 2025-06-29T11:00:56-05:00
kill VAExpansion
-
3a97775c
by Apoorv Ingle at 2025-06-29T11:00:56-05:00
pass CtOrigin to tcApp for instantiateSigma
-
38c63a53
by Apoorv Ingle at 2025-06-29T11:00:56-05:00
do not suppress pprArising
-
c676a20a
by Apoorv Ingle at 2025-06-29T11:00:56-05:00
kill VACall
-
f8adf33c
by Apoorv Ingle at 2025-06-29T11:00:56-05:00
kill AppCtxt
-
cf77e658
by Apoorv Ingle at 2025-06-29T11:00:56-05:00
remove addHeadCtxt
-
09761a42
by Apoorv Ingle at 2025-06-29T11:00:56-05:00
fix pprArising for MonadFailErrors
-
db0b7abe
by Apoorv Ingle at 2025-06-29T11:00:56-05:00
rename ctxt to sloc
-
f3bd40cf
by Apoorv Ingle at 2025-06-29T11:00:56-05:00
fix RepPolyDoBind error message herald
-
5c0ac115
by Apoorv Ingle at 2025-06-29T11:00:56-05:00
SrcCodeCtxt
more changes
-
8b3780e9
by Apoorv Ingle at 2025-06-29T11:00:57-05:00
make tcl_in_gen_code a SrcCodeCtxt and rename DoOrigin to DoStmtOrigin
-
f7a93d77
by Apoorv Ingle at 2025-06-29T11:00:57-05:00
make error messages for records saner
-
0a1413c0
by Apoorv Ingle at 2025-06-29T11:00:57-05:00
accept the right test output
-
a917291d
by Apoorv Ingle at 2025-06-29T11:00:57-05:00
make make sure to set inGenerated code for RecordUpdate checks
-
54c14385
by Apoorv Ingle at 2025-06-29T11:00:57-05:00
rename HsThingRn to SrcCodeOrigin
-
984d1631
by Apoorv Ingle at 2025-06-29T18:01:17-05:00
minor lclenv getter setter changes