| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
| |
Previously Hadrian depended implicitly upon whatever `bash` it found in
`PATH`, offerring no way for the user to override. Fix this by detecting
`sh` in `configure` and passing the result to Hadrian.
Fixes #19797.
(cherry picked from commit bf34a310a19c1f8f1c8f9686a077d5c04a1510cf)
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Also nested foldr example for `concat`.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We now use DsM as the base monad for writing hie files and properly
initialise it from the TcGblEnv.
Before, we would end up reading the interface file from disk for the
module we were currently compiling. The modules iface then ended up in
the EPS causing all sorts of subtle
carnage, including difference in the generated core and haddock emitting
a lot of warnings. With the fix, the
module in the TcGblEnv is set correctly so the lookups happen in the
local name env rather than thinking the identifier comes from an
external package.
Fixes #19693 and #19334
(cherry picked from commit da92e7288fe9c0e83768b7dd0898bca30b9ff2ce)
|
|
|
|
|
|
| |
Make is bad, and really slow, and we should just stop using it
outright, or kill hadrian. Let's rather go for hadrian all the
way and phase out make.
|
| |
|
|
|
|
|
|
|
| |
The __BSD_VISIBLE and _DARWIN_C_SOURCE macros expose non-POSIX prototypes in
system header files. We should scope these to just the ".c" modules that
actually need them, and avoid defining them in header files used in other C
modules.
|
| |
|
|
|
|
|
|
|
|
| |
This avoids surprises in the non-threaded runtime with blocked signals killing
the process because they're only blocked in the main thread and not in the
ticker thread.
Also backport improved compile-time detection of pthread_setname_np() and/or
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Also some code cleanup, and a fix for an (extant unrelated) missing
<pthread_np.h> include that should hopefully resolve a failure in the
FreeBSD CI build, since it is best to make sure that this MR actually
builds on FreeBSD systems other than mine.
Some unexpected metric changes on FreeBSD (perhaps because CI had been
failing for a while???):
Metric Decrease:
T3064
T5321Fun
T5642
T9020
T12227
T13253-spj
T15164
T18282
WWRec
Metric Increase:
haddock.compiler
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The FreeBSD C <ctype.h> header supports per-thread locales by exporting a
static inline function that references the `_ThreadRuneLocale` thread-local
variable. This means that object files that use e.g. isdigit(3) end up with
TLSGD(19) relocations, and would not load into ghci or the language server.
Here we add support for this type of relocation, for now just on FreeBSD, and
only for external references to thread-specifics defined in already loaded
dynamic modules (primarily libc.so). This is sufficient to resolve the
<ctype.h> issues.
Runtime linking of ".o" files which *define* new thread-specific variables
would be noticeably more difficult, as this would likely require new rtld APIs.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As #19668 showed, there was an /asymptotic/ slow-down in zonking in
GHC 9.0, exposed in test T9198. The bug was actually present in earlier
compilers, but by a fluke didn't actually show up in any of our tests;
but adding Quick Look exposed it.
The bug was that in zonkTyVarOcc we
1. read the meta-tyvar-env variable
2. looked up the variable in the env
3. found a 'miss'
4. looked in the variable, found `Indirect ty`
5. zonked `ty`
6. update the env *gotten from step 1* to map the variable
to its zonked type.
The bug is that we thereby threw away all teh work done in step 4.
In T9198 that made an enormous, indeed asymptotic difference.
The fix is easy: use updTcRef.
I commented in `Note [Sharing when zonking to Type]`
-------------------------
Metric Decrease:
T9198
-------------------------
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Remove EpaAnn type synonym, rename EpaAnn' to EpaAnn.
Closes #19705
Updates haddock submodule
--
Change
data EpaAnchor = AR RealSrcSpan
| AD DeltaPos
To instead be
data EpaAnchor = AnchorReal RealSrcSpan
| AnchorDelta DeltaPos
Closes #19699
--
Change
data DeltaPos =
DP
{ deltaLine :: !Int,
deltaColumn :: !Int
}
To instead be
data DeltaPos
= SameLine { deltaColumn :: !Int }
| DifferentLine { deltaLine :: !Int, startColumn :: !Int }
Closes #19698
--
Also some clean-ups of unused parts of check-exact.
(cherry picked from commit 0619fb0fb14a98f04aac5f031f6566419fd27495)
|
|
|
|
| |
The two flags are mutually incompatible.
|
|
|
|
|
|
|
|
| |
this causes *significant* slowdown on macOS as the linker ends
up looking through all the paths. Slowdown can be as bad as
100% or more.
(cherry picked from commit 820b0766984d42c06c977a6c32da75c429106f7f)
|
|
|
|
| |
(cherry picked from commit 07b1af0362beaaf221cbee7b17bbe0a5606fd87d)
|
|
|
|
| |
(cherry picked from commit f7062e1b0c91e8aa78e245a3dab9571206fce16d)
|
|
|
|
| |
(cherry picked from commit b821fcc7142edff69aa4c47dc1a5bd30b13c1ceb)
|
|
|
|
| |
(cherry picked from commit c3944bc89d062a4850946904133c7a1464d59012)
|
|
|
|
|
|
|
| |
-Wno-unsupported-llvm-version should suppress the LLVM version
missmatch warning that messes up the output.
(cherry picked from commit 63455300625fc12b2aafc3e339eb307510a6e8bd)
|
|
|
|
| |
(cherry picked from commit 4bea83afec009dfd3c6313cac4610d00ba1f9a3d)
|
|
|
|
| |
(cherry picked from commit 33c4d497545559a38bd8d1caf6c94e5e2a77647b)
|
|
|
|
|
|
| |
There is no libstdc++, only libc++
(cherry picked from commit 57671071adeaf0b45e86bb0ee050e007e3b161fb)
|
|
|
|
| |
(cherry picked from commit 3592d1104c47b006fd9f4127d93916f477a6e010)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This resolves the following:
Compile failed (exit code 1) errors were:
conc059_c.c:27:5: error:
error: implicitly declaring library function 'exit' with type 'void (int) __attribute__((noreturn))' [-Werror,-Wimplicit-function-declaration]
exit(0);
^
conc059_c.c:27:5: error:
note: include the header <stdlib.h> or explicitly provide a declaration for 'exit'
(cherry picked from commit 5a6c36ecb41fccc07c1b01fe0f330cd38c2a0c76)
|
|
|
|
|
|
|
| |
We don't pass MAKE_ARGS for windows builds, so this should unbreak
them.
(cherry picked from commit 16c13d5acfdc8053f7de9e908cc9d845e9bd34bb)
|
|
|
|
| |
(cherry picked from commit 307d34945b7d932156e533736c91097493e6181b)
|
|
|
|
|
|
|
|
|
|
| |
this prevents the testlib/driver to be overly noisy, and will also
kill some noise produiced by the aarch64-darwin cc (for now).
Fixing sysctl, will allow us to run the test's properly in a nix-shell
on aarch64-darwin
(cherry picked from commit 5109e87e13ab45d799db2013535f54ca35f1f4dc)
|
|
|
|
|
|
|
| |
This will fail for now. But allows us to add aarch64-darwin
machines to CI.
(cherry picked from commit a7d22795ed118abfe64f4fc55d96d8561007ce1e)
|
|
|
|
|
|
| |
This reverts commit 0cbdba2768d84a0f6832ae5cf9ea1e98efd739da.
(cherry picked from commit 403bf88c568199d8d2a272a041faba96a47a5276)
|
|
|
|
| |
(cherry picked from commit 08e9f478cd3b5c999229fb8d3dce61c20389a45f)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously Unarise would happily project lifted and unlifted fields
to lifted slots. This broke horribly in #19645, where a ByteArray# was
passed in a lifted slot and consequently entered. The simplest way to
fix this is what I've done here, distinguishing between lifted and
unlifted slots in unarise.
However, one can imagine more clever solutions, where we coerce the
binder to the correct levity with respect to the sum's tag. I doubt that
this would be worth the effort.
Fixes #19645.
(cherry picked from commit a23a47d2c085e1685061ae562c091b1430e01a6b)
|
| |
|
|
|
|
|
|
| |
Fixes #19719.
(cherry picked from commit 99f5721a8478d20ddd5f387f2a79400bf03ca300)
|
| |
|
|
|
|
| |
Closes #19635.
|
|
|
|
|
|
| |
Fixes #19688.
(cherry picked from commit 1e2e62a462d2a13a1e43a520c9de38553334b0e0)
|
|
|
|
|
|
|
|
|
|
| |
There were two different issues:
1. integralFractionalLit needed to be passed an already negated value. (T19680)
2. negateFractionalLit did not actually negate the argument, only
flipped the negation flag. (T19680A)
Fixes #19680
|
| |
|
| |
|
| |
|