configure.ac (enable-checking): Explicitly set all variables for collective switch values.

* configure.ac (enable-checking): Explicitly set all variables for
	collective switch values.  Alphabetize variables. Rename
	ac_checking_valgrind to ac_valgrind_checking.  Allow 'none' as
	synonym for 'no'.
	* doc/install.texi (enable-checking): Update documentation.
	* configure: Rebuilt.

From-SVN: r97390
This commit is contained in:
Nathan Sidwell 2005-04-01 13:58:20 +00:00 committed by Nathan Sidwell
parent a7818b660d
commit cdce5c164e
4 changed files with 95 additions and 65 deletions

View File

@ -1,3 +1,12 @@
2005-04-01 Nathan Sidwell <nathan@codesourcery.com>
* configure.ac (enable-checking): Explicitly set all variables for
collective switch values. Alphabetize variables. Rename
ac_checking_valgrind to ac_valgrind_checking. Allow 'none' as
synonym for 'no'.
* doc/install.texi (enable-checking): Update documentation.
* configure: Rebuilt.
2005-04-01 Kazu Hirata <kazu@cs.umass.edu>
* tree-inline.c (copy_body_r): Use CONSTANT_CLASS_P where

53
gcc/configure vendored
View File

@ -867,8 +867,9 @@ Optional Features:
--enable-checking=LIST
enable expensive run-time checks. With LIST,
enable only specific categories of checks.
Categories are: assert,fold,gc,gcac,misc,
rtlflag,rtl,runtime,tree,valgrind,release,yes,all;
Categories are: yes,no,all,none,release.
Flags are: assert,fold,gc,gcac,misc,
rtlflag,rtl,runtime,tree,valgrind.
--enable-mapped-location location_t is fileline integer cookie
--enable-coverage=LEVEL
enable compiler's code coverage collection.
@ -6275,40 +6276,50 @@ fi
fi;
ac_assert_checking=1
ac_checking=
ac_tree_checking=
ac_fold_checking=
ac_gc_checking=
ac_gc_always_collect=
ac_rtl_checking=
ac_rtlflag_checking=
ac_runtime_checking=1
ac_gc_checking=
ac_gc_always_collect=
ac_fold_checking=
ac_tree_checking=
ac_valgrind_checking=
IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS="$IFS,"
for check in $ac_checking_flags
do
case $check in
# these set all the flags to specific states
yes) ac_assert_checking=1 ; ac_checking=1 ;
ac_tree_checking=1 ; ac_gc_checking=1 ;
ac_rtlflag_checking=1 ; ac_runtime_checking=1 ;;
no) ac_assert_checking= ; ac_checking= ;
ac_tree_checking= ; ac_rtl_checking= ;
ac_rtlflag_checking= ; ac_gc_checking= ;
ac_gc_always_collect= ; ac_fold_checking= ;;
ac_fold_checking= ; ac_gc_checking=1 ;
ac_gc_always_collect= ; ac_rtl_checking= ;
ac_rtlflag_checking=1 ; ac_runtime_chacking=1 ;
ac_tree_checking=1 ; ac_valgrind_checking= ;;
no|none) ac_assert_checking= ; ac_checking= ;
ac_fold_checking= ; ac_gc_checking= ;
ac_gc_always_collect= ; ac_rtl_checking= ;
ac_rtlflag_checking= ; ac_runtime_chacking= ;
ac_tree_checking= ; ac_valgrind_checking= ;;
all) ac_assert_checking=1 ; ac_checking=1 ;
ac_tree_checking=1 ; ac_rtl_checking=1 ;
ac_rtlflag_checking=1 ; ac_runtime_checking=1;
ac_gc_checking=1 ; ac_gc_always_collect=1 ;
ac_fold_checking=1 ;;
release) ac_assert_checking=1 ; ac_runtime_checking=1 ;;
ac_fold_checking=1 ; ac_gc_checking=1 ;
ac_gc_always_collect=1 ; ac_rtl_checking=1 ;
ac_rtlflag_checking=1 ; ac_runtime_checking=1 ;
ac_tree_checking=1 ; ac_valgrind_checking= ;;
release) ac_assert_checking=1 ; ac_checking= ;
ac_fold_checking= ; ac_gc_checking= ;
ac_gc_always_collect= ; ac_rtl_checking= ;
ac_rtlflag_checking= ; ac_runtime_checking=1 ;
ac_tree_checking= ; ac_valgrind_checking= ;;
# these enable particular checks
assert) ac_assert_checking=1 ;;
fold) ac_fold_checking=1 ;;
gc) ac_gc_checking=1 ;;
gcac) ac_gc_always_collect=1 ;;
misc) ac_checking=1 ;;
rtlflag) ac_rtlflag_checking=1 ;;
rtl) ac_rtl_checking=1 ;;
rtlflag) ac_rtlflag_checking=1 ;;
runtime) ac_runtime_checking=1 ;;
tree) ac_tree_checking=1 ;;
valgrind) ac_checking_valgrind=1 ;;
valgrind) ac_valgrind_checking=1 ;;
*) { { echo "$as_me:$LINENO: error: unknown check category $check" >&5
echo "$as_me: error: unknown check category $check" >&2;}
{ (exit 1); exit 1; }; } ;;
@ -6532,7 +6543,7 @@ fi
if test x$ac_checking_valgrind != x ; then
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.
echo "$as_me:$LINENO: checking for VALGRIND_DISCARD in <valgrind/memcheck.h>" >&5
@ -7388,7 +7399,7 @@ if test "${gcc_cv_prog_makeinfo_modern+set}" = set; then
else
ac_prog_version=`$MAKEINFO --version 2>&1 |
sed -n 's/^.*GNU texinfo.* \([0-9][0-9.]*\).*$/\1/p'`
echo "configure:7381: version of makeinfo is $ac_prog_version" >&5
echo "configure:7402: version of makeinfo is $ac_prog_version" >&5
case $ac_prog_version in
'') gcc_cv_prog_makeinfo_modern=no;;
4.[2-9]*)

