void-packages/srcpkgs/freeipmi/patches/fix-build-with-C99-compiler...

70 lines
2.7 KiB
Diff
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Source: http://lists.busybox.net/pipermail/buildroot/2016-September/172879.html
"The issue is that C99 changed inline semantics. This patch takes these
changes into account and allows to build the bundled argp and therefore
[freeipmi] with non-C89-compilers."
--- a/common/portability/freeipmi-argp-fmtstream.c
+++ b/common/portability/freeipmi-argp-fmtstream.c
@@ -389,6 +389,7 @@ __argp_fmtstream_printf (struct argp_fmt
weak_alias (__argp_fmtstream_printf, argp_fmtstream_printf)
#endif
+#if __STDC_VERSION__ - 199900L < 1
/* Duplicate the inline definitions in argp-fmtstream.h, for compilers
* that don't do inlining. */
size_t
@@ -471,5 +472,6 @@ __argp_fmtstream_point (argp_fmtstream_t
__argp_fmtstream_update (__fs);
return __fs->point_col >= 0 ? __fs->point_col : 0;
}
+#endif /* __STDC_VERSION__ - 199900L < 1 */
#endif /* !ARGP_FMTSTREAM_USE_LINEWRAP */
--- a/common/portability/freeipmi-argp-fmtstream.h
+++ b/common/portability/freeipmi-argp-fmtstream.h
@@ -145,6 +145,7 @@ extern ssize_t argp_fmtstream_printf (ar
__const char *__fmt, ...)
PRINTF_STYLE(2,3);
+#if __STDC_VERSION__ - 199900L < 1
extern int __argp_fmtstream_putc (argp_fmtstream_t __fs, int __ch);
extern int argp_fmtstream_putc (argp_fmtstream_t __fs, int __ch);
@@ -155,6 +156,7 @@ extern size_t __argp_fmtstream_write (ar
__const char *__str, size_t __len);
extern size_t argp_fmtstream_write (argp_fmtstream_t __fs,
__const char *__str, size_t __len);
+#endif /* __STDC_VERSION__ - 199900L < 1 */
/* Access macros for various bits of state. */
#define argp_fmtstream_lmargin(__fs) ((__fs)->lmargin)
@@ -164,6 +166,7 @@ extern size_t argp_fmtstream_write (argp
#define __argp_fmtstream_rmargin argp_fmtstream_rmargin
#define __argp_fmtstream_wmargin argp_fmtstream_wmargin
+#if __STDC_VERSION__ - 199900L < 1
/* Set __FS's left margin to LMARGIN and return the old value. */
extern size_t argp_fmtstream_set_lmargin (argp_fmtstream_t __fs,
size_t __lmargin);
@@ -185,6 +188,7 @@ extern size_t __argp_fmtstream_set_wmarg
/* Return the column number of the current output point in __FS. */
extern size_t argp_fmtstream_point (argp_fmtstream_t __fs);
extern size_t __argp_fmtstream_point (argp_fmtstream_t __fs);
+#endif /* __STDC_VERSION__ - 199900L < 1 */
/* Internal routines. */
extern void _argp_fmtstream_update (argp_fmtstream_t __fs);
@@ -208,7 +212,11 @@ extern int __argp_fmtstream_ensure (argp
#endif
#ifndef ARGP_FS_EI
+#if defined(__GNUC__) && !defined(__GNUC_STDC_INLINE__)
#define ARGP_FS_EI extern inline
+#else
+#define ARGP_FS_EI inline
+#endif
#endif
ARGP_FS_EI size_t