diff options
author | Đoàn Trần Công Danh <congdanhqx@gmail.com> | 2020-04-27 21:22:35 +0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2020-04-27 11:21:16 -0700 |
commit | 3bc1f9e48cb9640c901d19f193f4417ca805a86a (patch) | |
tree | 3f8eaa9d1e7f68a13e6de85043626287ee5ca1ae /compat/regex/regex_internal.h | |
parent | 1437ebf74a4c37b5ddafc14d4cdb6caf95bd16c6 (diff) |
compat/regex: move stdlib.h up in inclusion chain
In Linux with musl libc, we have this inclusion chain:
compat/regex/regex.c:69
`-> compat/regex/regex_internal.h
`-> /usr/include/stdlib.h
`-> /usr/include/features.h
`-> /usr/include/alloca.h
In that inclusion chain, `<features.h>` claims it's _BSD_SOURCE
compatible when it's NOT asked to be either
{_POSIX,_GNU,_XOPEN,_BSD}_SOURCE, or __STRICT_ANSI__.
And, `<stdlib.h>` will include `<alloca.h>` to be compatible with
software written for GNU and BSD. Thus, redefine `alloca` macro,
which was defined before at compat/regex/regex.c:66.
Considering this is only compat code, we've taken from other project,
it's not our business to decide which source should we adhere to.
Include `<stdlib.h>` early to prevent the redefinition of alloca.
This also remove a potential warning about alloca not defined on:
#undef alloca
Helped-by: Ramsay Jones <ramsay@ramsayjones.plus.com>
Signed-off-by: Đoàn Trần Công Danh <congdanhqx@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'compat/regex/regex_internal.h')
-rw-r--r-- | compat/regex/regex_internal.h | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/compat/regex/regex_internal.h b/compat/regex/regex_internal.h index 3ee8aae59d..0bad8b841e 100644 --- a/compat/regex/regex_internal.h +++ b/compat/regex/regex_internal.h @@ -23,7 +23,6 @@ #include <assert.h> #include <ctype.h> #include <stdio.h> -#include <stdlib.h> #include <string.h> #if defined HAVE_LANGINFO_H || defined HAVE_LANGINFO_CODESET || defined _LIBC |