[Git][ghc/ghc][wip/backports-8.10] 5 commits: Disable deprecation warnings in Cabal build

Ben Gamari gitlab at gitlab.haskell.org
Mon Dec 14 21:13:06 UTC 2020



Ben Gamari pushed to branch wip/backports-8.10 at Glasgow Haskell Compiler / GHC


Commits:
4c8bea6e by Ben Gamari at 2020-12-14T16:12:59-05:00
Disable deprecation warnings in Cabal build

- - - - -
fa91e719 by Ben Gamari at 2020-12-14T16:12:59-05:00
hadrian: Reindent Settings.Warnings

The previous state was quite illegible.

- - - - -
73c583fb by Ben Gamari at 2020-12-14T16:13:00-05:00
hadrian: Pass -Werror before other arguments

Previously we would append -Werror to the argument list. However, this
ended up overriding the -Wno-error=... flags in Settings.Warnings.

- - - - -
c343f7c3 by Ben Gamari at 2020-12-14T16:13:00-05:00
users guide: Add release notes for 8.10.3

- - - - -
b1593746 by Ben Gamari at 2020-12-14T16:13:00-05:00
configure: Release 8.10.3

- - - - -


6 changed files:

- configure.ac
- + docs/users_guide/8.10.3-notes.rst
- docs/users_guide/index.rst
- hadrian/src/Flavour.hs
- hadrian/src/Settings/Warnings.hs
- mk/warnings.mk


Changes:

=====================================
configure.ac
=====================================
@@ -13,10 +13,10 @@ dnl
 # see what flags are available. (Better yet, read the documentation!)
 #
 
-AC_INIT([The Glorious Glasgow Haskell Compilation System], [8.10.2], [glasgow-haskell-bugs at haskell.org], [ghc-AC_PACKAGE_VERSION])
+AC_INIT([The Glorious Glasgow Haskell Compilation System], [8.10.3], [glasgow-haskell-bugs at haskell.org], [ghc-AC_PACKAGE_VERSION])
 
 # Set this to YES for a released version, otherwise NO
-: ${RELEASE=NO}
+: ${RELEASE=YES}
 
 # The primary version (e.g. 7.5, 7.4.1) is set in the AC_INIT line
 # above.  If this is not a released version, then we will append the


