]> git.eshelyaron.com Git - emacs.git/commitdiff
Port --enable-gcc-warnings to GCC 7
authorPaul Eggert <eggert@cs.ucla.edu>
Sat, 9 Sep 2017 00:29:57 +0000 (17:29 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Sat, 9 Sep 2017 00:42:59 +0000 (17:42 -0700)
Do not merge to master.
* configure.ac: Pacify GCC 7 with -Wno-bool-operation
-Wno-implicit-fallthrough.
* src/search.c (boyer_moore):
Tell GCC that CHAR_BASE, if nonzero, must be a non-ASCII character.
* src/xterm.c (x_draw_glyphless_glyph_string_foreground):
Tell GCC that glyph->u.glyphless.ch must be a character.

configure.ac
src/search.c
src/xterm.c

index 4beda6530e5584c0036f89849ce9fb469a5f128d..2ccfca4336c382329d02c6f7bb8143a516314fa8 100644 (file)
@@ -953,6 +953,8 @@ AS_IF([test "$gl_gcc_warnings" != yes],
     gl_WARN_ADD([$w])
   done
   gl_WARN_ADD([-Wredundant-decls])     # Prefer this, as we don't use Bison.
+  gl_WARN_ADD([-Wno-bool-operation])   # Emacs 26 is clean, 25 is not.
+  gl_WARN_ADD([-Wno-implicit-fallthrough]) # Emacs 26 is clean, 25 is not.
   gl_WARN_ADD([-Wno-missing-field-initializers]) # We need this one
   gl_WARN_ADD([-Wno-sign-compare])     # Too many warnings for now
   gl_WARN_ADD([-Wno-type-limits])      # Too many warnings for now
index 0793f9a8fb7e0cce43af83f6db6eddc4069e22e5..e676aac7339acddbfbef54d8977f9f5f0e5a69a9 100644 (file)
@@ -1833,6 +1833,7 @@ boyer_moore (EMACS_INT n, unsigned char *base_pat,
     {
       /* Setup translate_prev_byte1/2/3/4 from CHAR_BASE.  Only a
         byte following them are the target of translation.  */
+      eassume (0x80 <= char_base && char_base <= MAX_CHAR);
       unsigned char str[MAX_MULTIBYTE_LENGTH];
       int cblen = CHAR_STRING (char_base, str);
 
index 74e1a5a6e8f5ed10ca23b6e9f755271540bab6da..988e98d6c7c025229a523852d50fa0503676ca4e 100644 (file)
@@ -1911,6 +1911,7 @@ x_draw_glyphless_glyph_string_foreground (struct glyph_string *s)
        }
       else if (glyph->u.glyphless.method == GLYPHLESS_DISPLAY_HEX_CODE)
        {
+         eassume (glyph->u.glyphless.ch <= MAX_CHAR);
          sprintf (buf, "%0*X",
                   glyph->u.glyphless.ch < 0x10000 ? 4 : 6,
                   glyph->u.glyphless.ch + 0u);