aboutsummaryrefslogtreecommitdiff
path: root/gcc/c-decl.c
diff options
context:
space:
mode:
authorNick Clifton <nickc@cygnus.com>1997-12-21 08:24:48 -0700
committerJeff Law <law@gcc.gnu.org>1997-12-21 08:24:48 -0700
commitd300e55140f3d2b7c72b6e2c54aa8117508a278e (patch)
tree0b8fadd5175f1003cd62fe44249ac0f84a09d3d4 /gcc/c-decl.c
parentf9fc59e8c7d867eed481ec74433c8e582f95ce39 (diff)
downloadgcc-d300e55140f3d2b7c72b6e2c54aa8117508a278e.zip
gcc-d300e55140f3d2b7c72b6e2c54aa8117508a278e.tar.gz
gcc-d300e55140f3d2b7c72b6e2c54aa8117508a278e.tar.bz2
c-pragma.c (handle_pragma_token): Generate warning messages about unknown pragmas if warn_unknown_pragmas is set.
* c-pragma.c (handle_pragma_token): Generate warning messages about unknown pragmas if warn_unknown_pragmas is set. * c-decl.c (c_decode_option): Parse -Wunknown-pragmas command line option to set variable: warn_unknown_pragmas. From-SVN: r17168
Diffstat (limited to 'gcc/c-decl.c')
-rw-r--r--gcc/c-decl.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/gcc/c-decl.c b/gcc/c-decl.c
index 895ce36..0bc292a 100644
--- a/gcc/c-decl.c
+++ b/gcc/c-decl.c
@@ -558,6 +558,10 @@ int warn_missing_braces;
int warn_main;
+/* Warn about #pragma directives that are not recognised. */
+
+int warn_unknown_pragmas = 0; /* Tri state variable. */
+
/* Warn about comparison of signed and unsigned values.
If -1, neither -Wsign-compare nor -Wno-sign-compare has been specified. */
@@ -763,6 +767,12 @@ c_decode_option (p)
warn_sign_compare = 1;
else if (!strcmp (p, "-Wno-sign-compare"))
warn_sign_compare = 0;
+ else if (!strcmp (p, "-Wunknown-pragmas"))
+ /* Set to greater than 1, so that even unknown pragmas in system
+ headers will be warned about. */
+ warn_unknown_pragmas = 2;
+ else if (!strcmp (p, "-Wno-unknown-pragmas"))
+ warn_unknown_pragmas = 0;
else if (!strcmp (p, "-Wall"))
{
/* We save the value of warn_uninitialized, since if they put
@@ -782,6 +792,8 @@ c_decode_option (p)
/* We set this to 2 here, but 1 in -Wmain, so -ffreestanding can turn
it off only if it's not explicit. */
warn_main = 2;
+ /* Only warn about unknown pragmas that are not in system headers. */
+ warn_unknown_pragmas = 1;
}
else
return 0;