=====================================
docs/users_guide/8.10.3-notes.rst
=====================================
@@ -0,0 +1,141 @@
+.. _release-8-10-3:
+
+Release notes for version 8.10.3
+================================
+
+The significant changes to the various parts of the compiler are listed in the
+following sections.
+
+Like previous releases in the 8.10 series, the :ghc-flag:`LLVM backend <-fllvm>`
+of this release is to be used with LLVM 9.
+
+Highlights
+----------
+
+- Numerous stability improvements on Windows.
+
+- GHC now has far more robust support for architectures with weak memory
+  ordering guarantees.
+
+- GHC can split up dynamic objects to mitigate the macOS ``RPATH`` size
+  limitation when building large projects (:ghc-ticket:`14444`).
+
+- Several significant correctness bugs in the low-latency garbage collector have
+  been fixed.  Users of :rts-flag:`--nonmoving-gc` are strongly encouraged to
+  upgrade promptly.
+
+
+Full details
+------------
+
+Compiler
+~~~~~~~~
+
+* A compiler crash triggered by a :pragma:`SPECIALISE` pragma on a binding with
+  no unfolding has been fixed (:ghc-ticket:`18118`).
+
+* GHC now supports a command-line flag, :ghc-flag:`-pgmc-supports-no-pie`,
+  allowing the user to indicate that the C compiler supplied via
+  :ghc-flag:`-pgmc ⟨cmd⟩` supports ``-no-pie``.
+
+* A pair of flags, :ghc-flag:`-pgmlm ⟨cmd⟩` and :ghc-flag:`-optlm ⟨option⟩`,
+  allowing the user to override the linker used to be join GHCi object files
+  has been added.
+
+* A regression in the treatment of the :ghc-flag:`-fbyte-code` flag has been
+  fixed (:ghc-ticket:`18955`).
+
+- A bug in the determination of source spans of post-qualified imports has been
+  fixed :ghc-ticket:`19014`.
+
+
+Runtime system
+~~~~~~~~~~~~~~
+
+- GHC is now more careful to respect address space limits set via `ulimit``
+  when allocating its heap (:ghc-ticket:`18623`).
+
+- Numerous fixes on Windows. These include a bug in stack allocation
+  triggering Windows' stack verifier (:ghc-ticket:`18601`), various linker bugs
+  (:ghc-ticket:`15808`, :ghc-ticket:`18991`), and a bug where ``libc`` may be
+  called during image initialization resulting in undefined behavior
+  (:ghc-ticket:`18548`).
+
+- GHC's linker is now able to load macOS frameworks on Big Sur
+  (:ghc-ticket:`18446`).
+
+- A soundness bug affecting programs relying on heavy mutation of ``MVar``\ s
+  has been fixed (:ghc-ticket:`18919`).
+
+- The internal linker's code unloading logic has been reenabled and now tracks
+  object file dependencies, fixing a soundness bug (:ghc-ticket:`16525`).
+
+- A linker bug relying in the misalignment of loaded ``.rodata`` sections has
+  been fixed.
+
+
+Known issues
+------------
+
+- A long-standing bug (:ghc-ticket:`16893`) which can cause some applications
+  of ``unsafeCoerce`` to segmentation fault is only partially fixed in this
+  release. This release only avoids this issue in the uses of ``unsafeCoerce``
+  in ``Data.Typeable.Internal``, which was the proximate cause of
+  :ghc-ticket:`16893`.
+
+  However, it is possible that this bug could manifest in user-code using
+  ``unsafeCoerce`` to perform dynamic type checks. See the :ghc-ticket:`ticket
+  <16893>` for details.
+
+  We expect that this issue will be fixed in the next major release of GHC.
+
+- A long-standing bug (:ghc-ticket:`17760`) where some uses of the ``touch#``
+  primop can be dropped by the simplifier is present in this release. This bug
+  will be fixed in GHC 9.0.1. In the meantime, see the :ghc-ticket:`ticket
+  <17760>` for mitigations.
+
+
+Included libraries
+------------------
+
+The package database provided with this distribution also contains a number of
+packages other than GHC itself. See the changelogs provided with these packages
+for further change information.
+
+.. ghc-package-list::
+
+    libraries/array/array.cabal:             Dependency of ``ghc`` library
+    libraries/base/base.cabal:               Core library
+    libraries/binary/binary.cabal:           Dependency of ``ghc`` library
+    libraries/bytestring/bytestring.cabal:   Dependency of ``ghc`` library
+    libraries/Cabal/Cabal/Cabal.cabal:       Dependency of ``ghc-pkg`` utility
+    libraries/containers/containers/containers.cabal:   Dependency of ``ghc`` library
+    libraries/deepseq/deepseq.cabal:         Dependency of ``ghc`` library
+    libraries/directory/directory.cabal:     Dependency of ``ghc`` library
+    libraries/exceptions/exceptions.cabal:   Dependency of ``haskeline`` library
+    libraries/filepath/filepath.cabal:       Dependency of ``ghc`` library
+    compiler/ghc.cabal:                      The compiler itself
+    libraries/ghci/ghci.cabal:               The REPL interface
+    libraries/ghc-boot/ghc-boot.cabal:       Internal compiler library
+    libraries/ghc-boot-th/ghc-boot-th.cabal: Internal compiler library
+    libraries/ghc-compact/ghc-compact.cabal: Core library
+    libraries/ghc-heap/ghc-heap.cabal:       GHC heap-walking library
+    libraries/ghc-prim/ghc-prim.cabal:       Core library
+    libraries/haskeline/haskeline.cabal:     Dependency of ``ghci`` executable
+    libraries/hpc/hpc.cabal:                 Dependency of ``hpc`` executable
+    libraries/integer-gmp/integer-gmp.cabal: Core library
+    libraries/libiserv/libiserv.cabal:       Internal compiler library
+    libraries/mtl/mtl.cabal:                 Dependency of ``Cabal`` library
+    libraries/parsec/parsec.cabal:           Dependency of ``Cabal`` library
+    libraries/pretty/pretty.cabal:           Dependency of ``ghc`` library
+    libraries/process/process.cabal:         Dependency of ``ghc`` library
+    libraries/stm/stm.cabal:                 Dependency of ``haskeline`` library
+    libraries/template-haskell/template-haskell.cabal:     Core library
+    libraries/terminfo/terminfo.cabal:       Dependency of ``haskeline`` library
+    libraries/text/text.cabal:               Dependency of ``Cabal`` library
+    libraries/time/time.cabal:               Dependency of ``ghc`` library
+    libraries/transformers/transformers.cabal: Dependency of ``ghc`` library
+    libraries/unix/unix.cabal:               Dependency of ``ghc`` library
+    libraries/Win32/Win32.cabal:             Dependency of ``ghc`` library
+    libraries/xhtml/xhtml.cabal:             Dependency of ``haddock`` executable
+


=====================================
docs/users_guide/index.rst
=====================================
@@ -14,6 +14,7 @@ Contents:
    intro
    8.10.1-notes
    8.10.2-notes
+   8.10.3-notes
    ghci
    runghc
    usage


=====================================
hadrian/src/Flavour.hs
=====================================
@@ -2,7 +2,7 @@ module Flavour
   ( Flavour (..), werror
   , DocTargets, DocTarget(..)
     -- * Flavour transformers
-  , addArgs
+  , addArgs, addArgsBefore
   , splitSections, splitSectionsIf
   , enableThreadSanitizer
   , enableDebugInfo, enableTickyGhc
@@ -71,10 +71,15 @@ data DocTarget = Haddocks | SphinxHTML | SphinxPDFs | SphinxMan | SphinxInfo
 addArgs :: Args -> Flavour -> Flavour
 addArgs args' fl = fl { args = args fl <> args' }
 
+addArgsBefore :: Args -> Flavour -> Flavour
+addArgsBefore args' fl = fl { args = args' <> args fl }
+
 -- | Turn on -Werror for packages built with the stage1 compiler.
 -- It mimics the CI settings so is useful to turn on when developing.
 werror :: Flavour -> Flavour
-werror = addArgs (builder Ghc ? notStage0 ? arg "-Werror")
+werror = addArgsBefore (builder Ghc ? notStage0 ? arg "-Werror")
+  -- N.B. We add this flag *before* the others to ensure that we don't override
+  -- the -Wno-error flags defined in "Settings.Warnings".
 
 -- | Build C and Haskell objects with debugging information.
 enableDebugInfo :: Flavour -> Flavour


=====================================
hadrian/src/Settings/Warnings.hs
=====================================
@@ -20,35 +20,39 @@ ghcWarningsArgs = do
     isIntegerSimple <- (== integerSimple) <$> getIntegerPackage
     mconcat
         [ stage0 ? mconcat
-        [ libraryPackage       ? pure [ "-fno-warn-deprecated-flags" ]
-        , package terminfo     ? pure [ "-fno-warn-unused-imports" ]
-        , package transformers ? pure [ "-fno-warn-unused-matches"
-                                      , "-fno-warn-unused-imports" ] ]
+          [ libraryPackage       ? pure [ "-fno-warn-deprecated-flags" ]
+          , package terminfo     ? pure [ "-fno-warn-unused-imports" ]
+          , package transformers ? pure [ "-fno-warn-unused-matches"
+                                        , "-fno-warn-unused-imports" ] ]
         , notStage0 ? mconcat
-        [ libraryPackage       ? pure [ "-Wno-deprecated-flags" ]
-        , package base         ? pure [ "-Wno-trustworthy-safe" ]
-        , package binary       ? pure [ "-Wno-deprecations" ]
-        , package bytestring   ? pure [ "-Wno-inline-rule-shadowing" ]
-        , package compiler     ? pure [ "-Wcpp-undef" ]
-        , package directory    ? pure [ "-Wno-unused-imports" ]
-        , package ghc          ? pure [ "-Wcpp-undef" ]
-        , package ghcPrim      ? pure [ "-Wno-trustworthy-safe" ]
-        , package haddock      ? pure [ "-Wno-unused-imports"
-                                      , "-Wno-deprecations" ]
-        , package haskeline    ? pure [ "-Wno-deprecations"
-                                      , "-Wno-unused-imports"
-                                      , "-Wno-redundant-constraints"
-                                      , "-Wno-simplifiable-class-constraints" ]
-        , package pretty       ? pure [ "-Wno-unused-imports" ]
-        , package primitive    ? pure [ "-Wno-unused-imports"
-                                      , "-Wno-deprecations" ]
-        , package rts          ? pure [ "-Wcpp-undef" ]
-        , package terminfo     ? pure [ "-Wno-unused-imports" ]
-        , isIntegerSimple      ?
-          package text         ? pure [ "-Wno-unused-imports" ]
-        , package transformers ? pure [ "-Wno-unused-matches"
-                                      , "-Wno-unused-imports"
-                                      , "-Wno-redundant-constraints"
-                                      , "-Wno-orphans" ]
-        , package win32        ? pure [ "-Wno-trustworthy-safe" ]
-        , package xhtml        ? pure [ "-Wno-unused-imports" ] ] ]
+          [ libraryPackage       ? pure [ "-Wno-deprecated-flags" ]
+          , package base         ? pure [ "-Wno-trustworthy-safe" ]
+          , package binary       ? pure [ "-Wno-deprecations" ]
+          , package bytestring   ? pure [ "-Wno-inline-rule-shadowing" ]
+          , package compiler     ? pure [ "-Wcpp-undef" ]
+          , package directory    ? pure [ "-Wno-unused-imports" ]
+          , package ghc          ? pure [ "-Wcpp-undef" ]
+          , package ghcPrim      ? pure [ "-Wno-trustworthy-safe" ]
+          , package haddock      ? pure [ "-Wno-unused-imports"
+                                        , "-Wno-deprecations" ]
+          , package haskeline    ? pure [ "-Wno-deprecations"
+                                        , "-Wno-unused-imports"
+                                        , "-Wno-redundant-constraints"
+                                        , "-Wno-simplifiable-class-constraints" ]
+          , package pretty       ? pure [ "-Wno-unused-imports" ]
+          , package primitive    ? pure [ "-Wno-unused-imports"
+                                        , "-Wno-deprecations" ]
+          , package rts          ? pure [ "-Wcpp-undef" ]
+          , package terminfo     ? pure [ "-Wno-unused-imports" ]
+          , isIntegerSimple      ?
+            package text         ? pure [ "-Wno-unused-imports" ]
+          , package transformers ? pure [ "-Wno-unused-matches"
+                                        , "-Wno-unused-imports"
+                                        , "-Wno-redundant-constraints"
+                                        , "-Wno-orphans" ]
+          , package win32        ? pure [ "-Wno-trustworthy-safe" ]
+          , package xhtml        ? pure [ "-Wno-unused-imports" ]
+          ]
+        , mconcat
+          [ package cabal        ? pure [ "-Wno-error=deprecations" ] ]
+        ]


=====================================
mk/warnings.mk
=====================================
@@ -80,6 +80,8 @@ libraries/haskeline_dist-install_EXTRA_HC_OPTS += -Wno-unused-imports
 libraries/haskeline_dist-install_EXTRA_HC_OPTS += -Wno-redundant-constraints
 libraries/haskeline_dist-install_EXTRA_HC_OPTS += -Wno-simplifiable-class-constraints
 
+# Due to deprecation warning
+libraries/Cabal_dist-install_EXTRA_HC_OPTS += -Wno-error=deprecations
 
 # temporarily turn off unused-imports warnings for pretty
 libraries/pretty_dist-install_EXTRA_HC_OPTS += -Wno-unused-imports



View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/7bb343c2a27028932e29276f7956c04ef04aba0a...b1593746a6774448640c235bcf520ef641f62fbc

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/7bb343c2a27028932e29276f7956c04ef04aba0a...b1593746a6774448640c235bcf520ef641f62fbc
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/20201214/02de7788/attachment-0001.html>


More information about the ghc-commits mailing list