diff --git a/Cabal-QuickCheck/src/Test/QuickCheck/Instances/Cabal.hs b/Cabal-QuickCheck/src/Test/QuickCheck/Instances/Cabal.hs
index a3b489ef369cd96553ad926b1090db660891ef78..115fa76889907c827404311584a475680c9cdc9e 100644
--- a/Cabal-QuickCheck/src/Test/QuickCheck/Instances/Cabal.hs
+++ b/Cabal-QuickCheck/src/Test/QuickCheck/Instances/Cabal.hs
@@ -1,6 +1,6 @@
 {-# LANGUAGE CPP           #-}
 {-# LANGUAGE FlexibleInstances #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
+{-# OPTIONS_GHC -Wno-orphans #-}
 module Test.QuickCheck.Instances.Cabal () where
 
 #if !MIN_VERSION_base(4,18,0)
diff --git a/Cabal-hooks/Cabal-hooks.cabal b/Cabal-hooks/Cabal-hooks.cabal
index 390a560ee4c246b9dbc59368cf9b8959520a8840..d07b1201ec7b84e2c03764e00b1bcc3a712931d5 100644
--- a/Cabal-hooks/Cabal-hooks.cabal
+++ b/Cabal-hooks/Cabal-hooks.cabal
@@ -33,7 +33,7 @@ library
     , containers      >= 0.5.0.0   && < 0.8
     , transformers    >= 0.5.6.0   && < 0.7
 
-  ghc-options: -Wall -fno-ignore-asserts -fwarn-tabs -fwarn-incomplete-uni-patterns -fwarn-incomplete-record-updates
+  ghc-options: -Wall -fno-ignore-asserts -Wtabs -Wincomplete-uni-patterns -Wincomplete-record-updates
 
   exposed-modules:
     Distribution.Simple.SetupHooks
diff --git a/Cabal-syntax/Cabal-syntax.cabal b/Cabal-syntax/Cabal-syntax.cabal
index aabe1fde63a8595885c248a482707e7eede10fe8..91026d479d332558c7f905fa0f398b87445329cf 100644
--- a/Cabal-syntax/Cabal-syntax.cabal
+++ b/Cabal-syntax/Cabal-syntax.cabal
@@ -48,10 +48,10 @@ library
   ghc-options:
     -Wall
     -fno-ignore-asserts
-    -fwarn-tabs
-    -fwarn-incomplete-uni-patterns
-    -fwarn-incomplete-record-updates
-    -fno-warn-unticked-promoted-constructors
+    -Wtabs
+    -Wincomplete-uni-patterns
+    -Wincomplete-record-updates
+    -Wno-unticked-promoted-constructors
 
   if impl(ghc >= 8.0)
     ghc-options: -Wcompat -Wnoncanonical-monad-instances
diff --git a/Cabal-syntax/src/Distribution/PackageDescription/Configuration.hs b/Cabal-syntax/src/Distribution/PackageDescription/Configuration.hs
index eebf760094d832856c7b6ab918ff38a63950c9dc..d23ac5cbf516c039495b42dc18975942cbed9118 100644
--- a/Cabal-syntax/src/Distribution/PackageDescription/Configuration.hs
+++ b/Cabal-syntax/src/Distribution/PackageDescription/Configuration.hs
@@ -1,5 +1,5 @@
--- -fno-warn-deprecations for use of Map.foldWithKey
-{-# OPTIONS_GHC -fno-warn-deprecations #-}
+-- -Wno-deprecations for use of Map.foldWithKey
+{-# OPTIONS_GHC -Wno-deprecations #-}
 
 -----------------------------------------------------------------------------
 
diff --git a/Cabal-tests/tests/HackageTests.hs b/Cabal-tests/tests/HackageTests.hs
index 57a777b128a6eb70a526dcc08d99c610586fd634..dbad37c30f43920939db0f00721b22cfef3dda0c 100644
--- a/Cabal-tests/tests/HackageTests.hs
+++ b/Cabal-tests/tests/HackageTests.hs
@@ -3,7 +3,7 @@
 {-# LANGUAGE Rank2Types          #-}
 {-# LANGUAGE ScopedTypeVariables #-}
 #if !MIN_VERSION_deepseq(1,4,0)
-{-# OPTIONS_GHC -fno-warn-orphans #-}
+{-# OPTIONS_GHC -Wno-orphans #-}
 #endif
 
 module Main where
diff --git a/Cabal-tests/tests/Test/Laws.hs b/Cabal-tests/tests/Test/Laws.hs
index 351cee7f0c6013953ba4a46ce0a141f7770962b2..0945c709dd3aa0d8fa2060c10c3ce46cadf10719 100644
--- a/Cabal-tests/tests/Test/Laws.hs
+++ b/Cabal-tests/tests/Test/Laws.hs
@@ -1,4 +1,4 @@
-{-# OPTIONS_GHC -fno-warn-missing-signatures #-}
+{-# OPTIONS_GHC -Wno-missing-signatures #-}
 module Test.Laws where
 
 import Prelude hiding (Num((+), (*)))
diff --git a/Cabal-tests/tests/UnitTests/Distribution/CabalSpecVersion.hs b/Cabal-tests/tests/UnitTests/Distribution/CabalSpecVersion.hs
index 2a23d3d23f1992fe3c0d6b562b9e3b67fcbb13af..46fc7dc0aa3cd45b8a649dee34434ae16e40ca84 100644
--- a/Cabal-tests/tests/UnitTests/Distribution/CabalSpecVersion.hs
+++ b/Cabal-tests/tests/UnitTests/Distribution/CabalSpecVersion.hs
@@ -1,4 +1,4 @@
-{-# OPTIONS_GHC -fno-warn-deprecations #-}
+{-# OPTIONS_GHC -Wno-deprecations #-}
 module UnitTests.Distribution.CabalSpecVersion (tests) where
 
 import Distribution.Compat.Prelude.Internal
diff --git a/Cabal-tests/tests/UnitTests/Distribution/Compat/Graph.hs b/Cabal-tests/tests/UnitTests/Distribution/Compat/Graph.hs
index 68763a81bd50488bce5b98123c9c73d2f3d77b91..0e2ea86318b3b44d5fcf18774907decb5df54302 100644
--- a/Cabal-tests/tests/UnitTests/Distribution/Compat/Graph.hs
+++ b/Cabal-tests/tests/UnitTests/Distribution/Compat/Graph.hs
@@ -1,6 +1,6 @@
 {-# LANGUAGE PatternGuards #-}
 {-# LANGUAGE FlexibleInstances #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
+{-# OPTIONS_GHC -Wno-orphans #-}
 module UnitTests.Distribution.Compat.Graph
     ( tests
     , arbitraryGraph
diff --git a/Cabal-tests/tests/UnitTests/Distribution/Described.hs b/Cabal-tests/tests/UnitTests/Distribution/Described.hs
index 2c73c805c71ec4e821712f5d52bbd999efcf5bb2..9f1c70b51a704c8a2d339d00d37ec10d6bad5bd0 100644
--- a/Cabal-tests/tests/UnitTests/Distribution/Described.hs
+++ b/Cabal-tests/tests/UnitTests/Distribution/Described.hs
@@ -1,6 +1,6 @@
 {-# LANGUAGE OverloadedStrings   #-}
 {-# LANGUAGE ScopedTypeVariables #-}
-{-# OPTIONS_GHC -fno-warn-deprecations #-}
+{-# OPTIONS_GHC -Wno-deprecations #-}
 module UnitTests.Distribution.Described where
 
 import Distribution.Compat.Prelude.Internal
diff --git a/Cabal-tests/tests/UnitTests/Distribution/SPDX.hs b/Cabal-tests/tests/UnitTests/Distribution/SPDX.hs
index b9454c20d208386c64f8a255ca350acdb7414766..297f98c807897510fd0e144d8d61190c54bd18d7 100644
--- a/Cabal-tests/tests/UnitTests/Distribution/SPDX.hs
+++ b/Cabal-tests/tests/UnitTests/Distribution/SPDX.hs
@@ -1,4 +1,4 @@
-{-# OPTIONS_GHC -fno-warn-deprecations #-}
+{-# OPTIONS_GHC -Wno-deprecations #-}
 module UnitTests.Distribution.SPDX (spdxTests) where
 
 import Distribution.Compat.Prelude.Internal
diff --git a/Cabal-tests/tests/UnitTests/Distribution/System.hs b/Cabal-tests/tests/UnitTests/Distribution/System.hs
index d09b1b7f61b2b9d0b29fe9503a218ac641fdd11a..4c703e65136bdd3922e763991bf9ee16b8d50d83 100644
--- a/Cabal-tests/tests/UnitTests/Distribution/System.hs
+++ b/Cabal-tests/tests/UnitTests/Distribution/System.hs
@@ -1,4 +1,4 @@
-{-# OPTIONS_GHC -fno-warn-orphans #-}
+{-# OPTIONS_GHC -Wno-orphans #-}
 module UnitTests.Distribution.System
     ( tests
     ) where
diff --git a/Cabal-tests/tests/UnitTests/Distribution/Types/GenericPackageDescription.hs b/Cabal-tests/tests/UnitTests/Distribution/Types/GenericPackageDescription.hs
index 65bd55cb7d3a2df6ce6729634112d33ba4046e35..b8653abd38fd7e8bfad902007040533123d82524 100644
--- a/Cabal-tests/tests/UnitTests/Distribution/Types/GenericPackageDescription.hs
+++ b/Cabal-tests/tests/UnitTests/Distribution/Types/GenericPackageDescription.hs
@@ -1,4 +1,4 @@
-{-# OPTIONS_GHC -fno-warn-deprecations #-}   -- for importing "Distribution.Compat.Prelude.Internal"
+{-# OPTIONS_GHC -Wno-deprecations #-}   -- for importing "Distribution.Compat.Prelude.Internal"
 
 module UnitTests.Distribution.Types.GenericPackageDescription where
 
diff --git a/Cabal-tests/tests/UnitTests/Distribution/Utils/Generic.hs b/Cabal-tests/tests/UnitTests/Distribution/Utils/Generic.hs
index 3eecc3c2a13d7bc9aacef6723dfdf4a620f56089..12d35da43bbccbfe4e6c472ad77d684d673fdbc3 100644
--- a/Cabal-tests/tests/UnitTests/Distribution/Utils/Generic.hs
+++ b/Cabal-tests/tests/UnitTests/Distribution/Utils/Generic.hs
@@ -1,7 +1,7 @@
 {-# LANGUAGE OverloadedStrings #-}
 
 -- to suppress WARNING in "Distribution.Compat.Prelude.Internal"
-{-# OPTIONS_GHC -fno-warn-deprecations #-}
+{-# OPTIONS_GHC -Wno-deprecations #-}
 
 module UnitTests.Distribution.Utils.Generic ( tests ) where
 
diff --git a/Cabal-tests/tests/UnitTests/Distribution/Utils/NubList.hs b/Cabal-tests/tests/UnitTests/Distribution/Utils/NubList.hs
index 61e25eec39befd013f0fc4b2d54a7da316f71418..28af23f0b8992e7a0fcf0b01a49b169599c16363 100644
--- a/Cabal-tests/tests/UnitTests/Distribution/Utils/NubList.hs
+++ b/Cabal-tests/tests/UnitTests/Distribution/Utils/NubList.hs
@@ -1,5 +1,5 @@
 -- to suppress WARNING in "Distribution.Compat.Prelude.Internal"
-{-# OPTIONS_GHC -fno-warn-deprecations #-}
+{-# OPTIONS_GHC -Wno-deprecations #-}
 module UnitTests.Distribution.Utils.NubList
     ( tests
     ) where
diff --git a/Cabal-tests/tests/UnitTests/Distribution/Version.hs b/Cabal-tests/tests/UnitTests/Distribution/Version.hs
index 9bfcfc0e1430af4657864342c8283b2e5bdd1465..48c281cf0791c56e294de1b720bd0f258df9eb9d 100644
--- a/Cabal-tests/tests/UnitTests/Distribution/Version.hs
+++ b/Cabal-tests/tests/UnitTests/Distribution/Version.hs
@@ -1,6 +1,6 @@
-{-# OPTIONS_GHC -fno-warn-incomplete-patterns
-                -fno-warn-deprecations
-                -fno-warn-unused-binds #-} --FIXME
+{-# OPTIONS_GHC -Wno-incomplete-patterns
+                -Wno-deprecations
+                -Wno-unused-binds #-} --FIXME
 module UnitTests.Distribution.Version (versionTests) where
 
 import Distribution.Compat.Prelude.Internal
diff --git a/Cabal-tree-diff/src/Data/TreeDiff/Instances/Cabal.hs b/Cabal-tree-diff/src/Data/TreeDiff/Instances/Cabal.hs
index a63faa3510c591ebdbc5abe63b2c4dc6261cdc27..cb36fe680dbeb73e9a89ef0e94c354e0f843dcda 100644
--- a/Cabal-tree-diff/src/Data/TreeDiff/Instances/Cabal.hs
+++ b/Cabal-tree-diff/src/Data/TreeDiff/Instances/Cabal.hs
@@ -1,5 +1,5 @@
 {-# OPTIONS_GHC -freduction-depth=0 #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
+{-# OPTIONS_GHC -Wno-orphans #-}
 module Data.TreeDiff.Instances.Cabal () where
 
 import Data.TreeDiff
diff --git a/Cabal-tree-diff/src/Data/TreeDiff/Instances/CabalLanguage.hs b/Cabal-tree-diff/src/Data/TreeDiff/Instances/CabalLanguage.hs
index 194ea34df800ee4a366913adcb389ff1dd67d5e4..094195a947814f67098c9d5cbca3c40d449b6c88 100644
--- a/Cabal-tree-diff/src/Data/TreeDiff/Instances/CabalLanguage.hs
+++ b/Cabal-tree-diff/src/Data/TreeDiff/Instances/CabalLanguage.hs
@@ -1,5 +1,5 @@
 {-# OPTIONS_GHC -freduction-depth=0 #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
+{-# OPTIONS_GHC -Wno-orphans #-}
 module Data.TreeDiff.Instances.CabalLanguage () where
 
 import Data.TreeDiff
diff --git a/Cabal-tree-diff/src/Data/TreeDiff/Instances/CabalSPDX.hs b/Cabal-tree-diff/src/Data/TreeDiff/Instances/CabalSPDX.hs
index 520cbf8c8949c001a98181d67e087c82dedf18f6..a24cac07f9ccca8d7a5aa710e8517551e5c77cd8 100644
--- a/Cabal-tree-diff/src/Data/TreeDiff/Instances/CabalSPDX.hs
+++ b/Cabal-tree-diff/src/Data/TreeDiff/Instances/CabalSPDX.hs
@@ -1,5 +1,5 @@
 {-# OPTIONS_GHC -freduction-depth=0 #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
+{-# OPTIONS_GHC -Wno-orphans #-}
 module Data.TreeDiff.Instances.CabalSPDX () where
 
 import Data.TreeDiff
diff --git a/Cabal-tree-diff/src/Data/TreeDiff/Instances/CabalVersion.hs b/Cabal-tree-diff/src/Data/TreeDiff/Instances/CabalVersion.hs
index 4321fd0bc3d6a326081b4dbf3092dc8e1c13f792..ec96ec9f6b1fac6d93b5aa0bae6cdc209054ff51 100644
--- a/Cabal-tree-diff/src/Data/TreeDiff/Instances/CabalVersion.hs
+++ b/Cabal-tree-diff/src/Data/TreeDiff/Instances/CabalVersion.hs
@@ -1,5 +1,5 @@
 {-# OPTIONS_GHC -freduction-depth=0 #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
+{-# OPTIONS_GHC -Wno-orphans #-}
 module Data.TreeDiff.Instances.CabalVersion where
 
 import Data.TreeDiff
diff --git a/Cabal/Cabal.cabal b/Cabal/Cabal.cabal
index 15bec87f0d174a0aaf4691c565033f95f3113fee..ecb7ea271251f7a5bec463e0dc1f71ec541e784a 100644
--- a/Cabal/Cabal.cabal
+++ b/Cabal/Cabal.cabal
@@ -66,10 +66,10 @@ library
   ghc-options:
     -Wall
     -fno-ignore-asserts
-    -fwarn-tabs
-    -fwarn-incomplete-uni-patterns
-    -fwarn-incomplete-record-updates
-    -fno-warn-unticked-promoted-constructors
+    -Wtabs
+    -Wincomplete-uni-patterns
+    -Wincomplete-record-updates
+    -Wno-unticked-promoted-constructors
 
   if impl(ghc >= 8.0)
     ghc-options: -Wcompat -Wnoncanonical-monad-instances
diff --git a/Cabal/src/Distribution/Compat/FilePath.hs b/Cabal/src/Distribution/Compat/FilePath.hs
index 6e1c7961313269d186d7f8c3c3993f1f745579b2..80ab398bf6cab94550164985efb2063ad95cb400 100644
--- a/Cabal/src/Distribution/Compat/FilePath.hs
+++ b/Cabal/src/Distribution/Compat/FilePath.hs
@@ -1,5 +1,5 @@
 {-# LANGUAGE CPP #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -Wno-unused-imports #-}
 
 module Distribution.Compat.FilePath
   ( isExtensionOf
diff --git a/Cabal/src/Distribution/Simple.hs b/Cabal/src/Distribution/Simple.hs
index 985d85419db3c50bb648fbbd83c27ad1d33002f0..3e9e06a71691f9bfb1a9800fc3d877665d690739 100644
--- a/Cabal/src/Distribution/Simple.hs
+++ b/Cabal/src/Distribution/Simple.hs
@@ -4,7 +4,6 @@
 {-# LANGUAGE OverloadedStrings #-}
 {-# LANGUAGE RankNTypes #-}
 {-# LANGUAGE ScopedTypeVariables #-}
-{-# OPTIONS_GHC -Wno-incomplete-uni-patterns #-}
 -----------------------------------------------------------------------------
 {-
 Work around this warning:
@@ -13,7 +12,8 @@ libraries/Cabal/Distribution/Simple.hs:78:0:
              (imported from Distribution.Simple.UserHooks):
              Deprecated: "Please use the new testing interface instead!"
 -}
-{-# OPTIONS_GHC -fno-warn-deprecations #-}
+{-# OPTIONS_GHC -Wno-deprecations #-}
+{-# OPTIONS_GHC -Wno-incomplete-uni-patterns #-}
 
 -- |
 -- Module      :  Distribution.Simple
diff --git a/Cabal/src/Distribution/Simple/Build/PackageInfoModule/Z.hs b/Cabal/src/Distribution/Simple/Build/PackageInfoModule/Z.hs
index 6bc973148092631ccd2fc799059cc805025a6bac..514c3da1d608b1b9bd37790085cd8fbc35d02caf 100644
--- a/Cabal/src/Distribution/Simple/Build/PackageInfoModule/Z.hs
+++ b/Cabal/src/Distribution/Simple/Build/PackageInfoModule/Z.hs
@@ -22,7 +22,7 @@ render z_root = execWriter $ do
       return ()
     else do
       return ()
-  tell "{-# OPTIONS_GHC -fno-warn-missing-import-lists #-}\n"
+  tell "{-# OPTIONS_GHC -Wno-missing-import-lists #-}\n"
   tell "{-# OPTIONS_GHC -w #-}\n"
   tell "module PackageInfo_"
   tell (zPackageName z_root)
diff --git a/Cabal/src/Distribution/Simple/Build/PathsModule/Z.hs b/Cabal/src/Distribution/Simple/Build/PathsModule/Z.hs
index 7c36c4ce507e7a77215d1b3750c2381c3b606fe6..22a3ac7b73b57496f1ed4d8bd9c98f4608313bdf 100644
--- a/Cabal/src/Distribution/Simple/Build/PathsModule/Z.hs
+++ b/Cabal/src/Distribution/Simple/Build/PathsModule/Z.hs
@@ -51,7 +51,7 @@ render z_root = execWriter $ do
     return ()
   else do
     return ()
-  tell "{-# OPTIONS_GHC -fno-warn-missing-import-lists #-}\n"
+  tell "{-# OPTIONS_GHC -Wno-missing-import-lists #-}\n"
   tell "{-# OPTIONS_GHC -w #-}\n"
   tell "module Paths_"
   tell (zManglePkgName z_root (zPackageName z_root))
diff --git a/Cabal/src/Distribution/Simple/ConfigureScript.hs b/Cabal/src/Distribution/Simple/ConfigureScript.hs
index cf2a18297ee02289f3668bee1ee1813a399de5c5..86c5b384e865049ecad78d86fcc1877ddb25f8eb 100644
--- a/Cabal/src/Distribution/Simple/ConfigureScript.hs
+++ b/Cabal/src/Distribution/Simple/ConfigureScript.hs
@@ -5,7 +5,7 @@
 {-# LANGUAGE RankNTypes #-}
 {-# LANGUAGE ScopedTypeVariables #-}
 -----------------------------------------------------------------------------
-{-# OPTIONS_GHC -fno-warn-deprecations #-}
+{-# OPTIONS_GHC -Wno-deprecations #-}
 
 -- |
 -- Module      :  Distribution.Simple.ConfigureScript
diff --git a/cabal-benchmarks/bench/CabalBenchmarks.hs b/cabal-benchmarks/bench/CabalBenchmarks.hs
index 39580898e86e8a55679f8a8adfdcfa0582ba972f..0c60b8c20ace5acb72f2dde8cffd51f84f8cbe52 100644
--- a/cabal-benchmarks/bench/CabalBenchmarks.hs
+++ b/cabal-benchmarks/bench/CabalBenchmarks.hs
@@ -1,4 +1,4 @@
-{-# OPTIONS_GHC -fno-warn-deprecations #-}
+{-# OPTIONS_GHC -Wno-deprecations #-}
 module Main where
 
 import Test.Tasty.Bench                       (bench, bgroup, defaultMain, env, nf, whnf)
diff --git a/cabal-benchmarks/cabal-benchmarks.cabal b/cabal-benchmarks/cabal-benchmarks.cabal
index 2b247e565cf93fc9449ce72646ffbcdcc63b5dfb..ade0fa3b178e5d959169a7600b025b1cea3f7dfb 100644
--- a/cabal-benchmarks/cabal-benchmarks.cabal
+++ b/cabal-benchmarks/cabal-benchmarks.cabal
@@ -26,7 +26,7 @@ test-suite cabal-benchmarks
   type:             exitcode-stdio-1.0
   main-is:          CabalBenchmarks.hs
   hs-source-dirs:   bench
-  ghc-options:      -threaded -Wall -fwarn-tabs
+  ghc-options:      -threaded -Wall -Wtabs
   build-depends:
       base
     , bytestring
diff --git a/cabal-install-solver/cabal-install-solver.cabal b/cabal-install-solver/cabal-install-solver.cabal
index 0002922e5c2e75a2658afa4de25939ad5fe150d1..b70e5122e4059f680285a3aa602fe166d16ad6e6 100644
--- a/cabal-install-solver/cabal-install-solver.cabal
+++ b/cabal-install-solver/cabal-install-solver.cabal
@@ -38,7 +38,7 @@ library
   hs-source-dirs:   src-assertion
   ghc-options:
     -Wall -Wcompat -Wnoncanonical-monad-instances
-    -fwarn-tabs -fwarn-incomplete-uni-patterns
+    -Wtabs -Wincomplete-uni-patterns
 
   if impl(ghc < 8.8)
     ghc-options: -Wnoncanonical-monadfail-instances
diff --git a/cabal-install-solver/src/Distribution/Solver/Compat/Prelude.hs b/cabal-install-solver/src/Distribution/Solver/Compat/Prelude.hs
index abcae0c7242ac3fd979fa871b19678a54e37f48c..d20e186383556e91f56ab702367fb736478ebc6c 100644
--- a/cabal-install-solver/src/Distribution/Solver/Compat/Prelude.hs
+++ b/cabal-install-solver/src/Distribution/Solver/Compat/Prelude.hs
@@ -1,5 +1,5 @@
 -- to suppress WARNING in "Distribution.Compat.Prelude.Internal"
-{-# OPTIONS_GHC -fno-warn-deprecations #-}
+{-# OPTIONS_GHC -Wno-deprecations #-}
 
 -- | This module does two things:
 --
diff --git a/cabal-install-solver/src/Distribution/Solver/Modular/Linking.hs b/cabal-install-solver/src/Distribution/Solver/Modular/Linking.hs
index 3e4e2de3ee6f66c154cef1877639d922cf1c537c..15514472c80a23c7f9eb0e94b0abf8c03a758fa0 100644
--- a/cabal-install-solver/src/Distribution/Solver/Modular/Linking.hs
+++ b/cabal-install-solver/src/Distribution/Solver/Modular/Linking.hs
@@ -2,7 +2,7 @@
 {-# LANGUAGE MultiParamTypeClasses #-}
 
 -- TODO: remove this
-{-# OPTIONS -fno-warn-incomplete-uni-patterns #-}
+{-# OPTIONS -Wno-incomplete-uni-patterns #-}
 module Distribution.Solver.Modular.Linking (
     validateLinking
   ) where
diff --git a/cabal-install-solver/src/Distribution/Solver/Modular/Solver.hs b/cabal-install-solver/src/Distribution/Solver/Modular/Solver.hs
index 58045b568141c71bcad991607fd4b055ef2f7496..b2c89fc15377774428347adec61e85188e955542 100644
--- a/cabal-install-solver/src/Distribution/Solver/Modular/Solver.hs
+++ b/cabal-install-solver/src/Distribution/Solver/Modular/Solver.hs
@@ -1,7 +1,7 @@
 {-# LANGUAGE CPP #-}
 #ifdef DEBUG_TRACETREE
 {-# LANGUAGE FlexibleInstances #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
+{-# OPTIONS_GHC -Wno-orphans #-}
 #endif
 module Distribution.Solver.Modular.Solver
     ( SolverConfig(..)
diff --git a/cabal-install/src/Distribution/Client/BuildReports/Storage.hs b/cabal-install/src/Distribution/Client/BuildReports/Storage.hs
index 34f2c38003549b3017e776c1f63f1e4341d5b838..740a32cd9c3f5c811313ec1df34813543968c0d7 100644
--- a/cabal-install/src/Distribution/Client/BuildReports/Storage.hs
+++ b/cabal-install/src/Distribution/Client/BuildReports/Storage.hs
@@ -1,4 +1,4 @@
-{-# OPTIONS_GHC -fno-warn-incomplete-uni-patterns #-}
+{-# OPTIONS_GHC -Wno-incomplete-uni-patterns #-}
 
 -----------------------------------------------------------------------------
 
diff --git a/cabal-install/src/Distribution/Client/Compat/Orphans.hs b/cabal-install/src/Distribution/Client/Compat/Orphans.hs
index bbc44bb5c8ae5da6072d84847fadc7085f0ca9b6..58b780d79ba08e0f4acae051c3bcc18bf78967e4 100644
--- a/cabal-install/src/Distribution/Client/Compat/Orphans.hs
+++ b/cabal-install/src/Distribution/Client/Compat/Orphans.hs
@@ -1,5 +1,5 @@
 {-# LANGUAGE BangPatterns #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
+{-# OPTIONS_GHC -Wno-orphans #-}
 
 module Distribution.Client.Compat.Orphans () where
 
diff --git a/cabal-install/src/Distribution/Client/Compat/Prelude.hs b/cabal-install/src/Distribution/Client/Compat/Prelude.hs
index 42d048c9b61ad14ce69a0793b7a79e2ac4faf78f..028b5f4a5f1961c6a85e7385b2dbeb3c7ec3e890 100644
--- a/cabal-install/src/Distribution/Client/Compat/Prelude.hs
+++ b/cabal-install/src/Distribution/Client/Compat/Prelude.hs
@@ -1,5 +1,5 @@
 -- to suppress WARNING in "Distribution.Compat.Prelude.Internal"
-{-# OPTIONS_GHC -fno-warn-deprecations #-}
+{-# OPTIONS_GHC -Wno-deprecations #-}
 
 -- | This module does two things:
 --
diff --git a/cabal-install/src/Distribution/Client/Compat/Tar.hs b/cabal-install/src/Distribution/Client/Compat/Tar.hs
index 8597c61fede92102a848514a93b9c37b5bc2a30b..b2649bc2e2bb13a7131b46e20157341e90f9e304 100644
--- a/cabal-install/src/Distribution/Client/Compat/Tar.hs
+++ b/cabal-install/src/Distribution/Client/Compat/Tar.hs
@@ -1,5 +1,5 @@
 {-# LANGUAGE CPP #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
+{-# OPTIONS_GHC -Wno-orphans #-}
 
 {- FOURMOLU_DISABLE -}
 module Distribution.Client.Compat.Tar
diff --git a/cabal-install/src/Distribution/Client/Errors.hs b/cabal-install/src/Distribution/Client/Errors.hs
index de81012c6a571f17b3b5e7a5f8cf6fb51af0aeec..ff9ad369bef40899af029ea1024556350bbb7551 100644
--- a/cabal-install/src/Distribution/Client/Errors.hs
+++ b/cabal-install/src/Distribution/Client/Errors.hs
@@ -1,7 +1,7 @@
 {-# LANGUAGE ConstraintKinds #-}
 {-# LANGUAGE FlexibleInstances #-}
 {-# LANGUAGE InstanceSigs #-}
-{-# OPTIONS_GHC -fno-warn-incomplete-uni-patterns #-}
+{-# OPTIONS_GHC -Wno-incomplete-uni-patterns #-}
 
 -----------------------------------------------------------------------------
 
diff --git a/cabal-install/src/Distribution/Client/FileMonitor.hs b/cabal-install/src/Distribution/Client/FileMonitor.hs
index 6883b6b107dff819428de62de668ed7db65d9d79..57b42d2ff63c7fb981844dfedcbfe19bb6137e45 100644
--- a/cabal-install/src/Distribution/Client/FileMonitor.hs
+++ b/cabal-install/src/Distribution/Client/FileMonitor.hs
@@ -4,7 +4,7 @@
 {-# LANGUAGE GeneralizedNewtypeDeriving #-}
 {-# LANGUAGE NamedFieldPuns #-}
 {-# LANGUAGE ScopedTypeVariables #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
+{-# OPTIONS_GHC -Wno-orphans #-}
 
 -- | An abstraction to help with re-running actions when files or other
 -- input values they depend on have changed.
diff --git a/cabal-install/src/Distribution/Client/Tar.hs b/cabal-install/src/Distribution/Client/Tar.hs
index 8d0f5449c67217b9a14f0462838dde2f7cc10ecb..3772cc672e2d557c1aada5e78c36148930913ac5 100644
--- a/cabal-install/src/Distribution/Client/Tar.hs
+++ b/cabal-install/src/Distribution/Client/Tar.hs
@@ -1,4 +1,4 @@
-{-# OPTIONS_GHC -fno-warn-orphans #-}
+{-# OPTIONS_GHC -Wno-orphans #-}
 
 -----------------------------------------------------------------------------
 
diff --git a/cabal-install/src/Distribution/Client/TargetSelector.hs b/cabal-install/src/Distribution/Client/TargetSelector.hs
index 6e0ad2488f3791670de54097b7d7a11bf9e60e92..b31655c59c64707a2092212898898652a9d715bc 100644
--- a/cabal-install/src/Distribution/Client/TargetSelector.hs
+++ b/cabal-install/src/Distribution/Client/TargetSelector.hs
@@ -4,7 +4,7 @@
 {-# LANGUAGE RecordWildCards #-}
 {-# LANGUAGE ScopedTypeVariables #-}
 -- TODO
-{-# OPTIONS_GHC -fno-warn-incomplete-uni-patterns #-}
+{-# OPTIONS_GHC -Wno-incomplete-uni-patterns #-}
 
 -----------------------------------------------------------------------------
 
diff --git a/cabal-install/tests/IntegrationTests2.hs b/cabal-install/tests/IntegrationTests2.hs
index 04bd32add66ca1b36f3765ce2ed32a75d6b2bd55..2b25a64b6beedc2bef7f316c85fe71ff83ccb0e1 100644
--- a/cabal-install/tests/IntegrationTests2.hs
+++ b/cabal-install/tests/IntegrationTests2.hs
@@ -3,7 +3,7 @@
 {-# LANGUAGE RankNTypes #-}
 {-# LANGUAGE ScopedTypeVariables #-}
 -- For the handy instance IsString PackageIdentifier
-{-# OPTIONS_GHC -fno-warn-orphans #-}
+{-# OPTIONS_GHC -Wno-orphans #-}
 
 module Main where
 
diff --git a/cabal-install/tests/UnitTests/Distribution/Client/ArbitraryInstances.hs b/cabal-install/tests/UnitTests/Distribution/Client/ArbitraryInstances.hs
index 4246617a6e0324243ec65aafc85dd28a6191a6f6..17d098b23b805680af6dafbd5ef79503a3f40e8c 100644
--- a/cabal-install/tests/UnitTests/Distribution/Client/ArbitraryInstances.hs
+++ b/cabal-install/tests/UnitTests/Distribution/Client/ArbitraryInstances.hs
@@ -1,6 +1,6 @@
 {-# LANGUAGE FlexibleContexts #-}
 {-# LANGUAGE GADTs #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
+{-# OPTIONS_GHC -Wno-orphans #-}
 
 module UnitTests.Distribution.Client.ArbitraryInstances
   ( adjustSize
diff --git a/cabal-install/tests/UnitTests/Distribution/Client/DescribedInstances.hs b/cabal-install/tests/UnitTests/Distribution/Client/DescribedInstances.hs
index 7e52d25173f20d9c94e7401b4ca47d0b1f89ac19..11d32e0d1cfbe99508df65412004e7e06ec527dd 100644
--- a/cabal-install/tests/UnitTests/Distribution/Client/DescribedInstances.hs
+++ b/cabal-install/tests/UnitTests/Distribution/Client/DescribedInstances.hs
@@ -1,5 +1,5 @@
 {-# LANGUAGE OverloadedStrings #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
+{-# OPTIONS_GHC -Wno-orphans #-}
 
 module UnitTests.Distribution.Client.DescribedInstances where
 
diff --git a/cabal-install/tests/UnitTests/Distribution/Client/Glob.hs b/cabal-install/tests/UnitTests/Distribution/Client/Glob.hs
index 38d245a045c7c277726101858cfe11228204a838..b41a4dd3fc34651b08ddbb4517b5535353ca7d18 100644
--- a/cabal-install/tests/UnitTests/Distribution/Client/Glob.hs
+++ b/cabal-install/tests/UnitTests/Distribution/Client/Glob.hs
@@ -1,4 +1,4 @@
-{-# OPTIONS_GHC -fno-warn-orphans #-}
+{-# OPTIONS_GHC -Wno-orphans #-}
 
 module UnitTests.Distribution.Client.Glob (tests) where
 
diff --git a/cabal-install/tests/UnitTests/Distribution/Client/ProjectConfig.hs b/cabal-install/tests/UnitTests/Distribution/Client/ProjectConfig.hs
index 1733153f85624ae7a3d9a4324cce21b6c1820644..bf69b20ee04859d8868f567562a99db1720c08f5 100644
--- a/cabal-install/tests/UnitTests/Distribution/Client/ProjectConfig.hs
+++ b/cabal-install/tests/UnitTests/Distribution/Client/ProjectConfig.hs
@@ -1,7 +1,7 @@
 {-# LANGUAGE CPP #-}
 {-# LANGUAGE GADTs #-}
 {-# LANGUAGE RecordWildCards #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
+{-# OPTIONS_GHC -Wno-orphans #-}
 
 -- simplifier goes nuts otherwise
 #if __GLASGOW_HASKELL__ < 806
diff --git a/cabal-install/tests/UnitTests/Distribution/Client/TreeDiffInstances.hs b/cabal-install/tests/UnitTests/Distribution/Client/TreeDiffInstances.hs
index da9bd8ad90dc9b095b2a3fd5d8c84fa006fd66e6..179fef5688a1425fd79b1c009ad38abf5046f9e6 100644
--- a/cabal-install/tests/UnitTests/Distribution/Client/TreeDiffInstances.hs
+++ b/cabal-install/tests/UnitTests/Distribution/Client/TreeDiffInstances.hs
@@ -1,6 +1,6 @@
 {-# LANGUAGE FlexibleInstances #-}
 {-# LANGUAGE UndecidableInstances #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
+{-# OPTIONS_GHC -Wno-orphans #-}
 
 module UnitTests.Distribution.Client.TreeDiffInstances () where
 
diff --git a/cabal-install/tests/UnitTests/Distribution/Solver/Modular/QuickCheck.hs b/cabal-install/tests/UnitTests/Distribution/Solver/Modular/QuickCheck.hs
index d53729e1a210a6a178a3285e89d55ed234c47085..9994acee2e91af1973df4e64225f9b7f1bccca62 100644
--- a/cabal-install/tests/UnitTests/Distribution/Solver/Modular/QuickCheck.hs
+++ b/cabal-install/tests/UnitTests/Distribution/Solver/Modular/QuickCheck.hs
@@ -1,6 +1,6 @@
 {-# LANGUAGE DeriveGeneric #-}
 {-# LANGUAGE StandaloneDeriving #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
+{-# OPTIONS_GHC -Wno-orphans #-}
 
 module UnitTests.Distribution.Solver.Modular.QuickCheck (tests) where
 
diff --git a/cabal-install/tests/UnitTests/Distribution/Solver/Modular/RetryLog.hs b/cabal-install/tests/UnitTests/Distribution/Solver/Modular/RetryLog.hs
index 8b0744a4aabdac73a32de5e9e0bf7f5eabc4da24..5c1d26a1bc260f8135589af343fe1b51a423ecaa 100644
--- a/cabal-install/tests/UnitTests/Distribution/Solver/Modular/RetryLog.hs
+++ b/cabal-install/tests/UnitTests/Distribution/Solver/Modular/RetryLog.hs
@@ -1,5 +1,5 @@
 {-# LANGUAGE StandaloneDeriving #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
+{-# OPTIONS_GHC -Wno-orphans #-}
 
 module UnitTests.Distribution.Solver.Modular.RetryLog
   ( tests
diff --git a/cabal-testsuite/cabal-testsuite.cabal b/cabal-testsuite/cabal-testsuite.cabal
index 4e31b87d254cd595969b04cf2dc2fa1da5bd8571..a34368621e8fcc03735fb84afe6201cf310669f0 100644
--- a/cabal-testsuite/cabal-testsuite.cabal
+++ b/cabal-testsuite/cabal-testsuite.cabal
@@ -32,9 +32,9 @@ common shared
 
   ghc-options:
     -Wall
-    -fwarn-tabs
-    -fwarn-incomplete-uni-patterns
-    -fno-warn-unticked-promoted-constructors
+    -Wtabs
+    -Wincomplete-uni-patterns
+    -Wno-unticked-promoted-constructors
 
 
 library
diff --git a/cabal-testsuite/src/Test/Cabal/Plan.hs b/cabal-testsuite/src/Test/Cabal/Plan.hs
index 274f11f83a61e75d5f95fc21669669441ab1d66c..b0b46802f8558a5a7ea5017cca2449254fe31689 100644
--- a/cabal-testsuite/src/Test/Cabal/Plan.hs
+++ b/cabal-testsuite/src/Test/Cabal/Plan.hs
@@ -1,5 +1,5 @@
 {-# LANGUAGE OverloadedStrings #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
+{-# OPTIONS_GHC -Wno-orphans #-}
 -- | Utilities for understanding @plan.json@.
 module Test.Cabal.Plan (
     Plan,
diff --git a/solver-benchmarks/solver-benchmarks.cabal b/solver-benchmarks/solver-benchmarks.cabal
index f2e88add7b9a8a8a9930f08b894f30fdb9490c66..eb0e2e762bed0c8fc50c6be5062de88c3b99c764 100644
--- a/solver-benchmarks/solver-benchmarks.cabal
+++ b/solver-benchmarks/solver-benchmarks.cabal
@@ -23,7 +23,7 @@ source-repository head
   subdir:   solver-benchmarks
 
 library
-  ghc-options: -Wall -fwarn-tabs
+  ghc-options: -Wall -Wtabs
   exposed-modules:
     HackageBenchmark
   build-depends:
@@ -44,7 +44,7 @@ library
 executable hackage-benchmark
   main-is: hackage-benchmark.hs
   hs-source-dirs: main
-  ghc-options: -threaded -Wall -fwarn-tabs
+  ghc-options: -threaded -Wall -Wtabs
   build-depends:
     , base
     , solver-benchmarks
@@ -54,7 +54,7 @@ test-suite unit-tests
   type: exitcode-stdio-1.0
   main-is: HackageBenchmarkTest.hs
   hs-source-dirs: tests
-  ghc-options: -threaded -Wall -fwarn-tabs
+  ghc-options: -threaded -Wall -Wtabs
   build-depends:
     , base
     , solver-benchmarks
diff --git a/templates/Paths_pkg.template.hs b/templates/Paths_pkg.template.hs
index 0f0017868ae3d035791206b6402707e36f7423f9..5a4df3ff703c04c8f1796c38ac876345d64edef5 100644
--- a/templates/Paths_pkg.template.hs
+++ b/templates/Paths_pkg.template.hs
@@ -12,7 +12,7 @@
 {-# OPTIONS_GHC -Wno-prepositive-qualified-module #-}
 #endif
 {% endif %}
-{-# OPTIONS_GHC -fno-warn-missing-import-lists #-}
+{-# OPTIONS_GHC -Wno-missing-import-lists #-}
 {-# OPTIONS_GHC -w #-}
 module Paths_{{ manglePkgName packageName }} (
     version,