View File

@ -393,8 +393,9 @@ AC_ARG_ENABLE(checking,
[ --enable-checking[=LIST]
enable expensive run-time checks. With LIST,
enable only specific categories of checks.
Categories are: assert,fold,gc,gcac,misc,
rtlflag,rtl,runtime,tree,valgrind,release,yes,all;],
Categories are: yes,no,all,none,release.
Flags are: assert,fold,gc,gcac,misc,
rtlflag,rtl,runtime,tree,valgrind.],
[ac_checking_flags="${enableval}"],[
# Determine the default checks.
if test x$is_release = x ; then
@ -404,40 +405,50 @@ else
fi])
ac_assert_checking=1
ac_checking=
ac_tree_checking=
ac_fold_checking=
ac_gc_checking=
ac_gc_always_collect=
ac_rtl_checking=
ac_rtlflag_checking=
ac_runtime_checking=1
ac_gc_checking=
ac_gc_always_collect=
ac_fold_checking=
ac_tree_checking=
ac_valgrind_checking=
IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS="$IFS,"
for check in $ac_checking_flags
do
case $check in
# these set all the flags to specific states
yes) ac_assert_checking=1 ; ac_checking=1 ;
ac_tree_checking=1 ; ac_gc_checking=1 ;
ac_rtlflag_checking=1 ; ac_runtime_checking=1 ;;
no) ac_assert_checking= ; ac_checking= ;
ac_tree_checking= ; ac_rtl_checking= ;
ac_rtlflag_checking= ; ac_gc_checking= ;
ac_gc_always_collect= ; ac_fold_checking= ;;
ac_fold_checking= ; ac_gc_checking=1 ;
ac_gc_always_collect= ; ac_rtl_checking= ;
ac_rtlflag_checking=1 ; ac_runtime_chacking=1 ;
ac_tree_checking=1 ; ac_valgrind_checking= ;;
no|none) ac_assert_checking= ; ac_checking= ;
ac_fold_checking= ; ac_gc_checking= ;
ac_gc_always_collect= ; ac_rtl_checking= ;
ac_rtlflag_checking= ; ac_runtime_chacking= ;
ac_tree_checking= ; ac_valgrind_checking= ;;
all) ac_assert_checking=1 ; ac_checking=1 ;
ac_tree_checking=1 ; ac_rtl_checking=1 ;
ac_rtlflag_checking=1 ; ac_runtime_checking=1;
ac_gc_checking=1 ; ac_gc_always_collect=1 ;
ac_fold_checking=1 ;;
release) ac_assert_checking=1 ; ac_runtime_checking=1 ;;
ac_fold_checking=1 ; ac_gc_checking=1 ;
ac_gc_always_collect=1 ; ac_rtl_checking=1 ;
ac_rtlflag_checking=1 ; ac_runtime_checking=1 ;
ac_tree_checking=1 ; ac_valgrind_checking= ;;
release) ac_assert_checking=1 ; ac_checking= ;
ac_fold_checking= ; ac_gc_checking= ;
ac_gc_always_collect= ; ac_rtl_checking= ;
ac_rtlflag_checking= ; ac_runtime_checking=1 ;
ac_tree_checking= ; ac_valgrind_checking= ;;
# these enable particular checks
assert) ac_assert_checking=1 ;;
fold) ac_fold_checking=1 ;;
gc) ac_gc_checking=1 ;;
gcac) ac_gc_always_collect=1 ;;
misc) ac_checking=1 ;;
rtlflag) ac_rtlflag_checking=1 ;;
rtl) ac_rtl_checking=1 ;;
rtlflag) ac_rtlflag_checking=1 ;;
runtime) ac_runtime_checking=1 ;;
tree) ac_tree_checking=1 ;;
valgrind) ac_checking_valgrind=1 ;;
valgrind) ac_valgrind_checking=1 ;;
*) AC_MSG_ERROR(unknown check category $check) ;;
esac
done
@ -505,7 +516,7 @@ 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_checking_valgrind != x ; then
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>)

