From: fche Date: Mon, 5 Mar 2001 19:50:30 +0000 (+0000) Subject: * build fix X-Git-Tag: pre-posix-scan~647 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=729b1c7eee8731294845831c78f4c7eb60895045;p=pf3gnuchains%2Fpf3gnuchains4x.git * build fix 2001-03-05 Frank Ch. Eigler On advice from Momchil Velikov : * configure.in: Test for compiler support of __builtin_expect. * sidconfig.h: Define LIKELY/UNLIKEY depending on this test. * configure, sidconfutil.in: Regenerated. --- diff --git a/sid/include/ChangeLog b/sid/include/ChangeLog index 46d5288f99..0fd1a9ac60 100644 --- a/sid/include/ChangeLog +++ b/sid/include/ChangeLog @@ -1,3 +1,10 @@ +2001-03-05 Frank Ch. Eigler + + On advice from Momchil Velikov : + * configure.in: Test for compiler support of __builtin_expect. + * sidconfig.h: Define LIKELY/UNLIKEY depending on this test. + * configure, sidconfutil.in: Regenerated. + 2001-03-01 Frank Ch. Eigler * sidconfig.h (LIKELY, UNLIKELY): New conditional cover macros diff --git a/sid/include/configure b/sid/include/configure index f8e4e92aa6..8df72f1f1c 100755 --- a/sid/include/configure +++ b/sid/include/configure @@ -1273,8 +1273,44 @@ EOF fi echo "$ac_t""$sid_cv_cctype_std" 1>&6 +echo $ac_n "checking whether __builtin_expect is supported""... $ac_c" 1>&6 +echo "configure:1278: checking whether __builtin_expect is supported" >&5 +if eval "test \"`echo '$''{'sid_cv_builtin_expect'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + sid_cv_builtin_expect="yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + sid_cv_builtin_expect="no" +fi +rm -f conftest* +fi + +if test "${sid_cv_builtin_expect}" = "yes"; then + cat >> confdefs.h <<\EOF +#define HAVE_BUILTIN_EXPECT 1 +EOF + +fi +echo "$ac_t""$sid_cv_builtin_expect" 1>&6 + trap '' 1 2 15 cat > confcache <<\EOF diff --git a/sid/include/configure.in b/sid/include/configure.in index 6cac6fb2f0..ebb725f30e 100644 --- a/sid/include/configure.in +++ b/sid/include/configure.in @@ -45,8 +45,19 @@ if test "${sid_cv_cctype_std}" = "yes"; then fi AC_MSG_RESULT([$sid_cv_cctype_std]) - - +AC_MSG_CHECKING([whether __builtin_expect is supported]) +AC_CACHE_VAL(sid_cv_builtin_expect, + AC_TRY_COMPILE([],[ + if (__builtin_expect (2, 2)) + return 0; + else + return 1; +],[sid_cv_builtin_expect="yes"],[sid_cv_builtin_expect="no"])) +if test "${sid_cv_builtin_expect}" = "yes"; then + AC_DEFINE(HAVE_BUILTIN_EXPECT, 1, [Define if compiler supports __builtin_expect]) +fi +AC_MSG_RESULT([$sid_cv_builtin_expect]) + dnl Outputs AC_OUTPUT(Makefile) diff --git a/sid/include/sidconfig.h b/sid/include/sidconfig.h index ea292bc741..0c02e771b6 100644 --- a/sid/include/sidconfig.h +++ b/sid/include/sidconfig.h @@ -11,9 +11,7 @@ #undef VERSION #include -// Globally useful macros - -#ifdef __GNUC__ +#if HAVE_BUILTIN_EXPECT #define LIKELY(expression) (__builtin_expect(!!(expression), 1)) #define UNLIKELY(expression) (__builtin_expect(!!(expression), 0)) #else diff --git a/sid/include/sidconfutil.in b/sid/include/sidconfutil.in index 42dcc085ff..49fc9bb04b 100644 --- a/sid/include/sidconfutil.in +++ b/sid/include/sidconfutil.in @@ -30,3 +30,6 @@ /* Define if std:: prefix works for functions */ #undef STD_CCTYPE +/* Define if compiler supports __builtin_expect */ +#undef HAVE_BUILTIN_EXPECT +