[Git][ghc/ghc][wip/expand-do] 31 commits: Update CODEOWNERS

Apoorv Ingle (@ani) gitlab at gitlab.haskell.org
Fri Jun 9 21:17:10 UTC 2023



Apoorv Ingle pushed to branch wip/expand-do at Glasgow Haskell Compiler / GHC


Commits:
e5d3940d by Sebastian Graf at 2023-06-07T18:01:28-04:00
Update CODEOWNERS
- - - - -
960ef111 by Matthew Pickering at 2023-06-07T18:02:04-04:00
Revert "Remove IPE enabled builds from CI"

This reverts commit 41b41577c8a28c236fa37e8f73aa1c6dc368d951.

- - - - -
bad1c8cc by Matthew Pickering at 2023-06-07T18:02:04-04:00
Revert "Update user's guide and release notes, small fixes"

This reverts commit 3ded9a1cd22f9083f31bc2f37ee1b37f9d25dab7.

- - - - -
12726d90 by Matthew Pickering at 2023-06-07T18:02:04-04:00
Revert "Add IPE-enabled builds to CI"

This reverts commit 09d93bd0305b0f73422ce7edb67168c71d32c15f.

- - - - -
dbdd989d by Matthew Pickering at 2023-06-07T18:02:04-04:00
Revert "Add optional dependencies to ./configure output"

This reverts commit a00488665cd890a26a5564a64ba23ff12c9bec58.

- - - - -
240483af by Matthew Pickering at 2023-06-07T18:02:04-04:00
Revert "Fix IPE data decompression buffer allocation"

This reverts commit 0e85099b9316ee24565084d5586bb7290669b43a.

- - - - -
9b8c7dd8 by Matthew Pickering at 2023-06-07T18:02:04-04:00
Revert "Fix byte order of IPE data, fix IPE tests"

This reverts commit 7872e2b6f08ea40d19a251c4822a384d0b397327.

- - - - -
3364379b by Matthew Pickering at 2023-06-07T18:02:04-04:00
Revert "Add note describing IPE data compression"

This reverts commit 69563c97396b8fde91678fae7d2feafb7ab9a8b0.

- - - - -
fda30670 by Matthew Pickering at 2023-06-07T18:02:04-04:00
Revert "Fix libzstd detection in configure and RTS"

This reverts commit 5aef5658ad5fb96bac7719710e0ea008bf7b62e0.

- - - - -
1cbcda9a by Matthew Pickering at 2023-06-07T18:02:04-04:00
Revert "IPE data compression"

This reverts commit b7a640acf7adc2880e5600d69bcf2918fee85553.

- - - - -
fb5e99aa by Matthew Pickering at 2023-06-07T18:02:04-04:00
Revert "Add IPE compression to configure"

This reverts commit 5d1f2411f4becea8650d12d168e989241edee186.

- - - - -
2cdcb3a5 by Matthew Pickering at 2023-06-07T18:02:04-04:00
Revert "Restructure IPE buffer layout"

This reverts commit f3556d6cefd3d923b36bfcda0c8185abb1d11a91.

- - - - -
2b0c9f5e by Simon Peyton Jones at 2023-06-08T07:52:34+00:00
Don't report redundant Givens from quantified constraints

This fixes #23323

See (RC4) in Note [Tracking redundant constraints]

- - - - -
567b32e1 by David Binder at 2023-06-08T18:41:29-04:00
Update the outdated instructions in HACKING.md on how to compile GHC

- - - - -
2b1a4abe by Ryan Scott at 2023-06-09T07:56:58-04:00
Restore mingwex dependency on Windows

This partially reverts some of the changes in !9475 to make `base` and
`ghc-prim` depend on the `mingwex` library on Windows. It also restores the
RTS's stubs for `mingwex`-specific symbols such as `_lock_file`.

This is done because the C runtime provides `libmingwex` nowadays, and
moreoever, not linking against `mingwex` requires downstream users to link
against it explicitly in difficult-to-predict circumstances. Better to always
link against `mingwex` and prevent users from having to do the guesswork
themselves.

