From 4256d1812062d566163e5797c75e4ede57669a7e Mon Sep 17 00:00:00 2001 From: Benjamin Barenblat Date: Mon, 30 Jul 2018 16:42:15 -0400 Subject: Enable `-Werror` and a reasonable set of warnings Instead of using `-Weverything` and turning warnings off as they become problematic, enable `-Werror` and turn on a specific set of warnings judged to have high signal-to-noise ratio. Fix up all instances of those warnings in the code. These warnings are all available in GHC 8.0.1, which is the default in the current Debian (Debian 9). --- btls.cabal | 61 ++++++++++++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 50 insertions(+), 11 deletions(-) (limited to 'btls.cabal') diff --git a/btls.cabal b/btls.cabal index d554a89..9b87874 100644 --- a/btls.cabal +++ b/btls.cabal @@ -41,11 +41,31 @@ library default-language: Haskell2010 build-tools: c2hs include-dirs: third_party/boringssl/src/include - ghc-options: -Weverything - -Wno-all-missed-specialisations - -Wno-implicit-prelude - -Wno-missing-import-lists - -Wno-safe -Wno-unsafe + ghc-options: -Werror + -w + -Wderiving-typeable + -Wduplicate-exports + -Widentities + -Wincomplete-patterns + -Wincomplete-record-updates + -Wincomplete-uni-patterns + -Wmissing-fields + -Wmissing-methods + -Wmissing-monadfail-instances + -Wnoncanonical-monad-instances + -Wnoncanonical-monadfail-instances + -Wnoncanonical-monoid-instances + -Woverlapping-patterns + -Wredundant-constraints + -Wsemigroup + -Wtabs + -Wunused-binds + -Wunused-do-bind + -Wunused-foralls + -Wunused-imports + -Wunused-matches + -Wunused-type-variables + -Wwrong-do-bind -optl-Wl,-z,relro -optl-Wl,-z,now -optl-Wl,-s exposed-modules: Data.Digest , Data.HMAC @@ -70,12 +90,31 @@ test-suite tests hs-source-dirs: tests default-language: Haskell2010 other-extensions: OverloadedStrings - ghc-options: -Weverything - -Wno-all-missed-specialisations - -Wno-implicit-prelude - -Wno-missing-import-lists - -Wno-missing-signatures - -Wno-safe -Wno-unsafe + ghc-options: -Werror + -w + -Wderiving-typeable + -Wduplicate-exports + -Widentities + -Wincomplete-patterns + -Wincomplete-record-updates + -Wincomplete-uni-patterns + -Wmissing-fields + -Wmissing-methods + -Wmissing-monadfail-instances + -Wnoncanonical-monad-instances + -Wnoncanonical-monadfail-instances + -Wnoncanonical-monoid-instances + -Woverlapping-patterns + -Wredundant-constraints + -Wsemigroup + -Wtabs + -Wunused-binds + -Wunused-do-bind + -Wunused-foralls + -Wunused-imports + -Wunused-matches + -Wunused-type-variables + -Wwrong-do-bind -optl-Wl,-z,relro -optl-Wl,-z,now -optl-Wl,-s main-is: Tests.hs other-modules: Data.DigestTests -- cgit v1.2.3