Mercurial > hg > octave-lyh > gnulib-hg
changeset 7624:37846c5bc506
Notice when GCC doesn't do inlining.
author | Bruno Haible <bruno@clisp.org> |
---|---|
date | Wed, 08 Nov 2006 14:03:04 +0000 |
parents | 5bfad7d666d6 |
children | f267c652f7a3 |
files | ChangeLog m4/inline.m4 |
diffstat | 2 files changed, 26 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2006-11-08 Bruno Haible <bruno@clisp.org> + + * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__. + Suggested by Paul Eggert. + 2006-11-08 Jim Meyering <jim@meyering.net> * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
--- a/m4/inline.m4 +++ b/m4/inline.m4 @@ -1,4 +1,4 @@ -# inline.m4 serial 1 +# inline.m4 serial 2 dnl Copyright (C) 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -7,13 +7,29 @@ dnl Test for the 'inline' keyword or equivalent. dnl Define 'inline' to a supported equivalent, or to nothing if not supported, dnl like AC_C_INLINE does. Also, define HAVE_INLINE if 'inline' or an -dnl equivalent is supported, i.e. if the compiler is likely to drop unused -dnl 'static inline' functions. +dnl equivalent is effectively supported, i.e. if the compiler is likely to +dnl drop unused 'static inline' functions. AC_DEFUN([gl_INLINE], [ AC_REQUIRE([AC_C_INLINE]) - if test $ac_cv_c_inline != no; then + AC_CACHE_CHECK([whether the compiler generally respects inline], + [gl_cv_c_inline_effective], + [if test $ac_cv_c_inline = no; then + gl_cv_c_inline_effective=no + else + dnl GCC defines __NO_INLINE__ if not optimizing or if -fno-inline is + dnl specified. + AC_EGREP_CPP([bummer], [ + #ifdef __NO_INLINE__ + bummer + #endif + ], [gl_cv_c_inline_effective=no], [gl_cv_c_inline_effective=yes]) + fi + ]) + if test $gl_cv_c_inline_effective = yes; then AC_DEFINE([HAVE_INLINE], 1, - [Define to 1 if the compiler supports one of the keywords 'inline', '__inline__', '__inline'.]) + [Define to 1 if the compiler supports one of the keywords + 'inline', '__inline__', '__inline' and effectively inlines + functions marked as such.]) fi ])