1
0
mirror of https://github.com/cc65/cc65.git synced 2024-06-29 10:29:30 +00:00

Allow to disable the "Result of comparison is constant" warning.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4883 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
uz 2010-11-28 21:16:46 +00:00
parent e907b57e9c
commit 3f5b2a8fbd
4 changed files with 20 additions and 13 deletions

View File

@ -469,10 +469,14 @@ Here is a description of all the command line options:
The following warning names are currently recognized:
<descrip>
<tag><tt/const-comparison/</tag>
Warn if the result of a comparison is constant.
<tag><tt/error/</tag>
Treat all warnings as errors.
<tag><tt/no-effect/</tag>
Warn about statements that don't have an effect.
<tag><tt/struct-param/</tag>
Warn when passing structs by value.
<tag><tt/unknown-pragma/</tag>
Warn about known #pragmas.
<tag><tt/unused-label/</tag>

View File

@ -64,12 +64,13 @@ unsigned WarningCount = 0;
IntStack WarnEnable = INTSTACK(1); /* Enable warnings */
IntStack WarningsAreErrors = INTSTACK(0); /* Treat warnings as errors */
/* Warn about: */
IntStack WarnNoEffect = INTSTACK(1); /* ... statements without an effect */
IntStack WarnStructParam = INTSTACK(1); /* ... structs passed by val */
IntStack WarnUnusedLabel = INTSTACK(1); /* ... unused labels */
IntStack WarnUnusedParam = INTSTACK(1); /* ... unused parameters */
IntStack WarnUnusedVar = INTSTACK(1); /* ... unused variables */
IntStack WarnUnknownPragma = INTSTACK(1); /* ... unknown #pragmas */
IntStack WarnConstComparison= INTSTACK(1); /* - constant comparison results */
IntStack WarnNoEffect = INTSTACK(1); /* - statements without an effect */
IntStack WarnStructParam = INTSTACK(1); /* - structs passed by val */
IntStack WarnUnusedLabel = INTSTACK(1); /* - unused labels */
IntStack WarnUnusedParam = INTSTACK(1); /* - unused parameters */
IntStack WarnUnusedVar = INTSTACK(1); /* - unused variables */
IntStack WarnUnknownPragma = INTSTACK(1); /* - unknown #pragmas */
/* Map the name of a warning to the intstack that holds its state */
typedef struct WarnMapEntry WarnMapEntry;
@ -80,6 +81,7 @@ struct WarnMapEntry {
static WarnMapEntry WarnMap[] = {
/* Keep sorted, even if this isn't used for now */
{ &WarningsAreErrors, "error" },
{ &WarnConstComparison, "const-comparison" },
{ &WarnNoEffect, "no-effect" },
{ &WarnStructParam, "struct-param" },
{ &WarnUnknownPragma, "unknown-pragma" },

View File

@ -61,12 +61,13 @@ extern unsigned WarningCount;
extern IntStack WarnEnable; /* Enable warnings */
extern IntStack WarningsAreErrors; /* Treat warnings as errors */
/* Warn about: */
extern IntStack WarnNoEffect; /* ... statements without an effect */
extern IntStack WarnStructParam; /* ... structs passed by val */
extern IntStack WarnUnusedLabel; /* ... unused labels */
extern IntStack WarnUnusedParam; /* ... unused parameters */
extern IntStack WarnUnusedVar; /* ... unused variables */
extern IntStack WarnUnknownPragma; /* ... unknown #pragmas */
extern IntStack WarnConstComparison; /* - constant comparison results */
extern IntStack WarnNoEffect; /* - statements without an effect */
extern IntStack WarnStructParam; /* - structs passed by val */
extern IntStack WarnUnusedLabel; /* - unused labels */
extern IntStack WarnUnusedParam; /* - unused parameters */
extern IntStack WarnUnusedVar; /* - unused variables */
extern IntStack WarnUnknownPragma; /* - unknown #pragmas */

View File

@ -261,7 +261,7 @@ static void WarnConstCompareResult (void)
* preprocessor mode.
*/
{
if (!Preprocessing) {
if (!Preprocessing && IS_Get (&WarnConstComparison) != 0) {
Warning ("Result of comparison is constant");
}
}