[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
unsetenv on OSF/1
From: |
Bruno Haible |
Subject: |
unsetenv on OSF/1 |
Date: |
Sun, 19 Dec 2010 18:36:46 +0100 |
User-agent: |
KMail/1.9.9 |
On OSF/1, unsetenv() is also not declared by default. As a consequence,
there is an error in the C++ tests:
../gllib/stdlib.h:1022: error: 'unsetenv' was not declared in this scope
../gllib/stdlib.h:1022: error: invalid type in declaration before ';' token
and also the configure test "checking for unsetenv() return type..."
returns 'int' instead of 'void'. This fixes both problems.
2010-12-19 Bruno Haible <address@hidden>
unsetenv: Add missing declaration on OSF/1 5.1.
* lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
* m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
Don't set HAVE_UNSETENV. In the test program, set _BSD.
* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
not HAVE_UNSETENV.
* modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
HAVE_UNSETENV.
* doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
--- doc/posix-functions/unsetenv.texi.orig Sun Dec 19 18:33:17 2010
+++ doc/posix-functions/unsetenv.texi Sun Dec 19 18:09:52 2010
@@ -12,6 +12,9 @@
This function is missing on some platforms:
AIX 5.1, HP-UX 11.23, IRIX 6.5, Solaris 9, mingw, BeOS.
@item
+This function is not declared on some platforms:
+OSF/1 5.1.
address@hidden
This function has the return type @samp{void} instead of @samp{int} on some
platforms:
MacOS X 10.3, FreeBSD 6.0, NetBSD 1.6, OpenBSD 3.8, OSF/1 5.1.
--- lib/stdlib.in.h.orig Sun Dec 19 18:33:17 2010
+++ lib/stdlib.in.h Sun Dec 19 18:17:34 2010
@@ -704,12 +704,14 @@
_GL_FUNCDECL_RPL (unsetenv, int, (const char *name) _GL_ARG_NONNULL ((1)));
_GL_CXXALIAS_RPL (unsetenv, int, (const char *name));
# else
-# if address@hidden@
+# if address@hidden@
_GL_FUNCDECL_SYS (unsetenv, int, (const char *name) _GL_ARG_NONNULL ((1)));
# endif
_GL_CXXALIAS_SYS (unsetenv, int, (const char *name));
# endif
+# if !(@REPLACE_UNSETENV@ && address@hidden@)
_GL_CXXALIASWARN (unsetenv);
+# endif
#elif defined GNULIB_POSIXCHECK
# undef unsetenv
# if HAVE_RAW_DECL_UNSETENV
--- m4/setenv.m4.orig Sun Dec 19 18:33:17 2010
+++ m4/setenv.m4 Sun Dec 19 18:24:36 2010
@@ -1,4 +1,4 @@
-# setenv.m4 serial 19
+# setenv.m4 serial 20
dnl Copyright (C) 2001-2004, 2006-2010 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
@@ -57,9 +57,12 @@
AC_DEFUN([gl_FUNC_UNSETENV],
[
AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
+ AC_CHECK_DECLS_ONCE([unsetenv])
+ if test $ac_cv_have_decl_unsetenv = no; then
+ HAVE_DECL_UNSETENV=0
+ fi
AC_CHECK_FUNCS([unsetenv])
if test $ac_cv_func_unsetenv = no; then
- HAVE_UNSETENV=0
AC_LIBOBJ([unsetenv])
gl_PREREQ_UNSETENV
else
@@ -68,6 +71,8 @@
[AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM(
[[
+#undef _BSD
+#define _BSD 1 /* unhide unsetenv declaration in OSF/1 5.1 <stdlib.h> */
#include <stdlib.h>
extern
#ifdef __cplusplus
--- m4/stdlib_h.m4.orig Sun Dec 19 18:33:17 2010
+++ m4/stdlib_h.m4 Sun Dec 19 18:18:10 2010
@@ -1,4 +1,4 @@
-# stdlib_h.m4 serial 32
+# stdlib_h.m4 serial 33
dnl Copyright (C) 2007-2010 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
@@ -99,7 +99,7 @@
HAVE_STRUCT_RANDOM_DATA=1; AC_SUBST([HAVE_STRUCT_RANDOM_DATA])
HAVE_SYS_LOADAVG_H=0; AC_SUBST([HAVE_SYS_LOADAVG_H])
HAVE_UNLOCKPT=1; AC_SUBST([HAVE_UNLOCKPT])
- HAVE_UNSETENV=1; AC_SUBST([HAVE_UNSETENV])
+ HAVE_DECL_UNSETENV=1; AC_SUBST([HAVE_DECL_UNSETENV])
REPLACE_CALLOC=0; AC_SUBST([REPLACE_CALLOC])
REPLACE_CANONICALIZE_FILE_NAME=0; AC_SUBST([REPLACE_CANONICALIZE_FILE_NAME])
REPLACE_MALLOC=0; AC_SUBST([REPLACE_MALLOC])
--- modules/stdlib.orig Sun Dec 19 18:33:17 2010
+++ modules/stdlib Sun Dec 19 18:18:21 2010
@@ -78,7 +78,7 @@
-e 's|@''HAVE_STRUCT_RANDOM_DATA''@|$(HAVE_STRUCT_RANDOM_DATA)|g'
\
-e 's|@''HAVE_SYS_LOADAVG_H''@|$(HAVE_SYS_LOADAVG_H)|g' \
-e 's|@''HAVE_UNLOCKPT''@|$(HAVE_UNLOCKPT)|g' \
- -e 's|@''HAVE_UNSETENV''@|$(HAVE_UNSETENV)|g' \
+ -e 's|@''HAVE_DECL_UNSETENV''@|$(HAVE_DECL_UNSETENV)|g' \
-e 's|@''REPLACE_CALLOC''@|$(REPLACE_CALLOC)|g' \
-e
's|@''REPLACE_CANONICALIZE_FILE_NAME''@|$(REPLACE_CANONICALIZE_FILE_NAME)|g' \
-e 's|@''REPLACE_MALLOC''@|$(REPLACE_MALLOC)|g' \
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- unsetenv on OSF/1,
Bruno Haible <=