2014-01-20 Paul Eggert <eggert@cs.ucla.edu>
- Pacify valgrind by initializing buffer redisplay bit.
+ Avoid undefined behavior by initializing buffer redisplay bit.
Problem reported by Dmitry Antipov in
<http://lists.gnu.org/archive/html/emacs-devel/2014-01/msg01756.html>.
- * alloc.c (USE_VALGRIND): Move this to ...
- * conf_post.h (USE_VALGRIND): ... here. Use booleans.
- * buffer.c (Fget_buffer_create): Initialize redisplay bit
- to pacify valgrind.
+ * buffer.c (Fget_buffer_create): Initialize redisplay bit.
Revert some of the CANNOT_DUMP fix (Bug#16494).
* lread.c (init_lread): Fix typo: NILP, not !NILP.
#include <verify.h>
+#if (defined ENABLE_CHECKING \
+ && defined HAVE_VALGRIND_VALGRIND_H \
+ && !defined USE_VALGRIND)
+# define USE_VALGRIND 1
+#endif
+
#if USE_VALGRIND
#include <valgrind/valgrind.h>
#include <valgrind/memcheck.h>
BUF_BEG_UNCHANGED (b) = 0;
*(BUF_GPT_ADDR (b)) = *(BUF_Z_ADDR (b)) = 0; /* Put an anchor '\0'. */
b->text->inhibit_shrinking = false;
- if (USE_VALGRIND)
- b->text->redisplay = false;
+ b->text->redisplay = false;
b->newline_cache = 0;
b->width_run_cache = 0;
# define ADDRESS_SANITIZER false
#endif
-/* True if Emacs might be run under valgrind. */
-#ifndef USE_VALGRIND
-# if defined ENABLE_CHECKING && defined HAVE_VALGRIND_VALGRIND_H
-# define USE_VALGRIND true
-# else
-# define USE_VALGRIND false
-# endif
-#endif
-
#ifdef DARWIN_OS
#ifdef emacs
#define malloc unexec_malloc