зеркало из https://github.com/github/ruby.git
4ff3f20540
According to MSVC manual (*1), cl.exe can skip including a header file when that: - contains #pragma once, or - starts with #ifndef, or - starts with #if ! defined. GCC has a similar trick (*2), but it acts more stricter (e. g. there must be _no tokens_ outside of #ifndef...#endif). Sun C lacked #pragma once for a looong time. Oracle Developer Studio 12.5 finally implemented it, but we cannot assume such recent version. This changeset modifies header files so that each of them include strictly one #ifndef...#endif. I believe this is the most portable way to trigger compiler optimizations. [Bug #16770] *1: https://docs.microsoft.com/en-us/cpp/preprocessor/once *2: https://gcc.gnu.org/onlinedocs/cppinternals/Guard-Macros.html |
||
---|---|---|
.. | ||
acosh.c | ||
alloca.c | ||
cbrt.c | ||
close.c | ||
crt_externs.h | ||
crypt.c | ||
crypt.h | ||
des_tables.c | ||
dtoa.c | ||
dup2.c | ||
erf.c | ||
explicit_bzero.c | ||
ffs.c | ||
file.h | ||
fileblocks.c | ||
finite.c | ||
flock.c | ||
hypot.c | ||
isinf.c | ||
isnan.c | ||
langinfo.c | ||
lgamma_r.c | ||
memcmp.c | ||
memmove.c | ||
mt19937.c | ||
nan.c | ||
nextafter.c | ||
procstat_vm.c | ||
setproctitle.c | ||
signbit.c | ||
strchr.c | ||
strerror.c | ||
strlcat.c | ||
strlcpy.c | ||
strstr.c | ||
tgamma.c | ||
x86_64-chkstk.S |