| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
| |
Previously TSAN would report spurious data races due to
the unsynchronized access of `exited`. I would have thought
that using a relaxed load on `exited` would be enough to convince
TSAN that the race was intentional, but apparently not.
Closes #20690.
|
|
|
|
| |
This makes a few things cleaner.
|
|
|
|
| |
This ensures quiet configuring works.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When we give cabal a configure script, it seems to begin checking
whether or not Stg.h is valid, and then gets tripped up on all the
register stuff which evidentally requires obscure command line flags to
go.
We can side-step this by making the test header Rts.h instead, which is
more normal.
I was a bit sketched out making this change, as I don't know why the
Cabal library would suddenly beging checking the header. But I did
confirm even without my RTS configure script the header doesn't compile
stand-alone, and also the Stg.h is a probably-arbitrary choice since it
dates all the way back to 2002 in
2cc5b907318f97e19b28b2ad8ed9ff8c1f401dcc.
|
| |
|
|
|
|
|
|
|
|
|
| |
This fixes the ./validate script on my machine.
I also took the step to add some linters which would catch problems like
these in future.
Fixes #20506
|
|
|
|
| |
As requested in #20702
|
|
|
|
| |
As suggested in #20733.
|
| |
|
|
|
|
| |
Closes #20504.
|
| |
|
|
|
|
| |
Improve documentation, bump bounds and cabal-version.
|
|
|
|
|
|
|
| |
Otherwise we end up with issues like #19631 when bootstrapping using GHC
9.2 and above.
Fixes #19631.
|
|
|
|
|
| |
Previously we could in some cases add empty paths to `cc`'s include file
search path. See #20578.
|
|
|
|
|
|
|
| |
Previously we relied on Sym_NeedsProto, but this gave the symbol a type
which conflicts with the definition that may be provided by unistd.h.
Fixes #20577.
|
|
|
|
|
|
|
|
|
| |
- Change the dumpPrefix to FilePath, and default to non-module
- Add dot to seperate dump-file-prefix and suffix
- Modify user guide to introduce how dump files are named
- This commit does not affect Ghci dump file naming.
See also #17500
|
|
|
|
| |
A manual job for testing the non-tables-next-to-code configuration.
|
|
|
|
|
|
| |
The goal here is to make the SRT selection logic a bit clearer and allow
configurations which we currently don't support (e.g. using a full word
in the info table even when TNTC is used).
|
|
|
|
| |
Not all platforms have per-thread locales. NetBSD doesn't have uselocale() in particular. Using setlocale() is of course not a safe thing to do, but it would be better than no GHC at all.
|
|
|
|
| |
Fixes #20751
|
|
|
|
|
|
|
|
| |
It is either "slightly" || "significantly".
If it is "bogus" - then no quotes around "optimization" & overall using
word "bogus" or use quotes in that way in documentation is... Instead,
something like "hack" or "heuristic" can be used there.
|
|
|
|
|
|
|
|
|
|
| |
It seems to have a moderate but good impact on perf tests in CI.
In particular:
MultiLayerModules(normal) ghc/alloc 3125771138.7 3065532240.0 -1.9%
So it's likely that huge projects will benefit from this.
|
|
|
|
|
|
|
|
| |
There were two ways to indicate that a TTG constructor is unused in a phase:
`NoExtCon` and `Void`. This unifies the code, and uses the name
'DataConCantHappen', following the discussion at MR 7041.
Updates haddock submodule
|
|
|
|
|
|
|
|
| |
This splits the -Dl RTS debug output into two distinct flags:
* `+RTS -Dl` shows errors and debug output which scales with at most
O(# objects)
* `+RTS -DL` shows debug output which scales with O(# symbols)t
|
|
|
|
|
|
|
| |
Get rid of `USE_INPLACE_MINGW_TOOLCHAIN` and use a settings file entry
instead.
The CPP setting was originally introduced in f065b6b012.
|
| |
|
|
|
|
|
| |
This deduplicates converting from yes/no to YES/NO in the configure
scripts while also making it safer.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
OverloadedDotSyntax
There are quite a few keywords which are allowed to be used as
variables. Such as "as", "dependency" etc. These weren't accepted by
OverloadedDotSyntax.
The fix is pretty simple, use the varid production rather than raw
VARID.
Fixes #20723
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Previously, when a plugin could not be loaded because it was incorrectly typed, the error message only printed the expected but not the actual type.
This commit augments the error message such that both types are printed and the corresponding module is printed as well.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This format has been used as a security exploit vector for decades
now. Some operating systems (OpenBSD, Android, MSVC). It is targeted
for removal in C2X standard:
http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2834.htm
This requires extending the debug message function to return the
number of bytes written (like printf(3)), to permit %n format
specifier in one in one invocation of statsPrintf() in
report_summary().
Implemented by Matthias Kilian (kili<AT>outback.escape.de)
|
|
|
|
|
| |
The whitespace expansion should be permitted to pass multiple
arguments to configure.
|
|
|
|
|
|
|
| |
Some platforms (e.g., armel) require linking against libatomic for
64-bit atomic operations.
Fixes #20549
|
|
|
|
|
| |
This is useful for later consumption with
https://gitlab.haskell.org/bgamari/ghc-utils/-/blob/master/ghc_timings.py
|
|
|
|
| |
This significantly improves Haddock documentation generated by nix.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There are two different ways of declaring a class in an hs-boot file:
- a full declaration, where everything is written as it is
in the .hs file,
- an abstract declaration, where class methods and superclasses
are left out.
However, a declaration with no methods and a trivial superclass,
such as:
class () => C a
was erroneously considered to be an abstract declaration, because
the superclass is trivial.
This is remedied by a one line fix in GHC.Tc.TyCl.tcClassDecl1.
This patch also further clarifies the documentation around
class declarations in hs-boot files.
Fixes #20661, #20588.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
When processing the heap, use also `APClosures` to create additional type
constraints. This adds more equations and therefore improves the unification
process to infer the correct type of values at breakpoints.
(Fix the `incr` part of #19559)
|
|
|
|
| |
Instead, introduce plusInstalledModuleEnv
|
|
|
|
| |
There is more than one possible Semigroup and it is not needed since plusModuleEnv can be used directly
|
| |
|