Import AC_CHECK_DECL for C++ fixes from git Autoconf.
authorRalf Wildenhues <Ralf.Wildenhues@gmx.de>
Thu, 3 Jun 2010 06:33:10 +0000 (06:33 +0000)
committerRalf Wildenhues <Ralf.Wildenhues@gmx.de>
Thu, 3 Jun 2010 06:33:10 +0000 (06:33 +0000)
config/:
Sync from GCC:
PR bootstrap/42798
* override.m4 (_AC_CHECK_DECL_BODY, _AC_CHECK_DECLS): Import
definitions from git Autoconf.

config/ChangeLog
config/override.m4

index 140e2ce7be9861444f1cf1eff5b5bbda39ae18af..e0561d2f1424e44954a5e70487cfdec5dabc07bb 100644 (file)
@@ -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:
index cfa225a339cc7e5caf23ac745b9ba0e475125917..47d8dac64d73dc16c031c1998977c6a957409086 100644 (file)
@@ -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])])])
+
+])