summaryrefslogtreecommitdiff
path: root/gnulib-m4/builtin-expect.m4
diff options
context:
space:
mode:
authorJörg Frings-Fürst <debian@jff-webhosting.net>2017-12-02 10:30:51 +0100
committerJörg Frings-Fürst <debian@jff-webhosting.net>2017-12-02 10:30:51 +0100
commitfd167a99e31b7021c78972c09acbf83b2d347c98 (patch)
treeca8ccd8fed78f99dd13ea6ab5069431983dac7b9 /gnulib-m4/builtin-expect.m4
parent4d76768442551c97a85e6f133cb818d223012746 (diff)
parent44a3eaeba04ef78835ca741592c376428ada5f71 (diff)
Update upstream source from tag 'upstream/0.9.8'
Update to upstream version '0.9.8' with Debian dir bac53b09be895fe7915b59f95882628bcc7b606e
Diffstat (limited to 'gnulib-m4/builtin-expect.m4')
-rw-r--r--gnulib-m4/builtin-expect.m449
1 files changed, 49 insertions, 0 deletions
diff --git a/gnulib-m4/builtin-expect.m4 b/gnulib-m4/builtin-expect.m4
new file mode 100644
index 00000000..aa3364bf
--- /dev/null
+++ b/gnulib-m4/builtin-expect.m4
@@ -0,0 +1,49 @@
+dnl Check for __builtin_expect.
+
+dnl Copyright 2016-2017 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl Written by Paul Eggert.
+
+AC_DEFUN([gl___BUILTIN_EXPECT],
+[
+ AC_CACHE_CHECK([for __builtin_expect],
+ [gl_cv___builtin_expect],
+ [AC_LINK_IFELSE(
+ [AC_LANG_SOURCE([[
+ int
+ main (int argc, char **argv)
+ {
+ argc = __builtin_expect (argc, 100);
+ return argv[argc != 100][0];
+ }]])],
+ [gl_cv___builtin_expect=yes],
+ [AC_LINK_IFELSE(
+ [AC_LANG_SOURCE([[
+ #include <builtins.h>
+ int
+ main (int argc, char **argv)
+ {
+ argc = __builtin_expect (argc, 100);
+ return argv[argc != 100][0];
+ }]])],
+ [gl_cv___builtin_expect="in <builtins.h>"],
+ [gl_cv___builtin_expect=no])])])
+ if test "$gl_cv___builtin_expect" = yes; then
+ AC_DEFINE([HAVE___BUILTIN_EXPECT], [1])
+ elif test "$gl_cv___builtin_expect" = "in <builtins.h>"; then
+ AC_DEFINE([HAVE___BUILTIN_EXPECT], [2])
+ fi
+ AH_VERBATIM([HAVE___BUILTIN_EXPECT],
+ [/* Define to 1 if the compiler supports __builtin_expect,
+ and to 2 if <builtins.h> does. */
+#undef HAVE___BUILTIN_EXPECT
+#ifndef HAVE___BUILTIN_EXPECT
+# define __builtin_expect(e, c) (e)
+#elif HAVE___BUILTIN_EXPECT == 2
+# include <builtins.h>
+#endif
+ ])
+])