Apply previous change even if valgrind is not in use, since it avoids undefined behavior. This is simpler.

This commit is contained in:
Paul Eggert 2014-01-20 08:55:28 -08:00
parent 3c35702fe9
commit 009581fa65
4 changed files with 9 additions and 16 deletions

View file

@ -1,12 +1,9 @@
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.

View file

@ -48,6 +48,12 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#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>

View file

@ -574,8 +574,7 @@ even if it is dead. The return value is never nil. */)
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;

View file

@ -65,15 +65,6 @@ typedef bool bool_bf;
# 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