See https://gitlab.haskell.org/ghc/ghc/-/merge_requests/10360#note_495873 for
the discussion that led to this.

- - - - -
28954758 by Ryan Scott at 2023-06-09T07:56:58-04:00
RtsSymbols.c: Remove mingwex symbol stubs

As of !9475, the RTS now links against `ucrt` instead of `msvcrt` on Windows,
which means that the RTS no longer needs to declare stubs for the `__mingw_*`
family of symbols. Let's remove these stubs to avoid confusion.

Fixes #23309.

- - - - -
3ab0155b by Ryan Scott at 2023-06-09T07:57:35-04:00
Consistently use validity checks for TH conversion of data constructors

We were checking that TH-spliced data declarations do not look like this:

```hs
data D :: Type = MkD Int
```

But we were only doing so for `data` declarations' data constructors, not for
`newtype`s, `data instance`s, or `newtype instance`s. This patch factors out
the necessary validity checks into its own `cvtDataDefnCons` function and uses
it in all of the places where it needs to be.

Fixes #22559.

- - - - -
a24b83dd by Matthew Pickering at 2023-06-09T15:19:00-04:00
Fix behaviour of -keep-tmp-files when used in OPTIONS_GHC pragma

This fixes the behaviour of -keep-tmp-files when used in an OPTIONS_GHC
pragma for files with module level scope.

Instead of simple not deleting the files, we also need to remove them
from the TmpFs so they are not deleted later on when all the other files
are deleted.

There are additional complications because you also need to remove the
directory where these files live from the TmpFs so we don't try to
delete those later either.

I added two tests.

1. Tests simply that -keep-tmp-files works at all with a single module
   and --make mode.
2. The other tests that temporary files are deleted for other modules
   which don't enable -keep-tmp-files.

Fixes #23339

- - - - -
dcf32882 by Matthew Pickering at 2023-06-09T15:19:00-04:00
withDeferredDiagnostics: When debugIsOn, write landmine into IORef to catch use-after-free.

Ticket #23305 reports an error where we were attempting to use the
logger which was created by withDeferredDiagnostics after its scope had
ended.

This problem would have been caught by this patch and a validate build:

```
+*** Exception: Use after free
+CallStack (from HasCallStack):
+  error, called at compiler/GHC/Driver/Make.hs:<line>:<column> in <package-id>:GHC.Driver.Make
```

This general issue is tracked by #20981

- - - - -
432c736c by Matthew Pickering at 2023-06-09T15:19:00-04:00
Don't return complete HscEnv from upsweep

By returning a complete HscEnv from upsweep the logger (as introduced by
withDeferredDiagnostics) was escaping the scope of
withDeferredDiagnostics and hence we were losing error messages.

This is reminiscent of #20981, which also talks about writing errors
into messages after their scope has ended.

See #23305 for details.

- - - - -
26013cdc by Alexander McKenna at 2023-06-09T15:19:41-04:00
Dump `SpecConstr` specialisations separately

Introduce a `-ddump-spec-constr` flag which debugs specialisations from
`SpecConstr`. These are no longer shown when you use `-ddump-spec`.

- - - - -
77a3770c by Apoorv Ingle at 2023-06-09T15:48:46-05:00
Fixes #18324 #23147
Expands do notation before typechecking using `HsExpansion`
- Adds testcases T18324, T18324b, DoubleMatch
Expands
- Do statements
- Monadic do statements
- monadic fix blocks
- make sure fail is used for pattern match failures in bind statments
- Makes sure unused binds generate warnings
- runs the pattern match check in generated lambda exprs to avoid getting suprious pattern match failures. c.f. pmcheck/should_compile/DoubleMatch.hs
- PopSrcSpan in HsExpr to pop error context
- Discards default monad fail alternatives that are spuriously generated
- Make sure we check for generated loc span for checking if the (>>) is user written or expanded for /do/ purposes

