This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

_ATFILE_SOURCE Obsoletion


Referencing [0]:

On 08/10/2017 03:26 PM, Joseph Myers wrote:
> * Consider obsoleting _ATFILE_SOURCE and making it into an alias for
> _POSIX_C_SOURCE = 200809L if _POSIX_C_SOURCE is undefined or has a lower
> value (similar to the _REENTRANT obsoletion); I don't think we really need
> a separate feature test macro for this subset of POSIX features.

I've written a patch that obsoletes _ATFILE_SOURCE, but before I submit
it, I'm interested in hearing whether others consider this useful.  My
commit message currently reads:

----
Before various *at functions were included in POSIX.1-2008, they were
activated by defining _ATFILE_SOURCE.  Since then, _ATFILE_SOURCE has
automatically been defined when _POSIX_C_SOURCE is at least 200809L.

This commit changes the meaning of _ATFILE_SOURCE to imply all of
POSIX.1-2008 (which implies __USE_XOPEN2K8) rather than only including
the additional *at interfaces (as long as no conformance mode equal to
or greater than _POSIX_C_SOURCE=200809L	or equivalent is present).
----

Does it really serve a useful purpose to broaden the definition of
_ATFILE_SOURCE?  I understand the desire to cease support of historical
artifacts, but I would rather remove support entirely than merely change
the definition.  While POSIX.1-2008 may imply __USE_ATFILE,
_ATFILE_SOURCE does not necessarily imply all of POSIX.1-2008.


Rical

[0] https://sourceware.org/ml/libc-alpha/2017-08/msg00409.html


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]