HomePhabricator

Refine check for `_LIBCPP_C_HAS_NO_GETS` on FreeBSD

Description

Refine check for _LIBCPP_C_HAS_NO_GETS on FreeBSD

Summary:
In D67316 we added _LIBCPP_C_HAS_NO_GETS to signal that the C library
does not provide gets(), and added a test for FreeBSD 13 or higher,
using the compiler-defined __FreeBSD__ macro.

Unfortunately this did not work that well for FreeBSD's own CI process,
since the gcc compilers used for some architectures define __FreeBSD__
to match the build host, not the target.

Instead, we should use the __FreeBSD_version macro from the userland
header <osreldate.h>, which is more fine-grained. See also
https://reviews.freebsd.org/D22034.

Reviewers: EricWF, mclow.lists, emaste, ldionne

Reviewed By: emaste, ldionne

Subscribers: dexonsmith, bsdjhb, krytarowski, christof, ldionne, libcxx-commits

Differential Revision: https://reviews.llvm.org/D69174

Details

Committed
dimOct 19 2019, 3:59 AM
Reviewer
emaste
Differential Revision
D69174: Refine check for `_LIBCPP_C_HAS_NO_GETS` on FreeBSD
Branches
Unknown
Tags
Unknown