summaryrefslogtreecommitdiff
path: root/src/lisp.h
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2016-12-22 09:25:58 -0800
committerPaul Eggert <eggert@cs.ucla.edu>2016-12-22 09:26:43 -0800
commitb10bd71987cdeb753c106145d6270a359505359c (patch)
tree56f724cd13b7e75613534dc7a013ad3fdcc562c1 /src/lisp.h
parent5fcc777ff36c3102ddddd2fb932cb8d0b7cc2741 (diff)
downloademacs-b10bd71987cdeb753c106145d6270a359505359c.tar.gz
emacs-b10bd71987cdeb753c106145d6270a359505359c.tar.bz2
emacs-b10bd71987cdeb753c106145d6270a359505359c.zip
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.
Diffstat (limited to 'src/lisp.h')
-rw-r--r--src/lisp.h12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/lisp.h b/src/lisp.h
index 061cf179f96..79b208a333b 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;
}