summaryrefslogtreecommitdiff
path: root/lib-src
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2015-09-16 14:40:53 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2015-09-16 15:07:23 -0700
commit8865587c55f251ac624e6730505de66d15b28562 (patch)
treec9cb82c4a99d98df45ec5531c9d97338792c2680 /lib-src
parent82198ed57e3059f0526658608fd22b5fc87ab734 (diff)
downloademacs-8865587c55f251ac624e6730505de66d15b28562.tar.gz
emacs-8865587c55f251ac624e6730505de66d15b28562.tar.bz2
emacs-8865587c55f251ac624e6730505de66d15b28562.zip
Add -Wswitch to --enable-gcc-warnings
Make --enable-gcc-warnings a bit pickier, by also using -Wswitch. * configure.ac (WERROR_CFLAGS): Don’t add -Wno-switch. * lib-src/etags.c (main, consider_token, C_entries): * src/coding.c (encode_invocation_designation): * src/data.c (Ftype_of): * src/eval.c (Fdefvaralias, default_toplevel_binding) (Fbacktrace__locals, mark_specpdl): * src/lisp.h (record_xmalloc): * src/syntax.c (scan_lists, scan_sexps_forward): * src/window.c (window_relative_x_coord): * src/xdisp.c (push_it, pop_it): * src/xterm.c (xg_scroll_callback, x_check_fullscreen): Error out or do nothing (as appropriate) if a switch statement with an enum value does not cover all of the enum. * src/dispextern.h (struct iterator_stack_entry.u.comp): Remove unused member discovered by using -Wswitch. * src/lisp.h (record_xmalloc): Add a ‘+ 0’ to pacify -Wswitch. * src/vm-limit.c (check_memory_limits): Simplify warning-diagnostic computation by using a table.
Diffstat (limited to 'lib-src')
-rw-r--r--lib-src/etags.c42
1 files changed, 40 insertions, 2 deletions
diff --git a/lib-src/etags.c b/lib-src/etags.c
index 7baff8cbfe8..791722d4b66 100644
--- a/lib-src/etags.c
+++ b/lib-src/etags.c
@@ -1268,6 +1268,8 @@ main (int argc, char **argv)
this_file = argbuffer[i].what;
process_file (stdin, this_file, lang);
break;
+ default:
+ error ("internal error: arg_type");
}
}
@@ -2754,6 +2756,9 @@ consider_token (char *str, int len, int c, int *c_extp,
case st_C_struct:
case st_C_enum:
typdef = ttypeseen;
+ break;
+ default:
+ break;
}
break;
case ttypeseen:
@@ -2770,8 +2775,11 @@ consider_token (char *str, int len, int c, int *c_extp,
case st_C_struct:
case st_C_enum:
return false;
+ default:
+ return true;
}
- return true;
+ default:
+ break;
}
switch (toktype)
@@ -2804,6 +2812,8 @@ consider_token (char *str, int len, int c, int *c_extp,
fvdef = fvnone;
}
return false;
+ default:
+ break;
}
if (structdef == skeyseen)
@@ -2827,6 +2837,8 @@ consider_token (char *str, int len, int c, int *c_extp,
case st_C_objimpl:
objdef = oimplementation;
return false;
+ default:
+ break;
}
break;
case oimplementation:
@@ -2888,6 +2900,8 @@ consider_token (char *str, int len, int c, int *c_extp,
objdef = onone;
}
return false;
+ default:
+ break;
}
/* A function, variable or enum constant? */
@@ -2943,6 +2957,8 @@ consider_token (char *str, int len, int c, int *c_extp,
return false;
}
break;
+ default:
+ break;
}
/* FALLTHRU */
case fvnameseen:
@@ -2959,8 +2975,12 @@ consider_token (char *str, int len, int c, int *c_extp,
fvdef = fvnameseen; /* function or variable */
*is_func_or_var = true;
return true;
+ default:
+ break;
}
break;
+ default:
+ break;
}
return false;
@@ -3470,6 +3490,8 @@ C_entries (int c_ext, FILE *inf)
fvdef = fignore;
}
break;
+ default:
+ break;
}
if (structdef == stagseen && !cjava)
{
@@ -3480,6 +3502,8 @@ C_entries (int c_ext, FILE *inf)
case dsharpseen:
savetoken = token;
break;
+ default:
+ break;
}
if (!yacc_rules || lp == newlb.buffer + 1)
{
@@ -3508,7 +3532,7 @@ C_entries (int c_ext, FILE *inf)
break;
switch (objdef)
{
- case otagseen:
+ case otagseen:
objdef = oignore;
make_C_tag (true); /* an Objective C class */
break;
@@ -3522,6 +3546,8 @@ C_entries (int c_ext, FILE *inf)
strcpy (token_name.buffer + toklen, ":");
}
break;
+ default:
+ break;
}
if (structdef == stagseen)
{
@@ -3599,6 +3625,8 @@ C_entries (int c_ext, FILE *inf)
make_C_tag (true); /* an Objective C method */
objdef = oinbody;
break;
+ default:
+ break;
}
switch (fvdef)
{
@@ -3672,6 +3700,8 @@ C_entries (int c_ext, FILE *inf)
fvdef = fvnone;
}
break;
+ default:
+ break;
}
break;
case '(':
@@ -3705,6 +3735,8 @@ C_entries (int c_ext, FILE *inf)
case flistseen:
fvdef = finlist;
break;
+ default:
+ break;
}
parlev++;
break;
@@ -3730,6 +3762,8 @@ C_entries (int c_ext, FILE *inf)
case finlist:
fvdef = flistseen;
break;
+ default:
+ break;
}
if (!instruct
&& (typdef == tend
@@ -3801,6 +3835,8 @@ C_entries (int c_ext, FILE *inf)
bracelev = -1;
}
break;
+ default:
+ break;
}
switch (structdef)
{
@@ -3814,6 +3850,8 @@ C_entries (int c_ext, FILE *inf)
structdef = snone;
make_C_tag (false); /* a struct or enum */
break;
+ default:
+ break;
}
bracelev += 1;
break;