Attempting to use the mkostemp module in gdb caused a build failure when using the C++ namespace feature, because mkostemp was not declared. On OS X, mkostemp is declared in unistd.h, so this patch extends the existing special case in stdlib.in.h to cover mkostemp and mkostemps. --- ChangeLog | 5 +++++ lib/stdlib.in.h | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/ChangeLog b/ChangeLog index 8ef956b36..67091fb1e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2018-10-01 Tom Tromey <t...@tromey.com> + + * lib/stdlib.in.h: Include <unistd.h> for mkostemp and mkostemps + on OS X. + 2018-09-30 Pádraig Brady <p...@draigbrady.com> hmac-*: refactor to remove repetitive code diff --git a/lib/stdlib.in.h b/lib/stdlib.in.h index 3bf35bf6b..441c018ec 100644 --- a/lib/stdlib.in.h +++ b/lib/stdlib.in.h @@ -90,9 +90,10 @@ struct random_data # endif #endif -#if (@GNULIB_MKSTEMP@ || @GNULIB_MKSTEMPS@ || @GNULIB_GETSUBOPT@ || defined GNULIB_POSIXCHECK) && ! defined __GLIBC__ && !(defined _WIN32 && ! defined __CYGWIN__) +#if (@GNULIB_MKSTEMP@ || @GNULIB_MKSTEMPS@ || @GNULIB_MKOSTEMP@ || @GNULIB_MKOSTEMPS@ || @GNULIB_GETSUBOPT@ || defined GNULIB_POSIXCHECK) && ! defined __GLIBC__ && !(defined _WIN32 && ! defined __CYGWIN__) /* On Mac OS X 10.3, only <unistd.h> declares mkstemp. */ /* On Mac OS X 10.5, only <unistd.h> declares mkstemps. */ +/* On Mac OS X 10.13, only <unistd.h> declares mkostemp and mkostemps. */ /* On Cygwin 1.7.1, only <unistd.h> declares getsubopt. */ /* But avoid namespace pollution on glibc systems and native Windows. */ # include <unistd.h> -- 2.17.1