Re: [PATCH 2/2] don't compile gcvt if posix < 200112
Yaakov Selkowitz <[email protected]>
| Newsgroups | gmane.comp.lib.newlib |
|---|---|
| Message-ID | <[email protected]> |
On Tue, 2019-07-23 at 08:14 +0900, [email protected] wrote: > From: uchan-nos <[email protected]> > > --- > newlib/libc/stdlib/efgcvt.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/newlib/libc/stdlib/efgcvt.c b/newlib/libc/stdlib/efgcvt.c > index 9314bf361..c1684f35a 100644 > --- a/newlib/libc/stdlib/efgcvt.c > +++ b/newlib/libc/stdlib/efgcvt.c > @@ -102,6 +102,8 @@ Supporting OS subroutines required: <<close>>, <<fstat>>, <<isatty>>, > #include <stdlib.h> > #include "local.h" > > +#if __XSI_VISIBLE >= 4 && __POSIX_VISIBLE < 200112 > + > char * > fcvt (double d, > int ndigit, > @@ -163,3 +165,5 @@ gcvt (double d, > } > return (_gcvt (_REENT, d, ndigit, buf, 'g', 0) ? tbuf : 0); > } > + > +#endif // __XSI_VISIBLE >= 4 && __POSIX_VISIBLE < 200112 This patch is incorrect. The C library must provide all possible interfaces; guards are only intended for headers, to control what is declared (and therefore available to userspace code) based on the chosen standard(s). -- Yaakov Selkowitz Senior Software Engineer - Platform Enablement Red Hat, Inc.