This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Handle --enable-checking={yes,assert,release} in libcpp (PR bootstrap/72823)
- From: Richard Biener <rguenther at suse dot de>
- To: Jakub Jelinek <jakub at redhat dot com>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Wed, 16 Nov 2016 21:07:58 +0100
- Subject: Re: [PATCH] Handle --enable-checking={yes,assert,release} in libcpp (PR bootstrap/72823)
- Authentication-results: sourceware.org; auth=none
- References: <20161116182251.GZ3541@tucnak.redhat.com>
On November 16, 2016 7:22:51 PM GMT+01:00, Jakub Jelinek <jakub@redhat.com> wrote:
>Hi!
>
>As mentioned in the PR, libcpp uses gcc_assert in a couple of places,
>but guards it with ENABLE_ASSERT_CHECKING macro that is never defined
>in libcpp.
>
>This patch arranges for it to be defined if ENABLE_ASSERT_CHECKING
>is going to be defined in gcc subdir.
>
>Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk?
OK.
Richard.
>2016-11-16 Jakub Jelinek <jakub@redhat.com>
>
> PR bootstrap/72823
> * configure.ac (ENABLE_ASSERT_CHECKING): Define if gcc configure
> would define that macro.
> * configure: Regenerated.
> * config.in: Regenerated.
>
>--- libcpp/configure.ac.jj 2016-05-20 12:44:36.000000000 +0200
>+++ libcpp/configure.ac 2016-11-15 16:40:16.753842880 +0100
>@@ -152,9 +152,11 @@ for check in release $ac_checking_flags
> do
> case $check in
> # these set all the flags to specific states
>- yes|all) ac_checking=1 ; ac_valgrind_checking= ;;
>- no|none|release) ac_checking= ; ac_valgrind_checking= ;;
>+ yes|all) ac_checking=1 ; ac_assert_checking=1 ; ac_valgrind_checking=
>;;
>+ no|none) ac_checking= ; ac_assert_checking= ; ac_valgrind_checking=
>;;
>+ release) ac_checking= ; ac_assert_checking=1 ; ac_valgrind_checking=
>;;
> # these enable particular checks
>+ assert) ac_assert_checking=1 ;;
> misc) ac_checking=1 ;;
> valgrind) ac_valgrind_checking=1 ;;
> # accept
>@@ -170,6 +172,11 @@ else
> AC_DEFINE(CHECKING_P, 0)
> fi
>
>+if test x$ac_assert_checking != x ; then
>+ AC_DEFINE(ENABLE_ASSERT_CHECKING, 1,
>+[Define if you want assertions enabled. This is a cheap check.])
>+fi
>+
> if test x$ac_valgrind_checking != x ; then
> AC_DEFINE(ENABLE_VALGRIND_CHECKING, 1,
>[Define if you want to workaround valgrind (a memory checker) warnings
>about
>--- libcpp/configure.jj 2016-05-20 12:44:36.000000000 +0200
>+++ libcpp/configure 2016-11-15 16:40:35.331607679 +0100
>@@ -7288,9 +7288,11 @@ for check in release $ac_checking_flags
> do
> case $check in
> # these set all the flags to specific states
>- yes|all) ac_checking=1 ; ac_valgrind_checking= ;;
>- no|none|release) ac_checking= ; ac_valgrind_checking= ;;
>+ yes|all) ac_checking=1 ; ac_assert_checking=1 ; ac_valgrind_checking=
>;;
>+ no|none) ac_checking= ; ac_assert_checking= ; ac_valgrind_checking=
>;;
>+ release) ac_checking= ; ac_assert_checking=1 ; ac_valgrind_checking=
>;;
> # these enable particular checks
>+ assert) ac_assert_checking=1 ;;
> misc) ac_checking=1 ;;
> valgrind) ac_valgrind_checking=1 ;;
> # accept
>@@ -7308,6 +7310,12 @@ else
>
> fi
>
>+if test x$ac_assert_checking != x ; then
>+
>+$as_echo "#define ENABLE_ASSERT_CHECKING 1" >>confdefs.h
>+
>+fi
>+
> if test x$ac_valgrind_checking != x ; then
>
> $as_echo "#define ENABLE_VALGRIND_CHECKING 1" >>confdefs.h
>--- libcpp/config.in.jj 2016-05-20 12:44:36.000000000 +0200
>+++ libcpp/config.in 2016-11-15 16:40:38.000000000 +0100
>@@ -14,6 +14,9 @@
> /* Define to 1 if using `alloca.c'. */
> #undef C_ALLOCA
>
>+/* Define if you want assertions enabled. This is a cheap check. */
>+#undef ENABLE_ASSERT_CHECKING
>+
> /* Define to enable system headers canonicalization. */
> #undef ENABLE_CANONICAL_SYSTEM_HEADERS
>
>
> Jakub