+ bool strict_aliasing:1; /**< Warn about code which might break the strict aliasing rules that the compiler is using for optimization. */
+#endif
+ bool strict_prototypes:1; /**< Warn if a function declaration has an unspecified parameter list */
+ bool switch_default:1; /**< Warn whenever a 'switch' statement does not have a 'default' case */
+#if 0 // TODO
+ bool switch_enum:1; /**< Warn about 'switch' statements with an enum as index type and missing case labels or case labels outside the enum range TODO has an alias -Wswitch? */
+ bool traditional:1; /**< Warn about certain constructs that behave differently in traditional and ISO C */
+ bool undef:1; /**< Warn if an undefined identifier is evaluated in an '#if' directive */
+ bool uninitialized:1; /**< Warn if an automatic variable is used without being initialized or if a variable may be clobbered by a 'setjmp' call. */
+#endif
+ bool unknown_pragmas:1; /**< Warn when a #pragma directive is encountered which is not understood */
+#if 0 // TODO
+ bool unreachable_code:1; /**< Warn if the compiler detects that code will never be executed */
+#endif
+ bool unused_function:1; /**< Warn whenever a static function is declared but not defined or a non-inline static function is unused */
+ bool unused_label:1; /**< Warn whenever a label is declared but not used */
+ bool unused_parameter:1; /**< Warn whenever a function parameter is unused aside from its declaration */
+ bool unused_value:1; /**< Warn whenever a statement computes a result that is explicitly not used */
+ bool unused_variable:1; /**< Warn whenever a local variable or non-constant static variable is unused aside from its declaration */
+#if 0 // TODO
+ bool write_strings:1; /**< Give string constants the type 'const char[LENGTH]' so that copying the address of one into a 'char *' pointer will get a warning */