[docs] document -Weveything more betterer

Reviewers: aaron.ballman

Subscribers: jkorous, dexonsmith, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D65706

llvm-svn: 367889
This commit is contained in:
JF Bastien 2019-08-05 16:53:45 +00:00
parent bb7ad98a47
commit df22ff103c
1 changed files with 17 additions and 6 deletions

View File

@ -992,13 +992,24 @@ is treated as a system header.
Enabling All Diagnostics
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
In addition to the traditional ``-W`` flags, one can enable **all**
diagnostics by passing :option:`-Weverything`. This works as expected
with
:option:`-Werror`, and also includes the warnings from :option:`-pedantic`.
In addition to the traditional ``-W`` flags, one can enable **all** diagnostics
by passing :option:`-Weverything`. This works as expected with
:option:`-Werror`, and also includes the warnings from :option:`-pedantic`. Some
diagnostics contradict each other, therefore, users of :option:`-Weverything`
often disable many diagnostics such as :option:`-Wno-c++98-compat`
:option:`-Wno-c++-compat` because they contradict recent C++ standards.
Note that when combined with :option:`-w` (which disables all warnings), that
flag wins.
Since :option:`-Weverything` enables every diagnostic, we generally don't
recommend using it. :option:`-Wall` :option:`-Wextra` are a better choice for
most projects. Using :option:`-Weverything` means that updating your compiler is
more difficult because you're exposed to experimental diagnostics which might be
of lower quality than the default ones. If you do use :option:`-Weverything`
then we advise that you address all new compiler diagnostics as they get added
to Clang, either by fixing everything they find or explicitly disabling that
diagnostic with its corresponding `Wno-` option.
Note that when combined with :option:`-w` (which disables all warnings),
disabling all warnings wins.
Controlling Static Analyzer Diagnostics
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^