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