- - - - -
66f81425 by Apoorv Ingle at 2023-06-09T15:48:46-05:00
- Add PopSrcSpan (XXExprGhcRn) in appropriate places while expanding statements
- correct source spans displayed for warnDiscardedDoBindings
- use `mkExpandStmt` to store original stmts along with expanded expr for using the right context for error message printing
- improves error messages for applicative do
- remove special case from isMatchContextPmChecked (long distance info is now properly propogated)
- set correct src spans to statement expansions
- Match ctxt while type checking HsLam is different if the lambda match is due to an expression generated from a do block
- call tcExpr and not tcApp in PopSrcSpan so make sure impredicativity works fine
- look into XExprs in tcInferAppHead_maybe for infering the type to make T18324 typecheck and run

- - - - -
47fb4f78 by Apoorv Ingle at 2023-06-09T15:48:46-05:00
generate incomplete uni patterns warnings if the origin context is a generated do expansion

- - - - -
e1858b76 by Apoorv Ingle at 2023-06-09T15:48:46-05:00
use the correct bind operator for qualified rebindable rec do expansions

- - - - -
c585e179 by Apoorv Ingle at 2023-06-09T15:48:46-05:00
trying out changes to heralds

- - - - -
a329b590 by Apoorv Ingle at 2023-06-09T15:48:46-05:00
add location information for last statements

- - - - -
70a7370e by Apoorv Ingle at 2023-06-09T15:48:46-05:00
do not pop context while checking the second argument to expanded (>>)

- - - - -
8695c93d by Apoorv Ingle at 2023-06-09T15:48:46-05:00
adjusting the generated spans for proper error messages

- - - - -
c272b6e7 by Apoorv Ingle at 2023-06-09T15:48:46-05:00
change the addHeadCtxt to include the first statement of the do block for more precise error messages

- - - - -
a861f273 by Apoorv Ingle at 2023-06-09T15:48:46-05:00
- don't add any ctxt in addExprCtxt for `XExpr(ExpandedStmt{})` as it is not very useful, the statement ctxt is already added by `tcExpr` and `addHeadCtxt`

- - - - -


30 changed files:

- .gitlab/gen_ci.hs
- .gitlab/jobs.yaml
- CODEOWNERS
- HACKING.md
- compiler/GHC/Driver/Config/Core/Lint.hs
- compiler/GHC/Driver/Flags.hs
- compiler/GHC/Driver/Make.hs
- compiler/GHC/Driver/Session.hs
- compiler/GHC/Hs/Expr.hs
- compiler/GHC/Hs/Instances.hs
- compiler/GHC/Hs/Pat.hs
- compiler/GHC/Hs/Utils.hs
- compiler/GHC/HsToCore/Arrows.hs
- compiler/GHC/HsToCore/Binds.hs
- compiler/GHC/HsToCore/Expr.hs
- compiler/GHC/HsToCore/Match.hs
- compiler/GHC/HsToCore/Match/Constructor.hs
- compiler/GHC/HsToCore/Monad.hs
- compiler/GHC/HsToCore/Pmc.hs
- compiler/GHC/HsToCore/Quote.hs
- compiler/GHC/Iface/Ext/Ast.hs
- compiler/GHC/Rename/Expr.hs
- compiler/GHC/Rename/Utils.hs
- compiler/GHC/StgToCmm/InfoTableProv.hs
- compiler/GHC/Tc/Deriv/Generate.hs
- compiler/GHC/Tc/Errors.hs
- compiler/GHC/Tc/Gen/App.hs
- compiler/GHC/Tc/Gen/Expr.hs
- compiler/GHC/Tc/Gen/Head.hs
- compiler/GHC/Tc/Gen/Match.hs


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/e495b49f9084cc6d10150765b6b614854377174b...a861f2738afa376d5982709b6fd53ac492862360

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/e495b49f9084cc6d10150765b6b614854377174b...a861f2738afa376d5982709b6fd53ac492862360
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/20230609/ee2a71e7/attachment-0001.html>


More information about the ghc-commits mailing list