Re: APIs in New POSIX Edition

Corinna Vinschen <[email protected]>
Newsgroups gmane.comp.lib.newlib
Message-ID <YG7x+m6sd/[email protected]>
On Apr  8 13:56, Corinna Vinschen wrote:
> On Apr  8 13:49, Corinna Vinschen wrote:
> > On Apr  8 06:38, Joel Sherrill wrote:
> > > What feature guard should these be behind? Will it change for the ones
> > > already in place?
> > 
> > There will be a matching POSIX.1-2021 or so, given by date/month,
> > with guards along the lines of _POSIX_C_SOURCE >= 202107L.
> > 
> > APIS we already have should keep their current guard or'ed with
> > the above _POSIX_C_SOURCE test.
> > 
> > APIs we already have but have no guard should get _DEFAULT_SOURCE
> > or'ed with the above _POSIX_C_SOURCE test.
> 
> There are also APIs which already exist per an older POSIX version,
> but which are not guarded.  I. e., the sem_xxx functions manipulating
> POSIX semaphores.  Those don't need aguard, because they have been
> introduced in conjunction with their own header, i. e., semaphore.h.
> 
> In these cases, the already existing ones still don't need a guard,
> just APIs added to the header will get the new _POSIX_C_SOURCE test.
> 
> I think...

s/_POSIX_C_SOURCE/__POSIX_VISIBLE/

and _DEFAULT_SOURCE is probably not required at all, given it's
just current POSIX anyway.  We just have to tweka the definition
of _DEFAULT_SOURCE to include the latest POSIX.

Another one: APIs from this draft already in GlibC and newlib are
guarded with __GNU_VISIBLE in newlib (e. g. memmem).  We have to change
__GNU_VISIBLE to imply the new _POSIX_C_SOURCE setting anyway, so these
symbols can be simply guarded with the new __POSIX_VISIBLE guard.

I'm sure I still forgot some situation...


Corinna
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.