diff --git a/parser/parser.h b/parser/parser.h index 986884114..4ab4c5c72 100644 --- a/parser/parser.h +++ b/parser/parser.h @@ -66,10 +66,12 @@ extern int parser_token; #define WARN_FORMAT 0x400 #define WARN_MISSING 0x800 #define WARN_OVERRIDE 0x1000 +#define WARN_INCLUDE 0x2000 #define WARN_DEV (WARN_RULE_NOT_ENFORCED | WARN_RULE_DOWNGRADED | WARN_ABI | \ WARN_DEPRECATED | WARN_DANGEROUS | WARN_UNEXPECTED | \ - WARN_FORMAT | WARN_MISSING | WARN_OVERRIDE | WARN_DEBUG_CACHE) + WARN_FORMAT | WARN_MISSING | WARN_OVERRIDE | \ + WARN_DEBUG_CACHE | WARN_INCLUDE) #define DEFAULT_WARNINGS (WARN_CONFIG | WARN_CACHE | WARN_JOBS | \ WARN_UNEXPECTED | WARN_OVERRIDE) @@ -77,7 +79,8 @@ extern int parser_token; #define WARN_ALL (WARN_RULE_NOT_ENFORCED | WARN_RULE_DOWNGRADED | WARN_ABI | \ WARN_DEPRECATED | WARN_CONFIG | WARN_CACHE | \ WARN_DEBUG_CACHE | WARN_JOBS | WARN_DANGEROUS | \ - WARN_UNEXPECTED | WARN_FORMAT | WARN_MISSING | WARN_OVERRIDE) + WARN_UNEXPECTED | WARN_FORMAT | WARN_MISSING | \ + WARN_OVERRIDE | WARN_INCLUDE) extern dfaflags_t warnflags; extern dfaflags_t werrflags; diff --git a/parser/parser_lex.l b/parser/parser_lex.l index 7d99cc0f2..e02575dae 100644 --- a/parser/parser_lex.l +++ b/parser/parser_lex.l @@ -613,6 +613,7 @@ GT > /* Don't use PUSH() macro here as we don't want #include echoed out. * It needs to be handled specially */ + pwarn(WARN_INCLUDE, _("deprecated use of '#include'\n")); yy_push_state(INCLUDE_EXISTS); } @@ -627,6 +628,7 @@ include{WS}+if{WS}+exists/{WS} { /* Don't use PUSH() macro here as we don't want #include echoed out. * It needs to be handled specially */ + pwarn(WARN_INCLUDE, _("deprecated use of '#include'\n")); yy_push_state(INCLUDE); } diff --git a/parser/parser_main.c b/parser/parser_main.c index 5a6baf1cb..e4f9be8a7 100644 --- a/parser/parser_main.c +++ b/parser/parser_main.c @@ -269,6 +269,7 @@ optflag_table_t warnflag_table[] = { { 1, "missing", "warn when missing qualifier and a default is used", WARN_MISSING }, { 1, "override", "warn when overriding", WARN_OVERRIDE }, { 1, "dev", "turn on warnings that are useful for profile development", WARN_DEV }, + { 1, "pound-include", "warn when #include is used", WARN_INCLUDE }, { 1, "all", "turn on all warnings", WARN_ALL}, { 0, NULL, NULL, 0 }, };