diff options
author | Ralf Wildenhues <Ralf.Wildenhues@gmx.de> | 2010-06-03 10:33:10 +0400 |
---|---|---|
committer | Ralf Wildenhues <Ralf.Wildenhues@gmx.de> | 2010-06-03 10:33:10 +0400 |
commit | e4f9551b407ad1a538d039fb4be395aab0c7fa51 (patch) | |
tree | 2fb16787c8cf2802481437ad454e0c7eeb55d62c | |
parent | fad9568b0a064cb37729c0faa57458b7b49cba07 (diff) |
Import AC_CHECK_DECL for C++ fixes from git Autoconf.
config/:
Sync from GCC:
PR bootstrap/42798
* override.m4 (_AC_CHECK_DECL_BODY, _AC_CHECK_DECLS): Import
definitions from git Autoconf.
-rw-r--r-- | config/ChangeLog | 8 | ||||
-rw-r--r-- | config/override.m4 | 41 |
2 files changed, 49 insertions, 0 deletions
diff --git a/config/ChangeLog b/config/ChangeLog index 140e2ce7b..e0561d2f1 100644 --- a/config/ChangeLog +++ b/config/ChangeLog @@ -1,3 +1,11 @@ +2010-06-03 Joern Rennecke <joern.rennecke@embecosm.com> + Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + Sync from GCC: + PR bootstrap/42798 + * override.m4 (_AC_CHECK_DECL_BODY, _AC_CHECK_DECLS): Import + definitions from git Autoconf. + 2010-06-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Sync from GCC: diff --git a/config/override.m4 b/config/override.m4 index cfa225a33..47d8dac64 100644 --- a/config/override.m4 +++ b/config/override.m4 @@ -272,3 +272,44 @@ m4_define([m4_wrap], [m4_ifdef([_$0_text], [m4_define([_$0_text], [$1])m4_builtin([m4wrap], [m4_default(m4_defn([_$0_text])m4_undefine([_$0_text]))])])]) ]) + +m4_version_prereq([2.66],, [ +dnl We need AC_CHECK_DECL which works for overloaded C++ functions. + +# _AC_CHECK_DECL_BODY +# ------------------- +# Shell function body for AC_CHECK_DECL. +m4_define([_AC_CHECK_DECL_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_DECL_BODY + +# _AC_CHECK_DECLS(SYMBOL, ACTION-IF_FOUND, ACTION-IF-NOT-FOUND, +# INCLUDES) +# ------------------------------------------------------------- +# Helper to AC_CHECK_DECLS, 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_DECLS], +[AC_CHECK_DECL([$1], [ac_have_decl=1], [ac_have_decl=0], [$4])]dnl +[AC_DEFINE_UNQUOTED(AS_TR_CPP(m4_bpatsubst(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])])]) + +]) |