X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=warning.h;h=f1eafb717a0f98589e9eb316264d53c20280ba9c;hb=1e7458bc3eba2e714c913fa35aa397d54ed99a42;hp=ca72709c37759174e03894c111277e1094225b38;hpb=afb476e0d11276b63ca7dfd429f8b2fdd53797b1;p=cparser diff --git a/warning.h b/warning.h index ca72709..f1eafb7 100644 --- a/warning.h +++ b/warning.h @@ -19,6 +19,9 @@ typedef struct warning_t { bool declaration_after_statement:1; /* Warn when a declaration is found after a statement in a block */ bool deprecated_declarations:1; /* Warn about uses of functions, variables and types marked as deprecated by using the 'deprecated' attribute */ bool div_by_zero:1; /* Warn about compile-time integer division by zero */ +#endif + bool empty_statement:1; /* Warn about empty statements, i.e. lone ';' */ +#if 0 // TODO bool endif_labels:1; /* Warn whenever an '#else' or an '#endif' are followed by text */ #endif bool fatal_errors:1; /* First error stops the compilation */ @@ -37,7 +40,9 @@ typedef struct warning_t { #if 0 // TODO bool missing_format_attribute:1; /* If '-Wformat' is enabled, also warn about functions which might be candidates for 'format' attributes */ bool missing_noreturn:1; /* Warn about functions which might be candidates for attribute 'noreturn' */ +#endif bool missing_prototypes:1; /* Warn if a global function is defined without a previous prototype declaration */ +#if 0 // TODO bool multichar:1; /* Warn if a multicharacter constant ('FOOF') is used. */ bool nested_externs:1; /* Warn if an 'extern' declaration is encountered within a function */ bool packed:1; /* Warn if a structure is given the packed attribute, but the packed attribute has no effect on the layout or size of the structure */ @@ -57,19 +62,23 @@ typedef struct warning_t { 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 */ -#if 0 // TODO 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. */ - bool unknown_pragmas:1; /* Warn when a #pragma directive is encountered which is not understood by GCC */ +#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 */ 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_variable:1; /* Warn whenever a local variable or non-constant static variable is unused aside from its declaration */ +#endif bool unused_value:1; /* Warn whenever a statement computes a result that is explicitly not used */ +#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 */ #endif } warning_t;