emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master b10bd71: Pacify --enable-gcc-warnings


From: Paul Eggert
Subject: [Emacs-diffs] master b10bd71: Pacify --enable-gcc-warnings
Date: Thu, 22 Dec 2016 17:26:47 +0000 (UTC)

branch: master
commit b10bd71987cdeb753c106145d6270a359505359c
Author: Paul Eggert <address@hidden>
Commit: Paul Eggert <address@hidden>

    Pacify --enable-gcc-warnings
    
    * src/charset.c (load_charset_map):
    * src/coding.c (decode_coding_object):
    * src/frame.c (make_frame):
    * src/window.c (Frecenter):
    Mark locals with UNINIT to silence false alarms from
    -Wmaybe-uninitialized.
    * src/lisp.h (SYMBOL_ALIAS, SYMBOL_BLV, SYMBOL_FWD)
    (SET_SYMBOL_ALIAS, SET_SYMBOL_BLV, SET_SYMBOL_FWD):
    Check and assume that values are nonnull.  This pacifies
    -Wmaybe-uninitialized in Fmake_variable_buffer_local and
    Fmake_local_variable.
---
 src/charset.c |    2 +-
 src/coding.c  |    6 +++---
 src/frame.c   |    2 +-
 src/lisp.h    |   12 ++++++------
 src/window.c  |    2 +-
 5 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/src/charset.c b/src/charset.c
index ff937bc..09520cc 100644
--- a/src/charset.c
+++ b/src/charset.c
@@ -241,7 +241,7 @@ struct charset_map_entries
 static void
 load_charset_map (struct charset *charset, struct charset_map_entries 
*entries, int n_entries, int control_flag)
 {
-  Lisp_Object vec;
+  Lisp_Object vec UNINIT;
   Lisp_Object table UNINIT;
   unsigned max_code = CHARSET_MAX_CODE (charset);
   bool ascii_compatible_p = charset->ascii_compatible_p;
diff --git a/src/coding.c b/src/coding.c
index feed9c8..f2a92c9 100644
--- a/src/coding.c
+++ b/src/coding.c
@@ -8028,12 +8028,12 @@ decode_coding_object (struct coding_system *coding,
                      Lisp_Object dst_object)
 {
   ptrdiff_t count = SPECPDL_INDEX ();
-  unsigned char *destination;
-  ptrdiff_t dst_bytes;
+  unsigned char *destination UNINIT;
+  ptrdiff_t dst_bytes UNINIT;
   ptrdiff_t chars = to - from;
   ptrdiff_t bytes = to_byte - from_byte;
   Lisp_Object attrs;
-  ptrdiff_t saved_pt = -1, saved_pt_byte;
+  ptrdiff_t saved_pt = -1, saved_pt_byte UNINIT;
   bool need_marker_adjustment = 0;
   Lisp_Object old_deactivate_mark;
 
diff --git a/src/frame.c b/src/frame.c
index 652d584..70ae309 100644
--- a/src/frame.c
+++ b/src/frame.c
@@ -611,7 +611,7 @@ make_frame (bool mini_p)
 {
   Lisp_Object frame;
   struct frame *f;
-  struct window *rw, *mw;
+  struct window *rw, *mw UNINIT;
   Lisp_Object root_window;
   Lisp_Object mini_window;
 
diff --git a/src/lisp.h b/src/lisp.h
index 061cf17..79b208a 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -1837,19 +1837,19 @@ INLINE Lisp_Object
 INLINE struct Lisp_Symbol *
 SYMBOL_ALIAS (struct Lisp_Symbol *sym)
 {
-  eassert (sym->redirect == SYMBOL_VARALIAS);
+  eassume (sym->redirect == SYMBOL_VARALIAS && sym->val.alias);
   return sym->val.alias;
 }
 INLINE struct Lisp_Buffer_Local_Value *
 SYMBOL_BLV (struct Lisp_Symbol *sym)
 {
-  eassert (sym->redirect == SYMBOL_LOCALIZED);
+  eassume (sym->redirect == SYMBOL_LOCALIZED && sym->val.blv);
   return sym->val.blv;
 }
 INLINE union Lisp_Fwd *
 SYMBOL_FWD (struct Lisp_Symbol *sym)
 {
-  eassert (sym->redirect == SYMBOL_FORWARDED);
+  eassume (sym->redirect == SYMBOL_FORWARDED && sym->val.fwd);
   return sym->val.fwd;
 }
 
@@ -1862,19 +1862,19 @@ INLINE void
 INLINE void
 SET_SYMBOL_ALIAS (struct Lisp_Symbol *sym, struct Lisp_Symbol *v)
 {
-  eassert (sym->redirect == SYMBOL_VARALIAS);
+  eassume (sym->redirect == SYMBOL_VARALIAS && v);
   sym->val.alias = v;
 }
 INLINE void
 SET_SYMBOL_BLV (struct Lisp_Symbol *sym, struct Lisp_Buffer_Local_Value *v)
 {
-  eassert (sym->redirect == SYMBOL_LOCALIZED);
+  eassume (sym->redirect == SYMBOL_LOCALIZED && v);
   sym->val.blv = v;
 }
 INLINE void
 SET_SYMBOL_FWD (struct Lisp_Symbol *sym, union Lisp_Fwd *v)
 {
-  eassert (sym->redirect == SYMBOL_FORWARDED);
+  eassume (sym->redirect == SYMBOL_FORWARDED && v);
   sym->val.fwd = v;
 }
 
diff --git a/src/window.c b/src/window.c
index c3e6931..6cfba08 100644
--- a/src/window.c
+++ b/src/window.c
@@ -5683,7 +5683,7 @@ and redisplay normally--don't erase and redraw the frame. 
 */)
   struct buffer *buf = XBUFFER (w->contents);
   bool center_p = false;
   ptrdiff_t charpos, bytepos;
-  EMACS_INT iarg;
+  EMACS_INT iarg UNINIT;
   int this_scroll_margin;
 
   if (buf != current_buffer)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]