X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=warning.h;h=4bacbb578813afdaf1def07f277afa697b97f1be;hb=9d5d648529676b3d0f51d635109d5fcf6c7bf719;hp=df36717a48bb3e325043b0937398c50a2d7b3c1a;hpb=cb8b95b76db65ff3652a72f2b7b282ff1eae37dd;p=cparser diff --git a/warning.h b/warning.h index df36717..4bacbb5 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 */ @@ -30,14 +33,18 @@ typedef struct warning_t { #if 0 // TODO bool inline:1; /* Warn if a function can not be inlined and it was declared as inline */ bool long_long:1; /* Warn if 'long long' type is used */ +#endif bool main:1; /* Warn if the type of 'main' is suspicious */ +#if 0 // TODO bool missing_braces:1; /* Warn if an aggregate or union initializer is not fully bracketed */ #endif bool missing_declarations:1; /* Warn if a global function is defined without a previous declaration */ #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,13 +64,15 @@ 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 */