Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37545184
en ru br
Репозитории ALT
S:2.69-alt11
5.1: 2.63-alt4
4.1: 2.61-alt4
www.altlinux.org/Changes

Группа :: Разработка/Прочее
Пакет: autoconf_2.60

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

Патч: autoconf-2.59-alt-AC_LANG_FUNC_LINK_TRY_GCC_BUILTIN.patch
Скачать


 autoconf/lib/autoconf/c.m4         |   24 ++++++++++++++++++++++++
 autoconf/lib/autoconf/functions.m4 |    4 +++-
 autoconf/lib/autoconf/lang.m4      |    7 +++++++
 3 files changed, 34 insertions(+), 1 deletions(-)
diff --git a/autoconf/lib/autoconf/c.m4 b/autoconf/lib/autoconf/c.m4
index 2a28a3b..f4c5f81 100644
--- a/autoconf/lib/autoconf/c.m4
+++ b/autoconf/lib/autoconf/c.m4
@@ -253,6 +253,25 @@ choke me
 ], [return $1 ();])])
 
 
+# AC_LANG_FUNC_LINK_TRY_GCC_BUILTIN(C)(FUNCTION)
+# ----------------------------------
+# This will test if function is available as
+# gcc3 builtin.
+#
+m4_define([AC_LANG_FUNC_LINK_TRY_GCC_BUILTIN(C)],
+[AC_LANG_PROGRAM(
+[#ifndef __GNUC__
+choke me
+#else
+#undef $1
+/* Declare this function with same prototype as __builtin_$1.
+  This removes warning about conflicting type with builtin */
+__typeof__(__builtin_$1) $1;
+
+__typeof__(__builtin_$1) *f = $1;
+#endif
+], [return f != __builtin_$1;])])
+
 # AC_LANG_BOOL_COMPILE_TRY(C)(PROLOGUE, EXPRESSION)
 # -------------------------------------------------
 # Return a program that is valid if EXPRESSION is nonzero.
@@ -321,6 +340,11 @@ m4_copy([AC_LANG_CALL(C)], [AC_LANG_CALL(C++)])
 m4_copy([AC_LANG_FUNC_LINK_TRY(C)], [AC_LANG_FUNC_LINK_TRY(C++)])
 
 
+# AC_LANG_FUNC_LINK_TRY_GCC_BUILTIN(C++)(FUNCTION)
+# ------------------------------------
+m4_copy([AC_LANG_FUNC_LINK_TRY_GCC_BUILTIN(C)], [AC_LANG_FUNC_LINK_TRY_GCC_BUILTIN(C++)])
+
+
 # AC_LANG_BOOL_COMPILE_TRY(C++)(PROLOGUE, EXPRESSION)
 # ---------------------------------------------------
 m4_copy([AC_LANG_BOOL_COMPILE_TRY(C)], [AC_LANG_BOOL_COMPILE_TRY(C++)])
diff --git a/autoconf/lib/autoconf/functions.m4 b/autoconf/lib/autoconf/functions.m4
index ec22aa9..d31bd12 100644
--- a/autoconf/lib/autoconf/functions.m4
+++ b/autoconf/lib/autoconf/functions.m4
@@ -69,7 +69,9 @@ AC_DEFUN([AC_CHECK_FUNC],
 AC_CACHE_CHECK([for $1], [ac_var],
 [AC_LINK_IFELSE([AC_LANG_FUNC_LINK_TRY([$1])],
 		[AS_VAR_SET([ac_var], [yes])],
-		[AS_VAR_SET([ac_var], [no])])])
+		[AC_LINK_IFELSE([AC_LANG_FUNC_LINK_TRY_GCC_BUILTIN([$1])],
+				[AS_VAR_SET([ac_var], [yes])],
+				[AS_VAR_SET([ac_var], [no])])])])
 AS_IF([test AS_VAR_GET([ac_var]) = yes], [$2], [$3])dnl
 AS_VAR_POPDEF([ac_var])dnl
 ])# AC_CHECK_FUNC
diff --git a/autoconf/lib/autoconf/lang.m4 b/autoconf/lib/autoconf/lang.m4
index 9816633..ee05287 100644
--- a/autoconf/lib/autoconf/lang.m4
+++ b/autoconf/lib/autoconf/lang.m4
@@ -254,6 +254,13 @@ AC_DEFUN([AC_LANG_FUNC_LINK_TRY],
 _AC_LANG_DISPATCH([$0], _AC_LANG, $@)])
 
 
+# AC_LANG_FUNC_LINK_TRY_GCC_BUILTIN(FUNCTION, TYPE)
+# -------------------------------
+AC_DEFUN([AC_LANG_FUNC_LINK_TRY_GCC_BUILTIN],
+[m4_ifval([$1], [], [m4_warn([syntax], [$0: no function given])])dnl
+_AC_LANG_DISPATCH([$0], _AC_LANG, $@)])
+
+
 # AC_LANG_BOOL_COMPILE_TRY(PROLOGUE, EXPRESSION)
 # ----------------------------------------------
 # Produce a program that compiles with success iff the boolean EXPRESSION
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin