configure.ac: Do valgrind header checks unconditionally.
2014-04-28 Richard Biener <rguenther@suse.de> * configure.ac: Do valgrind header checks unconditionally. Add --enable-valgrind-annotations. * system.h: Guard valgrind header inclusion with ENABLE_VALGRIND_ANNOTATIONS instead of ENABLE_VALGRIND_CHECKING. * alloc-pool.c (pool_alloc, pool_free): Use ENABLE_VALGRIND_ANNOTATIONS instead of ENABLE_VALGRIND_CHECKING to guard possibly dead code. * config.in: Regenerated. * configure: Likewise. From-SVN: r209861
This commit is contained in:
parent
07357f2f5a
commit
279a935ff4
|
@ -1,3 +1,15 @@
|
|||
2014-04-28 Richard Biener <rguenther@suse.de>
|
||||
|
||||
* configure.ac: Do valgrind header checks unconditionally.
|
||||
Add --enable-valgrind-annotations.
|
||||
* system.h: Guard valgrind header inclusion with
|
||||
ENABLE_VALGRIND_ANNOTATIONS instead of ENABLE_VALGRIND_CHECKING.
|
||||
* alloc-pool.c (pool_alloc, pool_free): Use
|
||||
ENABLE_VALGRIND_ANNOTATIONS instead of ENABLE_VALGRIND_CHECKING
|
||||
to guard possibly dead code.
|
||||
* config.in: Regenerated.
|
||||
* configure: Likewise.
|
||||
|
||||
2014-04-28 Jeff Law <law@redhat.com>
|
||||
|
||||
PR tree-optimization/60902
|
||||
|
|
|
@ -250,7 +250,7 @@ void *
|
|||
pool_alloc (alloc_pool pool)
|
||||
{
|
||||
alloc_pool_list header;
|
||||
#ifdef ENABLE_VALGRIND_CHECKING
|
||||
#ifdef ENABLE_VALGRIND_ANNOTATIONS
|
||||
int size;
|
||||
#endif
|
||||
|
||||
|
@ -265,7 +265,7 @@ pool_alloc (alloc_pool pool)
|
|||
}
|
||||
|
||||
gcc_checking_assert (pool);
|
||||
#ifdef ENABLE_VALGRIND_CHECKING
|
||||
#ifdef ENABLE_VALGRIND_ANNOTATIONS
|
||||
size = pool->elt_size - offsetof (allocation_object, u.data);
|
||||
#endif
|
||||
|
||||
|
@ -334,7 +334,7 @@ void
|
|||
pool_free (alloc_pool pool, void *ptr)
|
||||
{
|
||||
alloc_pool_list header;
|
||||
#if defined(ENABLE_VALGRIND_CHECKING) || defined(ENABLE_CHECKING)
|
||||
#if defined(ENABLE_VALGRIND_ANNOTATIONS) || defined(ENABLE_CHECKING)
|
||||
int size;
|
||||
size = pool->elt_size - offsetof (allocation_object, u.data);
|
||||
#endif
|
||||
|
|
|
@ -172,6 +172,12 @@
|
|||
#endif
|
||||
|
||||
|
||||
/* Define to get calls to the valgrind runtime enabled. */
|
||||
#ifndef USED_FOR_TARGET
|
||||
#undef ENABLE_VALGRIND_ANNOTATIONS
|
||||
#endif
|
||||
|
||||
|
||||
/* Define if you want to run subprograms and generated programs through
|
||||
valgrind (a memory checker). This is extremely expensive. */
|
||||
#ifndef USED_FOR_TARGET
|
||||
|
|
|
@ -882,6 +882,7 @@ enable_werror_always
|
|||
enable_checking
|
||||
enable_coverage
|
||||
enable_gather_detailed_mem_stats
|
||||
enable_valgrind_annotations
|
||||
with_stabs
|
||||
enable_multilib
|
||||
enable_multiarch
|
||||
|
@ -1591,6 +1592,8 @@ Optional Features:
|
|||
Values are opt, noopt, default is noopt
|
||||
--enable-gather-detailed-mem-stats
|
||||
enable detailed memory allocation stats gathering
|
||||
--enable-valgrind-annotations
|
||||
enable valgrind runtime interaction
|
||||
--enable-multilib enable library support for multiple ABIs
|
||||
--enable-multiarch enable support for multiarch paths
|
||||
--enable-__cxa_atexit enable __cxa_atexit for C++
|
||||
|
@ -6772,12 +6775,11 @@ fi
|
|||
|
||||
|
||||
|
||||
if test x$ac_valgrind_checking != x ; then
|
||||
# It is certainly possible that there's valgrind but no valgrind.h.
|
||||
# GCC relies on making annotations so we must have both.
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for VALGRIND_DISCARD in <valgrind/memcheck.h>" >&5
|
||||
# It is certainly possible that there's valgrind but no valgrind.h.
|
||||
# GCC relies on making annotations so we must have both.
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for VALGRIND_DISCARD in <valgrind/memcheck.h>" >&5
|
||||
$as_echo_n "checking for VALGRIND_DISCARD in <valgrind/memcheck.h>... " >&6; }
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
#include <valgrind/memcheck.h>
|
||||
#ifndef VALGRIND_DISCARD
|
||||
|
@ -6790,11 +6792,11 @@ else
|
|||
gcc_cv_header_valgrind_memcheck_h=no
|
||||
fi
|
||||
rm -f conftest.err conftest.$ac_ext
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_header_valgrind_memcheck_h" >&5
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_header_valgrind_memcheck_h" >&5
|
||||
$as_echo "$gcc_cv_header_valgrind_memcheck_h" >&6; }
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for VALGRIND_DISCARD in <memcheck.h>" >&5
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for VALGRIND_DISCARD in <memcheck.h>" >&5
|
||||
$as_echo_n "checking for VALGRIND_DISCARD in <memcheck.h>... " >&6; }
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
#include <memcheck.h>
|
||||
#ifndef VALGRIND_DISCARD
|
||||
|
@ -6807,8 +6809,20 @@ else
|
|||
gcc_cv_header_memcheck_h=no
|
||||
fi
|
||||
rm -f conftest.err conftest.$ac_ext
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_header_memcheck_h" >&5
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_header_memcheck_h" >&5
|
||||
$as_echo "$gcc_cv_header_memcheck_h" >&6; }
|
||||
if test $gcc_cv_header_valgrind_memcheck_h = yes; then
|
||||
|
||||
$as_echo "#define HAVE_VALGRIND_MEMCHECK_H 1" >>confdefs.h
|
||||
|
||||
fi
|
||||
if test $gcc_cv_header_memcheck_h = yes; then
|
||||
|
||||
$as_echo "#define HAVE_MEMCHECK_H 1" >>confdefs.h
|
||||
|
||||
fi
|
||||
|
||||
if test x$ac_valgrind_checking != x ; then
|
||||
|
||||
# Prepare PATH_SEPARATOR.
|
||||
# The user is always right.
|
||||
|
@ -6887,16 +6901,6 @@ fi
|
|||
|
||||
$as_echo "#define ENABLE_VALGRIND_CHECKING 1" >>confdefs.h
|
||||
|
||||
if test $gcc_cv_header_valgrind_memcheck_h = yes; then
|
||||
|
||||
$as_echo "#define HAVE_VALGRIND_MEMCHECK_H 1" >>confdefs.h
|
||||
|
||||
fi
|
||||
if test $gcc_cv_header_memcheck_h = yes; then
|
||||
|
||||
$as_echo "#define HAVE_MEMCHECK_H 1" >>confdefs.h
|
||||
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
|
@ -6939,6 +6943,25 @@ cat >>confdefs.h <<_ACEOF
|
|||
_ACEOF
|
||||
|
||||
|
||||
# Check whether --enable-valgrind-annotations was given.
|
||||
if test "${enable_valgrind_annotations+set}" = set; then :
|
||||
enableval=$enable_valgrind_annotations;
|
||||
else
|
||||
enable_valgrind_annotations=no
|
||||
fi
|
||||
|
||||
if test x$enable_valgrind_annotations != xno \
|
||||
|| test x$ac_valgrind_checking != x; then
|
||||
if (test $have_valgrind_h = no \
|
||||
&& test $gcc_cv_header_memcheck_h = no \
|
||||
&& test $gcc_cv_header_valgrind_memcheck_h = no); then
|
||||
as_fn_error "*** Can't find valgrind/memcheck.h, memcheck.h or valgrind.h" "$LINENO" 5
|
||||
fi
|
||||
|
||||
$as_echo "#define ENABLE_VALGRIND_ANNOTATIONS 1" >>confdefs.h
|
||||
|
||||
fi
|
||||
|
||||
# -------------------------------
|
||||
# Miscenalleous configure options
|
||||
# -------------------------------
|
||||
|
@ -17971,7 +17994,7 @@ else
|
|||
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
|
||||
lt_status=$lt_dlunknown
|
||||
cat > conftest.$ac_ext <<_LT_EOF
|
||||
#line 17974 "configure"
|
||||
#line 17997 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
#if HAVE_DLFCN_H
|
||||
|
@ -18077,7 +18100,7 @@ else
|
|||
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
|
||||
lt_status=$lt_dlunknown
|
||||
cat > conftest.$ac_ext <<_LT_EOF
|
||||
#line 18080 "configure"
|
||||
#line 18103 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
#if HAVE_DLFCN_H
|
||||
|
|
|
@ -514,27 +514,36 @@ dnl # an if statement. This was the source of very frustrating bugs
|
|||
dnl # in converting to autoconf 2.5x!
|
||||
AC_CHECK_HEADER(valgrind.h, have_valgrind_h=yes, have_valgrind_h=no)
|
||||
|
||||
if test x$ac_valgrind_checking != x ; then
|
||||
# It is certainly possible that there's valgrind but no valgrind.h.
|
||||
# GCC relies on making annotations so we must have both.
|
||||
AC_MSG_CHECKING(for VALGRIND_DISCARD in <valgrind/memcheck.h>)
|
||||
AC_PREPROC_IFELSE([AC_LANG_SOURCE(
|
||||
[[#include <valgrind/memcheck.h>
|
||||
# It is certainly possible that there's valgrind but no valgrind.h.
|
||||
# GCC relies on making annotations so we must have both.
|
||||
AC_MSG_CHECKING(for VALGRIND_DISCARD in <valgrind/memcheck.h>)
|
||||
AC_PREPROC_IFELSE([AC_LANG_SOURCE(
|
||||
[[#include <valgrind/memcheck.h>
|
||||
#ifndef VALGRIND_DISCARD
|
||||
#error VALGRIND_DISCARD not defined
|
||||
#endif]])],
|
||||
[gcc_cv_header_valgrind_memcheck_h=yes],
|
||||
[gcc_cv_header_valgrind_memcheck_h=no])
|
||||
AC_MSG_RESULT($gcc_cv_header_valgrind_memcheck_h)
|
||||
AC_MSG_CHECKING(for VALGRIND_DISCARD in <memcheck.h>)
|
||||
AC_PREPROC_IFELSE([AC_LANG_SOURCE(
|
||||
[[#include <memcheck.h>
|
||||
AC_MSG_RESULT($gcc_cv_header_valgrind_memcheck_h)
|
||||
AC_MSG_CHECKING(for VALGRIND_DISCARD in <memcheck.h>)
|
||||
AC_PREPROC_IFELSE([AC_LANG_SOURCE(
|
||||
[[#include <memcheck.h>
|
||||
#ifndef VALGRIND_DISCARD
|
||||
#error VALGRIND_DISCARD not defined
|
||||
#endif]])],
|
||||
[gcc_cv_header_memcheck_h=yes],
|
||||
[gcc_cv_header_memcheck_h=no])
|
||||
AC_MSG_RESULT($gcc_cv_header_memcheck_h)
|
||||
AC_MSG_RESULT($gcc_cv_header_memcheck_h)
|
||||
if test $gcc_cv_header_valgrind_memcheck_h = yes; then
|
||||
AC_DEFINE(HAVE_VALGRIND_MEMCHECK_H, 1,
|
||||
[Define if valgrind's valgrind/memcheck.h header is installed.])
|
||||
fi
|
||||
if test $gcc_cv_header_memcheck_h = yes; then
|
||||
AC_DEFINE(HAVE_MEMCHECK_H, 1,
|
||||
[Define if valgrind's memcheck.h header is installed.])
|
||||
fi
|
||||
|
||||
if test x$ac_valgrind_checking != x ; then
|
||||
AM_PATH_PROG_WITH_TEST(valgrind_path, valgrind,
|
||||
[$ac_dir/$ac_word --version | grep valgrind- >/dev/null 2>&1])
|
||||
if test "x$valgrind_path" = "x" \
|
||||
|
@ -548,14 +557,6 @@ if test x$ac_valgrind_checking != x ; then
|
|||
AC_DEFINE(ENABLE_VALGRIND_CHECKING, 1,
|
||||
[Define if you want to run subprograms and generated programs
|
||||
through valgrind (a memory checker). This is extremely expensive.])
|
||||
if test $gcc_cv_header_valgrind_memcheck_h = yes; then
|
||||
AC_DEFINE(HAVE_VALGRIND_MEMCHECK_H, 1,
|
||||
[Define if valgrind's valgrind/memcheck.h header is installed.])
|
||||
fi
|
||||
if test $gcc_cv_header_memcheck_h = yes; then
|
||||
AC_DEFINE(HAVE_MEMCHECK_H, 1,
|
||||
[Define if valgrind's memcheck.h header is installed.])
|
||||
fi
|
||||
fi
|
||||
AC_SUBST(valgrind_path_defines)
|
||||
AC_SUBST(valgrind_command)
|
||||
|
@ -594,6 +595,21 @@ gather_stats=`if test $enable_gather_detailed_mem_stats != no; then echo 1; else
|
|||
AC_DEFINE_UNQUOTED(GATHER_STATISTICS, $gather_stats,
|
||||
[Define to enable detailed memory allocation stats gathering.])
|
||||
|
||||
AC_ARG_ENABLE(valgrind-annotations,
|
||||
[AS_HELP_STRING([--enable-valgrind-annotations],
|
||||
[enable valgrind runtime interaction])], [],
|
||||
[enable_valgrind_annotations=no])
|
||||
if test x$enable_valgrind_annotations != xno \
|
||||
|| test x$ac_valgrind_checking != x; then
|
||||
if (test $have_valgrind_h = no \
|
||||
&& test $gcc_cv_header_memcheck_h = no \
|
||||
&& test $gcc_cv_header_valgrind_memcheck_h = no); then
|
||||
AC_MSG_ERROR([*** Can't find valgrind/memcheck.h, memcheck.h or valgrind.h])
|
||||
fi
|
||||
AC_DEFINE(ENABLE_VALGRIND_ANNOTATIONS, 1,
|
||||
[Define to get calls to the valgrind runtime enabled.])
|
||||
fi
|
||||
|
||||
# -------------------------------
|
||||
# Miscenalleous configure options
|
||||
# -------------------------------
|
||||
|
|
|
@ -1025,7 +1025,7 @@ helper_const_non_const_cast (const char *p)
|
|||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef ENABLE_VALGRIND_CHECKING
|
||||
#ifdef ENABLE_VALGRIND_ANNOTATIONS
|
||||
# ifdef HAVE_VALGRIND_MEMCHECK_H
|
||||
# include <valgrind/memcheck.h>
|
||||
# elif defined HAVE_MEMCHECK_H
|
||||
|
|
Loading…
Reference in New Issue