diff options
author | Andrew Cagney <ac131313@redhat.com> | 2002-03-23 16:33:44 +0000 |
---|---|---|
committer | Andrew Cagney <cagney@gcc.gnu.org> | 2002-03-23 16:33:44 +0000 |
commit | d6961341dd0ef37d0c292d25f7e428a42e22b0c0 (patch) | |
tree | 40bde56f3c0f0b034afa8251d7b684434a00dddd /gcc/toplev.c | |
parent | c677cd7f47af8d4c2ebc387e4a1d49321bb660a6 (diff) | |
download | gcc-d6961341dd0ef37d0c292d25f7e428a42e22b0c0.tar.gz |
[multiple changes]
2002-03-23 Andrew Cagney <ac131313@redhat.com>
* doc/invoke.texi (Option Summary): Mention -Wswitch-default.
(Warning Options): Document -Wswitch-default.
* toplev.c (W_options): Add -Wswitch-default. Update comment on
-Wswitch.
(warn_switch_default): Define variable.
(warn_switch): Update comment.
* flags.h (warn_switch_default): Declare variable.
(warn_switch): Update comment.
* stmt.c (expand_end_case): Check for and, when
warn_switch_no_default, warn of a missing default case.
Index: f/ChangeLog
Sat Mar 23 11:18:17 2002 Andrew Cagney <ac131313@redhat.com>
* invoke.texi (Warning Options): Mention -Wswitch-default.
Index: testsuite/ChangeLog
2002-03-23 Andrew Cagney <ac131313@redhat.com>
* gcc.dg/Wswitch-default.c: New test.
From-SVN: r51238
Diffstat (limited to 'gcc/toplev.c')
-rw-r--r-- | gcc/toplev.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/gcc/toplev.c b/gcc/toplev.c index ca26e7feb17..d09f58c0fac 100644 --- a/gcc/toplev.c +++ b/gcc/toplev.c @@ -1395,10 +1395,15 @@ int warn_uninitialized; int warn_shadow; -/* Warn if a switch on an enum fails to have a case for every enum value. */ +/* Warn if a switch on an enum, that does not have a default case, + fails to have a case for every enum value. */ int warn_switch; +/* Warn if a switch does not have a default case. */ + +int warn_switch_default; + /* Nonzero means warn about function definitions that default the return type or that use a null return and have a return-type other than void. */ @@ -1468,7 +1473,9 @@ static const lang_independent_options W_options[] = {"shadow", &warn_shadow, 1, N_("Warn when one local variable shadows another") }, {"switch", &warn_switch, 1, - N_("Warn about enumerated switches missing a specific case") }, + N_("Warn about enumerated switches, with no default, missing a case") }, + {"switch-default", &warn_switch_default, 1, + N_("Warn about enumerated switches missing a default case") }, {"aggregate-return", &warn_aggregate_return, 1, N_("Warn about returning structures, unions or arrays") }, {"cast-align", &warn_cast_align, 1, |