"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "m4/extern-inline.m4" between
le-1.16.5.tar.gz and le-1.16.6.tar.gz

About: le is a terminal text editor (many block operations with stream and rectangular blocks, tunable syntax highlighting, etc.).

extern-inline.m4  (le-1.16.5):extern-inline.m4  (le-1.16.6)
dnl 'extern inline' a la ISO C99. dnl 'extern inline' a la ISO C99.
dnl Copyright 2012-2017 Free Software Foundation, Inc. dnl Copyright 2012-2019 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it, dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved. dnl with or without modifications, as long as this notice is preserved.
AC_DEFUN([gl_EXTERN_INLINE], AC_DEFUN([gl_EXTERN_INLINE],
[ [
AH_VERBATIM([extern_inline], AH_VERBATIM([extern_inline],
[/* Please see the Gnulib manual for how to use these macros. [/* Please see the Gnulib manual for how to use these macros.
Suppress extern inline with HP-UX cc, as it appears to be broken; see Suppress extern inline with HP-UX cc, as it appears to be broken; see
<http://lists.gnu.org/archive/html/bug-texinfo/2013-02/msg00030.html>. <https://lists.gnu.org/r/bug-texinfo/2013-02/msg00030.html>.
Suppress extern inline with Sun C in standards-conformance mode, as it Suppress extern inline with Sun C in standards-conformance mode, as it
mishandles inline functions that call each other. E.g., for 'inline void f mishandles inline functions that call each other. E.g., for 'inline void f
(void) { } inline void g (void) { f (); }', c99 incorrectly complains (void) { } inline void g (void) { f (); }', c99 incorrectly complains
'reference to static identifier "f" in extern inline function'. 'reference to static identifier "f" in extern inline function'.
This bug was observed with Sun C 5.12 SunOS_i386 2011/11/16. This bug was observed with Sun C 5.12 SunOS_i386 2011/11/16.
Suppress extern inline (with or without __attribute__ ((__gnu_inline__))) Suppress extern inline (with or without __attribute__ ((__gnu_inline__)))
on configurations that mistakenly use 'static inline' to implement on configurations that mistakenly use 'static inline' to implement
functions or macros in standard C headers like <ctype.h>. For example, functions or macros in standard C headers like <ctype.h>. For example,
if isdigit is mistakenly implemented via a static inline function, if isdigit is mistakenly implemented via a static inline function,
a program containing an extern inline function that calls isdigit a program containing an extern inline function that calls isdigit
may not work since the C standard prohibits extern inline functions may not work since the C standard prohibits extern inline functions
from calling static functions. This bug is known to occur on: from calling static functions (ISO C 99 section 6.7.4.(3).
This bug is known to occur on:
OS X 10.8 and earlier; see: OS X 10.8 and earlier; see:
http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html https://lists.gnu.org/r/bug-gnulib/2012-12/msg00023.html
DragonFly; see DragonFly; see
http://muscles.dragonflybsd.org/bulk/bleeding-edge-potential/latest-per-pkg /ah-tty-0.3.12.log http://muscles.dragonflybsd.org/bulk/bleeding-edge-potential/latest-per-pkg /ah-tty-0.3.12.log
FreeBSD; see: FreeBSD; see:
http://lists.gnu.org/archive/html/bug-gnulib/2014-07/msg00104.html https://lists.gnu.org/r/bug-gnulib/2014-07/msg00104.html
OS X 10.9 has a macro __header_inline indicating the bug is fixed for C and OS X 10.9 has a macro __header_inline indicating the bug is fixed for C and
for clang but remains for g++; see <http://trac.macports.org/ticket/41033>. for clang but remains for g++; see <https://trac.macports.org/ticket/41033>.
Assume DragonFly and FreeBSD will be similar. */ Assume DragonFly and FreeBSD will be similar.
GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99
inline semantics, unless -fgnu89-inline is used. It defines a macro
__GNUC_STDC_INLINE__ to indicate this situation or a macro
__GNUC_GNU_INLINE__ to indicate the opposite situation.
GCC 4.2 with -std=c99 or -std=gnu99 implements the GNU C inline
semantics but warns, unless -fgnu89-inline is used:
warning: C99 inline functions are not supported; using GNU89
warning: to disable this warning use -fgnu89-inline or the gnu_inline funct
ion attribute
It defines a macro __GNUC_GNU_INLINE__ to indicate this situation.
*/
#if (((defined __APPLE__ && defined __MACH__) \ #if (((defined __APPLE__ && defined __MACH__) \
|| defined __DragonFly__ || defined __FreeBSD__) \ || defined __DragonFly__ || defined __FreeBSD__) \
&& (defined __header_inline \ && (defined __header_inline \
? (defined __cplusplus && defined __GNUC_STDC_INLINE__ \ ? (defined __cplusplus && defined __GNUC_STDC_INLINE__ \
&& ! defined __clang__) \ && ! defined __clang__) \
: ((! defined _DONT_USE_CTYPE_INLINE_ \ : ((! defined _DONT_USE_CTYPE_INLINE_ \
&& (defined __GNUC__ || defined __cplusplus)) \ && (defined __GNUC__ || defined __cplusplus)) \
|| (defined _FORTIFY_SOURCE && 0 < _FORTIFY_SOURCE \ || (defined _FORTIFY_SOURCE && 0 < _FORTIFY_SOURCE \
&& defined __GNUC__ && ! defined __cplusplus)))) && defined __GNUC__ && ! defined __cplusplus))))
# define _GL_EXTERN_INLINE_STDHEADER_BUG # define _GL_EXTERN_INLINE_STDHEADER_BUG
 End of changes. 6 change blocks. 
7 lines changed or deleted 20 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)