aboutsummaryrefslogtreecommitdiffstats
path: root/lib-src
diff options
context:
space:
mode:
authorPaul Eggert2015-09-16 14:40:53 -0700
committerPaul Eggert2015-09-16 15:07:23 -0700
commit8865587c55f251ac624e6730505de66d15b28562 (patch)
treec9cb82c4a99d98df45ec5531c9d97338792c2680 /lib-src
parent82198ed57e3059f0526658608fd22b5fc87ab734 (diff)
downloademacs-8865587c55f251ac624e6730505de66d15b28562.tar.gz
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)
1268 this_file = argbuffer[i].what; 1268 this_file = argbuffer[i].what;
1269 process_file (stdin, this_file, lang); 1269 process_file (stdin, this_file, lang);
1270 break; 1270 break;
1271 default:
1272 error ("internal error: arg_type");
1271 } 1273 }
1272 } 1274 }
1273 1275
@@ -2754,6 +2756,9 @@ consider_token (char *str, int len, int c, int *c_extp,
2754 case st_C_struct: 2756 case st_C_struct:
2755 case st_C_enum: 2757 case st_C_enum:
2756 typdef = ttypeseen; 2758 typdef = ttypeseen;
2759 break;
2760 default:
2761 break;
2757 } 2762 }
2758 break; 2763 break;
2759 case ttypeseen: 2764 case ttypeseen:
@@ -2770,8 +2775,11 @@ consider_token (char *str, int len, int c, int *c_extp,
2770 case st_C_struct: 2775 case st_C_struct:
2771 case st_C_enum: 2776 case st_C_enum:
2772 return false; 2777 return false;
2778 default:
2779 return true;
2773 } 2780 }
2774 return true; 2781 default:
2782 break;
2775 } 2783 }
2776 2784
2777 switch (toktype) 2785 switch (toktype)
@@ -2804,6 +2812,8 @@ consider_token (char *str, int len, int c, int *c_extp,
2804 fvdef = fvnone; 2812 fvdef = fvnone;
2805 } 2813 }
2806 return false; 2814 return false;
2815 default:
2816 break;
2807 } 2817 }
2808 2818
2809 if (structdef == skeyseen) 2819 if (structdef == skeyseen)
@@ -2827,6 +2837,8 @@ consider_token (char *str, int len, int c, int *c_extp,
2827 case st_C_objimpl: 2837 case st_C_objimpl:
2828 objdef = oimplementation; 2838 objdef = oimplementation;
2829 return false; 2839 return false;
2840 default:
2841 break;
2830 } 2842 }
2831 break; 2843 break;
2832 case oimplementation: 2844 case oimplementation:
@@ -2888,6 +2900,8 @@ consider_token (char *str, int len, int c, int *c_extp,
2888 objdef = onone; 2900 objdef = onone;
2889 } 2901 }
2890 return false; 2902 return false;
2903 default:
2904 break;
2891 } 2905 }
2892 2906
2893 /* A function, variable or enum constant? */ 2907 /* A function, variable or enum constant? */
@@ -2943,6 +2957,8 @@ consider_token (char *str, int len, int c, int *c_extp,
2943 return false; 2957 return false;
2944 } 2958 }
2945 break; 2959 break;
2960 default:
2961 break;
2946 } 2962 }
2947 /* FALLTHRU */ 2963 /* FALLTHRU */
2948 case fvnameseen: 2964 case fvnameseen:
@@ -2959,8 +2975,12 @@ consider_token (char *str, int len, int c, int *c_extp,
2959 fvdef = fvnameseen; /* function or variable */ 2975 fvdef = fvnameseen; /* function or variable */
2960 *is_func_or_var = true; 2976 *is_func_or_var = true;
2961 return true; 2977 return true;
2978 default:
2979 break;
2962 } 2980 }
2963 break; 2981 break;
2982 default:
2983 break;
2964 } 2984 }
2965 2985
2966 return false; 2986 return false;
@@ -3470,6 +3490,8 @@ C_entries (int c_ext, FILE *inf)
3470 fvdef = fignore; 3490 fvdef = fignore;
3471 } 3491 }
3472 break; 3492 break;
3493 default:
3494 break;
3473 } 3495 }
3474 if (structdef == stagseen && !cjava) 3496 if (structdef == stagseen && !cjava)
3475 { 3497 {
@@ -3480,6 +3502,8 @@ C_entries (int c_ext, FILE *inf)
3480 case dsharpseen: 3502 case dsharpseen:
3481 savetoken = token; 3503 savetoken = token;
3482 break; 3504 break;
3505 default:
3506 break;
3483 } 3507 }
3484 if (!yacc_rules || lp == newlb.buffer + 1) 3508 if (!yacc_rules || lp == newlb.buffer + 1)
3485 { 3509 {
@@ -3508,7 +3532,7 @@ C_entries (int c_ext, FILE *inf)
3508 break; 3532 break;
3509 switch (objdef) 3533 switch (objdef)
3510 { 3534 {
3511 case otagseen: 3535 case otagseen:
3512 objdef = oignore; 3536 objdef = oignore;
3513 make_C_tag (true); /* an Objective C class */ 3537 make_C_tag (true); /* an Objective C class */
3514 break; 3538 break;
@@ -3522,6 +3546,8 @@ C_entries (int c_ext, FILE *inf)
3522 strcpy (token_name.buffer + toklen, ":"); 3546 strcpy (token_name.buffer + toklen, ":");
3523 } 3547 }
3524 break; 3548 break;
3549 default:
3550 break;
3525 } 3551 }
3526 if (structdef == stagseen) 3552 if (structdef == stagseen)
3527 { 3553 {
@@ -3599,6 +3625,8 @@ C_entries (int c_ext, FILE *inf)
3599 make_C_tag (true); /* an Objective C method */ 3625 make_C_tag (true); /* an Objective C method */
3600 objdef = oinbody; 3626 objdef = oinbody;
3601 break; 3627 break;
3628 default:
3629 break;
3602 } 3630 }
3603 switch (fvdef) 3631 switch (fvdef)
3604 { 3632 {
@@ -3672,6 +3700,8 @@ C_entries (int c_ext, FILE *inf)
3672 fvdef = fvnone; 3700 fvdef = fvnone;
3673 } 3701 }
3674 break; 3702 break;
3703 default:
3704 break;
3675 } 3705 }
3676 break; 3706 break;
3677 case '(': 3707 case '(':
@@ -3705,6 +3735,8 @@ C_entries (int c_ext, FILE *inf)
3705 case flistseen: 3735 case flistseen:
3706 fvdef = finlist; 3736 fvdef = finlist;
3707 break; 3737 break;
3738 default:
3739 break;
3708 } 3740 }
3709 parlev++; 3741 parlev++;
3710 break; 3742 break;
@@ -3730,6 +3762,8 @@ C_entries (int c_ext, FILE *inf)
3730 case finlist: 3762 case finlist:
3731 fvdef = flistseen; 3763 fvdef = flistseen;
3732 break; 3764 break;
3765 default:
3766 break;
3733 } 3767 }
3734 if (!instruct 3768 if (!instruct
3735 && (typdef == tend 3769 && (typdef == tend
@@ -3801,6 +3835,8 @@ C_entries (int c_ext, FILE *inf)
3801 bracelev = -1; 3835 bracelev = -1;
3802 } 3836 }
3803 break; 3837 break;
3838 default:
3839 break;
3804 } 3840 }
3805 switch (structdef) 3841 switch (structdef)
3806 { 3842 {
@@ -3814,6 +3850,8 @@ C_entries (int c_ext, FILE *inf)
3814 structdef = snone; 3850 structdef = snone;
3815 make_C_tag (false); /* a struct or enum */ 3851 make_C_tag (false); /* a struct or enum */
3816 break; 3852 break;
3853 default:
3854 break;
3817 } 3855 }
3818 bracelev += 1; 3856 bracelev += 1;
3819 break; 3857 break;