[Git][ghc/ghc][wip/T23051] 15 commits: Enable response files for linker if supported

Simon Peyton Jones (@simonpj) gitlab at gitlab.haskell.org
Tue Mar 7 15:51:23 UTC 2023



Simon Peyton Jones pushed to branch wip/T23051 at Glasgow Haskell Compiler / GHC


Commits:
5ed77deb by Gabriella Gonzalez at 2023-03-06T17:06:50-05:00
Enable response files for linker if supported

- - - - -
1e0f6c89 by Gabriella Gonzalez at 2023-03-06T17:06:50-05:00
Synchronize `configure.ac` and `distrib/configure.ac.in`

- - - - -
70560952 by Gabriella Gonzalez at 2023-03-06T17:06:50-05:00
Fix `hadrian/bindist/config.mk.in`

… as suggested by @bgamari

- - - - -
b042b125 by sheaf at 2023-03-06T17:06:50-05:00
Apply 1 suggestion(s) to 1 file(s)
- - - - -
674b6b81 by Gabriella Gonzalez at 2023-03-06T17:06:50-05:00
Try to create somewhat portable `ld` command

I cannot figure out a good way to generate an `ld` command
that works on both Linux and macOS.  Normally you'd use something
like `AC_LINK_IFELSE` for this purpose (I think), but that won't
let us test response file support.

- - - - -
83b0177e by Gabriella Gonzalez at 2023-03-06T17:06:50-05:00
Quote variables

… as suggested by @bgamari

- - - - -
845f404d by Gabriella Gonzalez at 2023-03-06T17:06:50-05:00
Fix configure failure on alpine linux

- - - - -
c56a3ae6 by Gabriella Gonzalez at 2023-03-06T17:06:50-05:00
Small fixes to configure script

- - - - -
cad5c576 by Andrei Borzenkov at 2023-03-06T17:07:33-05:00
Convert diagnostics in GHC.Rename.Module to proper TcRnMessage (#20115)

I've turned almost all occurrences of TcRnUnknownMessage in GHC.Rename.Module
module into a proper TcRnMessage.
Instead, these TcRnMessage messages were introduced:
  TcRnIllegalInstanceHeadDecl
  TcRnUnexpectedStandaloneDerivingDecl
  TcRnUnusedVariableInRuleDecl
  TcRnUnexpectedStandaloneKindSig
  TcRnIllegalRuleLhs
  TcRnBadAssocRhs
  TcRnDuplicateRoleAnnot
  TcRnDuplicateKindSig
  TcRnIllegalDerivStrategy
  TcRnIllegalMultipleDerivClauses
  TcRnNoDerivStratSpecified
  TcRnStupidThetaInGadt
  TcRnBadImplicitSplice
  TcRnShadowedTyVarNameInFamResult
  TcRnIncorrectTyVarOnLhsOfInjCond
  TcRnUnknownTyVarsOnRhsOfInjCond

Was introduced one helper type:
  RuleLhsErrReason

- - - - -
c6432eac by Apoorv Ingle at 2023-03-06T23:26:12+00:00
Constraint simplification loop now depends on `ExpansionFuel`
instead of a boolean flag for `CDictCan.cc_pend_sc`.
Pending givens get a fuel of 3 while Wanted and quantified constraints get a fuel of 1.
This helps pending given constraints to keep up with pending wanted constraints in case of
`UndecidableSuperClasses` and superclass expansions while simplifying the infered type.

Adds 3 dynamic flags for controlling the fuels for each type of constraints
`-fgivens-expansion-fuel` for givens `-fwanteds-expansion-fuel` for wanteds and `-fqcs-expansion-fuel` for quantified constraints

Fixes #21909
Added Tests T21909, T21909b
Added Note [Expanding Recursive Superclasses and ExpansionFuel]

- - - - -
a5afc8ab by Bodigrim at 2023-03-06T22:51:01-05:00
Documentation: describe laziness of several function from Data.List

- - - - -
c952d1b8 by Simon Peyton Jones at 2023-03-07T15:52:39+00:00
Comments and tc-trace only

- - - - -
847418b2 by Simon Peyton Jones at 2023-03-07T15:52:39+00:00
Be more careful about quantification

This MR is driven by #23051. It does several things:

* Never quantify over concrete type variables
  An extra guard in GHC.Tc.Utils.TcMType.collect_cand_qtvs

* Never quantify over variables free in the kind of the type(s)
  being generalised.  This is done in GHC.Tc.Solver.decideMonoTyVars,
  by adding `kind_vars` to `mono_tvs`.

* When generalising a term in tcSimplifyInfer, move the promotion of
  `mono_tyvars` from `defaultTyVarsAndSimplify` to `decideMonoTyVars`.
  This is a no-op; just tidies up the code.

* Get rid of the un-motivated (and I think unnecessary) blah about
  SkolemTv in collect_cand_qtvs.

Needs documentation etc.  Currently wanting this MR for CI.

- - - - -
4e5a5291 by Simon Peyton Jones at 2023-03-07T15:52:39+00:00
Wibbles

Tricky!

- - - - -
0279d413 by Simon Peyton Jones at 2023-03-07T15:52:39+00:00
More wibbles

- - - - -


30 changed files:

- compiler/GHC/Core/Class.hs
- compiler/GHC/Driver/Session.hs
- compiler/GHC/Rename/Module.hs
- compiler/GHC/Settings.hs
- compiler/GHC/Settings/Constants.hs
- compiler/GHC/Settings/IO.hs
- compiler/GHC/SysTools/Tasks.hs
- compiler/GHC/Tc/Errors/Ppr.hs
- compiler/GHC/Tc/Errors/Types.hs
- compiler/GHC/Tc/Gen/Bind.hs
- compiler/GHC/Tc/Gen/HsType.hs
- compiler/GHC/Tc/Solver.hs
- compiler/GHC/Tc/Solver/Canonical.hs
- compiler/GHC/Tc/Solver/Monad.hs
- compiler/GHC/Tc/Types/Constraint.hs
- compiler/GHC/Tc/Utils/Concrete.hs
- compiler/GHC/Tc/Utils/TcMType.hs
- compiler/GHC/Tc/Validity.hs
- compiler/GHC/Types/Error/Codes.hs
- configure.ac
- distrib/configure.ac.in
- docs/users_guide/expected-undocumented-flags.txt
- hadrian/bindist/Makefile
- hadrian/bindist/config.mk.in
- hadrian/cfg/system.config.in
- hadrian/src/Rules/Generate.hs
- libraries/base/Data/OldList.hs
- libraries/base/GHC/List.hs
- + m4/fp_ld_supports_response_files.m4
- testsuite/tests/deriving/should_fail/T10598_fail4.stderr


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/1b10277a03196fbea62f2ca90106402c031f186c...0279d413f08d50566d942e6960e73cbd06037723

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/1b10277a03196fbea62f2ca90106402c031f186c...0279d413f08d50566d942e6960e73cbd06037723
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/20230307/f0e8ddc3/attachment.html>


More information about the ghc-commits mailing list