Florian Weimer's c99 patch from https://sourceforge.net/p/mcpp/patches/7/ Do not define and undefine _*_SOURCE macros. These have special semantics to glibc. may include , and which point the feature configuration gets frozen. Without this change, when system.c includes , the feature macros are hard-coded as baseline POSIX, which does not include readlink. This will lead to compilation errors with future compilers. diff --git a/src/configed.H b/src/configed.H index b4d1ebf3a6bfa280..bde16fc8db38a2c4 100644 --- a/src/configed.H +++ b/src/configed.H @@ -295,20 +295,7 @@ * ULONGMAX should be defined to the ULONG_MAX in . */ -/* _POSIX_* only to get PATH_MAX */ -#define _POSIX_ 1 -#define _POSIX_SOURCE 1 -#ifndef _POSIX_C_SOURCE -#define _POSIX_C_SOURCE 1 -#define _POSIX_C_SOURCE_defined 1 -#endif #include "limits.h" -#undef _POSIX_ -#undef _POSIX_SOURCE -#ifdef _POSIX_C_SOURCE_defined -#undef _POSIX_C_SOURCE -#undef _POSIX_C_SOURCE_defined -#endif #define CHARBIT CHAR_BIT #define UCHARMAX UCHAR_MAX #define USHRTMAX USHRT_MAX diff --git a/src/noconfig.H b/src/noconfig.H index 6b634fe0b32ff67c..7c923c900c8865dd 100644 --- a/src/noconfig.H +++ b/src/noconfig.H @@ -570,20 +570,7 @@ #include "stdio.h" /* PATHMAX is the maximum length of path-list on the host system. */ -/* _POSIX_* only to get PATH_MAX */ -#define _POSIX_ 1 -#define _POSIX_SOURCE 1 -#ifndef _POSIX_C_SOURCE -#define _POSIX_C_SOURCE 1 -#define _POSIX_C_SOURCE_defined 1 -#endif #include "limits.h" -#undef _POSIX_ -#undef _POSIX_SOURCE -#ifdef _POSIX_C_SOURCE_defined -#undef _POSIX_C_SOURCE -#undef _POSIX_C_SOURCE_defined -#endif #ifdef PATH_MAX #define PATHMAX PATH_MAX /* Posix macro */ #else