summaryrefslogtreecommitdiff
path: root/config
diff options
context:
space:
mode:
authorrwild <rwild@138bc75d-0d04-0410-961f-82ee72b054a4>2010-06-03 06:32:27 +0000
committerrwild <rwild@138bc75d-0d04-0410-961f-82ee72b054a4>2010-06-03 06:32:27 +0000
commitdd163332d665888fc4250331c37080fee2270538 (patch)
treeb578b77620c9605baf71f8612dc3f9221ac5faac /config
parent570999c572851596a9fd083f3b982b297e69ad62 (diff)
downloadgcc-dd163332d665888fc4250331c37080fee2270538.tar.gz
Import AC_CHECK_DECL for C++ fixes from git Autoconf.
config/: PR bootstrap/42798 * override.m4 (_AC_CHECK_DECL_BODY, _AC_CHECK_DECLS): Import definitions from git Autoconf. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@160210 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'config')
-rw-r--r--config/ChangeLog7
-rw-r--r--config/override.m441
2 files changed, 48 insertions, 0 deletions
diff --git a/config/ChangeLog b/config/ChangeLog
index e0ce47425a3..a211292c15e 100644
--- a/config/ChangeLog
+++ b/config/ChangeLog
@@ -1,3 +1,10 @@
+2010-06-03 Joern Rennecke <joern.rennecke@embecosm.com>
+ Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ PR bootstrap/42798
+ * override.m4 (_AC_CHECK_DECL_BODY, _AC_CHECK_DECLS): Import
+ definitions from git Autoconf.
+
2010-04-13 Steve Ellcey <sje@cup.hp.com>
* elf.m4: Add hppa[12]*-*-hpux* to list of non-elf platforms.
diff --git a/config/override.m4 b/config/override.m4
index cfa225a339c..47d8dac64d7 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])])])
+
+])