diff options
author | dnovillo <dnovillo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-06-01 14:05:17 +0000 |
---|---|---|
committer | dnovillo <dnovillo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-06-01 14:05:17 +0000 |
commit | 6dee6ab1ca31293fbb6b0769bba4618debebedd5 (patch) | |
tree | ab15a982d4a269f4bc6ceb4a128188ffa1ec7bfc /libcpp/aclocal.m4 | |
parent | 4bd488b1409579d8bef4aae35d348ec2213eae6a (diff) | |
download | gcc-6dee6ab1ca31293fbb6b0769bba4618debebedd5.tar.gz |
richi's fixes for c++ bootstrap
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@160105 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libcpp/aclocal.m4')
-rw-r--r-- | libcpp/aclocal.m4 | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/libcpp/aclocal.m4 b/libcpp/aclocal.m4 index c3a9f037ae8..a92771a5aa1 100644 --- a/libcpp/aclocal.m4 +++ b/libcpp/aclocal.m4 @@ -22,3 +22,74 @@ m4_include([../config/lib-link.m4]) m4_include([../config/lib-prefix.m4]) m4_include([../config/override.m4]) m4_include([../config/warnings.m4]) + +## ---------------------------------------------------------------- ## +## Checking for declared symbols. ## +## This is like *AC_CHECK_DECL*, except that for c++, we may use a ## +## prototype to check for a (possibly overloaded) function. ## +## ---------------------------------------------------------------- ## + + +# _AC_CHECK_PROTO_BODY +# ------------------- +# Shell function body for AC_CHECK_PROTO. +m4_define([_AC_CHECK_PROTO_BODY], +[ AS_LINENO_PUSH([$[]1]) + [as_decl_name=`echo $][2|sed 's/(.*//'`] + [as_decl_use=`echo $][2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'`] + AC_CACHE_CHECK([whether $as_decl_name is declared], [$[]3], + [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([$[]4], +[@%:@ifndef $[]as_decl_name +@%:@ifdef __cplusplus + (void) $[]as_decl_use; +@%:@else + (void) $[]as_decl_name; +@%:@endif +@%:@endif +])], + [AS_VAR_SET([$[]3], [yes])], + [AS_VAR_SET([$[]3], [no])])]) + AS_LINENO_POP +])# _AC_CHECK_PROTO_BODY + +# AC_CHECK_PROTO(SYMBOL, +# [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND], +# [INCLUDES = DEFAULT-INCLUDES]) +# ------------------------------------------------------- +# Check whether SYMBOL (a function, variable, or constant) is declared. +AC_DEFUN([AC_CHECK_PROTO], +[AC_REQUIRE_SHELL_FN([ac_fn_]_AC_LANG_ABBREV[_check_proto], + [AS_FUNCTION_DESCRIBE([ac_fn_]_AC_LANG_ABBREV[_check_proto], + [LINENO SYMBOL VAR], + [Tests whether SYMBOL is declared, setting cache variable VAR accordingly.])], + [_$0_BODY])]dnl +[AS_VAR_PUSHDEF([ac_Symbol], [ac_cv_have_decl_$1])]dnl +[ac_fn_[]_AC_LANG_ABBREV[]_check_proto ]dnl +["$LINENO" "$1" "ac_Symbol" "AS_ESCAPE([AC_INCLUDES_DEFAULT([$4])], [""])" +AS_VAR_IF([ac_Symbol], [yes], [$2], [$3]) +AS_VAR_POPDEF([ac_Symbol])dnl +])# AC_CHECK_PROTO + + +# _AC_CHECK_PROTOS(SYMBOL, ACTION-IF_FOUND, ACTION-IF-NOT-FOUND, +# INCLUDES) +# ------------------------------------------------------------- +# Helper to AC_CHECK_PROTOS, which generates the check for a single +# SYMBOL with INCLUDES, performs the AC_DEFINE, then expands +# ACTION-IF-FOUND or ACTION-IF-NOT-FOUND. +m4_define([_AC_CHECK_PROTOS], +[AC_CHECK_PROTO([$1], [ac_have_decl=1], [ac_have_decl=0], [$4])]dnl +[AC_DEFINE_UNQUOTED(AS_TR_CPP(patsubst(HAVE_DECL_[$1],[(.*])), [$ac_have_decl], + [Define to 1 if you have the declaration of `$1', + and to 0 if you don't.])]dnl +[m4_ifvaln([$2$3], [AS_IF([test $ac_have_decl = 1], [$2], [$3])])]) + +# AC_CHECK_PROTOS(SYMBOLS, +# [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND], +# [INCLUDES = DEFAULT-INCLUDES]) +# -------------------------------------------------------- +# Defines HAVE_DECL_SYMBOL to 1 if declared, 0 otherwise. See the +# documentation for a detailed explanation of this difference with +# other AC_CHECK_*S macros. SYMBOLS is an m4 list. +AC_DEFUN([AC_CHECK_PROTOS], +[m4_map_args_sep([_$0(], [, [$2], [$3], [$4])], [], $1)]) |