I want to compile the following file (temp.cpp):
#include
class Foo {
public:
Foo() = default;
};
int main(){
std::cout << \"Wo
Actually, you probably do not want all the warnings, because a number of warnings can be considered as being stylistic or subjective and others (such as the one you ran afoul of) are just stupid in your situation.
-Weverything
was initially built for two reasons:
-Weverything
you cherry pick those you do not wish to apply; the advantage is that when moving over to a new version of the compiler, you are more likely to benefit from new warningsObviously, discovery is not really compatible with production use; therefore you seem to fall in the black-listing case.
Clang diagnostics system will output (by default) the name of the most specific warning group that is responsible for generating a warning (here -Wc++98-compat
) and each warning group can be turned off by adding no-
right after the -W
.
Therefore, for blacklisting, you get:
-Weverything -Wno-c++98-compat -Wno-...
And you are encouraged to revise the list of blacklisted warnings from time to time (for example, when you upgrade to a newer compiler).