En general habilito todas las advertencias y luego quito aquellas banderas selectivamente que dan salidas inútiles. En uno de mis proyectos, utilizo el siguiente C y advertencias C++:
-pedantic
-Wall
-Wextra
-Wformat=2
-Wmissing-include-dirs
-Wswitch-default
-Wswitch-enum
-Wunused
-Wstrict-aliasing=1
-Wfloat-equal
-Wundef
-Wunsafe-loop-optimizations
-Wpointer-arith
-Wcast-qual
-Wcast-align
-Wwrite-strings
-Wconversion
-Wmissing-format-attribute
-Wpacked
-Wredundant-decls
-Winvalid-pch
-Wvolatile-register-var
-Wsync-nand
-Wsign-conversion
-Wlogical-op
-Wmissing-declarations
-Wmissing-noreturn
-Wstrict-overflow=5
-Wstack-protector
Además, utilizo los siguientes C banderas ++:
-std=c++98
-Wnon-virtual-dtor
-Wctor-dtor-privacy
-Wstrict-null-sentinel
-Woverloaded-virtual
-Wsign-promo
Además, para la versión de lanzamiento habilito la siguiente advertencias:
-pedantic-errors
-Werror
-Wuninitialized
-Winit-self
-Wdisabled-optimization
me resulta bastante molesto que -Wall
permite sólo el mínimo absoluto de advertencias en lugar de "todos", como su nombre indica.
quizá de verificación de la documentación? – asveikau
Duplicado de http://stackoverflow.com/questions/399850/best-compiler- warning-level-for-c-c-compilers. – EmeryBerger
Lo extrañé, lo siento. – peoro