Fix a compile error on musl-libc due to strerror_r() prototype
Function strerror_r() has different signatures in different
implementations of libc: glibc's version returns a char*, while BSDs
and musl return a int. libomp unconditionally assumes glibc on Linux
and thus fails to compile against musl-libc. This patch addresses this
issue.
Differential Revision: https://reviews.llvm.org/D25071
llvm-svn: 284492
diff --git a/openmp/runtime/src/kmp_i18n.c b/openmp/runtime/src/kmp_i18n.c
index 546e693..e008d1f 100644
--- a/openmp/runtime/src/kmp_i18n.c
+++ b/openmp/runtime/src/kmp_i18n.c
@@ -809,7 +809,7 @@
int strerror_r( int, char *, size_t ); // XSI version
*/
- #if KMP_OS_LINUX
+ #if defined(__GLIBC__) && defined(_GNU_SOURCE)
// GNU version of strerror_r.