C:\QtSDK1.2.1\mingw\bin>g++ --help=warnings The following options control compiler warning messages: -Wabi Warn about things that will change when compiling with an ABI-compliant compiler -Waddress Warn about suspicious uses of memory addresses -Waggregate-return Warn about returning structures, unions or arrays -Waliasing Warn about possible aliasing of dummy arguments -Walign-commons Warn about alignment of COMMON blocks -Wall Enable most warning messages -Wampersand Warn about missing ampersand in continued character constants -Warray-bounds Warn if an array is accessed out of bounds -Warray-temporaries Warn about creation of array temporaries -Wassign-intercept Warn whenever an Objective-C assignment is being intercepted by the garbage collector -Wattributes Warn about inappropriate attribute usage -Wbad-function-cast Warn about casting functions to incompatible types -Wbuiltin-macro-redefined Warn when a built-in preprocessor macro is undefined or redefined -Wc++-compat Warn about C constructs that are not in the common subset of C and C++ -Wc++0x-compat Warn about C++ constructs whose meaning differs between ISO C++ 1998 and ISO C++ 200x -Wcast-align Warn about pointer casts which increase alignment -Wcast-qual Warn about casts which discard qualifiers -Wchar-subscripts Warn about subscripts whose type is "char" -Wcharacter-truncation Warn about truncated character expressions -Wclobbered Warn about variables that might be changed by "longjmp" or "vfork" -Wcomment Warn about possibly nested block comments, and C++ comments spanning more than one physical line -Wcomments Synonym for -Wcomment -Wconversion Warn for implicit type conversions that may change a value -Wcoverage-mismatch Warn instead of error in case profiles in -fprofile-use do not match -Wctor-dtor-privacy Warn when all constructors and destructors are private -Wdeclaration-after-statement Warn when a declaration is found after a statement -Wdeprecated Warn if a deprecated compiler feature, class, method, or field is used -Wdeprecated-declarations Warn about uses of __attribute__((deprecated)) declarations -Wdisabled-optimization Warn when an optimization pass is disabled -Wdiv-by-zero Warn about compile-time integer division by zero -Weffc++ Warn about violations of Effective C++ style rules -Wempty-body Warn about an empty body in an if or else statement -Wendif-labels Warn about stray tokens after #elif and #endif -Wenum-compare Warn about comparison of different enum types -Werror-implicit-function-declaration This switch is deprecated; use -Werror=implicit-function-declaration instead -Wextra Print extra (possibly unwanted) warnings -Wfloat-equal Warn if testing floating point numbers for equality -Wformat Warn about printf/scanf/strftime/strfmon format string anomalies -Wformat-contains-nul Warn about format strings that contain NUL bytes -Wformat-extra-args Warn if passing too many arguments to a function for its format string -Wformat-nonliteral Warn about format strings that are not literals -Wformat-security Warn about possible security problems with format functions -Wformat-y2k Warn about strftime formats yielding 2-digit years -Wformat-zero-length Warn about zero-length formats -Wformat= -Wignored-qualifiers Warn whenever type qualifiers are ignored. -Wimplicit -Wimplicit-function-declaration Warn about implicit function declarations -Wimplicit-int Warn when a declaration does not specify a type -Wimplicit-interface Warn about calls with implicit interface -Winit-self Warn about variables which are initialized to themselves -Winline Warn when an inlined function cannot be inlined -Wint-to-pointer-cast Warn when there is a cast to a pointer from an integer of a different size -Wintrinsic-shadow Warn if a user-procedure has the same name as an intrinsic -Wintrinsics-std Warn on intrinsics not part of the selected standard -Winvalid-offsetof Warn about invalid uses of the "offsetof" macro -Winvalid-pch Warn about PCH files that are found but not used -Wlarger-than- -Wlarger-than=<number> Warn if an object is larger than <number> bytes -Wline-truncation Warn about truncated source lines -Wlogical-op Warn when a logical operator is suspicously always evaluating to true or false -Wlong-long Do not warn about using "long long" when -pedantic -Wmain Warn about suspicious declarations of "main" -Wmissing-braces Warn about possibly missing braces around initializers -Wmissing-declarations Warn about global functions without previous declarations -Wmissing-field-initializers Warn about missing fields in struct initializers -Wmissing-format-attribute Warn about functions which might be candidates for format attributes -Wmissing-include-dirs Warn about user-specified include directories that do not exist -Wmissing-noreturn Warn about functions which might be candidates for __attribute__((noreturn)) -Wmissing-parameter-type Warn about function parameters declared without a type specifier in K&R-style functions -Wmissing-prototypes Warn about global functions without prototypes -Wmudflap Warn about constructs not instrumented by -fmudflap -Wmultichar Warn about use of multi-character character constants -Wnested-externs Warn about "extern" declarations not at file scope -Wnon-template-friend Warn when non-templatized friend functions are declared within a template -Wnon-virtual-dtor Warn about non-virtual destructors -Wnonnull Warn about NULL being passed to argument slots marked as requiring non-NULL -Wnormalized=<id|nfc|nfkc> Warn about non-normalised Unicode strings -Wold-style-cast Warn if a C-style cast is used in a program -Wold-style-declaration Warn for obsolescent usage in a declaration -Wold-style-definition Warn if an old-style parameter definition is used -Woverflow Warn about overflow in arithmetic expressions -Woverlength-strings Warn if a string is longer than the maximum portable length specified by the standard -Woverloaded-virtual Warn about overloaded virtual function names -Woverride-init Warn about overriding initializers without side effects -Wpacked Warn when the packed attribute has no effect on struct layout -Wpacked-bitfield-compat Warn about packed bit-fields whose offset changed in GCC 4.4 -Wpadded Warn when padding is required to align structure members -Wparentheses Warn about possibly missing parentheses -Wpedantic-ms-format Warn about none ISO msvcrt scanf/printf width extensions -Wpmf-conversions Warn when converting the type of pointers to member functions -Wpointer-arith Warn about function pointer arithmetic -Wpointer-sign Warn when a pointer differs in signedness in an assignment -Wpointer-to-int-cast Warn when a pointer is cast to an integer of a different size -Wpragmas Warn about misuses of pragmas -Wprotocol Warn if inherited methods are unimplemented -Wredundant-decls Warn about multiple declarations of the same object -Wreorder Warn when the compiler reorders code -Wreturn-type Warn whenever a function's return type defaults to "int" (C), or about inconsistent return types (C++) -Wselector Warn if a selector has multiple methods -Wsequence-point Warn about possible violations of sequence point rules -Wshadow Warn when one local variable shadows another -Wsign-compare Warn about signed-unsigned comparisons -Wsign-promo Warn when overload promotes from unsigned to signed -Wstack-protector Warn when not issuing stack smashing protection for some reason -Wstrict-aliasing Warn about code which might break strict aliasing rules -Wstrict-aliasing= Warn about code which might break strict aliasing rules -Wstrict-null-sentinel Warn about uncasted NULL used as sentinel -Wstrict-overflow Warn about optimizations that assume that signed overflow is undefined -Wstrict-overflow= Warn about optimizations that assume that signed overflow is undefined -Wstrict-prototypes Warn about unprototyped function declarations -Wstrict-selector-match Warn if type signatures of candidate methods do not match exactly -Wsurprising Warn about "suspicious" constructs -Wswitch Warn about enumerated switches, with no default, missing a case -Wswitch-default Warn about enumerated switches missing a "default:" statement -Wswitch-enum Warn about all enumerated switches missing a specific case -Wsync-nand Warn when __sync_fetch_and_nand and __sync_nand_and_fetch built-in functions are used -Wsynth Deprecated. This switch has no effect -Wsystem-headers Do not suppress warnings from system headers -Wtabs Permit nonconforming uses of the tab character -Wtraditional Warn about features not present in traditional C -Wtraditional-conversion Warn of prototypes causing type conversions different from what would happen in the absence of prototype -Wtrigraphs Warn if trigraphs are encountered that might affect the meaning of the program -Wtype-limits Warn if a comparison is always true or always false due to the limited range of the data type -Wundeclared-selector Warn about @selector()s without previously declared methods -Wundef Warn if an undefined macro is used in an #if directive -Wunderflow Warn about underflow of numerical constant expressions -Wuninitialized Warn about uninitialized automatic variables -Wunknown-pragmas Warn about unrecognized pragmas -Wunreachable-code Warn about code that will never be executed -Wunsafe-loop-optimizations Warn if the loop cannot be optimized due to nontrivial assumptions. -Wunused Enable all -Wunused- warnings -Wunused-function Warn when a function is unused -Wunused-label Warn when a label is unused -Wunused-macros Warn about macros defined in the main file that are not used -Wunused-parameter Warn when a function parameter is unused -Wunused-value Warn when an expression value is unused -Wunused-variable Warn when a variable is unused -Wvariadic-macros Do not warn about using variadic macros when -pedantic -Wvla Warn if a variable length array is used -Wvolatile-register-var Warn when a register variable is declared volatile -Wwrite-strings In C++, nonzero means warn about deprecated conversion from string literals to `char *'. In C, similar warning, except that the conversion is of course not deprecated by the ISO C standard.