From: Werner LEMBERG Date: Mon, 15 Sep 2014 12:41:57 +0000 (+0100) Subject: strerror_r-posix: support compilation with C++ X-Git-Tag: v1.0~7299 X-Git-Url: https://gitweb.git.savannah.gnu.org/gitweb/?a=commitdiff_plain;h=ca194c036e830c3bc76fbce939f446307d9a561b;p=gnulib.git strerror_r-posix: support compilation with C++ * lib/strerror_r.c: Add necessary C linkage declarations. --- diff --git a/ChangeLog b/ChangeLog index fa7f84ff3d..3748237150 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2014-09-15 Werner LEMBERG + + strerror_r-posix: support compilation with C++ + * lib/strerror_r.c: Add necessary C linkage declarations. + 2014-09-11 Johannes Zarl fcntl-h: fix compilation with Intel C++ compiler (trivial) diff --git a/lib/strerror_r.c b/lib/strerror_r.c index 4aa96cbbcf..58e9a12d77 100644 --- a/lib/strerror_r.c +++ b/lib/strerror_r.c @@ -34,7 +34,11 @@ #if (__GLIBC__ >= 2 || defined __UCLIBC__ || defined __CYGWIN__) && HAVE___XPG_STRERROR_R /* glibc >= 2.3.4, cygwin >= 1.7.9 */ # define USE_XPG_STRERROR_R 1 -extern int __xpg_strerror_r (int errnum, char *buf, size_t buflen); +extern +#ifdef __cplusplus +"C" +#endif +int __xpg_strerror_r (int errnum, char *buf, size_t buflen); #elif HAVE_DECL_STRERROR_R && !(__GLIBC__ >= 2 || defined __UCLIBC__ || defined __CYGWIN__) @@ -63,6 +67,10 @@ extern int __xpg_strerror_r (int errnum, char *buf, size_t buflen); # include # endif +#ifdef __cplusplus +extern "C" { +#endif + /* Get sys_nerr, sys_errlist on HP-UX (otherwise only declared in C++ mode). Get sys_nerr, sys_errlist on IRIX (otherwise only declared with _SGIAPI). */ # if defined __hpux || defined __sgi @@ -75,6 +83,10 @@ extern char *sys_errlist[]; extern int sys_nerr; # endif +#ifdef __cplusplus +} +#endif + # else # include "glthread/lock.h"