[libc-commits] [PATCH] D153729: [libc] Correct usage of __unix__ and __linux__
Alfred Persson Forsberg via Phabricator via libc-commits
libc-commits at lists.llvm.org
Mon Jun 26 04:11:29 PDT 2023
alfredfo added a comment.
In D153729#4447715 <https://reviews.llvm.org/D153729#4447715>, @sivachandra wrote:
> LGTM, but...
>
> In D153729#4447435 <https://reviews.llvm.org/D153729#4447435>, @alfredfo wrote:
>
>> Here are things still using `__unix__`, and I'm pretty sure those are correct.
>
> All of them seem to be related to the Linux futex word. Wouldn't `__linux__` be the most appropriate for them as well?
Oh right, definitely not available on all Unix systems.
================
Comment at: libc/include/llvm-libc-types/struct_dirent.h:21
#endif
unsigned char d_type;
// The user code should use strlen to determine actual the size of d_name.
----------------
only d_ino (XSI) and d_name are specified by POSIX.
================
Comment at: libc/include/llvm-libc-types/struct_utsname.h:15
#else
// Arbitray default. Should be specialized for each platform.
#define __UTS_NAME_LENGTH 1024
----------------
Apple `(__APPLE__)` uses 256: https://opensource.apple.com/source/xnu/xnu-201/bsd/sys/utsname.h.auto.html
================
Comment at: libc/include/llvm-libc-types/struct_utsname.h:26
+#ifdef __linux__
char domainname[__UTS_NAME_LENGTH];
#endif
----------------
GNU extension
================
Comment at: libc/src/__support/File/dir.cpp:43
+#ifdef __linux__
// The d_reclen field is available on Linux but not required by POSIX.
readptr += d->d_reclen;
----------------
checked using _DIRENT_HAVE_D_RECLEN, respected by both musl and glibc
ditto _OFF, _TYPE
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D153729/new/
https://reviews.llvm.org/D153729
More information about the libc-commits
mailing list