ruby/missing
卜部昌平 4ff3f20540 add #include guard hack
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
2020-04-13 16:06:00 +09:00
..
acosh.c
alloca.c Merge pull request #2991 from shyouhei/ruby.h 2020-04-08 13:28:13 +09:00
cbrt.c
close.c
crt_externs.h
crypt.c des_tables.c: generation rule 2016-06-04 02:40:04 +00:00
crypt.h add #include guard hack 2020-04-13 16:06:00 +09:00
des_tables.c des_tables.c: generation rule 2016-06-04 02:40:04 +00:00
dtoa.c Split dtoa.c 2019-02-07 08:53:11 +00:00
dup2.c Merge pull request #2991 from shyouhei/ruby.h 2020-04-08 13:28:13 +09:00
erf.c
explicit_bzero.c NetBSD native support of explicit_bzero's like feature (#2145) 2019-08-17 14:17:30 +09:00
ffs.c
file.h add #include guard hack 2020-04-13 16:06:00 +09:00
fileblocks.c
finite.c
flock.c Merge pull request #2991 from shyouhei/ruby.h 2020-04-08 13:28:13 +09:00
hypot.c
isinf.c Merge pull request #2991 from shyouhei/ruby.h 2020-04-08 13:28:13 +09:00
isnan.c
langinfo.c
lgamma_r.c lgamma_r.c: fix at -0.0 2016-04-06 01:17:55 +00:00
memcmp.c missing/memcmp.c: suppress a `-Wparentheses` warning 2019-08-19 14:43:55 +09:00
memmove.c
mt19937.c Split mt19937.c 2019-02-07 08:53:12 +00:00
nan.c [ci skip] tabify 2018-01-20 04:18:09 +00:00
nextafter.c
procstat_vm.c Get rid of false positive misspellings 2019-12-24 10:33:32 +09:00
setproctitle.c missing/setproctitle.c: remove nonsense NULL check 2019-10-12 21:14:20 +09:00
signbit.c
strchr.c
strerror.c get rid of sprintf 2016-12-26 09:28:48 +00:00
strlcat.c * missing/strl{cat,cpy}.c: Update latest upstream files. 2016-07-21 13:27:02 +00:00
strlcpy.c * missing/strl{cat,cpy}.c: Update latest upstream files. 2016-07-21 13:27:02 +00:00
strstr.c
tgamma.c Merge pull request #2991 from shyouhei/ruby.h 2020-04-08 13:28:13 +09:00
x86_64-chkstk.S Renamed assembly file like as e64f71f812 2019-11-18 18:42:22 +09:00