musl/include
Rich Felker a7239cbc1b switch __STDC_UTF_{16,32}__ macro definitions from #undef to #ifndef
originally, compilers did not provide these macros and we had to
provide them ourselves. this meant we were redefining them, which was
technically invalid unless the token sequence of the original
definition matched exactly.

the original patch proposed by Jules Maselbas to fix this made the
definitions conditional on them not already being defined; however I
suggested using #undef to avoid any possibly-wrong definitions already
in place and ensure that the definitions are 1. the version adopted as
commit 8b70486807 made this change.

unfortunately, gcc is loud about not liking #undef of any __STDC_*
macro name, and while warnings are suppressed in the system include
path, there is apparently no way to suppress this warning if the
system include dir has also been provided via -I.

while normally we don't go out of our way to satisfy warnings over
style in the public headers, in this case, it seems to be a matter of
disagreement over contract of which part of "the implementation" is
entitled to define or undefine macros belonging to the implementation,
and it's quite reasonable to conclude that the compiler may reject
attempts to undefine them.

this commit reverts to the originally-submitted version of the patch
making the definitions conditional.
2024-02-26 14:14:08 -05:00
..
arpa arpa/nameser.h: update RR types list 2022-09-22 18:44:44 -04:00
net net/if_arp.h: add ARPHRD_RAWIP from linux v4.14 2018-02-22 18:47:49 -05:00
netinet netinet/in.h: add INADDR_DUMMY from linux v5.13 2022-03-08 17:21:26 -05:00
netpacket add PACKET_IGNORE_OUTGOING sockopt from linux v4.20 2019-03-13 12:32:19 -04:00
scsi
sys add statx interface using syscall, fallback to fstatat 2024-02-24 12:27:09 -05:00
aio.h remove LFS64 programming interfaces (macro-only) from _GNU_SOURCE 2022-10-19 14:01:31 -04:00
alloca.h unconditonally define alloca as __builtin_alloca 2020-01-01 15:07:11 -05:00
alltypes.h.in fix regression with applications that expect struct winsize in ioctl.h 2020-08-30 16:47:40 -04:00
ar.h
assert.h restore _Noreturn to __assert_fail 2016-08-30 16:39:54 -04:00
byteswap.h
complex.h fix mismatched parens in CMPLX def for annex-g-conforming compilers 2015-11-02 21:44:57 -05:00
cpio.h
crypt.h
ctype.h suppress isascii() macro for C++ 2021-02-25 16:35:54 -05:00
dirent.h remove LFS64 programming interfaces (macro-only) from _GNU_SOURCE 2022-10-19 14:01:31 -04:00
dlfcn.h add time64 redirect for, and redirecting implementation of, dlsym 2019-11-02 18:30:56 -04:00
elf.h add loongarch64 port 2024-02-16 09:33:10 -05:00
endian.h make endian.h expose unprefixed macros, functions in standard profile 2019-10-17 16:26:22 -04:00
err.h
errno.h restore attribute((const)) to pthread_self and errno location decls 2018-10-16 14:10:27 -04:00
fcntl.h move fallocate64 declaration under _LARGEFILE64_SOURCE feature test 2023-05-02 11:45:28 -04:00
features.h add time64 symbol name redirects to public headers, under arch control 2019-10-28 19:26:52 -04:00
fenv.h
float.h
fmtmsg.h
fnmatch.h
ftw.h remove LFS64 programming interfaces (macro-only) from _GNU_SOURCE 2022-10-19 14:01:31 -04:00
getopt.h make brace placement in public header struct definitions consistent 2016-07-03 15:02:25 -04:00
glob.h remove LFS64 programming interfaces (macro-only) from _GNU_SOURCE 2022-10-19 14:01:31 -04:00
grp.h fix various header namespace issues under feature-test-macro control 2016-10-20 17:20:01 -04:00
iconv.h
ifaddrs.h remove parameter names from public headers 2016-10-20 17:04:37 -04:00
inttypes.h
iso646.h
langinfo.h add _NL_LOCALE_NAME extension to nl_langinfo 2017-07-31 23:08:27 -04:00
lastlog.h
libgen.h
libintl.h add format argument attributes to gettext function prototypes 2015-09-15 20:30:36 +00:00
limits.h move struct dirent to bits header, allow NAME_MAX to vary 2020-01-25 23:08:55 -05:00
link.h generalize ELF hash table types not to assume 32-bit entries 2016-11-11 12:46:06 -05:00
locale.h define NULL as nullptr when used in C++11 or later 2021-11-29 17:45:21 -05:00
malloc.h
math.h define FP_FAST_FMA* when fma* can be inlined 2019-04-17 13:02:47 -04:00
memory.h
mntent.h make brace placement in public header struct definitions consistent 2016-07-03 15:02:25 -04:00
monetary.h
mqueue.h add time64 symbol name redirects to public headers, under arch control 2019-10-28 19:26:52 -04:00
netdb.h getaddrinfo: add EAI_NODATA error code to distinguish NODATA vs NxDomain 2022-09-20 18:09:42 -04:00
nl_types.h
paths.h
poll.h fix erroneous feature test macro check for ppoll 2024-02-08 21:57:38 -05:00
pthread.h add pthread_getname_np function 2021-04-20 15:34:30 -04:00
pty.h
pwd.h fix various header namespace issues under feature-test-macro control 2016-10-20 17:20:01 -04:00
regex.h
resolv.h don't claim support for resolv.h APIs that aren't supported 2016-11-07 11:55:53 -05:00
sched.h fix incorrect unit for CPU_SETSIZE macro 2023-02-23 10:10:44 -05:00
search.h
semaphore.h add time64 symbol name redirects to public headers, under arch control 2019-10-28 19:26:52 -04:00
setjmp.h guard against compilers failing to handle setjmp specially by default 2021-02-22 15:52:21 -05:00
shadow.h
signal.h signal.h: add new sa_flags from linux v5.11 2022-03-08 17:19:49 -05:00
spawn.h add posix_spawn [f]chdir file actions 2019-08-30 16:21:36 -04:00
stdalign.h
stdarg.h remove legacy i386 fallback stdarg implementation and framework 2016-12-15 12:18:24 -05:00
stdbool.h
stdc-predef.h switch __STDC_UTF_{16,32}__ macro definitions from #undef to #ifndef 2024-02-26 14:14:08 -05:00
stddef.h define NULL as nullptr when used in C++11 or later 2021-11-29 17:45:21 -05:00
stdint.h
stdio_ext.h
stdio.h remove LFS64 programming interfaces (macro-only) from _GNU_SOURCE 2022-10-19 14:01:31 -04:00
stdlib.h fix integer overflow in WIFSTOPPED macro 2023-02-08 16:42:28 -05:00
stdnoreturn.h
string.h remove non-prototype declaration of basename from string.h 2023-11-06 08:26:19 -05:00
strings.h fix strings.h feature test macro usage due to missing features.h 2022-08-01 13:57:11 -04:00
stropts.h
syscall.h
sysexits.h
syslog.h
tar.h expose TSVTX unconditionally in tar.h 2019-03-13 10:42:57 -04:00
termios.h fix regression with applications that expect struct winsize in ioctl.h 2020-08-30 16:47:40 -04:00
tgmath.h
threads.h add time64 symbol name redirects to public headers, under arch control 2019-10-28 19:26:52 -04:00
time.h define NULL as nullptr when used in C++11 or later 2021-11-29 17:45:21 -05:00
uchar.h uchar.h: define char16_t and char32_t for old c++ 2018-07-17 22:24:03 -04:00
ucontext.h fix signature of function accepted by makecontext 2019-04-05 17:29:00 -04:00
ulimit.h
unistd.h remove LFS64 programming interfaces (macro-only) from _GNU_SOURCE 2022-10-19 14:01:31 -04:00
utime.h add time64 symbol name redirects to public headers, under arch control 2019-10-28 19:26:52 -04:00
utmp.h add declarations for utmpname/utmpxname to appropriate headers 2016-02-12 09:58:50 -05:00
utmpx.h adjust utmpx struct layout for time64, 32-/64-bit arch compat 2019-12-22 12:37:16 -05:00
values.h
wait.h
wchar.h define NULL as nullptr when used in C++11 or later 2021-11-29 17:45:21 -05:00
wctype.h
wordexp.h make brace placement in public header typedef'd structs consistent 2016-07-03 16:19:28 -04:00