Recommended warning flags at O2 optimization level in gcc-4.8.1

I recently migrated from gcc-4.2.4 to gcc-4.8.1. What are the recommended gcc alert options at the O2 optimization level in gcc-4.8.1?

I used the following warning flags in gcc-4.2.4: -Wall -Wno-parentheses -Wpointer-arith -Wcast-align -Wsign-compare -Wnon-virtual-dtor -Wnon-template-friend -Woverloaded-virtual -Wsign- promo

+3
source share
2 answers

The agreement I am promoting is:

-Wall -Wextra -pedantic

Visit the GCC documentation to see which flags are enabled.

+3
source

Depends on the goal you want to create. For ubuntu, I would do:

CWARN   =-Wall -Wextra -Wattributes -Wbuiltin-macro-redefined -Wcast-align -Wconversion -Wdeclaration-after-statement    \
         -Wdiv-by-zero -Wdouble-promotion -Wenum-compare -Wfloat-equal -Wimplicit-int -Winit-self -Wint-to-pointer-cast  \
         -Wjump-misses-init -Wlogical-op -Wmissing-braces -Wmissing-field-initializers -Wmissing-parameter-type          \
         -Woverflow -Wpointer-arith -Wpointer-sign -Wpointer-to-int-cast -Wredundant-decls -Wreturn-type -Wshadow        \
         -Wsign-compare -Wtype-limits -Wuninitialized -Wwrite-strings \
         -Wno-unused-parameter -Wno-multichar -Wno-strict-aliasing
CXXWARN =-Wall -Wextra -Wattributes -Wbuiltin-macro-redefined -Wc++0x-compat -Wcast-align -Wconversion -Wdiv-by-zero     \
         -Wdouble-promotion -Wenum-compare -Wfloat-equal -Winit-self -Wint-to-pointer-cast -Wlogical-op -Wmissing-braces \
         -Wmissing-field-initializers -Woverflow -Wpointer-arith -Wredundant-decls -Wreturn-type -Wshadow -Wsign-compare \
         -Wsign-promo -Wtype-limits -Wuninitialized -Wwrite-strings \
         -Wno-unused-parameter -Wno-multichar -Wno-strict-aliasing

For self-development of the kernel, I:

CWARN    =-Wall -Wextra -Wattributes -Wbuiltin-macro-redefined -Wcast-align -Wconversion         \\
          -Wdiv-by-zero -Wdouble-promotion -Wenum-compare -Wfloat-equal -Winit-self              \\
          -Wint-to-pointer-cast -Wlogical-op -Wmissing-braces -Wmissing-field-initializers       \\
          -Woverflow -Wpointer-arith -Wredundant-decls -Wreturn-type -Wshadow -Wsign-compare     \\
          -Wtype-limits -Wuninitialized -Wwrite-strings                                          \\
          -Wno-unused-parameter -Wno-unused-variable -Wno-multichar -Wno-unused-but-set-variable \\
          -Wdeclaration-after-statement -Wimplicit-int -Wjump-misses-init -Wpointer-sign         \\
          -Wpointer-to-int-cast -Wmissing-parameter-type
CXXWARN  =-Wall -Wextra -Wattributes -Wbuiltin-macro-redefined -Wcast-align -Wconversion         \\
          -Wdiv-by-zero -Wdouble-promotion -Wenum-compare -Wfloat-equal -Winit-self              \\
          -Wint-to-pointer-cast -Wlogical-op -Wmissing-braces -Wmissing-field-initializers       \\
          -Woverflow -Wpointer-arith -Wredundant-decls -Wreturn-type -Wshadow -Wsign-compare     \\
          -Wtype-limits -Wuninitialized -Wwrite-strings                                          \\
          -Wno-unused-parameter -Wno-unused-variable -Wno-multichar -Wno-unused-but-set-variable \\
          -Wc++0x-compat  -Wsign-promo

-Wextra , , , .

android iOS , .

, , overkill , , , .

+2

All Articles