"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "m4/extern-inline.m4" between
bison-3.8.1.tar.xz and bison-3.8.2.tar.xz

About: Bison is a general-purpose parser generator.

extern-inline.m4  (bison-3.8.1.tar.xz):extern-inline.m4  (bison-3.8.2.tar.xz)
skipping to change at line 20 skipping to change at line 20
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
<https://lists.gnu.org/r/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 Oracle Developer Studio 12.6
(Sun C 5.15 SunOS_sparc 2017/05/30).
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 (ISO C 99 section 6.7.4.(3). from calling static functions (ISO C 99 section 6.7.4.(3).
This bug is known to occur on: This bug is known to occur on:
skipping to change at line 86 skipping to change at line 87
&& !defined _GL_EXTERN_INLINE_STDHEADER_BUG) && !defined _GL_EXTERN_INLINE_STDHEADER_BUG)
# if defined __GNUC_GNU_INLINE__ && __GNUC_GNU_INLINE__ # if defined __GNUC_GNU_INLINE__ && __GNUC_GNU_INLINE__
/* __gnu_inline__ suppresses a GCC 4.2 diagnostic. */ /* __gnu_inline__ suppresses a GCC 4.2 diagnostic. */
# define _GL_INLINE extern inline __attribute__ ((__gnu_inline__)) # define _GL_INLINE extern inline __attribute__ ((__gnu_inline__))
# else # else
# define _GL_INLINE extern inline # define _GL_INLINE extern inline
# endif # endif
# define _GL_EXTERN_INLINE extern # define _GL_EXTERN_INLINE extern
# define _GL_EXTERN_INLINE_IN_USE # define _GL_EXTERN_INLINE_IN_USE
#else #else
# define _GL_INLINE static _GL_UNUSED # define _GL_INLINE _GL_UNUSED static
# define _GL_EXTERN_INLINE static _GL_UNUSED # define _GL_EXTERN_INLINE _GL_UNUSED static
#endif #endif
/* In GCC 4.6 (inclusive) to 5.1 (exclusive), /* In GCC 4.6 (inclusive) to 5.1 (exclusive),
suppress bogus "no previous prototype for 'FOO'" suppress bogus "no previous prototype for 'FOO'"
and "no previous declaration for 'FOO'" diagnostics, and "no previous declaration for 'FOO'" diagnostics,
when FOO is an inline function in the header; see when FOO is an inline function in the header; see
<https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54113> and <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54113> and
<https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63877>. */ <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63877>. */
#if __GNUC__ == 4 && 6 <= __GNUC_MINOR__ #if __GNUC__ == 4 && 6 <= __GNUC_MINOR__
# if defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ # if defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__
 End of changes. 2 change blocks. 
3 lines changed or deleted 4 lines changed or added

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