summaryrefslogtreecommitdiff
path: root/gcc/toplev.c
diff options
context:
space:
mode:
authorAndrew Cagney <ac131313@redhat.com>2002-03-23 16:33:44 +0000
committerAndrew Cagney <cagney@gcc.gnu.org>2002-03-23 16:33:44 +0000
commitd6961341dd0ef37d0c292d25f7e428a42e22b0c0 (patch)
tree40bde56f3c0f0b034afa8251d7b684434a00dddd /gcc/toplev.c
parentc677cd7f47af8d4c2ebc387e4a1d49321bb660a6 (diff)
downloadgcc-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.c11
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,