... | @@ -24,18 +24,18 @@ By reusing the GCC CLI convention for warning-flags, we can make GHC's CLI a bit |
... | @@ -24,18 +24,18 @@ By reusing the GCC CLI convention for warning-flags, we can make GHC's CLI a bit |
|
|
|
|
|
**Already implemented in GHC 8.0:**
|
|
**Already implemented in GHC 8.0:**
|
|
|
|
|
|
- ([\#11218](https://gitlab.haskell.org/ghc/ghc/issues/11218)) Keep the current `-f(no-)warn-$WARNTYPE` flags as hidden flag aliases for newly introduced -W(no-)$WARNTYPE\` flags more in line with GCC's conventions, e.g.
|
|
- (#11218) Keep the current `-f(no-)warn-$WARNTYPE` flags as hidden flag aliases for newly introduced -W(no-)$WARNTYPE\` flags more in line with GCC's conventions, e.g.
|
|
|
|
|
|
- `-Worphans` instead of `fwarn-orphans`
|
|
- `-Worphans` instead of `fwarn-orphans`
|
|
- `-Wno-missing-methods` instead of `-fno-warn-missing-methods`
|
|
- `-Wno-missing-methods` instead of `-fno-warn-missing-methods`
|
|
|
|
|
|
This is already done in GHC 8.0.
|
|
This is already done in GHC 8.0.
|
|
|
|
|
|
- ([\#11429](https://gitlab.haskell.org/ghc/ghc/issues/11429)) Make unrecognised `-W` flags a warning (`-Wunrecognised-warning-flags`) rather than an error.
|
|
- (#11429) Make unrecognised `-W` flags a warning (`-Wunrecognised-warning-flags`) rather than an error.
|
|
|
|
|
|
- ([\#11370](https://gitlab.haskell.org/ghc/ghc/issues/11370)) Remove `warn-redundant-constraints` from the default constraint set and the `-Wall` constraint set
|
|
- (#11370) Remove `warn-redundant-constraints` from the default constraint set and the `-Wall` constraint set
|
|
|
|
|
|
- ([\#11451](https://gitlab.haskell.org/ghc/ghc/issues/11451)) Split off `-Wunused-foralls` and `-Wunused-type-patterns` from `-Wunused-matches`. Make `-Wall` imply `-Wunused-foralls` and `-Wunused-type-patterns`, but *not* imply `-Wunused-type-patterns`
|
|
- (#11451) Split off `-Wunused-foralls` and `-Wunused-type-patterns` from `-Wunused-matches`. Make `-Wall` imply `-Wunused-foralls` and `-Wunused-type-patterns`, but *not* imply `-Wunused-type-patterns`
|
|
|
|
|
|
**~~Proposed~~also implemented for GHC 8.0:**
|
|
**~~Proposed~~also implemented for GHC 8.0:**
|
|
|
|
|
... | @@ -44,9 +44,9 @@ By reusing the GCC CLI convention for warning-flags, we can make GHC's CLI a bit |
... | @@ -44,9 +44,9 @@ By reusing the GCC CLI convention for warning-flags, we can make GHC's CLI a bit |
|
- Define set `-Wstandard` (modulo bikeshed, maybe `-Wdefault`?) to denote the set of warnings on by default, together with its negation `-Wno-standard`
|
|
- Define set `-Wstandard` (modulo bikeshed, maybe `-Wdefault`?) to denote the set of warnings on by default, together with its negation `-Wno-standard`
|
|
- Define set `-Weverything` (c.f. clang's [-Weverything](http://clang.llvm.org/docs/UsersManual.html#diagnostics-enable-everything) as precedent) to comprise really \*all\* warnings (together with its negation `-Wno-everything` for symmetry, which is a synonym for `-w`)
|
|
- Define set `-Weverything` (c.f. clang's [-Weverything](http://clang.llvm.org/docs/UsersManual.html#diagnostics-enable-everything) as precedent) to comprise really \*all\* warnings (together with its negation `-Wno-everything` for symmetry, which is a synonym for `-w`)
|
|
- Define set `-Wextra` (modulo bikeshed, maybe `-Wnormal`?) as synonym for `-W`, together with its negation `-Wno-extra`
|
|
- Define set `-Wextra` (modulo bikeshed, maybe `-Wnormal`?) as synonym for `-W`, together with its negation `-Wno-extra`
|
|
- ([\#11000](https://gitlab.haskell.org/ghc/ghc/issues/11000)) Define set `-Wcompat` to denote all warnings about future compatility GHC *currently* knows about (like e.g. `-Wcompat-amp`, `-Wcompat-mfp`, `-Wcompat-mrp`) In addition, have `ghc` provide a way to dump the current warning-sets (in a format that's parseable by humans and machines)
|
|
- (#11000) Define set `-Wcompat` to denote all warnings about future compatility GHC *currently* knows about (like e.g. `-Wcompat-amp`, `-Wcompat-mfp`, `-Wcompat-mrp`) In addition, have `ghc` provide a way to dump the current warning-sets (in a format that's parseable by humans and machines)
|
|
|
|
|
|
- ([\#10752](https://gitlab.haskell.org/ghc/ghc/issues/10752)) When emitting warnings/errors, show which warning flag was responsible,
|
|
- (#10752) When emitting warnings/errors, show which warning flag was responsible,
|
|
e.g.
|
|
e.g.
|
|
|
|
|
|
```wiki
|
|
```wiki
|
... | @@ -60,7 +60,7 @@ By reusing the GCC CLI convention for warning-flags, we can make GHC's CLI a bit |
... | @@ -60,7 +60,7 @@ By reusing the GCC CLI convention for warning-flags, we can make GHC's CLI a bit |
|
**Anytime someone is motivated**
|
|
**Anytime someone is motivated**
|
|
|
|
|
|
|
|
|
|
- ([\#11219](https://gitlab.haskell.org/ghc/ghc/issues/11219)) Introduce variant of `-Werror` (c.f. GCC's `-Werror=*`) which allows to specify the individual warnings to be promoted to errors, e.g.
|
|
- (#11219) Introduce variant of `-Werror` (c.f. GCC's `-Werror=*`) which allows to specify the individual warnings to be promoted to errors, e.g.
|
|
|
|
|
|
- `-Wall -Werror=orphans` would only promote `-Worphans` warnings into errors
|
|
- `-Wall -Werror=orphans` would only promote `-Worphans` warnings into errors
|
|
- `-Wall -Werror -Wno-error=missing-methods` would promote all warnings *except* `-Wmissing-methods` into errors
|
|
- `-Wall -Werror -Wno-error=missing-methods` would promote all warnings *except* `-Wmissing-methods` into errors
|
... | @@ -86,7 +86,7 @@ Here is the proposed warning framework: |
... | @@ -86,7 +86,7 @@ Here is the proposed warning framework: |
|
|
|
|
|
- Libraries on Hackage should not be distributed with `-Werror`, so that any warnings do not abort compilation. Authors may want to use `-Wall` to help encourage other contributors to improve the library to avoid the warning; but `-Wdefault` is more typical usage.
|
|
- Libraries on Hackage should not be distributed with `-Werror`, so that any warnings do not abort compilation. Authors may want to use `-Wall` to help encourage other contributors to improve the library to avoid the warning; but `-Wdefault` is more typical usage.
|
|
|
|
|
|
### To `-Wcompat` ⊂ `-Wall`, or not? ([\#11494](https://gitlab.haskell.org/ghc/ghc/issues/11494))
|
|
### To `-Wcompat` ⊂ `-Wall`, or not? (#11494)
|
|
|
|
|
|
|
|
|
|
See [Design/Warnings/Wcompat](design/warnings/wcompat). |
|
See [Design/Warnings/Wcompat](design/warnings/wcompat). |