- Sep 15, 2024
-
-
sthibaul authored
GNU/Hurd exposes it as /proc/self/exe just like on Linux.
-
- Sep 13, 2024
-
-
This is in order to counter a regression exposed by SpecConstr. Fixes #25196.
-
-
- Sep 12, 2024
-
-
Sven Tennie authored
Ensure that parameters and return values are correctly processed. A dedicated test (like this) helps to get the subtleties of calling conventions easily right. The test is failing for WASM32 and marked as fragile to not forget to investigate this (#25249).
-
Sven Tennie authored
-
Sven Tennie authored
As we got a RTS linker for this architecture now, we can enable GHCi for it.
-
Sven Tennie authored
We're relying on some GCC/Clang builtins. These need to be visible to the linker (and not be stripped away.)
-
Sven Tennie authored
RISCV64 needs a specific code flushing sequence (involving fence.i) when new code is created/loaded.
-
Sven Tennie authored
It works and thus can be tested.
-
Sven Tennie authored
The architecture's behaviour differs from the test's expectations. See comment in code why this is okay.
-
Sven Tennie authored
This architecture wasn't supported before. Co-authored-by:
Moritz Angermann <moritz.angermann@gmail.com>
-
Sven Tennie authored
Increase the delays a bit to be able to run these tests on slower computers. The reference was a Lichee Pi 4a RISCV64 machine.
-
Sven Tennie authored
This architecture wasn't supported before. Co-authored-by:
Moritz Angermann <moritz.angermann@gmail.com>
-
Fixes #25250.
-
- Sep 11, 2024
-
-
This just causes confusion.
-
See https://github.com/haskell/core-libraries-committee/issues/212. These reexports will be removed in GHC 9.14.
-
When we are using ffi adjustors then we rely on `ffi.h` and `ffitarget.h` files during code generation when compiling stubs. Therefore we need to add this dependency to the build system (which this patch does). Reproducer, configure with `--enable-libffi-adjustors` and then build "_build/stage1/libraries/ghc-prim/build/GHC/Types.p_o". Observe that this fails before this patch and works afterwards. Fixes #24864 Co-authored-by:
Sylvain Henry <sylvain@haskus.fr>
-
- Sep 10, 2024
-
-
This MR fixed #24817 by adding ZonkAny, which takes a Nat argument. See Note [Any types] in GHC.Builtin.Types, especially wrinkle (Any4).
-
-
-
-
Before this patch, when string literals are made trivial, we would generate `h$("foo")` instead of `h$str("foo")`. This was introduced by mistake in 6bd850e8.
-
GCC 14 treats the fixed warnings as errors by default. I.e. we're gaining GCC 14 compatibility with these fixes.
-
Add linker support for hidden symbols. We basically treat them as weak symbols. Patch upstreamed from haskell.nix Co-authored-by:
Sylvain Henry <sylvain@haskus.fr> Co-authored-by:
Moritz Angermann <moritz.angermann@gmail.com>
-
-
In worker/wrapper we were using an error thunk for an absent dictionary, but that works very badly for -XDictsStrict, or even (as #24934 showed) in some complicated cases involving strictness analysis and unfoldings. This MR just uses RubbishLit for dictionaries. Simple. No test case, sadly because our only repro case is rather complicated.
-
It's a keyword when PatternSynonyms are set.
-
This MR adds one new defaulting strategy to the top-level defaulting story: see Note [Defaulting equalities] in GHC.Tc.Solver. This resolves #25029 and #25125, which showed that users were accidentally relying on a GHC bug, which was fixed by commit 04f5bb85 Author: Simon Peyton Jones <simon.peytonjones@gmail.com> Date: Wed Jun 12 17:44:59 2024 +0100 Fix untouchability test This MR fixes #24938. The underlying problem was tha the test for "does this implication bring in scope any equalities" was plain wrong. This fix gave rise to a number of user complaints; but the improved defaulting story of this MR largely resolves them. On the way I did a bit of refactoring, of course * Completely restructure the extremely messy top-level defaulting code. The new code is in GHC.Tc.Solver.tryDefaulting, and is much, much, much esaier to grok.
-
This patch address #25160. The main payload is: * When desugaring the LHS of a RULE, do not introduce the `nospec` call for non-canonical evidence. See GHC.Core.InstEnv Note [Coherence and specialisation: overview] The `nospec` call usually introdued in `dsHsWrapper`, but we don't want it on the LHS of a RULE (that's what caused #25160). So now `dsHsWrapper` takes a flag to say if it's on the LHS of a RULE. See wrinkle (NC1) in `Note [Desugaring non-canonical evidence]` in GHC.HsToCore.Binds. But I think this flag will go away again when I have finished with my (entirely separate) speciaise-on-values patch (#24359). All this meant I had to re-understand the `nospec` stuff and coherence, and that in turn made me do some refactoring, and add a lot of new documentation The big change is that in GHC.Core.InstEnv, I changed the /type synonym/ `Canonical` into a /data type/ `CanonicalEvidence` and documented it a lot better. That in turn made me realise that CalLStacks were being treated with a bit of a hack, which I documented in `Note [CallStack and ExecptionContext hack]`.
-
* Change newSysLocalDs to take a scaled type * Add newSysLocalMDs that takes a type and makes a ManyTy local Lots of files touched, nothing deep.
-
- Sep 09, 2024
-
-
It was introduced a second time by mistake in 27dceb42 (cf #25190)
-
The JS backend doesn't support adjustors (I believe) and in any case if it ever supports them it will be a native support, not one via libffi.
-
- Sep 08, 2024
-
-
-
Sven Tennie authored
This has likely been forgotten.
-
- Sep 06, 2024
-
-
-
Sylvain Henry authored
Before unarisation we may have code like: Test.foo :: Test.D [GblId, Unf=OtherCon []] = \u [] case (# |_| #) [GHC.Types.(##)] of sat_sAw [Occ=Once1] { __DEFAULT -> Test.D [GHC.Types.True sat_sAw]; }; After unarisation we get: Test.foo :: Test.D [GblId, Unf=OtherCon []] = {} \u [] Test.D [GHC.Types.True 2#]; Notice that it's still an Updatable closure for no reason anymore. This patch transforms appropriate StgRhsClosures into StgRhsCons after unarisation, allowing these closures to be statically allocated. Now we get the expected: Test.foo :: Test.D [GblId, Unf=OtherCon []] = Test.D! [GHC.Types.True 2#]; Fix #25166 To avoid duplicating code, this patch refactors the mk(Top)StgRhs functions and put them in a GHC.Stg.Make module alongside the new mk(Top)StgRhsCon_maybe functions.
-
- Sep 05, 2024
-
-
There have recently been some determinism issues with the simplifier and documentation. We enable more things to test in the ABI test to check that we produce interface files deterministically.
-