View File

@ -1099,30 +1099,29 @@ controlled by the Makefiles.
@item --enable-checking
@itemx --enable-checking=@var{list}
When you specify this option, the compiler is built to perform checking
of tree node types when referencing fields of that node, and some other
internal consistency checks. This does not change the generated code,
but adds error checking within the compiler. This will slow down the
compiler and may only work properly if you are building the compiler
with GCC@. This is on by default when building from CVS or snapshots,
but off for releases. More control over the checks may be had by
specifying @var{list}; the categories of checks available are
@samp{release}, @samp{assert}, @samp{misc}, @samp{tree}, @samp{gc},
@samp{rtl}, @samp{rtlflag}, @samp{runtime}, @samp{fold}, @samp{gcac} and
@samp{valgrind}. The @samp{release} category enables only those checks
suitable for release builds, currently this is @samp{assert} and
@samp{runtime}. The check @samp{valgrind} requires the external
@command{valgrind} simulator, available from
@uref{http://valgrind.kde.org/}. The checks @samp{rtl}, @samp{gcac} and
@samp{valgrind} are very expensive. The default when @var{list} is not
specified is @samp{assert,misc,tree,gc,rtlflag,runtime}. That is also
the default for development builds, when @samp{--enable-checking} is not
specified. For release builds the default, when
@samp{--enable-checking} is not given, is @samp{release}. To disable
all checking, @samp{--disable-checking} must be explicitly requested.
Disabling assertions will make the compiler and runtime slightly faster
but increase the risk of undetected internal errors causing wrong code
to be generated.
When you specify this option, the compiler is built to perform internal
constency checks of the requested complexity. This does not change the
generated code, but adds error checking within the compiler. This will
slow down the compiler and may only work properly if you are building
the compiler with GCC@. This is @samp{yes} by default when building
from CVS or snapshots, but @samp{release} for releases. More control
over the checks may be had by specifying @var{list}. The categories of
checks available are @samp{yes} (most common checks
@samp{assert,misc,tree,gc,rtlflag,runtime}), @samp{no} (no checks at
all), @samp{all} (all but @samp{valgrind}), @samp{release} (cheapest
checks @samp{assert,runtime}) or @samp{none} (same as @samp{no}).
Individual checks can be enabled with these flags @samp{assert},
@samp{fold}, @samp{gc}, @samp{gcac} @samp{misc}, @samp{rtl},
@samp{rtlflag}, @samp{runtime}, @samp{tree}, and @samp{valgrind}.
The @samp{valgrind} check requires the external @command{valgrind}
simulator, available from @uref{http://valgrind.kde.org/}. The
@samp{rtl}, @samp{gcac} and @samp{valgrind} checks are very expensive.
To disable all checking, @samp{--disable-checking} or
@samp{--enable-checking=none} must be explicitly requested. Disabling
assertions will make the compiler and runtime slightly faster but
increase the risk of undetected internal errors causing wrong code to be
generated.
@item --enable-coverage
@itemx --enable-coverage=@var{level}