diff options
| author | Paul Eggert | 2015-09-16 14:40:53 -0700 |
|---|---|---|
| committer | Paul Eggert | 2015-09-16 15:07:23 -0700 |
| commit | 8865587c55f251ac624e6730505de66d15b28562 (patch) | |
| tree | c9cb82c4a99d98df45ec5531c9d97338792c2680 /lib-src | |
| parent | 82198ed57e3059f0526658608fd22b5fc87ab734 (diff) | |
| download | emacs-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.c | 42 |
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; |