Reputation: 5575
I want to change the behavior of warnings and errors for my g++ compiler:
-Werror
)-Wall
and -Wextra
)But my problem is that this way, all and extra warning are made errors. Is there a way to achieve what I want without needing to set a long list at -Werror=xxx,xxx,xxx
.
Is there some kind of alias for set of errors?
Upvotes: 21
Views: 26972
Reputation: 129524
If you just give -Werror
all warnings become errors. Aside from listing the ones you (don't) want to make into errors as -W(no-)error=xxx
, I don't believe there is a way to "make some warnings into errors".
Of course, one solution might be to compile the code twice - once with -Wall
and -Wextra
, and once with -Werror
, but not -Wall
and -Wextra
.
In the long term, I'm sure it will be worth the extra effort of marking which errors you (don't) want -Werror
to see as errors [although I'd say the better solution is probably to use -Wno-xxx, to disable any warnings that you deem acceptable, as opposed to "warn but don't make it an error" - after all, the purpose of -Werror
in my view is to prevent code from being submitted to a project with warnings in it - and that should mean one of two things: the warning is fixed, or the warning is disabled. Whichever makes sense for that project].
Upvotes: 26
Reputation: 15089
Rather than using -Werror=...
with a long list of warnings you can use -Werror -Wno-error=...
with a much shorter list of warnings (only the ones enabled by -Wall -Wextra
). The manual lists which warnings are enabled by -Wall -Wextra
so it's a no-brainer.
Upvotes: 6