From: Ian Beckwith Date: Sun, 11 Dec 2011 06:53:29 +0000 (+0000) Subject: Merge branch 'stable' X-Git-Tag: debian/20120404+stable-1~6 X-Git-Url: http://erislabs.net/gitweb/?a=commitdiff_plain;h=9723bfe9bb9af8309314ad6230f7661000ba03b1;hp=b6fc47fd187a95b687f3befd550dab7a8bf2dc58;p=gnulib.git Merge branch 'stable' --- diff --git a/ChangeLog b/ChangeLog index 59d2398e1..9891f8eb4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,7 +1,4628 @@ +2011-12-04 Bruno Haible + Jim Meyering + + tests: Avoid spurious error message on platforms without mktemp program. + * tests/init.sh (mktempd_): Run mktemp in a subcommand. + +2011-12-03 Bruno Haible + + Fix module descriptions syntax. + * modules/argv-iter (License): Fix syntax. + * modules/di-set (License): Likewise. + * modules/ino-map (License): Likewise. + Reported by Stefano Lattarini . + +2011-12-02 Paul Eggert + + stdalign: port to Clang 3.0 + Problem reported by Simon Josefsson in + . + * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0, + which has but which does not define alignof. + * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem. + +2011-12-01 Eric Blake + + mktempd: silence dd usage + * build-aux/mktempd (rand_bytes): Silence dd. + +2011-11-30 Simon Josefsson + + manywarnings: Don't mention gcc version in docstring. + * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix. Suggested by + Jim Meyering . + +2011-11-30 Jim Meyering + + hash: mark a few floating point constants with "f" suffix + * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR) + (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal + floating point constants with "f", since they're destined to be + saved/used as "float"s. + +2011-11-29 Paolo Bonzini + + float tests: Correct and re-enable assertion about LDBL_MIN_EXP. + * tests/test-float.c (test_long_double): Correct and re-enable the + assertion about LDBL_MIN_EXP that was disabled on 2011-08-31. + +2011-11-29 Matthew Wala (tiny change) + + Avoid subtracting two pointers that don't point into the same block. + * lib/argp-help.c (hol_append): Reorder pointer subtractions so that + only pointers into the same memory block are subtracted. We cannot + assume that sizeof (ptrdiff_t) == sizeof (void *). + +2011-11-29 Eric Blake + + maint.mk: add syntax check for use of compare from init.sh + * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule, + moved here from coreutils. + + manywarnings: drop -Wunsuffixed-float-constants + * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow + '1.0D', which is the only way to silence this warning for 'double'. + +2011-11-29 Jim Meyering + + hash: mark compute_bucket_size with the pure attribute + * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE. + + quotearg, propername: correct pragma guard expression + * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer. + * lib/propername.c: Likewise. Reported by Bernhard Voelker. + +2011-11-28 Jim Meyering + + propername: do not mark proper_name with the const attribute + * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST, + since it examines data pointed to by its parameter. + * lib/propername.c (proper_name): Instead, add a pragma to suppress + the suggestion from -Wsuggest-attribute=const. + + propername: mark one more function as const + * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST. + +2011-11-27 Jim Meyering + + mark functions with const and pure attributes + + Mark functions per suggestions from gcc-4.6 when using these options: + -Wsuggest-attribute=pure -Wsuggest-attribute=const. + Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros. + Follow these guidelines: when possible, apply the attribute to + an extern declaration, not to its definition. Apply it to the + definition only when the definition is static. + * lib/argmatch.h (argmatch, argmatch_to_argument): Mark. + * lib/argv-iter.h (argv_iter_n_args): Likewise. + * lib/base64.h (isbase64): Likewise. + * lib/basename-lgpl.c (last_component, base_len): Likewise. + * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise. + (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise. + (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise. + (c_tolower, c_toupper): Likewise. + * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise. + * lib/chdir-long.c (find_non_slash): Likewise. + * lib/dirname.h (base_len, dir_len, last_component): Likewise. + * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise. + * lib/file-type.h (file_type): Likewise. + * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise. + * lib/filevercmp.c (verrevcmp): Likewise. + * lib/freadahead.h (freadahead): Likewise. + * lib/fts.c (fts_maxarglen): Likewise. + * lib/hash-pjw.h (hash_pjw): Likewise. + * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str): + * lib/hash.c (is_prime, next_prime): Likewise. + * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise. + (hash_get_n_entries, hash_get_max_bucket_length): Likewise. + (hash_table_ok, hash_get_first, hash_string): Likewise. + (compute_bucket_size): Likewise. + * lib/i-ring.h (i_ring_empty): Likewise. + * lib/isnan.c (isnanl): Likewise. + * lib/math.h (isnanl, rpl_isnanl): Likewise. + * lib/memcasecmp.h (memcasecmp): Likewise. + * lib/memchr2.h (memchr2): Likewise. + * lib/memcmp2.h (memcmp2): Likewise. + * lib/parse-datetime.y (lookup_zone): Likewise. + * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup) + [!WINDOWS_SOCKETS]: Likewise. + * lib/strnlen1.h (strnlen1): Likewise. + * lib/uniwidth.in.h (uc_width): Likewise. + * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from + gcc's -Wsuggest-attribute=pure for quoting_options_from_style. + (quoting_options_from_style): Add a comment. + * lib/propername.h (proper_name): Add a comment. + +2011-11-27 Bruno Haible + + Remove unused macros from !_LIBC code in glibc-borrowed files. + * lib/fnmatch.c (STRCOLL): Remove macro. + * lib/fnmatch_loop.c (STRCOLL): Remove undef. + * lib/glob.c (__stat, __readdir64): Remove macros. + * lib/tempname.c (__open64, __xstat64): Remove macros. + Suggested by Paul Eggert. + +2011-11-27 Bruno Haible + + getcwd: Fix link error on MSVC 9. + * modules/getcwd (Depends-on): Add readdir, rewinddir. + +2011-11-27 Bruno Haible + + Don't set REPLACE_FOO to 1 if HAVE_FOO is 0. + * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if + HAVE_OPENDIR is 0. + * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if + HAVE_CLOSEDIR is 0. + * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2 + is 0. + * m4/dup3.m4 (gl_FUNC_DUP3): Update comments. + +2011-11-27 Bruno Haible + + getcwd: Fix bug from 2011-08-17. + * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on + platforms that need it. + * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return + code of 4 to be a failure, not a success. This ensures that + REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1. + +2011-11-27 Bruno Haible + + binary-io tests: Avoid test failure on mingw when libtool is used. + * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here. + Don't verify the size of t-bin-out1.tmp here. + * tests/test-binary-io.sh: Verify it here. + Reported by Simon Josefsson. + +2011-11-26 Bruno Haible + + Fix conflict between two instantiations of module 'unistd'. + * gnulib-tool (func_emit_autoconf_snippet): Substitute + ${include_guard_prefix} also in the autoconf snippet. + * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT. + * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize + GNULIB_UNISTD_H_GETOPT. + * modules/getopt-posix (configure.ac): Set the + GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable. + * modules/getopt-gnu (configure.ac): Likewise. + * modules/unistd (Makefile.am): Change the substitution value of + GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix. + Reported by Simon Josefsson. + +2011-11-25 Bruno Haible + + pagealign_alloc: Doc and comments. + * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc + module. + * lib/pagealign_alloc.c (pagealign_alloc): Add comment. + +2011-11-25 Jim Meyering + + test-update-copyright.sh: avoid false-positive failure + * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work + around false positive failure on Cygwin/Windows. The latter was + matching erroneously-created files with names like + update-copyright.test-ex.4.bak. Reported by Simon Josefsson. + +2011-11-25 Simon Josefsson + + valgrind-tests.m4: Avoid breakage if valgrind on bash fails. + * m4/valgrind-tests.m4: Check that the parameters that will be + used works, not just a subset of them. Reported by Bruno Haible + . + +2011-11-24 Jim Meyering + + test-stdalign.c: comment out long double tests + * tests/test-stdalign.c: Don't try to reduce alignment of long double + variables. That provokes errors like this from gcc-4.7.0 20111124: + error: '_Alignas' specifiers cannot reduce alignment of \ + 'static_longdouble_alignas'. + +2011-11-22 Jim Meyering + + init.sh: make "compare /dev/null FILE" output more readable + * tests/init.sh (compare_): Document the preferred order of arguments. + (emit_diff_u_header_): New function. + (compare_dev_null_): Emit a simulated diff, rather than just the + contents of the unexpected file. Suggestion from Bruno Haible. + +2011-11-21 Jim Meyering + Eric Blake + + init.sh: work around OSF/1 5.1's mishandling of /dev/null + * tests/init.sh: Make our compare function slightly more portable. + Reported by Bruno Haible in + http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020 + +2011-11-21 Simon Josefsson + + * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined + before using it, in code that ends up in config.h. + +2011-11-20 Bruno Haible + + getcwd: Work around getcwd bug on AIX 5..7. + * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require + AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1. + Use a different value for gl_cv_func_getcwd_path_max. Move the + definition of HAVE_PARTLY_WORKING_GETCWD from here... + * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke + gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'. + Define HAVE_MINIMALLY_WORKING_GETCWD. + * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms + where it is not even minimally working, that is, on AIX. + * tests/test-getcwd.c (test_long_name): Distinguish the same cases as + m4/getcwd-path-max.m4. + (main): Update exit code computation. + * doc/posix-functions/getcwd.texi: Mention list of platforms where + getcwd does not handle long file names. + +2011-11-20 Bruno Haible + + getcwd: Fix bug from 2009-09-10. + * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not + like "no". + +2011-11-20 Simon Josefsson + + * m4/manywarnings.m4: Add more warnings from gcc 4.6.2. + +2011-11-20 Bruno Haible + + fma tests: Avoid shadowing local variables. + * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result, + expected. + +2011-11-20 Bruno Haible + + copysignf tests: Fix. + * tests/test-copysignf.c: Fix signature check. + +2011-11-20 Bruno Haible + + fma: Remove unused code. + * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove + unused macros. + +2011-11-20 Bruno Haible + + sethostname: Fix doc about AIX. + * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks + sethostname; it has it. + + sethostname: Mention more portability problems. + * doc/glibc-functions/sethostname.texi: Mention the missing declaration + problem. + Reported by Ben Walton . + +2011-11-19 Bruno Haible + + Depend on module fcntl-h when AT_FDCWD is used. + * modules/utimens (Depends-on): Add fcntl-h. + * modules/areadlinkat (Depends-on): Likewise. + * modules/areadlinkat-with-size (Depends-on): Likewise. + * modules/faccessat (Depends-on): Likewise. + * modules/fchmodat (Depends-on): Likewise. + * modules/fchownat (Depends-on): Likewise. + * modules/getcwd (Depends-on): Likewise. + * modules/mkdirat (Depends-on): Likewise. + * modules/mkfifoat (Depends-on): Likewise. + * modules/readlinkat (Depends-on): Likewise. + * modules/symlinkat (Depends-on): Likewise. + * modules/dup2-tests (Depends-on): Likewise. + * modules/fdutimensat-tests (Depends-on): Likewise. + * modules/futimens-tests (Depends-on): Likewise. + +2011-11-19 Bruno Haible + + euidaccess: Update a comment. + * lib/euidaccess.c: Update comment about platforms with faccessat. + +2011-11-19 Bruno Haible + + openat: Fix file list. + * modules/openat (Files): Remove lib/at-func.c. + +2011-11-19 Bruno Haible + + fstatat: Simplify. + * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where + gnulib should define rpl_fstatat, there is a + "#define fstatat rpl_fstatat" in . + +2011-11-19 Bruno Haible + + Ensure 'inline' can be used in tests/test-utimens-common.h. + * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE. + * modules/futimens-tests (configure.ac): Likewise. + * modules/utimens-tests (configure.ac): Likewise. + * modules/utimensat-tests (configure.ac): Likewise. + +2011-11-19 Simon Josefsson + + * lib/hash.c (hash_insert): Use hash_insert_if_absent, + not hash_insert0. + (hash_insert_if_absent): Doc fix. + +2011-11-19 Simon Josefsson + + * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h. + +2011-11-18 Paul Eggert + + test-getcwd: disambiguate exit status + * tests/test-getcwd.c (test_long_name): Return 0..7. + (main): Exit with an unambiguous exit status. The old + code yielded a mysterious mixture of two failure codes. + + fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8 + * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not + HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define + rpl_fstatat or fstatat. This should fix the other problem + reported by Kai Habel in + . + A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson + + and I reproduced it on a Solaris 8 host we still have in production. + +2011-11-18 Jim Meyering + + hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent + * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0. + Add a sentence to the comment. + (hash_insert0): New function that simply calls hash_insert_if_absent. + * lib/hash.h (hash_insert_if_absent): Declare it. + (hash_insert0): Add deprecation attribute. + (_GL_ATTRIBUTE_DEPRECATED): Define. + * lib/di-set.c (di_set_insert): Use hash_insert_if_absent, + not hash_insert0. + * NEWS: Mention it, even though it's not really an incompatible change. + +2011-11-18 Dagobert Michelsen (tiny change) + + openat: avoid compilation failure due to lack of inclusion + * lib/openat.c: Include . + +2011-11-17 Paul Eggert + + * modules/getcwd (Depends-on): Add fdopendir. + This fixes one of the two problems reported by Kai Habel in + . + + modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug + stdalign problem reported by Ian Beckwith in + . + * modules/crypto/gc-arcfour (Depends-on): + Depend conditionally on crypto/arcfour. + * modules/crypto/gc-arctwo (Depends-on): + Depend conditionally on crypto/arctwo. + * modules/crypto/gc-des (Depends-on): + Depend conditionally on crypto/des. + * modules/crypto/gc-hmac-md5 (Depends-on): + Depend conditionally on crypto/hmac-md5. + * modules/crypto/gc-hmac-sha1 (Depends-on): + Depend conditionally on crypto/hmac-sha1. + * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax. + * modules/crypto/gc-md4 (Depends-on): + Depend conditionally on crypto/md4. + * modules/crypto/gc-md5 (Depends-on): + Depend conditionally on crypto/md5. + * modules/crypto/gc-rijndael (Depends-on): + Depend conditionally on crypto/rijndael. + * modules/crypto/gc-sha1 (Depends-on): + Depend conditionally on crypto/sha1. + * modules/crypto/gc-arcfour: + * modules/crypto/gc-arctwo: + * modules/crypto/gc-des: + * modules/crypto/gc-hmac-md5: + * modules/crypto/gc-hmac-sha1: + * modules/crypto/gc-md2: + * modules/crypto/gc-md4: + * modules/crypto/gc-md5: + * modules/crypto/gc-rijndael: + * modules/crypto/gc-sha1: + (Files, Depends-on, configure.ac): Remove now-unnecessary stuff, + now that the conditional dependencies do the work for us. + +2011-11-17 Jim Meyering + + tests: factor st_ctime-comparison out of two headers + * tests/test-utimens-common.h (ctime_compare): Define. + * tests/test-futimens.h (test_futimens): Replace open-coded equivalent. + * tests/test-lutimens.h (test_lutimens): Likewise. + * tests/test-utimens.h (test_utimens): Likewise. + + test-getcwd: don't leave behind a confdir3/ directory upon interrupt + Invoke the test program via an init.sh-using wrapper. + * tests/test-getcwd.sh: New file. + * modules/getcwd-tests (Files): Add it. + (Makefile.am) [TESTS]: Invoke the shell script wrapper. + +2011-11-01 Gary V. Vaughan + + gitlog-to-changelog: support multi-author commits. + The FSF cares about keeping track of all authors of patches to its + projects, but Git doesn't provide obvious support for multi-author + changesets. Consensus seems to be forming around the use of extra + Signed-off-by inspired lines in the log message formatted as + `Co-authored-by: A U Thor ' for round-tripping + multi-author commits between version control systems. + * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git + log message and output in standard ChangeLog multi-author format. + Reported by Peter Rosin + +2011-11-15 Ben Walton (tiny change) + Bruno Haible + + Fix some modules' file list. + * modules/fstatat (Files): Add m4/lstat.m4. + * modules/openat (Files): Likewise. + * modules/unlinkat (Files): Likewise. + +2011-11-15 Gary V. Vaughan + + maint.mk: fix tight-scope.mk generation in VPATH builds. + * top/maint.mk (tight-scope.mk): Make sure to prefix file + reference with $(srcdir) so that the file is found correctly even + when running `make syntax-check' in a VPATH build. + +2011-11-13 Bruno Haible + Jim Meyering + + Silence successful tests that use 'compare' on AIX, HP-UX, Solaris. + * tests/init.sh (compare): Remove "No differences encountered" or + synonymous output from the 'diff' program. + +2011-11-13 Bruno Haible + + Makefile: Tweak indentation. + * Makefile: Use tab as first character in every line that contains rule + commands. + +2011-11-13 Bruno Haible + + Syntax check for copyright statements. + * check-copyright: New file. + * Makefile (sc_check_copyright): New rule. + +2011-11-13 Simon Josefsson + + * build-aux/git-version-gen: Add --prefix to configure the tag + match string. + +2011-11-13 Simon Josefsson + + * build-aux/git-version-gen: Add --help and --version. + +2011-11-12 Jim Meyering + + revamp the other test-exclude?.sh scripts to use init.sh, too + * tests/test-exclude1.sh: Use init.sh. + * tests/test-exclude2.sh: Likewise. + * tests/test-exclude3.sh: Likewise. + * tests/test-exclude4.sh: Likewise. + * tests/test-exclude5.sh: Likewise. + * tests/test-exclude6.sh: Likewise. + * tests/test-exclude7.sh: Likewise. + * tests/test-exclude8.sh: Likewise. + * modules/exclude-tests (Files): List init.sh. + + test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails + These shell scripts ignored failure of the binary test-exclude, + so making the latter return 77 didn't cause them to be skipped. + * tests/test-exclude5.sh: Exit with test-exclude's error status + when that program fails. Revamp to use init.sh. + * tests/test-exclude2.sh: Likewise. + + test-exclude: fix a typo + * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir". + +2011-11-11 Bruno Haible + + obstack: Fix compilation error on MSVC 9. + * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier. + +2011-11-11 Jim Meyering + + test-exclude: skip tests rather than failing on deficient systems + * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD + and FNM_LEADING_DIR on systems that lack the definitions. This affects + at least Solaris 9. Reported and diagnosed by Dagobert Michelsen in + http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950 + +2011-11-10 Bruno Haible + + ptsname_r test: Avoid gcc warning on glibc systems. + * tests/test-ptsname_r.c (null_ptr): New function. + (test_errors): Use it. + +2011-11-10 Bruno Haible + + ptsname_r: Avoid compilation error on OSF/1 5.1. + * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1. + * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R. + * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the + function is not declared or incompatibly declared. + * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R. + * modules/ptsname_r (Depends-on, configure.ac): Update. + * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems. + +2011-11-10 Bruno Haible + + fstatat: Make cross-compilation guess succeed everywhere except on AIX. + * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST. + When cross-compiling, guess yes on all platforms except AIX. + Reported by Ludovic Courtès . + +2011-11-09 Bruno Haible + + ptsname_r tests: Fix bugs. + * tests/test-ptsname_r.c (test_errors): Change return type to 'void'. + Fix ptsname_r calls. Reduce loop rounds to a reasonable amount. + +2011-11-09 Paul Eggert + + fstatat: work with cross-compilation + Problem reported by Ludovic Courtès in + . + * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report + "cross-compiling" and assume the bug is present. Replace + FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with + an inverted sense, to be more conservative about our assumptions. + * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro. + +2011-11-09 Bruno Haible + + Improve MODULES.html output. + * modules/mkfifoat (Description): Use the word "function". + * modules/readlinkat (Description): Likewise. + * modules/symlinkat (Description): Likewise. + +2011-11-09 Eric Blake + + ptsname_r-tests: new test module + * modules/ptsname_r-tests: New module. + * tests/test-ptsname_r.c: New file. + + ptsname_r: new module + * modules/ptsname_r: New module. + * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file. + * lib/ptsname.c (__ptsname_r): Split... + * lib/ptsname_r.c: ...into new file. + * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl. + (gl_STDLIB_H_DEFAULTS): Set witness defaults. + * modules/stdlib (Makefile.am): Substitute witnesses. + * lib/stdlib.in.h (ptsname_r): Declare it. + * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it. + * MODULES.html.sh (Misc): Likewise. + * modules/ptsname (Depends-on): Alter dependency. + * doc/posix-functions/ptsname.texi (ptsname): Mention new module. + +2011-11-09 Jim Meyering + + announce-gen: be more concise when there's only one URL+tarball + * build-aux/announce-gen (get_tool_versions): When you distribute + only one type of tarball, combine the first two "Here are..." + sections and make the key-checking grammar independent of + how many tarballs there are. + +2011-11-09 Eric Blake + + openpty: provide a stub on mingw + * lib/pty.in.h (includes): Provide forward declarations. + * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub. + + raise: fix mingw handling of SIGPIPE + * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value. + +2011-11-08 Bruno Haible + + More conditional dependencies. + * modules/faccessat (Depends-on): Add conditions. + * modules/fchmodat (Depends-on): Likewise. + * modules/fchownat (Depends-on): Likewise. + * modules/fstatat (Depends-on): Likewise. + * modules/mkfifoat (Depends-on): Likewise. + * modules/readlinkat (Depends-on): Likewise. + * modules/symlinkat (Depends-on): Likewise. + * modules/unlinkat (Depends-on): Likewise. + * modules/utimensat (Depends-on): Likewise. + * modules/mkdirat (Depends-on): Add sys_stat. Add conditions. + * modules/linkat (Depends-on): Refine the conditions. + * modules/renameat (Depends-on): Likewise. + +2011-11-08 Bruno Haible + + faccessat: Move AC_LIBOBJ invocation to module description. + * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro. + (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ + invocation from here... + * modules/faccessat (configure.ac): ... to here. Invoke + gl_PREREQ_FACCESSAT. + +2011-11-08 Bruno Haible + + faccessat: Simplify autoconf macro. + * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT, + gl_FUNC_EUIDACCESS. + +2011-11-08 Bruno Haible + + renameat: Fix dependencies. + * modules/renameat (Depends-on): Add stdbool. + +2011-11-08 Bruno Haible + + mkfifoat: Fix module description. + * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR, + not gl_UNISTD_MODULE_INDICATOR. + +2011-11-08 Bruno Haible + + fstatat: Remove unused dependency. + * modules/fstatat (Depends-on): Remove fstat. + +2011-11-08 Simon Josefsson + + GNUmakefile: behave when Makefile is missing. + * top/GNUmakefile: Always initialize _build-aux and _autoreconf. + +2011-11-08 Bruno Haible + + openat: Conditionalize dependencies. + * lib/openat.c: Reduce the scope of some #includes. + * modules/openat (Depends-on): Add conditions. + +2011-11-07 Jim Meyering + + maint.mk: extract GPG key ID without using a temporary file + * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but + without using a temporary file. Based on a suggestion from Werner Koch + in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496 + +2011-11-07 Eric Blake + + grantpt: fix typo + * lib/stdlib.in.h (grantpt): Check correct function. + + maint.mk: silence new syntax check + * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @. + +2011-11-06 Bruno Haible + + Doc about floating-point and math API. + * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS. + * doc/posix-headers/math.texi: Mention problem with math_errhandling. + +2011-11-06 Bruno Haible + + stdalign tests: Skip the test when compiled by Sun C. + * tests/test-stdalign.c (main): Skip the test on Sun C. + +2011-11-06 Bruno Haible + + ansi-c++-opt: Complete the 2011-06-05 change. + * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but + does not support namespaces, set the variable to "no", not to ":". + +2011-11-06 Paul Eggert + + * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID. + +2011-11-06 Bruno Haible + + copysignl: Fix result for zero argument on HP-UX 11 with HP C. + * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function. + (minus_zerol) [HP-UX]: New macro. + (unary_minus) [HP-UX]: New function. + (copysignl) [HP-UX]: Use unary_minus function. + +2011-11-06 Bruno Haible + + ldexp, ldexpf, ldexpl: Enhance tests. + * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c + and tests/test-ldexpl.c. + * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, + LDEXP, MIN_EXP, MAX_EXP): New macros. + Include test-ldexp.h. + (main): Just call test_function. + * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h, + infinity.h, nan.h. + (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP, + MAX_EXP): New macros. + Include test-ldexp.h. + (x, y): Remove variables. + (main): Just call test_function. + * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h, + infinity.h, nan.h. + (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP, + MAX_EXP): New macros. + Include test-ldexp.h. + (x, y): Remove variables. + (main): Just call test_function. + * modules/ldexpl-tests (Files): Add tests/test-ldexp.h. + * modules/ldexp-tests (Files): Add tests/test-ldexp.h, + tests/minus-zero.h, tests/infinity.h, tests/nan.h. + (Depends-on): Add isnand-nolibm, signbit, float. + * modules/ldexpf-tests (Files): Add tests/test-ldexp.h, + tests/minus-zero.h, tests/infinity.h, tests/nan.h. + (Depends-on): Add isnanf-nolibm, signbit, float. + +2011-11-06 Bruno Haible + + math tests: Cosmetics. + * tests/test-math-c++.cc: Reorder declarations. + +2011-11-05 Bruno Haible + + fma*: Simplify test. + * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro. + (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements. + + Tests for module 'fmal'. + * modules/fmal-tests: New file. + * tests/test-fmal1.c: New file. + * tests/test-fmal2.c: New file. + + New module 'fmal'. + * lib/math.in.h (fmal): New declaration. + * lib/fmal.c: New file. + * m4/fmal.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL. + * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL, + REPLACE_FMAL. + * modules/fmal: New file. + * doc/posix-functions/fmal.texi: Mention the new module and the various + bugs. + + Tests for module 'fmaf'. + * modules/fmaf-tests: New file. + * tests/test-fmaf1.c: New file. + * tests/test-fmaf2.c: New file. + + New module 'fmaf'. + * lib/math.in.h (fmaf): New declaration. + * lib/fmaf.c: New file. + * m4/fmaf.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF. + * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF, + REPLACE_FMAF. + * modules/fmaf: New file. + * doc/posix-functions/fmaf.texi: Mention the new module and the various + bugs. + + Tests for module 'fma'. + * modules/fma-tests: New file. + * tests/test-fma1.c: New file. + * tests/test-fma1.h: New file. + * tests/test-fma2.c: New file. + * tests/test-fma2.h: New file. + + New module 'fma'. + * lib/math.in.h (fma): New declaration. + * lib/fma.c: New file. + * m4/fma.m4: New file. + * m4/fegetround.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA. + * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA, + REPLACE_FMA. + * modules/fma: New file. + * doc/posix-functions/fma.texi: Mention the new module and the various + bugs. + + Extend gl_MATHFUNC. + * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES. + Support 'void' as argument type. + * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation. + +2011-11-05 Jim Meyering + + maint.mk: also prohibit inclusion of dirent.h without use + * top/maint.mk (sc_prohibit_dirent_without_use): New rule. + +2011-11-05 Bruno Haible + + ldexpl tests: Avoid test failure on MSVC 9. + * tests/test-ldexpl.c (main): Use a temporary variable for the expected + value. Needed in order to enforce the conversion from a value greater + than LDBL_MAX to Infinity. + +2011-11-05 Bruno Haible + + New modules 'at-internal', 'openat-h', split off from module 'openat'. + * modules/at-internal: New file, extracted from modules/openat. + * modules/openat-h: New file. + * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't + invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR. + * modules/openat (Description): Add reference to POSIX function. + (Files): Remove lib/openat.h, lib/openat-proc.c. + (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h, + intprops, unistd. + (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke + gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke + gl_FCNTL_MODULE_INDICATOR. + (Include): Remove unistd.h, openat.h. + * modules/areadlinkat (Files): Add lib/at-func.c. + (Depends-on): Add at-internal, dosname, errno, extensions, fchdir, + openat-die, openat-h, save-cwd. + * modules/areadlinkat-with-size (Files): Add lib/at-func.c. + (Depends-on): Add at-internal, dosname, errno, extensions, fchdir, + openat-die, openat-h, save-cwd, unistd. + * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h. + (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die, + openat-h, save-cwd. Remove fcntl-h, openat. + * modules/fchmodat (Files): Remove lib/openat.h. + (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h, + openat, stdbool, unistd. + * modules/fchownat (Files): Remove lib/openat.h. + (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h, + openat, stdbool, sys_stat. + * modules/fdopendir (Files): Remove lib/openat-priv.h, + lib/openat-proc.c. + (Depends-on): Add at-internal. + (condigure.ac): Remove AC_LIBOBJ of openat-proc. + * modules/fstatat (Files): Remove lib/openat.h. + (Depends-on): Add at-internal, openat-h. Remove dirent, openat, + stdbool, unistd. + * modules/fts (Depends-on): Add openat-h. + * modules/linkat (Depends-on): Add at-internal, openat-h. Remove + openat. + * modules/mkdirat (Files): Remove lib/openat.h. + (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h, + openat, stdbool, sys_stat. + * modules/mkfifoat (Files): Add lib/at-func.c. + (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die, + openat-h, save-cwd. Remove fcntl-h, openat. + * modules/openat-die (Depends-on): Add openat-h. Remove openat. + * modules/readlinkat (Files): Add lib/at-func.c. + (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die, + openat-h, save-cwd. Remove fcntl-h, openat. + * modules/renameat (Depends-on): Add at-internal, openat-h. Remove + openat. + * modules/selinux-at (Files): Add lib/at-func.c. + (Depends-on): Add at-internal, dosname, errno, extensions, fchdir, + fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat. + * modules/symlinkat (Files): Add lib/at-func.c. + (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die, + openat-h, save-cwd. Remove fcntl-h, openat. + * modules/unlinkat (Files): Remove lib/openat.h. + (Depends-on): Add at-internal, openat-h. Remove dirent, openat, + stdbool. + * modules/utimensat (Files): Add lib/at-func.c. + (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h, + openat-die, openat-h, save-cwd. + * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat. + * modules/fdutimensat-tests (Depends-on): Add openat. + * modules/fstatat-tests (Depends-on): Add openat-h. + * modules/readlinkat-tests (Depends-on): Add openat. + * modules/symlinkat-tests (Depends-on): Add openat. + +2011-11-05 Bruno Haible + + openat: Include . + * lib/openat.c: Include . + +2011-11-04 Bruno Haible + + fchownat, renameat, unlinkat: Fix dependencies. + * modules/fchownat (Depends-on): Add fstatat. + * modules/renameat (Depends-on): Likewise. + * modules/unlinkat (Depends-on): Likewise. + +2011-11-04 Paul Eggert + + openat: remove direct dependency on dirent + * lib/openat.h: Don't include ; it's no longer needed, + and hasn't been needed ever since fdopendir was split into its own + module on 2009-08-31. + * modules/openat (Depends-on): Remove dirent. + +2011-11-04 Bruno Haible + + renameat: Optimize code size. + * modules/renameat (configure.ac): Don't compile at-func2.c if + REPLACE_RENAMEAT is 1. + +2011-11-04 Bruno Haible + + openat tests: Fix file list. + * modules/openat-tests (Files): Add tests/test-open.h. + +2011-11-04 Bruno Haible + + openat, fchmodat, fchownat, linkat, renameat: Fix dependencies. + * modules/fchmodat (Depends-on): Add openat-die. + * modules/fchownat (Depends-on): Likewise. + * modules/linkat (Depends-on): Likewise. + * modules/renameat (Depends-on): Likewise. + * modules/openat (Depends-on): Add dirent. + +2011-11-04 Jim Meyering + + at-func*.c: fix comments + * lib/at-func2.c: Correct/improve first-line comment. + * lib/at-func.c: Correct grammar in first-line comment. + +2011-11-04 Bruno Haible + + New module 'mkdirat', split off from module 'openat'. + * m4/mkdirat.m4: New file. extracted from m4/openat.m4. + * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS. + Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT. + * modules/mkdirat: New file, extracted from modules/openat. + * modules/openat (Files): Remove lib/mkdirat.c. + (Depends-on): Remove mkdir. + (configure.ac): Remove AC_LIBOBJ of mkdirat. + (Include): Remove . + * modules/mkdirat-tests: New file, extracted from modules/openat-tests. + * modules/openat-tests (Files): Remove tests/test-mkdirat.c, + tests/test-mkdir.h. + (Depends-on): Remove ignore-value. + (Makefile.am): Remove rules for test-mkdirat. + * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead + of module 'openat'. + * NEWS: Mention the change. + +2011-11-04 Bruno Haible + + closedir: Avoid warning on mingw. + * lib/closedir.c: Include . + +2011-11-04 Bruno Haible + + New module 'fstatat', split off from module 'openat'. + * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is + defined. + * m4/fstatat.m4: New file. extracted from m4/openat.m4. + * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke + gl_FUNC_FSTATAT. + (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4. + * modules/fstatat: New file, extracted from modules/openat. + * modules/openat (Files): Remove lib/fstatat.c. + (Depends-on): Remove lstat. + (configure.ac): Remove AC_LIBOBJ of fstatat. + * modules/fstatat-tests: New file, extracted from modules/openat-tests. + * modules/openat-tests (Files): Remove tests/test-fstatat.c, + tests/test-lstat.h, tests/test-stat.h. + (Depends-on): Remove getcwd-lgpl. + (Makefile.am): Remove rules for test-fstatat. + * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead + of module 'openat'. + * NEWS: Mention the change. + * modules/getcwd (Depends-on): Add fstatat. + * modules/linkat (Depends-on): Likewise. + * modules/mkfifoat-tests (Depends-on): Likewise. + * modules/utimensat (Depends-on): Add fstatat. Remove openat. + +2011-11-03 Bruno Haible + + New module 'unlinkat', split off from module 'openat'. + * m4/unlinkat.m4: New file, extracted from m4/openat.m4. + * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT, + REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat. + * modules/unlinkat: New file, extracted from modules/openat. Correct + the dependency conditions. + * modules/openat (Files): Remove lib/unlinkat.c. + (Depends-on): Remove rmdir, unlink. + (configure.ac): Remove AC_LIBOBJ of unlinkat. + * modules/unlinkat-tests: New file, extracted from modules/openat-tests. + * modules/openat-tests (Files): Remove tests/test-unlinkat.c, + tests/test-rmdir.h, tests/test-unlink.h. + (Depends-on): Remove unlinkdir. + (Makefile.am): Remove rules for test-unlinkat. + * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead + of module 'openat'. + * NEWS: Mention the change. + * modules/linkat-tests (Depends-on): Add unlinkat. + * modules/mkfifoat-tests (Depends-on): Likewise. + * modules/readlinkat-tests (Depends-on): Likewise. + +2011-11-02 Bruno Haible + + New module 'fchmodat', split off from module 'openat'. + * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is + defined. + * m4/fchmodat.m4: New file, extracted from m4/openat.m4. + * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test + for fchmodat, lchmod. Don't set HAVE_FCHMODAT. + * modules/fchmodat: New file, extracted from modules/openat. + * modules/openat (Files): Remove lib/fchmodat.c. + (configure.ac): Remove AC_LIBOBJ of fchmodat. + * modules/fchmodat-tests: New file, extracted from modules/openat-tests. + * modules/openat-tests (Files): Remove tests/test-fchmodat.c. + (Makefile.am): Remove rules for test-fchmodat. + * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead + of module 'openat'. + * NEWS: Mention the change. + +2011-11-02 Jim Meyering + + putenv: indent #definition of "environ" to placate cppi + * lib/putenv.c (environ): Make indentation reflect cpp nesting. + + gitlog-to-changelog: provide a ChangeLog-repair mechanism + Git logs are often treated as immutable, because editing them + changes the SHA1 checksums of all descendants. Thus, errors in + git logs tend to stay there forever. However, when we generate + a ChangeLog file -- typically for distribution -- from that git log, + we can actually make corrections in the generated file. The key + lies in recording in machine-readable/applicable form the desired + corrections. See --help for description and an example. + * build-aux/gitlog-to-changelog (parse_amend_file): New function. + (usage): Describe it; alphabetize option descriptions. + (main): Honor the new option, carefully. + +2011-11-01 Jim Meyering + + gitlog-to-changelog: avoid an infloop + * build-aux/gitlog-to-changelog: Don't infloop for a commit log + that ends up being empty. + +2011-11-01 Paul Eggert + + * MODULES.html.sh: Fix sed-script shell quoting and locale issues. + (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with + bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED + contains (possibly-quoted) backslashes. This should avoid + all-too-common shell bugs if COMPLICATED contains backslashes in + the "wrong" places. Reported by David Evans in + . + When 'sed' uses character ranges like A-Z, invoke it in the C locale, + because we want ASCII ranges. Is there some reason we don't use + the C locale everywhere in this script? + (func_module, top level): Avoid unwanted pathname expansion when + $repo_url_prefix or $repo_url_suffix_repl contain shell + metacharacters like '?' and '*'. + +2011-11-01 Bruno Haible + + fchownat: Improve description. + * modules/fchownat (Description): Add link to function. + +2011-11-01 Paul Eggert + + * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8. + mingw supports alignments only up to 8 (!). Reported by Bruno Haible in + . + * doc/posix-headers/stdalign.texi (stdalign.h): Document this. + +2011-11-01 Bruno Haible + + alignof: Avoid collision with stdalign module. + * lib/alignof.h (alignof): Remove macro. + * NEWS: Mention the change. + Reported by Paul Eggert. + +2011-11-01 Bruno Haible + + New module 'fchownat', split off from module 'openat'. + * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is + defined. + * m4/fchownat.m4: New file, extracted from m4/openat.m4. + * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't + invoke gl_FUNC_FCHOWNAT. + (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG, + gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4. + * modules/fchownat: New file, extracted from modules/openat. + * modules/openat (Files): Remove lib/fchownat.c. + (Depends-on): Remove lchown. + (configure.ac): Remove AC_LIBOBJ of fchownat. + * modules/fchownat-tests: New file, extracted from modules/openat-tests. + * modules/openat-tests (Files): Remove tests/test-fchownat.c, + tests/test-chown.h, tests/test-lchown.h, tests/nap.h. + (Depends-on): Remove mgetgroups, usleep, stat-time. + (configure.ac): Remove test for getegid. + (Makefile.am): Remove rules for test-fchownat. + * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead + of module 'openat'. + * NEWS: Mention the change. + +2011-10-31 Paul Eggert + + stdalign: port better to MSVC and to Sun C 5.11 + This fixes some of the problems reported by Bruno Haible in + . + * doc/posix-headers/stdalign.texi (stdalign.h): Document more + shortcomings of MSVC and of Sun C 5.11. + * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis + around __declspec arg. + * modules/stdalign-tests (Files): Add tests/macros.h. + * tests/test-stdalign.c: Do not include ; no longer needed. + Include macros.h, for ASSERT. + (DECLARE_ALIGNED): Remove. + (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely + to catch bug), and to 1 if not (simplifies the rest of the code). + (CHECK_STATIC): Always declare the alignment test vars; that's simpler. + (CHECK_AUTO): Remove. + (CHECK_ALIGNED): Check only the alignment of the static vars, + since auto var alignment isn't supported by Sun C 5.11. + (CHECK_TYPES): Remove. All uses replaced by inline code, so that + ASSERT failures are easier to diagnose. + +2011-10-31 Bruno Haible + + doc about some IRIX 5.3 problems. + * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration + on IRIX 5.3. + * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3. + * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX + 5.3. + * doc/posix-functions/grantpt.texi: Likewise. + * doc/posix-functions/unlockpt.texi: Likewise. + * doc/posix-functions/lgamma.texi: Likewise. + * doc/posix-functions/nextafter.texi: Likewise. + * doc/posix-functions/remainder.texi: Likewise. + * doc/posix-functions/select.texi: Mention misplaced declaration on + IRIX 5.3. + Reported by Tom G. Christensen . + +2011-10-31 Dmitry V. Levin + + gitlog-to-changelog: fix git-log invocation. + git-log mishandles date strings before 1970-01-01 UTC, and there is + no use to specify --since=1970-01-01 by default anyway. + * build-aux/gitlog-to-changelog: By default, when no --since option + was given, do not specify explicit --since option to git-log. + +2011-10-30 Dmitry V. Levin + + gitlog-to-changelog: new option --append-dot. + * build-aux/gitlog-to-changelog: New option --append-dot, makes the + first non-blank line of each commit message terminated with a dot. + +2011-10-30 Bruno Haible + + ffsl, ffsll: Avoid compilation error due to 'restrict'. + * lib/ffsl.h: Include . + Suggested by Tom G. Christensen . + +2011-10-30 Jim Meyering + + GNUmakefile: reenable "make syntax-check" for most projects + Since Friday's commit 05e2d798, "maint.mk: don't maintain a second + build-aux variable", "syntax-check" would do nothing but succeed with + the "No version control files detected..." diagnostic (unless you + happened to override _build-aux via cfg.mk). + * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions + to precede inclusion of maint.mk. Otherwise, these variables would + be used undefined in any project that does not override the default. + +2011-10-29 Dmitry V. Levin + + gitlog-to-changelog: treat a message with only blank lines as empty. + * build-aux/gitlog-to-changelog: Move the code that removes leading and + trailing blank lines before the code that issues a warning about an + empty commit message. + +2011-10-30 Jim Meyering + + test-parse-datetime.c: avoid new DST-related false positive test failure + * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset" + based on the time/date we'll convert, not the current time. + Otherwise, the moment we cross a DST boundary like today's in + Europe, (CEST to CET), that offset ends up being one hour off. + +2011-10-27 Bruno Haible + + fstat: Tweak documentation. + * modules/fstat (Description): More precise description. + +2011-10-27 Bruno Haible + + Update documentation regarding 'largefile' module. + * doc/posix-functions/fstat.texi: Tweak wording. + * doc/posix-functions/opendir.texi: Mention that the module fixes the + problems with huge directories and/or small ino_t types. + * doc/posix-functions/readdir.texi: Likewise. + * doc/posix-functions/rewinddir.texi: Likewise. + +2011-10-28 Gary V. Vaughan + + maint.mk: don't maintain a second build-aux variable. + * maint.mk (build_aux): Removed. The maintainer-makefile module + depends on GNUmakefile, which already maintains a cfg.mk + overridable $(_build-aux) for projects with a non-standard + build-aux directory location, although without the $(srcdir) + prefix. Use that variable consistently instead of introducing a + second one. Adjust all call sites. + +2011-10-27 Paul Eggert + + Add stdalign module and use it in other modules. + This is based on a previous proposal by Bruno Haible + . + + stdalign: new module + * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4: + * modules/stdalign: New files. + * MODULES.html.sh (c1x_core_properties): Add stdalign. + * doc/gnulib.texi (Header File Substitutes): Add stdalign. + + stdalign-tests: new module + * modules/stdalign-tests, tests/test-stdalign.c: New files. + + argp: use stdalign + * lib/argp-parse.c: Include . + (alignof): Remove. + * modules/argp (Depends-on): Add stdalign. + + crypto libraries: use stdalign + * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c: + Include and . Do not include . + Do not include twice, in md4.c. + (UNALIGNED_P): Simplify by using alignof. Use uintptr_t, not size_t, + because we are accessing a pointer's bit-pattern, not a size. + * modules/crypto/gc-md4 (Depends-on): Add stdalign. + * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4: + * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256: + * modules/crypto/sha512: Likewise. + + sys_socket: use stdalign, not alignof + * lib/sys_socket.in.h: Include instead of . + * modules/sys_socket (Depends-on): Depend on stdalign, not alignof. + +2011-10-27 Bruno Haible + + raise test: Avoid a test failure on Linux/MIPS. + * tests/test-raise.c (main): Try raising signal 199, not 99. Needed + because 99 is a valid signal on Linux/MIPS. + +2011-10-27 Bruno Haible + + nonblocking tests: Fix test failure on Linux/MIPS. + * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]: + Set to 270000. + +2011-10-27 Bruno Haible + + utimensat: Work around problem on Linux/hppa. + * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec + values. + * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa. + +2011-10-25 Jim Meyering + + maint.mk: fix a bug in sc_prohibit_stddef_without_use + * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/ + after symbols like NULL, size_t, etc. + Reported by Alfred M. Szmidt. + + maint.mk: exempt ENODATA from a syntax-check rule + * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA + from the sc_prohibit_always-defined_macros syntax-check rule. + Add a comment. See this for more details: + http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795 + +2011-10-23 Jim Meyering + + fts: close parent dir FD before returning from post-traversal fts_read + The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to + unlink A, even though an FD open on A remained. This is suboptimal + (holding a file descriptor open longer than needed), but otherwise not + a problem on Unix-like kernels. However, on Cygwin with certain Novell + file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html), + that represents a real problem: it causes the removal of A to fail + with e.g., "rm: cannot remove `A': Device or resource busy" + + fts visits each directory twice and keeps a cache (fts_fd_ring) of + directory file descriptors. After completing the final, FTS_DP, + visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD + cache, but then proceeded to add a new FD to it via the subsequent + FCHDIR (which calls cwd_advance_fd and i_ring_push). Before, the + final file descriptor would be closed only via fts_close's call to + fd_ring_clear. Now, it is usually closed earlier, via the final + FTS_DP-returning fts_read call. + * lib/fts.c (restore_initial_cwd): New function, converted from + the macro. Call fd_ring_clear *after* FCHDIR, not before it. + Update callers. + Reported by Franz Sirl via the above URL, with analysis by Eric Blake + in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739 + +2011-10-23 Gary V. Vaughan + Bruno Haible + Jim Meyering + + readme-release: improve safety of release prep instructions. + * README-release: Don't git pull all branches when only master + is needed for the release process. + Run make maintainer-clean before changing trees and merging. + Don't try to run ./configure right after git pull in case files + that influence the bootstrap process have changed, move the + ./configure step to after running ./bootstrap. + Don't bootstrap "one last time"... it's the first time! + +2011-10-22 Bruno Haible + + errno, strerror-override: Support for MSVC 10. + * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro. + (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP, + ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK, + EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT, + EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN, + ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT, + ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]: + Assign values compatible with MSVC 10. + (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER): + New macros. + (GNULIB_defined_EWINSOCK): New macro. + * lib/strerror-override.c (strerror_override): Update accordingly. + * lib/strerror-override.h: Likewise. + * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no + longer equal to the corresponding errno value. + Reported by Michael Goffioul . + +2011-10-22 Bruno Haible + + perror: Recognize when test program crashes. + * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to + strerror, set gl_cv_func_perror_works to no. + Reported by Daniel Richard G. . + + perror: Fix indentation. + * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation. + +2011-10-22 Bruno Haible + + isfinite, isinf, isnan, signbit: Don't define as a macro in C++. + * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1, + _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS. + (isfinite, isinf, isnan, signbit): In C++, define as overloaded + functions, not as a macro. + * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New + macros. + (isfinite, isinf, isnan, signbit): Check overloaded functions and + absence of macro. + Suggested by Eric Blake. + Reported by Michael Goffioul . + +2011-10-21 Bruno Haible + + relocatable-prog-wrapper: Don't leave object files behind. + * build-aux/install-reloc: Re-synchronize list of .o files to be + removed with list of compilation units. + +2011-10-20 Bruno Haible + + openpty, posix_openpt: Remove code duplication. + * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c. + * lib/openpty.c: Include . + (openpty): Use posix_openpt on all platforms except IRIX. + * modules/openpty (Depends-on): Add posix_openpt. Add conditions. + +2011-10-20 Bruno Haible + + unlockpt: Detect invalid argument. + * lib/unlockpt.c: Include . + (unlockpt): Check whether fd is valid, using fcntl(). + * modules/unlockpt (Depends-on): Add fcntl-h. + +2011-10-20 Bruno Haible + + openpty: Avoid compilation error on AIX 6.1. + * lib/pty.in.h [AIX]: Include , for 'struct winsize'. + +2011-10-20 Bruno Haible + + posix_openpt: Support for OpenBSD. + * lib/posix_openpt.c [OpenBSD]: Include , . + (posix_openpt) [OpenBSD]: New code. + * lib/grantpt.c: Include . + (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else. + * modules/grantpt (Depends-on): Add fcntl-h. + +2011-10-20 Bruno Haible + + posix_openpt test: Coding style. + * tests/test-posix_openpt.c: Use GNU coding style. + +2011-10-20 Bruno Haible + + grantpt: Support --avoid=pt_chown. + * modules/grantpt (Files): Add lib/pty-private.h. + +2011-10-20 Bruno Haible + + posix_openpt: Fix autoconf macro. + * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove + unneeded check for _getpty. + +2011-10-20 Bruno Haible + + openpty: Update comments. + * lib/openpty.c: Add comments about Minix. + +2011-10-19 Eric Blake + + openpty: relax license + * modules/openpty (License): Change from LGPLv3+ to LGPLv2+. + + pt_chown: use configmake to simplify build + * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake. + + ptsname and others: relax license + * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+. + * modules/unlockpt (License): Likewise. + * modules/pt_chown (License): Likewise. + * modules/ptsname (License): Likewise. + * modules/ttyname_r (License): Likewise. + +2011-10-19 Jim Meyering + + posix_openpt: remove spurious #endif + * lib/posix_openpt.c (posix_openpt): Remove spurious #endif. + +2011-10-19 Gary V. Vaughan + + maint.mk: Respect $(build_aux) in web-manual rule. + * top/maint.mk (web-manual): Find gen-announce script in user's + $(build_aux) directory instead of hard-coding 'build-aux'. + +2011-10-19 Bruno Haible + + posix_openpt: Fix compilation error. + * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty. + * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code. + Mention the openpty module as an alternative. + +2011-10-19 Bruno Haible + + Support for old NeXTstep 3.3 frexp(). + * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the + execution time of the test to 5 seconds. + Reported by Daniel Richard G. . + +2011-10-19 Bruno Haible + + Support for old NeXTstep 3.3 sed. + * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address + part, use /.../, not \|...|. Escape periods in the header file name. + * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise. + Reported by Daniel Richard G. . + +2011-10-18 Daniel Richard G. (tiny change) + + Support for old NeXTstep 3.3 gcc. + * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write + 'defined __STRICT_ANSI__', not '__STRICT_ANSI__'. + * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise. + * lib/spawn.in.h (_Restrict_arr_): Likewise. + * lib/regex.h (_Restrict_arr_): Likewise. + * lib/regex_internal.h (re_token_t): Likewise. + * lib/regexec.c (check_node_accept_bytes): Likewise. + * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise. + +2011-10-18 Eric Blake + + posix_openpt: new module + * modules/posix_openpt: New module. + * m4/posix_openpt.m4: New file. + * lib/posix_openpt.c: Likewise. + * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl. + (gl_STDLIB_H_DEFAULTS): Set defaults. + * modules/stdlib (Makefile.am): Substitute macros. + * lib/stdlib.in.h (posix_openpt): Declare. + * MODULES.html.sh (systems lacking POSIX:2008): Document it. + * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise. + * modules/posix_openpt-tests: New test module. + * tests/test-posix_openpt.c: New test. + +2011-10-15 Bruno Haible + + xstrtoll: Fix compilation failure. + * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken + from lib/strtol.c. + * doc/posix-headers/limits.texi: Mention missing numerical limits on + some platforms. + Reported by Tom G. Christensen . + +2011-10-15 Bruno Haible + + vasnprintf: Optimize bit search operation. + * lib/vasnprintf.c (divide): Use optimizations from integer_length.c. + * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require + gl_DOUBLE_EXPONENT_LOCATION. + * modules/vasnprintf (Files): Add m4/exponentd.m4. + * modules/unistdio/u8-vasnprintf (Files): Likewise. + * modules/unistdio/u8-u8-vasnprintf (Files): Likewise. + * modules/unistdio/u16-vasnprintf (Files): Likewise. + * modules/unistdio/u16-u16-vasnprintf (Files): Likewise. + * modules/unistdio/u32-vasnprintf (Files): Likewise. + * modules/unistdio/u32-u32-vasnprintf (Files): Likewise. + * modules/unistdio/ulc-vasnprintf (Files): Likewise. + * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE. + +2011-10-15 Bruno Haible + + vasnprintf: Fix comments. + * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments. + +2011-10-14 Bruno Haible + + Tests for module 'integer_length_ll'. + * modules/integer_length_ll-tests: New file. + * tests/test-integer_length_ll.c: New file. + + New module 'integer_length_ll'. + * lib/integer_length_ll.c: New file. + * modules/integer_length_ll: New file. + +2011-10-14 Bruno Haible + + Tests for module 'integer_length_l'. + * modules/integer_length_l-tests: New file. + * tests/test-integer_length_l.c: New file. + + New module 'integer_length_l'. + * lib/integer_length_l.c: New file. + * modules/integer_length_l: New file. + +2011-10-14 Bruno Haible + + Tests for module 'integer_length'. + * modules/integer_length-tests: New file. + * tests/test-integer_length.c: New file. + + New module 'integer_length'. + * lib/integer_length.h: New file. + * lib/integer_length.c: New file. + * modules/integer_length: New file. + +2011-10-14 Daniel Richard G. (tiny change) + + popen: Fix dependency conditions. + * modules/popen (Depends-on, configure.ac): Fix shell syntax error. + +2011-10-14 Daniel Richard G. (tiny change) + + perror: Fix autoconf test. + * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include + and . + +2011-10-14 Bruno Haible + + ffsl: Optimize on 64-bit platforms. + * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop + unrolling. + +2011-10-13 Bruno Haible + + ffsl: Optimize on 32-bit platforms. + * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just + use ffs() without a loop. + + ffsl, ffsll: Optimize for GCC. + * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined. + * lib/ffsl.c (GCC_BUILTIN): New macro. + * lib/ffsll.c (GCC_BUILTIN): Likewise. + +2011-10-13 Bruno Haible + + ffs, bcopy, memset: Support symbol renaming via config.h. + * lib/ffs.c: Include . + * lib/bcopy.c: Likewise. + * lib/memset.c: Likewise. + +2011-10-10 Bruno Haible + + atanl: Simplify for platforms where 'long double' == 'double'. + * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New + alternative implementation. + * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE. + Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE. + * modules/atanl (Depends-on): Add atan. Update conditions. + +2011-10-10 Bruno Haible + + acosl: Simplify for platforms where 'long double' == 'double'. + * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New + alternative implementation. + * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE. + Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE. + * modules/acosl (Depends-on): Add acos. Update conditions. + +2011-10-10 Bruno Haible + + asinl: Simplify for platforms where 'long double' == 'double'. + * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New + alternative implementation. + * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE. + Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE. + * modules/asinl (Depends-on): Add asin. Update conditions. + +2011-10-10 Bruno Haible + + tanl: Simplify for platforms where 'long double' == 'double'. + * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative + implementation. + * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE. + Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE. + * modules/tanl (Depends-on): Add tan. Update conditions. + (configure.ac): Don't compile trigl.c if + HAVE_SAME_LONG_DOUBLE_AS_DOUBLE. + +2011-10-10 Bruno Haible + + cosl: Simplify for platforms where 'long double' == 'double'. + * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative + implementation. + * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE. + Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE. + * modules/cosl (Depends-on): Add cos. Update conditions. + (configure.ac): Don't compile sincosl.c and trigl.c if + HAVE_SAME_LONG_DOUBLE_AS_DOUBLE. + +2011-10-10 Bruno Haible + + sinl: Simplify for platforms where 'long double' == 'double'. + * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative + implementation. + * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE. + Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE. + * modules/sinl (Depends-on): Add sin. Update conditions. + (configure.ac): Don't compile sincosl.c and trigl.c if + HAVE_SAME_LONG_DOUBLE_AS_DOUBLE. + +2011-10-10 Bruno Haible + + logl: Simplify for platforms where 'long double' == 'double'. + * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative + implementation. + * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE. + Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE. + * modules/logl (Depends-on): Add log. Update conditions. + +2011-10-10 Bruno Haible + + expl: Simplify for platforms where 'long double' == 'double'. + * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative + implementation. + * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE. + Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE. + * modules/expl (Depends-on): Add exp. Update conditions. + +2011-10-10 Bruno Haible + + sqrtl: Simplify for platforms where 'long double' == 'double'. + * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New + alternative implementation. + * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE. + Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE. + * modules/sqrtl (Depends-on): Update conditions. + +2011-10-10 Bruno Haible + + ldexpl: Simplify for platforms where 'long double' == 'double'. + * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New + alternative implementation. + * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE. + Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE. + * modules/ldexpl (Depends-on): Add ldexp. Update conditions. + +2011-10-10 Tom G. Christensen (tiny change) + + ffsll: set correct witness + * modules/ffsll (configure.ac): Fix typo. + +2011-10-10 Bruno Haible + + printf-frexpl: Simplify for platforms where 'long double' == 'double'. + * lib/printf-frexpl.c: Include . + (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function. + * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include a + second time. + * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require + gl_LONG_DOUBLE_VS_DOUBLE. + * modules/printf-frexpl (Depends-on): Add printf-frexp. Update + conditions. + +2011-10-10 Bruno Haible + + frexpl: Simplify for platforms where 'long double' == 'double'. + * lib/frexpl.c: Include . + (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function. + * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include a second + time. + * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE. + Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE. + (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE. + * modules/frexpl (Depends-on): Add frexp. Update conditions. + * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update + conditions. + +2011-10-10 Jim Meyering + + test-renameat: don't leave behind a temporary file + * tests/test-renameat.c (main): Don't forget to remove a temporary file. + ERROR: files left in build directory after distclean: + ./gltests/test-renameat.too + make[1]: *** [distcleancheck] Error 1 + Reported by Tom G. Christensen. + +2011-10-09 Bruno Haible + + rint: Determine RINT_LIBM correctly on AIX 7. + * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also + directly, not only through a function pointer. Also accept an optional + 4th argument with extra code. + * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a + rintf() call by gcc when optimizing. + + mathfunc.m4: Refactor. + * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary + m4 variable. + +2011-10-09 Bruno Haible + + rintl: Simplify for platforms where 'long double' == 'double'. + * lib/rintl.c: Include . + (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function. + * lib/rint.c [!USE_LONG_DOUBLE]: Don't include a second + time. + * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE. + Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE. + * modules/rintl (Depends-on): Add rint. Update conditions. + +2011-10-09 Bruno Haible + + roundl: Simplify for platforms where 'long double' == 'double'. + * lib/roundl.c: Include . + (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function. + * lib/round.c [!USE_LONG_DOUBLE]: Don't include a second + time. + * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE. + Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE. + * modules/roundl (Depends-on): Add round. Update conditions. + +2011-10-09 Bruno Haible + + truncl: Simplify for platforms where 'long double' == 'double'. + * lib/truncl.c: Include . + (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function. + * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include a second + time. + * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE. + Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE. + * modules/truncl (Depends-on): Add trunc. Update conditions. + +2011-10-09 Bruno Haible + + ceill: Simplify for platforms where 'long double' == 'double'. + * lib/ceill.c: Include . + (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function. + * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include a second + time. + * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE. + Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE. + * modules/ceill (Depends-on): Add ceil. Update conditions. + +2011-10-09 Bruno Haible + + floorl: Simplify for platforms where 'long double' == 'double'. + * lib/floorl.c: Include . + (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function. + * lib/floor.c [!USE_LONG_DOUBLE]: Don't include a second + time. + * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE. + Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE. + * modules/floorl (Depends-on): Add floor. Update conditions. + +2011-10-09 Bruno Haible + + rint: Fix ordering constraints. + * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS. + * m4/rintf.m4 (gl_FUNC_RINTF): Likewise. + * m4/rintl.m4 (gl_FUNC_RINTL): Likewise. + +2011-10-09 Bruno Haible + + copysignl: Simplify for platforms where 'long double' == 'double'. + * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New + alternative. + * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE. + Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE. + * modules/copysignl (Depends-on): Add copysign. Update conditions. + +2011-10-09 Bruno Haible + + Tests for module 'rintl'. + * modules/rintl-tests: New file. + * tests/test-rintl.c: New file. + + New module 'rintl'. + * lib/math.in.h (rintl): New declaration. + * lib/rintl.c: New file. + * m4/rintl.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL. + * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL. + * modules/rintl: New file. + * tests/test-math-c++.cc: Check the declaration of rintl. + * modules/math-c++-tests (Makefile.am): Link test-math-c++ against + $(RINTL_LIBM). Needed on IRIX 6.5 with cc. + * doc/posix-functions/rintl.texi: Mention the new module. + +2011-10-09 Bruno Haible + + Tests for module 'rintf'. + * modules/rintf-tests: New file. + * tests/test-rintf.c: New file. + + New module 'rintf'. + * lib/math.in.h (rintf): New declaration. + * lib/rintf.c: New file. + * m4/rintf.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF. + * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF. + * modules/rintf: New file. + * tests/test-math-c++.cc: Check the declaration of rintf. + * doc/posix-functions/rintf.texi: Mention the new module. + +2011-10-09 Bruno Haible + + rint: Support for MSVC. + * lib/math.in.h (rint): New declaration. + * lib/rint.c: New file. + * m4/rint.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT. + * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT. + * modules/rint (Description): Fix. + (Files): Add lib/rint.c, m4/rint.m4. + (Depends-on): Add math. + (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ, + gl_MATH_MODULE_INDICATOR. + * tests/test-math-c++.cc: Check the declaration of rint. + * modules/math-c++-tests (Makefile.am): Link test-math-c++ against + $(RINT_LIBM). Needed on IRIX 6.5 with cc. + * doc/posix-functions/rint.texi: Mention the replacement provided by + the module. + + rint tests: More tests. + * tests/test-rint.c: Include , , isnand-nolibm.h, + minus-zero.h, infinity.h, nan.h. + (main): Skip the test if the current rounding mode is not standard. Add + tests for negative numbers, minus zero, infinity, NaN. + * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h, + tests/nan.h. + (Depends-on): Add isnand-nolibm. + +2011-10-09 Bruno Haible + + Tests for module 'copysignl'. + * modules/copysignl-tests: New file. + * tests/test-copysignl.c: New file. + + New module 'copysignl'. + * lib/math.in.h (copysignl): New declaration. + * lib/copysignl.c: New file. + * m4/copysignl.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL. + * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL, + HAVE_COPYSIGNL. + * modules/copysignl: New file. + * tests/test-math-c++.cc: Check the declaration of copysignl. + * modules/math-c++-tests (Makefile.am): Link test-math-c++ against + $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc. + * doc/posix-functions/copysignl.texi: Mention the new module. + +2011-10-09 Bruno Haible + + Tests for module 'copysignf'. + * modules/copysignf-tests: New file. + * tests/test-copysignf.c: New file. + + New module 'copysignf'. + * lib/math.in.h (copysignf): New declaration. + * lib/copysignf.c: New file. + * m4/copysignf.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF. + * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF, + HAVE_COPYSIGNF. + * modules/copysignf: New file. + * tests/test-math-c++.cc: Check the declaration of copysignf. + * doc/posix-functions/copysignf.texi: Mention the new module. + +2011-10-09 Bruno Haible + + Ensure that HAVE_* variables are set to 1 before they are set to 0. + * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS. + * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS. + * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise. + * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require + gl_SIGNAL_H_DEFAULTS. + +2011-10-09 Bruno Haible + + poll: Make macro safer. + * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H, + ac_cv_header_poll_h is not set. + +2011-10-09 Bruno Haible + + copysign: Provide replacement. + * lib/math.in.h (copysign): New declaration. + * lib/copysign.c: New file. + * m4/copysign.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN. + * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN, + HAVE_COPYSIGN. + * modules/copysign (Description): Clarify. + (Files): Add lib/copysign.c, m4/copysign.m4. + (Depends-on): Add math, signbit. + (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ, + gl_MATH_MODULE_INDICATOR. + * tests/test-math-c++.cc: Check the declaration of copysign. + * doc/posix-functions/copysign.texi: Mention the effects of the module + on Minix and MSVC. + +2011-10-09 Bruno Haible + + isinf: Ensure macro on AIX 5.1. + * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a + macro. + * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient. + +2011-10-09 Bruno Haible + + *printf-posix tests: Fix for platforms where 'long double' == 'double'. + * modules/snprintf-posix-tests (configure.ac): Require + gl_LONG_DOUBLE_VS_DOUBLE. + * modules/sprintf-posix-tests (configure.ac): Likewise. + * modules/vasnprintf-posix-tests (configure.ac): Likewise. + * modules/vasprintf-posix-tests (configure.ac): Likewise. + * modules/vsnprintf-posix-tests (configure.ac): Likewise. + * modules/vsprintf-posix-tests (configure.ac): Likewise. + * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double + tests on platforms where 'long double' is the same as 'double'. + * tests/test-sprintf-posix.h (test_function): Likewise. + * tests/test-vasnprintf-posix.c (test_function): Likewise. + * tests/test-vasprintf-posix.c (test_function): Likewise. + + *printf: Fix for platforms where 'long double' == 'double'. + * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require + gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'. + * modules/dprintf-posix (Files): Add m4/math_h.m4. + * modules/fprintf-posix (Files): Likewise. + * modules/obstack-printf-posix (Files): Likewise. + * modules/snprintf-posix (Files): Likewise. + * modules/sprintf-posix (Files): Likewise. + * modules/vasnprintf (Files): Likewise. + * modules/vasnprintf-posix (Files): Likewise. + * modules/vasprintf-posix (Files): Likewise. + * modules/vdprintf-posix (Files): Likewise. + * modules/vfprintf-posix (Files): Likewise. + * modules/vsnprintf-posix (Files): Likewise. + * modules/vsprintf-posix (Files): Likewise. + * modules/unistdio/u8-vasnprintf (Files): Likewise. + * modules/unistdio/u8-u8-vasnprintf (Files): Likewise. + * modules/unistdio/u16-vasnprintf (Files): Likewise. + * modules/unistdio/u16-u16-vasnprintf (Files): Likewise. + * modules/unistdio/u32-vasnprintf (Files): Likewise. + * modules/unistdio/u32-u32-vasnprintf (Files): Likewise. + * modules/unistdio/ulc-vasnprintf (Files): Likewise. + + isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'. + * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'. + * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE. + (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit + 'long double'. + * modules/isnanl-nolibm (Files): Add m4/math_h.m4. + + isinf: Fix for platforms where 'long double' == 'double'. + * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE. + Don't blindly assume 80-bit 'long double'. + + isfinite: Fix for platforms where 'long double' == 'double'. + * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE. + Don't blindly assume 80-bit 'long double'. + + isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9. + * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro. + * modules/isfinite-tests (configure.ac): Require + gl_LONG_DOUBLE_VS_DOUBLE. + * modules/isinf-tests (configure.ac): Likewise. + * modules/isnan-tests (configure.ac): Likewise. + * modules/isnanl-tests (configure.ac): Likewise. + * modules/isnanl-nolibm-tests (configure.ac): Likewise. + * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double + tests on platforms where 'long double' is the same as 'double'. + * tests/test-isinf.c (test_isinfl): Likewise. + * tests/test-isnan.c (test_long_double): Likewise. + * tests/test-isnanl.h (main): Likewise. + +2011-10-08 Bruno Haible + + Tests for module 'tanhf'. + * modules/tanhf-tests: New file. + * tests/test-tanhf.c: New file. + + New module 'tanhf'. + * lib/math.in.h (tanhf): New declaration. + * lib/tanhf.c: New file. + * m4/tanhf.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF. + * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF. + * modules/tanhf: New file. + * tests/test-math-c++.cc: Check the declaration of tanhf. + * doc/posix-functions/tanhf.texi: Mention the new module. + + tanh: Use a .m4 file. + * m4/tanh.m4: New file. + * modules/tanh (Files): Add it. + (configure.ac): Just invoke gl_FUNC_TANH. + +2011-10-08 Bruno Haible + + Tests for module 'coshf'. + * modules/coshf-tests: New file. + * tests/test-coshf.c: New file. + + New module 'coshf'. + * lib/math.in.h (coshf): New declaration. + * lib/coshf.c: New file. + * m4/coshf.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF. + * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF. + * modules/coshf: New file. + * tests/test-math-c++.cc: Check the declaration of coshf. + * doc/posix-functions/coshf.texi: Mention the new module. + + cosh: Use a .m4 file. + * m4/cosh.m4: New file. + * modules/cosh (Files): Add it. + (configure.ac): Just invoke gl_FUNC_COSH. + +2011-10-08 Bruno Haible + + Tests for module 'sinhf'. + * modules/sinhf-tests: New file. + * tests/test-sinhf.c: New file. + + New module 'sinhf'. + * lib/math.in.h (sinhf): New declaration. + * lib/sinhf.c: New file. + * m4/sinhf.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF. + * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF. + * modules/sinhf: New file. + * tests/test-math-c++.cc: Check the declaration of sinhf. + * doc/posix-functions/sinhf.texi: Mention the new module. + + sinh: Use a .m4 file. + * m4/sinh.m4: New file. + * modules/sinh (Files): Add it. + (configure.ac): Just invoke gl_FUNC_SINH. + +2011-10-08 Bruno Haible + + Tests for module 'atan2f'. + * modules/atan2f-tests: New file. + * tests/test-atan2f.c: New file. + + New module 'atan2f'. + * lib/math.in.h (atan2f): New declaration. + * lib/atan2f.c: New file. + * m4/atan2f.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F. + * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F. + * modules/atan2f: New file. + * tests/test-math-c++.cc: Check the declaration of atan2f. + * doc/posix-functions/atan2f.texi: Mention the new module. + + atan2: Use a .m4 file. + * m4/atan2.m4: New file. + * modules/atan2 (Files): Add it. + (configure.ac): Just invoke gl_FUNC_ATAN2. + +2011-10-08 Bruno Haible + + Tests for module 'atanf'. + * modules/atanf-tests: New file. + * tests/test-atanf.c: New file. + + New module 'atanf'. + * lib/math.in.h (atanf): New declaration. + * lib/atanf.c: New file. + * m4/atanf.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF. + * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF. + * modules/atanf: New file. + * tests/test-math-c++.cc: Check the declaration of atanf. + * doc/posix-functions/atanf.texi: Mention the new module. + + atan: Use a .m4 file. + * m4/atan.m4: New file. + * modules/atan (Files): Add it. + (configure.ac): Just invoke gl_FUNC_ATAN. + +2011-10-08 Bruno Haible + + Tests for module 'acosf'. + * modules/acosf-tests: New file. + * tests/test-acosf.c: New file. + + New module 'acosf'. + * lib/math.in.h (acosf): New declaration. + * lib/acosf.c: New file. + * m4/acosf.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF. + * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF. + * modules/acosf: New file. + * tests/test-math-c++.cc: Check the declaration of acosf. + * doc/posix-functions/acosf.texi: Mention the new module. + + acos: Use a .m4 file. + * m4/acos.m4: New file. + * modules/acos (Files): Add it. + (configure.ac): Just invoke gl_FUNC_ACOS. + +2011-10-08 Bruno Haible + + Tests for module 'asinf'. + * modules/asinf-tests: New file. + * tests/test-asinf.c: New file. + + New module 'asinf'. + * lib/math.in.h (asinf): New declaration. + * lib/asinf.c: New file. + * m4/asinf.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF. + * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF. + * modules/asinf: New file. + * tests/test-math-c++.cc: Check the declaration of asinf. + * doc/posix-functions/asinf.texi: Mention the new module. + + asin: Use a .m4 file. + * m4/asin.m4: New file. + * modules/asin (Files): Add it. + (configure.ac): Just invoke gl_FUNC_ASIN. + +2011-10-08 Bruno Haible + + Tests for module 'tanf'. + * modules/tanf-tests: New file. + * tests/test-tanf.c: New file. + + New module 'tanf'. + * lib/math.in.h (tanf): New declaration. + * lib/tanf.c: New file. + * m4/tanf.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF. + * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF. + * modules/tanf: New file. + * tests/test-math-c++.cc: Check the declaration of tanf. + * doc/posix-functions/tanf.texi: Mention the new module. + + tan: Use a .m4 file. + * m4/tan.m4: New file. + * modules/tan (Files): Add it. + (configure.ac): Just invoke gl_FUNC_TAN. + +2011-10-08 Bruno Haible + + Tests for module 'cosf'. + * modules/cosf-tests: New file. + * tests/test-cosf.c: New file. + + New module 'cosf'. + * lib/math.in.h (cosf): New declaration. + * lib/cosf.c: New file. + * m4/cosf.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF. + * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF. + * modules/cosf: New file. + * tests/test-math-c++.cc: Check the declaration of cosf. + * doc/posix-functions/cosf.texi: Mention the new module. + + cos: Use a .m4 file. + * m4/cos.m4: New file. + * modules/cos (Files): Add it. + (configure.ac): Just invoke gl_FUNC_COS. + +2011-10-08 Bruno Haible + + Tests for module 'sinf'. + * modules/sinf-tests: New file. + * tests/test-sinf.c: New file. + + New module 'sinf'. + * lib/math.in.h (sinf): New declaration. + * lib/sinf.c: New file. + * m4/sinf.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF. + * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF. + * modules/sinf: New file. + * tests/test-math-c++.cc: Check the declaration of sinf. + * doc/posix-functions/sinf.texi: Mention the new module. + + sin: Use a .m4 file. + * m4/sin.m4: New file. + * modules/sin (Files): Add it. + (configure.ac): Just invoke gl_FUNC_SIN. + +2011-10-08 Bruno Haible + + Tests for module 'powf'. + * modules/powf-tests: New file. + * tests/test-powf.c: New file. + + New module 'powf'. + * lib/math.in.h (powf): New declaration. + * lib/powf.c: New file. + * m4/powf.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF. + * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF. + * modules/powf: New file. + * tests/test-math-c++.cc: Check the declaration of powf. + * doc/posix-functions/powf.texi: Mention the new module. + + pow: Use a .m4 file. + * m4/pow.m4: New file. + * modules/pow (Files): Add it. + (configure.ac): Just invoke gl_FUNC_POW. + +2011-10-08 Bruno Haible + + Tests for module 'log10f'. + * modules/log10f-tests: New file. + * tests/test-log10f.c: New file. + + New module 'log10f'. + * lib/math.in.h (log10f): New declaration. + * lib/log10f.c: New file. + * m4/log10f.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F. + * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F. + * modules/log10f: New file. + * tests/test-math-c++.cc: Check the declaration of log10f. + * doc/posix-functions/log10f.texi: Mention the new module. + + log10: Use a .m4 file. + * m4/log10.m4: New file. + * modules/log10 (Files): Add it. + (configure.ac): Just invoke gl_FUNC_LOG10. + +2011-10-08 Bruno Haible + + Tests for module 'logf'. + * modules/logf-tests: New file. + * tests/test-logf.c: New file. + + New module 'logf'. + * lib/math.in.h (logf): New declaration. + * lib/logf.c: New file. + * m4/logf.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF. + * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF. + * modules/logf: New file. + * tests/test-math-c++.cc: Check the declaration of logf. + * doc/posix-functions/logf.texi: Mention the new module. + + log: Use a .m4 file. + * m4/log.m4: New file. + * modules/log (Files): Add it. + (configure.ac): Just invoke gl_FUNC_LOG. + +2011-10-08 Bruno Haible + + Tests for module 'expf'. + * modules/expf-tests: New file. + * tests/test-expf.c: New file. + + New module 'expf'. + * lib/math.in.h (expf): New declaration. + * lib/expf.c: New file. + * m4/expf.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF. + * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF. + * modules/expf: New file. + * tests/test-math-c++.cc: Check the declaration of expf. + * doc/posix-functions/expf.texi: Mention the new module. + + exp: Use a .m4 file. + * m4/exp.m4: New file. + * modules/exp (Files): Add it. + (configure.ac): Just invoke gl_FUNC_EXP. + +2011-10-08 Bruno Haible + + Tests for module 'sqrtf'. + * modules/sqrtf-tests: New file. + * tests/test-sqrtf.c: New file. + + New module 'sqrtf'. + * lib/math.in.h (sqrtf): New declaration. + * lib/sqrtf.c: New file. + * m4/sqrtf.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF. + * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF. + * modules/sqrtf: New file. + * tests/test-math-c++.cc: Check the declaration of sqrtf. + * doc/posix-functions/sqrtf.texi: Mention the new module. + +2011-10-08 Bruno Haible + + Tests: Avoid link failures w.r.t. libintl. + * modules/faccessat-tests (Makefile.am): Link test-faccessat against + $(LIBINTL). + * modules/fchdir-tests (Makefile.am): Link test-fchdir against + $(LIBINTL). + * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl + against $(LIBINTL). + * modules/getcwd-tests (Makefile.am): Link test-getcwd against + $(LIBINTL). + * modules/openat-tests (Makefile.am): Link test-fchmodat against + $(LIBINTL). + * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL). + +2011-10-08 Bruno Haible + + pow tests: Defeat compiler optimizations. + * tests/test-pow.c (main): Assign arguments to x and y before use. + +2011-10-08 Bruno Haible + + gnulib-tool: Improve last commit. + * gnulib-tool (func_modules_transitive_closure): Simplify code. + (func_emit_autoconf_snippets): Instead of invoking func_acceptable, + ignore dependencies that are not among the modules list. + +2011-10-07 Paul Eggert + + gnulib-tool: don't follow dependencies to avoided modules + This fixes a bug that is related to the previous one. + * gnulib-tool (func_modules_transitive_closure) + (func_emit_autoconf_snippets): + Check whether a dependency is acceptable before using it. + (--extract-dependencies): Report an error if --avoid is also used, + since this combination of options is not yet supported. + + gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0. + Problem reported by Peter Dyballa in + . + * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '', + when echoing "$condition". + +2011-10-07 Bruno Haible + + Fix documentation about math functions on MacOS X. + * doc/posix-functions/exp2.texi: Don't say the function is missing on + MacOS X 10.5. + * doc/posix-functions/fdim.texi: Likewise. + * doc/posix-functions/feclearexcept.texi: Likewise. + * doc/posix-functions/fegetenv.texi: Likewise. + * doc/posix-functions/fegetround.texi: Likewise. + * doc/posix-functions/feholdexcept.texi: Likewise. + * doc/posix-functions/feraiseexcept.texi: Likewise. + * doc/posix-functions/fesetenv.texi: Likewise. + * doc/posix-functions/fesetround.texi: Likewise. + * doc/posix-functions/fetestexcept.texi: Likewise. + * doc/posix-functions/feupdateenv.texi: Likewise. + * doc/posix-functions/fmax.texi: Likewise. + * doc/posix-functions/fmin.texi: Likewise. + * doc/posix-functions/log2.texi: Likewise. + * doc/posix-functions/modff.texi: Likewise. + * doc/posix-functions/nan.texi: Likewise. + * doc/posix-functions/nanf.texi: Likewise. + * doc/posix-functions/nextafterf.texi: Likewise. + * doc/posix-functions/remquo.texi: Likewise. + +2011-10-07 Bruno Haible + + modff: Drop assumption about library that defines modff. + * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of + AC_CHECK_FUNCS. + * modules/modff (Files): Add m4/mathfunc.m4. + +2011-10-07 Bernhard Voelker + + raise tests: Avoid a GCC warning. + * tests/test-raise.c (handler): Use _Noreturn. + +2011-10-07 Bruno Haible + + Tests for module 'ldexpf'. + * modules/ldexpf-tests: New file. + * tests/test-ldexpf.c: New file. + + New module 'ldexpf'. + * lib/math.in.h (ldexpf): New declaration. + * lib/ldexpf.c: New file. + * m4/ldexpf.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF. + * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF. + * modules/ldexpf: New file. + * tests/test-math-c++.cc: Check the declaration of ldexpf. + * doc/posix-functions/ldexpf.texi: Mention the new module. + +2011-10-06 Bruno Haible + + frexpf: Work around problems on IRIX and mingw. + * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF. + * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro. + (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF. + * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF. + * modules/math (Makefile.am): Substitute REPLACE_FREXPF. + * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems. + +2011-10-06 Bruno Haible + + fabsf: Drop assumption about library that defines fabsf. + * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of + AC_CHECK_FUNCS. + * modules/fabsf (Files): Add m4/mathfunc.m4. + +2011-10-06 Bruno Haible + + frexpf: Drop assumption about library that defines frexpf. + * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types + 'int *', 'float *', 'long double *', 'float', 'long double'. + * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of + AC_CHECK_FUNCS. + * modules/frexpf (Files): Add m4/mathfunc.m4. + + Tests for module 'frexpf'. + * modules/frexpf-tests: New file. + * tests/test-frexpf.c: New file. + + New module 'frexpf'. + * lib/math.in.h (frexpf): New declaration. + * lib/frexpf.c: New file. + * m4/frexpf.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF. + * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF. + * modules/frexpf: New file. + * tests/test-math-c++.cc: Check the declaration of frexpf. + * doc/posix-functions/frexpf.texi: Mention the new module. + +2011-10-06 Bruno Haible + + math: Sort function declarations of math.in.h. + * lib/math.in.h (frexp, logb): Move declarations. + +2011-10-05 Bruno Haible + + Tests for module 'modff'. + * modules/modff-tests: New file. + * tests/test-modff.c: New file. + + New module 'modff'. + * lib/math.in.h (modff): New declaration. + * lib/modff.c: New file. + * m4/modff.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF. + * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF. + * modules/modff: New file. + * tests/test-math-c++.cc: Check the declaration of modff. + * doc/posix-functions/modff.texi: Mention the new module. + + modf tests: Make test sharper. + * tests/test-modf.c (main): Strengthen upper bound. + + modf: Use a .m4 file. + * m4/modf.m4: New file. + * modules/modf (Files): Add it. + (configure.ac): Just invoke gl_FUNC_MODF. + +2011-10-05 Bruno Haible + + Tests for module 'fmodf'. + * modules/fmodf-tests: New file. + * tests/test-fmodf.c: New file. + + New module 'fmodf'. + * lib/math.in.h (fmodf): New declaration. + * lib/fmodf.c: New file. + * m4/fmodf.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF. + * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF. + * modules/fmodf: New file. + * tests/test-math-c++.cc: Check the declaration of fmodf. + * doc/posix-functions/fmodf.texi: Mention the new module. + + fmod: Use a .m4 file. + * m4/fmod.m4: New file. + * modules/fmod (Files): Add it. + (configure.ac): Just invoke gl_FUNC_FMOD. + +2011-10-05 Bruno Haible + + Tests for module 'fabsf'. + * modules/fabsf-tests: New file. + * tests/test-fabsf.c: New file. + + New module 'fabsf'. + * lib/math.in.h (fabsf): New declaration. + * lib/fabsf.c: New file. + * m4/fabsf.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF. + * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF. + * modules/fabsf: New file. + * tests/test-math-c++.cc: Check the declaration of fabsf. + * doc/posix-functions/fabsf.texi: Mention the new module. + + fabs: Use a .m4 file. + * m4/fabs.m4: New file. + * modules/fabs (Files): Add it. + (configure.ac): Just invoke gl_FUNC_FABS. + +2011-10-05 Jim Meyering + + file-has-acl: revert both recent changes, 80af92af and 95f7c57f + * lib/file-has-acl.c: While the 2011-10-03 change does fix the + ls -lL regression introduced in coreutils-8.12, it does so at the + cost of an additional stat call in the common case. Besides, now + that the kernel change that prompted commit 95f7c57f has been reverted + (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24) + we have no use for commit 95f7c57f, "file-has-acl: use + acl_extended_file_nofollow if available". + +2011-10-03 Kamil Dudka + + file-has-acl: revert unintended change in behavior of ls -L + * lib/file-has-acl.c (acl_extended_file_wrap): New function, + derived from... + (file_has_acl): ...code here. Call it. + This problem was introduced with 2011-07-22 commit 95f7c57f, + "file-has-acl: use acl_extended_file_nofollow if available". + See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538 + +2011-10-03 Bruno Haible + + poll: Avoid link errors on MSVC. + * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL. + * modules/poll (Depends-on): Add sockets. + (Link): New section. + * NEWS: Mention the change. + * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL). + * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against + $(LIB_POLL) instead of $(LIBSOCKET). + +2011-10-03 Bruno Haible + + sys_select tests: Fix link error on MSVC 9. + * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++ + with $(LIB_SELECT) instead of $(LIBSOCKET). + +2011-10-03 Bruno Haible + + sys_select: Fix compilation error on mingw. + * lib/sys_select.in.h: On native Windows, include . + +2011-10-03 Bruno Haible + + wmemset: Support for MSVC. + * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test + whether wmemset() exists. + +2011-10-03 Bruno Haible + + wmemmove: Support for MSVC. + * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test + whether wmemmove() exists. + +2011-10-03 Bruno Haible + + wmemcpy: Support for MSVC. + * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test + whether wmemcpy() exists. + +2011-10-03 Bruno Haible + + wmemcmp: Support for MSVC. + * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test + whether wmemcmp() exists. + +2011-10-03 Bruno Haible + + wmemchr: Support for MSVC. + * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test + whether wmemchr() exists. + +2011-10-03 Bruno Haible + + glthread/*, strsignal: Support for MSVC. + * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid + including on MSVC 9. + * lib/glthread/lock.h: Likewise. + * lib/glthread/thread.h: Likewise. + * lib/glthread/tls.h: Likewise. + * lib/glthread/yield.h: Likewise. + * lib/strsignal.c: Include first. Don't include + if HAVE_UNISTD_H is false. + * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for . + +2011-10-03 Bruno Haible + + nonblocking tests: Fix test failure on OpenBSD/SPARC64. + * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]: + Set to 100000. + +2011-10-03 Bruno Haible + + acl: Fix specification. + * lib/file-has-acl.c (file_has_acl): Fix specification. + +2011-10-03 Bruno Haible + + relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin. + * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro. + (compute_curr_prefix, shared_library_fullname, + find_shared_library_fullname, get_shared_library_fullname, relocate): + Use it together with PIC && INSTALLDIR. + Reported by + via Charles Wilson . + +2011-10-01 Jim Meyering + + maint.mk: adjust a release-related rule not to require use of gzip + * top/maint.mk (writable-files): Don't hard-code use of .tar.gz. + Instead, check each file in $(DIST_ARCHIVES). This is better for + projects that build only .tar.xz files. Also fix an erroneous test. + + test-linkat: don't leave behind a temporary file + * tests/test-linkat.c (main): Don't forget to remove a temporary file. + Otherwise, coreutils' "make distcheck" would fail with this: + Only in /c/cu/tests/torture/coreutils/test/\ + coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too + make[2]: *** [my-distcheck] Error 1 + + float, math: add omitted file + * lib/itold.c: Add file, required for yesterday's float change. + +2011-10-01 Bruno Haible + + isinf: Fix for OpenBSD/x86. + * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on + pseudo-NaNs, pseudo-Infinities, and other non-IEEE values. + * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86. + +2011-10-01 Bruno Haible + + isfinite: Fix syntax error in configure test. + * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error. + + isfinite: Fix typo. + * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set + gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works. + +2011-10-01 Bruno Haible + + nonblocking tests: Fix test failure on Linux/IA-64. + * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]: + Set to 270000. + +2011-10-01 Bruno Haible + + mkfifoat tests: Fix a test failure on mingw. + * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail + with error ENOSYS. + +2011-09-30 Bruno Haible + + float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64. + * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to + 'long double'. Set REPLACE_ITOLD. + * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations. + * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations. + * lib/itold.c: New file. + * modules/float (Files): Add lib/itold.c. + (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c. + (Makefile.am): Substitute REPLACE_ITOLD. + * modules/math (Depends-on): Add float. + (Makefile.am): Substitute REPLACE_ITOLD. + * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64. + * doc/posix-headers/math.texi: Likewise. + * doc/posix-functions/logl.texi: Likewise. + +2011-09-30 Bruno Haible + + nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit). + * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]: + Set to 140000. + +2011-09-30 Bruno Haible + + gnulib-tool: Improve suggestion where to put gl_EARLY invocation. + * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC + invocation, say "right after AC_PROG_CC_STDC", not "right after + AC_PROG_CC". + Reported by Gary V. Vaughan . + +2011-09-30 Bruno Haible + + Centralize C99 requirement. + * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro. + * modules/stdarg (configure.ac-early): Invoke it instead of + AC_PROG_CC_STDC. + Reported by Gary V. Vaughan and Paul Eggert. + +2011-09-29 Bruno Haible + + float: Fix LDBL_MAX value on Linux/PowerPC. + * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also + on Linux/PowerPC. + * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC. + * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC. + * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected + platform. + Reported by Andreas Metzler . + +2011-09-29 Bruno Haible + + doc: Improve doc about gl_EARLY. + * doc/gnulib-tool.texi (Initial import): Mention where to place an + AC_PROG_CC_STDC invocation. + Reported by Gary V. Vaughan . + +2011-09-28 Bruno Haible + + fgetc, fputc, fread, fwrite tests: Fix link error. + * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler + on non-MSVC platforms. + * tests/test-fputc.c (main): Likewise. + * tests/test-fread.c (main): Likewise. + * tests/test-fwrite.c (main): Likewise. + Reported by Jim Meyering. + +2011-09-27 Bruno Haible + + fputc, fwrite tests: Avoid test failure on MSVC. + * tests/test-fgetc.c: Include msvc-inval.h. + (main): Invoke gl_msvc_inval_ensure_handler. + * tests/test-fputc.c: Include msvc-inval.h. + (main): Invoke gl_msvc_inval_ensure_handler. + * tests/test-fread.c: Include msvc-inval.h. + (main): Invoke gl_msvc_inval_ensure_handler. + * tests/test-fwrite.c: Include msvc-inval.h. + (main): Invoke gl_msvc_inval_ensure_handler. + * modules/fgetc-tests (Depends-on): Add msvc-inval. + * modules/fputc-tests (Depends-on): Likewise. + * modules/fread-tests (Depends-on): Likewise. + * modules/fwrite-tests (Depends-on): Likewise. + +2011-09-27 Bruno Haible + + raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'. + * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro. + (raise): Remove older, duplicated declaration. + (_gl_raise_SIGPIPE): New declaration. + * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function. + (rpl_raise): Remove function. + * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle + a gnulib-defined SIGPIPE here. + * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module + 'sigprocmask' has detected missing signal-blocking and the module + 'sigpipe' is enabled. + Reported by Tatsuro MATSUOKA . + +2011-09-26 Gijs van Tulder + + base64-tests: avoid memory leak + * tests/test-base64.c (main): Plug memory leak. + + base32: new module + * modules/base32: New module. + * lib/base32.c: New file. + * lib/base32.h: Likewise. + * m4/base32.m4: Likewise. + * modules/base32-tests: New test. + * tests/test-base32.c: Likewise. + * MODULES.html.sh (Misc): Mention it. + +2011-09-26 Paul Eggert + + gnulib: use more-standard license notice wording + * gnulib-tool (func_emit_copyright_notice): When emitting a + license notice into a file, use the standard wording as suggested + by the current information for GNU maintainers, except say "file" + rather than "program". The new wording gives a license version + number, which addresses an issue raised by Glenn Morris in + . + * m4/onceonly.m4: Use that same wording here, too. + + dup2: minor simplification + * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE, + as lib/dup2.c no longer uses 'inline'. + +2011-09-25 Bruno Haible + + strings: Fix compilation error on MSVC. + * lib/strings.in.h: Include for size_t. + +2011-09-25 Bruno Haible + + fflush et al.: Document limitation on MSVC. + * doc/posix-functions/fflush.texi: Document possible crash in handling + mode other than DEFAULT_HANDLING. + * doc/posix-functions/fgetc.texi: Likewise. + * doc/posix-functions/fputc.texi: Likewise. + * doc/posix-functions/fread.texi: Likewise. + * doc/posix-functions/fwrite.texi: Likewise. + +2011-09-25 Bruno Haible + + msvc-inval: Allow three invalid parameter handling modes. + * lib/msvc-inval.h: Don't include here. + (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New + macros. + (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL, + DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat + SANE_LIBRARY_HANDLING as a no-op. + * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include + . + (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING. + +2011-09-25 Bruno Haible + + msvc-inval: Make handler multithread-safe. + * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type. + (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove + declarations. + (gl_msvc_inval_current): New declaration. + (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]: + Operate on the structure returned by gl_msvc_inval_current(). + * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): + Remove varaiables. + (tls_index, tls_initialized): New variables. + (not_per_thread): New variable. + (gl_msvc_inval_current): New function. + (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure + returned by gl_msvc_inval_current(). + +2011-09-25 Bruno Haible + + msvc-inval: Install handler globally. + * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for + !_MSC_VER. + (gl_msvc_invalid_parameter_handler): Remove declaration. + (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New + declarations. + (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]: + Install the handler globally, don't uninstall it. + * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable. + (gl_msvc_invalid_parameter_handler): Make static. If the restart is not + currently valid, call RaiseException instead. + (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also + for !_MSC_VER. + +2011-09-25 Bruno Haible + + strerror_r-posix: Fix for MSVC 9. + * lib/strerror_r.c (local_snprintf): New function. + (snprintf): Define to local_snprintf, not to _snprintf. + +2011-09-25 Bruno Haible + + ftruncate: Support for MSVC 9. + * lib/ftruncate.c: Include errno.h, msvc-inval.h. + (chsize_nothrow): New function. + (chsize): Redefine as a macro. + * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE. + * modules/ftruncate (Depends-on): Add msvc-inval. + +2011-09-25 Bruno Haible + + New module 'fstat'. + * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set. + * lib/fstat.c: New file, based on a piece of lib/fchdir.c. + * lib/fchdir.c (rpl_fstat): Remove function. + * m4/fstat.m4: New file. + * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT. + * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is + declared. + (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT. + * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT. + * modules/fstat: New file. + * modules/sys_stat-tests (Depends-on): Remove fstat-tests. + * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT + is set. + * doc/posix-functions/fstat.texi: Mention the new module and the + problem on MSVC. + * NEWS: Mention the change. + * modules/acl (Depends-on): Add fstat. + * modules/chdir-safer (Depends-on): Likewise. + * modules/chown (Depends-on): Likewise. + * modules/copy-file (Depends-on): Likewise. + * modules/fchdir (Depends-on): Likewise. + * modules/fdopendir (Depends-on): Likewise. + * modules/fopen (Depends-on): Likewise. + * modules/fts (Depends-on): Likewise. + * modules/getcwd (Depends-on): Likewise. + * modules/isapipe (Depends-on): Likewise. + * modules/linkat (Depends-on): Likewise. + * modules/lseek (Depends-on): Likewise. + * modules/mkdir-p (Depends-on): Likewise. + * modules/open (Depends-on): Likewise. + * modules/openat (Depends-on): Likewise. + * modules/read-file (Depends-on): Likewise. + * modules/renameat (Depends-on): Likewise. + * modules/utimens (Depends-on): Likewise. + +2011-09-25 Bruno Haible + + linkat: Fix compilation on MSVC 9. + * lib/linkat.c: Don't include . + +2011-09-25 Bruno Haible + + fclose: Support for MSVC 9. + * lib/fclose.c: Include msvc-inval.h. + (fclose_nothrow): New function. + (rpl_fclose): Use it. + * modules/fclose (Depends-on): Add msvc-inval. + * doc/posix-functions/fclose.texi: Mention the problem on MSVC. + +2011-09-24 Paul Eggert + + dup2: minor simplifications + * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear + that it's a performance win. + (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) && + ! defined __CYGWIN__)" to "ifdef F_GETFL". + +2011-09-24 Jim Meyering + + test-futimens: avoid a warning from gcc -Wshadow + * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/ + to avoid a shadowing warning. + +2011-09-24 Bruno Haible + + fdopen: Support for MSVC 9. + * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if + HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1. + * lib/fdopen.c: Include msvc-inval.h. + (fdopen_nothrow): New function. + (rpl_fdopen): Use it. + * modules/fdopen (Depends-on): Add msvc-inval. + * modules/fclose-tests (Depends-on): Add fdopen. + * modules/fflush-tests (Depends-on): Likewise. + * modules/fgetc-tests (Depends-on): Likewise. + * modules/fputc-tests (Depends-on): Likewise. + * modules/fread-tests (Depends-on): Likewise. + * modules/freopen-tests (Depends-on): Likewise. + * modules/fseeko-tests (Depends-on): Likewise. + * modules/ftello-tests (Depends-on): Likewise. + * modules/fwrite-tests (Depends-on): Likewise. + * doc/posix-functions/fdopen.texi: Mention the problem on MSVC. + +2011-09-24 Bruno Haible + + fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC. + * modules/fgetc-tests (Depends-on): Add unistd. + * modules/fputc-tests (Depends-on): Likewise. + * modules/fread-tests (Depends-on): Likewise. + * modules/fwrite-tests (Depends-on): Likewise. + +2011-09-24 Bruno Haible + + dup: Simplify autoconf test. + * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely + on gl_MSVC_INVAL's result. + +2011-09-24 Bruno Haible + + Tests for function fwrite(). + * modules/fwrite-tests: New file. + * tests/test-fwrite.c: New file. + * modules/stdio-tests (Depends-on): Add fwrite-tests. + + Tests for function fread(). + * modules/fread-tests: New file. + * tests/test-fread.c: New file. + * modules/stdio-tests (Depends-on): Add fread-tests. + + Activate fputc tests. + * modules/stdio-tests (Depends-on): Add fputc-tests. + + Enhance fgetc, fputc tests. + * tests/test-fgetc.c (main): Also test the stream's error indicator. + * tests/test-fputc.c (main): Likewise. + +2011-09-24 Bruno Haible + + write: Support for MSVC 9. + * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING + is not 1. + * lib/write.c (write_nothrow): New function. + (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is + not 1. Use write_nothrow. + * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an + invalid parameter handler. + (gl_PREREQ_WRITE): New macro. + * modules/write (Depends-on): Add msvc-inval. + (configure.ac): Invoke gl_PREREQ_WRITE. + * doc/posix-functions/write.texi: Mention the problem on MSVC. + +2011-09-24 Bruno Haible + + read: Fix last commit. + * lib/read.c (read_nothrow): Change return type to 'ssize_t'. + +2011-09-24 Bruno Haible + + dup2: Fix last commit. + * lib/dup2.c: Restore comments. Treat Cygwin like Unix. + (rpl_dup2): Disable fcntl workaround on native Windows. + + sigprocmask: Make code safer. + * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code + section that changes macro definitions for this compilation unit. + +2011-09-23 Paul Eggert + + dup2: clarify by coalescing Windows-specific material + * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include + "msvc-nothrow.h"' to the Windows-specific section, so that the + Emacs source need not contain these include files. + (ms_windows_dup2): Rename from dup2_nothrow, and move all the + Windows-specific fixes into this function rather than just the + nothrow fix, as this shortens and clarifies the code. Always + define as a function, as that's a bit cleaner than having it be + sometimes a function and sometimes a macro. + (rpl_dup2): Move the Windows-specific stuff out of here and into + ms_windows_dup2. Don't protect the Haiku-related fix with + "#if !defined __linux__", as the same code also works around + a Linux kernel bug, and it doesn't add any system calls on any + platform. Add comment about FreeBSD 6.1. + + sigprocmask: move #include directive + * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the + Windows-specific section, so that the Emacs source need not + contain msvc-inval.h. + +2011-09-23 Bruno Haible + + read: Support for MSVC 9. + * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING + is not 1. + * lib/read.c (read_nothrow): New function. + (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use + read_nothrow. + * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an + invalid parameter handler. + (gl_PREREQ_READ): New macro. + * modules/read (Depends-on): Add msvc-inval. + (configure.ac): Invoke gl_PREREQ_READ. + * doc/posix-functions/read.texi: Mention the problem on MSVC. + +2011-09-23 Bruno Haible + + close: Support for MSVC 9. + * lib/close.c: Include , msvc-inval.h. + (close_nothrow): New function. + (rpl_close): Use it. + * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an + invalid parameter handler. + * modules/close (Depends-on): Add msvc-inval. + * modules/dup2-tests (Depends-on): Add close. + * modules/dup3-tests (Depends-on): Likewise. + * modules/fcntl-tests (Depends-on): Likewise. + * modules/spawn-pipe-tests (Depends-on): Likewise. + * modules/unistd-safer-tests (Depends-on): Likewise. + * doc/posix-functions/close.texi: Mention the problem on MSVC. + +2011-09-23 Bruno Haible + + New module 'dup'. + * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use. + Allow replacement. + * lib/dup.c: New file. + * lib/fchdir.c (rpl_dup): Remove function. + * m4/dup.m4: New file. + * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here. + * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared. + (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP. + * modules/unistd (Makefile.am): Substitute GNULIB_DUP. + * modules/dup: New file. + * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the + 'dup' module is in use. + * modules/fdopendir (Depends-on): Add dup. + * modules/fdutimensat-tests (Depends-on): Likewise. + * modules/fts (Depends-on): Likewise. + * modules/futimens-tests (Depends-on): Likewise. + * modules/posix_spawnp-tests (Depends-on): Likewise. + * modules/unistd-safer-tests (Depends-on): Likewise. + * modules/utimens-tests (Depends-on): Likewise. + * doc/posix-functions/dup.texi: Mention the new module and the problem + on MSVC. + +2011-09-23 Bruno Haible + + getdtablesize: Support for MSVC 9. + * lib/getdtablesize.c: Include msvc-inval.h. + (_setmaxstdio_nothrow): New function. + (_setmaxstdio): Redefine it. + * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro. + * modules/getdtablesize (Depends-on): Add msvc-inval. + (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE. + +2011-09-23 Bruno Haible + + signal-h: Rename from signal. + * modules/signal-h: Renamed from modules/signal. + * modules/pthread_sigmask (Depends-on): Update. + * modules/raise (Depends-on): Likewise. + * modules/sigaction (Depends-on): Likewise. + * modules/sigpipe (Depends-on): Likewise. + * modules/sigprocmask (Depends-on): Likewise. + * modules/sys_select (Depends-on): Likewise. + * modules/signal-h-tests: Renamed from modules/signal-tests. + (Files, Depends-on, Makefile.am): Update. + * tests/test-signal-h.c: Renamed from tests/test-signal.c. + * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests. + (Files, Makefile.am): Update. + * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc. + * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc. + * modules/signal: New placeholder file. + * MODULES.html.sh (Support for systems lacking POSIX:2008): Update. + * doc/posix-headers/signal.texi: Update. + * NEWS: Mention the change. + +2011-09-23 Bruno Haible + + sigprocmask: Avoid crashes through signal() on MSVC 9. + * lib/sigprocmask.c: Include msvc-inval.h. + (signal_nothrow): New function. + (signal): Redefine it. + * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE. + * modules/sigprocmask (Depends-on): Add msvc-inval. + * doc/posix-functions/signal.texi: Mention the problem on MSVC. + +2011-09-23 Bruno Haible + + Tests for module 'raise'. + * modules/raise-tests: New file. + * tests/test-raise.c: New file. + + raise: Support for MSVC. + * lib/signal.in.h (raise): New declaration. + * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation + for native Windows platforms. + * m4/raise.m4: New file. + * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE, + HAVE_RAISE, REPLACE_RAISE. + * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE, + REPLACE_RAISE. + * modules/raise (Status, Notice): Remove fields. + (Files): Add m4/raise.m4. + (Depends-on): Add signal, msvc-inval. + (configure.ac): Use the common idioms. + (Maintainer): Add me. + * tests/test-signal-c++.cc: Check the signature of raise. + * doc/posix-functions/raise.texi: Mention the problem on MSVC. + +2011-09-23 Bruno Haible + + pipe2: Fix compilation on pre-C99 compilers. + * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces. + +2011-09-23 Bruno Haible + + New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9. + * lib/msvc-nothrow.h: New file. + * lib/msvc-nothrow.c: New file. + * m4/msvc-nothrow.m4: New file. + * modules/msvc-nothrow: New file. + * lib/dup2.c: Include msvc-nothrow.h. + (rpl_dup2): No need to protect _get_osfhandle call here. + * lib/accept4.c: Include msvc-nothrow.h. + * lib/error.c: Likewise. + * lib/fcntl.c: Likewise. + * lib/lseek.c: Likewise. + * lib/nonblocking.c: Likewise. + * lib/poll.c: Likewise. + * lib/read.c: Likewise. + * lib/select.c: Likewise. + * lib/sockets.h: Likewise. + * lib/sockets.c: Likewise. + * lib/stdio-read.c: Likewise. + * lib/stdio-write.c: Likewise. + * lib/write.c: Likewise. + * lib/w32sock.h: Likewise. + * lib/w32spawn.h: Likewise. + * lib/flock.c: Include msvc-nothrow.h instead of . + * lib/fsync.c: Likewise. + * lib/isapipe.c: Likewise. + * modules/dup2 (Depends-on): Add msvc-nothrow. + * modules/accept4 (Depends-on): Likewise. + * modules/error (Depends-on): Likewise. + * modules/fcntl (Depends-on): Likewise. + * modules/lseek (Depends-on): Likewise. + * modules/nonblocking (Depends-on): Likewise. + * modules/poll (Depends-on): Likewise. + * modules/read (Depends-on): Likewise. + * modules/select (Depends-on): Likewise. + * modules/sockets (Depends-on): Likewise. + * modules/sigpipe (Depends-on): Likewise. + * modules/write (Depends-on): Likewise. + * modules/accept (Depends-on): Likewise. + * modules/bind (Depends-on): Likewise. + * modules/connect (Depends-on): Likewise. + * modules/gethostname (Depends-on): Likewise. + * modules/getpeername (Depends-on): Likewise. + * modules/getsockname (Depends-on): Likewise. + * modules/getsockopt (Depends-on): Likewise. + * modules/ioctl (Depends-on): Likewise. + * modules/listen (Depends-on): Likewise. + * modules/recv (Depends-on): Likewise. + * modules/recvfrom (Depends-on): Likewise. + * modules/send (Depends-on): Likewise. + * modules/sendto (Depends-on): Likewise. + * modules/setsockopt (Depends-on): Likewise. + * modules/shutdown (Depends-on): Likewise. + * modules/socket (Depends-on): Likewise. + * modules/execute (Depends-on): Likewise. + * modules/spawn-pipe (Depends-on): Likewise. + * modules/flock (Depends-on): Likewise. + * modules/fsync (Depends-on): Likewise. + * modules/isapipe (Depends-on): Likewise. + * tests/test-cloexec.c: Include msvc-nothrow.h. + * tests/test-dup-safer.c: Likewise. + * tests/test-dup2.c: Likewise. + * tests/test-dup3.c: Likewise. + * tests/test-fcntl.c: Likewise. + * tests/test-pipe.c: Likewise. + * tests/test-pipe2.c: Likewise. + * modules/cloexec-tests (Depends-on): Add msvc-nothrow. + * modules/unistd-safer-tests (Depends-on): Likewise. + * modules/dup2-tests (Depends-on): Likewise. + * modules/dup3-tests (Depends-on): Likewise. + * modules/fcntl-tests (Depends-on): Likewise. + * modules/pipe-posix-tests (Depends-on): Likewise. + * modules/pipe2-tests (Depends-on): Likewise. + +2011-09-23 Bruno Haible + + dup2: Make code more maintainable. + * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2. + (rpl_dup2): Use it. + * m4/dup2.m4 (gl_PREREQ_DUP2): New macro. + * modules/dup2 (configure.ac): Invoke it. + Reported by Paul Eggert. + +2011-09-23 Bruno Haible + + msvc-inval: Fix compilation error. + * lib/msvc-inval.h: Include . + +2011-09-23 Bruno Haible + + mkdir: Tweak for MSVC 9. + * lib/sys_stat.in.h: Update comments. + * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9. + + Tests for module 'chdir'. + * modules/chdir-tests: New file. + * tests/test-chdir.c: New file. + + New module 'chdir'. + * modules/chdir: New file. + * lib/unistd.in.h: Include , also for chdir. + (chdir): New declaration. + * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared. + (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR. + * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR. + * tests/test-unistd-c++.cc: Check signature of chdir. + * doc/posix-functions/chdir.texi: Mention problem on native Windows. + * modules/chdir-long (Depends-on): Add chdir. + * modules/fchdir (Depends-on): Likewise. + * modules/rename (Depends-on): Likewise. + * modules/savewd (Depends-on): Likewise. + + rmdir: Support for mingw, MSVC 9. + * lib/unistd.in.h: Include and also for rmdir. + * doc/posix-functions/getcwd.texi: Mention problem on native Windows. + + getcwd: Tweak for MSVC 9. + * lib/unistd.in.h: Update comments. + * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9. + +2011-09-22 Bruno Haible + + strerror_r-posix: Avoid a link error on MSVC. + * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf. + * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist. + +2011-09-22 Bruno Haible + + select: Avoid link errors on MSVC. + * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT. + * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT). + * modules/pselect (Link): Likewise. + * NEWS: Mention the change. + * modules/select-tests (Makefile.am): Link test-select, test-select-fd, + test-select-stdin against $(LIB_SELECT). + * modules/pselect-tests (Makefile.am): Link test-pselect against + $(LIB_SELECT). + +2011-09-22 Bruno Haible + + select: Avoid compilation error on MSVC. + * lib/select.c: Don't include . + +2011-09-21 Bruno Haible + + Consolidate all uses of PATH_MAX in *.m4 files. + * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New + macros. + * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ + and gl_PATHMAX_SNIPPET. + * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise. + * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise. + * modules/chdir-long (Files): Add m4/pathmax.m4. + * modules/getcwd (Files): Likewise. + +2011-09-21 Bruno Haible + + ftruncate: Un-deprecate, concentrate on Win32 support. + * modules/ftruncate (Status, Notice): Remove sections. + (Depends-on): Add largefile. + * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on + non-mingw platforms. + * lib/ftruncate.c: Remove code for the older platforms. For Win32, + include . + * modules/perror-tests (Depends-on): Add ftruncate. + * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the + 'ftruncate' module. + +2011-09-21 Bruno Haible + + Add dependencies to new dirent related modules. + * modules/opendir (Depends-on): Add closedir. + * modules/getcwd (Depends-on): Add opendir, closedir. + * modules/dirent-safer-tests (Depends-on): Likewise. + * modules/fdopendir-tests (Depends-on): Likewise. + * modules/rename-tests (Depends-on): Add opendir, readdir, closedir. + * modules/renameat-tests (Depends-on): Likewise. + +2011-09-21 Bruno Haible + + opendir: Avoid compilation error on mingw. + * lib/opendir.c: Include always. Include as well. + * modules/opendir (Depends-on): Add unistd. + +2011-09-21 Bruno Haible + + ftruncate tests: Avoid a test failure on mingw. + * tests/test-ftruncate.c (main): Allow a failure with EACCES. + +2011-09-21 Bruno Haible + + select tests: Avoid test failures on OSF/1 5.1 and mingw. + * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and + native Windows. + +2011-09-21 Bruno Haible + + New module 'fdopen'. + * lib/stdio.in.h (fdopen): New declaration. + * lib/fdopen.c: New file. + * m4/fdopen.m4: New file. + * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN, + REPLACE_FDOPEN. + * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN, + REPLACE_FDOPEN. + * modules/fdopen: New file. + * modules/stdio-tests (Depends-on): Remove fdopen-tests. + * tests/test-stdio-c++.cc: Check signature of fdopen. + * doc/posix-functions/fdopen.texi: Mention the new module. + +2011-09-21 Bruno Haible + + unlockpt tests: Avoid test failure on NetBSD 5.1. + * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD. + * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD. + +2011-09-21 Bruno Haible + + getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC. + * tests/test-getlogin.c (main): Allow a failure with EINVAL. + * tests/test-getlogin_r.c (main): Likewise. + +2011-09-20 Bruno Haible + + time tests: Don't require pid_t. + * doc/posix-headers/time.texi: Revert last change. + * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change. + * tests/test-time.c: Comment out the check for pid_t. + +2011-09-20 Bruno Haible + + fsync tests: Avoid a test failure on mingw. + * tests/test-fsync.c (main): Allow a failure with EIO. + +2011-09-20 Bruno Haible + + euidaccess: Update comments. + * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments. + +2011-09-20 Bruno Haible + + Ensure EBADF returns for socket functions on mingw. + * lib/accept.c (rpl_accept): Fail with error EBADF if the file + descriptor is invalid. + * lib/bind.c (rpl_bind): Likewise. + * lib/connect.c (rpl_connect): Likewise. + * lib/getpeername.c (rpl_getpeername): Likewise. + * lib/getsockname.c (rpl_getsockname): Likewise. + * lib/getsockopt.c (rpl_getsockopt): Likewise. + * lib/listen.c (rpl_listen): Likewise. + * lib/recv.c (rpl_recv): Likewise. + * lib/recvfrom.c (rpl_recvfrom): Likewise. + * lib/send.c (rpl_send): Likewise. + * lib/sendto.c (rpl_sendto): Likewise. + * lib/setsockopt.c (rpl_setsockopt): Likewise. + * lib/shutdown.c (rpl_shutdown): Likewise. + +2011-09-20 Bruno Haible + + select tests: EBADF tests. + * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait, + test_bad_fd): New functions. + (test_function): Invoke also test_bad_fd. + +2011-09-20 Bruno Haible + + Tests for module 'posix_spawn_file_actions_addopen. + * modules/posix_spawn_file_actions_addopen-tests: New file. + * tests/test-posix_spawn_file_actions_addopen.c: New file. + + Tests for module 'posix_spawn_file_actions_adddup2'. + * modules/posix_spawn_file_actions_adddup2-tests: New file. + * tests/test-posix_spawn_file_actions_adddup2.c: New file. + + Tests for module 'posix_spawn_file_actions_addclose'. + * modules/posix_spawn_file_actions_addclose-tests: New file. + * tests/test-posix_spawn_file_actions_addclose.c: New file. + +2011-09-20 Bruno Haible + + Tests for module 'unlockpt'. + * modules/unlockpt-tests: New file. + * tests/test-unlockpt.c: New file. + * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem. + + Tests for module 'grantpt'. + * modules/grantpt-tests: New file. + * tests/test-grantpt.c: New file. + * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem. + +2011-09-20 Bruno Haible + + freopen tests: EBADF tests. + * tests/test-freopen.c: Include errno.h, unistd.h. + (main): Add tests for EBADF, commented out for the moment. + + fclose tests: EBADF tests. + * tests/test-fclose.c (main): Add tests for EBADF. + + fflush tests: EBADF tests. + * tests/test-fflush.c: Include errno.h, macros.h. + (main): Add tests for EBADF. + + ftello tests: EBADF tests. + * tests/test-ftello4.sh: New file. + * tests/test-ftello4.c: New file. + * modules/ftello-tests (Files): Add them. + (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh. + + fseeko tests: EBADF tests. + * tests/test-fseeko4.sh: New file. + * tests/test-fseeko4.c: New file. + * modules/fseeko-tests (Files): Add them. + (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh. + + Tests for function fputc(). + * modules/fputc-tests: New file. + * tests/test-fputc.c: New file. + * modules/stdio-tests (Depends-on): Add fputc-tests. + + Tests for function fgetc(). + * modules/fgetc-tests: New file. + * tests/test-fgetc.c: New file. + * modules/stdio-tests (Depends-on): Add fgetc-tests. + + Tests for function fdopen(). + * modules/fdopen-tests: New file. + * tests/test-fdopen.c: New file. + * modules/stdio-tests (Depends-on): Add fdopen-tests. + + Tests for module 'vdprintf'. + * modules/vdprintf-tests: New file. + * tests/test-vdprintf.c: New file. + + Tests for module 'dprintf'. + * modules/dprintf-tests: New file. + * tests/test-dprintf.c: New file. + +2011-09-20 Bruno Haible + + Tests for module 'ioctl'. + * modules/ioctl-tests: New file. + * tests/test-ioctl.c: New file. + +2011-09-20 Bruno Haible + + fcntl tests: EBADF tests. + * tests/test-fcntl.c (main): Add more tests for EBADF. + +2011-09-20 Bruno Haible + + utimensat tests: EBADF tests. + * tests/test-utimensat.c (main): Add tests for EBADF. + + renameat tests: EBADF tests. + * tests/test-renameat.c (main): Add tests for EBADF. + + mkfifoat tests: EBADF tests. + * tests/test-mkfifoat.c (main): Add tests for EBADF. + + readlinkat tests: EBADF tests. + * tests/test-readlinkat.c (main): Add tests for EBADF. + + symlinkat tests: EBADF tests. + * tests/test-symlinkat.c (main): Add tests for EBADF. + + linkat tests: EBADF tests. + * tests/test-linkat.c (main): Add tests for EBADF. + + Tests for module 'faccessat'. + * modules/faccessat-tests: New file. + * tests/test-faccessat.c: New file. + + fdopendir tests: EBADF tests. + * tests/test-fdopendir.c (main): Add more tests for EBADF. + + openat tests: EBADF tests. + * tests/test-fchownat.c (main): Add tests for EBADF. + * tests/test-fstatat.c (main): Likewise. + * tests/test-mkdirat.c (main): Likewise. + * tests/test-openat.c (main): Likewise. + * tests/test-unlinkat.c (main): Likewise. + * tests/test-fchmodat.c: New file. + * modules/openat-tests (Files): Add tests/test-fchmodat.c. + (Makefile.am): Also run 'test-fchmodat'. + +2011-09-20 Bruno Haible + + utimens, futimens, fdutimensat tests: EBADF tests. + * tests/test-futimens.h (test_futimens): Add more tests for EBADF. + + Tests for function fstat(). + * modules/fstat-tests: New file. + * tests/test-fstat.c: New file. + * modules/sys_stat-tests (Depends-on): Add fstat-tests. + +2011-09-20 Bruno Haible + + test-ttyname_r tests: EBADF tests. + * tests/test-ttyname_r.c (main): Add tests for EBADF. + + Tests for module 'isatty'. + * modules/isatty-tests: New file. + * tests/test-isatty.c: New file. + + Tests for module 'write'. + * modules/write-tests: New file. + * tests/test-write.c: New file. + + Tests for module 'read'. + * modules/read-tests: New file. + * tests/test-read.c: New file. + + pwrite tests: EBADF tests. + * tests/test-pwrite.c (main): Add tests for EBADF. + + pread tests: EBADF tests. + * tests/test-pread.c (main): Add tests for EBADF. + + lseek tests: EBADF tests. + * tests/test-lseek.c (main): Add more tests for EBADF. + + Tests for module 'ftruncate'. + * modules/ftruncate-tests: New file. + * tests/test-ftruncate.sh: New file. + * tests/test-ftruncate.c: New file. + + fsync tests: EBADF tests. + * tests/test-fsync.c (main): Add more tests for EBADF. + + fdatasync tests: EBADF tests. + * tests/test-fdatasync.c (main): Add more tests for EBADF. + + Tests for module 'fchown'. + * modules/fchown-tests: New file. + * tests/test-fchown.c: New file. + + Tests for module 'fchmod'. + * modules/fchmod-tests: New file. + * tests/test-fchmod.c: New file. + + fchdir tests: EBADF tests. + * tests/test-fchdir.c (main): Add more tests for EBADF. + + dup2 tests: EBADF tests. + * tests/test-dup2.c (main): Add more tests for EBADF. + + Tests for module 'dup'. + * modules/dup-tests: New file. + * tests/test-dup.c: New file. + + Tests for module 'close'. + * modules/close-tests: New file. + * tests/test-close.c: New file. + +2011-09-20 Bruno Haible + + Tests for module 'shutdown'. + * modules/shutdown-tests: New file. + * tests/test-shutdown.c: New file. + + Tests for module 'setsockopt'. + * modules/setsockopt-tests: New file. + * tests/test-setsockopt.c: New file. + + Tests for module 'sendto'. + * modules/sendto-tests: New file. + * tests/test-sendto.c: New file. + + Tests for module 'send'. + * modules/send-tests: New file. + * tests/test-send.c: New file. + + Tests for module 'recvfrom'. + * modules/recvfrom-tests: New file. + * tests/test-recvfrom.c: New file. + + Tests for module 'recv'. + * modules/recv-tests: New file. + * tests/test-recv.c: New file. + + Tests for module 'listen'. + * modules/listen-tests: New file. + * tests/test-listen.c: New file. + + Tests for module 'getsockopt'. + * modules/getsockopt-tests: New file. + * tests/test-getsockopt.c: New file. + + Tests for module 'getsockname'. + * modules/getsockname-tests: New file. + * tests/test-getsockname.c: New file. + + Tests for module 'getpeername'. + * modules/getpeername-tests: New file. + * tests/test-getpeername.c: New file. + + Tests for module 'connect'. + * modules/connect-tests: New file. + * tests/test-connect.c: New file. + + Tests for module 'bind'. + * modules/bind-tests: New file. + * tests/test-bind.c: New file. + + accept4 tests: Fix for native Windows. + * tests/test-accept4.c: Include sockets.h. + (main): Invoke gl_sockets_startup. + * modules/accept4-tests (Depends-on): Add sockets. + + accept tests: Fix for native Windows. + * tests/test-accept.c: Include sockets.h. + (main): Invoke gl_sockets_startup. + * modules/accept-tests (Depends-on): Add sockets. + +2011-09-19 Bruno Haible + + msvc-inval: Require a semicolon after DONE_MSVC_INVAL. + * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a + do...while(0). + * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL. + Suggested by Paul Eggert. + +2011-09-19 Bruno Haible + + sched: Ensure pid_t is defined. + * m4/sched_h.m4 (gl_SCHED_H): Arrange to override if it does + not define pid_t. + * lib/sched.in.h: Include . + * doc/posix-headers/sched.texi: Mention the pid_t problem. + Reported by Tom G. Christensen . + +2011-09-19 Bruno Haible + + msvc-inval: Ensure the entire expansion is a single statement. + * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair + of braces. + +2011-09-19 Jim Meyering + + tests: use printf, not echo in init.sh's warn_ function + * tests/init.sh (warn_): Use printf, not echo. The latter would + misbehave when given strings containing a backslash or starting + with e.g., -n. James Youngman suggested setting IFS. + +2011-09-19 Eric Blake + + futimens: enhance test + * tests/test-futimens.h (test_futimens): Also check for EBADF on + closed non-negative fd. + + date: accept 'hence' as opposite of 'ago' + * lib/parse-datetime.y (relative_time_table): Add 'hence'. + * tests/test-parse-datetime.c (main): Enhance test. + Suggested by Jesse Wilson. + +2011-09-19 Jim Meyering + + getcwd: don't fail in a deep directory on a system without openat + Before this change, getcwd would fail when called from a directory + of depth PATH_MAX / 3 or greater. That was due to the fact that + the non-openat implementation used "..", "../..", "../../..", etc. + to access ancestor directories. With too many, that string would + be longer than PATH_MAX. + * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are + using gnulib's openat replacement. + * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when + we're using the replacement function. + +2011-09-14 Martin von Gagern + + maint.mk: avoid warnings from perl about missing files + * top/maint.mk (def_sym_regex): Ignore files listed in + $(gl_other_headers_) that do not exist, say because a project + does not use a corresponding module. + +2011-09-18 Paul Eggert + + stat: use pathmax.h only if needed + * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR. + This is better for Emacs, which does not have a mingw port and + therefore can avoid the pathmax module. + + utimens: remove dependency on dup2 + * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed + to work around the Linux kernel bug. + * modules/utimens (Depends-on): Remove dup2. + +2011-09-18 Bruno Haible + + inet_ntop, inet_pton: Look for it also in libresolv. + * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in + libnsl, search for it in libresolv. + * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise. + Needed on Solaris 7. + +2011-09-18 Bruno Haible + + accept, accept4 tests: Avoid link error on Solaris. + * modules/accept-tests (Makefile.am): Link test-accept against + $(LIBSOCKET). + * modules/accept4-tests (Makefile.am): Link test-accept4 against + $(LIBSOCKET). + + accept4: Avoid link error on Solaris. + * modules/accept4 (Link): New section. + + socket functions: Avoid link errors on Solaris. + * modules/accept (Depends-on): Add socketlib. + (Link): New section. + * modules/bind (Depends-on): Add socketlib. + (Link): New section. + * modules/connect (Depends-on): Add socketlib. + (Link): New section. + * modules/getpeername (Depends-on): Add socketlib. + (Link): New section. + * modules/getsockname (Depends-on): Add socketlib. + (Link): New section. + * modules/getsockopt (Depends-on): Add socketlib. + (Link): New section. + * modules/listen (Depends-on): Add socketlib. + (Link): New section. + * modules/recv (Depends-on): Add socketlib. + (Link): New section. + * modules/recvfrom (Depends-on): Add socketlib. + (Link): New section. + * modules/send (Depends-on): Add socketlib. + (Link): New section. + * modules/sendto (Depends-on): Add socketlib. + (Link): New section. + * modules/setsockopt (Depends-on): Add socketlib. + (Link): New section. + * modules/shutdown (Depends-on): Add socketlib. + (Link): New section. + * modules/socket (Depends-on): Add socketlib. + (Link): New section. + +2011-09-18 Bruno Haible + + ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1). + * tests/test-ptsname.c (main): Terminate the test if it takes longer + than 5 seconds. + * modules/ptsname-tests (configure.ac): Test for alarm. + +2011-09-18 Bruno Haible + + posix_spawn_file_actions_add*: Fix module dependencies. + * modules/posix_spawn_file_actions_addclose (Dependencies): Add + posix_spawn_file_actions_init. + * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise. + * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise. + +2011-09-18 Bruno Haible + + rename, renameat tests: Avoid test failures on FreeBSD 6.4. + * tests/test-rename.h (test_rename): Allow error code EEXIST. + * tests/test-renameat.c (main): Likewise. + +2011-09-18 Bruno Haible + + Tests for module 'accept4'. + * modules/accept4-tests: New file. + * tests/test-accept4.c: New file. + +2011-09-18 Bruno Haible + + Tests for module 'accept'. + * modules/accept-tests: New file. + * tests/test-accept.c: New file. + +2011-09-18 Bruno Haible + + dup2: Support for MSVC. + * lib/dup2.c: Include msvc-inval.h. + (rpl_dup2): Handle invalid parameter notifications during dup2 and + _get_osfhandle calls. + * modules/dup2 (Depends-on): Add msvc-inval. + * doc/posix-functions/dup2.texi: Mention problem on MSVC. + + New module 'msvc-inval'. + * lib/msvc-inval.h: New file. + * lib/msvc-inval.c: New file. + * m4/msvc-inval.m4: New file. + * modules/msvc-inval: New file. + +2011-09-17 Bruno Haible + + Tests for module 'pclose'. + * modules/pclose-tests: New file. + + New module 'pclose'. + * lib/stdio.in.h (pclose): New declaration. + * lib/pclose.c: New file. + * m4/pclose.m4: New file. + * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared. + (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE. + * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE. + * modules/pclose: New file. + * modules/popen-tests (Depends-on): Add pclose. + * modules/popen-safer-tests (Depends-on): Likewise. + * doc/posix-functions/pclose.texi: Mention the new module. + +2011-09-17 Bruno Haible + + popen: Support for MSVC. + * lib/stdio.in.h (popen): Declare it if the system lacks this function. + * lib/popen.c (popen): Provide alternate definition for native Windows. + * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN. + * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN. + * modules/popen (Depends-on, configure.ac): Update condition. + * modules/stdio (Makefile.am): Substitute HAVE_POPEN. + * doc/posix-functions/popen.texi: Mention that the MSVC problem is + fixed. + +2011-09-17 Bruno Haible + + isnanl, isnand, isnanf: Work around MSVC bug. + * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity. + +2011-09-17 Bruno Haible + + sys_socket tests: Fix recent mistake. + * tests/test-sys_socket.c (t1): Avoid collision of identifiers. + +2011-09-17 Bruno Haible + + putenv: Support for MSVC. + * modules/putenv (Depends-on): Add environ. + * lib/putenv.c (environ): Disable declaration. + * lib/unistd.in.h: Update comment. + +2011-09-17 Bruno Haible + + math: Avoid macro redefinition warnings on MSVC. + * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl): + Undefine before redefining. + +2011-09-17 Bruno Haible + + doc: Mention functions which are declared as macros. + * doc/posix-functions/*[fl].texi: Mention that some functions are + defined as macros with arguments only. + +2011-09-17 Bruno Haible + + Add dependencies to new dirent related modules. + * modules/backupfile (Depends-on): Add opendir, readdir, closedir. + * modules/fts (Depends-on): Likewise. + * modules/glob (Depends-on): Likewise. + * modules/savedir (Depends-on): Likewise. + * modules/scandir (Depends-on): Likewise. + * modules/dirent-safer (Depends-on): Add opendir, closedir. + * modules/fdopendir (Depends-on): Add opendir. + +2011-09-17 Bruno Haible + + inet_pton: Support for MSVC on Windows Vista or newer. + * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON. + * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if + HAVE_DECL_INET_PTON is defined. + * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2. + On platforms with , test whether inet_pton is declared in + . If so, arrange to replace it. + * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize + REPLACE_INET_PTON. + * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON. + * modules/inet_pton (Files): Add m4/sys_socket_h.m4. + (Depends-on, configure.ac): Update condition. + * doc/posix-functions/inet_pton.texi: Mention the MSVC problem. + +2011-09-17 Bruno Haible + + inet_ntop: Support for MSVC on Windows Vista or newer. + * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP. + * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if + HAVE_DECL_INET_NTOP is defined. + * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2. + On platforms with , test whether inet_ntop is declared in + . If so, arrange to replace it. + * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize + REPLACE_INET_NTOP. + * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP. + * modules/inet_ntop (Files): Add m4/sys_socket_h.m4. + (Depends-on, configure.ac): Update condition. + * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem. + +2011-09-16 Eric Blake + + test-fsync: yet another enhancement + * tests/test-fsync.c (main): Also test behavior on read-only text + file. + +2011-09-16 Bruno Haible + + Enhance fsync, fdatasync tests. + * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO. + * tests/test-fdatasync.c (main): Likewise. + +2011-09-16 Bruno Haible + + Support for MSVC compiler: Ensure mode_t gets defined. + * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T. + * m4/spawn_h.m4 (gl_SPAWN_H): Likewise. + * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise. + * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise. + * tests/test-fcntl-h.c: Check that mode_t is defined. + * tests/test-sys_stat.c: Likewise. + * tests/test-sys_types.c: Likewise. + * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem. + * doc/posix-headers/sys_stat.texi: Likewise. + * doc/posix-headers/sys_types.texi: Likewise. + +2011-09-16 Bruno Haible + + sys_stat: Support for MSVC. + * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists. + * tests/test-sys_stat.c: Don't assume that S_IFBLK exists. + * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on + MSVC. + +2011-09-16 Bruno Haible + + Support for MSVC compiler: Ensure off_t gets defined. + * lib/unistd.in.h: Include . + * tests/test-fcntl-h.c: Check that off_t is defined. + * tests/test-sys_stat.c: Likewise. + * tests/test-sys_types.c: Likewise. + +2011-09-16 Eric Blake + + fdatasync: port to Solaris + * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC. + * modules/fdatasync (Link): Document it. + * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it. + + fdatasync: port to MacOS X 10.7 + * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not + declared. + * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default. + * modules/unistd (Makefile.am): Substitute it. + * lib/unistd.in.h (fdatasync): Declare on MacOS. + * doc/posix-functions/fdatasync.texi (fdatasync): Document it. + + fdatasync: minor improvements + * modules/fdatasync (Depends-on): Add condition for fsync. + * lib/fdatasync.c (fdatasync): Add comment. + * tests/test-unistd-c++.cc: Test fdatasync. + + unistd: update refs to newer POSIX + * lib/unistd.in.h: Prefer POSIX 2008 over 2001. + Suggested by Bruno Haible. + + fdatasync: new module + * modules/fsync (Description): Document difference to fdatasync. + * modules/fdatasync: New module. + * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file. + * lib/fdatasync.c (fdatasync): Likewise. + * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up + defaults. + * modules/unistd (Makefile.am): Set witnesses. + * lib/unistd.in.h (fdatasync): Declare. + * MODULES.html.sh: Document it. + * doc/posix-functions/fdatasync.texi (fdatasync): Likewise. + * modules/fdatasync-tests: New test. + * tests/test-fdatasync.c: Likewise. + +2011-09-16 Eric Blake + + test-fsync: enhance tests + * modules/fsync-tests (Depends-on): Add errno, for mingw. + * tests/test-fsync.c (main): Enhance test. + +2011-09-15 Bruno Haible + + Support for MSVC compiler: Ensure ssize_t gets defined. + * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem. + * doc/posix-headers/stdio.texi: Likewise. + * modules/stdio (Depends-on): Add ssize_t. + * modules/sys_socket (Depends-on): Likewise. + * modules/sys_types (Depends-on): Likewise. + * modules/sys_uio (Depends-on): Likewise. + * modules/unistd (Depends-on): Likewise. + * tests/test-sys_socket.c: Check that size_t and ssize_t are defined. + * tests/test-sys_types.c: Check that ssize_t is defined. + +2011-09-14 Bruno Haible + + Avoid using #, the m4 comment starter character, near brackets. + * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as + delimiter character in sed expressions. + * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise. + Suggested by Eric Blake. + + Properly quote AC_CHECK_DECLS' 4th argument. + * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th + argument. + * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise. + * m4/ceill.m4 (gl_FUNC_CEILL): Likewise. + * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise. + * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise. + * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise. + * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise. + * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise. + * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise. + * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise. + * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise. + * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise. + * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise. + * m4/isfinite.m4 (gl_ISFINITE): Likewise. + * m4/isinf.m4 (gl_ISINF): Likewise. + * m4/logb.m4 (gl_FUNC_LOGB): Likewise. + * m4/readutmp.m4 (gl_READUTMP): Likewise. + * m4/regex.m4 (gl_PREREQ_REGEX): Likewise. + * m4/round.m4 (gl_FUNC_ROUND): Likewise. + * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise. + * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise. + * m4/signbit.m4 (gl_SIGNBIT): Likewise. + * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise. + * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise. + * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise. + * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise. + * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise. + * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise. + * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise. + * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise. + Reported by Eric Blake. + + Properly quote AC_CHECK_DECL's 4th argument. + * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th + argument. + * m4/argp.m4 (gl_ARGP): Likewise. + * m4/asinl.m4 (gl_FUNC_ASINL): Likewise. + * m4/atanl.m4 (gl_FUNC_ATANL): Likewise. + * m4/cosl.m4 (gl_FUNC_COSL): Likewise. + * m4/expl.m4 (gl_FUNC_EXPL): Likewise. + * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise. + * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise. + * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise. + * m4/logl.m4 (gl_FUNC_LOGL): Likewise. + * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise. + * m4/sinl.m4 (gl_FUNC_SINL): Likewise. + * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise. + * m4/tanl.m4 (gl_FUNC_TANL): Likewise. + Reported by Eric Blake. + +2011-09-14 Eric Blake + + opendir: avoid compile warning + * lib/opendir.c (includes): Always include errno.h. + Reported by Tatsuro MATSUOKA. + +2011-09-14 Jim Meyering + + maint.mk: sc_tight_scope: propagate failure from sub-make + * top/maint.mk (sc_tight_scope): Actually initialize and use $fail. + Reported by Martin von Gagern. + +2011-09-13 Bruno Haible + + tempname: Support for MSVC. + * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on + MSVC. + * modules/tempname (Depends-on): Add fcntl-h. + +2011-09-13 Bruno Haible + + sys_time: Support for MSVC. + * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke + gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also + include . + * lib/sys_time.in.h: On MSVC, include and hide its + function declarations that collide with POSIX. + * modules/sys_time (Files): Add m4/sys_socket_h.m4. + (Makefile.am): Substitute HAVE_WINSOCK2_H. + +2011-09-13 Bruno Haible + + stat: Support for MSVC. + * lib/stat.c: Include pathmax.h. + * modules/stat (Depends-on): Add pathmax. + + pathmax: Support for native Windows. + * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows. + +2011-09-12 Bruno Haible + + New modules 'opendir', 'readdir', 'rewinddir', 'closedir'. + * lib/dirent.in.h (struct dirent): New type. + (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK, + DT_WHT): New macros. + (DIR): New type. + (opendir, closedir): Declare only if the module 'opendir' is enabled. + (readdir, rewinddir): New declarations. + * lib/dirent-private.h: New file. + * lib/opendir.c: New file. + * lib/readdir.c: New file. + * lib/rewinddir.c: New file. + * lib/closedir.c: New file. + * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions. + * m4/opendir.m4: New file. + * m4/readdir.m4: New file. + * m4/rewinddir.m4: New file. + * m4/closedir.m4: New file. + * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR, + REPLACE_CLOSEDIR here. + * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir, + readdir, rewinddir are declared. + (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR, + GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR, + HAVE_REWINDDIR, HAVE_CLOSEDIR. + * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR, + GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, + HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR. + * modules/opendir: New file. + * modules/readdir: New file. + * modules/rewinddir: New file. + * modules/closedir: New file. + * doc/posix-functions/opendir.texi: Mention the 'opendir' module. + * doc/posix-functions/readdir.texi: Mention the 'readdir' module. + * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module. + * doc/posix-functions/closedir.texi: Mention the 'closedir' module. + * NEWS: Mention the 'fchdir' change. + +2011-09-11 Bruno Haible + + asm-underscore.m4: Support for MSVC. + * m4/asm-underscore.m4 (gl_C_ASM): New macro. + (gl_ASM_SYMBOL_PREFIX): Require it. Use its results. + +2011-09-11 Reuben Thomas + + Doc about crypt functions. + * doc/posix-functions/crypt.texi: Expand range of glibc versions + needing for _GNU_SOURCE to get crypt. + * doc/posix-functions/encrypt.texi: Likewise. + * doc/posix-functions/setkey.texi: Likewise. + +2011-09-11 Bruno Haible + + doc: Update regarding MSVC 9. + * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely + tested". + * doc/posix-functions/*.texi: Update with info about MSVC 9. + * doc/posix-headers/*.texi: Likewise. + * doc/pastposix-functions/*.texi: Likewise. + * doc/glibc-functions/*.texi: Likewise. + * doc/glibc-headers/*.texi: Likewise. + +2011-09-11 Bruno Haible + + unistd et al.: Don't assume exists. + * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include if it + does not exist. + * m4/environ.m4 (gl_ENVIRON): Don't include if it does not + exist. But include . + * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If does not exist, + include and instead. Don't test symbolink links if + symlink() does not exist. + * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If does not exist, + include instead. + * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows. + * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If does not exist, + include instead. + * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise. + * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise. + * m4/lseek.m4 (gl_FUNC_LSEEK): If does not exist, include + instead. + * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links + correctly if the system does not have hard links. + * m4/rmdir.m4 (gl_FUNC_RMDIR): If does not exist, include + instead. + * m4/unistd_h.m4 (gl_UNISTD_H): If does not exist, bypass + it when looking for function declarations. + * m4/unlink.m4 (gl_FUNC_UNLINK): If does not exist, include + and instead. + * doc/posix-headers/unistd.texi: More details about MSVC problem. + +2011-09-11 Bruno Haible + + strcase: Support for MSVC. + * modules/strcase (Status, Notice): Remove obsoletion mark. + * doc/posix-functions/strcasecmp.texi: Mention MSVC problem. + * doc/posix-functions/strncasecmp.texi: Likewise. + + strings: Don't assume exists. + * lib/strings.in.h: Include only if HAVE_STRINGS_H is 1. + * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H. + * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H. + * doc/posix-headers/strings.texi: Mention the MSVC problem. + +2011-09-11 Bruno Haible + + dirent: Don't assume exists. + * lib/dirent.in.h: Include only if HAVE_DIRENT_H is 1. + * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H. + * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H. + * doc/posix-headers/dirent.texi: Mention the MSVC problem. + +2011-09-11 Bruno Haible + + Fix wint_t on MSVC. + * lib/wchar.in.h (wint_t): On MSVC, override it. + * lib/wctype.in.h (wint_t): Likewise. + * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on + MSVC. + * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC. + * doc/posix-headers/wctype.texi: Likewise. + +2011-09-11 Bruno Haible + + sys_types: Fix typo. + * lib/sys_types.in.h: Fix typo in comment. + Reported by Paul Eggert. + + Support for MSVC compiler: Ensure size_t gets defined. + * modules/strings (Depends-on): Add 'sys_types'. + * modules/sys_uio (Depends-on): Likewise. + * lib/sys_uio.in.h: Update comment. + + C++ tests for module 'sys_types'. + * modules/sys_types-c++-tests: New file. + * tests/test-sys_types-c++.cc: New file. + + Tests for module 'sys_types'. + * modules/sys_types-tests: New file. + * tests/test-sys_types.c: New file. + + New module 'sys_types'. + * lib/sys_types.in.h: New file. + * m4/sys_types_h.m4: New file. + * modules/sys_types: New file. + * doc/posix-headers/sys_types.texi: Mention the new module and the + size_t problem on MSVC 9. + +2011-09-11 Bruno Haible + + Support for MSVC compiler: Avoid division by a literal 0. + * lib/math.in.h (NAN): Define through a function call also on MSVC. + * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0. + * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A, + gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise. + (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L. + * tests/infinity.h: New file. + * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also + on MSVC. + * tests/test-ceilf1.c: Include infinity.h. + (main): Use Infinityf. + * tests/test-ceil1.c: Include infinity.h. + (main): Use Infinityd. + * tests/test-ceill.c: Include infinity.h. + (main): Use Infinityl. + * tests/test-dprintf-posix.c: Include infinity.h. + (test_function): Use Infinityd. + * tests/test-floorf1.c: Include infinity.h. + (main): Use Infinityf. + * tests/test-floor1.c: Include infinity.h. + (main): Use Infinityd. + * tests/test-floorl.c: Include infinity.h. + (main): Use Infinityl. + * tests/test-fprintf-posix.c: Include infinity.h. + (test_function): Use Infinityd. + * tests/test-frexp.c: Include infinity.h. + (main): Use Infinityd. + * tests/test-frexpl.c: Include infinity.h. + (main): Use Infinityl. + * tests/test-isfinite.c: Include infinity.h. + (test_isfinitef): Use Infinityf. + (test_isfinited): Use Infinityd. + (test_isfinitel): Use Infinityl. + * tests/test-isinf.c: Include infinity.h. + (test_isinff): Use Infinityf. + (test_isinfd): Use Infinityd. + (test_isinfl): Use Infinityl. + * tests/test-isnan.c: Include infinity.h. + (test_float): Use Infinityf. + (test_double): Use Infinityd. + (test_long_double): Use Infinityl. + * tests/test-isnanf.h: Include infinity.h. + (main): Use Infinityf. + * tests/test-isnand.h: Include infinity.h. + (main): Use Infinityd. + * tests/test-isnanl.h: Include infinity.h. + (main): Use Infinityl. + * tests/test-ldexpl.c: Include infinity.h. + (main): Use Infinityl. + * tests/test-printf-posix.h: Include infinity.h. + (test_function): Use Infinityd. + * tests/test-roundf1.c: Include infinity.h. + (main): Use Infinityf. + * tests/test-round1.c: Include infinity.h. + (main): Use Infinityd. + * tests/test-roundl.c: Include infinity.h. + (main): Use Infinityl. + * tests/test-signbit.c: Include infinity.h. + (test_signbitf): Use Infinityf. + (test_signbitd): Use Infinityd. + (test_signbitl): Use Infinityl. + * tests/test-snprintf-posix.h: Include infinity.h. + (test_function): Use Infinityd, Infinityl. + * tests/test-sprintf-posix.h: Include infinity.h. + (test_function): Use Infinityd, Infinityl. + * tests/test-truncf1.c: Include infinity.h. + (main): Use Infinityf. + * tests/test-trunc1.c: Include infinity.h. + (main): Use Infinityd. + * tests/test-truncl.c: Include infinity.h. + (main): Use Infinityl. + * tests/test-vasnprintf-posix.c: Include infinity.h. + (test_function): Use Infinityd, Infinityl. + * tests/test-vasprintf-posix.c: Include infinity.h. + (test_function): Use Infinityd, Infinityl. + * modules/ceilf-tests (Files): Add tests/infinity.h. + * modules/ceil-tests (Files): Likewise. + * modules/ceill-tests (Files): Likewise. + * modules/dprintf-posix-tests (Files): Likewise. + * modules/floorf-tests (Files): Likewise. + * modules/floor-tests (Files): Likewise. + * modules/floorl-tests (Files): Likewise. + * modules/fprintf-posix-tests (Files): Likewise. + * modules/frexp-tests (Files): Likewise. + * modules/frexp-nolibm-tests (Files): Likewise. + * modules/frexpl-tests (Files): Likewise. + * modules/frexpl-nolibm-tests (Files): Likewise. + * modules/isfinite-tests (Files): Likewise. + * modules/isinf-tests (Files): Likewise. + * modules/isnan-tests (Files): Likewise. + * modules/isnanf-tests (Files): Likewise. + * modules/isnanf-nolibm-tests (Files): Likewise. + * modules/isnand-tests (Files): Likewise. + * modules/isnand-nolibm-tests (Files): Likewise. + * modules/isnanl-tests (Files): Likewise. + * modules/isnanl-nolibm-tests (Files): Likewise. + * modules/ldexpl-tests (Files): Likewise. + * modules/printf-posix-tests (Files): Likewise. + * modules/roundf-tests (Files): Likewise. + * modules/round-tests (Files): Likewise. + * modules/roundl-tests (Files): Likewise. + * modules/signbit-tests (Files): Likewise. + * modules/snprintf-posix-tests (Files): Likewise. + * modules/sprintf-posix-tests (Files): Likewise. + * modules/truncf-tests (Files): Likewise. + * modules/trunc-tests (Files): Likewise. + * modules/truncl-tests (Files): Likewise. + * modules/vasnprintf-posix-tests (Files): Likewise. + * modules/vasprintf-posix-tests (Files): Likewise. + * modules/vdprintf-posix-tests (Files): Likewise. + * modules/vfprintf-posix-tests (Files): Likewise. + * modules/vprintf-posix-tests (Files): Likewise. + * modules/vsnprintf-posix-tests (Files): Likewise. + * modules/vsprintf-posix-tests (Files): Likewise. + * modules/xprintf-posix-tests (Files): Likewise. + +2011-09-11 Bruno Haible + + Ensure pid_t gets defined. + * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T. + * m4/sched_h.m4 (gl_SCHED_H): Likewise. + * m4/signal_h.m4 (gl_SIGNAL_H): Likewise. + * m4/spawn_h.m4 (gl_SPAWN_H): Likewise. + * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise. + * m4/termios_h.m4 (gl_TERMIOS_H): Likewise. + * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise. + * m4/unistd_h.m4 (gl_UNISTD_H): Likewise. + * tests/test-fcntl-h.c: Check that pid_t is defined. + * tests/test-sched.c: Likewise. + * tests/test-termios.c: Likewise. + * tests/test-time.c: Likewise. + * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform. + * doc/posix-headers/signal.texi: Likewise. + * doc/posix-headers/sys_types.texi: Likewise. + * doc/posix-headers/time.texi: Likewise. + +2011-09-11 Bruno Haible + + acl: Fix compilation on Solaris 10 (older version). + * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead + of ACE_EVERYONE. + * lib/set-mode-acl.c (qset_acl): Likewise. + Reported by Christian Jullien . + +2011-09-10 Bruno Haible + + iconv, unsetenv: Add support for MSVC compiler. + * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC. + * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers. + +2011-09-10 Bruno Haible + + *printf: Add support for MSVC compiler. + * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that + handles the exception caused by the %n directive. When cross-compiling, + guess no on native Windows. + (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99, + gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing, + emulate it through vsnprintf. + * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment. + * doc/posix-functions/dprintf.texi: Update documentation regarding + MSVC 9. + * doc/posix-functions/fprintf.texi: Likewise. + * doc/posix-functions/printf.texi: Likewise. + * doc/posix-functions/snprintf.texi: Likewise. + * doc/posix-functions/sprintf.texi: Likewise. + * doc/posix-functions/swprintf.texi: Likewise. + * doc/posix-functions/vdprintf.texi: Likewise. + * doc/posix-functions/vfprintf.texi: Likewise. + * doc/posix-functions/vprintf.texi: Likewise. + * doc/posix-functions/vsnprintf.texi: Likewise. + * doc/posix-functions/vsprintf.texi: Likewise. + * doc/glibc-functions/asprintf.texi: Likewise. + * doc/glibc-functions/obstack_printf.texi: Likewise. + * doc/glibc-functions/obstack_vprintf.texi: Likewise. + * doc/glibc-functions/vasprintf.texi: Likewise. + +2011-09-10 Bruno Haible + + nocrash: Add support for native Windows. + * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows. + +2011-09-10 Michael Goffioul (tiny change) + Bruno Haible + + absolute-header, include-next: Add support for MSVC compiler. + * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require + AC_CANONICAL_HOST. On native Windows, recognize also backslash as + directory separator in #line directives. + * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows, + recognize also backslash as directory separator in #line directives. + +2011-09-08 Jim Meyering + + maint.mk: mark the post-release commit log with "maint: " prefix + * top/maint.mk (emit-commit-log): Add "maint: " prefix to the + one-line commit-log summary. + +2011-09-08 Reuben Thomas + Bruno Haible + + Doc about crypt functions. + * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc + systems. + * doc/posix-functions/encrypt.texi: Likewise. + * doc/posix-functions/setkey.texi: Likewise. + +2011-09-08 Simon Josefsson + + * lib/gc.h: Fix copyright header. + +2011-09-07 Bruno Haible + + pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1. + * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and + AC_LINK_IFELSE instead of AC_SEARCH_LIBS. + 2011-09-07 Bruno Haible openat: Work around compilation error with OSF/1 5.1 DTK cc. - * lib/openat.h: Use different syntax for include of . + * lib/fopen.c: Use different syntax for include of . + * lib/freopen.c: Likewise. + * lib/fstatat.c: Use different syntax for include of . + * lib/lstat.c: Likewise. + * lib/stat.c: Likewise. + * lib/open.c: Use different syntax for include of . + * lib/openat.c: Include fcntl.h again, explicitly. + +2011-09-04 J.T. Conklin + + parse-datetime: document the newly accepted format + * doc/parse-datetime.texi (Combined date and time of day items): + New section. + +2011-09-06 Bruno Haible + + acl: Fix a test failure on newer Solaris 10 with ZFS. + * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with + ENOSYS as no ACL. + Reported by Jim Meyering. + +2011-09-06 Bruno Haible + + acl: Update for AIX >= 5.3 with NFS. + * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with + ENOSYS as no ACL. + + acl: Fix a test failure on AIX >= 5.3 with NFS. + * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS + as no ACL. + +2011-09-06 Bruno Haible + + acl: Fix a test failure on IRIX 6.5 with NFS. + * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX. + * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead + of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always. + * lib/copy-acl.c (qcopy_acl): Likewise. 2011-09-05 Paul Eggert @@ -17,6 +4638,77 @@ (openat) [HAVE_OPENAT]: Do not undef. (rpl_openat): Use orig_openat, not openat. +2011-09-05 Joachim Schmitz (tiny change) + Bruno Haible + + acl: Avoid errors on NonStop Kernel. + * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and + ENOTSUP errors. + +2011-09-05 Bruno Haible + + acl: Clean up Solaris code. + * lib/acl-internal.h: Remove no-op #if. + * lib/file-has-acl.c: Likewise. + * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code. + * lib/copy-acl.c (qcopy_acl): Likewise. + +2011-09-05 Bruno Haible + + acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in + binaries built on the original Solaris 10. + * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be + trivial. + +2011-09-05 Bruno Haible + + acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version). + * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris + 10. + * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10. + (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs. + * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl + instead of acl_get, facl_get, acl_set, facl_set. + +2011-09-05 Bruno Haible + + copy-file: Try unit tests on more file systems. + * tests/test-copy-file-1.sh: New file. + * tests/test-copy-file-2.sh: New file. + * modules/copy-file-tests (Files): Add them. + (Makefile.am): Add them to TESTS. + + acl: Try unit tests on more file systems. + * tests/test-file-has-acl-1.sh: New file. + * tests/test-file-has-acl-2.sh: New file. + * tests/test-set-mode-acl-1.sh: New file. + * tests/test-set-mode-acl-2.sh: New file. + * tests/test-copy-acl-1.sh: New file. + * tests/test-copy-acl-2.sh: New file. + * modules/acl-tests (Files): Add them. + (Makefile.am): Add them to TESTS. + +2011-09-04 Bruno Haible + + acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version). + * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris + 10. + (OLD_ALLOW, OLD_DENY): New macros. + (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from + ACE_ACCESS_ALLOWED_ACE_TYPE. + (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from + ACE_ACCESS_DENIED_ACE_TYPE. + (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros. + (NEW_ACE_EXECUTE): Fix value. + (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS, + NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD, + NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE, + NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER, + NEW_ACE_SYNCHRONIZE): New macros. + * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl + instead of acl_fromtext, acl_set, facl_set. + Fixes a coreutils/tests/cp/perm failure. + 2011-09-03 Paul Eggert openat: test for fstatat (..., 0) bug @@ -52,6 +4744,33 @@ * doc/regex.texi (Character Class Operators): Avoid literal ":" in index entries. +2011-09-02 Bruno Haible + + Allow the user to override the choice of AR, ARFLAGS, RANLIB. + * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given + values of AR, ARFLAGS, RANLIB. + Reported by John W. Eaton for Octave. + +2011-09-02 Bruno Haible + + Find 'ar' program that fits with --host argument. + * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL. + +2011-09-02 Bruno Haible + + tests: init.sh: Support any non-GNU diff. + * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is + not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1, + Solaris 8. + +2011-09-02 Bruno Haible + + tests: init.sh: work also with any non-GNU diff that supports -u + * tests/init.sh: Relax check for diff -u support. + Rather than checking for GNU diff via --version, simply check + for support for -u itself. Useful at least on OpenBSD 4.9, + AIX 7.1, IRIX 6.5, and Solaris 10. + 2011-09-01 Bruno Haible strtoimax, strtoumax: Document problem on HP-UX 11. @@ -92,6 +4811,24 @@ 2011-09-01 Bruno Haible + Tests for module 'strtoumax'. + * modules/strtoumax-tests: New file. + * tests/test-strtoumax.c: New file. + + Tests for module 'strtoimax'. + * modules/strtoimax-tests: New file. + * tests/test-strtoimax.c: New file. + + Tests for module 'imaxdiv'. + * modules/imaxdiv-tests: New file. + * tests/test-imaxdiv.c: New file. + + Tests for module 'imaxabs'. + * modules/imaxabs-tests: New file. + * tests/test-imaxabs.c: New file. + +2011-09-01 Bruno Haible + pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5. * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not pthread_create. @@ -122,6 +4859,37 @@ LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64 with gcc-4.4.4. + maint: indent with spaces, not TABs + I need to get in the habit of running gnulib's "make check". + Both of these would have been caught. + * m4/largefile.m4: Indent with spaces, not TABs. + * lib/parse-datetime.y (iso_8601_time): Likewise. + Spotted by Pádraig Brady. + + test-parse-datetime.c: accommodate a relatively strict gcc warning + * tests/test-parse-datetime.c (gmt_offset): Declare function "static", + to avoid a warning from gcc's -Werror=missing-declarations. + Insert a few spaces-before-funcall-parenthesis. + +2011-08-17 J.T. Conklin + + parse-datetime: accept ISO 8601 date and time rep with "T" separator + The parser now accepts ISO 8601 date-time strings with "T" as the + separator. It has long parsed dates like "2004-02-29 16:21:42" + with a space between the date and time strings. Now it also parses + "2004-02-29T16:21:42" and fractional-second and time-zone-annotated + variants like "2004-02-29T16:21:42.333-07:00" + * lib/parse-datetime.y: Parse ISO 8601 extended date and time + of day representation using the 'T' separator character. + * doc/parse-datetime.texi (General date syntax): replace use of + deprecated --iso-8601 option with --rfc-3339 in example of date + command output formats that can be parsed. + * tests/test-parse-datetime.c (tm_diff): New function, taken from + lib/parse-datetime.y. + (gmt_offset): New function. + (main): Add additional test cases to validate ISO8601 extended + date and time of day parsing. + 2011-08-31 Bruno Haible freopen: Documentation. diff --git a/MODULES.html.sh b/MODULES.html.sh index 8785ff2ca..bc8a1a6a6 100755 --- a/MODULES.html.sh +++ b/MODULES.html.sh @@ -1512,19 +1512,26 @@ func_module () # parentheses (as per GNU standards, section "GNU Manuals"). # - Flag the remaining symbol() constructs as errors. # - Change 'xxx' to xxx. + sed_extract_element=' + '$sed_lt' + '$sed_gt' + '$sed_remove_trailing_empty_line' + s,^, , + s,$, , + s,\([^a-zA-Z_]\)'$posix_functions'() \(function\|macro\),\1\2 \3,g + s,\([^a-zA-Z_]\)'$posix_functions' \(function\|macro\),\1\2 \3,g + s,\([^a-zA-Z_]\)'$posix_functions'(),\1\2 what?? If you mean a function\, please say so.,g + s,\([^a-zA-Z_]\)'$posix2001_functions'() \(function\|macro\),\1\2 \3,g + s,\([^a-zA-Z_]\)'$posix2001_functions' \(function\|macro\),\1\2 \3,g + s,\([^a-zA-Z_]\)'$posix2001_functions'(),\1\2 what?? If you mean a function\, please say so.,g + s,\([^a-zA-Z_]\)\([a-zA-Z_][a-zA-Z0-9_]*\)() \(function\|macro\),\1\2 \3,g + s,\([^a-zA-Z_]\)\([a-zA-Z_][a-zA-Z0-9_]*\)(),\1\2 what?? If you mean a function\, please say so.,g + s, '"'"'\([a-zA-Z0-9_ -]*\)'"'"'\([^a-zA-Z0-9_]\), \1\2,g + s,^ ,, + s, $,, + ' element=`gnulib-tool --extract-description $1 \ - | sed -e "$sed_lt" -e "$sed_gt" -e "$sed_remove_trailing_empty_line" \ - -e 's,^, ,' -e 's,$, ,' \ - -e 's,\([^a-zA-Z_]\)'"${posix_functions}"'() \(function\|macro\),\1\2 \3,g' \ - -e 's,\([^a-zA-Z_]\)'"${posix_functions}"' \(function\|macro\),\1\2 \3,g' \ - -e 's,\([^a-zA-Z_]\)'"${posix_functions}"'(),\1\2 what?? If you mean a function\, please say so.,g' \ - -e 's,\([^a-zA-Z_]\)'"${posix2001_functions}"'() \(function\|macro\),\1\2 \3,g' \ - -e 's,\([^a-zA-Z_]\)'"${posix2001_functions}"' \(function\|macro\),\1\2 \3,g' \ - -e 's,\([^a-zA-Z_]\)'"${posix2001_functions}"'(),\1\2 what?? If you mean a function\, please say so.,g' \ - -e 's,\([^a-zA-Z_]\)\([a-zA-Z_][a-zA-Z0-9_]*\)() \(function\|macro\),\1\2 \3,g' \ - -e 's,\([^a-zA-Z_]\)\([a-zA-Z_][a-zA-Z0-9_]*\)(),\1\2 what?? If you mean a function\, please say so.,g' \ - -e 's, '"'"'\([a-zA-Z0-9_ -]*\)'"'"'\([^a-zA-Z0-9_]\), \1\2,g' \ - -e 's,^ ,,' -e 's, $,,'` + | LC_ALL=C sed -e "$sed_extract_element"` func_echo "$element" func_end TR @@ -1539,13 +1546,19 @@ func_module () includes=`gnulib-tool --extract-include-directive $1` files=`gnulib-tool --extract-filelist $1 \ | grep -v '^m4/gnulib-common\.m4$'` + sed_extract_element=' + '$sed_lt' + '$sed_gt' + '$sed_remove_trailing_empty_line' + s,^#include "\(.*\)"$,#include "\1", + s,^#include <'$posix_headers'\.h>$,#include \<\1.h\>, + s,,, + s,^#include <'$posix2001_headers'\.h>$,#include \<\1.h\>, + s/$/
/ + ' element=`echo "$includes" \ - | sed -e "$sed_lt" -e "$sed_gt" -e "$sed_remove_trailing_empty_line" \ - -e 's,^#include "\(.*\)"$,#include "\1",' \ - -e 's,^#include <'"${posix_headers}"'\.h>$,#include \<\1.h\>,' \ - -e 's,,,' \ - -e 's,^#include <'"${posix2001_headers}"'\.h>$,#include \<\1.h\>,' \ - -e 's/$/
/' | tr -d "$trnl" | sed -e 's/
$//'` + | LC_ALL=C sed -e "$sed_extract_element" | tr -d "$trnl" \ + | sed -e 's/
$//'` test -n "$element" || element='---' func_echo "$element" @@ -1554,21 +1567,28 @@ func_module () | sed -n -e "$sed_choose_unconditional_nonstandard_include" \ | sed -e "$sed_escape_dot" | tr -d "$trnl"` sed_choose_lib_files='s,^lib/\(.*\)$,\1,p' + sed_extract_include=' + \|^'"$includefile"'$|d + s,^\(.*\)$,\1, + s/$/
/ + ' element=`echo "$files" \ | sed -e '/^$/d' \ | sed -n -e "$sed_choose_lib_files" \ - | sed -e '\|^'"${includefile}"'$|d' \ - -e 's,^\(.*\)$,\1,' \ - -e 's/$/
/' | tr -d "$trnl" | sed -e 's/
$//'` + | sed -e "$sed_extract_include" \ + | tr -d "$trnl" | sed -e 's/
$//'` test -n "$element" || element='---' func_echo "$element" sed_choose_m4_files='s,^m4/\(.*\)$,\1,p' + sed_extract_repo_url=' + /^onceonly/d + s,^\(.*\)$,\1, + ' element=`(echo "$files" \ | sed -e "$sed_remove_trailing_empty_line" \ | sed -n -e "$sed_choose_m4_files" \ - | sed -e '/^onceonly/d' \ - -e 's,^\(.*\)$,\1,'; \ + | sed -e "$sed_extract_repo_url"; \ gnulib-tool --extract-autoconf-snippet $1 \ | sed -e "$sed_remove_trailing_empty_line") \ | sed -e 's/$/
/' | tr -d "$trnl" | sed -e 's/
$//'` @@ -1973,6 +1993,7 @@ func_all_modules () func_echo "$element" func_begin_table + func_module base32 func_module base64 func_module check-version func_module crc @@ -2319,6 +2340,10 @@ func_all_modules () func_wrap H3 func_echo "$element" + func_begin_table + func_module stdalign + func_end_table + element="Support for obsolete systems lacking POSIX:2008" func_section_wrap posix_sup_obsolete func_wrap H2 @@ -2356,6 +2381,7 @@ func_all_modules () func_module fclose func_module fcntl-h func_module fcntl + func_module fdatasync func_module flock func_module fopen func_module fprintf-posix @@ -2409,6 +2435,7 @@ func_all_modules () func_module perror func_module poll func_module popen + func_module posix_openpt func_module posix_spawn func_module posix_spawnattr_destroy func_module posix_spawnattr_getflags @@ -2450,7 +2477,7 @@ func_all_modules () func_module servent func_module setsockopt func_module shutdown - func_module signal + func_module signal-h func_module sleep func_module snprintf-posix func_module socket @@ -3420,6 +3447,7 @@ func_all_modules () func_module physmem func_module posixver func_module progname + func_module ptsname_r func_module pty func_module quotearg func_module quote @@ -3593,7 +3621,7 @@ if test -n "$missed_files"; then func_echo "$element" func_echo '
'
-  echo "$missed_files" | sed -e 's,^\(.*\)$,\1,'
+  echo "$missed_files" | sed -e 's,^\(.*\)$,\1,'
   echo '
' fi diff --git a/Makefile b/Makefile index cb1d7cd0b..f62a66138 100644 --- a/Makefile +++ b/Makefile @@ -35,8 +35,8 @@ sc_prefer_ac_check_funcs_once: sc_prohibit_leading_TABs: if test -d .git; then \ git grep -l '^ * ' lib m4 tests \ - | grep -Ev '^lib/reg|Makefile|test-update-copyright' \ - | grep . \ + | grep -Ev '^lib/reg|Makefile|test-update-copyright' \ + | grep . \ && { printf '*** %s\n' 'indent with spaces, not TABs;' \ 1>&2; exit 1; } || : \ else :; fi @@ -101,11 +101,11 @@ sc_pragma_columns: # *.c files are consistently cpp indented. sc_cpp_indent_check: ./gnulib-tool --extract-filelist \ - $$(cd ./modules; grep -ilrE '(meyering|blake)' .) \ - | sort -u \ - | grep '\.c$$' \ - | grep -vE '/(stdio-(read|write)|getloadavg)\.c$$' \ - | xargs cppi -c + $$(cd ./modules; grep -ilrE '(meyering|blake)' .) \ + | sort -u \ + | grep '\.c$$' \ + | grep -vE '/(stdio-(read|write)|getloadavg)\.c$$' \ + | xargs cppi -c # Ensure that the list of symbols checked for by the # sc_prohibit_intprops_without_use rule match those in the actual file. @@ -115,7 +115,12 @@ sc_check_sym_list: i=lib/intprops.h; \ diff -u <(perl -lne '/^# *define ([A-Z]\w+)\(/ and print $$1' $$i|fmt) \ <(sed -n /^_intprops_name/,/^_intprops_syms_re/p top/maint.mk \ - |sed '/^_/d;s/^ //;s/ *\\$$//') + |sed '/^_/d;s/^ //;s/ *\\$$//') + +# Ensure that the copyright statements in files and in the module descriptions +# are consistent. +sc_check_copyright: + ./check-copyright # Regenerate some files that are stored in the repository. regen: MODULES.html diff --git a/NEWS b/NEWS index 390538358..0322bd26e 100644 --- a/NEWS +++ b/NEWS @@ -12,6 +12,51 @@ User visible incompatible changes Date Modules Changes +2011-11-18 hash This module deprecates the hash_insert0 function + using gcc's "deprecated" attribute. Use the better- + named hash_insert_if_absent equivalent. + +2011-11-04 openat This module no longer provides the mkdirat() + function. If you need this function, you now need + to request the 'mkdirat' module. + +2011-11-04 openat This module no longer provides the fstatat() + function. If you need this function, you now need + to request the 'fstatat' module. + +2011-11-03 openat This module no longer provides the unlinkat() + function. If you need this function, you now need + to request the 'unlinkat' module. + +2011-11-02 openat This module no longer provides the fchmodat() + function. If you need this function, you now need + to request the 'fchmodat' module. + +2011-11-01 alignof This module no longer provides the alignof() macro. + Use either alignof_slot() or alignof_type() instead. + +2011-11-01 openat This module no longer provides the fchownat() + function. If you need this function, you now need + to request the 'fchownat' module. + +2011-10-03 poll The link requirements of this module are changed + from empty to $(LIB_POLL). + +2011-09-25 sys_stat This module no longer provides the fstat() + function. If you need this function, you now need + to request the 'fstat' module. + +2011-09-23 signal This module is renamed to 'signal-h'. + +2011-09-22 select The link requirements of this module are changed + from $(LIBSOCKET) to $(LIB_SELECT). + +2011-09-12 fchdir This module no longer overrides the functions + opendir() and closedir(), unless the modules + 'opendir' and 'closedir' are in use, respectively. + If you use opendir(), please use module 'opendir'. + If you use closedir(), please use module 'closedir'. + 2011-08-04 pathmax The header file "pathmax.h" no longer defines PATH_MAX on GNU/Hurd. Please use one of the methods listed in pathmax.h to ensure your package is diff --git a/NEWS.stable b/NEWS.stable index 059d739b5..329116861 100644 --- a/NEWS.stable +++ b/NEWS.stable @@ -1,6 +1,21 @@ Gnulib stable snapshot ---------------------- + * 20111211-stable + +Snapshot taken based on: + +commit b572c3a256e7bf1e4eecc8c36448c08093240a6a +Date: Sat Dec 3 13:09:58 2011 +0100 + +with the following additional commits: + + * [c69114d]->[b3a93d2] tests: Avoid spurious error message on platforms without mktemp program. + * [8446103]->[46519aa] autoupdate + * [7c25126]->[6057366] autoupdate + +---------------------------------------------------------------------- + * 20110908-stable Snapshot taken based on: diff --git a/build-aux/announce-gen b/build-aux/announce-gen index 0eb6b5b6e..38663818f 100755 --- a/build-aux/announce-gen +++ b/build-aux/announce-gen @@ -3,7 +3,7 @@ eval '(exit $?0)' && eval 'exec perl -wS "$0" ${1+"$@"}' if 0; # Generate a release announcement message. -my $VERSION = '2011-05-17 20:25'; # UTC +my $VERSION = '2011-11-09 21:30'; # UTC # The definition above must lie within the first 8 lines in order # for the Emacs time-stamp write hook (at end) to update it. # If you change this file with Emacs, please let the write hook @@ -453,28 +453,50 @@ FIXME: put comments here EOF - print_locations ("compressed sources", @url_dir_list, %size, @tarballs); - -f $xd - and print_locations ("xdelta diffs (useful? if so, " - . "please tell bug-gnulib\@gnu.org)", - @url_dir_list, %size, $xd); - my @sig_files = map { "$_.sig" } @tarballs; - print_locations ("GPG detached signatures[*]", @url_dir_list, %size, - @sig_files); + if (@url_dir_list == 1 && @tarballs == 1) + { + # When there's only one tarball and one URL, use a more concise form. + my $m = "$url_dir_list[0]/$tarballs[0]"; + print "Here are the compressed sources and a GPG detached signature[*]:\n" + . " $m\n" + . " $m.sig\n\n"; + } + else + { + print_locations ("compressed sources", @url_dir_list, %size, @tarballs); + -f $xd + and print_locations ("xdelta diffs (useful? if so, " + . "please tell bug-gnulib\@gnu.org)", + @url_dir_list, %size, $xd); + my @sig_files = map { "$_.sig" } @tarballs; + print_locations ("GPG detached signatures[*]", @url_dir_list, %size, + @sig_files); + } + if ($url_dir_list[0] =~ "gnu\.org") { - print "To reduce load on the main server, use a mirror listed at:\n"; - print " http://www.gnu.org/order/ftp.html\n\n"; + print "Use a mirror for higher download bandwidth:\n"; + if (@tarballs == 1 && $url_dir_list[0] =~ m!http://ftp\.gnu\.org/gnu/!) + { + (my $m = "$url_dir_list[0]/$tarballs[0]") + =~ s!http://ftp\.gnu\.org/gnu/!http://ftpmirror\.gnu\.org/!; + print " $m\n" + . " $m.sig\n\n"; + + } + else + { + print " http://www.gnu.org/order/ftp.html\n\n"; + } } $print_checksums_p and print_checksums (@sizable); print <. diff --git a/build-aux/git-version-gen b/build-aux/git-version-gen index 168d81a7a..c7a58af54 100755 --- a/build-aux/git-version-gen +++ b/build-aux/git-version-gen @@ -1,6 +1,6 @@ #!/bin/sh # Print a version string. -scriptversion=2011-08-11.12; # UTC +scriptversion=2011-11-13.13; # UTC # Copyright (C) 2007-2011 Free Software Foundation, Inc. # @@ -69,15 +69,59 @@ scriptversion=2011-08-11.12; # UTC # dist-hook: # echo $(VERSION) > $(distdir)/.tarball-version -case $# in - 1|2) ;; - *) echo 1>&2 "Usage: $0 \$srcdir/.tarball-version" \ - '[TAG-NORMALIZATION-SED-SCRIPT]' - exit 1;; -esac -tarball_version_file=$1 -tag_sed_script="${2:-s/x/x/}" +me=$0 + +version="git-version-gen $scriptversion + +Copyright 2011 Free Software Foundation, Inc. +There is NO warranty. You may redistribute this software +under the terms of the GNU General Public License. +For more information about these matters, see the files named COPYING." + +usage="\ +Usage: $me [OPTION]... \$srcdir/.tarball-version [TAG-NORMALIZATION-SED-SCRIPT] +Print a version string. + +Options: + + --prefix prefix of git tags (default 'v') + + --help display this help and exit + --version output version information and exit + +Running without arguments will suffice in most cases." + +while test $# -gt 0; do + case $1 in + --help) echo "$usage"; exit 0;; + --version) echo "$version"; exit 0;; + --prefix) shift; prefix="$1";; + -*) + echo "$0: Unknown option \`$1'." >&2 + echo "$0: Try \`--help' for more information." >&2 + exit 1;; + *) + if test -z "$tarball_version_file"; then + tarball_version_file="$1" + elif test -z "$tag_sed_script"; then + tag_sed_script="$1" + else + echo "$0: extra non-option argument \`$1'." >&2 + exit 1 + fi;; + esac + shift +done + +if test -z "$tarball_version_file"; then + echo "$usage" + exit 1 +fi + +tag_sed_script="${tag_sed_script:-s/x/x/}" +prefix="${prefix:-v}" + nl=' ' @@ -106,11 +150,11 @@ then # directory, and "git describe" output looks sensible, use that to # derive a version string. elif test "`git log -1 --pretty=format:x . 2>&1`" = x \ - && v=`git describe --abbrev=4 --match='v*' HEAD 2>/dev/null \ + && v=`git describe --abbrev=4 --match="$prefix*" HEAD 2>/dev/null \ || git describe --abbrev=4 HEAD 2>/dev/null` \ && v=`printf '%s\n' "$v" | sed "$tag_sed_script"` \ && case $v in - v[0-9]*) ;; + $prefix[0-9]*) ;; *) (exit 1) ;; esac then @@ -143,7 +187,7 @@ else v=UNKNOWN fi -v=`echo "$v" |sed 's/^v//'` +v=`echo "$v" |sed "s/^$prefix//"` # Test whether to append the "-dirty" suffix only if the version # string we're using came from git. I.e., skip the test if it's "UNKNOWN" diff --git a/build-aux/gitlog-to-changelog b/build-aux/gitlog-to-changelog index 45597041e..40a803554 100755 --- a/build-aux/gitlog-to-changelog +++ b/build-aux/gitlog-to-changelog @@ -3,7 +3,7 @@ eval '(exit $?0)' && eval 'exec perl -wS "$0" ${1+"$@"}' if 0; # Convert git log output to ChangeLog format. -my $VERSION = '2009-10-30 13:46'; # UTC +my $VERSION = '2011-11-02 07:53'; # UTC # The definition above must lie within the first 8 lines in order # for the Emacs time-stamp write hook (at end) to update it. # If you change this file with Emacs, please let the write hook @@ -60,6 +60,10 @@ $ME, they may be preceded by '--'. OPTIONS: + --amend=FILE FILE maps from an SHA1 to perl code (i.e., s/old/new/) that + makes a change to SHA1's commit log text or metadata. + --append-dot append a dot to the first line of each commit message if + there is no other punctuation or blank at the end. --since=DATE convert only the logs since DATE; the default is to convert all log entries. --format=FMT set format string for commit subject and body; @@ -74,6 +78,23 @@ EXAMPLE: $ME --since=2008-01-01 > ChangeLog $ME -- -n 5 foo > last-5-commits-to-branch-foo +In a FILE specified via --amend, comment lines (starting with "#") are ignored. +FILE must consist of pairs where SHA is a 40-byte SHA1 (alone on +a line) referring to a commit in the current project, and CODE refers to one +or more consecutive lines of Perl code. Pairs must be separated by one or +more blank line. + +Here is sample input for use with --amend=FILE, from coreutils: + +3a169f4c5d9159283548178668d2fae6fced3030 +# fix typo in title: +s/all tile types/all file types/ + +1379ed974f1fa39b12e2ffab18b3f7a607082202 +# Due to a bug in vc-dwim, I mis-attributed a patch by Paul to myself. +# Change the author to be Paul. Note the escaped "@": +s,Jim .*>,Paul Eggert , + EOF } exit $exit_code; @@ -99,24 +120,87 @@ sub quoted_cmd(@) return join (' ', map {shell_quote $_} @_); } +# Parse file F. +# Comment lines (starting with "#") are ignored. +# F must consist of pairs where SHA is a 40-byte SHA1 +# (alone on a line) referring to a commit in the current project, and +# CODE refers to one or more consecutive lines of Perl code. +# Pairs must be separated by one or more blank line. +sub parse_amend_file($) { - my $since_date = '1970-01-01 UTC'; + my ($f) = @_; + + open F, '<', $f + or die "$ME: $f: failed to open for reading: $!\n"; + + my $fail; + my $h = {}; + my $in_code = 0; + my $sha; + while (defined (my $line = )) + { + $line =~ /^\#/ + and next; + chomp $line; + $line eq '' + and $in_code = 0, next; + + if (!$in_code) + { + $line =~ /^([0-9a-fA-F]{40})$/ + or (warn "$ME: $f:$.: invalid line; expected an SHA1\n"), + $fail = 1, next; + $sha = lc $1; + $in_code = 1; + exists $h->{$sha} + and (warn "$ME: $f:$.: duplicate SHA1\n"), + $fail = 1, next; + } + else + { + $h->{$sha} ||= ''; + $h->{$sha} .= "$line\n"; + } + } + close F; + + $fail + and exit 1; + + return $h; +} + +{ + my $since_date; my $format_string = '%s%n%b%n'; + my $amend_file; + my $append_dot = 0; GetOptions ( help => sub { usage 0 }, version => sub { print "$ME version $VERSION\n"; exit }, 'since=s' => \$since_date, 'format=s' => \$format_string, + 'amend=s' => \$amend_file, + 'append-dot' => \$append_dot, ) or usage 1; - my @cmd = (qw (git log --log-size), "--since=$since_date", - '--pretty=format:%ct %an <%ae>%n%n'.$format_string, @ARGV); + + defined $since_date + and unshift @ARGV, "--since=$since_date"; + + # This is a hash that maps an SHA1 to perl code (i.e., s/old/new/) + # that makes a correction in the log or attribution of that commit. + my $amend_code = defined $amend_file ? parse_amend_file $amend_file : {}; + + my @cmd = (qw (git log --log-size), + '--pretty=format:%H:%ct %an <%ae>%n%n'.$format_string, @ARGV); open PIPE, '-|', @cmd or die ("$ME: failed to run `". quoted_cmd (@cmd) ."': $!\n" . "(Is your Git too old? Version 1.5.1 or later is required.)\n"); my $prev_date_line = ''; + my @prev_coauthors = (); while (1) { defined (my $in = ) @@ -130,7 +214,34 @@ sub quoted_cmd(@) $n_read == $log_nbytes or die "$ME:$.: unexpected EOF\n"; - my @line = split "\n", $log; + # Extract leading hash. + my ($sha, $rest) = split ':', $log, 2; + defined $sha + or die "$ME:$.: malformed log entry\n"; + $sha =~ /^[0-9a-fA-F]{40}$/ + or die "$ME:$.: invalid SHA1: $sha\n"; + + # If this commit's log requires any transformation, do it now. + my $code = $amend_code->{$sha}; + if (defined $code) + { + eval 'use Safe'; + my $s = new Safe; + # Put the unpreprocessed entry into "$_". + $_ = $rest; + + # Let $code operate on it, safely. + my $r = $s->reval("$code") + or die "$ME:$.:$sha: failed to eval \"$code\":\n$@\n"; + + # Note that we've used this entry. + delete $amend_code->{$sha}; + + # Update $rest upon success. + $rest = $_; + } + + my @line = split "\n", $rest; my $author_line = shift @line; defined $author_line or die "$ME:$.: unexpected EOF\n"; @@ -139,18 +250,43 @@ sub quoted_cmd(@) . "(expected date/author/email):\n$author_line\n"; my $date_line = sprintf "%s $2\n", strftime ("%F", localtime ($1)); - # If this line would be the same as the previous date/name/email - # line, then arrange not to print it. - if ($date_line ne $prev_date_line) + + # Format 'Co-authored-by: A U Thor ' lines in + # standard multi-author ChangeLog format. + my @coauthors = grep /^Co-authored-by:.*$/, @line; + for (@coauthors) + { + s/^Co-authored-by:\s*/\t /; + s/\s*/ + or warn "$ME: warning: missing email address for " + . substr ($_, 5) . "\n"; + } + + # If this header would be the same as the previous date/name/email/ + # coauthors header, then arrange not to print it. + if ($date_line ne $prev_date_line or "@coauthors" ne "@prev_coauthors") { $prev_date_line eq '' or print "\n"; print $date_line; + @coauthors + and print join ("\n", @coauthors), "\n"; } $prev_date_line = $date_line; + @prev_coauthors = @coauthors; - # Omit "Signed-off-by..." lines. + # Omit "Co-authored-by..." and "Signed-off-by..." lines. @line = grep !/^Signed-off-by: .*>$/, @line; + @line = grep !/^Co-authored-by: /, @line; + + # Remove leading and trailing blank lines. + if (@line) + { + while ($line[0] =~ /^\s*$/) { shift @line; } + while ($line[$#line] =~ /^\s*$/) { pop @line; } + } # If there were any lines if (@line == 0) @@ -159,9 +295,17 @@ sub quoted_cmd(@) } else { - # Remove leading and trailing blank lines. - while ($line[0] =~ /^\s*$/) { shift @line; } - while ($line[$#line] =~ /^\s*$/) { pop @line; } + if ($append_dot) + { + # If the first line of the message has enough room, then + if (length $line[0] < 72) + { + # append a dot if there is no other punctuation or blank + # at the end. + $line[0] =~ /[[:punct:]\s]$/ + or $line[0] .= '.'; + } + } # Prefix each non-empty line with a TAB. @line = map { length $_ ? "\t$_" : '' } @line; @@ -178,6 +322,16 @@ sub quoted_cmd(@) close PIPE or die "$ME: error closing pipe from " . quoted_cmd (@cmd) . "\n"; # FIXME-someday: include $PROCESS_STATUS in the diagnostic + + # Complain about any unused entry in the --amend=F specified file. + my $fail = 0; + foreach my $sha (keys %$amend_code) + { + warn "$ME:$amend_file: unused entry: $sha\n"; + $fail = 1; + } + + exit $fail; } # Local Variables: diff --git a/build-aux/install-reloc b/build-aux/install-reloc index bc07e67cc..97491a79c 100755 --- a/build-aux/install-reloc +++ b/build-aux/install-reloc @@ -172,10 +172,10 @@ rc=$? rm -f relocwrapper.o \ progname.o \ progreloc.o \ - xreadlink.o \ areadlink.o \ careadlinkat.o \ allocator.o \ + readlink.o \ canonicalize-lgpl.o \ malloca.o \ relocatable.o \ diff --git a/build-aux/install-sh b/build-aux/install-sh index a9244eb07..64c4b3ee5 100755 --- a/build-aux/install-sh +++ b/build-aux/install-sh @@ -1,7 +1,7 @@ #!/bin/sh # install - install a program, script, or datafile -scriptversion=2011-01-19.21; # UTC +scriptversion=2011-11-20.07; # UTC # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the @@ -354,7 +354,7 @@ do if test -z "$dir_arg" || { # Check for POSIX incompatibilities with -m. # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or - # other-writeable bit of parent directory when it shouldn't. + # other-writable bit of parent directory when it shouldn't. # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. ls_ld_tmpdir=`ls -ld "$tmpdir"` case $ls_ld_tmpdir in diff --git a/build-aux/mktempd b/build-aux/mktempd index 7a09a4b3b..b6360e474 100755 --- a/build-aux/mktempd +++ b/build-aux/mktempd @@ -44,7 +44,8 @@ rand_bytes() dev_rand=/dev/urandom if test -r "$dev_rand"; then # Note: 256-length($chars) == 194; 3 copies of $chars is 186 + 8 = 194. - dd ibs=$n count=1 if="$dev_rand" | tr -c $chars 01234567$chars$chars$chars + dd ibs=$n count=1 if="$dev_rand" 2>/dev/null \ + | tr -c $chars 01234567$chars$chars$chars return fi diff --git a/build-aux/texinfo.tex b/build-aux/texinfo.tex index a7f94f96d..d8311178d 100644 --- a/build-aux/texinfo.tex +++ b/build-aux/texinfo.tex @@ -3,7 +3,7 @@ % Load plain if necessary, i.e., if running under initex. \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi % -\def\texinfoversion{2011-08-14.17} +\def\texinfoversion{2011-11-09.15} % % Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995, % 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, @@ -116,6 +116,7 @@ % Set up fixed words for English if not already set. \ifx\putwordAppendix\undefined \gdef\putwordAppendix{Appendix}\fi \ifx\putwordChapter\undefined \gdef\putwordChapter{Chapter}\fi +\ifx\putworderror\undefined \gdef\putworderror{error}\fi \ifx\putwordfile\undefined \gdef\putwordfile{file}\fi \ifx\putwordin\undefined \gdef\putwordin{in}\fi \ifx\putwordIndexIsEmpty\undefined \gdef\putwordIndexIsEmpty{(Index is empty)}\fi @@ -1194,29 +1195,31 @@ output) for that.)} \def\imagewidth{#2}\setbox0 = \hbox{\ignorespaces #2}% \def\imageheight{#3}\setbox2 = \hbox{\ignorespaces #3}% % - % pdftex (and the PDF format) support .png, .jpg, .pdf (among - % others). Let's try in that order. + % pdftex (and the PDF format) support .pdf, .png, .jpg (among + % others). Let's try in that order, PDF first since if + % someone has a scalable image, presumably better to use that than a + % bitmap. \let\pdfimgext=\empty \begingroup - \openin 1 #1.png \ifeof 1 - \openin 1 #1.jpg \ifeof 1 - \openin 1 #1.jpeg \ifeof 1 - \openin 1 #1.JPG \ifeof 1 - \openin 1 #1.pdf \ifeof 1 - \openin 1 #1.PDF \ifeof 1 + \openin 1 #1.pdf \ifeof 1 + \openin 1 #1.PDF \ifeof 1 + \openin 1 #1.png \ifeof 1 + \openin 1 #1.jpg \ifeof 1 + \openin 1 #1.jpeg \ifeof 1 + \openin 1 #1.JPG \ifeof 1 \errhelp = \nopdfimagehelp \errmessage{Could not find image file #1 for pdf}% - \else \gdef\pdfimgext{PDF}% + \else \gdef\pdfimgext{JPG}% \fi - \else \gdef\pdfimgext{pdf}% + \else \gdef\pdfimgext{jpeg}% \fi - \else \gdef\pdfimgext{JPG}% + \else \gdef\pdfimgext{jpg}% \fi - \else \gdef\pdfimgext{jpeg}% + \else \gdef\pdfimgext{png}% \fi - \else \gdef\pdfimgext{jpg}% + \else \gdef\pdfimgext{PDF}% \fi - \else \gdef\pdfimgext{png}% + \else \gdef\pdfimgext{pdf}% \fi \closein 1 \endgroup @@ -2372,7 +2375,9 @@ end \else\ifx\next-% \else\ifx\next.% \else\ptexslash - \fi\fi\fi} + \fi\fi\fi + \aftersmartic +} % like \smartslanted except unconditionally uses \ttsl, and no ic. % @var is set to this for defun arguments. @@ -2382,9 +2387,15 @@ end % ttsl for book titles, do we? \def\cite#1{{\sl #1}\futurelet\next\smartitaliccorrection} +\def\aftersmartic{} +\def\var#1{% + \let\saveaftersmartic = \aftersmartic + \def\aftersmartic{\null\let\aftersmartic=\saveaftersmartic}% + \smartslanted{#1}% +} + \let\i=\smartitalic \let\slanted=\smartslanted -\def\var#1{\smartslanted{#1}} \let\dfn=\smartslanted \let\emph=\smartitalic @@ -2480,7 +2491,7 @@ end \plainfrenchspacing #1% }% - \null + \null % reset spacefactor to 1000 } % We *must* turn on hyphenation at `-' and `_' in @code. @@ -2762,6 +2773,7 @@ end \ifx\temp\empty \else \space ({\unsepspaces \ignorespaces \temp \unskip})% \fi + \null % reset \spacefactor=1000 } % @abbr for "Comput. J." and the like. @@ -2774,6 +2786,7 @@ end \ifx\temp\empty \else \space ({\unsepspaces \ignorespaces \temp \unskip})% \fi + \null % reset \spacefactor=1000 } % @asis just yields its argument. Used with @table, for example. @@ -2979,7 +2992,7 @@ end {\tentt \global\dimen0 = 3em}% Width of the box. \dimen2 = .55pt % Thickness of rules % The text. (`r' is open on the right, `e' somewhat less so on the left.) -\setbox0 = \hbox{\kern-.75pt \reducedsf error\kern-1.5pt} +\setbox0 = \hbox{\kern-.75pt \reducedsf \putworderror\kern-1.5pt} % \setbox\errorbox=\hbox to \dimen0{\hfil \hsize = \dimen0 \advance\hsize by -5.8pt % Space to left+right. @@ -3955,13 +3968,13 @@ end % If so, set to same dimension as multitablelinespace. \ifdim\multitableparskip>\multitablelinespace \global\multitableparskip=\multitablelinespace -\global\advance\multitableparskip-7pt %% to keep parskip somewhat smaller - %% than skip between lines in the table. +\global\advance\multitableparskip-7pt % to keep parskip somewhat smaller + % than skip between lines in the table. \fi% \ifdim\multitableparskip=0pt \global\multitableparskip=\multitablelinespace -\global\advance\multitableparskip-7pt %% to keep parskip somewhat smaller - %% than skip between lines in the table. +\global\advance\multitableparskip-7pt % to keep parskip somewhat smaller + % than skip between lines in the table. \fi} @@ -7247,9 +7260,15 @@ end \def\macroxxx#1{% \getargs{#1}% now \macname is the macname and \argl the arglist \ifx\argl\empty % no arguments - \paramno=0 + \paramno=0\relax \else \expandafter\parsemargdef \argl;% + \if\paramno>256\relax + \ifx\eTeXversion\thisisundefined + \errhelp = \EMsimple + \errmessage{You need eTeX to compile a file with macros with more than 256 arguments} + \fi + \fi \fi \if1\csname ismacro.\the\macname\endcsname \message{Warning: redefining \the\macname}% @@ -7299,9 +7318,17 @@ end \def\getmacname#1 #2\relax{\macname={#1}} \def\getmacargs#1{\def\argl{#1}} +% For macro processing make @ a letter so that we can make Texinfo private macro names. +\edef\texiatcatcode{\the\catcode`\@} +\catcode `@=11\relax + % Parse the optional {params} list. Set up \paramno and \paramlist -% so \defmacro knows what to do. Define \macarg.blah for each blah -% in the params list to be ##N where N is the position in that list. +% so \defmacro knows what to do. Define \macarg.BLAH for each BLAH +% in the params list to some hook where the argument si to be expanded. If +% there are less than 10 arguments that hook is to be replaced by ##N where N +% is the position in that list, that is to say the macro arguments are to be +% defined `a la TeX in the macro body. +% % That gets used by \mbodybackslash (above). % % We need to get `macro parameter char #' into several definitions. @@ -7311,12 +7338,33 @@ end % % The same technique is used to protect \eatspaces till just before % the macro is used. - +% +% If there are 10 or more arguments, a different technique is used, where the +% hook remains in the body, and when macro is to be expanded the body is +% processed again to replace the arguments. +% +% In that case, the hook is \the\toks N-1, and we simply set \toks N-1 to the +% argument N value and then \edef the body (nothing else will expand because of +% the catcode regime underwhich the body was input). +% +% If you compile with TeX (not eTeX), and you have macros with 10 or more +% arguments, you need that no macro has more than 256 arguments, otherwise an +% error is produced. \def\parsemargdef#1;{% \paramno=0\def\paramlist{}% \let\hash\relax \let\xeatspaces\relax \parsemargdefxxx#1,;,% + % In case that there are 10 or more arguments we parse again the arguments + % list to set new definitions for the \macarg.BLAH macros corresponding to + % each BLAH argument. It was anyhow needed to parse already once this list + % in order to count the arguments, and as macros with at most 9 arguments + % are by far more frequent than macro with 10 or more arguments, defining + % twice the \macarg.BLAH macros does not cost too much processing power. + \ifnum\paramno<10\relax\else + \paramno0\relax + \parsemmanyargdef@@#1,;,% 10 or more arguments + \fi } \def\parsemargdefxxx#1,{% \if#1;\let\next=\relax @@ -7327,16 +7375,205 @@ end \edef\paramlist{\paramlist\hash\the\paramno,}% \fi\next} +\def\parsemmanyargdef@@#1,{% + \if#1;\let\next=\relax + \else + \let\next=\parsemmanyargdef@@ + \edef\tempb{\eatspaces{#1}}% + \expandafter\def\expandafter\tempa + \expandafter{\csname macarg.\tempb\endcsname}% + % Note that we need some extra \noexpand\noexpand, this is because we + % don't want \the to be expanded in the \parsermacbody as it uses an + % \xdef . + \expandafter\edef\tempa + {\noexpand\noexpand\noexpand\the\toks\the\paramno}% + \advance\paramno by 1\relax + \fi\next} + % These two commands read recursive and nonrecursive macro bodies. % (They're different since rec and nonrec macros end differently.) % + +\catcode `\@\texiatcatcode \long\def\parsemacbody#1@end macro% {\xdef\temp{\eatcr{#1}}\endgroup\defmacro}% \long\def\parsermacbody#1@end rmacro% {\xdef\temp{\eatcr{#1}}\endgroup\defmacro}% +\catcode `\@=11\relax + +\let\endargs@\relax +\let\nil@\relax +\def\nilm@{\nil@}% +\long\def\nillm@{\nil@}% + +% This macro is expanded during the Texinfo macro expansion, not during its +% definition. It gets all the arguments values and assigns them to macros +% macarg.ARGNAME +% +% #1 is the macro name +% #2 is the list of argument names +% #3 is the list of argument values +\def\getargvals@#1#2#3{% + \def\macargdeflist@{}% + \def\saveparamlist@{#2}% Need to keep a copy for parameter expansion. + \def\paramlist{#2,\nil@}% + \def\macroname{#1}% + \begingroup + \macroargctxt + \def\argvaluelist{#3,\nil@}% + \def\@tempa{#3}% + \ifx\@tempa\empty + \setemptyargvalues@ + \else + \getargvals@@ + \fi +} + +% +\def\getargvals@@{% + \ifx\paramlist\nilm@ + % Some sanity check needed here that \argvaluelist is also empty. + \ifx\argvaluelist\nillm@ + \else + \errhelp = \EMsimple + \errmessage{Too many arguments in macro `\macroname'!}% + \fi + \let\next\macargexpandinbody@ + \else + \ifx\argvaluelist\nillm@ + % No more arguments values passed to macro. Set remaining named-arg + % macros to empty. + \let\next\setemptyargvalues@ + \else + % pop current arg name into \@tempb + \def\@tempa##1{\pop@{\@tempb}{\paramlist}##1\endargs@}% + \expandafter\@tempa\expandafter{\paramlist}% + % pop current argument value into \@tempc + \def\@tempa##1{\longpop@{\@tempc}{\argvaluelist}##1\endargs@}% + \expandafter\@tempa\expandafter{\argvaluelist}% + % Here \@tempb is the current arg name and \@tempc is the current arg value. + % First place the new argument macro definition into \@tempd + \expandafter\macname\expandafter{\@tempc}% + \expandafter\let\csname macarg.\@tempb\endcsname\relax + \expandafter\def\expandafter\@tempe\expandafter{% + \csname macarg.\@tempb\endcsname}% + \edef\@tempd{\long\def\@tempe{\the\macname}}% + \push@\@tempd\macargdeflist@ + \let\next\getargvals@@ + \fi + \fi + \next +} -% This defines the macro itself. There are six cases: recursive and -% nonrecursive macros of zero, one, and many arguments. +\def\push@#1#2{% + \expandafter\expandafter\expandafter\def + \expandafter\expandafter\expandafter#2% + \expandafter\expandafter\expandafter{% + \expandafter#1#2}% +} + +% Replace arguments by their values in the macro body, and place the result +% in macro \@tempa +\def\macvalstoargs@{% + % To do this we use the property that token registers that are \the'ed + % within an \edef expand only once. So we are going to place all argument + % values into respective token registers. + % + % First we save the token context, and initialize argument numbering. + \begingroup + \paramno0\relax + % Then, for each argument number #N, we place the corresponding argument + % value into a new token list register \toks#N + \expandafter\putargsintokens@\saveparamlist@,;,% + % Then, we expand the body so that argument are replaced by their + % values. The trick for values not to be expanded themselves is that they + % are within tokens and that tokens expand only once in an \edef . + \edef\@tempc{\csname mac.\macroname .body\endcsname}% + % Now we restore the token stack pointer to free the token list registers + % which we have used, but we make sure that expanded body is saved after + % group. + \expandafter + \endgroup + \expandafter\def\expandafter\@tempa\expandafter{\@tempc}% + } + +\def\macargexpandinbody@{% + %% Define the named-macro outside of this group and then close this group. + \expandafter + \endgroup + \macargdeflist@ + % First the replace in body the macro arguments by their values, the result + % is in \@tempa . + \macvalstoargs@ + % Then we point at the \norecurse or \gobble (for recursive) macro value + % with \@tempb . + \expandafter\let\expandafter\@tempb\csname mac.\macroname .recurse\endcsname + % Depending on whether it is recursive or not, we need some tailing + % \egroup . + \ifx\@tempb\gobble + \let\@tempc\relax + \else + \let\@tempc\egroup + \fi + % And now we do the real job: + \edef\@tempd{\noexpand\@tempb{\macroname}\noexpand\scanmacro{\@tempa}\@tempc}% + \@tempd +} + +\def\putargsintokens@#1,{% + \if#1;\let\next\relax + \else + \let\next\putargsintokens@ + % First we allocate the new token list register, and give it a temporary + % alias \@tempb . + \toksdef\@tempb\the\paramno + % Then we place the argument value into that token list register. + \expandafter\let\expandafter\@tempa\csname macarg.#1\endcsname + \expandafter\@tempb\expandafter{\@tempa}% + \advance\paramno by 1\relax + \fi + \next +} + +% Save the token stack pointer into macro #1 +\def\texisavetoksstackpoint#1{\edef#1{\the\@cclvi}} +% Restore the token stack pointer from number in macro #1 +\def\texirestoretoksstackpoint#1{\expandafter\mathchardef\expandafter\@cclvi#1\relax} +% newtoks that can be used non \outer . +\def\texinonouternewtoks{\alloc@ 5\toks \toksdef \@cclvi} + +% Tailing missing arguments are set to empty +\def\setemptyargvalues@{% + \ifx\paramlist\nilm@ + \let\next\macargexpandinbody@ + \else + \expandafter\setemptyargvaluesparser@\paramlist\endargs@ + \let\next\setemptyargvalues@ + \fi + \next +} + +\def\setemptyargvaluesparser@#1,#2\endargs@{% + \expandafter\def\expandafter\@tempa\expandafter{% + \expandafter\def\csname macarg.#1\endcsname{}}% + \push@\@tempa\macargdeflist@ + \def\paramlist{#2}% +} + +% #1 is the element target macro +% #2 is the list macro +% #3,#4\endargs@ is the list value +\def\pop@#1#2#3,#4\endargs@{% + \def#1{#3}% + \def#2{#4}% +} +\long\def\longpop@#1#2#3,#4\endargs@{% + \long\def#1{#3}% + \long\def#2{#4}% +} + +% This defines a Texinfo @macro. There are eight cases: recursive and +% nonrecursive macros of zero, one, up to nine, and many arguments. % Much magic with \expandafter here. % \xdef is used so that macro definitions will survive the file % they're defined in; @include reads the file inside a group. @@ -7355,17 +7592,25 @@ end \expandafter\noexpand\csname\the\macname xxx\endcsname}% \expandafter\xdef\csname\the\macname xxx\endcsname##1{% \egroup\noexpand\scanmacro{\temp}}% - \else % many - \expandafter\xdef\csname\the\macname\endcsname{% - \bgroup\noexpand\macroargctxt - \noexpand\csname\the\macname xx\endcsname}% - \expandafter\xdef\csname\the\macname xx\endcsname##1{% - \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}% - \expandafter\expandafter - \expandafter\xdef - \expandafter\expandafter - \csname\the\macname xxx\endcsname - \paramlist{\egroup\noexpand\scanmacro{\temp}}% + \else + \ifnum\paramno<10\relax % at most 9 + \expandafter\xdef\csname\the\macname\endcsname{% + \bgroup\noexpand\macroargctxt + \noexpand\csname\the\macname xx\endcsname}% + \expandafter\xdef\csname\the\macname xx\endcsname##1{% + \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}% + \expandafter\expandafter + \expandafter\xdef + \expandafter\expandafter + \csname\the\macname xxx\endcsname + \paramlist{\egroup\noexpand\scanmacro{\temp}}% + \else % 10 or more + \expandafter\xdef\csname\the\macname\endcsname{% + \noexpand\getargvals@{\the\macname}{\argl}% + }% + \global\expandafter\let\csname mac.\the\macname .body\endcsname\temp + \global\expandafter\let\csname mac.\the\macname .recurse\endcsname\gobble + \fi \fi \else \ifcase\paramno @@ -7382,23 +7627,33 @@ end \egroup \noexpand\norecurse{\the\macname}% \noexpand\scanmacro{\temp}\egroup}% - \else % many - \expandafter\xdef\csname\the\macname\endcsname{% - \bgroup\noexpand\macroargctxt - \expandafter\noexpand\csname\the\macname xx\endcsname}% - \expandafter\xdef\csname\the\macname xx\endcsname##1{% - \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}% - \expandafter\expandafter - \expandafter\xdef - \expandafter\expandafter - \csname\the\macname xxx\endcsname - \paramlist{% - \egroup - \noexpand\norecurse{\the\macname}% - \noexpand\scanmacro{\temp}\egroup}% + \else % at most 9 + \ifnum\paramno<10\relax + \expandafter\xdef\csname\the\macname\endcsname{% + \bgroup\noexpand\macroargctxt + \expandafter\noexpand\csname\the\macname xx\endcsname}% + \expandafter\xdef\csname\the\macname xx\endcsname##1{% + \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}% + \expandafter\expandafter + \expandafter\xdef + \expandafter\expandafter + \csname\the\macname xxx\endcsname + \paramlist{% + \egroup + \noexpand\norecurse{\the\macname}% + \noexpand\scanmacro{\temp}\egroup}% + \else % 10 or more: + \expandafter\xdef\csname\the\macname\endcsname{% + \noexpand\getargvals@{\the\macname}{\argl}% + }% + \global\expandafter\let\csname mac.\the\macname .body\endcsname\temp + \global\expandafter\let\csname mac.\the\macname .recurse\endcsname\norecurse + \fi \fi \fi} +\catcode `\@\texiatcatcode\relax + \def\norecurse#1{\bgroup\cslet{#1}{macsave.#1}} % \braceorline decides whether the next nonwhitespace character is a @@ -7861,7 +8116,7 @@ end % space to prevent strange expansion errors.) \def\supereject{\par\penalty -20000\footnoteno =0 } -% @footnotestyle is meaningful for info output only. +% @footnotestyle is meaningful for Info output only. \let\footnotestyle=\comment {\catcode `\@=11 @@ -7924,6 +8179,8 @@ end % expands into a box, it must come within the paragraph, lest it % provide a place where TeX can split the footnote. \footstrut + % + % Invoke rest of plain TeX footnote routine. \futurelet\next\fo@t } }%end \catcode `\@=11 diff --git a/check-copyright b/check-copyright new file mode 100755 index 000000000..355d46e35 --- /dev/null +++ b/check-copyright @@ -0,0 +1,66 @@ +#!/bin/sh +# +# Copyright (C) 2011 Free Software Foundation, Inc. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# + +error=0 +for module in `./gnulib-tool --list`; do + module_license=`./gnulib-tool --extract-license $module` + if test "$module_license" = 'GPLed build tool'; then + module_license='GPL' + fi + for file in `./gnulib-tool --extract-filelist $module | grep '^\(lib\|build-aux\)/'`; do + if grep 'GNU General Public' $file > /dev/null; then + if grep 'version 3 or later' $file > /dev/null \ + || grep 'either version 3' $file > /dev/null; then + file_license='GPL' + else + if grep 'version 2 or later' $file > /dev/null \ + || grep 'either version 2' $file > /dev/null; then + file_license='GPLv2+' + else + file_license='GPL??' + fi + fi + else + if grep 'Lesser General' $file > /dev/null; then + if grep 'version 3 or later' $file > /dev/null \ + || grep 'either version 3' $file > /dev/null; then + file_license='LGPL' + else + if grep 'version 2 or later' $file > /dev/null \ + || grep 'version 2 of the License, or' $file > /dev/null \ + || grep 'version 2\.1 of the License, or' $file > /dev/null; then + file_license='LGPLv2+' + else + file_license='LGPL??' + fi + fi + else + file_license='??' + fi + fi + if test "$file_license" != "$module_license"; then + if test $error = 0; then + echo "Module License File License File name" + echo "============== ============== =====================================" + fi + printf '%-14s %-14s %s\n' "$module_license" "$file_license" "$file" + error=1 + fi + done +done +exit $error diff --git a/doc/fdl-1.3.texi b/doc/fdl-1.3.texi index fc19ddddf..3b83db466 100644 --- a/doc/fdl-1.3.texi +++ b/doc/fdl-1.3.texi @@ -481,7 +481,7 @@ license notices just after the title page: @end smallexample If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, -replace the ``with@dots{}Texts.'' line with this: +replace the ``with@dots{}Texts.''@: line with this: @smallexample @group diff --git a/doc/fdl.texi b/doc/fdl.texi index fc19ddddf..3b83db466 100644 --- a/doc/fdl.texi +++ b/doc/fdl.texi @@ -481,7 +481,7 @@ license notices just after the title page: @end smallexample If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, -replace the ``with@dots{}Texts.'' line with this: +replace the ``with@dots{}Texts.''@: line with this: @smallexample @group diff --git a/doc/glibc-functions/accept4.texi b/doc/glibc-functions/accept4.texi index 631409909..cf3d8fca0 100644 --- a/doc/glibc-functions/accept4.texi +++ b/doc/glibc-functions/accept4.texi @@ -9,7 +9,7 @@ Portability problems fixed by Gnulib: @item This function is missing on many non-glibc platforms: MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.7.1, mingw, Interix 3.5, BeOS. +IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.7.1, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/glibc-functions/acct.texi b/doc/glibc-functions/acct.texi index 9e9abf6d1..9b787806d 100644 --- a/doc/glibc-functions/acct.texi +++ b/doc/glibc-functions/acct.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, AIX 5.1, Cygwin, mingw, Interix 3.5, BeOS. +Minix 3.1.8, AIX 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/addmntent.texi b/doc/glibc-functions/addmntent.texi index 974575f3f..8db05e299 100644 --- a/doc/glibc-functions/addmntent.texi +++ b/doc/glibc-functions/addmntent.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 4.3.2, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 4.3.2, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/addseverity.texi b/doc/glibc-functions/addseverity.texi index df69effff..a7a5f9238 100644 --- a/doc/glibc-functions/addseverity.texi +++ b/doc/glibc-functions/addseverity.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/adjtime.texi b/doc/glibc-functions/adjtime.texi index 25e3df93b..29a3c59e0 100644 --- a/doc/glibc-functions/adjtime.texi +++ b/doc/glibc-functions/adjtime.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, AIX 5.1, Cygwin, mingw, Interix 3.5, BeOS. +Minix 3.1.8, AIX 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/adjtimex.texi b/doc/glibc-functions/adjtimex.texi index 7e9f40733..772d3eb21 100644 --- a/doc/glibc-functions/adjtimex.texi +++ b/doc/glibc-functions/adjtimex.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/advance.texi b/doc/glibc-functions/advance.texi index 9e0c206da..7dadf1251 100644 --- a/doc/glibc-functions/advance.texi +++ b/doc/glibc-functions/advance.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/aio_init.texi b/doc/glibc-functions/aio_init.texi index a805e23c7..596414aeb 100644 --- a/doc/glibc-functions/aio_init.texi +++ b/doc/glibc-functions/aio_init.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/argp_err_exit_status.texi b/doc/glibc-functions/argp_err_exit_status.texi index aaaa84be7..01de3c2f8 100644 --- a/doc/glibc-functions/argp_err_exit_status.texi +++ b/doc/glibc-functions/argp_err_exit_status.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This variable is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/argp_error.texi b/doc/glibc-functions/argp_error.texi index 908532512..713c776bd 100644 --- a/doc/glibc-functions/argp_error.texi +++ b/doc/glibc-functions/argp_error.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/argp_failure.texi b/doc/glibc-functions/argp_failure.texi index 87470b13c..00d334324 100644 --- a/doc/glibc-functions/argp_failure.texi +++ b/doc/glibc-functions/argp_failure.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/argp_help.texi b/doc/glibc-functions/argp_help.texi index 2af51badb..e14e3e985 100644 --- a/doc/glibc-functions/argp_help.texi +++ b/doc/glibc-functions/argp_help.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/argp_parse.texi b/doc/glibc-functions/argp_parse.texi index 9d3b0fa88..3ab354554 100644 --- a/doc/glibc-functions/argp_parse.texi +++ b/doc/glibc-functions/argp_parse.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/argp_program_bug_address.texi b/doc/glibc-functions/argp_program_bug_address.texi index 5ace65493..57ea650b2 100644 --- a/doc/glibc-functions/argp_program_bug_address.texi +++ b/doc/glibc-functions/argp_program_bug_address.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This variable is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/argp_program_version.texi b/doc/glibc-functions/argp_program_version.texi index 352b4b2a1..ae05a073e 100644 --- a/doc/glibc-functions/argp_program_version.texi +++ b/doc/glibc-functions/argp_program_version.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This variable is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/argp_program_version_hook.texi b/doc/glibc-functions/argp_program_version_hook.texi index 046207064..df77fb9ff 100644 --- a/doc/glibc-functions/argp_program_version_hook.texi +++ b/doc/glibc-functions/argp_program_version_hook.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This variable is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/argp_state_help.texi b/doc/glibc-functions/argp_state_help.texi index 831a7ab59..c5a44b242 100644 --- a/doc/glibc-functions/argp_state_help.texi +++ b/doc/glibc-functions/argp_state_help.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/argp_usage.texi b/doc/glibc-functions/argp_usage.texi index f3957d3c0..5adec4bdf 100644 --- a/doc/glibc-functions/argp_usage.texi +++ b/doc/glibc-functions/argp_usage.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/argz_add.texi b/doc/glibc-functions/argz_add.texi index 29c1c07fd..42d340173 100644 --- a/doc/glibc-functions/argz_add.texi +++ b/doc/glibc-functions/argz_add.texi @@ -9,7 +9,7 @@ Portability problems fixed by Gnulib: @item This function is missing on some platforms: MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, Interix 3.5, BeOS. +IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9, Interix 3.5, BeOS. @item This function is broken on some platforms: diff --git a/doc/glibc-functions/argz_add_sep.texi b/doc/glibc-functions/argz_add_sep.texi index 11bf14c85..e47655be9 100644 --- a/doc/glibc-functions/argz_add_sep.texi +++ b/doc/glibc-functions/argz_add_sep.texi @@ -9,7 +9,7 @@ Portability problems fixed by Gnulib: @item This function is missing on some platforms: MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, Interix 3.5, BeOS. +IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9, Interix 3.5, BeOS. @item This function is broken on some platforms: diff --git a/doc/glibc-functions/argz_append.texi b/doc/glibc-functions/argz_append.texi index c9ad05152..1a2dc0cec 100644 --- a/doc/glibc-functions/argz_append.texi +++ b/doc/glibc-functions/argz_append.texi @@ -9,7 +9,7 @@ Portability problems fixed by Gnulib: @item This function is missing on some platforms: MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, Interix 3.5, BeOS. +IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9, Interix 3.5, BeOS. @item This function is broken on some platforms: diff --git a/doc/glibc-functions/argz_count.texi b/doc/glibc-functions/argz_count.texi index 55a1c6903..8fc8b25d7 100644 --- a/doc/glibc-functions/argz_count.texi +++ b/doc/glibc-functions/argz_count.texi @@ -9,7 +9,7 @@ Portability problems fixed by Gnulib: @item This function is missing on some platforms: MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, Interix 3.5, BeOS. +IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9, Interix 3.5, BeOS. @item This function is broken on some platforms: diff --git a/doc/glibc-functions/argz_create.texi b/doc/glibc-functions/argz_create.texi index c483bffb6..ed3f4d8df 100644 --- a/doc/glibc-functions/argz_create.texi +++ b/doc/glibc-functions/argz_create.texi @@ -9,7 +9,7 @@ Portability problems fixed by Gnulib: @item This function is missing on some platforms: MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, Interix 3.5, BeOS. +IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9, Interix 3.5, BeOS. @item This function is broken on some platforms: diff --git a/doc/glibc-functions/argz_create_sep.texi b/doc/glibc-functions/argz_create_sep.texi index 552031e54..f1021c117 100644 --- a/doc/glibc-functions/argz_create_sep.texi +++ b/doc/glibc-functions/argz_create_sep.texi @@ -9,7 +9,7 @@ Portability problems fixed by Gnulib: @item This function is missing on some platforms: MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, Interix 3.5, BeOS. +IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9, Interix 3.5, BeOS. @item This function is broken on some platforms: diff --git a/doc/glibc-functions/argz_delete.texi b/doc/glibc-functions/argz_delete.texi index 070fdbfc9..3bd8449e2 100644 --- a/doc/glibc-functions/argz_delete.texi +++ b/doc/glibc-functions/argz_delete.texi @@ -9,7 +9,7 @@ Portability problems fixed by Gnulib: @item This function is missing on some platforms: MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, Interix 3.5, BeOS. +IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9, Interix 3.5, BeOS. @item This function is broken on some platforms: diff --git a/doc/glibc-functions/argz_extract.texi b/doc/glibc-functions/argz_extract.texi index 021b13f12..6453066cb 100644 --- a/doc/glibc-functions/argz_extract.texi +++ b/doc/glibc-functions/argz_extract.texi @@ -9,7 +9,7 @@ Portability problems fixed by Gnulib: @item This function is missing on some platforms: MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, Interix 3.5, BeOS. +IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9, Interix 3.5, BeOS. @item This function is broken on some platforms: diff --git a/doc/glibc-functions/argz_insert.texi b/doc/glibc-functions/argz_insert.texi index f9e1b2181..a1c3ba792 100644 --- a/doc/glibc-functions/argz_insert.texi +++ b/doc/glibc-functions/argz_insert.texi @@ -9,7 +9,7 @@ Portability problems fixed by Gnulib: @item This function is missing on some platforms: MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, Interix 3.5, BeOS. +IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9, Interix 3.5, BeOS. @item This function is broken on some platforms: diff --git a/doc/glibc-functions/argz_next.texi b/doc/glibc-functions/argz_next.texi index d2f9ec036..cfe42a101 100644 --- a/doc/glibc-functions/argz_next.texi +++ b/doc/glibc-functions/argz_next.texi @@ -9,7 +9,7 @@ Portability problems fixed by Gnulib: @item This function is missing on some platforms: MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, Interix 3.5, BeOS. +IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9, Interix 3.5, BeOS. @item This function is broken on some platforms: diff --git a/doc/glibc-functions/argz_replace.texi b/doc/glibc-functions/argz_replace.texi index 4d23ba983..582b8d952 100644 --- a/doc/glibc-functions/argz_replace.texi +++ b/doc/glibc-functions/argz_replace.texi @@ -9,7 +9,7 @@ Portability problems fixed by Gnulib: @item This function is missing on some platforms: MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, Interix 3.5, BeOS. +IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9, Interix 3.5, BeOS. @item This function is broken on some platforms: diff --git a/doc/glibc-functions/argz_stringify.texi b/doc/glibc-functions/argz_stringify.texi index 9d5429557..47af87424 100644 --- a/doc/glibc-functions/argz_stringify.texi +++ b/doc/glibc-functions/argz_stringify.texi @@ -9,7 +9,7 @@ Portability problems fixed by Gnulib: @item This function is missing on some platforms: MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, Interix 3.5, BeOS. +IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9, Interix 3.5, BeOS. @item This function is broken on some platforms: diff --git a/doc/glibc-functions/asprintf.texi b/doc/glibc-functions/asprintf.texi index b46287e4b..e6d8b1940 100644 --- a/doc/glibc-functions/asprintf.texi +++ b/doc/glibc-functions/asprintf.texi @@ -8,7 +8,7 @@ Portability problems fixed by either Gnulib module @code{vasprintf} or @code{vas @itemize @item This function is missing on some platforms: -AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, Interix 3.5. +AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, MSVC 9, Interix 3.5. @end itemize Portability problems fixed by Gnulib module @code{vasprintf-posix}: diff --git a/doc/glibc-functions/authdes_create.texi b/doc/glibc-functions/authdes_create.texi index 8773ec87f..5a2d1fb79 100644 --- a/doc/glibc-functions/authdes_create.texi +++ b/doc/glibc-functions/authdes_create.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/authdes_getucred.texi b/doc/glibc-functions/authdes_getucred.texi index 0fd4f2830..2b3e07f6e 100644 --- a/doc/glibc-functions/authdes_getucred.texi +++ b/doc/glibc-functions/authdes_getucred.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/authdes_pk_create.texi b/doc/glibc-functions/authdes_pk_create.texi index 3b605622f..fd1a9a54d 100644 --- a/doc/glibc-functions/authdes_pk_create.texi +++ b/doc/glibc-functions/authdes_pk_create.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/authnone_create.texi b/doc/glibc-functions/authnone_create.texi index c99c4892e..8e7e2cd28 100644 --- a/doc/glibc-functions/authnone_create.texi +++ b/doc/glibc-functions/authnone_create.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/authunix_create.texi b/doc/glibc-functions/authunix_create.texi index 060d332d8..8c4d7f7bf 100644 --- a/doc/glibc-functions/authunix_create.texi +++ b/doc/glibc-functions/authunix_create.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, HP-UX 11, Solaris 11 2010-11, Cygwin, mingw, BeOS. +Minix 3.1.8, HP-UX 11, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/authunix_create_default.texi b/doc/glibc-functions/authunix_create_default.texi index 5f2c8b1bf..1b651aec6 100644 --- a/doc/glibc-functions/authunix_create_default.texi +++ b/doc/glibc-functions/authunix_create_default.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, HP-UX 11, Solaris 11 2010-11, Cygwin, mingw, BeOS. +Minix 3.1.8, HP-UX 11, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/backtrace.texi b/doc/glibc-functions/backtrace.texi index 10a9c83b6..a9793b061 100644 --- a/doc/glibc-functions/backtrace.texi +++ b/doc/glibc-functions/backtrace.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many platforms: -MacOS X 10.4, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.4, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/backtrace_symbols.texi b/doc/glibc-functions/backtrace_symbols.texi index 470a5e524..13d2bd962 100644 --- a/doc/glibc-functions/backtrace_symbols.texi +++ b/doc/glibc-functions/backtrace_symbols.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many platforms: -MacOS X 10.4, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.4, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/backtrace_symbols_fd.texi b/doc/glibc-functions/backtrace_symbols_fd.texi index 273475b49..7354e6352 100644 --- a/doc/glibc-functions/backtrace_symbols_fd.texi +++ b/doc/glibc-functions/backtrace_symbols_fd.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many platforms: -MacOS X 10.4, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.4, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/bdflush.texi b/doc/glibc-functions/bdflush.texi index b475ade8f..419034941 100644 --- a/doc/glibc-functions/bdflush.texi +++ b/doc/glibc-functions/bdflush.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/bind_textdomain_codeset.texi b/doc/glibc-functions/bind_textdomain_codeset.texi index b83fe2645..a4493b0ba 100644 --- a/doc/glibc-functions/bind_textdomain_codeset.texi +++ b/doc/glibc-functions/bind_textdomain_codeset.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, OpenBSD 3.8, Minix 3.1.8, AIX 4.3.2, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, OpenBSD 3.8, Minix 3.1.8, AIX 4.3.2, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/bindresvport.texi b/doc/glibc-functions/bindresvport.texi index e424b371e..64cb14db4 100644 --- a/doc/glibc-functions/bindresvport.texi +++ b/doc/glibc-functions/bindresvport.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, HP-UX 11, Cygwin 1.5.x, mingw, BeOS. +Minix 3.1.8, HP-UX 11, Cygwin 1.5.x, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/bindtextdomain.texi b/doc/glibc-functions/bindtextdomain.texi index 25dace5a8..4ffb48759 100644 --- a/doc/glibc-functions/bindtextdomain.texi +++ b/doc/glibc-functions/bindtextdomain.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, OpenBSD 3.8, Minix 3.1.8, AIX 4.3.2, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, OpenBSD 3.8, Minix 3.1.8, AIX 4.3.2, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/brk.texi b/doc/glibc-functions/brk.texi index f72939031..4dd1d68ed 100644 --- a/doc/glibc-functions/brk.texi +++ b/doc/glibc-functions/brk.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -AIX 5.1, Cygwin, mingw. +AIX 5.1, Cygwin, mingw, MSVC 9. @end itemize diff --git a/doc/glibc-functions/bswap_16.texi b/doc/glibc-functions/bswap_16.texi index 4843719da..d13ba15d1 100644 --- a/doc/glibc-functions/bswap_16.texi +++ b/doc/glibc-functions/bswap_16.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/bswap_32.texi b/doc/glibc-functions/bswap_32.texi index 6d3b4d567..4d6753af5 100644 --- a/doc/glibc-functions/bswap_32.texi +++ b/doc/glibc-functions/bswap_32.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/bswap_64.texi b/doc/glibc-functions/bswap_64.texi index cd281b4ed..b0c9fefe9 100644 --- a/doc/glibc-functions/bswap_64.texi +++ b/doc/glibc-functions/bswap_64.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/callrpc.texi b/doc/glibc-functions/callrpc.texi index a4c373c8d..f906b71bf 100644 --- a/doc/glibc-functions/callrpc.texi +++ b/doc/glibc-functions/callrpc.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/canonicalize_file_name.texi b/doc/glibc-functions/canonicalize_file_name.texi index b8b911fad..abde62d0a 100644 --- a/doc/glibc-functions/canonicalize_file_name.texi +++ b/doc/glibc-functions/canonicalize_file_name.texi @@ -9,7 +9,7 @@ Portability problems fixed by Gnulib: @item This function is missing on many non-glibc platforms: MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. @item This function fails to detect trailing slashes on non-directories on some platforms: diff --git a/doc/glibc-functions/capget.texi b/doc/glibc-functions/capget.texi index 8a1ac8317..bad8b036c 100644 --- a/doc/glibc-functions/capget.texi +++ b/doc/glibc-functions/capget.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/capset.texi b/doc/glibc-functions/capset.texi index 39023bcf4..3d2333c80 100644 --- a/doc/glibc-functions/capset.texi +++ b/doc/glibc-functions/capset.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/cbc_crypt.texi b/doc/glibc-functions/cbc_crypt.texi index f183a6b08..384f06663 100644 --- a/doc/glibc-functions/cbc_crypt.texi +++ b/doc/glibc-functions/cbc_crypt.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/cfmakeraw.texi b/doc/glibc-functions/cfmakeraw.texi index 71d99096a..147870294 100644 --- a/doc/glibc-functions/cfmakeraw.texi +++ b/doc/glibc-functions/cfmakeraw.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, AIX 4.3.2, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +Minix 3.1.8, AIX 4.3.2, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/cfree.texi b/doc/glibc-functions/cfree.texi index e6b5e2486..bba8c6006 100644 --- a/doc/glibc-functions/cfree.texi +++ b/doc/glibc-functions/cfree.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, Minix 3.1.8, Cygwin, mingw, Interix 3.5. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, Minix 3.1.8, Cygwin, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/glibc-functions/cfsetspeed.texi b/doc/glibc-functions/cfsetspeed.texi index a2074e70b..0c0acb971 100644 --- a/doc/glibc-functions/cfsetspeed.texi +++ b/doc/glibc-functions/cfsetspeed.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, AIX 4.3.2, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +Minix 3.1.8, AIX 4.3.2, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/chroot.texi b/doc/glibc-functions/chroot.texi index a4eae1c5f..11f3edecf 100644 --- a/doc/glibc-functions/chroot.texi +++ b/doc/glibc-functions/chroot.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -AIX 5.1, mingw, BeOS. +AIX 5.1, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/clearenv.texi b/doc/glibc-functions/clearenv.texi index 252f80bac..9c10b6ddf 100644 --- a/doc/glibc-functions/clearenv.texi +++ b/doc/glibc-functions/clearenv.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, Solaris 10, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, Solaris 10, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/clearerr_unlocked.texi b/doc/glibc-functions/clearerr_unlocked.texi index e1e36a321..ea4e1e71f 100644 --- a/doc/glibc-functions/clearerr_unlocked.texi +++ b/doc/glibc-functions/clearerr_unlocked.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5. +NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/glibc-functions/clnt_broadcast.texi b/doc/glibc-functions/clnt_broadcast.texi index abd84c00b..9b448c47a 100644 --- a/doc/glibc-functions/clnt_broadcast.texi +++ b/doc/glibc-functions/clnt_broadcast.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/clnt_create.texi b/doc/glibc-functions/clnt_create.texi index cc5670610..13766143e 100644 --- a/doc/glibc-functions/clnt_create.texi +++ b/doc/glibc-functions/clnt_create.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/clnt_pcreateerror.texi b/doc/glibc-functions/clnt_pcreateerror.texi index 8f59a13d3..dc4e3af37 100644 --- a/doc/glibc-functions/clnt_pcreateerror.texi +++ b/doc/glibc-functions/clnt_pcreateerror.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/clnt_perrno.texi b/doc/glibc-functions/clnt_perrno.texi index bf9083b55..6692af439 100644 --- a/doc/glibc-functions/clnt_perrno.texi +++ b/doc/glibc-functions/clnt_perrno.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/clnt_perror.texi b/doc/glibc-functions/clnt_perror.texi index bdef16875..cb2b84090 100644 --- a/doc/glibc-functions/clnt_perror.texi +++ b/doc/glibc-functions/clnt_perror.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/clnt_spcreateerror.texi b/doc/glibc-functions/clnt_spcreateerror.texi index 65d85d818..d6b23b6b2 100644 --- a/doc/glibc-functions/clnt_spcreateerror.texi +++ b/doc/glibc-functions/clnt_spcreateerror.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/clnt_sperrno.texi b/doc/glibc-functions/clnt_sperrno.texi index 758bd72e1..8ab3b0140 100644 --- a/doc/glibc-functions/clnt_sperrno.texi +++ b/doc/glibc-functions/clnt_sperrno.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/clnt_sperror.texi b/doc/glibc-functions/clnt_sperror.texi index 10df84386..5e1535c20 100644 --- a/doc/glibc-functions/clnt_sperror.texi +++ b/doc/glibc-functions/clnt_sperror.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/clntraw_create.texi b/doc/glibc-functions/clntraw_create.texi index 19f806a73..e7f4f71f3 100644 --- a/doc/glibc-functions/clntraw_create.texi +++ b/doc/glibc-functions/clntraw_create.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/clnttcp_create.texi b/doc/glibc-functions/clnttcp_create.texi index f5e07a8a8..9a578db0d 100644 --- a/doc/glibc-functions/clnttcp_create.texi +++ b/doc/glibc-functions/clnttcp_create.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/clntudp_bufcreate.texi b/doc/glibc-functions/clntudp_bufcreate.texi index 1be3165b3..8286244ea 100644 --- a/doc/glibc-functions/clntudp_bufcreate.texi +++ b/doc/glibc-functions/clntudp_bufcreate.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/clntudp_create.texi b/doc/glibc-functions/clntudp_create.texi index 49caf6e9e..05067ec18 100644 --- a/doc/glibc-functions/clntudp_create.texi +++ b/doc/glibc-functions/clntudp_create.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/clntunix_create.texi b/doc/glibc-functions/clntunix_create.texi index 002f37376..49c0ad376 100644 --- a/doc/glibc-functions/clntunix_create.texi +++ b/doc/glibc-functions/clntunix_create.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/clog10.texi b/doc/glibc-functions/clog10.texi index c302b74fd..e451a79a5 100644 --- a/doc/glibc-functions/clog10.texi +++ b/doc/glibc-functions/clog10.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/glibc-functions/clog10f.texi b/doc/glibc-functions/clog10f.texi index e2ed3d146..9c4723e41 100644 --- a/doc/glibc-functions/clog10f.texi +++ b/doc/glibc-functions/clog10f.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/glibc-functions/clog10l.texi b/doc/glibc-functions/clog10l.texi index 0f0fcff7c..f3682cff9 100644 --- a/doc/glibc-functions/clog10l.texi +++ b/doc/glibc-functions/clog10l.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/clone.texi b/doc/glibc-functions/clone.texi index 4dd839200..5c28c0907 100644 --- a/doc/glibc-functions/clone.texi +++ b/doc/glibc-functions/clone.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/crypt_r.texi b/doc/glibc-functions/crypt_r.texi index 03ba7d489..713c9ad20 100644 --- a/doc/glibc-functions/crypt_r.texi +++ b/doc/glibc-functions/crypt_r.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/cuserid.texi b/doc/glibc-functions/cuserid.texi index 674411a9c..7bc52d070 100644 --- a/doc/glibc-functions/cuserid.texi +++ b/doc/glibc-functions/cuserid.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, mingw. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, mingw, MSVC 9. @end itemize diff --git a/doc/glibc-functions/daemon.texi b/doc/glibc-functions/daemon.texi index c6fd3ebbe..0c6a24ef1 100644 --- a/doc/glibc-functions/daemon.texi +++ b/doc/glibc-functions/daemon.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, mingw, BeOS. +Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/dcgettext.texi b/doc/glibc-functions/dcgettext.texi index c51097c27..065839923 100644 --- a/doc/glibc-functions/dcgettext.texi +++ b/doc/glibc-functions/dcgettext.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, OpenBSD 3.8, Minix 3.1.8, AIX 4.3.2, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, OpenBSD 3.8, Minix 3.1.8, AIX 4.3.2, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/dcngettext.texi b/doc/glibc-functions/dcngettext.texi index 1946b7271..2654172a9 100644 --- a/doc/glibc-functions/dcngettext.texi +++ b/doc/glibc-functions/dcngettext.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, OpenBSD 3.8, Minix 3.1.8, AIX 4.3.2, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, OpenBSD 3.8, Minix 3.1.8, AIX 4.3.2, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/des_setparity.texi b/doc/glibc-functions/des_setparity.texi index 76ab4bd4f..ce94598db 100644 --- a/doc/glibc-functions/des_setparity.texi +++ b/doc/glibc-functions/des_setparity.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/dgettext.texi b/doc/glibc-functions/dgettext.texi index 3fec18f55..51e0a2f75 100644 --- a/doc/glibc-functions/dgettext.texi +++ b/doc/glibc-functions/dgettext.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, OpenBSD 3.8, Minix 3.1.8, AIX 4.3.2, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, OpenBSD 3.8, Minix 3.1.8, AIX 4.3.2, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/dl_iterate_phdr.texi b/doc/glibc-functions/dl_iterate_phdr.texi index e82cfcc6d..aa638ff04 100644 --- a/doc/glibc-functions/dl_iterate_phdr.texi +++ b/doc/glibc-functions/dl_iterate_phdr.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/dladdr.texi b/doc/glibc-functions/dladdr.texi index 6707d8244..69af4ca4f 100644 --- a/doc/glibc-functions/dladdr.texi +++ b/doc/glibc-functions/dladdr.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, AIX 5.1, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +Minix 3.1.8, AIX 5.1, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/dladdr1.texi b/doc/glibc-functions/dladdr1.texi index cd3d91b69..d1ec0d09c 100644 --- a/doc/glibc-functions/dladdr1.texi +++ b/doc/glibc-functions/dladdr1.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/dlinfo.texi b/doc/glibc-functions/dlinfo.texi index c752cb586..0f432a942 100644 --- a/doc/glibc-functions/dlinfo.texi +++ b/doc/glibc-functions/dlinfo.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/dlmopen.texi b/doc/glibc-functions/dlmopen.texi index 854b3ebb9..f4749aac7 100644 --- a/doc/glibc-functions/dlmopen.texi +++ b/doc/glibc-functions/dlmopen.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/dlvsym.texi b/doc/glibc-functions/dlvsym.texi index 5027d80ef..733b58aa1 100644 --- a/doc/glibc-functions/dlvsym.texi +++ b/doc/glibc-functions/dlvsym.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/dn_expand.texi b/doc/glibc-functions/dn_expand.texi index aad43a17e..542d4da60 100644 --- a/doc/glibc-functions/dn_expand.texi +++ b/doc/glibc-functions/dn_expand.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Cygwin 1.5.x, mingw, Interix 3.5. +Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/glibc-functions/dngettext.texi b/doc/glibc-functions/dngettext.texi index c3a290919..4bac7d25a 100644 --- a/doc/glibc-functions/dngettext.texi +++ b/doc/glibc-functions/dngettext.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, OpenBSD 3.8, Minix 3.1.8, AIX 4.3.2, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, OpenBSD 3.8, Minix 3.1.8, AIX 4.3.2, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/drand48_r.texi b/doc/glibc-functions/drand48_r.texi index 16d3f3281..95c3380c7 100644 --- a/doc/glibc-functions/drand48_r.texi +++ b/doc/glibc-functions/drand48_r.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/glibc-functions/drem.texi b/doc/glibc-functions/drem.texi index f371ad606..174f9cbf7 100644 --- a/doc/glibc-functions/drem.texi +++ b/doc/glibc-functions/drem.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, HP-UX 11, Solaris 11 2010-11, mingw. +Minix 3.1.8, HP-UX 11, Solaris 11 2010-11, mingw, MSVC 9. @end itemize diff --git a/doc/glibc-functions/dremf.texi b/doc/glibc-functions/dremf.texi index 6e89ee160..9fdd5b7eb 100644 --- a/doc/glibc-functions/dremf.texi +++ b/doc/glibc-functions/dremf.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, mingw. +MacOS X 10.5, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, mingw, MSVC 9. @end itemize diff --git a/doc/glibc-functions/dreml.texi b/doc/glibc-functions/dreml.texi index 09806e0ac..39aeebbe5 100644 --- a/doc/glibc-functions/dreml.texi +++ b/doc/glibc-functions/dreml.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/dup3.texi b/doc/glibc-functions/dup3.texi index 30644d697..56842fdfa 100644 --- a/doc/glibc-functions/dup3.texi +++ b/doc/glibc-functions/dup3.texi @@ -9,7 +9,7 @@ Portability problems fixed by Gnulib: @item This function is missing on many non-glibc platforms: MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.7.1, mingw, Interix 3.5, BeOS. +IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.7.1, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/glibc-functions/dysize.texi b/doc/glibc-functions/dysize.texi index b12331031..8f862b4ad 100644 --- a/doc/glibc-functions/dysize.texi +++ b/doc/glibc-functions/dysize.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/ecb_crypt.texi b/doc/glibc-functions/ecb_crypt.texi index 46699adeb..8c423efba 100644 --- a/doc/glibc-functions/ecb_crypt.texi +++ b/doc/glibc-functions/ecb_crypt.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/ecvt_r.texi b/doc/glibc-functions/ecvt_r.texi index 6987ced3a..08fa73f83 100644 --- a/doc/glibc-functions/ecvt_r.texi +++ b/doc/glibc-functions/ecvt_r.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/glibc-functions/encrypt_r.texi b/doc/glibc-functions/encrypt_r.texi index 7354615ee..ea5e6a8e5 100644 --- a/doc/glibc-functions/encrypt_r.texi +++ b/doc/glibc-functions/encrypt_r.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/endaliasent.texi b/doc/glibc-functions/endaliasent.texi index 326f637d5..95bfaabb0 100644 --- a/doc/glibc-functions/endaliasent.texi +++ b/doc/glibc-functions/endaliasent.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/endfsent.texi b/doc/glibc-functions/endfsent.texi index 001b47a48..49511f7a3 100644 --- a/doc/glibc-functions/endfsent.texi +++ b/doc/glibc-functions/endfsent.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +Minix 3.1.8, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/endmntent.texi b/doc/glibc-functions/endmntent.texi index 5197a4b1e..1dea43d6c 100644 --- a/doc/glibc-functions/endmntent.texi +++ b/doc/glibc-functions/endmntent.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 4.3.2, OSF/1 5.1, Solaris 11 2010-11, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 4.3.2, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/endnetgrent.texi b/doc/glibc-functions/endnetgrent.texi index 6e8dfc383..7af27a9c1 100644 --- a/doc/glibc-functions/endnetgrent.texi +++ b/doc/glibc-functions/endnetgrent.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, Interix 3.5, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/endrpcent.texi b/doc/glibc-functions/endrpcent.texi index ce1407b24..b6a56f029 100644 --- a/doc/glibc-functions/endrpcent.texi +++ b/doc/glibc-functions/endrpcent.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/endsgent.texi b/doc/glibc-functions/endsgent.texi index 460b9f72e..d4ec6c13c 100644 --- a/doc/glibc-functions/endsgent.texi +++ b/doc/glibc-functions/endsgent.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -glibc 2.9, MacOS X 10.5, FreeBSD 6.4, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 7.1, HP-UX 11.31, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.9, MacOS X 10.5, FreeBSD 6.4, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 7.1, HP-UX 11.31, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/endspent.texi b/doc/glibc-functions/endspent.texi index 59785f512..1dd5cce6f 100644 --- a/doc/glibc-functions/endspent.texi +++ b/doc/glibc-functions/endspent.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/endttyent.texi b/doc/glibc-functions/endttyent.texi index 26c391838..b9f3fc08a 100644 --- a/doc/glibc-functions/endttyent.texi +++ b/doc/glibc-functions/endttyent.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/endusershell.texi b/doc/glibc-functions/endusershell.texi index b05dd2028..aa599f17c 100644 --- a/doc/glibc-functions/endusershell.texi +++ b/doc/glibc-functions/endusershell.texi @@ -8,7 +8,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, AIX 4.3.2, IRIX 6.5, mingw, Interix 3.5, BeOS. +Minix 3.1.8, AIX 4.3.2, IRIX 6.5, mingw, MSVC 9, Interix 3.5, BeOS. @item This function is missing a declaration on some platforms: Solaris 9. diff --git a/doc/glibc-functions/endutent.texi b/doc/glibc-functions/endutent.texi index ea890d207..b8e22f6e3 100644 --- a/doc/glibc-functions/endutent.texi +++ b/doc/glibc-functions/endutent.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, OpenBSD 3.8, Minix 3.1.8, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, OpenBSD 3.8, Minix 3.1.8, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/envz_add.texi b/doc/glibc-functions/envz_add.texi index 3b700f7a7..f421fd433 100644 --- a/doc/glibc-functions/envz_add.texi +++ b/doc/glibc-functions/envz_add.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/envz_entry.texi b/doc/glibc-functions/envz_entry.texi index ca4fadfa3..3fcd56f65 100644 --- a/doc/glibc-functions/envz_entry.texi +++ b/doc/glibc-functions/envz_entry.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/envz_get.texi b/doc/glibc-functions/envz_get.texi index 61fd3f1bb..d391d6afd 100644 --- a/doc/glibc-functions/envz_get.texi +++ b/doc/glibc-functions/envz_get.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/envz_merge.texi b/doc/glibc-functions/envz_merge.texi index a9f0abe69..d9098eb14 100644 --- a/doc/glibc-functions/envz_merge.texi +++ b/doc/glibc-functions/envz_merge.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/envz_remove.texi b/doc/glibc-functions/envz_remove.texi index c2bbfb3ef..6310ec595 100644 --- a/doc/glibc-functions/envz_remove.texi +++ b/doc/glibc-functions/envz_remove.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/envz_strip.texi b/doc/glibc-functions/envz_strip.texi index 8a0fff1e6..39df05d07 100644 --- a/doc/glibc-functions/envz_strip.texi +++ b/doc/glibc-functions/envz_strip.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/epoll_create.texi b/doc/glibc-functions/epoll_create.texi index 1043ccf19..d518e5236 100644 --- a/doc/glibc-functions/epoll_create.texi +++ b/doc/glibc-functions/epoll_create.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/epoll_ctl.texi b/doc/glibc-functions/epoll_ctl.texi index 02394401f..e167a8eae 100644 --- a/doc/glibc-functions/epoll_ctl.texi +++ b/doc/glibc-functions/epoll_ctl.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/epoll_wait.texi b/doc/glibc-functions/epoll_wait.texi index b988c2740..7d1f985b4 100644 --- a/doc/glibc-functions/epoll_wait.texi +++ b/doc/glibc-functions/epoll_wait.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/erand48_r.texi b/doc/glibc-functions/erand48_r.texi index a3cd97970..e45fc7d3e 100644 --- a/doc/glibc-functions/erand48_r.texi +++ b/doc/glibc-functions/erand48_r.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/glibc-functions/err.texi b/doc/glibc-functions/err.texi index 436268c3b..2fbf410fb 100644 --- a/doc/glibc-functions/err.texi +++ b/doc/glibc-functions/err.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, BeOS. +AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/error.texi b/doc/glibc-functions/error.texi index 462c8c0cd..a7ed0e0fd 100644 --- a/doc/glibc-functions/error.texi +++ b/doc/glibc-functions/error.texi @@ -8,7 +8,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/glibc-functions/error_at_line.texi b/doc/glibc-functions/error_at_line.texi index 9dafd9710..1cf568266 100644 --- a/doc/glibc-functions/error_at_line.texi +++ b/doc/glibc-functions/error_at_line.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/error_message_count.texi b/doc/glibc-functions/error_message_count.texi index cd13c2446..c932cec67 100644 --- a/doc/glibc-functions/error_message_count.texi +++ b/doc/glibc-functions/error_message_count.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This variable is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/error_one_per_line.texi b/doc/glibc-functions/error_one_per_line.texi index d406f49f6..981517c38 100644 --- a/doc/glibc-functions/error_one_per_line.texi +++ b/doc/glibc-functions/error_one_per_line.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This variable is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/error_print_progname.texi b/doc/glibc-functions/error_print_progname.texi index 7904e342f..d1204f10c 100644 --- a/doc/glibc-functions/error_print_progname.texi +++ b/doc/glibc-functions/error_print_progname.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This variable is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/errx.texi b/doc/glibc-functions/errx.texi index 78255c611..84bbccc16 100644 --- a/doc/glibc-functions/errx.texi +++ b/doc/glibc-functions/errx.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, BeOS. +AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/ether_aton.texi b/doc/glibc-functions/ether_aton.texi index b8e29d917..6ff573fbb 100644 --- a/doc/glibc-functions/ether_aton.texi +++ b/doc/glibc-functions/ether_aton.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -HP-UX 11, Cygwin, mingw, Interix 3.5, BeOS. +HP-UX 11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/ether_aton_r.texi b/doc/glibc-functions/ether_aton_r.texi index 5c22d27c6..7df96c604 100644 --- a/doc/glibc-functions/ether_aton_r.texi +++ b/doc/glibc-functions/ether_aton_r.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/ether_hostton.texi b/doc/glibc-functions/ether_hostton.texi index d66039a60..242b44c58 100644 --- a/doc/glibc-functions/ether_hostton.texi +++ b/doc/glibc-functions/ether_hostton.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -HP-UX 11, Cygwin, mingw, Interix 3.5, BeOS. +HP-UX 11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/ether_line.texi b/doc/glibc-functions/ether_line.texi index 1906c3ba9..c2a22c211 100644 --- a/doc/glibc-functions/ether_line.texi +++ b/doc/glibc-functions/ether_line.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -HP-UX 11, Cygwin, mingw, Interix 3.5, BeOS. +HP-UX 11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/ether_ntoa.texi b/doc/glibc-functions/ether_ntoa.texi index b839348bd..03a2b7590 100644 --- a/doc/glibc-functions/ether_ntoa.texi +++ b/doc/glibc-functions/ether_ntoa.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -HP-UX 11, Cygwin, mingw, Interix 3.5, BeOS. +HP-UX 11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/ether_ntoa_r.texi b/doc/glibc-functions/ether_ntoa_r.texi index 587c89275..4bf56d55e 100644 --- a/doc/glibc-functions/ether_ntoa_r.texi +++ b/doc/glibc-functions/ether_ntoa_r.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/ether_ntohost.texi b/doc/glibc-functions/ether_ntohost.texi index 254a833c5..69ab97114 100644 --- a/doc/glibc-functions/ether_ntohost.texi +++ b/doc/glibc-functions/ether_ntohost.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -HP-UX 11, Cygwin, mingw, Interix 3.5, BeOS. +HP-UX 11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/euidaccess.texi b/doc/glibc-functions/euidaccess.texi index 8ec15937c..9ce6bc62a 100644 --- a/doc/glibc-functions/euidaccess.texi +++ b/doc/glibc-functions/euidaccess.texi @@ -9,7 +9,7 @@ Portability problems fixed by Gnulib: @item This function is missing on many non-glibc platforms: MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/glibc-functions/exp10.texi b/doc/glibc-functions/exp10.texi index de5e20ea0..e03f657d0 100644 --- a/doc/glibc-functions/exp10.texi +++ b/doc/glibc-functions/exp10.texi @@ -13,5 +13,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, Interix 3.5. +IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/glibc-functions/exp10f.texi b/doc/glibc-functions/exp10f.texi index 9f2a93207..6c00a4137 100644 --- a/doc/glibc-functions/exp10f.texi +++ b/doc/glibc-functions/exp10f.texi @@ -13,5 +13,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, Interix 3.5. +IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/glibc-functions/exp10l.texi b/doc/glibc-functions/exp10l.texi index d503b39e3..ded8366a8 100644 --- a/doc/glibc-functions/exp10l.texi +++ b/doc/glibc-functions/exp10l.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/fallocate.texi b/doc/glibc-functions/fallocate.texi index 546038f07..f24297483 100644 --- a/doc/glibc-functions/fallocate.texi +++ b/doc/glibc-functions/fallocate.texi @@ -12,7 +12,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on older glibc versions and all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item On platforms where @code{off_t} is a 32-bit type, this function may not work correctly across the entire data range of files larger than 2 GB. diff --git a/doc/glibc-functions/fcvt_r.texi b/doc/glibc-functions/fcvt_r.texi index e3a3290bc..8edb124f8 100644 --- a/doc/glibc-functions/fcvt_r.texi +++ b/doc/glibc-functions/fcvt_r.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/glibc-functions/fedisableexcept.texi b/doc/glibc-functions/fedisableexcept.texi index 50c423ca4..bc7803abc 100644 --- a/doc/glibc-functions/fedisableexcept.texi +++ b/doc/glibc-functions/fedisableexcept.texi @@ -13,5 +13,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: MacOS X 10.5, FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX -11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.7.7, mingw, Interix 3.5, BeOS. +11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.7.7, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/feenableexcept.texi b/doc/glibc-functions/feenableexcept.texi index e8228f3a8..4034694ff 100644 --- a/doc/glibc-functions/feenableexcept.texi +++ b/doc/glibc-functions/feenableexcept.texi @@ -13,5 +13,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: MacOS X 10.5, FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX -11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.7.7, mingw, Interix 3.5, BeOS. +11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.7.7, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/fegetexcept.texi b/doc/glibc-functions/fegetexcept.texi index 5d897f984..6a32b86c0 100644 --- a/doc/glibc-functions/fegetexcept.texi +++ b/doc/glibc-functions/fegetexcept.texi @@ -13,5 +13,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on all non-glibc platforms: MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.7.7, mingw, Interix 3.5, BeOS. +IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.7.7, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/feof_unlocked.texi b/doc/glibc-functions/feof_unlocked.texi index 849778bc1..17dcdd4b6 100644 --- a/doc/glibc-functions/feof_unlocked.texi +++ b/doc/glibc-functions/feof_unlocked.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5. +NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/glibc-functions/ferror_unlocked.texi b/doc/glibc-functions/ferror_unlocked.texi index f0a8b4d58..cbd7a4465 100644 --- a/doc/glibc-functions/ferror_unlocked.texi +++ b/doc/glibc-functions/ferror_unlocked.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5. +NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/glibc-functions/fflush_unlocked.texi b/doc/glibc-functions/fflush_unlocked.texi index f7379618c..0670c3e5a 100644 --- a/doc/glibc-functions/fflush_unlocked.texi +++ b/doc/glibc-functions/fflush_unlocked.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/glibc-functions/ffsl.texi b/doc/glibc-functions/ffsl.texi index 778b24d7d..4ed11815a 100644 --- a/doc/glibc-functions/ffsl.texi +++ b/doc/glibc-functions/ffsl.texi @@ -8,7 +8,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.4, FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.4, FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/glibc-functions/ffsll.texi b/doc/glibc-functions/ffsll.texi index 18e474d93..8c126d6f9 100644 --- a/doc/glibc-functions/ffsll.texi +++ b/doc/glibc-functions/ffsll.texi @@ -8,7 +8,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/glibc-functions/fgetc_unlocked.texi b/doc/glibc-functions/fgetc_unlocked.texi index 73d90c5ca..ca3e3d0ee 100644 --- a/doc/glibc-functions/fgetc_unlocked.texi +++ b/doc/glibc-functions/fgetc_unlocked.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/fgetgrent.texi b/doc/glibc-functions/fgetgrent.texi index f9d8dabfe..9ea417876 100644 --- a/doc/glibc-functions/fgetgrent.texi +++ b/doc/glibc-functions/fgetgrent.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/fgetgrent_r.texi b/doc/glibc-functions/fgetgrent_r.texi index 4e945686e..93ad3e930 100644 --- a/doc/glibc-functions/fgetgrent_r.texi +++ b/doc/glibc-functions/fgetgrent_r.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 5.3, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 5.3, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/fgetpwent.texi b/doc/glibc-functions/fgetpwent.texi index 5565f01f0..b245d291b 100644 --- a/doc/glibc-functions/fgetpwent.texi +++ b/doc/glibc-functions/fgetpwent.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 4.3.2, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 4.3.2, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/fgetpwent_r.texi b/doc/glibc-functions/fgetpwent_r.texi index 8cbd3418c..cbf36bfe7 100644 --- a/doc/glibc-functions/fgetpwent_r.texi +++ b/doc/glibc-functions/fgetpwent_r.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 5.3, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 5.3, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/fgets_unlocked.texi b/doc/glibc-functions/fgets_unlocked.texi index 76e95f235..ccf7e2651 100644 --- a/doc/glibc-functions/fgets_unlocked.texi +++ b/doc/glibc-functions/fgets_unlocked.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/glibc-functions/fgetsgent.texi b/doc/glibc-functions/fgetsgent.texi index 3d5483caa..39ff62e4a 100644 --- a/doc/glibc-functions/fgetsgent.texi +++ b/doc/glibc-functions/fgetsgent.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -glibc 2.9, MacOS X 10.5, FreeBSD 6.4, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 7.1, HP-UX 11.31, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.9, MacOS X 10.5, FreeBSD 6.4, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 7.1, HP-UX 11.31, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/fgetsgent_r.texi b/doc/glibc-functions/fgetsgent_r.texi index 8b65f3d06..3359fac55 100644 --- a/doc/glibc-functions/fgetsgent_r.texi +++ b/doc/glibc-functions/fgetsgent_r.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -glibc 2.9, MacOS X 10.5, FreeBSD 6.4, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 7.1, HP-UX 11.31, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.9, MacOS X 10.5, FreeBSD 6.4, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 7.1, HP-UX 11.31, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/fgetspent.texi b/doc/glibc-functions/fgetspent.texi index e2f5e8dd2..bd6f32649 100644 --- a/doc/glibc-functions/fgetspent.texi +++ b/doc/glibc-functions/fgetspent.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/fgetspent_r.texi b/doc/glibc-functions/fgetspent_r.texi index e8aba3512..aa32162f9 100644 --- a/doc/glibc-functions/fgetspent_r.texi +++ b/doc/glibc-functions/fgetspent_r.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 5.3, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 5.3, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/fgetwc_unlocked.texi b/doc/glibc-functions/fgetwc_unlocked.texi index 50da23444..9009811f7 100644 --- a/doc/glibc-functions/fgetwc_unlocked.texi +++ b/doc/glibc-functions/fgetwc_unlocked.texi @@ -12,7 +12,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item On AIX and Windows platforms, @code{wchar_t} is a 16-bit type and therefore cannot accommodate all Unicode characters. diff --git a/doc/glibc-functions/fgetws_unlocked.texi b/doc/glibc-functions/fgetws_unlocked.texi index 3eb777a31..829d54302 100644 --- a/doc/glibc-functions/fgetws_unlocked.texi +++ b/doc/glibc-functions/fgetws_unlocked.texi @@ -12,7 +12,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item On AIX and Windows platforms, @code{wchar_t} is a 16-bit type and therefore cannot accommodate all Unicode characters. diff --git a/doc/glibc-functions/fgetxattr.texi b/doc/glibc-functions/fgetxattr.texi index 23363f893..19189f6e9 100644 --- a/doc/glibc-functions/fgetxattr.texi +++ b/doc/glibc-functions/fgetxattr.texi @@ -13,5 +13,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on many non-glibc platforms: MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/fileno_unlocked.texi b/doc/glibc-functions/fileno_unlocked.texi index ad0a9595c..84331f239 100644 --- a/doc/glibc-functions/fileno_unlocked.texi +++ b/doc/glibc-functions/fileno_unlocked.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5. +NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/glibc-functions/finite.texi b/doc/glibc-functions/finite.texi index e4d32edb7..cb2207ef8 100644 --- a/doc/glibc-functions/finite.texi +++ b/doc/glibc-functions/finite.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, HP-UX 11. +Minix 3.1.8, HP-UX 11, MSVC 9. @end itemize diff --git a/doc/glibc-functions/finitef.texi b/doc/glibc-functions/finitef.texi index 7dd9c2e3b..2cbd82f7b 100644 --- a/doc/glibc-functions/finitef.texi +++ b/doc/glibc-functions/finitef.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, mingw. +MacOS X 10.5, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, mingw, MSVC 9. @end itemize diff --git a/doc/glibc-functions/finitel.texi b/doc/glibc-functions/finitel.texi index 2ef6e5380..577450203 100644 --- a/doc/glibc-functions/finitel.texi +++ b/doc/glibc-functions/finitel.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/glibc-functions/flistxattr.texi b/doc/glibc-functions/flistxattr.texi index caafce583..8b5b4ab62 100644 --- a/doc/glibc-functions/flistxattr.texi +++ b/doc/glibc-functions/flistxattr.texi @@ -13,5 +13,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on many non-glibc platforms: MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/flock.texi b/doc/glibc-functions/flock.texi index 152f188bc..906cc6f86 100644 --- a/doc/glibc-functions/flock.texi +++ b/doc/glibc-functions/flock.texi @@ -8,7 +8,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw +mingw, MSVC 9 @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/glibc-functions/fopencookie.texi b/doc/glibc-functions/fopencookie.texi index 473bb3163..e6fadb03c 100644 --- a/doc/glibc-functions/fopencookie.texi +++ b/doc/glibc-functions/fopencookie.texi @@ -13,5 +13,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on many non-glibc platforms: MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/forkpty.texi b/doc/glibc-functions/forkpty.texi index 94bfeaa12..6f89d90ce 100644 --- a/doc/glibc-functions/forkpty.texi +++ b/doc/glibc-functions/forkpty.texi @@ -29,5 +29,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @end itemize diff --git a/doc/glibc-functions/fputc_unlocked.texi b/doc/glibc-functions/fputc_unlocked.texi index 005e72683..a0b064ce6 100644 --- a/doc/glibc-functions/fputc_unlocked.texi +++ b/doc/glibc-functions/fputc_unlocked.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/glibc-functions/fputs_unlocked.texi b/doc/glibc-functions/fputs_unlocked.texi index a91e569cd..b8223e569 100644 --- a/doc/glibc-functions/fputs_unlocked.texi +++ b/doc/glibc-functions/fputs_unlocked.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/fputwc_unlocked.texi b/doc/glibc-functions/fputwc_unlocked.texi index 6a7e7ff82..0a02ea49d 100644 --- a/doc/glibc-functions/fputwc_unlocked.texi +++ b/doc/glibc-functions/fputwc_unlocked.texi @@ -12,7 +12,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item On AIX and Windows platforms, @code{wchar_t} is a 16-bit type and therefore cannot accommodate all Unicode characters. diff --git a/doc/glibc-functions/fputws_unlocked.texi b/doc/glibc-functions/fputws_unlocked.texi index 80f1c6c6b..8cc87eb65 100644 --- a/doc/glibc-functions/fputws_unlocked.texi +++ b/doc/glibc-functions/fputws_unlocked.texi @@ -12,7 +12,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item On AIX and Windows platforms, @code{wchar_t} is a 16-bit type and therefore cannot accommodate all Unicode characters. diff --git a/doc/glibc-functions/fread_unlocked.texi b/doc/glibc-functions/fread_unlocked.texi index d21d1dc64..98aa89c59 100644 --- a/doc/glibc-functions/fread_unlocked.texi +++ b/doc/glibc-functions/fread_unlocked.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/glibc-functions/freeifaddrs.texi b/doc/glibc-functions/freeifaddrs.texi index fc7d9939a..ab2ea7abf 100644 --- a/doc/glibc-functions/freeifaddrs.texi +++ b/doc/glibc-functions/freeifaddrs.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/fremovexattr.texi b/doc/glibc-functions/fremovexattr.texi index 659968145..b52505a36 100644 --- a/doc/glibc-functions/fremovexattr.texi +++ b/doc/glibc-functions/fremovexattr.texi @@ -13,5 +13,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on many non-glibc platforms: MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/fsetxattr.texi b/doc/glibc-functions/fsetxattr.texi index cbbf37969..0eb67480b 100644 --- a/doc/glibc-functions/fsetxattr.texi +++ b/doc/glibc-functions/fsetxattr.texi @@ -13,5 +13,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on many non-glibc platforms: MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/fstatfs.texi b/doc/glibc-functions/fstatfs.texi index 080d1af87..facc4a135 100644 --- a/doc/glibc-functions/fstatfs.texi +++ b/doc/glibc-functions/fstatfs.texi @@ -12,7 +12,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -AIX 5.1, mingw, Interix 3.5, BeOS. +AIX 5.1, mingw, MSVC 9, Interix 3.5, BeOS. @item On platforms where @code{f_blocks} in @samp{struct statfs} is a 32-bit value, this function may not work correctly on files systems larger than diff --git a/doc/glibc-functions/fts_children.texi b/doc/glibc-functions/fts_children.texi index 64bbe824d..3fad12655 100644 --- a/doc/glibc-functions/fts_children.texi +++ b/doc/glibc-functions/fts_children.texi @@ -12,7 +12,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, BeOS. +AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9, BeOS. @item On platforms where @code{off_t} is a 32-bit type, this function may not correctly report the size of files or block devices larger than 2 GB and diff --git a/doc/glibc-functions/fts_close.texi b/doc/glibc-functions/fts_close.texi index 918dd5b4c..4014e9918 100644 --- a/doc/glibc-functions/fts_close.texi +++ b/doc/glibc-functions/fts_close.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, BeOS. +AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/fts_open.texi b/doc/glibc-functions/fts_open.texi index aa863bd4d..46b6ab921 100644 --- a/doc/glibc-functions/fts_open.texi +++ b/doc/glibc-functions/fts_open.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, BeOS. +AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/fts_read.texi b/doc/glibc-functions/fts_read.texi index 363f051ab..a2ca8b79e 100644 --- a/doc/glibc-functions/fts_read.texi +++ b/doc/glibc-functions/fts_read.texi @@ -12,7 +12,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, BeOS. +AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9, BeOS. @item On platforms where @code{off_t} is a 32-bit type, this function may not correctly report the size of files or block devices larger than 2 GB and diff --git a/doc/glibc-functions/fts_set.texi b/doc/glibc-functions/fts_set.texi index c45d52c4d..c8376d49d 100644 --- a/doc/glibc-functions/fts_set.texi +++ b/doc/glibc-functions/fts_set.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, BeOS. +AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/futimes.texi b/doc/glibc-functions/futimes.texi index 1aa2b8747..00affdcec 100644 --- a/doc/glibc-functions/futimes.texi +++ b/doc/glibc-functions/futimes.texi @@ -12,7 +12,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, +Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9, Interix 3.5, BeOS. @item This function cannot set full timestamp resolution. Use diff --git a/doc/glibc-functions/futimesat.texi b/doc/glibc-functions/futimesat.texi index ee185208e..bab0807e1 100644 --- a/doc/glibc-functions/futimesat.texi +++ b/doc/glibc-functions/futimesat.texi @@ -13,7 +13,7 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, -AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 8, Cygwin 1.5.x, mingw, +AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 8, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. @item On some platforms, this function mis-handles trailing slash: diff --git a/doc/glibc-functions/fwrite_unlocked.texi b/doc/glibc-functions/fwrite_unlocked.texi index be5626e24..abaa2d119 100644 --- a/doc/glibc-functions/fwrite_unlocked.texi +++ b/doc/glibc-functions/fwrite_unlocked.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/glibc-functions/gamma.texi b/doc/glibc-functions/gamma.texi index 78cabc6fb..e413f148f 100644 --- a/doc/glibc-functions/gamma.texi +++ b/doc/glibc-functions/gamma.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, mingw. +Minix 3.1.8, mingw, MSVC 9. @end itemize diff --git a/doc/glibc-functions/gammaf.texi b/doc/glibc-functions/gammaf.texi index 5b716cf29..0ed4a43ad 100644 --- a/doc/glibc-functions/gammaf.texi +++ b/doc/glibc-functions/gammaf.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, mingw. +MacOS X 10.5, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, mingw, MSVC 9. @end itemize diff --git a/doc/glibc-functions/gammal.texi b/doc/glibc-functions/gammal.texi index 5c723a1a8..7bd44a205 100644 --- a/doc/glibc-functions/gammal.texi +++ b/doc/glibc-functions/gammal.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/get_avphys_pages.texi b/doc/glibc-functions/get_avphys_pages.texi index fb3a396ca..93836fd23 100644 --- a/doc/glibc-functions/get_avphys_pages.texi +++ b/doc/glibc-functions/get_avphys_pages.texi @@ -13,5 +13,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on many non-glibc platforms: MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.7.1, mingw, Interix 3.5, BeOS. +IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.7.1, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/get_current_dir_name.texi b/doc/glibc-functions/get_current_dir_name.texi index b2f584bac..cfbabbc31 100644 --- a/doc/glibc-functions/get_current_dir_name.texi +++ b/doc/glibc-functions/get_current_dir_name.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 4.3.2, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 4.3.2, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/get_myaddress.texi b/doc/glibc-functions/get_myaddress.texi index 4335f32a3..ab4e4fb54 100644 --- a/doc/glibc-functions/get_myaddress.texi +++ b/doc/glibc-functions/get_myaddress.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/get_nprocs.texi b/doc/glibc-functions/get_nprocs.texi index a9e723047..4608c6ce6 100644 --- a/doc/glibc-functions/get_nprocs.texi +++ b/doc/glibc-functions/get_nprocs.texi @@ -13,7 +13,7 @@ Portability problems not fixed by Gnulib: @item This function is missing on many non-glibc platforms: MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.7.1, mingw, Interix 3.5, BeOS. +IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.7.1, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize Gnulib provides the module @code{nproc} that performs a similar diff --git a/doc/glibc-functions/get_nprocs_conf.texi b/doc/glibc-functions/get_nprocs_conf.texi index ce757ea21..a8f0fe2fb 100644 --- a/doc/glibc-functions/get_nprocs_conf.texi +++ b/doc/glibc-functions/get_nprocs_conf.texi @@ -13,5 +13,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on many non-glibc platforms: MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.7.1, mingw, Interix 3.5, BeOS. +IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.7.1, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/get_phys_pages.texi b/doc/glibc-functions/get_phys_pages.texi index 3e039a06f..c5b246a8e 100644 --- a/doc/glibc-functions/get_phys_pages.texi +++ b/doc/glibc-functions/get_phys_pages.texi @@ -13,5 +13,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on many non-glibc platforms: MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.7.1, mingw, Interix 3.5, BeOS. +IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.7.1, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/getaliasbyname.texi b/doc/glibc-functions/getaliasbyname.texi index 5aaf10ffa..120cc6ac3 100644 --- a/doc/glibc-functions/getaliasbyname.texi +++ b/doc/glibc-functions/getaliasbyname.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/getaliasbyname_r.texi b/doc/glibc-functions/getaliasbyname_r.texi index c2232d0f9..59d5c88de 100644 --- a/doc/glibc-functions/getaliasbyname_r.texi +++ b/doc/glibc-functions/getaliasbyname_r.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/getaliasent.texi b/doc/glibc-functions/getaliasent.texi index 14f675245..013ebe011 100644 --- a/doc/glibc-functions/getaliasent.texi +++ b/doc/glibc-functions/getaliasent.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/getaliasent_r.texi b/doc/glibc-functions/getaliasent_r.texi index 00e7b4fae..7eb7e0e0c 100644 --- a/doc/glibc-functions/getaliasent_r.texi +++ b/doc/glibc-functions/getaliasent_r.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/getdate_r.texi b/doc/glibc-functions/getdate_r.texi index a26a13d75..f1fea1ba1 100644 --- a/doc/glibc-functions/getdate_r.texi +++ b/doc/glibc-functions/getdate_r.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/getdirentries.texi b/doc/glibc-functions/getdirentries.texi index be5a02a0d..0d4592c57 100644 --- a/doc/glibc-functions/getdirentries.texi +++ b/doc/glibc-functions/getdirentries.texi @@ -12,7 +12,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, AIX 4.3.2, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +Minix 3.1.8, AIX 4.3.2, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item On platforms where @code{off_t} is a 32-bit type, this function may not work correctly on huge directories larger than 2 GB. The fix is to use diff --git a/doc/glibc-functions/getdomainname.texi b/doc/glibc-functions/getdomainname.texi index 6c022bd73..972f5d2a3 100644 --- a/doc/glibc-functions/getdomainname.texi +++ b/doc/glibc-functions/getdomainname.texi @@ -8,7 +8,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -Solaris 11 2010-11, mingw, Interix 3.5, BeOS. +Solaris 11 2010-11, mingw, MSVC 9, Interix 3.5, BeOS. @item This function is declared in @code{netdb.h}, not in @code{unistd.h}, on some platforms: diff --git a/doc/glibc-functions/getdtablesize.texi b/doc/glibc-functions/getdtablesize.texi index 26776df62..d342b2f52 100644 --- a/doc/glibc-functions/getdtablesize.texi +++ b/doc/glibc-functions/getdtablesize.texi @@ -8,7 +8,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/glibc-functions/getfilecon-desc.texi b/doc/glibc-functions/getfilecon-desc.texi index 1dd1b6ad9..eb58808cc 100644 --- a/doc/glibc-functions/getfilecon-desc.texi +++ b/doc/glibc-functions/getfilecon-desc.texi @@ -5,7 +5,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, Interix 3.5, BeOS. +MacOS X 10.5, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9, Interix 3.5, BeOS. On those platforms, this module provides a stub that always sets @code{errno} to @code{ENOTSUP} and returns @samp{-1}. @item diff --git a/doc/glibc-functions/getfsent.texi b/doc/glibc-functions/getfsent.texi index 658d393b1..215e8edab 100644 --- a/doc/glibc-functions/getfsent.texi +++ b/doc/glibc-functions/getfsent.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +Minix 3.1.8, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/getfsfile.texi b/doc/glibc-functions/getfsfile.texi index 56fdf8ee6..2ada1d8fc 100644 --- a/doc/glibc-functions/getfsfile.texi +++ b/doc/glibc-functions/getfsfile.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +Minix 3.1.8, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/getfsspec.texi b/doc/glibc-functions/getfsspec.texi index 9fe025890..99dddb95e 100644 --- a/doc/glibc-functions/getfsspec.texi +++ b/doc/glibc-functions/getfsspec.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +Minix 3.1.8, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/getgrent_r.texi b/doc/glibc-functions/getgrent_r.texi index 47393ec38..cf9992f3d 100644 --- a/doc/glibc-functions/getgrent_r.texi +++ b/doc/glibc-functions/getgrent_r.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 5.3, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 5.3, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/getgrouplist.texi b/doc/glibc-functions/getgrouplist.texi index 43d6e8a06..116d2358e 100644 --- a/doc/glibc-functions/getgrouplist.texi +++ b/doc/glibc-functions/getgrouplist.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, BeOS. +Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/gethostbyaddr_r.texi b/doc/glibc-functions/gethostbyaddr_r.texi index 6e49c8ad5..1c9937b96 100644 --- a/doc/glibc-functions/gethostbyaddr_r.texi +++ b/doc/glibc-functions/gethostbyaddr_r.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 5.3, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 5.3, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/gethostbyname2.texi b/doc/glibc-functions/gethostbyname2.texi index ed9f3be3f..1de2ac3ec 100644 --- a/doc/glibc-functions/gethostbyname2.texi +++ b/doc/glibc-functions/gethostbyname2.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +Minix 3.1.8, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/gethostbyname2_r.texi b/doc/glibc-functions/gethostbyname2_r.texi index 6f233fc66..4bd1c1823 100644 --- a/doc/glibc-functions/gethostbyname2_r.texi +++ b/doc/glibc-functions/gethostbyname2_r.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/gethostbyname_r.texi b/doc/glibc-functions/gethostbyname_r.texi index 20f2dba28..239fa8ada 100644 --- a/doc/glibc-functions/gethostbyname_r.texi +++ b/doc/glibc-functions/gethostbyname_r.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 5.3, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 5.3, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/gethostent_r.texi b/doc/glibc-functions/gethostent_r.texi index d417d9678..0e97e8fe4 100644 --- a/doc/glibc-functions/gethostent_r.texi +++ b/doc/glibc-functions/gethostent_r.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 5.3, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 5.3, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/getifaddrs.texi b/doc/glibc-functions/getifaddrs.texi index 1626f7478..92856a0b1 100644 --- a/doc/glibc-functions/getifaddrs.texi +++ b/doc/glibc-functions/getifaddrs.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/getipv4sourcefilter.texi b/doc/glibc-functions/getipv4sourcefilter.texi index 175ef6524..c15463f9b 100644 --- a/doc/glibc-functions/getipv4sourcefilter.texi +++ b/doc/glibc-functions/getipv4sourcefilter.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/getloadavg.texi b/doc/glibc-functions/getloadavg.texi index 652257a4a..4e79afb3d 100644 --- a/doc/glibc-functions/getloadavg.texi +++ b/doc/glibc-functions/getloadavg.texi @@ -8,7 +8,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 2.6, Cygwin, mingw, Interix 3.5, BeOS. +AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 2.6, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item This function is declared in @code{}, not @code{}, on some platforms: diff --git a/doc/glibc-functions/getmntent.texi b/doc/glibc-functions/getmntent.texi index b39f4385d..3faa38cc6 100644 --- a/doc/glibc-functions/getmntent.texi +++ b/doc/glibc-functions/getmntent.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 4.3.2, OSF/1 5.1, mingw, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 4.3.2, OSF/1 5.1, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/getmntent_r.texi b/doc/glibc-functions/getmntent_r.texi index 0b797a6e3..73a88561c 100644 --- a/doc/glibc-functions/getmntent_r.texi +++ b/doc/glibc-functions/getmntent_r.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/getnetbyaddr_r.texi b/doc/glibc-functions/getnetbyaddr_r.texi index 007d15458..31fac0cd3 100644 --- a/doc/glibc-functions/getnetbyaddr_r.texi +++ b/doc/glibc-functions/getnetbyaddr_r.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 5.3, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 5.3, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/getnetbyname_r.texi b/doc/glibc-functions/getnetbyname_r.texi index 41b89fe21..5dcc23dee 100644 --- a/doc/glibc-functions/getnetbyname_r.texi +++ b/doc/glibc-functions/getnetbyname_r.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 5.3, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 5.3, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/getnetent_r.texi b/doc/glibc-functions/getnetent_r.texi index 170f7987f..1b3995a25 100644 --- a/doc/glibc-functions/getnetent_r.texi +++ b/doc/glibc-functions/getnetent_r.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 5.3, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 5.3, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/getnetgrent.texi b/doc/glibc-functions/getnetgrent.texi index f8c3116c1..cc51e18c6 100644 --- a/doc/glibc-functions/getnetgrent.texi +++ b/doc/glibc-functions/getnetgrent.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, Interix 3.5, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/getnetgrent_r.texi b/doc/glibc-functions/getnetgrent_r.texi index c69ac764e..70016ba09 100644 --- a/doc/glibc-functions/getnetgrent_r.texi +++ b/doc/glibc-functions/getnetgrent_r.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/getnetname.texi b/doc/glibc-functions/getnetname.texi index ae3ca2786..a882c75e2 100644 --- a/doc/glibc-functions/getnetname.texi +++ b/doc/glibc-functions/getnetname.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/getopt_long.texi b/doc/glibc-functions/getopt_long.texi index c5e86fe92..19d2fe450 100644 --- a/doc/glibc-functions/getopt_long.texi +++ b/doc/glibc-functions/getopt_long.texi @@ -7,6 +7,9 @@ Gnulib module: getopt-gnu Portability problems fixed by Gnulib: @itemize @item +This function is missing on some platforms: +AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, MSVC 9, Interix 3.5. +@item The function @code{getopt_long} does not obey the combination of @samp{+} and @samp{:} flags in the options string on some platforms: glibc 2.11. @@ -35,9 +38,6 @@ The function @code{getopt_long} does not support options with optional arguments on some platforms: MacOS X 10.5, OpenBSD 4.0, AIX 5.2, IRIX 6.5, Solaris 11 2010-11, Cygwin 1.5.x. @item -This function is missing on some platforms: -AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Interix 3.5. -@item This function crashes if the option string includes @code{W;} but there are no long options, on some platforms: glibc 2.14. diff --git a/doc/glibc-functions/getopt_long_only.texi b/doc/glibc-functions/getopt_long_only.texi index 15dfb25f6..85e8b022a 100644 --- a/doc/glibc-functions/getopt_long_only.texi +++ b/doc/glibc-functions/getopt_long_only.texi @@ -37,7 +37,7 @@ MacOS X 10.5, OpenBSD 4.0, AIX 5.2, Solaris 11 2010-11, Cygwin 1.5.x. @item This function is missing on some platforms: MacOS X 10.3, FreeBSD 5.2.1, NetBSD 5.0, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, -OSF/1 5.1, mingw, Interix 3.5. +OSF/1 5.1, mingw, MSVC 9, Interix 3.5. @item This function crashes if the option string includes @code{W;} but there are no long options, on some platforms: diff --git a/doc/glibc-functions/getpagesize.texi b/doc/glibc-functions/getpagesize.texi index 2e8c9b671..605cb89ec 100644 --- a/doc/glibc-functions/getpagesize.texi +++ b/doc/glibc-functions/getpagesize.texi @@ -8,7 +8,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -BeOS. +MSVC 9, BeOS. @item This function is broken on some platforms: mingw. diff --git a/doc/glibc-functions/getpass.texi b/doc/glibc-functions/getpass.texi index edbdc1475..111344edc 100644 --- a/doc/glibc-functions/getpass.texi +++ b/doc/glibc-functions/getpass.texi @@ -8,7 +8,7 @@ Portability problems fixed by either Gnulib module @code{getpass} or @code{getpa @itemize @item This function is missing on some platforms: -mingw, BeOS. +mingw, MSVC 9, BeOS. @end itemize Portability problems fixed by Gnulib module @code{getpass-gnu}: diff --git a/doc/glibc-functions/getprotobyname_r.texi b/doc/glibc-functions/getprotobyname_r.texi index 4c2bd0507..3f19e652e 100644 --- a/doc/glibc-functions/getprotobyname_r.texi +++ b/doc/glibc-functions/getprotobyname_r.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, Minix 3.1.8, HP-UX 11, IRIX 5.3, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, Minix 3.1.8, HP-UX 11, IRIX 5.3, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/getprotobynumber_r.texi b/doc/glibc-functions/getprotobynumber_r.texi index d4805583f..4e1ac0afa 100644 --- a/doc/glibc-functions/getprotobynumber_r.texi +++ b/doc/glibc-functions/getprotobynumber_r.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, Minix 3.1.8, HP-UX 11, IRIX 5.3, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, Minix 3.1.8, HP-UX 11, IRIX 5.3, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/getprotoent_r.texi b/doc/glibc-functions/getprotoent_r.texi index 46b196dfa..633b21aae 100644 --- a/doc/glibc-functions/getprotoent_r.texi +++ b/doc/glibc-functions/getprotoent_r.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, Minix 3.1.8, HP-UX 11, IRIX 5.3, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, Minix 3.1.8, HP-UX 11, IRIX 5.3, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/getpt.texi b/doc/glibc-functions/getpt.texi index d56e321a4..c2e7f4425 100644 --- a/doc/glibc-functions/getpt.texi +++ b/doc/glibc-functions/getpt.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/getpublickey.texi b/doc/glibc-functions/getpublickey.texi index 3795995db..72afbdefb 100644 --- a/doc/glibc-functions/getpublickey.texi +++ b/doc/glibc-functions/getpublickey.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/getpw.texi b/doc/glibc-functions/getpw.texi index 001fa703d..7e0a36898 100644 --- a/doc/glibc-functions/getpw.texi +++ b/doc/glibc-functions/getpw.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/getpwent_r.texi b/doc/glibc-functions/getpwent_r.texi index 6160830a3..fa486d766 100644 --- a/doc/glibc-functions/getpwent_r.texi +++ b/doc/glibc-functions/getpwent_r.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 5.3, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 5.3, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/getresgid.texi b/doc/glibc-functions/getresgid.texi index f2081ee0d..60a10f3af 100644 --- a/doc/glibc-functions/getresgid.texi +++ b/doc/glibc-functions/getresgid.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, NetBSD 5.0, Minix 3.1.8, AIX 5.1, HP-UX 11.00, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, NetBSD 5.0, Minix 3.1.8, AIX 5.1, HP-UX 11.00, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/getresuid.texi b/doc/glibc-functions/getresuid.texi index 42547c084..2653d409c 100644 --- a/doc/glibc-functions/getresuid.texi +++ b/doc/glibc-functions/getresuid.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, NetBSD 5.0, Minix 3.1.8, AIX 5.1, HP-UX 11.00, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, NetBSD 5.0, Minix 3.1.8, AIX 5.1, HP-UX 11.00, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/getrpcbyname.texi b/doc/glibc-functions/getrpcbyname.texi index 5be71df44..1cb958266 100644 --- a/doc/glibc-functions/getrpcbyname.texi +++ b/doc/glibc-functions/getrpcbyname.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/getrpcbyname_r.texi b/doc/glibc-functions/getrpcbyname_r.texi index 0f1c4a635..151df96ec 100644 --- a/doc/glibc-functions/getrpcbyname_r.texi +++ b/doc/glibc-functions/getrpcbyname_r.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 5.3, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 5.3, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/getrpcbynumber.texi b/doc/glibc-functions/getrpcbynumber.texi index 4c931da3b..12999466d 100644 --- a/doc/glibc-functions/getrpcbynumber.texi +++ b/doc/glibc-functions/getrpcbynumber.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/getrpcbynumber_r.texi b/doc/glibc-functions/getrpcbynumber_r.texi index 094c023d4..4e431fdb9 100644 --- a/doc/glibc-functions/getrpcbynumber_r.texi +++ b/doc/glibc-functions/getrpcbynumber_r.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 5.3, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 5.3, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/getrpcent.texi b/doc/glibc-functions/getrpcent.texi index 9ea543f9d..f23d35033 100644 --- a/doc/glibc-functions/getrpcent.texi +++ b/doc/glibc-functions/getrpcent.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/getrpcent_r.texi b/doc/glibc-functions/getrpcent_r.texi index 993796f20..207a0599d 100644 --- a/doc/glibc-functions/getrpcent_r.texi +++ b/doc/glibc-functions/getrpcent_r.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 5.3, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 5.3, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/getrpcport.texi b/doc/glibc-functions/getrpcport.texi index a1822d96d..69cb84fd7 100644 --- a/doc/glibc-functions/getrpcport.texi +++ b/doc/glibc-functions/getrpcport.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, AIX 4.3.2, IRIX 6.5, Cygwin, mingw, BeOS. +Minix 3.1.8, AIX 4.3.2, IRIX 6.5, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/getsecretkey.texi b/doc/glibc-functions/getsecretkey.texi index c62ad5fc0..08f72617c 100644 --- a/doc/glibc-functions/getsecretkey.texi +++ b/doc/glibc-functions/getsecretkey.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/getservbyname_r.texi b/doc/glibc-functions/getservbyname_r.texi index 99faf88d5..f37a8be79 100644 --- a/doc/glibc-functions/getservbyname_r.texi +++ b/doc/glibc-functions/getservbyname_r.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, Minix 3.1.8, HP-UX 11, IRIX 5.3, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, Minix 3.1.8, HP-UX 11, IRIX 5.3, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/getservbyport_r.texi b/doc/glibc-functions/getservbyport_r.texi index 808aacec6..ab382ebdb 100644 --- a/doc/glibc-functions/getservbyport_r.texi +++ b/doc/glibc-functions/getservbyport_r.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, Minix 3.1.8, HP-UX 11, IRIX 5.3, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, Minix 3.1.8, HP-UX 11, IRIX 5.3, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/getservent_r.texi b/doc/glibc-functions/getservent_r.texi index 513fce2f9..3a199976c 100644 --- a/doc/glibc-functions/getservent_r.texi +++ b/doc/glibc-functions/getservent_r.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, Minix 3.1.8, HP-UX 11, IRIX 5.3, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, Minix 3.1.8, HP-UX 11, IRIX 5.3, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/getsgent.texi b/doc/glibc-functions/getsgent.texi index 9c71bf776..842c10129 100644 --- a/doc/glibc-functions/getsgent.texi +++ b/doc/glibc-functions/getsgent.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -glibc 2.9, MacOS X 10.5, FreeBSD 6.4, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 7.1, HP-UX 11.31, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.9, MacOS X 10.5, FreeBSD 6.4, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 7.1, HP-UX 11.31, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/getsgent_r.texi b/doc/glibc-functions/getsgent_r.texi index 369911230..9a0845f12 100644 --- a/doc/glibc-functions/getsgent_r.texi +++ b/doc/glibc-functions/getsgent_r.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -glibc 2.9, MacOS X 10.5, FreeBSD 6.4, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 7.1, HP-UX 11.31, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.9, MacOS X 10.5, FreeBSD 6.4, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 7.1, HP-UX 11.31, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/getsgnam.texi b/doc/glibc-functions/getsgnam.texi index 48e7e5dbc..078c46877 100644 --- a/doc/glibc-functions/getsgnam.texi +++ b/doc/glibc-functions/getsgnam.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -glibc 2.9, MacOS X 10.5, FreeBSD 6.4, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 7.1, HP-UX 11.31, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.9, MacOS X 10.5, FreeBSD 6.4, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 7.1, HP-UX 11.31, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/getsgnam_r.texi b/doc/glibc-functions/getsgnam_r.texi index 4ea117bff..91c2a0345 100644 --- a/doc/glibc-functions/getsgnam_r.texi +++ b/doc/glibc-functions/getsgnam_r.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -glibc 2.9, MacOS X 10.5, FreeBSD 6.4, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 7.1, HP-UX 11.31, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.9, MacOS X 10.5, FreeBSD 6.4, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 7.1, HP-UX 11.31, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/getsourcefilter.texi b/doc/glibc-functions/getsourcefilter.texi index 230b85053..be9c48186 100644 --- a/doc/glibc-functions/getsourcefilter.texi +++ b/doc/glibc-functions/getsourcefilter.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/getspent.texi b/doc/glibc-functions/getspent.texi index c03e10441..cad5047a7 100644 --- a/doc/glibc-functions/getspent.texi +++ b/doc/glibc-functions/getspent.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/getspent_r.texi b/doc/glibc-functions/getspent_r.texi index 6d6e28fb6..71bc578c1 100644 --- a/doc/glibc-functions/getspent_r.texi +++ b/doc/glibc-functions/getspent_r.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 5.3, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 5.3, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/getspnam.texi b/doc/glibc-functions/getspnam.texi index 743a61b85..4db40fc91 100644 --- a/doc/glibc-functions/getspnam.texi +++ b/doc/glibc-functions/getspnam.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/getspnam_r.texi b/doc/glibc-functions/getspnam_r.texi index 894968672..944925b2c 100644 --- a/doc/glibc-functions/getspnam_r.texi +++ b/doc/glibc-functions/getspnam_r.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 5.3, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 5.3, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/gettext.texi b/doc/glibc-functions/gettext.texi index 407a454e0..ea10064df 100644 --- a/doc/glibc-functions/gettext.texi +++ b/doc/glibc-functions/gettext.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, OpenBSD 3.8, Minix 3.1.8, AIX 4.3.2, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, OpenBSD 3.8, Minix 3.1.8, AIX 4.3.2, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/getttyent.texi b/doc/glibc-functions/getttyent.texi index cb27a7d16..61fb0033d 100644 --- a/doc/glibc-functions/getttyent.texi +++ b/doc/glibc-functions/getttyent.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/getttynam.texi b/doc/glibc-functions/getttynam.texi index 0487628d1..084026735 100644 --- a/doc/glibc-functions/getttynam.texi +++ b/doc/glibc-functions/getttynam.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/getusershell.texi b/doc/glibc-functions/getusershell.texi index b7ab9fad5..01c9866b4 100644 --- a/doc/glibc-functions/getusershell.texi +++ b/doc/glibc-functions/getusershell.texi @@ -8,7 +8,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, AIX 4.3.2, IRIX 6.5, mingw, Interix 3.5, BeOS. +Minix 3.1.8, AIX 4.3.2, IRIX 6.5, mingw, MSVC 9, Interix 3.5, BeOS. @item This function is missing a declaration on some platforms: Solaris 9. diff --git a/doc/glibc-functions/getutent.texi b/doc/glibc-functions/getutent.texi index 45b8b4762..a3356ba02 100644 --- a/doc/glibc-functions/getutent.texi +++ b/doc/glibc-functions/getutent.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, OpenBSD 3.8, Minix 3.1.8, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, OpenBSD 3.8, Minix 3.1.8, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/getutent_r.texi b/doc/glibc-functions/getutent_r.texi index 210cef0fb..c488c7b77 100644 --- a/doc/glibc-functions/getutent_r.texi +++ b/doc/glibc-functions/getutent_r.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/getutid.texi b/doc/glibc-functions/getutid.texi index ee67f4c39..3c03a5f89 100644 --- a/doc/glibc-functions/getutid.texi +++ b/doc/glibc-functions/getutid.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/getutid_r.texi b/doc/glibc-functions/getutid_r.texi index a773fc419..7a2e9c6c4 100644 --- a/doc/glibc-functions/getutid_r.texi +++ b/doc/glibc-functions/getutid_r.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/getutline.texi b/doc/glibc-functions/getutline.texi index 303a6a4ed..6f045545f 100644 --- a/doc/glibc-functions/getutline.texi +++ b/doc/glibc-functions/getutline.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/getutline_r.texi b/doc/glibc-functions/getutline_r.texi index 44424bfad..451d0befe 100644 --- a/doc/glibc-functions/getutline_r.texi +++ b/doc/glibc-functions/getutline_r.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/getutmp.texi b/doc/glibc-functions/getutmp.texi index fa864beb1..5c138f1cf 100644 --- a/doc/glibc-functions/getutmp.texi +++ b/doc/glibc-functions/getutmp.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.4, FreeBSD 6.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.4, FreeBSD 6.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/getutmpx.texi b/doc/glibc-functions/getutmpx.texi index db26756a8..84904003d 100644 --- a/doc/glibc-functions/getutmpx.texi +++ b/doc/glibc-functions/getutmpx.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.4, FreeBSD 6.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.4, FreeBSD 6.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/getwc_unlocked.texi b/doc/glibc-functions/getwc_unlocked.texi index d3187bccd..da7635bf5 100644 --- a/doc/glibc-functions/getwc_unlocked.texi +++ b/doc/glibc-functions/getwc_unlocked.texi @@ -12,7 +12,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item On AIX and Windows platforms, @code{wchar_t} is a 16-bit type and therefore cannot accommodate all Unicode characters. diff --git a/doc/glibc-functions/getwchar_unlocked.texi b/doc/glibc-functions/getwchar_unlocked.texi index af15c6284..65ddf840f 100644 --- a/doc/glibc-functions/getwchar_unlocked.texi +++ b/doc/glibc-functions/getwchar_unlocked.texi @@ -12,7 +12,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item On AIX and Windows platforms, @code{wchar_t} is a 16-bit type and therefore cannot accommodate all Unicode characters. diff --git a/doc/glibc-functions/getxattr.texi b/doc/glibc-functions/getxattr.texi index 16eb8c636..a2b52e12b 100644 --- a/doc/glibc-functions/getxattr.texi +++ b/doc/glibc-functions/getxattr.texi @@ -13,5 +13,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on many non-glibc platforms: MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/glob_pattern_p.texi b/doc/glibc-functions/glob_pattern_p.texi index e490d8da3..f6e401a2b 100644 --- a/doc/glibc-functions/glob_pattern_p.texi +++ b/doc/glibc-functions/glob_pattern_p.texi @@ -13,5 +13,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on most non-glibc platforms: MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/gnu_dev_major.texi b/doc/glibc-functions/gnu_dev_major.texi index 645e4218c..7e445e925 100644 --- a/doc/glibc-functions/gnu_dev_major.texi +++ b/doc/glibc-functions/gnu_dev_major.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/gnu_dev_makedev.texi b/doc/glibc-functions/gnu_dev_makedev.texi index d2c076962..8a1b2ccc1 100644 --- a/doc/glibc-functions/gnu_dev_makedev.texi +++ b/doc/glibc-functions/gnu_dev_makedev.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/gnu_dev_minor.texi b/doc/glibc-functions/gnu_dev_minor.texi index b6e26118d..047fa07cb 100644 --- a/doc/glibc-functions/gnu_dev_minor.texi +++ b/doc/glibc-functions/gnu_dev_minor.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/gnu_get_libc_release.texi b/doc/glibc-functions/gnu_get_libc_release.texi index d7f4b7b38..f733834f2 100644 --- a/doc/glibc-functions/gnu_get_libc_release.texi +++ b/doc/glibc-functions/gnu_get_libc_release.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/glibc-functions/gnu_get_libc_version.texi b/doc/glibc-functions/gnu_get_libc_version.texi index ffb63a316..ea5471f0f 100644 --- a/doc/glibc-functions/gnu_get_libc_version.texi +++ b/doc/glibc-functions/gnu_get_libc_version.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/glibc-functions/group_member.texi b/doc/glibc-functions/group_member.texi index 75761cd22..a3112c336 100644 --- a/doc/glibc-functions/group_member.texi +++ b/doc/glibc-functions/group_member.texi @@ -8,7 +8,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/glibc-functions/gsignal.texi b/doc/glibc-functions/gsignal.texi index 4d3c01b75..f0386756f 100644 --- a/doc/glibc-functions/gsignal.texi +++ b/doc/glibc-functions/gsignal.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, Cygwin, mingw, Interix 3.5. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, Cygwin, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/glibc-functions/hasmntopt.texi b/doc/glibc-functions/hasmntopt.texi index 22819e137..73f84c22b 100644 --- a/doc/glibc-functions/hasmntopt.texi +++ b/doc/glibc-functions/hasmntopt.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 4.3.2, OSF/1 5.1, Cygwin, mingw, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 4.3.2, OSF/1 5.1, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/hcreate_r.texi b/doc/glibc-functions/hcreate_r.texi index 8c9fbb074..86b40d430 100644 --- a/doc/glibc-functions/hcreate_r.texi +++ b/doc/glibc-functions/hcreate_r.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, mingw, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/hdestroy_r.texi b/doc/glibc-functions/hdestroy_r.texi index 3e441421f..98bbf89e5 100644 --- a/doc/glibc-functions/hdestroy_r.texi +++ b/doc/glibc-functions/hdestroy_r.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, mingw, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/herror.texi b/doc/glibc-functions/herror.texi index c7869ef29..4da673ecd 100644 --- a/doc/glibc-functions/herror.texi +++ b/doc/glibc-functions/herror.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, mingw, Interix 3.5. +Minix 3.1.8, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/glibc-functions/host2netname.texi b/doc/glibc-functions/host2netname.texi index d425eabec..7a8b1b611 100644 --- a/doc/glibc-functions/host2netname.texi +++ b/doc/glibc-functions/host2netname.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/hsearch_r.texi b/doc/glibc-functions/hsearch_r.texi index a504891b3..ff89a6fb9 100644 --- a/doc/glibc-functions/hsearch_r.texi +++ b/doc/glibc-functions/hsearch_r.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, mingw, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/hstrerror.texi b/doc/glibc-functions/hstrerror.texi index 8986a8294..f6221d545 100644 --- a/doc/glibc-functions/hstrerror.texi +++ b/doc/glibc-functions/hstrerror.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, HP-UX 11, mingw, Interix 3.5, BeOS. +Minix 3.1.8, HP-UX 11, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/in6addr_any.texi b/doc/glibc-functions/in6addr_any.texi index 0bc3ec038..dd36920a9 100644 --- a/doc/glibc-functions/in6addr_any.texi +++ b/doc/glibc-functions/in6addr_any.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This constant is missing on some platforms: -MacOS X 10.5, Minix 3.1.8, HP-UX 11.00, IRIX 6.5, OSF/1 5.1, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +MacOS X 10.5, Minix 3.1.8, HP-UX 11.00, IRIX 6.5, OSF/1 5.1, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/in6addr_loopback.texi b/doc/glibc-functions/in6addr_loopback.texi index 18d96cf97..ac555a489 100644 --- a/doc/glibc-functions/in6addr_loopback.texi +++ b/doc/glibc-functions/in6addr_loopback.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This constant is missing on some platforms: -MacOS X 10.5, Minix 3.1.8, AIX 4.3.2, HP-UX 11.00, IRIX 6.5, OSF/1 5.1, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +MacOS X 10.5, Minix 3.1.8, AIX 4.3.2, HP-UX 11.00, IRIX 6.5, OSF/1 5.1, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/inet6_option_alloc.texi b/doc/glibc-functions/inet6_option_alloc.texi index 9a5c5e18a..8b891622a 100644 --- a/doc/glibc-functions/inet6_option_alloc.texi +++ b/doc/glibc-functions/inet6_option_alloc.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/inet6_option_append.texi b/doc/glibc-functions/inet6_option_append.texi index e4337df6a..cd0bac518 100644 --- a/doc/glibc-functions/inet6_option_append.texi +++ b/doc/glibc-functions/inet6_option_append.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/inet6_option_find.texi b/doc/glibc-functions/inet6_option_find.texi index 487b119d0..8c4dbcc96 100644 --- a/doc/glibc-functions/inet6_option_find.texi +++ b/doc/glibc-functions/inet6_option_find.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/inet6_option_init.texi b/doc/glibc-functions/inet6_option_init.texi index c7ede028b..0bb401b59 100644 --- a/doc/glibc-functions/inet6_option_init.texi +++ b/doc/glibc-functions/inet6_option_init.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/inet6_option_next.texi b/doc/glibc-functions/inet6_option_next.texi index 746b28b89..aa22b7c89 100644 --- a/doc/glibc-functions/inet6_option_next.texi +++ b/doc/glibc-functions/inet6_option_next.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/inet6_option_space.texi b/doc/glibc-functions/inet6_option_space.texi index 002e758f4..a4e74c847 100644 --- a/doc/glibc-functions/inet6_option_space.texi +++ b/doc/glibc-functions/inet6_option_space.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/inet_aton.texi b/doc/glibc-functions/inet_aton.texi index 3de3144a9..f4dc091dc 100644 --- a/doc/glibc-functions/inet_aton.texi +++ b/doc/glibc-functions/inet_aton.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw, BeOS. +mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/inet_lnaof.texi b/doc/glibc-functions/inet_lnaof.texi index 798608c59..0d96dd064 100644 --- a/doc/glibc-functions/inet_lnaof.texi +++ b/doc/glibc-functions/inet_lnaof.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/inet_makeaddr.texi b/doc/glibc-functions/inet_makeaddr.texi index d944b583b..d76c9d4a7 100644 --- a/doc/glibc-functions/inet_makeaddr.texi +++ b/doc/glibc-functions/inet_makeaddr.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, mingw, BeOS. +Minix 3.1.8, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/inet_net_ntop.texi b/doc/glibc-functions/inet_net_ntop.texi index 23b43e0ba..4940e8f9a 100644 --- a/doc/glibc-functions/inet_net_ntop.texi +++ b/doc/glibc-functions/inet_net_ntop.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, HP-UX 11.00, IRIX 6.5, OSF/1 4.0, Cygwin, mingw, Interix 3.5, BeOS. +Minix 3.1.8, HP-UX 11.00, IRIX 6.5, OSF/1 4.0, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/inet_net_pton.texi b/doc/glibc-functions/inet_net_pton.texi index 3821bec25..1f0526e5b 100644 --- a/doc/glibc-functions/inet_net_pton.texi +++ b/doc/glibc-functions/inet_net_pton.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, HP-UX 11.00, IRIX 6.5, OSF/1 4.0, Cygwin, mingw, Interix 3.5, BeOS. +Minix 3.1.8, HP-UX 11.00, IRIX 6.5, OSF/1 4.0, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/inet_neta.texi b/doc/glibc-functions/inet_neta.texi index 496a9580c..94a2fce3a 100644 --- a/doc/glibc-functions/inet_neta.texi +++ b/doc/glibc-functions/inet_neta.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, HP-UX 11.00, IRIX 6.5, OSF/1 4.0, Solaris 10, Cygwin, mingw, Interix 3.5, BeOS. +Minix 3.1.8, HP-UX 11.00, IRIX 6.5, OSF/1 4.0, Solaris 10, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/inet_netof.texi b/doc/glibc-functions/inet_netof.texi index ff89447bd..cf15f472f 100644 --- a/doc/glibc-functions/inet_netof.texi +++ b/doc/glibc-functions/inet_netof.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, mingw, BeOS. +Minix 3.1.8, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/inet_network.texi b/doc/glibc-functions/inet_network.texi index cd7d7189a..caf3ebab3 100644 --- a/doc/glibc-functions/inet_network.texi +++ b/doc/glibc-functions/inet_network.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw, BeOS. +mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/inet_nsap_addr.texi b/doc/glibc-functions/inet_nsap_addr.texi index 8061ad618..46ac8636f 100644 --- a/doc/glibc-functions/inet_nsap_addr.texi +++ b/doc/glibc-functions/inet_nsap_addr.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, HP-UX 11.00, IRIX 5.3, Cygwin, mingw, Interix 3.5, BeOS. +Minix 3.1.8, HP-UX 11.00, IRIX 5.3, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/inet_nsap_ntoa.texi b/doc/glibc-functions/inet_nsap_ntoa.texi index 6f3343ee6..bca2612ab 100644 --- a/doc/glibc-functions/inet_nsap_ntoa.texi +++ b/doc/glibc-functions/inet_nsap_ntoa.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, HP-UX 11.00, IRIX 5.3, Cygwin, mingw, Interix 3.5, BeOS. +Minix 3.1.8, HP-UX 11.00, IRIX 5.3, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/initgroups.texi b/doc/glibc-functions/initgroups.texi index 0bbed3cca..2539fc276 100644 --- a/doc/glibc-functions/initgroups.texi +++ b/doc/glibc-functions/initgroups.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw, Interix 3.5, BeOS. +mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/initstate_r.texi b/doc/glibc-functions/initstate_r.texi index 926179c13..4f1697f09 100644 --- a/doc/glibc-functions/initstate_r.texi +++ b/doc/glibc-functions/initstate_r.texi @@ -8,7 +8,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/glibc-functions/innetgr.texi b/doc/glibc-functions/innetgr.texi index 609699891..15798c364 100644 --- a/doc/glibc-functions/innetgr.texi +++ b/doc/glibc-functions/innetgr.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, Interix 3.5, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/ioperm.texi b/doc/glibc-functions/ioperm.texi index 496119065..ed02953ec 100644 --- a/doc/glibc-functions/ioperm.texi +++ b/doc/glibc-functions/ioperm.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/iopl.texi b/doc/glibc-functions/iopl.texi index 7a4e89d51..1f6c86a1b 100644 --- a/doc/glibc-functions/iopl.texi +++ b/doc/glibc-functions/iopl.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/isctype.texi b/doc/glibc-functions/isctype.texi index d5f9ce274..7223f8785 100644 --- a/doc/glibc-functions/isctype.texi +++ b/doc/glibc-functions/isctype.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/isfdtype.texi b/doc/glibc-functions/isfdtype.texi index 50a1f4003..568373c36 100644 --- a/doc/glibc-functions/isfdtype.texi +++ b/doc/glibc-functions/isfdtype.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/isinff.texi b/doc/glibc-functions/isinff.texi index ec2a5cda0..fea0fe46c 100644 --- a/doc/glibc-functions/isinff.texi +++ b/doc/glibc-functions/isinff.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw. +MacOS X 10.5, FreeBSD 6.0, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9. @end itemize diff --git a/doc/glibc-functions/isinfl.texi b/doc/glibc-functions/isinfl.texi index 0de545040..38d60da28 100644 --- a/doc/glibc-functions/isinfl.texi +++ b/doc/glibc-functions/isinfl.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/glibc-functions/isnanf.texi b/doc/glibc-functions/isnanf.texi index bb6f9f6db..6016ae844 100644 --- a/doc/glibc-functions/isnanf.texi +++ b/doc/glibc-functions/isnanf.texi @@ -8,7 +8,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, Minix 3.1.8, AIX 5.1, HP-UX 11. +MacOS X 10.5, Minix 3.1.8, AIX 5.1, HP-UX 11, MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/glibc-functions/isnanl.texi b/doc/glibc-functions/isnanl.texi index 08348b7b8..16e340755 100644 --- a/doc/glibc-functions/isnanl.texi +++ b/doc/glibc-functions/isnanl.texi @@ -8,7 +8,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Cygwin, Interix 3.5. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Cygwin, MSVC 9, Interix 3.5. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/glibc-functions/j0f.texi b/doc/glibc-functions/j0f.texi index a98183e29..eacb28ff7 100644 --- a/doc/glibc-functions/j0f.texi +++ b/doc/glibc-functions/j0f.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, mingw. +MacOS X 10.5, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, mingw, MSVC 9. @end itemize diff --git a/doc/glibc-functions/j0l.texi b/doc/glibc-functions/j0l.texi index 1f6037762..40ef6a4b8 100644 --- a/doc/glibc-functions/j0l.texi +++ b/doc/glibc-functions/j0l.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/j1f.texi b/doc/glibc-functions/j1f.texi index d4ee05d39..3531349e3 100644 --- a/doc/glibc-functions/j1f.texi +++ b/doc/glibc-functions/j1f.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, mingw. +MacOS X 10.5, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, mingw, MSVC 9. @end itemize diff --git a/doc/glibc-functions/j1l.texi b/doc/glibc-functions/j1l.texi index 5de5bd1ed..bf4696021 100644 --- a/doc/glibc-functions/j1l.texi +++ b/doc/glibc-functions/j1l.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/jnf.texi b/doc/glibc-functions/jnf.texi index 090da77e2..1279dcede 100644 --- a/doc/glibc-functions/jnf.texi +++ b/doc/glibc-functions/jnf.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, mingw. +MacOS X 10.5, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, mingw, MSVC 9. @end itemize diff --git a/doc/glibc-functions/jnl.texi b/doc/glibc-functions/jnl.texi index dcd90513c..03e539557 100644 --- a/doc/glibc-functions/jnl.texi +++ b/doc/glibc-functions/jnl.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/jrand48_r.texi b/doc/glibc-functions/jrand48_r.texi index f4d1d34c5..66bc615cc 100644 --- a/doc/glibc-functions/jrand48_r.texi +++ b/doc/glibc-functions/jrand48_r.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/glibc-functions/key_decryptsession.texi b/doc/glibc-functions/key_decryptsession.texi index 8bc5b24a1..9cb70af48 100644 --- a/doc/glibc-functions/key_decryptsession.texi +++ b/doc/glibc-functions/key_decryptsession.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/key_decryptsession_pk.texi b/doc/glibc-functions/key_decryptsession_pk.texi index ccf517313..a3e9522f9 100644 --- a/doc/glibc-functions/key_decryptsession_pk.texi +++ b/doc/glibc-functions/key_decryptsession_pk.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/key_encryptsession.texi b/doc/glibc-functions/key_encryptsession.texi index 89cc7c894..1a04dca63 100644 --- a/doc/glibc-functions/key_encryptsession.texi +++ b/doc/glibc-functions/key_encryptsession.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/key_encryptsession_pk.texi b/doc/glibc-functions/key_encryptsession_pk.texi index 12bb2ebb3..ae1acc6d5 100644 --- a/doc/glibc-functions/key_encryptsession_pk.texi +++ b/doc/glibc-functions/key_encryptsession_pk.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/key_gendes.texi b/doc/glibc-functions/key_gendes.texi index e0dcb096f..87cd93c18 100644 --- a/doc/glibc-functions/key_gendes.texi +++ b/doc/glibc-functions/key_gendes.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/key_get_conv.texi b/doc/glibc-functions/key_get_conv.texi index 5f73ebb55..00b0da409 100644 --- a/doc/glibc-functions/key_get_conv.texi +++ b/doc/glibc-functions/key_get_conv.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/key_secretkey_is_set.texi b/doc/glibc-functions/key_secretkey_is_set.texi index 1d72e4bc4..f108f3312 100644 --- a/doc/glibc-functions/key_secretkey_is_set.texi +++ b/doc/glibc-functions/key_secretkey_is_set.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/key_setsecret.texi b/doc/glibc-functions/key_setsecret.texi index 8b1dd5e0d..2eb75212a 100644 --- a/doc/glibc-functions/key_setsecret.texi +++ b/doc/glibc-functions/key_setsecret.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/klogctl.texi b/doc/glibc-functions/klogctl.texi index 9e82b0a74..8342bb5f9 100644 --- a/doc/glibc-functions/klogctl.texi +++ b/doc/glibc-functions/klogctl.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/lchmod.texi b/doc/glibc-functions/lchmod.texi index f5bd59c7a..3235460c5 100644 --- a/doc/glibc-functions/lchmod.texi +++ b/doc/glibc-functions/lchmod.texi @@ -8,7 +8,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.4, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.4, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/glibc-functions/lckpwdf.texi b/doc/glibc-functions/lckpwdf.texi index 0bf563818..701ed8372 100644 --- a/doc/glibc-functions/lckpwdf.texi +++ b/doc/glibc-functions/lckpwdf.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/lcong48_r.texi b/doc/glibc-functions/lcong48_r.texi index 5ba1ffe3e..ef7f0b2ff 100644 --- a/doc/glibc-functions/lcong48_r.texi +++ b/doc/glibc-functions/lcong48_r.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/glibc-functions/lgamma_r.texi b/doc/glibc-functions/lgamma_r.texi index 345b385ff..7123891e9 100644 --- a/doc/glibc-functions/lgamma_r.texi +++ b/doc/glibc-functions/lgamma_r.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5 x86, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, mingw. +MacOS X 10.5 x86, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, mingw, MSVC 9. @end itemize diff --git a/doc/glibc-functions/lgammaf_r.texi b/doc/glibc-functions/lgammaf_r.texi index e2b83ab9c..820b3aa29 100644 --- a/doc/glibc-functions/lgammaf_r.texi +++ b/doc/glibc-functions/lgammaf_r.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, mingw. +MacOS X 10.5, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, mingw, MSVC 9. @end itemize diff --git a/doc/glibc-functions/lgammal_r.texi b/doc/glibc-functions/lgammal_r.texi index b21b2e526..a1bc2ebb2 100644 --- a/doc/glibc-functions/lgammal_r.texi +++ b/doc/glibc-functions/lgammal_r.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/lgetxattr.texi b/doc/glibc-functions/lgetxattr.texi index 0978ec5c9..d98b3d773 100644 --- a/doc/glibc-functions/lgetxattr.texi +++ b/doc/glibc-functions/lgetxattr.texi @@ -13,5 +13,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on many non-glibc platforms: MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/listxattr.texi b/doc/glibc-functions/listxattr.texi index 811a49748..5e2225a78 100644 --- a/doc/glibc-functions/listxattr.texi +++ b/doc/glibc-functions/listxattr.texi @@ -13,5 +13,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on many non-glibc platforms: MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/llistxattr.texi b/doc/glibc-functions/llistxattr.texi index bdd42c2db..594e254df 100644 --- a/doc/glibc-functions/llistxattr.texi +++ b/doc/glibc-functions/llistxattr.texi @@ -13,5 +13,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on many non-glibc platforms: MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/loc1.texi b/doc/glibc-functions/loc1.texi index 83f39173d..989ed9d70 100644 --- a/doc/glibc-functions/loc1.texi +++ b/doc/glibc-functions/loc1.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This variable is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/loc2.texi b/doc/glibc-functions/loc2.texi index d6639ec92..ad8bcb94a 100644 --- a/doc/glibc-functions/loc2.texi +++ b/doc/glibc-functions/loc2.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This variable is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/locs.texi b/doc/glibc-functions/locs.texi index 27441b54d..c1a953164 100644 --- a/doc/glibc-functions/locs.texi +++ b/doc/glibc-functions/locs.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This variable is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/login_tty.texi b/doc/glibc-functions/login_tty.texi index d776f6267..785d8809f 100644 --- a/doc/glibc-functions/login_tty.texi +++ b/doc/glibc-functions/login_tty.texi @@ -20,7 +20,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @item This function is declared in @code{} on glibc, Cygwin, in @code{} on MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, diff --git a/doc/glibc-functions/lrand48_r.texi b/doc/glibc-functions/lrand48_r.texi index 5e7e17102..0b2735851 100644 --- a/doc/glibc-functions/lrand48_r.texi +++ b/doc/glibc-functions/lrand48_r.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/glibc-functions/lremovexattr.texi b/doc/glibc-functions/lremovexattr.texi index eb5075d81..f439bd62f 100644 --- a/doc/glibc-functions/lremovexattr.texi +++ b/doc/glibc-functions/lremovexattr.texi @@ -13,5 +13,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on many non-glibc platforms: MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/lsetxattr.texi b/doc/glibc-functions/lsetxattr.texi index ed6562409..93d957eaf 100644 --- a/doc/glibc-functions/lsetxattr.texi +++ b/doc/glibc-functions/lsetxattr.texi @@ -13,5 +13,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on many non-glibc platforms: MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/lutimes.texi b/doc/glibc-functions/lutimes.texi index 3777ac67a..3dde8246c 100644 --- a/doc/glibc-functions/lutimes.texi +++ b/doc/glibc-functions/lutimes.texi @@ -13,7 +13,7 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: MacOS X 10.4, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, -Solaris 11 2010-11, mingw, Interix 3.5, BeOS. +Solaris 11 2010-11, mingw, MSVC 9, Interix 3.5, BeOS. @item This function cannot set full timestamp resolution. Use @code{utimensat(AT_FDCWD,file,times,AT_SYMLINK_NOFOLLOW)}, or the diff --git a/doc/glibc-functions/madvise.texi b/doc/glibc-functions/madvise.texi index 2005ea98e..ced0c6c09 100644 --- a/doc/glibc-functions/madvise.texi +++ b/doc/glibc-functions/madvise.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, AIX 5.1, Cygwin, mingw, BeOS. +Minix 3.1.8, AIX 5.1, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/mallinfo.texi b/doc/glibc-functions/mallinfo.texi index ba5f570af..8e4d92d12 100644 --- a/doc/glibc-functions/mallinfo.texi +++ b/doc/glibc-functions/mallinfo.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, Solaris 11 2010-11, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, Solaris 11 2010-11, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/malloc_get_state.texi b/doc/glibc-functions/malloc_get_state.texi index 95abc4bed..0e60e0e94 100644 --- a/doc/glibc-functions/malloc_get_state.texi +++ b/doc/glibc-functions/malloc_get_state.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/malloc_info.texi b/doc/glibc-functions/malloc_info.texi index 0d15b5dfb..edd9a23b8 100644 --- a/doc/glibc-functions/malloc_info.texi +++ b/doc/glibc-functions/malloc_info.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -glibc 2.9, MacOS X 10.5, FreeBSD 6.4, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 7.1, HP-UX 11.31, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.9, MacOS X 10.5, FreeBSD 6.4, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 7.1, HP-UX 11.31, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/malloc_set_state.texi b/doc/glibc-functions/malloc_set_state.texi index 092d812d5..8d8c8a6b2 100644 --- a/doc/glibc-functions/malloc_set_state.texi +++ b/doc/glibc-functions/malloc_set_state.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/malloc_stats.texi b/doc/glibc-functions/malloc_stats.texi index bb8dc4070..1c30cc019 100644 --- a/doc/glibc-functions/malloc_stats.texi +++ b/doc/glibc-functions/malloc_stats.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/malloc_trim.texi b/doc/glibc-functions/malloc_trim.texi index 00b1e0070..13dad64f6 100644 --- a/doc/glibc-functions/malloc_trim.texi +++ b/doc/glibc-functions/malloc_trim.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/malloc_usable_size.texi b/doc/glibc-functions/malloc_usable_size.texi index 616081fd3..30e282c20 100644 --- a/doc/glibc-functions/malloc_usable_size.texi +++ b/doc/glibc-functions/malloc_usable_size.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11.00, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11.00, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/mallopt.texi b/doc/glibc-functions/mallopt.texi index 0f14a95c8..02036b073 100644 --- a/doc/glibc-functions/mallopt.texi +++ b/doc/glibc-functions/mallopt.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, Solaris 11 2010-11, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, Solaris 11 2010-11, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/matherr.texi b/doc/glibc-functions/matherr.texi index bad3b7a0d..513c71032 100644 --- a/doc/glibc-functions/matherr.texi +++ b/doc/glibc-functions/matherr.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 6.0, Minix 3.1.8, AIX 5.1, HP-UX 11, OSF/1 5.1, mingw. +FreeBSD 6.0, Minix 3.1.8, AIX 5.1, HP-UX 11, OSF/1 5.1, mingw, MSVC 9. @end itemize diff --git a/doc/glibc-functions/mcheck.texi b/doc/glibc-functions/mcheck.texi index 4fd3ad4bf..2ecc674ff 100644 --- a/doc/glibc-functions/mcheck.texi +++ b/doc/glibc-functions/mcheck.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/glibc-functions/mcheck_check_all.texi b/doc/glibc-functions/mcheck_check_all.texi index fe73ce87c..8e695f7f1 100644 --- a/doc/glibc-functions/mcheck_check_all.texi +++ b/doc/glibc-functions/mcheck_check_all.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/mcheck_pedantic.texi b/doc/glibc-functions/mcheck_pedantic.texi index f95a8aa80..b053d2677 100644 --- a/doc/glibc-functions/mcheck_pedantic.texi +++ b/doc/glibc-functions/mcheck_pedantic.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/memalign.texi b/doc/glibc-functions/memalign.texi index ccc750e4a..e95425c59 100644 --- a/doc/glibc-functions/memalign.texi +++ b/doc/glibc-functions/memalign.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11.00, OSF/1 5.1, mingw, Interix 3.5. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11.00, OSF/1 5.1, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/glibc-functions/memfrob.texi b/doc/glibc-functions/memfrob.texi index f7b5bf27e..32669ddf1 100644 --- a/doc/glibc-functions/memfrob.texi +++ b/doc/glibc-functions/memfrob.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/memmem.texi b/doc/glibc-functions/memmem.texi index 0c0b2405a..92c39cd8c 100644 --- a/doc/glibc-functions/memmem.texi +++ b/doc/glibc-functions/memmem.texi @@ -13,7 +13,7 @@ or @code{memmem}: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 5.2.1, OpenBSD 4.0, Minix 3.1.8, AIX 4.3.2, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 5.2.1, OpenBSD 4.0, Minix 3.1.8, AIX 4.3.2, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, MSVC 9, Interix 3.5, BeOS. @item This function has reversed arguments on some older platforms: Linux libc 5.0.9 diff --git a/doc/glibc-functions/mempcpy.texi b/doc/glibc-functions/mempcpy.texi index 2285de68a..654335302 100644 --- a/doc/glibc-functions/mempcpy.texi +++ b/doc/glibc-functions/mempcpy.texi @@ -8,7 +8,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/glibc-functions/memrchr.texi b/doc/glibc-functions/memrchr.texi index 9a0e83d2f..cd911fd95 100644 --- a/doc/glibc-functions/memrchr.texi +++ b/doc/glibc-functions/memrchr.texi @@ -8,7 +8,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/glibc-functions/mincore.texi b/doc/glibc-functions/mincore.texi index 6f9a74ad3..075c627b2 100644 --- a/doc/glibc-functions/mincore.texi +++ b/doc/glibc-functions/mincore.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/mkostemp.texi b/doc/glibc-functions/mkostemp.texi index 84a6dfc06..744f94bb2 100644 --- a/doc/glibc-functions/mkostemp.texi +++ b/doc/glibc-functions/mkostemp.texi @@ -9,7 +9,7 @@ Portability problems fixed by Gnulib: @item This function is missing on many non-glibc platforms: MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.7.5, mingw, Interix 3.5, BeOS. +IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.7.5, mingw, MSVC 9, Interix 3.5, BeOS. @item On platforms where @code{off_t} is a 32-bit type, @code{mkostemp} may not work correctly to create files larger than 2 GB. (Cf. @code{AC_SYS_LARGEFILE}.) diff --git a/doc/glibc-functions/mkostemps.texi b/doc/glibc-functions/mkostemps.texi index 343c109ad..6e474ddd2 100644 --- a/doc/glibc-functions/mkostemps.texi +++ b/doc/glibc-functions/mkostemps.texi @@ -9,7 +9,7 @@ Portability problems fixed by Gnulib: @item This function is missing on many non-glibc platforms: glibc 2.10, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, -AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.7.5, mingw, Interix 3.5, BeOS. +AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.7.5, mingw, MSVC 9, Interix 3.5, BeOS. @item On platforms where @code{off_t} is a 32-bit type, @code{mkostemps} may not work correctly to create files larger than 2 GB. (Cf. @code{AC_SYS_LARGEFILE}.) diff --git a/doc/glibc-functions/mkstemps.texi b/doc/glibc-functions/mkstemps.texi index c64c93074..53cf41bde 100644 --- a/doc/glibc-functions/mkstemps.texi +++ b/doc/glibc-functions/mkstemps.texi @@ -9,7 +9,7 @@ Portability problems fixed by Gnulib: @item This function is missing on many non-glibc platforms: glibc 2.10, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, -Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. @item This function is declared in @code{} instead of @code{} on some platforms: diff --git a/doc/glibc-functions/monstartup.texi b/doc/glibc-functions/monstartup.texi index 50e6a1c2a..e69895f86 100644 --- a/doc/glibc-functions/monstartup.texi +++ b/doc/glibc-functions/monstartup.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +Minix 3.1.8, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/mount.texi b/doc/glibc-functions/mount.texi index f1fbd5fb4..853de0fef 100644 --- a/doc/glibc-functions/mount.texi +++ b/doc/glibc-functions/mount.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw, Interix 3.5. +mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/glibc-functions/mprobe.texi b/doc/glibc-functions/mprobe.texi index 893f74a5a..5cb66adae 100644 --- a/doc/glibc-functions/mprobe.texi +++ b/doc/glibc-functions/mprobe.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/glibc-functions/mrand48_r.texi b/doc/glibc-functions/mrand48_r.texi index 40db8419d..7023726f8 100644 --- a/doc/glibc-functions/mrand48_r.texi +++ b/doc/glibc-functions/mrand48_r.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/glibc-functions/mremap.texi b/doc/glibc-functions/mremap.texi index 209116cf0..fe2cbfcac 100644 --- a/doc/glibc-functions/mremap.texi +++ b/doc/glibc-functions/mremap.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/mtrace.texi b/doc/glibc-functions/mtrace.texi index 595a6ce5d..520418db8 100644 --- a/doc/glibc-functions/mtrace.texi +++ b/doc/glibc-functions/mtrace.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/muntrace.texi b/doc/glibc-functions/muntrace.texi index 92b733443..141ace188 100644 --- a/doc/glibc-functions/muntrace.texi +++ b/doc/glibc-functions/muntrace.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/netname2host.texi b/doc/glibc-functions/netname2host.texi index 578e60bb8..0aaf71e17 100644 --- a/doc/glibc-functions/netname2host.texi +++ b/doc/glibc-functions/netname2host.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/netname2user.texi b/doc/glibc-functions/netname2user.texi index 78e38d10e..f82d7eca1 100644 --- a/doc/glibc-functions/netname2user.texi +++ b/doc/glibc-functions/netname2user.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/ngettext.texi b/doc/glibc-functions/ngettext.texi index 60fb367c3..4677680a6 100644 --- a/doc/glibc-functions/ngettext.texi +++ b/doc/glibc-functions/ngettext.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, OpenBSD 3.8, Minix 3.1.8, AIX 4.3.2, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, OpenBSD 3.8, Minix 3.1.8, AIX 4.3.2, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/nis_add.texi b/doc/glibc-functions/nis_add.texi index e99ca2de4..d68c37f55 100644 --- a/doc/glibc-functions/nis_add.texi +++ b/doc/glibc-functions/nis_add.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/nis_add_entry.texi b/doc/glibc-functions/nis_add_entry.texi index 644b2a6d9..f4e4f3861 100644 --- a/doc/glibc-functions/nis_add_entry.texi +++ b/doc/glibc-functions/nis_add_entry.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/nis_addmember.texi b/doc/glibc-functions/nis_addmember.texi index a49665815..8cdc6394f 100644 --- a/doc/glibc-functions/nis_addmember.texi +++ b/doc/glibc-functions/nis_addmember.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/nis_checkpoint.texi b/doc/glibc-functions/nis_checkpoint.texi index d73f42b24..7d39cd076 100644 --- a/doc/glibc-functions/nis_checkpoint.texi +++ b/doc/glibc-functions/nis_checkpoint.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/nis_clone_object.texi b/doc/glibc-functions/nis_clone_object.texi index 735f7b784..4c3b3e5c0 100644 --- a/doc/glibc-functions/nis_clone_object.texi +++ b/doc/glibc-functions/nis_clone_object.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/nis_creategroup.texi b/doc/glibc-functions/nis_creategroup.texi index e8908b84f..06c11be48 100644 --- a/doc/glibc-functions/nis_creategroup.texi +++ b/doc/glibc-functions/nis_creategroup.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/nis_destroy_object.texi b/doc/glibc-functions/nis_destroy_object.texi index 54a94c8b5..9fd2e5383 100644 --- a/doc/glibc-functions/nis_destroy_object.texi +++ b/doc/glibc-functions/nis_destroy_object.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/nis_destroygroup.texi b/doc/glibc-functions/nis_destroygroup.texi index d1b839629..ff753ac26 100644 --- a/doc/glibc-functions/nis_destroygroup.texi +++ b/doc/glibc-functions/nis_destroygroup.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/nis_dir_cmp.texi b/doc/glibc-functions/nis_dir_cmp.texi index d383e430b..7136af56c 100644 --- a/doc/glibc-functions/nis_dir_cmp.texi +++ b/doc/glibc-functions/nis_dir_cmp.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/nis_domain_of.texi b/doc/glibc-functions/nis_domain_of.texi index 36b23e1e8..5cb2fdccb 100644 --- a/doc/glibc-functions/nis_domain_of.texi +++ b/doc/glibc-functions/nis_domain_of.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/nis_domain_of_r.texi b/doc/glibc-functions/nis_domain_of_r.texi index b3d455098..da578ff22 100644 --- a/doc/glibc-functions/nis_domain_of_r.texi +++ b/doc/glibc-functions/nis_domain_of_r.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/nis_first_entry.texi b/doc/glibc-functions/nis_first_entry.texi index ff93e209d..9e725f4a9 100644 --- a/doc/glibc-functions/nis_first_entry.texi +++ b/doc/glibc-functions/nis_first_entry.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/nis_freenames.texi b/doc/glibc-functions/nis_freenames.texi index 410f57f44..5553869ba 100644 --- a/doc/glibc-functions/nis_freenames.texi +++ b/doc/glibc-functions/nis_freenames.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/nis_freeresult.texi b/doc/glibc-functions/nis_freeresult.texi index 6d0ad18e0..7c1116a22 100644 --- a/doc/glibc-functions/nis_freeresult.texi +++ b/doc/glibc-functions/nis_freeresult.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/nis_freeservlist.texi b/doc/glibc-functions/nis_freeservlist.texi index f5f2c4794..633a048b9 100644 --- a/doc/glibc-functions/nis_freeservlist.texi +++ b/doc/glibc-functions/nis_freeservlist.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/nis_freetags.texi b/doc/glibc-functions/nis_freetags.texi index 33c0e8fa0..b12a3332e 100644 --- a/doc/glibc-functions/nis_freetags.texi +++ b/doc/glibc-functions/nis_freetags.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/nis_getnames.texi b/doc/glibc-functions/nis_getnames.texi index 676d661e6..431e6f7af 100644 --- a/doc/glibc-functions/nis_getnames.texi +++ b/doc/glibc-functions/nis_getnames.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/nis_getservlist.texi b/doc/glibc-functions/nis_getservlist.texi index c01369995..1fe21534b 100644 --- a/doc/glibc-functions/nis_getservlist.texi +++ b/doc/glibc-functions/nis_getservlist.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/nis_ismember.texi b/doc/glibc-functions/nis_ismember.texi index 3825dff1e..5511682a9 100644 --- a/doc/glibc-functions/nis_ismember.texi +++ b/doc/glibc-functions/nis_ismember.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/nis_leaf_of.texi b/doc/glibc-functions/nis_leaf_of.texi index 9815bfacd..c8740b33b 100644 --- a/doc/glibc-functions/nis_leaf_of.texi +++ b/doc/glibc-functions/nis_leaf_of.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/nis_leaf_of_r.texi b/doc/glibc-functions/nis_leaf_of_r.texi index fc8cc98a9..388196bb4 100644 --- a/doc/glibc-functions/nis_leaf_of_r.texi +++ b/doc/glibc-functions/nis_leaf_of_r.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/nis_lerror.texi b/doc/glibc-functions/nis_lerror.texi index d59ac3435..c39ac9919 100644 --- a/doc/glibc-functions/nis_lerror.texi +++ b/doc/glibc-functions/nis_lerror.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/nis_list.texi b/doc/glibc-functions/nis_list.texi index f460b6dc9..38fd0afa1 100644 --- a/doc/glibc-functions/nis_list.texi +++ b/doc/glibc-functions/nis_list.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/nis_local_directory.texi b/doc/glibc-functions/nis_local_directory.texi index c14b42e4c..f24f41560 100644 --- a/doc/glibc-functions/nis_local_directory.texi +++ b/doc/glibc-functions/nis_local_directory.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/nis_local_group.texi b/doc/glibc-functions/nis_local_group.texi index 1ee3c5648..80b702d3c 100644 --- a/doc/glibc-functions/nis_local_group.texi +++ b/doc/glibc-functions/nis_local_group.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/nis_local_host.texi b/doc/glibc-functions/nis_local_host.texi index d7eee9153..998f1295c 100644 --- a/doc/glibc-functions/nis_local_host.texi +++ b/doc/glibc-functions/nis_local_host.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/nis_local_principal.texi b/doc/glibc-functions/nis_local_principal.texi index 5a9efeb02..18c11637d 100644 --- a/doc/glibc-functions/nis_local_principal.texi +++ b/doc/glibc-functions/nis_local_principal.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/nis_lookup.texi b/doc/glibc-functions/nis_lookup.texi index 980dbf811..2f2050b08 100644 --- a/doc/glibc-functions/nis_lookup.texi +++ b/doc/glibc-functions/nis_lookup.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/nis_mkdir.texi b/doc/glibc-functions/nis_mkdir.texi index 33fb282e9..38d669340 100644 --- a/doc/glibc-functions/nis_mkdir.texi +++ b/doc/glibc-functions/nis_mkdir.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/nis_modify.texi b/doc/glibc-functions/nis_modify.texi index eb124de84..b6a01cd48 100644 --- a/doc/glibc-functions/nis_modify.texi +++ b/doc/glibc-functions/nis_modify.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/nis_modify_entry.texi b/doc/glibc-functions/nis_modify_entry.texi index 150ba7734..f8e086791 100644 --- a/doc/glibc-functions/nis_modify_entry.texi +++ b/doc/glibc-functions/nis_modify_entry.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/nis_name_of.texi b/doc/glibc-functions/nis_name_of.texi index 0d1a254ad..143454971 100644 --- a/doc/glibc-functions/nis_name_of.texi +++ b/doc/glibc-functions/nis_name_of.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/nis_name_of_r.texi b/doc/glibc-functions/nis_name_of_r.texi index ff0fd332a..25d809c5e 100644 --- a/doc/glibc-functions/nis_name_of_r.texi +++ b/doc/glibc-functions/nis_name_of_r.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/nis_next_entry.texi b/doc/glibc-functions/nis_next_entry.texi index 77d685d9d..1178a5cda 100644 --- a/doc/glibc-functions/nis_next_entry.texi +++ b/doc/glibc-functions/nis_next_entry.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/nis_perror.texi b/doc/glibc-functions/nis_perror.texi index f2baf019e..6f7b5fa75 100644 --- a/doc/glibc-functions/nis_perror.texi +++ b/doc/glibc-functions/nis_perror.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/nis_ping.texi b/doc/glibc-functions/nis_ping.texi index e1904dd9a..9cc55db00 100644 --- a/doc/glibc-functions/nis_ping.texi +++ b/doc/glibc-functions/nis_ping.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/nis_print_directory.texi b/doc/glibc-functions/nis_print_directory.texi index 9832c3db5..7fba4c79c 100644 --- a/doc/glibc-functions/nis_print_directory.texi +++ b/doc/glibc-functions/nis_print_directory.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/nis_print_entry.texi b/doc/glibc-functions/nis_print_entry.texi index 6ce7784af..d2e8341f7 100644 --- a/doc/glibc-functions/nis_print_entry.texi +++ b/doc/glibc-functions/nis_print_entry.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/nis_print_group.texi b/doc/glibc-functions/nis_print_group.texi index 078ac8551..1ac72730f 100644 --- a/doc/glibc-functions/nis_print_group.texi +++ b/doc/glibc-functions/nis_print_group.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/nis_print_group_entry.texi b/doc/glibc-functions/nis_print_group_entry.texi index 774887889..d85e4a470 100644 --- a/doc/glibc-functions/nis_print_group_entry.texi +++ b/doc/glibc-functions/nis_print_group_entry.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/nis_print_link.texi b/doc/glibc-functions/nis_print_link.texi index b810d10fc..b9d101030 100644 --- a/doc/glibc-functions/nis_print_link.texi +++ b/doc/glibc-functions/nis_print_link.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/nis_print_object.texi b/doc/glibc-functions/nis_print_object.texi index 72fb01a1c..18e9843d1 100644 --- a/doc/glibc-functions/nis_print_object.texi +++ b/doc/glibc-functions/nis_print_object.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/nis_print_result.texi b/doc/glibc-functions/nis_print_result.texi index c0a099805..eab5bec81 100644 --- a/doc/glibc-functions/nis_print_result.texi +++ b/doc/glibc-functions/nis_print_result.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/nis_print_rights.texi b/doc/glibc-functions/nis_print_rights.texi index d28606f71..d70c6a272 100644 --- a/doc/glibc-functions/nis_print_rights.texi +++ b/doc/glibc-functions/nis_print_rights.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/nis_print_table.texi b/doc/glibc-functions/nis_print_table.texi index 8f9278e76..ff72cbf84 100644 --- a/doc/glibc-functions/nis_print_table.texi +++ b/doc/glibc-functions/nis_print_table.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/nis_remove.texi b/doc/glibc-functions/nis_remove.texi index 494286b13..d5afcb451 100644 --- a/doc/glibc-functions/nis_remove.texi +++ b/doc/glibc-functions/nis_remove.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/nis_remove_entry.texi b/doc/glibc-functions/nis_remove_entry.texi index 6a446bc30..8e8221476 100644 --- a/doc/glibc-functions/nis_remove_entry.texi +++ b/doc/glibc-functions/nis_remove_entry.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/nis_removemember.texi b/doc/glibc-functions/nis_removemember.texi index 984f9f801..e09a00349 100644 --- a/doc/glibc-functions/nis_removemember.texi +++ b/doc/glibc-functions/nis_removemember.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/nis_rmdir.texi b/doc/glibc-functions/nis_rmdir.texi index 52c932107..60a117665 100644 --- a/doc/glibc-functions/nis_rmdir.texi +++ b/doc/glibc-functions/nis_rmdir.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/nis_servstate.texi b/doc/glibc-functions/nis_servstate.texi index 5a65b2d07..62b6d082e 100644 --- a/doc/glibc-functions/nis_servstate.texi +++ b/doc/glibc-functions/nis_servstate.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/nis_sperrno.texi b/doc/glibc-functions/nis_sperrno.texi index 115905b02..7af008382 100644 --- a/doc/glibc-functions/nis_sperrno.texi +++ b/doc/glibc-functions/nis_sperrno.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/nis_sperror.texi b/doc/glibc-functions/nis_sperror.texi index 47a6deaac..9066cb215 100644 --- a/doc/glibc-functions/nis_sperror.texi +++ b/doc/glibc-functions/nis_sperror.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/nis_sperror_r.texi b/doc/glibc-functions/nis_sperror_r.texi index 925921a9f..0abb191ad 100644 --- a/doc/glibc-functions/nis_sperror_r.texi +++ b/doc/glibc-functions/nis_sperror_r.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/nis_stats.texi b/doc/glibc-functions/nis_stats.texi index db7fb6525..9d5c8e1aa 100644 --- a/doc/glibc-functions/nis_stats.texi +++ b/doc/glibc-functions/nis_stats.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/nis_verifygroup.texi b/doc/glibc-functions/nis_verifygroup.texi index e980ddab9..a19bf93ad 100644 --- a/doc/glibc-functions/nis_verifygroup.texi +++ b/doc/glibc-functions/nis_verifygroup.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/nrand48_r.texi b/doc/glibc-functions/nrand48_r.texi index c0c07f09b..75cdec34e 100644 --- a/doc/glibc-functions/nrand48_r.texi +++ b/doc/glibc-functions/nrand48_r.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/glibc-functions/ntp_adjtime.texi b/doc/glibc-functions/ntp_adjtime.texi index e9e788eb3..9f5694d66 100644 --- a/doc/glibc-functions/ntp_adjtime.texi +++ b/doc/glibc-functions/ntp_adjtime.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/ntp_gettime.texi b/doc/glibc-functions/ntp_gettime.texi index a2cf20924..f59a113e1 100644 --- a/doc/glibc-functions/ntp_gettime.texi +++ b/doc/glibc-functions/ntp_gettime.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/obstack_alloc_failed_handler.texi b/doc/glibc-functions/obstack_alloc_failed_handler.texi index 7fe7c0b0d..6d0e7a14f 100644 --- a/doc/glibc-functions/obstack_alloc_failed_handler.texi +++ b/doc/glibc-functions/obstack_alloc_failed_handler.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This variable is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/glibc-functions/obstack_exit_failure.texi b/doc/glibc-functions/obstack_exit_failure.texi index 7462eedfa..eab678635 100644 --- a/doc/glibc-functions/obstack_exit_failure.texi +++ b/doc/glibc-functions/obstack_exit_failure.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This variable is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/glibc-functions/obstack_free.texi b/doc/glibc-functions/obstack_free.texi index 2995158e0..e510ead64 100644 --- a/doc/glibc-functions/obstack_free.texi +++ b/doc/glibc-functions/obstack_free.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/glibc-functions/obstack_printf.texi b/doc/glibc-functions/obstack_printf.texi index 739f99c8c..bdd54731b 100644 --- a/doc/glibc-functions/obstack_printf.texi +++ b/doc/glibc-functions/obstack_printf.texi @@ -9,7 +9,7 @@ Portability problems fixed by either Gnulib module @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize Portability problems fixed by Gnulib module @code{ostack-printf-posix}: @@ -17,23 +17,26 @@ Portability problems fixed by Gnulib module @code{ostack-printf-posix}: @item This function does not support size specifiers as in C99 (@code{hh}, @code{ll}, @code{j}, @code{t}, @code{z}) on some platforms: -AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 1.5.24, mingw, BeOS. +AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 1.5.24, mingw, MSVC 9, BeOS. @item printf of @samp{long double} numbers is unsupported on some platforms: -mingw, BeOS. +mingw, MSVC 9, BeOS. @item printf @code{"%f"}, @code{"%e"}, @code{"%g"} of Infinity and NaN yields an incorrect result on some platforms: -AIX 5.2, OSF/1 5.1, Solaris 11 2010-11, mingw. +AIX 5.2, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9. @item This function does not support the @samp{a} and @samp{A} directives on some platforms: glibc-2.3.6, MacOS X 10.5, NetBSD 5.0, OpenBSD 4.0, AIX 5.2, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, BeOS. +IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9, BeOS. @item This function does not support the @samp{F} directive on some platforms: NetBSD 3.0, AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, -Cygwin 1.5.x, mingw, BeOS. +Cygwin 1.5.x, mingw, MSVC 9, BeOS. +@item +This function does not support the @samp{n} directive on some platforms: +MSVC 9. @item This function does not support the @samp{ls} directive on some platforms: OpenBSD 4.0, IRIX 6.5, Solaris 2.6, Cygwin 1.5.x, Haiku. @@ -44,10 +47,10 @@ Solaris 11 2010-11. @item This function does not support format directives that access arguments in an arbitrary order, such as @code{"%2$s"}, on some platforms: -NetBSD 3.0, mingw, BeOS. +NetBSD 3.0, mingw, MSVC 9, BeOS. @item This function doesn't support the @code{'} flag on some platforms: -NetBSD 3.0, Cygwin 1.5.24, mingw. +NetBSD 3.0, Cygwin 1.5.24, mingw, MSVC 9. @item This function behaves incorrectly when a @samp{-} flag and a negative width are specified together, on some platforms: @@ -55,17 +58,17 @@ HP-UX 10.20. @item printf @code{"%010f"} of NaN and Infinity yields an incorrect result (padded with zeroes) on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, AIX 5.2, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, AIX 5.2, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9. @item This function does not support precisions larger than 512 or 1024 in integer, floating-point and pointer output on some platforms: -Solaris 10/x86, mingw, BeOS. +Solaris 10/x86, mingw, MSVC 9, BeOS. @item This function can crash in out-of-memory conditions on some platforms: MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0. @item This function does not fully support the @samp{n} directive on some platforms: -HP-UX 11, mingw. +HP-UX 11, mingw, MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/glibc-functions/obstack_vprintf.texi b/doc/glibc-functions/obstack_vprintf.texi index 86c32f1d0..8c246c44e 100644 --- a/doc/glibc-functions/obstack_vprintf.texi +++ b/doc/glibc-functions/obstack_vprintf.texi @@ -9,7 +9,7 @@ Portability problems fixed by either Gnulib module @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize Portability problems fixed by Gnulib module @code{ostack-printf-posix}: @@ -17,23 +17,26 @@ Portability problems fixed by Gnulib module @code{ostack-printf-posix}: @item This function does not support size specifiers as in C99 (@code{hh}, @code{ll}, @code{j}, @code{t}, @code{z}) on some platforms: -AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 1.5.24, mingw, BeOS. +AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 1.5.24, mingw, MSVC 9, BeOS. @item printf of @samp{long double} numbers is unsupported on some platforms: -mingw, BeOS. +mingw, MSVC 9, BeOS. @item printf @code{"%f"}, @code{"%e"}, @code{"%g"} of Infinity and NaN yields an incorrect result on some platforms: -AIX 5.2, OSF/1 5.1, Solaris 11 2010-11, mingw. +AIX 5.2, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9. @item This function does not support the @samp{a} and @samp{A} directives on some platforms: glibc-2.3.6, MacOS X 10.5, NetBSD 5.0, OpenBSD 4.0, AIX 5.2, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, BeOS. +IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9, BeOS. @item This function does not support the @samp{F} directive on some platforms: NetBSD 3.0, AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, -Cygwin 1.5.x, mingw, BeOS. +Cygwin 1.5.x, mingw, MSVC 9, BeOS. +@item +This function does not support the @samp{n} directive on some platforms: +MSVC 9. @item This function does not support the @samp{ls} directive on some platforms: OpenBSD 4.0, IRIX 6.5, Solaris 2.6, Cygwin 1.5.x, Haiku. @@ -44,10 +47,10 @@ Solaris 11 2010-11. @item This function does not support format directives that access arguments in an arbitrary order, such as @code{"%2$s"}, on some platforms: -NetBSD 3.0, mingw, BeOS. +NetBSD 3.0, mingw, MSVC 9, BeOS. @item This function doesn't support the @code{'} flag on some platforms: -NetBSD 3.0, Cygwin 1.5.24, mingw. +NetBSD 3.0, Cygwin 1.5.24, mingw, MSVC 9. @item This function behaves incorrectly when a @samp{-} flag and a negative width are specified together, on some platforms: @@ -55,17 +58,17 @@ HP-UX 10.20. @item printf @code{"%010f"} of NaN and Infinity yields an incorrect result (padded with zeroes) on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, AIX 5.2, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, AIX 5.2, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9. @item This function does not support precisions larger than 512 or 1024 in integer, floating-point and pointer output on some platforms: -Solaris 10/x86, mingw, BeOS. +Solaris 10/x86, mingw, MSVC 9, BeOS. @item This function can crash in out-of-memory conditions on some platforms: MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0. @item This function does not fully support the @samp{n} directive on some platforms: -HP-UX 11, mingw. +HP-UX 11, mingw, MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/glibc-functions/on_exit.texi b/doc/glibc-functions/on_exit.texi index f0e531e5e..61587c305 100644 --- a/doc/glibc-functions/on_exit.texi +++ b/doc/glibc-functions/on_exit.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 4.3.2, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 4.3.2, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/openpty.texi b/doc/glibc-functions/openpty.texi index 3ed64d654..8fc96203b 100644 --- a/doc/glibc-functions/openpty.texi +++ b/doc/glibc-functions/openpty.texi @@ -29,7 +29,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @item After a successful call to @code{openpty}, the application needs to close the master's file descriptor before closing the slave's file descriptor, diff --git a/doc/glibc-functions/parse_printf_format.texi b/doc/glibc-functions/parse_printf_format.texi index 87c116ca0..d077979bf 100644 --- a/doc/glibc-functions/parse_printf_format.texi +++ b/doc/glibc-functions/parse_printf_format.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/personality.texi b/doc/glibc-functions/personality.texi index 8dc2b9342..7d4a8960b 100644 --- a/doc/glibc-functions/personality.texi +++ b/doc/glibc-functions/personality.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/pipe2.texi b/doc/glibc-functions/pipe2.texi index 55f39ff84..4a6ea8304 100644 --- a/doc/glibc-functions/pipe2.texi +++ b/doc/glibc-functions/pipe2.texi @@ -9,7 +9,7 @@ Portability problems fixed by Gnulib: @item This function is missing on many non-glibc platforms: MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.7.1, mingw, Interix 3.5, BeOS. +IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.7.1, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/glibc-functions/pmap_getmaps.texi b/doc/glibc-functions/pmap_getmaps.texi index 2736bb431..e92566fa2 100644 --- a/doc/glibc-functions/pmap_getmaps.texi +++ b/doc/glibc-functions/pmap_getmaps.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/pmap_getport.texi b/doc/glibc-functions/pmap_getport.texi index 7bed28fdb..9bc3a7341 100644 --- a/doc/glibc-functions/pmap_getport.texi +++ b/doc/glibc-functions/pmap_getport.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/pmap_rmtcall.texi b/doc/glibc-functions/pmap_rmtcall.texi index bb0d6d74a..c5a723fc7 100644 --- a/doc/glibc-functions/pmap_rmtcall.texi +++ b/doc/glibc-functions/pmap_rmtcall.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/pmap_set.texi b/doc/glibc-functions/pmap_set.texi index 4a1739014..f06d524b7 100644 --- a/doc/glibc-functions/pmap_set.texi +++ b/doc/glibc-functions/pmap_set.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/pmap_unset.texi b/doc/glibc-functions/pmap_unset.texi index 816460bb3..31a542290 100644 --- a/doc/glibc-functions/pmap_unset.texi +++ b/doc/glibc-functions/pmap_unset.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/pow10.texi b/doc/glibc-functions/pow10.texi index 2c89c76c2..85e21f145 100644 --- a/doc/glibc-functions/pow10.texi +++ b/doc/glibc-functions/pow10.texi @@ -13,5 +13,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, Interix 3.5. +IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/glibc-functions/pow10f.texi b/doc/glibc-functions/pow10f.texi index ecbab320c..1af177a23 100644 --- a/doc/glibc-functions/pow10f.texi +++ b/doc/glibc-functions/pow10f.texi @@ -13,5 +13,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, Interix 3.5. +IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/glibc-functions/pow10l.texi b/doc/glibc-functions/pow10l.texi index f8f8e34a2..1dc88c1b3 100644 --- a/doc/glibc-functions/pow10l.texi +++ b/doc/glibc-functions/pow10l.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/prctl.texi b/doc/glibc-functions/prctl.texi index 12a504f44..2e96d5099 100644 --- a/doc/glibc-functions/prctl.texi +++ b/doc/glibc-functions/prctl.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/preadv.texi b/doc/glibc-functions/preadv.texi index de7b75079..fc9809d0c 100644 --- a/doc/glibc-functions/preadv.texi +++ b/doc/glibc-functions/preadv.texi @@ -12,7 +12,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.9, MacOS X 10.5, FreeBSD 5.2.1, Minix 3.1.8, AIX 5.2, HP-UX 11.31, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.9, MacOS X 10.5, FreeBSD 5.2.1, Minix 3.1.8, AIX 5.2, HP-UX 11.31, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item On platforms where @code{off_t} is a 32-bit type, this function may not work correctly on files larger than 2 GB. The fix is to use the diff --git a/doc/glibc-functions/printf_size.texi b/doc/glibc-functions/printf_size.texi index 04cf05755..c4a393694 100644 --- a/doc/glibc-functions/printf_size.texi +++ b/doc/glibc-functions/printf_size.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/printf_size_info.texi b/doc/glibc-functions/printf_size_info.texi index 252337301..1c1d06de9 100644 --- a/doc/glibc-functions/printf_size_info.texi +++ b/doc/glibc-functions/printf_size_info.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/profil.texi b/doc/glibc-functions/profil.texi index 1e2b45929..8f430de54 100644 --- a/doc/glibc-functions/profil.texi +++ b/doc/glibc-functions/profil.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, AIX 5.1, Cygwin, mingw, Interix 3.5, BeOS. +Minix 3.1.8, AIX 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/program_invocation_name.texi b/doc/glibc-functions/program_invocation_name.texi index a2da84f61..c5140ac4a 100644 --- a/doc/glibc-functions/program_invocation_name.texi +++ b/doc/glibc-functions/program_invocation_name.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This variable is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/glibc-functions/program_invocation_short_name.texi b/doc/glibc-functions/program_invocation_short_name.texi index dda91e6ff..5bcfcaaa0 100644 --- a/doc/glibc-functions/program_invocation_short_name.texi +++ b/doc/glibc-functions/program_invocation_short_name.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This variable is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/glibc-functions/pthread_attr_getaffinity_np.texi b/doc/glibc-functions/pthread_attr_getaffinity_np.texi index eb8edda46..8c6a01424 100644 --- a/doc/glibc-functions/pthread_attr_getaffinity_np.texi +++ b/doc/glibc-functions/pthread_attr_getaffinity_np.texi @@ -12,7 +12,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -glibc 2.3.2, MacOS X 10.5, FreeBSD 6.4, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 7.1, HP-UX 11.31, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.3.2, MacOS X 10.5, FreeBSD 6.4, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 7.1, HP-UX 11.31, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item This function has a different signature on some platforms: glibc 2.3.3. diff --git a/doc/glibc-functions/pthread_attr_setaffinity_np.texi b/doc/glibc-functions/pthread_attr_setaffinity_np.texi index 33386bb0f..42128ab0e 100644 --- a/doc/glibc-functions/pthread_attr_setaffinity_np.texi +++ b/doc/glibc-functions/pthread_attr_setaffinity_np.texi @@ -12,7 +12,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -glibc 2.3.2, MacOS X 10.5, FreeBSD 6.4, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 7.1, HP-UX 11.31, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.3.2, MacOS X 10.5, FreeBSD 6.4, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 7.1, HP-UX 11.31, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item This function has a different signature on some platforms: glibc 2.3.3. diff --git a/doc/glibc-functions/pthread_getaffinity_np.texi b/doc/glibc-functions/pthread_getaffinity_np.texi index a659ad198..66ae1ab14 100644 --- a/doc/glibc-functions/pthread_getaffinity_np.texi +++ b/doc/glibc-functions/pthread_getaffinity_np.texi @@ -12,7 +12,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many non-glibc platforms: -glibc 2.3.2, MacOS X 10.5, FreeBSD 6.4, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 7.1, HP-UX 11.31, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.3.2, MacOS X 10.5, FreeBSD 6.4, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 7.1, HP-UX 11.31, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item This function has a different signature on some platforms: glibc 2.3.3. diff --git a/doc/glibc-functions/pthread_getattr_np.texi b/doc/glibc-functions/pthread_getattr_np.texi index 0dd2a2d08..fed921123 100644 --- a/doc/glibc-functions/pthread_getattr_np.texi +++ b/doc/glibc-functions/pthread_getattr_np.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/pthread_getname_np.texi b/doc/glibc-functions/pthread_getname_np.texi index e03f0e2f9..3a84f17ec 100644 --- a/doc/glibc-functions/pthread_getname_np.texi +++ b/doc/glibc-functions/pthread_getname_np.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many non-glibc platforms: -glibc 2.11, MacOS X 10.5, FreeBSD 6.4, OpenBSD 3.8, Minix 3.1.8, AIX 7.1, HP-UX 11.31, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.11, MacOS X 10.5, FreeBSD 6.4, OpenBSD 3.8, Minix 3.1.8, AIX 7.1, HP-UX 11.31, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/pthread_kill_other_threads_np.texi b/doc/glibc-functions/pthread_kill_other_threads_np.texi index 2736533bb..d95a26f84 100644 --- a/doc/glibc-functions/pthread_kill_other_threads_np.texi +++ b/doc/glibc-functions/pthread_kill_other_threads_np.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/pthread_mutex_consistent_np.texi b/doc/glibc-functions/pthread_mutex_consistent_np.texi index 6bf351e2c..45b27e0f7 100644 --- a/doc/glibc-functions/pthread_mutex_consistent_np.texi +++ b/doc/glibc-functions/pthread_mutex_consistent_np.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many non-glibc platforms: -glibc 2.3.6, MacOS X 10.5, FreeBSD 6.4, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 7.1, HP-UX 11.31, IRIX 6.5, OSF/1 5.1, Solaris 7, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.3.6, MacOS X 10.5, FreeBSD 6.4, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 7.1, HP-UX 11.31, IRIX 6.5, OSF/1 5.1, Solaris 7, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/pthread_mutexattr_getrobust_np.texi b/doc/glibc-functions/pthread_mutexattr_getrobust_np.texi index 42a23fad9..4238abdfa 100644 --- a/doc/glibc-functions/pthread_mutexattr_getrobust_np.texi +++ b/doc/glibc-functions/pthread_mutexattr_getrobust_np.texi @@ -12,7 +12,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many non-glibc platforms: -glibc 2.3.6, MacOS X 10.5, FreeBSD 6.4, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 7.1, HP-UX 11.31, IRIX 6.5, OSF/1 5.1, Solaris 7, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.3.6, MacOS X 10.5, FreeBSD 6.4, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 7.1, HP-UX 11.31, IRIX 6.5, OSF/1 5.1, Solaris 7, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize This function has now been standardized by POSIX under the name diff --git a/doc/glibc-functions/pthread_mutexattr_setrobust_np.texi b/doc/glibc-functions/pthread_mutexattr_setrobust_np.texi index 6a9431d00..8c0447736 100644 --- a/doc/glibc-functions/pthread_mutexattr_setrobust_np.texi +++ b/doc/glibc-functions/pthread_mutexattr_setrobust_np.texi @@ -12,7 +12,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many non-glibc platforms: -glibc 2.3.6, MacOS X 10.5, FreeBSD 6.4, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 7.1, HP-UX 11.31, IRIX 6.5, OSF/1 5.1, Solaris 7, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.3.6, MacOS X 10.5, FreeBSD 6.4, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 7.1, HP-UX 11.31, IRIX 6.5, OSF/1 5.1, Solaris 7, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize This function has now been standardized by POSIX under the name diff --git a/doc/glibc-functions/pthread_rwlockattr_getkind_np.texi b/doc/glibc-functions/pthread_rwlockattr_getkind_np.texi index 0c961a0ce..2f3dfdf8b 100644 --- a/doc/glibc-functions/pthread_rwlockattr_getkind_np.texi +++ b/doc/glibc-functions/pthread_rwlockattr_getkind_np.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/pthread_rwlockattr_setkind_np.texi b/doc/glibc-functions/pthread_rwlockattr_setkind_np.texi index a3bdaa116..f01de55cd 100644 --- a/doc/glibc-functions/pthread_rwlockattr_setkind_np.texi +++ b/doc/glibc-functions/pthread_rwlockattr_setkind_np.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/pthread_setaffinity_np.texi b/doc/glibc-functions/pthread_setaffinity_np.texi index 14b3a8241..9a31893d2 100644 --- a/doc/glibc-functions/pthread_setaffinity_np.texi +++ b/doc/glibc-functions/pthread_setaffinity_np.texi @@ -12,7 +12,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many non-glibc platforms: -glibc 2.3.2, MacOS X 10.5, FreeBSD 6.4, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 7.1, HP-UX 11.31, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.3.2, MacOS X 10.5, FreeBSD 6.4, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 7.1, HP-UX 11.31, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item This function has a different signature on some platforms: glibc 2.3.3. diff --git a/doc/glibc-functions/pthread_setname_np.texi b/doc/glibc-functions/pthread_setname_np.texi index 1046dc4a1..0b22c6ec6 100644 --- a/doc/glibc-functions/pthread_setname_np.texi +++ b/doc/glibc-functions/pthread_setname_np.texi @@ -12,7 +12,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many non-glibc platforms: -glibc 2.11, MacOS X 10.5, FreeBSD 6.4, OpenBSD 3.8, Minix 3.1.8, AIX 7.1, HP-UX 11.31, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.11, MacOS X 10.5, FreeBSD 6.4, OpenBSD 3.8, Minix 3.1.8, AIX 7.1, HP-UX 11.31, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item This function has a different signature on some platforms: NetBSD 5.0, OSF/1 5.1. diff --git a/doc/glibc-functions/pthread_sigqueue.texi b/doc/glibc-functions/pthread_sigqueue.texi index f03b3c497..a8b7fae2d 100644 --- a/doc/glibc-functions/pthread_sigqueue.texi +++ b/doc/glibc-functions/pthread_sigqueue.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -glibc 2.10, MacOS X 10.5, FreeBSD 6.4, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 7.1, HP-UX 11.31, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.10, MacOS X 10.5, FreeBSD 6.4, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 7.1, HP-UX 11.31, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/pthread_timedjoin_np.texi b/doc/glibc-functions/pthread_timedjoin_np.texi index bc00112e9..ce497c5ba 100644 --- a/doc/glibc-functions/pthread_timedjoin_np.texi +++ b/doc/glibc-functions/pthread_timedjoin_np.texi @@ -12,7 +12,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -glibc 2.3.2, MacOS X 10.5, FreeBSD 6.4, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 7.1, HP-UX 11.31, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.3.2, MacOS X 10.5, FreeBSD 6.4, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 7.1, HP-UX 11.31, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item FreeBSD 6.4 has a function of this name in @code{libthr} but not in @code{libpthread}, and it also is missing a declaration. diff --git a/doc/glibc-functions/pthread_tryjoin_np.texi b/doc/glibc-functions/pthread_tryjoin_np.texi index d4b49b5ac..25b6d9deb 100644 --- a/doc/glibc-functions/pthread_tryjoin_np.texi +++ b/doc/glibc-functions/pthread_tryjoin_np.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -glibc 2.3.2, MacOS X 10.5, FreeBSD 6.4, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 7.1, HP-UX 11.31, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.3.2, MacOS X 10.5, FreeBSD 6.4, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 7.1, HP-UX 11.31, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/pthread_yield.texi b/doc/glibc-functions/pthread_yield.texi index 23b0d35d0..00acf5ae5 100644 --- a/doc/glibc-functions/pthread_yield.texi +++ b/doc/glibc-functions/pthread_yield.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, NetBSD 5.0, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, NetBSD 5.0, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/ptrace.texi b/doc/glibc-functions/ptrace.texi index adab8a2b7..dbb4d785b 100644 --- a/doc/glibc-functions/ptrace.texi +++ b/doc/glibc-functions/ptrace.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -AIX 5.1, Cygwin, mingw, Interix 3.5, BeOS. +AIX 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/ptsname_r.texi b/doc/glibc-functions/ptsname_r.texi index ed07a25c3..e51e5238d 100644 --- a/doc/glibc-functions/ptsname_r.texi +++ b/doc/glibc-functions/ptsname_r.texi @@ -2,15 +2,24 @@ @subsection @code{ptsname_r} @findex ptsname_r -Gnulib module: --- +Gnulib module: ptsname_r Portability problems fixed by Gnulib: @itemize +@item +This function is missing on some platforms: +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, +AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin 1.7.9, mingw, +MSVC 9, BeOS. +@item +This function is not declared unless @code{_REENTRANT} is defined, +on some platforms: +OSF/1 5.1. +@item +This function has an incompatible declaration on some platforms: +OSF/1 5.1. @end itemize Portability problems not fixed by Gnulib: @itemize -@item -This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, BeOS. @end itemize diff --git a/doc/glibc-functions/putgrent.texi b/doc/glibc-functions/putgrent.texi index 460bee827..5b985da81 100644 --- a/doc/glibc-functions/putgrent.texi +++ b/doc/glibc-functions/putgrent.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/putpwent.texi b/doc/glibc-functions/putpwent.texi index 2ebdfed0d..bde6324e8 100644 --- a/doc/glibc-functions/putpwent.texi +++ b/doc/glibc-functions/putpwent.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/putsgent.texi b/doc/glibc-functions/putsgent.texi index 5cd6e3442..359ed8699 100644 --- a/doc/glibc-functions/putsgent.texi +++ b/doc/glibc-functions/putsgent.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -glibc 2.9, MacOS X 10.5, FreeBSD 6.4, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 7.1, HP-UX 11.31, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.9, MacOS X 10.5, FreeBSD 6.4, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 7.1, HP-UX 11.31, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/putspent.texi b/doc/glibc-functions/putspent.texi index 3882184cd..c5554fd36 100644 --- a/doc/glibc-functions/putspent.texi +++ b/doc/glibc-functions/putspent.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/pututline.texi b/doc/glibc-functions/pututline.texi index 13bca22cf..267ac897b 100644 --- a/doc/glibc-functions/pututline.texi +++ b/doc/glibc-functions/pututline.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/putwc_unlocked.texi b/doc/glibc-functions/putwc_unlocked.texi index 1eb777c6e..fba1a94d1 100644 --- a/doc/glibc-functions/putwc_unlocked.texi +++ b/doc/glibc-functions/putwc_unlocked.texi @@ -12,7 +12,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item On AIX and Windows platforms, @code{wchar_t} is a 16-bit type and therefore cannot accommodate all Unicode characters. diff --git a/doc/glibc-functions/putwchar_unlocked.texi b/doc/glibc-functions/putwchar_unlocked.texi index 1b33b0ecf..7697a1076 100644 --- a/doc/glibc-functions/putwchar_unlocked.texi +++ b/doc/glibc-functions/putwchar_unlocked.texi @@ -12,7 +12,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item On AIX and Windows platforms, @code{wchar_t} is a 16-bit type and therefore cannot accommodate all Unicode characters. diff --git a/doc/glibc-functions/pvalloc.texi b/doc/glibc-functions/pvalloc.texi index e1d9814e6..9a9797123 100644 --- a/doc/glibc-functions/pvalloc.texi +++ b/doc/glibc-functions/pvalloc.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/pwritev.texi b/doc/glibc-functions/pwritev.texi index 4bcf3c4fb..b330758d3 100644 --- a/doc/glibc-functions/pwritev.texi +++ b/doc/glibc-functions/pwritev.texi @@ -12,7 +12,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.9, MacOS X 10.5, FreeBSD 5.2.1, Minix 3.1.8, AIX 5.2, HP-UX 11.31, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.9, MacOS X 10.5, FreeBSD 5.2.1, Minix 3.1.8, AIX 5.2, HP-UX 11.31, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item On platforms where @code{off_t} is a 32-bit type, this function may not work correctly on files larger than 2 GB. The fix is to use the diff --git a/doc/glibc-functions/qecvt.texi b/doc/glibc-functions/qecvt.texi index 6a75d9b25..89070e8bc 100644 --- a/doc/glibc-functions/qecvt.texi +++ b/doc/glibc-functions/qecvt.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/qecvt_r.texi b/doc/glibc-functions/qecvt_r.texi index 2c0d7ba99..605cf56d0 100644 --- a/doc/glibc-functions/qecvt_r.texi +++ b/doc/glibc-functions/qecvt_r.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/qfcvt.texi b/doc/glibc-functions/qfcvt.texi index 8fcf781a8..7d641b857 100644 --- a/doc/glibc-functions/qfcvt.texi +++ b/doc/glibc-functions/qfcvt.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/qfcvt_r.texi b/doc/glibc-functions/qfcvt_r.texi index 151266705..f0d5da4c7 100644 --- a/doc/glibc-functions/qfcvt_r.texi +++ b/doc/glibc-functions/qfcvt_r.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/qgcvt.texi b/doc/glibc-functions/qgcvt.texi index cdd9faf05..33e16858e 100644 --- a/doc/glibc-functions/qgcvt.texi +++ b/doc/glibc-functions/qgcvt.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/qsort_r.texi b/doc/glibc-functions/qsort_r.texi index 070d55302..fdf9c1247 100644 --- a/doc/glibc-functions/qsort_r.texi +++ b/doc/glibc-functions/qsort_r.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.7, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 7.1, HP-UX 11.31, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.7, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 7.1, HP-UX 11.31, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/quick_exit.texi b/doc/glibc-functions/quick_exit.texi index 863f3be23..1978af052 100644 --- a/doc/glibc-functions/quick_exit.texi +++ b/doc/glibc-functions/quick_exit.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -glibc 2.9, MacOS X 10.5, FreeBSD 6.4, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 7.1, HP-UX 11.31, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.9, MacOS X 10.5, FreeBSD 6.4, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 7.1, HP-UX 11.31, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/quotactl.texi b/doc/glibc-functions/quotactl.texi index 79477c5b3..c643c6918 100644 --- a/doc/glibc-functions/quotactl.texi +++ b/doc/glibc-functions/quotactl.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, AIX 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +Minix 3.1.8, AIX 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/random_r.texi b/doc/glibc-functions/random_r.texi index f9d1caba9..ae946c26c 100644 --- a/doc/glibc-functions/random_r.texi +++ b/doc/glibc-functions/random_r.texi @@ -8,7 +8,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/glibc-functions/rawmemchr.texi b/doc/glibc-functions/rawmemchr.texi index 0c5e3a9a9..2c69f8c92 100644 --- a/doc/glibc-functions/rawmemchr.texi +++ b/doc/glibc-functions/rawmemchr.texi @@ -8,7 +8,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/glibc-functions/rcmd.texi b/doc/glibc-functions/rcmd.texi index be80f527f..f687a00dd 100644 --- a/doc/glibc-functions/rcmd.texi +++ b/doc/glibc-functions/rcmd.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw, BeOS. +mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/rcmd_af.texi b/doc/glibc-functions/rcmd_af.texi index 88d1f4952..683efc8c1 100644 --- a/doc/glibc-functions/rcmd_af.texi +++ b/doc/glibc-functions/rcmd_af.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, AIX 5.1, HP-UX 11.11, IRIX 6.5, OSF/1 4.0, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +Minix 3.1.8, AIX 5.1, HP-UX 11.11, IRIX 6.5, OSF/1 4.0, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/re_comp.texi b/doc/glibc-functions/re_comp.texi index 6318c6e41..8e276f66a 100644 --- a/doc/glibc-functions/re_comp.texi +++ b/doc/glibc-functions/re_comp.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, Cygwin, mingw, Interix 3.5. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, Cygwin, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/glibc-functions/re_compile_fastmap.texi b/doc/glibc-functions/re_compile_fastmap.texi index 2008e21cf..8f5ae7346 100644 --- a/doc/glibc-functions/re_compile_fastmap.texi +++ b/doc/glibc-functions/re_compile_fastmap.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/glibc-functions/re_compile_pattern.texi b/doc/glibc-functions/re_compile_pattern.texi index c119911ed..6df45bd7a 100644 --- a/doc/glibc-functions/re_compile_pattern.texi +++ b/doc/glibc-functions/re_compile_pattern.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/glibc-functions/re_exec.texi b/doc/glibc-functions/re_exec.texi index 94cfa512b..1a26d5859 100644 --- a/doc/glibc-functions/re_exec.texi +++ b/doc/glibc-functions/re_exec.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, Cygwin, mingw, Interix 3.5. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, Cygwin, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/glibc-functions/re_match.texi b/doc/glibc-functions/re_match.texi index 641074722..c22ad91fa 100644 --- a/doc/glibc-functions/re_match.texi +++ b/doc/glibc-functions/re_match.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/glibc-functions/re_match_2.texi b/doc/glibc-functions/re_match_2.texi index 17d84c272..86096350c 100644 --- a/doc/glibc-functions/re_match_2.texi +++ b/doc/glibc-functions/re_match_2.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/glibc-functions/re_search.texi b/doc/glibc-functions/re_search.texi index d86253df5..a90e5fb86 100644 --- a/doc/glibc-functions/re_search.texi +++ b/doc/glibc-functions/re_search.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/glibc-functions/re_search_2.texi b/doc/glibc-functions/re_search_2.texi index 9fee603ab..0a0bfe076 100644 --- a/doc/glibc-functions/re_search_2.texi +++ b/doc/glibc-functions/re_search_2.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/glibc-functions/re_set_registers.texi b/doc/glibc-functions/re_set_registers.texi index 3eff335ef..003912560 100644 --- a/doc/glibc-functions/re_set_registers.texi +++ b/doc/glibc-functions/re_set_registers.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/glibc-functions/re_set_syntax.texi b/doc/glibc-functions/re_set_syntax.texi index 1678175b7..a49a9e3d3 100644 --- a/doc/glibc-functions/re_set_syntax.texi +++ b/doc/glibc-functions/re_set_syntax.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/glibc-functions/re_syntax_options.texi b/doc/glibc-functions/re_syntax_options.texi index bddfe38fc..4c5e31326 100644 --- a/doc/glibc-functions/re_syntax_options.texi +++ b/doc/glibc-functions/re_syntax_options.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This variable is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/glibc-functions/readahead.texi b/doc/glibc-functions/readahead.texi index 33a6437e0..e841617a2 100644 --- a/doc/glibc-functions/readahead.texi +++ b/doc/glibc-functions/readahead.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/reboot.texi b/doc/glibc-functions/reboot.texi index 111e68230..963dc7dfc 100644 --- a/doc/glibc-functions/reboot.texi +++ b/doc/glibc-functions/reboot.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -AIX 5.1, Cygwin, mingw, Interix 3.5, BeOS. +AIX 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/register_printf_function.texi b/doc/glibc-functions/register_printf_function.texi index cbadaed97..b01585a19 100644 --- a/doc/glibc-functions/register_printf_function.texi +++ b/doc/glibc-functions/register_printf_function.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/register_printf_modifier.texi b/doc/glibc-functions/register_printf_modifier.texi index 836028f6a..7a198b315 100644 --- a/doc/glibc-functions/register_printf_modifier.texi +++ b/doc/glibc-functions/register_printf_modifier.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -glibc 2.9, MacOS X 10.5, FreeBSD 6.4, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 7.1, HP-UX 11.31, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.9, MacOS X 10.5, FreeBSD 6.4, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 7.1, HP-UX 11.31, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/register_printf_specifier.texi b/doc/glibc-functions/register_printf_specifier.texi index 0527a9469..c54875c8a 100644 --- a/doc/glibc-functions/register_printf_specifier.texi +++ b/doc/glibc-functions/register_printf_specifier.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -glibc 2.9, MacOS X 10.5, FreeBSD 6.4, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 7.1, HP-UX 11.31, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.9, MacOS X 10.5, FreeBSD 6.4, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 7.1, HP-UX 11.31, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/register_printf_type.texi b/doc/glibc-functions/register_printf_type.texi index cf6e7f8a9..0cb9f88fd 100644 --- a/doc/glibc-functions/register_printf_type.texi +++ b/doc/glibc-functions/register_printf_type.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -glibc 2.9, MacOS X 10.5, FreeBSD 6.4, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 7.1, HP-UX 11.31, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.9, MacOS X 10.5, FreeBSD 6.4, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 7.1, HP-UX 11.31, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/remap_file_pages.texi b/doc/glibc-functions/remap_file_pages.texi index fd614db42..3b3002af6 100644 --- a/doc/glibc-functions/remap_file_pages.texi +++ b/doc/glibc-functions/remap_file_pages.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/removexattr.texi b/doc/glibc-functions/removexattr.texi index 5929ca9a9..0d1450050 100644 --- a/doc/glibc-functions/removexattr.texi +++ b/doc/glibc-functions/removexattr.texi @@ -13,5 +13,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on many non-glibc platforms: MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/res_init.texi b/doc/glibc-functions/res_init.texi index 6a1bf8963..e03d5e24a 100644 --- a/doc/glibc-functions/res_init.texi +++ b/doc/glibc-functions/res_init.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Cygwin 1.5.x, mingw, Interix 3.5. +Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/glibc-functions/res_mkquery.texi b/doc/glibc-functions/res_mkquery.texi index 980e5b0fb..982e30392 100644 --- a/doc/glibc-functions/res_mkquery.texi +++ b/doc/glibc-functions/res_mkquery.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Cygwin 1.5.x, mingw, Interix 3.5. +Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/glibc-functions/res_query.texi b/doc/glibc-functions/res_query.texi index 8133d145c..65a3539c3 100644 --- a/doc/glibc-functions/res_query.texi +++ b/doc/glibc-functions/res_query.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Cygwin 1.5.x, mingw, Interix 3.5. +Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/glibc-functions/res_querydomain.texi b/doc/glibc-functions/res_querydomain.texi index 0184d19fc..f5e817928 100644 --- a/doc/glibc-functions/res_querydomain.texi +++ b/doc/glibc-functions/res_querydomain.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Cygwin 1.5.x, mingw, Interix 3.5. +Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/glibc-functions/res_search.texi b/doc/glibc-functions/res_search.texi index b17f6cf4f..106589ad6 100644 --- a/doc/glibc-functions/res_search.texi +++ b/doc/glibc-functions/res_search.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Cygwin 1.5.x, mingw, Interix 3.5. +Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/glibc-functions/revoke.texi b/doc/glibc-functions/revoke.texi index e080dbb83..21ae7d089 100644 --- a/doc/glibc-functions/revoke.texi +++ b/doc/glibc-functions/revoke.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, mingw, Interix 3.5, BeOS. +Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/rexec.texi b/doc/glibc-functions/rexec.texi index 162f8cd77..c5ff79186 100644 --- a/doc/glibc-functions/rexec.texi +++ b/doc/glibc-functions/rexec.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, mingw, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/rexec_af.texi b/doc/glibc-functions/rexec_af.texi index c82210180..0151df100 100644 --- a/doc/glibc-functions/rexec_af.texi +++ b/doc/glibc-functions/rexec_af.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11.11, IRIX 6.5, OSF/1 4.0, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11.11, IRIX 6.5, OSF/1 4.0, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/rpc_createerr.texi b/doc/glibc-functions/rpc_createerr.texi index 12ef59da4..d2a0f8855 100644 --- a/doc/glibc-functions/rpc_createerr.texi +++ b/doc/glibc-functions/rpc_createerr.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This variable is missing on some platforms: -Minix 3.1.8, AIX 5.1, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, BeOS. +Minix 3.1.8, AIX 5.1, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/rpmatch.texi b/doc/glibc-functions/rpmatch.texi index 3a75c42e2..e360da3d5 100644 --- a/doc/glibc-functions/rpmatch.texi +++ b/doc/glibc-functions/rpmatch.texi @@ -8,7 +8,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/glibc-functions/rresvport.texi b/doc/glibc-functions/rresvport.texi index 77b75f9dd..a2e001f46 100644 --- a/doc/glibc-functions/rresvport.texi +++ b/doc/glibc-functions/rresvport.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, mingw, BeOS. +Minix 3.1.8, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/rresvport_af.texi b/doc/glibc-functions/rresvport_af.texi index fd74cf5c4..7ab5d7d71 100644 --- a/doc/glibc-functions/rresvport_af.texi +++ b/doc/glibc-functions/rresvport_af.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, AIX 5.1, HP-UX 11.11, IRIX 6.5, OSF/1 4.0, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +Minix 3.1.8, AIX 5.1, HP-UX 11.11, IRIX 6.5, OSF/1 4.0, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/rtime.texi b/doc/glibc-functions/rtime.texi index 0af8a50c1..a630561fc 100644 --- a/doc/glibc-functions/rtime.texi +++ b/doc/glibc-functions/rtime.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/ruserok.texi b/doc/glibc-functions/ruserok.texi index 568e289e2..a5ea009f0 100644 --- a/doc/glibc-functions/ruserok.texi +++ b/doc/glibc-functions/ruserok.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, mingw, BeOS. +Minix 3.1.8, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/ruserok_af.texi b/doc/glibc-functions/ruserok_af.texi index 892d89dd3..a2f4860cf 100644 --- a/doc/glibc-functions/ruserok_af.texi +++ b/doc/glibc-functions/ruserok_af.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/sbrk.texi b/doc/glibc-functions/sbrk.texi index c97d8854a..6ed49d41b 100644 --- a/doc/glibc-functions/sbrk.texi +++ b/doc/glibc-functions/sbrk.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -AIX 5.1, mingw. +AIX 5.1, mingw, MSVC 9. @end itemize diff --git a/doc/glibc-functions/scalbf.texi b/doc/glibc-functions/scalbf.texi index f2127be1e..7fa69ac70 100644 --- a/doc/glibc-functions/scalbf.texi +++ b/doc/glibc-functions/scalbf.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, mingw. +MacOS X 10.5, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, mingw, MSVC 9. @end itemize diff --git a/doc/glibc-functions/scalbl.texi b/doc/glibc-functions/scalbl.texi index 40b61d024..cf15535f6 100644 --- a/doc/glibc-functions/scalbl.texi +++ b/doc/glibc-functions/scalbl.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/sched_getaffinity.texi b/doc/glibc-functions/sched_getaffinity.texi index 72145a9a5..35f687eef 100644 --- a/doc/glibc-functions/sched_getaffinity.texi +++ b/doc/glibc-functions/sched_getaffinity.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/sched_setaffinity.texi b/doc/glibc-functions/sched_setaffinity.texi index d1565eda7..045b54341 100644 --- a/doc/glibc-functions/sched_setaffinity.texi +++ b/doc/glibc-functions/sched_setaffinity.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/seed48_r.texi b/doc/glibc-functions/seed48_r.texi index f5ed38f89..0e00b545d 100644 --- a/doc/glibc-functions/seed48_r.texi +++ b/doc/glibc-functions/seed48_r.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/glibc-functions/semtimedop.texi b/doc/glibc-functions/semtimedop.texi index a949cb713..e537c76f6 100644 --- a/doc/glibc-functions/semtimedop.texi +++ b/doc/glibc-functions/semtimedop.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/sendfile.texi b/doc/glibc-functions/sendfile.texi index f43918bd7..df2d6661f 100644 --- a/doc/glibc-functions/sendfile.texi +++ b/doc/glibc-functions/sendfile.texi @@ -12,7 +12,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.4, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, IRIX 6.5, OSF/1 4.0, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.4, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, IRIX 6.5, OSF/1 4.0, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item On platforms where @code{off_t} is a 32-bit type, this function may not work correctly on files larger than 2 GB. The fix is to use the diff --git a/doc/glibc-functions/setaliasent.texi b/doc/glibc-functions/setaliasent.texi index 928f47e43..97e7a460c 100644 --- a/doc/glibc-functions/setaliasent.texi +++ b/doc/glibc-functions/setaliasent.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/setbuffer.texi b/doc/glibc-functions/setbuffer.texi index b47e14dcb..d89bb2cd3 100644 --- a/doc/glibc-functions/setbuffer.texi +++ b/doc/glibc-functions/setbuffer.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, HP-UX 11, mingw. +Minix 3.1.8, HP-UX 11, mingw, MSVC 9. @end itemize diff --git a/doc/glibc-functions/setdomainname.texi b/doc/glibc-functions/setdomainname.texi index 1f2a86101..33cddf8c4 100644 --- a/doc/glibc-functions/setdomainname.texi +++ b/doc/glibc-functions/setdomainname.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, AIX 5.1, Cygwin, mingw, Interix 3.5, BeOS. +Minix 3.1.8, AIX 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/setfsent.texi b/doc/glibc-functions/setfsent.texi index b33686821..137cacbb1 100644 --- a/doc/glibc-functions/setfsent.texi +++ b/doc/glibc-functions/setfsent.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +Minix 3.1.8, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/setfsgid.texi b/doc/glibc-functions/setfsgid.texi index 1168d4617..de8173804 100644 --- a/doc/glibc-functions/setfsgid.texi +++ b/doc/glibc-functions/setfsgid.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/setfsuid.texi b/doc/glibc-functions/setfsuid.texi index da38cda70..74c0802b1 100644 --- a/doc/glibc-functions/setfsuid.texi +++ b/doc/glibc-functions/setfsuid.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/setgroups.texi b/doc/glibc-functions/setgroups.texi index bcbd84157..f98d78d13 100644 --- a/doc/glibc-functions/setgroups.texi +++ b/doc/glibc-functions/setgroups.texi @@ -12,7 +12,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -AIX 5.1, mingw, Interix 3.5, BeOS. +AIX 5.1, mingw, MSVC 9, Interix 3.5, BeOS. @item On very old systems, this function operated on an array of @samp{int}, even though that was a different size than an array of @samp{gid_t}; diff --git a/doc/glibc-functions/sethostid.texi b/doc/glibc-functions/sethostid.texi index 28b01e7d1..bd5c19abc 100644 --- a/doc/glibc-functions/sethostid.texi +++ b/doc/glibc-functions/sethostid.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, AIX 5.1, HP-UX 11, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +Minix 3.1.8, AIX 5.1, HP-UX 11, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/sethostname.texi b/doc/glibc-functions/sethostname.texi index 40170f21a..75cc8ca66 100644 --- a/doc/glibc-functions/sethostname.texi +++ b/doc/glibc-functions/sethostname.texi @@ -12,5 +12,8 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, AIX 5.1, Cygwin, mingw, Interix 3.5, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. +@item +This function is not declared on some platforms: +AIX 7.1, OSF/1 5.1, Solaris 10. @end itemize diff --git a/doc/glibc-functions/setipv4sourcefilter.texi b/doc/glibc-functions/setipv4sourcefilter.texi index 199e33a96..4bfedca2e 100644 --- a/doc/glibc-functions/setipv4sourcefilter.texi +++ b/doc/glibc-functions/setipv4sourcefilter.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/setkey_r.texi b/doc/glibc-functions/setkey_r.texi index 96b156341..c2d573b9e 100644 --- a/doc/glibc-functions/setkey_r.texi +++ b/doc/glibc-functions/setkey_r.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/setlinebuf.texi b/doc/glibc-functions/setlinebuf.texi index 606046567..da52c5125 100644 --- a/doc/glibc-functions/setlinebuf.texi +++ b/doc/glibc-functions/setlinebuf.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, HP-UX 11.23, mingw. +Minix 3.1.8, HP-UX 11.23, mingw, MSVC 9. @end itemize diff --git a/doc/glibc-functions/setlogin.texi b/doc/glibc-functions/setlogin.texi index fb1eaf416..fb2f50caf 100644 --- a/doc/glibc-functions/setlogin.texi +++ b/doc/glibc-functions/setlogin.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/setmntent.texi b/doc/glibc-functions/setmntent.texi index 5f16ae3e9..38fba0e11 100644 --- a/doc/glibc-functions/setmntent.texi +++ b/doc/glibc-functions/setmntent.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 4.3.2, OSF/1 5.1, Solaris 11 2010-11, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 4.3.2, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/setnetgrent.texi b/doc/glibc-functions/setnetgrent.texi index e0ff29be4..c52160bbc 100644 --- a/doc/glibc-functions/setnetgrent.texi +++ b/doc/glibc-functions/setnetgrent.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, Interix 3.5, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/setresgid.texi b/doc/glibc-functions/setresgid.texi index 9c9b73fa7..e6ebd3274 100644 --- a/doc/glibc-functions/setresgid.texi +++ b/doc/glibc-functions/setresgid.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, NetBSD 5.0, Minix 3.1.8, AIX 5.1, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, NetBSD 5.0, Minix 3.1.8, AIX 5.1, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/setresuid.texi b/doc/glibc-functions/setresuid.texi index 4b6ed74af..eb08d0b5f 100644 --- a/doc/glibc-functions/setresuid.texi +++ b/doc/glibc-functions/setresuid.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, NetBSD 5.0, Minix 3.1.8, AIX 5.1, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, NetBSD 5.0, Minix 3.1.8, AIX 5.1, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/setrpcent.texi b/doc/glibc-functions/setrpcent.texi index 3b97b48d7..af2cb2576 100644 --- a/doc/glibc-functions/setrpcent.texi +++ b/doc/glibc-functions/setrpcent.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/setsgent.texi b/doc/glibc-functions/setsgent.texi index 7ae697f3f..877a77d1d 100644 --- a/doc/glibc-functions/setsgent.texi +++ b/doc/glibc-functions/setsgent.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -glibc 2.9, MacOS X 10.5, FreeBSD 6.4, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 7.1, HP-UX 11.31, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.9, MacOS X 10.5, FreeBSD 6.4, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 7.1, HP-UX 11.31, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/setsourcefilter.texi b/doc/glibc-functions/setsourcefilter.texi index 6e0f5da1e..f0de0a75c 100644 --- a/doc/glibc-functions/setsourcefilter.texi +++ b/doc/glibc-functions/setsourcefilter.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/setspent.texi b/doc/glibc-functions/setspent.texi index 5eb5de712..67eada90c 100644 --- a/doc/glibc-functions/setspent.texi +++ b/doc/glibc-functions/setspent.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/setstate_r.texi b/doc/glibc-functions/setstate_r.texi index a92184219..ad06933b9 100644 --- a/doc/glibc-functions/setstate_r.texi +++ b/doc/glibc-functions/setstate_r.texi @@ -8,7 +8,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/glibc-functions/settimeofday.texi b/doc/glibc-functions/settimeofday.texi index f78f6c8f6..e2d34c90e 100644 --- a/doc/glibc-functions/settimeofday.texi +++ b/doc/glibc-functions/settimeofday.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw, BeOS. +mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/setttyent.texi b/doc/glibc-functions/setttyent.texi index 5b31daf0e..7aaa2632c 100644 --- a/doc/glibc-functions/setttyent.texi +++ b/doc/glibc-functions/setttyent.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/setusershell.texi b/doc/glibc-functions/setusershell.texi index 21266fd18..6c0ff051e 100644 --- a/doc/glibc-functions/setusershell.texi +++ b/doc/glibc-functions/setusershell.texi @@ -8,7 +8,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, AIX 4.3.2, IRIX 6.5, mingw, Interix 3.5, BeOS. +Minix 3.1.8, AIX 4.3.2, IRIX 6.5, mingw, MSVC 9, Interix 3.5, BeOS. @item This function is missing a declaration on some platforms: Solaris 9. diff --git a/doc/glibc-functions/setutent.texi b/doc/glibc-functions/setutent.texi index 406aeeca1..bcf8bf5cb 100644 --- a/doc/glibc-functions/setutent.texi +++ b/doc/glibc-functions/setutent.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, OpenBSD 3.8, Minix 3.1.8, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, OpenBSD 3.8, Minix 3.1.8, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/setxattr.texi b/doc/glibc-functions/setxattr.texi index 34d5bc0df..2e29ff56c 100644 --- a/doc/glibc-functions/setxattr.texi +++ b/doc/glibc-functions/setxattr.texi @@ -13,5 +13,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on many non-glibc platforms: MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/sgetsgent.texi b/doc/glibc-functions/sgetsgent.texi index 89ee52071..d923500ae 100644 --- a/doc/glibc-functions/sgetsgent.texi +++ b/doc/glibc-functions/sgetsgent.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -glibc 2.9, MacOS X 10.5, FreeBSD 6.4, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 7.1, HP-UX 11.31, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.9, MacOS X 10.5, FreeBSD 6.4, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 7.1, HP-UX 11.31, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/sgetsgent_r.texi b/doc/glibc-functions/sgetsgent_r.texi index 268096391..89f28018d 100644 --- a/doc/glibc-functions/sgetsgent_r.texi +++ b/doc/glibc-functions/sgetsgent_r.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -glibc 2.9, MacOS X 10.5, FreeBSD 6.4, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 7.1, HP-UX 11.31, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.9, MacOS X 10.5, FreeBSD 6.4, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 7.1, HP-UX 11.31, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/sgetspent.texi b/doc/glibc-functions/sgetspent.texi index ff34e1ace..b0e0ced95 100644 --- a/doc/glibc-functions/sgetspent.texi +++ b/doc/glibc-functions/sgetspent.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/sgetspent_r.texi b/doc/glibc-functions/sgetspent_r.texi index 9f8428d57..2438dee0c 100644 --- a/doc/glibc-functions/sgetspent_r.texi +++ b/doc/glibc-functions/sgetspent_r.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/sigandset.texi b/doc/glibc-functions/sigandset.texi index 955e1ab20..0b122a0e6 100644 --- a/doc/glibc-functions/sigandset.texi +++ b/doc/glibc-functions/sigandset.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/sigblock.texi b/doc/glibc-functions/sigblock.texi index 8dde917eb..89e3f2cd9 100644 --- a/doc/glibc-functions/sigblock.texi +++ b/doc/glibc-functions/sigblock.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Solaris 11 2010-11, Cygwin, mingw, BeOS. +Minix 3.1.8, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/siggetmask.texi b/doc/glibc-functions/siggetmask.texi index bfc1cf61c..e33e7089e 100644 --- a/doc/glibc-functions/siggetmask.texi +++ b/doc/glibc-functions/siggetmask.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 4.3.2, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 4.3.2, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/sigisemptyset.texi b/doc/glibc-functions/sigisemptyset.texi index dffd9d2b0..ec1f4661e 100644 --- a/doc/glibc-functions/sigisemptyset.texi +++ b/doc/glibc-functions/sigisemptyset.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/significand.texi b/doc/glibc-functions/significand.texi index e7a8912ba..01f316db6 100644 --- a/doc/glibc-functions/significand.texi +++ b/doc/glibc-functions/significand.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, mingw. +Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, mingw, MSVC 9. @end itemize diff --git a/doc/glibc-functions/significandf.texi b/doc/glibc-functions/significandf.texi index cda1f73ae..555bf26a5 100644 --- a/doc/glibc-functions/significandf.texi +++ b/doc/glibc-functions/significandf.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, mingw. +MacOS X 10.5, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, mingw, MSVC 9. @end itemize diff --git a/doc/glibc-functions/significandl.texi b/doc/glibc-functions/significandl.texi index 78cf689cf..6e2549898 100644 --- a/doc/glibc-functions/significandl.texi +++ b/doc/glibc-functions/significandl.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/sigorset.texi b/doc/glibc-functions/sigorset.texi index 3d8caca24..698bb6ad7 100644 --- a/doc/glibc-functions/sigorset.texi +++ b/doc/glibc-functions/sigorset.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/sigreturn.texi b/doc/glibc-functions/sigreturn.texi index 40c4185d9..df9f6596a 100644 --- a/doc/glibc-functions/sigreturn.texi +++ b/doc/glibc-functions/sigreturn.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/sigsetmask.texi b/doc/glibc-functions/sigsetmask.texi index f942461af..b60c0a665 100644 --- a/doc/glibc-functions/sigsetmask.texi +++ b/doc/glibc-functions/sigsetmask.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Solaris 11 2010-11, Cygwin, mingw, BeOS. +Minix 3.1.8, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/sigstack.texi b/doc/glibc-functions/sigstack.texi index 9c6c584c4..8add2995f 100644 --- a/doc/glibc-functions/sigstack.texi +++ b/doc/glibc-functions/sigstack.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/sigvec.texi b/doc/glibc-functions/sigvec.texi index 16fce7a66..ccdc8c733 100644 --- a/doc/glibc-functions/sigvec.texi +++ b/doc/glibc-functions/sigvec.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, HP-UX 11, Solaris 11 2010-11, Cygwin, mingw, BeOS. +Minix 3.1.8, HP-UX 11, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/sincos.texi b/doc/glibc-functions/sincos.texi index dbeb5f0af..ca4684a5d 100644 --- a/doc/glibc-functions/sincos.texi +++ b/doc/glibc-functions/sincos.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, mingw, Interix 3.5. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/glibc-functions/sincosf.texi b/doc/glibc-functions/sincosf.texi index e3b9f8bc0..2d70d5691 100644 --- a/doc/glibc-functions/sincosf.texi +++ b/doc/glibc-functions/sincosf.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, mingw, Interix 3.5. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/glibc-functions/sincosl.texi b/doc/glibc-functions/sincosl.texi index c9c986022..145f34ab5 100644 --- a/doc/glibc-functions/sincosl.texi +++ b/doc/glibc-functions/sincosl.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/sprofil.texi b/doc/glibc-functions/sprofil.texi index 7aa28561d..920b13546 100644 --- a/doc/glibc-functions/sprofil.texi +++ b/doc/glibc-functions/sprofil.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11.11, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11.11, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/srand48_r.texi b/doc/glibc-functions/srand48_r.texi index 4eecc28a3..550a97cd0 100644 --- a/doc/glibc-functions/srand48_r.texi +++ b/doc/glibc-functions/srand48_r.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/glibc-functions/srandom_r.texi b/doc/glibc-functions/srandom_r.texi index 41aaede9c..1afb64f0f 100644 --- a/doc/glibc-functions/srandom_r.texi +++ b/doc/glibc-functions/srandom_r.texi @@ -8,7 +8,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/glibc-functions/ssignal.texi b/doc/glibc-functions/ssignal.texi index 8e4079c30..4f66add14 100644 --- a/doc/glibc-functions/ssignal.texi +++ b/doc/glibc-functions/ssignal.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, Cygwin, mingw, Interix 3.5. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, Cygwin, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/glibc-functions/statfs.texi b/doc/glibc-functions/statfs.texi index dc475955b..252ef9d2e 100644 --- a/doc/glibc-functions/statfs.texi +++ b/doc/glibc-functions/statfs.texi @@ -12,7 +12,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, AIX 5.1, mingw, Interix 3.5, BeOS. +Minix 3.1.8, AIX 5.1, mingw, MSVC 9, Interix 3.5, BeOS. @item On platforms where @code{f_blocks} in @samp{struct statfs} is a 32-bit value, this function may not work correctly on files systems larger than diff --git a/doc/glibc-functions/step.texi b/doc/glibc-functions/step.texi index e0d4bd4da..a3353bb74 100644 --- a/doc/glibc-functions/step.texi +++ b/doc/glibc-functions/step.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/stime.texi b/doc/glibc-functions/stime.texi index 71dc66376..32739fcba 100644 --- a/doc/glibc-functions/stime.texi +++ b/doc/glibc-functions/stime.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Cygwin, mingw, Interix 3.5. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Cygwin, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/glibc-functions/strcasestr.texi b/doc/glibc-functions/strcasestr.texi index a27014ae6..b13cd1bb3 100644 --- a/doc/glibc-functions/strcasestr.texi +++ b/doc/glibc-functions/strcasestr.texi @@ -10,7 +10,7 @@ or @code{strcasestr}: @item This function is missing on some platforms: AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.5.x, -mingw, BeOS. +mingw, MSVC 9, BeOS. @item This function can trigger memchr bugs on some platforms: diff --git a/doc/glibc-functions/strchrnul.texi b/doc/glibc-functions/strchrnul.texi index c59e586dc..b273b87a1 100644 --- a/doc/glibc-functions/strchrnul.texi +++ b/doc/glibc-functions/strchrnul.texi @@ -9,7 +9,7 @@ Portability problems fixed by Gnulib: @item This function is missing on many non-glibc platforms: MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.7.8, mingw, Interix 3.5, +IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.7.8, mingw, MSVC 9, Interix 3.5, BeOS. @item This function crashes when no occurrence is found on some platforms: diff --git a/doc/glibc-functions/strfry.texi b/doc/glibc-functions/strfry.texi index e0a50818c..e5fcd4da7 100644 --- a/doc/glibc-functions/strfry.texi +++ b/doc/glibc-functions/strfry.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/strptime_l.texi b/doc/glibc-functions/strptime_l.texi index eb874abe4..eb13d996d 100644 --- a/doc/glibc-functions/strptime_l.texi +++ b/doc/glibc-functions/strptime_l.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/strsep.texi b/doc/glibc-functions/strsep.texi index e49ae5ddb..2b3311d07 100644 --- a/doc/glibc-functions/strsep.texi +++ b/doc/glibc-functions/strsep.texi @@ -8,7 +8,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -AIX 4.3.2, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, BeOS. +AIX 4.3.2, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, MSVC 9, BeOS. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/glibc-functions/strtod_l.texi b/doc/glibc-functions/strtod_l.texi index 95c27682f..7512abf4a 100644 --- a/doc/glibc-functions/strtod_l.texi +++ b/doc/glibc-functions/strtod_l.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/strtof_l.texi b/doc/glibc-functions/strtof_l.texi index 1f0fd2018..983218d5f 100644 --- a/doc/glibc-functions/strtof_l.texi +++ b/doc/glibc-functions/strtof_l.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/strtol_l.texi b/doc/glibc-functions/strtol_l.texi index 40509fb67..ad8b8f68c 100644 --- a/doc/glibc-functions/strtol_l.texi +++ b/doc/glibc-functions/strtol_l.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/strtold_l.texi b/doc/glibc-functions/strtold_l.texi index 92f0ce134..39a526c05 100644 --- a/doc/glibc-functions/strtold_l.texi +++ b/doc/glibc-functions/strtold_l.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/strtoll_l.texi b/doc/glibc-functions/strtoll_l.texi index 8febef2b0..14a6dd3b4 100644 --- a/doc/glibc-functions/strtoll_l.texi +++ b/doc/glibc-functions/strtoll_l.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/strtoq.texi b/doc/glibc-functions/strtoq.texi index 1e331c2fd..3c125a8d3 100644 --- a/doc/glibc-functions/strtoq.texi +++ b/doc/glibc-functions/strtoq.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw. +Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9. @end itemize diff --git a/doc/glibc-functions/strtoul_l.texi b/doc/glibc-functions/strtoul_l.texi index 1de20f0e7..13d77c08a 100644 --- a/doc/glibc-functions/strtoul_l.texi +++ b/doc/glibc-functions/strtoul_l.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/strtoull_l.texi b/doc/glibc-functions/strtoull_l.texi index 6e09584c8..f75a6694b 100644 --- a/doc/glibc-functions/strtoull_l.texi +++ b/doc/glibc-functions/strtoull_l.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/strtouq.texi b/doc/glibc-functions/strtouq.texi index 9bab16d89..d65246f23 100644 --- a/doc/glibc-functions/strtouq.texi +++ b/doc/glibc-functions/strtouq.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw. +Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9. @end itemize diff --git a/doc/glibc-functions/strverscmp.texi b/doc/glibc-functions/strverscmp.texi index 3f86715cf..679995f32 100644 --- a/doc/glibc-functions/strverscmp.texi +++ b/doc/glibc-functions/strverscmp.texi @@ -8,7 +8,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/glibc-functions/svc_exit.texi b/doc/glibc-functions/svc_exit.texi index 017cf90e1..fe88cbf67 100644 --- a/doc/glibc-functions/svc_exit.texi +++ b/doc/glibc-functions/svc_exit.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/svc_fdset.texi b/doc/glibc-functions/svc_fdset.texi index a58a46b74..964dfe390 100644 --- a/doc/glibc-functions/svc_fdset.texi +++ b/doc/glibc-functions/svc_fdset.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This variable is missing on some platforms: -Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, BeOS. +Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/svc_getreq.texi b/doc/glibc-functions/svc_getreq.texi index b045f2591..9604c080c 100644 --- a/doc/glibc-functions/svc_getreq.texi +++ b/doc/glibc-functions/svc_getreq.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/svc_getreq_common.texi b/doc/glibc-functions/svc_getreq_common.texi index af76b85aa..ade56ec49 100644 --- a/doc/glibc-functions/svc_getreq_common.texi +++ b/doc/glibc-functions/svc_getreq_common.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, Minix 3.1.8, AIX 5.1, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, Minix 3.1.8, AIX 5.1, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/svc_getreq_poll.texi b/doc/glibc-functions/svc_getreq_poll.texi index 66c4f9628..5f9e2aab4 100644 --- a/doc/glibc-functions/svc_getreq_poll.texi +++ b/doc/glibc-functions/svc_getreq_poll.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/svc_getreqset.texi b/doc/glibc-functions/svc_getreqset.texi index 3367d9716..5017ca8d2 100644 --- a/doc/glibc-functions/svc_getreqset.texi +++ b/doc/glibc-functions/svc_getreqset.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/svc_max_pollfd.texi b/doc/glibc-functions/svc_max_pollfd.texi index ed8d90e30..19809e11e 100644 --- a/doc/glibc-functions/svc_max_pollfd.texi +++ b/doc/glibc-functions/svc_max_pollfd.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This variable is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/svc_pollfd.texi b/doc/glibc-functions/svc_pollfd.texi index 5dcd0da2d..a3c95a2c3 100644 --- a/doc/glibc-functions/svc_pollfd.texi +++ b/doc/glibc-functions/svc_pollfd.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This variable is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/svc_register.texi b/doc/glibc-functions/svc_register.texi index 620efda15..1e5ba8db7 100644 --- a/doc/glibc-functions/svc_register.texi +++ b/doc/glibc-functions/svc_register.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/svc_run.texi b/doc/glibc-functions/svc_run.texi index 1d3712774..d38c0aebc 100644 --- a/doc/glibc-functions/svc_run.texi +++ b/doc/glibc-functions/svc_run.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/svc_sendreply.texi b/doc/glibc-functions/svc_sendreply.texi index 6cabaffcb..1c2562311 100644 --- a/doc/glibc-functions/svc_sendreply.texi +++ b/doc/glibc-functions/svc_sendreply.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/svc_unregister.texi b/doc/glibc-functions/svc_unregister.texi index 871dec63c..ae5d98425 100644 --- a/doc/glibc-functions/svc_unregister.texi +++ b/doc/glibc-functions/svc_unregister.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/svcerr_auth.texi b/doc/glibc-functions/svcerr_auth.texi index f2e5331c1..4638c4c40 100644 --- a/doc/glibc-functions/svcerr_auth.texi +++ b/doc/glibc-functions/svcerr_auth.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/svcerr_decode.texi b/doc/glibc-functions/svcerr_decode.texi index 394b1c2e6..f9915c2b3 100644 --- a/doc/glibc-functions/svcerr_decode.texi +++ b/doc/glibc-functions/svcerr_decode.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/svcerr_noproc.texi b/doc/glibc-functions/svcerr_noproc.texi index 6c6a6e6c0..f3eb057df 100644 --- a/doc/glibc-functions/svcerr_noproc.texi +++ b/doc/glibc-functions/svcerr_noproc.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/svcerr_noprog.texi b/doc/glibc-functions/svcerr_noprog.texi index 0a01a5543..b38f5ae1b 100644 --- a/doc/glibc-functions/svcerr_noprog.texi +++ b/doc/glibc-functions/svcerr_noprog.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/svcerr_progvers.texi b/doc/glibc-functions/svcerr_progvers.texi index 9026041ec..5132ce0c1 100644 --- a/doc/glibc-functions/svcerr_progvers.texi +++ b/doc/glibc-functions/svcerr_progvers.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/svcerr_systemerr.texi b/doc/glibc-functions/svcerr_systemerr.texi index 906f4dfb1..dff691d53 100644 --- a/doc/glibc-functions/svcerr_systemerr.texi +++ b/doc/glibc-functions/svcerr_systemerr.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/svcerr_weakauth.texi b/doc/glibc-functions/svcerr_weakauth.texi index 19146d94e..191ce79a3 100644 --- a/doc/glibc-functions/svcerr_weakauth.texi +++ b/doc/glibc-functions/svcerr_weakauth.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/svcraw_create.texi b/doc/glibc-functions/svcraw_create.texi index f84b2f2ea..c0f16feb8 100644 --- a/doc/glibc-functions/svcraw_create.texi +++ b/doc/glibc-functions/svcraw_create.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/svctcp_create.texi b/doc/glibc-functions/svctcp_create.texi index 0a2ada73d..9125f5aea 100644 --- a/doc/glibc-functions/svctcp_create.texi +++ b/doc/glibc-functions/svctcp_create.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/svcudp_bufcreate.texi b/doc/glibc-functions/svcudp_bufcreate.texi index 77ee8ff0f..82f95f53b 100644 --- a/doc/glibc-functions/svcudp_bufcreate.texi +++ b/doc/glibc-functions/svcudp_bufcreate.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/svcudp_create.texi b/doc/glibc-functions/svcudp_create.texi index 428b915d2..8949a7295 100644 --- a/doc/glibc-functions/svcudp_create.texi +++ b/doc/glibc-functions/svcudp_create.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/svcunix_create.texi b/doc/glibc-functions/svcunix_create.texi index a9c31fe9c..99a49aeed 100644 --- a/doc/glibc-functions/svcunix_create.texi +++ b/doc/glibc-functions/svcunix_create.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/swapoff.texi b/doc/glibc-functions/swapoff.texi index 0cd2190d5..30074df8a 100644 --- a/doc/glibc-functions/swapoff.texi +++ b/doc/glibc-functions/swapoff.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/swapon.texi b/doc/glibc-functions/swapon.texi index ad7b6918c..5a8cc65ee 100644 --- a/doc/glibc-functions/swapon.texi +++ b/doc/glibc-functions/swapon.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -OpenBSD 3.8, Minix 3.1.8, AIX 5.1, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +OpenBSD 3.8, Minix 3.1.8, AIX 5.1, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/syncfs.texi b/doc/glibc-functions/syncfs.texi index d617474de..1d8572d94 100644 --- a/doc/glibc-functions/syncfs.texi +++ b/doc/glibc-functions/syncfs.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -glibc 2.13, MacOS X 10.5, FreeBSD 6.4, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 7.1, HP-UX 11.31, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.13, MacOS X 10.5, FreeBSD 6.4, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 7.1, HP-UX 11.31, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/sys_siglist.texi b/doc/glibc-functions/sys_siglist.texi index 5f8ae63b9..9ff7dd1a5 100644 --- a/doc/glibc-functions/sys_siglist.texi +++ b/doc/glibc-functions/sys_siglist.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This constant is missing on some platforms: -MacOS X 10.5, Minix 3.1.8, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5. +MacOS X 10.5, Minix 3.1.8, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/glibc-functions/syscall.texi b/doc/glibc-functions/syscall.texi index fc8b0712c..adfd914c2 100644 --- a/doc/glibc-functions/syscall.texi +++ b/doc/glibc-functions/syscall.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, AIX 5.1, Cygwin, mingw, BeOS. +Minix 3.1.8, AIX 5.1, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/sysctl.texi b/doc/glibc-functions/sysctl.texi index 0025b308b..79a5a6082 100644 --- a/doc/glibc-functions/sysctl.texi +++ b/doc/glibc-functions/sysctl.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 5.3, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 5.3, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/sysinfo.texi b/doc/glibc-functions/sysinfo.texi index 31cad47cb..abe5a9fa7 100644 --- a/doc/glibc-functions/sysinfo.texi +++ b/doc/glibc-functions/sysinfo.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/sysv_signal.texi b/doc/glibc-functions/sysv_signal.texi index d117bb009..f55c6e40f 100644 --- a/doc/glibc-functions/sysv_signal.texi +++ b/doc/glibc-functions/sysv_signal.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/glibc-functions/tdestroy.texi b/doc/glibc-functions/tdestroy.texi index f52a24e66..c35edc718 100644 --- a/doc/glibc-functions/tdestroy.texi +++ b/doc/glibc-functions/tdestroy.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/textdomain.texi b/doc/glibc-functions/textdomain.texi index 1153ee7c4..8e8fe75ec 100644 --- a/doc/glibc-functions/textdomain.texi +++ b/doc/glibc-functions/textdomain.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, OpenBSD 3.8, Minix 3.1.8, AIX 4.3.2, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, OpenBSD 3.8, Minix 3.1.8, AIX 4.3.2, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/timegm.texi b/doc/glibc-functions/timegm.texi index a4bdd07a1..f166f7bc1 100644 --- a/doc/glibc-functions/timegm.texi +++ b/doc/glibc-functions/timegm.texi @@ -8,7 +8,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, Interix 3.5, BeOS. +AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/glibc-functions/timelocal.texi b/doc/glibc-functions/timelocal.texi index eb39a94a5..4809866f6 100644 --- a/doc/glibc-functions/timelocal.texi +++ b/doc/glibc-functions/timelocal.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, Interix 3.5. +AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/glibc-functions/tmpnam_r.texi b/doc/glibc-functions/tmpnam_r.texi index f4eecd048..312913a8d 100644 --- a/doc/glibc-functions/tmpnam_r.texi +++ b/doc/glibc-functions/tmpnam_r.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/ttyslot.texi b/doc/glibc-functions/ttyslot.texi index 3b125ca60..637ebbf86 100644 --- a/doc/glibc-functions/ttyslot.texi +++ b/doc/glibc-functions/ttyslot.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw, BeOS. +mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/ulckpwdf.texi b/doc/glibc-functions/ulckpwdf.texi index ca322bac9..48c60ad50 100644 --- a/doc/glibc-functions/ulckpwdf.texi +++ b/doc/glibc-functions/ulckpwdf.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/umount.texi b/doc/glibc-functions/umount.texi index 687a96064..c71004ffc 100644 --- a/doc/glibc-functions/umount.texi +++ b/doc/glibc-functions/umount.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, AIX 5.1, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, AIX 5.1, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/umount2.texi b/doc/glibc-functions/umount2.texi index 78149ae8e..333a90e3d 100644 --- a/doc/glibc-functions/umount2.texi +++ b/doc/glibc-functions/umount2.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/updwtmp.texi b/doc/glibc-functions/updwtmp.texi index 983430410..55f381eaf 100644 --- a/doc/glibc-functions/updwtmp.texi +++ b/doc/glibc-functions/updwtmp.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 4.3.2, HP-UX 11, OSF/1 5.1, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 4.3.2, HP-UX 11, OSF/1 5.1, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/updwtmpx.texi b/doc/glibc-functions/updwtmpx.texi index 9322abc0c..a5124b98f 100644 --- a/doc/glibc-functions/updwtmpx.texi +++ b/doc/glibc-functions/updwtmpx.texi @@ -13,5 +13,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: MacOS X 10.5, FreeBSD 6.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, OSF/1 5.1, -Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/user2netname.texi b/doc/glibc-functions/user2netname.texi index f185b45d2..533efe330 100644 --- a/doc/glibc-functions/user2netname.texi +++ b/doc/glibc-functions/user2netname.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/ustat.texi b/doc/glibc-functions/ustat.texi index da022c739..da0461d7b 100644 --- a/doc/glibc-functions/ustat.texi +++ b/doc/glibc-functions/ustat.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/utmpname.texi b/doc/glibc-functions/utmpname.texi index 8cb033d8c..0aba8baf2 100644 --- a/doc/glibc-functions/utmpname.texi +++ b/doc/glibc-functions/utmpname.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, OpenBSD 3.8, Minix 3.1.8, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, OpenBSD 3.8, Minix 3.1.8, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/utmpxname.texi b/doc/glibc-functions/utmpxname.texi index ec018b5c3..ca26a1eff 100644 --- a/doc/glibc-functions/utmpxname.texi +++ b/doc/glibc-functions/utmpxname.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.4, FreeBSD 6.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, OSF/1 5.1, mingw, Interix 3.5, BeOS. +MacOS X 10.4, FreeBSD 6.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, OSF/1 5.1, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/valloc.texi b/doc/glibc-functions/valloc.texi index 46dd9aede..a51d0fadf 100644 --- a/doc/glibc-functions/valloc.texi +++ b/doc/glibc-functions/valloc.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, mingw, Interix 3.5. +Minix 3.1.8, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/glibc-functions/vasprintf.texi b/doc/glibc-functions/vasprintf.texi index 69f733a54..52295d7fc 100644 --- a/doc/glibc-functions/vasprintf.texi +++ b/doc/glibc-functions/vasprintf.texi @@ -8,7 +8,7 @@ Portability problems fixed by either Gnulib module @code{vasprintf} or @code{vas @itemize @item This function is missing on some platforms: -AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, Interix 3.5. +AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, MSVC 9, Interix 3.5. @end itemize Portability problems fixed by Gnulib module @code{vasprintf-posix}: diff --git a/doc/glibc-functions/verr.texi b/doc/glibc-functions/verr.texi index 29d62ea9f..5743855a6 100644 --- a/doc/glibc-functions/verr.texi +++ b/doc/glibc-functions/verr.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, BeOS. +AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/verrx.texi b/doc/glibc-functions/verrx.texi index 8720ba576..34bb9e722 100644 --- a/doc/glibc-functions/verrx.texi +++ b/doc/glibc-functions/verrx.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, BeOS. +AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/versionsort.texi b/doc/glibc-functions/versionsort.texi index 63bc49285..acfdaa6f8 100644 --- a/doc/glibc-functions/versionsort.texi +++ b/doc/glibc-functions/versionsort.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/vhangup.texi b/doc/glibc-functions/vhangup.texi index 0d9728e85..764adaac2 100644 --- a/doc/glibc-functions/vhangup.texi +++ b/doc/glibc-functions/vhangup.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, OSF/1 5.1, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, OSF/1 5.1, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/vlimit.texi b/doc/glibc-functions/vlimit.texi index 69a73222d..08dfe45d9 100644 --- a/doc/glibc-functions/vlimit.texi +++ b/doc/glibc-functions/vlimit.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/vm86.texi b/doc/glibc-functions/vm86.texi index 3b28f00da..66ecdda15 100644 --- a/doc/glibc-functions/vm86.texi +++ b/doc/glibc-functions/vm86.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/vsyslog.texi b/doc/glibc-functions/vsyslog.texi index 5b5c1817f..fa96989b9 100644 --- a/doc/glibc-functions/vsyslog.texi +++ b/doc/glibc-functions/vsyslog.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, AIX 5.1, HP-UX 11, OSF/1 5.1, mingw, BeOS. +Minix 3.1.8, AIX 5.1, HP-UX 11, OSF/1 5.1, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/vtimes.texi b/doc/glibc-functions/vtimes.texi index 67288edba..66804c5ca 100644 --- a/doc/glibc-functions/vtimes.texi +++ b/doc/glibc-functions/vtimes.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/vwarn.texi b/doc/glibc-functions/vwarn.texi index 0ffc761fb..45cedcbca 100644 --- a/doc/glibc-functions/vwarn.texi +++ b/doc/glibc-functions/vwarn.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, BeOS. +AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/vwarnx.texi b/doc/glibc-functions/vwarnx.texi index 8561c6d22..5a6d824b4 100644 --- a/doc/glibc-functions/vwarnx.texi +++ b/doc/glibc-functions/vwarnx.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, BeOS. +AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/wait3.texi b/doc/glibc-functions/wait3.texi index 0442b396d..f9bc42978 100644 --- a/doc/glibc-functions/wait3.texi +++ b/doc/glibc-functions/wait3.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, mingw, Interix 3.5, BeOS. +Minix 3.1.8, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/wait4.texi b/doc/glibc-functions/wait4.texi index 646632d37..6f35f4b0a 100644 --- a/doc/glibc-functions/wait4.texi +++ b/doc/glibc-functions/wait4.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, AIX 4.3.2, HP-UX 11.11, IRIX 6.5, mingw, Interix 3.5, BeOS. +Minix 3.1.8, AIX 4.3.2, HP-UX 11.11, IRIX 6.5, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/warn.texi b/doc/glibc-functions/warn.texi index 93266b1e4..a8508c1fe 100644 --- a/doc/glibc-functions/warn.texi +++ b/doc/glibc-functions/warn.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, BeOS. +AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/warnx.texi b/doc/glibc-functions/warnx.texi index 441f7ea02..3e1d63eb6 100644 --- a/doc/glibc-functions/warnx.texi +++ b/doc/glibc-functions/warnx.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, BeOS. +AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/wcschrnul.texi b/doc/glibc-functions/wcschrnul.texi index 987a8ca49..2ccfa0948 100644 --- a/doc/glibc-functions/wcschrnul.texi +++ b/doc/glibc-functions/wcschrnul.texi @@ -12,7 +12,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item On AIX and Windows platforms, @code{wchar_t} is a 16-bit type and therefore cannot accommodate all Unicode characters. diff --git a/doc/glibc-functions/wcsftime_l.texi b/doc/glibc-functions/wcsftime_l.texi index 9b33fb5f0..3e449bc00 100644 --- a/doc/glibc-functions/wcsftime_l.texi +++ b/doc/glibc-functions/wcsftime_l.texi @@ -12,7 +12,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item On AIX and Windows platforms, @code{wchar_t} is a 16-bit type and therefore cannot accommodate all Unicode characters. diff --git a/doc/glibc-functions/wcstod_l.texi b/doc/glibc-functions/wcstod_l.texi index 6af09aff3..9bb254d92 100644 --- a/doc/glibc-functions/wcstod_l.texi +++ b/doc/glibc-functions/wcstod_l.texi @@ -12,7 +12,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item On AIX and Windows platforms, @code{wchar_t} is a 16-bit type and therefore cannot accommodate all Unicode characters. diff --git a/doc/glibc-functions/wcstof_l.texi b/doc/glibc-functions/wcstof_l.texi index 34d41f77c..dcbb1fc1c 100644 --- a/doc/glibc-functions/wcstof_l.texi +++ b/doc/glibc-functions/wcstof_l.texi @@ -12,7 +12,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item On AIX and Windows platforms, @code{wchar_t} is a 16-bit type and therefore cannot accommodate all Unicode characters. diff --git a/doc/glibc-functions/wcstol_l.texi b/doc/glibc-functions/wcstol_l.texi index f8e2d8048..05d799822 100644 --- a/doc/glibc-functions/wcstol_l.texi +++ b/doc/glibc-functions/wcstol_l.texi @@ -12,7 +12,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item On AIX and Windows platforms, @code{wchar_t} is a 16-bit type and therefore cannot accommodate all Unicode characters. diff --git a/doc/glibc-functions/wcstold_l.texi b/doc/glibc-functions/wcstold_l.texi index dbbfcd04f..349c9075e 100644 --- a/doc/glibc-functions/wcstold_l.texi +++ b/doc/glibc-functions/wcstold_l.texi @@ -12,7 +12,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item On AIX and Windows platforms, @code{wchar_t} is a 16-bit type and therefore cannot accommodate all Unicode characters. diff --git a/doc/glibc-functions/wcstoll_l.texi b/doc/glibc-functions/wcstoll_l.texi index 834241fe1..7955e66db 100644 --- a/doc/glibc-functions/wcstoll_l.texi +++ b/doc/glibc-functions/wcstoll_l.texi @@ -12,7 +12,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item On AIX and Windows platforms, @code{wchar_t} is a 16-bit type and therefore cannot accommodate all Unicode characters. diff --git a/doc/glibc-functions/wcstoq.texi b/doc/glibc-functions/wcstoq.texi index a8bc7e8ff..813f22359 100644 --- a/doc/glibc-functions/wcstoq.texi +++ b/doc/glibc-functions/wcstoq.texi @@ -12,7 +12,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item On AIX and Windows platforms, @code{wchar_t} is a 16-bit type and therefore cannot accommodate all Unicode characters. diff --git a/doc/glibc-functions/wcstoul_l.texi b/doc/glibc-functions/wcstoul_l.texi index 7d70cb8ab..b509fe6bb 100644 --- a/doc/glibc-functions/wcstoul_l.texi +++ b/doc/glibc-functions/wcstoul_l.texi @@ -12,7 +12,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item On AIX and Windows platforms, @code{wchar_t} is a 16-bit type and therefore cannot accommodate all Unicode characters. diff --git a/doc/glibc-functions/wcstoull_l.texi b/doc/glibc-functions/wcstoull_l.texi index f346dbdd6..d074a4d9a 100644 --- a/doc/glibc-functions/wcstoull_l.texi +++ b/doc/glibc-functions/wcstoull_l.texi @@ -12,7 +12,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item On AIX and Windows platforms, @code{wchar_t} is a 16-bit type and therefore cannot accommodate all Unicode characters. diff --git a/doc/glibc-functions/wcstouq.texi b/doc/glibc-functions/wcstouq.texi index 30943e06a..ffd596b07 100644 --- a/doc/glibc-functions/wcstouq.texi +++ b/doc/glibc-functions/wcstouq.texi @@ -12,7 +12,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item On AIX and Windows platforms, @code{wchar_t} is a 16-bit type and therefore cannot accommodate all Unicode characters. diff --git a/doc/glibc-functions/wmempcpy.texi b/doc/glibc-functions/wmempcpy.texi index 750a5082c..26d48d20e 100644 --- a/doc/glibc-functions/wmempcpy.texi +++ b/doc/glibc-functions/wmempcpy.texi @@ -12,7 +12,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item On AIX and Windows platforms, @code{wchar_t} is a 16-bit type and therefore cannot accommodate all Unicode characters. diff --git a/doc/glibc-functions/xdr_array.texi b/doc/glibc-functions/xdr_array.texi index 25e24eddd..9085044c1 100644 --- a/doc/glibc-functions/xdr_array.texi +++ b/doc/glibc-functions/xdr_array.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin 1.7.4, mingw, BeOS. +Minix 3.1.8, Cygwin 1.7.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_authunix_parms.texi b/doc/glibc-functions/xdr_authunix_parms.texi index a02809c1f..e1ad5b353 100644 --- a/doc/glibc-functions/xdr_authunix_parms.texi +++ b/doc/glibc-functions/xdr_authunix_parms.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, HP-UX 11, Solaris 11 2010-11, Cygwin, mingw, BeOS. +Minix 3.1.8, HP-UX 11, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_bool.texi b/doc/glibc-functions/xdr_bool.texi index cb1838e73..be4e1f653 100644 --- a/doc/glibc-functions/xdr_bool.texi +++ b/doc/glibc-functions/xdr_bool.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin 1.7.4, mingw, BeOS. +Minix 3.1.8, Cygwin 1.7.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_bytes.texi b/doc/glibc-functions/xdr_bytes.texi index ad81a0be4..82691fcc9 100644 --- a/doc/glibc-functions/xdr_bytes.texi +++ b/doc/glibc-functions/xdr_bytes.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin 1.7.4, mingw, BeOS. +Minix 3.1.8, Cygwin 1.7.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_callhdr.texi b/doc/glibc-functions/xdr_callhdr.texi index 6def50d52..ca97c4db7 100644 --- a/doc/glibc-functions/xdr_callhdr.texi +++ b/doc/glibc-functions/xdr_callhdr.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_callmsg.texi b/doc/glibc-functions/xdr_callmsg.texi index 632ed4e11..818869c74 100644 --- a/doc/glibc-functions/xdr_callmsg.texi +++ b/doc/glibc-functions/xdr_callmsg.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_cback_data.texi b/doc/glibc-functions/xdr_cback_data.texi index ec8881ddc..271df50c8 100644 --- a/doc/glibc-functions/xdr_cback_data.texi +++ b/doc/glibc-functions/xdr_cback_data.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_char.texi b/doc/glibc-functions/xdr_char.texi index c702ff6ff..2c2427dd6 100644 --- a/doc/glibc-functions/xdr_char.texi +++ b/doc/glibc-functions/xdr_char.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin 1.7.4, mingw, BeOS. +Minix 3.1.8, Cygwin 1.7.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_cryptkeyarg.texi b/doc/glibc-functions/xdr_cryptkeyarg.texi index f70ee6d6d..e6b53341e 100644 --- a/doc/glibc-functions/xdr_cryptkeyarg.texi +++ b/doc/glibc-functions/xdr_cryptkeyarg.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_cryptkeyarg2.texi b/doc/glibc-functions/xdr_cryptkeyarg2.texi index 8ebf4a201..ff49fc288 100644 --- a/doc/glibc-functions/xdr_cryptkeyarg2.texi +++ b/doc/glibc-functions/xdr_cryptkeyarg2.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_cryptkeyres.texi b/doc/glibc-functions/xdr_cryptkeyres.texi index 8536574fb..3bf705955 100644 --- a/doc/glibc-functions/xdr_cryptkeyres.texi +++ b/doc/glibc-functions/xdr_cryptkeyres.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_des_block.texi b/doc/glibc-functions/xdr_des_block.texi index eaf509b75..bba84bedb 100644 --- a/doc/glibc-functions/xdr_des_block.texi +++ b/doc/glibc-functions/xdr_des_block.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_domainname.texi b/doc/glibc-functions/xdr_domainname.texi index 0c1dc9705..193fdd822 100644 --- a/doc/glibc-functions/xdr_domainname.texi +++ b/doc/glibc-functions/xdr_domainname.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_double.texi b/doc/glibc-functions/xdr_double.texi index 95c7b158c..9a207e257 100644 --- a/doc/glibc-functions/xdr_double.texi +++ b/doc/glibc-functions/xdr_double.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin 1.7.4, mingw, BeOS. +Minix 3.1.8, Cygwin 1.7.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_enum.texi b/doc/glibc-functions/xdr_enum.texi index bda016702..f12ea4294 100644 --- a/doc/glibc-functions/xdr_enum.texi +++ b/doc/glibc-functions/xdr_enum.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin 1.7.4, mingw, BeOS. +Minix 3.1.8, Cygwin 1.7.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_float.texi b/doc/glibc-functions/xdr_float.texi index 84c7e7a2b..cf3f34a12 100644 --- a/doc/glibc-functions/xdr_float.texi +++ b/doc/glibc-functions/xdr_float.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin 1.7.4, mingw, BeOS. +Minix 3.1.8, Cygwin 1.7.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_free.texi b/doc/glibc-functions/xdr_free.texi index 6ea53e2d1..ad9fc5a95 100644 --- a/doc/glibc-functions/xdr_free.texi +++ b/doc/glibc-functions/xdr_free.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin 1.7.4, mingw, BeOS. +Minix 3.1.8, Cygwin 1.7.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_getcredres.texi b/doc/glibc-functions/xdr_getcredres.texi index fdefff121..9ccfc6201 100644 --- a/doc/glibc-functions/xdr_getcredres.texi +++ b/doc/glibc-functions/xdr_getcredres.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_hyper.texi b/doc/glibc-functions/xdr_hyper.texi index 77231b72d..0ce347fff 100644 --- a/doc/glibc-functions/xdr_hyper.texi +++ b/doc/glibc-functions/xdr_hyper.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.3, OpenBSD 3.8, Minix 3.1.8, Cygwin 1.7.4, mingw, Interix 3.5, BeOS. +MacOS X 10.3, OpenBSD 3.8, Minix 3.1.8, Cygwin 1.7.4, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_int.texi b/doc/glibc-functions/xdr_int.texi index 8f5a16fe6..691fa262a 100644 --- a/doc/glibc-functions/xdr_int.texi +++ b/doc/glibc-functions/xdr_int.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin 1.7.4, mingw, BeOS. +Minix 3.1.8, Cygwin 1.7.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_int16_t.texi b/doc/glibc-functions/xdr_int16_t.texi index 4d72ef1c9..07947bc83 100644 --- a/doc/glibc-functions/xdr_int16_t.texi +++ b/doc/glibc-functions/xdr_int16_t.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.3, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin 1.7.4, mingw, Interix 3.5, BeOS. +MacOS X 10.3, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin 1.7.4, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_int32_t.texi b/doc/glibc-functions/xdr_int32_t.texi index c77e9d33a..ba60a10b3 100644 --- a/doc/glibc-functions/xdr_int32_t.texi +++ b/doc/glibc-functions/xdr_int32_t.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.3, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin 1.7.4, mingw, Interix 3.5, BeOS. +MacOS X 10.3, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin 1.7.4, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_int64_t.texi b/doc/glibc-functions/xdr_int64_t.texi index 20b893123..6fecadfde 100644 --- a/doc/glibc-functions/xdr_int64_t.texi +++ b/doc/glibc-functions/xdr_int64_t.texi @@ -13,5 +13,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: MacOS X 10.3, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, -Cygwin 1.7.4, mingw, Interix 3.5, BeOS. +Cygwin 1.7.4, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_int8_t.texi b/doc/glibc-functions/xdr_int8_t.texi index 0fc6cdfc8..9964400e9 100644 --- a/doc/glibc-functions/xdr_int8_t.texi +++ b/doc/glibc-functions/xdr_int8_t.texi @@ -13,5 +13,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Cygwin 1.7.4, mingw, Interix 3.5, BeOS. +IRIX 6.5, OSF/1 5.1, Cygwin 1.7.4, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_key_netstarg.texi b/doc/glibc-functions/xdr_key_netstarg.texi index 12243cd5b..9cace98a9 100644 --- a/doc/glibc-functions/xdr_key_netstarg.texi +++ b/doc/glibc-functions/xdr_key_netstarg.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_key_netstres.texi b/doc/glibc-functions/xdr_key_netstres.texi index 20e54e52b..cd59408db 100644 --- a/doc/glibc-functions/xdr_key_netstres.texi +++ b/doc/glibc-functions/xdr_key_netstres.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_keybuf.texi b/doc/glibc-functions/xdr_keybuf.texi index 49e0618c0..6e6f45028 100644 --- a/doc/glibc-functions/xdr_keybuf.texi +++ b/doc/glibc-functions/xdr_keybuf.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_keydat.texi b/doc/glibc-functions/xdr_keydat.texi index e08e36f8d..0b14afd74 100644 --- a/doc/glibc-functions/xdr_keydat.texi +++ b/doc/glibc-functions/xdr_keydat.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -NetBSD 5.0, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +NetBSD 5.0, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_keystatus.texi b/doc/glibc-functions/xdr_keystatus.texi index 379530a1e..64b7b6d48 100644 --- a/doc/glibc-functions/xdr_keystatus.texi +++ b/doc/glibc-functions/xdr_keystatus.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_long.texi b/doc/glibc-functions/xdr_long.texi index cb341ae69..026a7f7f1 100644 --- a/doc/glibc-functions/xdr_long.texi +++ b/doc/glibc-functions/xdr_long.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin 1.7.4, mingw, BeOS. +Minix 3.1.8, Cygwin 1.7.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_longlong_t.texi b/doc/glibc-functions/xdr_longlong_t.texi index 096e5f867..c13f0b777 100644 --- a/doc/glibc-functions/xdr_longlong_t.texi +++ b/doc/glibc-functions/xdr_longlong_t.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.3, OpenBSD 3.8, Minix 3.1.8, Cygwin 1.7.4, mingw, Interix 3.5, BeOS. +MacOS X 10.3, OpenBSD 3.8, Minix 3.1.8, Cygwin 1.7.4, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_mapname.texi b/doc/glibc-functions/xdr_mapname.texi index 1e189719d..c8e431acc 100644 --- a/doc/glibc-functions/xdr_mapname.texi +++ b/doc/glibc-functions/xdr_mapname.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_netnamestr.texi b/doc/glibc-functions/xdr_netnamestr.texi index 15435ae4a..5a8b0d494 100644 --- a/doc/glibc-functions/xdr_netnamestr.texi +++ b/doc/glibc-functions/xdr_netnamestr.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_netobj.texi b/doc/glibc-functions/xdr_netobj.texi index 9f0d7dd4b..71c51ed88 100644 --- a/doc/glibc-functions/xdr_netobj.texi +++ b/doc/glibc-functions/xdr_netobj.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin 1.7.4, mingw, BeOS. +Minix 3.1.8, Cygwin 1.7.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_obj_p.texi b/doc/glibc-functions/xdr_obj_p.texi index a453d6181..6f985273c 100644 --- a/doc/glibc-functions/xdr_obj_p.texi +++ b/doc/glibc-functions/xdr_obj_p.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_opaque.texi b/doc/glibc-functions/xdr_opaque.texi index f135f7b46..7bd419886 100644 --- a/doc/glibc-functions/xdr_opaque.texi +++ b/doc/glibc-functions/xdr_opaque.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin 1.7.4, mingw, BeOS. +Minix 3.1.8, Cygwin 1.7.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_opaque_auth.texi b/doc/glibc-functions/xdr_opaque_auth.texi index d503f5c79..701bd4ce3 100644 --- a/doc/glibc-functions/xdr_opaque_auth.texi +++ b/doc/glibc-functions/xdr_opaque_auth.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_peername.texi b/doc/glibc-functions/xdr_peername.texi index 07e0f910e..f544be84d 100644 --- a/doc/glibc-functions/xdr_peername.texi +++ b/doc/glibc-functions/xdr_peername.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_pmap.texi b/doc/glibc-functions/xdr_pmap.texi index 75ed563e4..c9967eca7 100644 --- a/doc/glibc-functions/xdr_pmap.texi +++ b/doc/glibc-functions/xdr_pmap.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_pmaplist.texi b/doc/glibc-functions/xdr_pmaplist.texi index c417f9055..cf96ea40d 100644 --- a/doc/glibc-functions/xdr_pmaplist.texi +++ b/doc/glibc-functions/xdr_pmaplist.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_pointer.texi b/doc/glibc-functions/xdr_pointer.texi index de7de0de9..8635fb2b0 100644 --- a/doc/glibc-functions/xdr_pointer.texi +++ b/doc/glibc-functions/xdr_pointer.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin 1.7.4, mingw, BeOS. +Minix 3.1.8, Cygwin 1.7.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_quad_t.texi b/doc/glibc-functions/xdr_quad_t.texi index 6f98e1d4c..dc22486d2 100644 --- a/doc/glibc-functions/xdr_quad_t.texi +++ b/doc/glibc-functions/xdr_quad_t.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_reference.texi b/doc/glibc-functions/xdr_reference.texi index 96b500843..dbfbc26fe 100644 --- a/doc/glibc-functions/xdr_reference.texi +++ b/doc/glibc-functions/xdr_reference.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin 1.7.4, mingw, BeOS. +Minix 3.1.8, Cygwin 1.7.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_replymsg.texi b/doc/glibc-functions/xdr_replymsg.texi index 483289596..800f10ebd 100644 --- a/doc/glibc-functions/xdr_replymsg.texi +++ b/doc/glibc-functions/xdr_replymsg.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_rmtcall_args.texi b/doc/glibc-functions/xdr_rmtcall_args.texi index 7c3308610..cbd9fc132 100644 --- a/doc/glibc-functions/xdr_rmtcall_args.texi +++ b/doc/glibc-functions/xdr_rmtcall_args.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, HP-UX 11, Solaris 11 2010-11, Cygwin, mingw, BeOS. +Minix 3.1.8, HP-UX 11, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_rmtcallres.texi b/doc/glibc-functions/xdr_rmtcallres.texi index 0ee873675..3e8f2860b 100644 --- a/doc/glibc-functions/xdr_rmtcallres.texi +++ b/doc/glibc-functions/xdr_rmtcallres.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_short.texi b/doc/glibc-functions/xdr_short.texi index 8177e81ad..088662d9b 100644 --- a/doc/glibc-functions/xdr_short.texi +++ b/doc/glibc-functions/xdr_short.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin 1.7.4, mingw, BeOS. +Minix 3.1.8, Cygwin 1.7.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_sizeof.texi b/doc/glibc-functions/xdr_sizeof.texi index 9020a57ad..914163e8b 100644 --- a/doc/glibc-functions/xdr_sizeof.texi +++ b/doc/glibc-functions/xdr_sizeof.texi @@ -13,5 +13,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, -OSF/1 5.1, Cygwin 1.7.4, mingw, Interix 3.5, BeOS. +OSF/1 5.1, Cygwin 1.7.4, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_string.texi b/doc/glibc-functions/xdr_string.texi index 4f0806386..007ac1011 100644 --- a/doc/glibc-functions/xdr_string.texi +++ b/doc/glibc-functions/xdr_string.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin 1.7.4, mingw, BeOS. +Minix 3.1.8, Cygwin 1.7.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_u_char.texi b/doc/glibc-functions/xdr_u_char.texi index 5d31cc400..2e9436e5a 100644 --- a/doc/glibc-functions/xdr_u_char.texi +++ b/doc/glibc-functions/xdr_u_char.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin 1.7.4, mingw, BeOS. +Minix 3.1.8, Cygwin 1.7.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_u_hyper.texi b/doc/glibc-functions/xdr_u_hyper.texi index c5dd8e6da..fded66db0 100644 --- a/doc/glibc-functions/xdr_u_hyper.texi +++ b/doc/glibc-functions/xdr_u_hyper.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.3, OpenBSD 3.8, Minix 3.1.8, IRIX 5.3, Cygwin 1.7.4, mingw, Interix 3.5, BeOS. +MacOS X 10.3, OpenBSD 3.8, Minix 3.1.8, IRIX 5.3, Cygwin 1.7.4, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_u_int.texi b/doc/glibc-functions/xdr_u_int.texi index 0a1305050..5cc876a8a 100644 --- a/doc/glibc-functions/xdr_u_int.texi +++ b/doc/glibc-functions/xdr_u_int.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin 1.7.4, mingw, BeOS. +Minix 3.1.8, Cygwin 1.7.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_u_long.texi b/doc/glibc-functions/xdr_u_long.texi index 2c07e3b80..f112d1ff6 100644 --- a/doc/glibc-functions/xdr_u_long.texi +++ b/doc/glibc-functions/xdr_u_long.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin 1.7.4, mingw, BeOS. +Minix 3.1.8, Cygwin 1.7.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_u_longlong_t.texi b/doc/glibc-functions/xdr_u_longlong_t.texi index f9caf2589..02926d469 100644 --- a/doc/glibc-functions/xdr_u_longlong_t.texi +++ b/doc/glibc-functions/xdr_u_longlong_t.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.3, OpenBSD 3.8, Minix 3.1.8, Cygwin 1.7.4, mingw, Interix 3.5, BeOS. +MacOS X 10.3, OpenBSD 3.8, Minix 3.1.8, Cygwin 1.7.4, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_u_quad_t.texi b/doc/glibc-functions/xdr_u_quad_t.texi index caf800fa3..78f33dd20 100644 --- a/doc/glibc-functions/xdr_u_quad_t.texi +++ b/doc/glibc-functions/xdr_u_quad_t.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_u_short.texi b/doc/glibc-functions/xdr_u_short.texi index 3084c2bed..165180603 100644 --- a/doc/glibc-functions/xdr_u_short.texi +++ b/doc/glibc-functions/xdr_u_short.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin 1.7.4, mingw, BeOS. +Minix 3.1.8, Cygwin 1.7.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_uint16_t.texi b/doc/glibc-functions/xdr_uint16_t.texi index ba8ead01a..07e9c5b40 100644 --- a/doc/glibc-functions/xdr_uint16_t.texi +++ b/doc/glibc-functions/xdr_uint16_t.texi @@ -13,7 +13,7 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Cygwin 1.7.4, mingw, Interix 3.5, BeOS. +IRIX 6.5, OSF/1 5.1, Cygwin 1.7.4, mingw, MSVC 9, Interix 3.5, BeOS. @item This function is not declared in the header on some platforms: Cygwin 1.7.5. diff --git a/doc/glibc-functions/xdr_uint32_t.texi b/doc/glibc-functions/xdr_uint32_t.texi index e1f63ab4a..645df393b 100644 --- a/doc/glibc-functions/xdr_uint32_t.texi +++ b/doc/glibc-functions/xdr_uint32_t.texi @@ -12,7 +12,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item This function is not declared in the header on some platforms: Cygwin 1.7.5. diff --git a/doc/glibc-functions/xdr_uint64_t.texi b/doc/glibc-functions/xdr_uint64_t.texi index 95465544d..e6c5c226b 100644 --- a/doc/glibc-functions/xdr_uint64_t.texi +++ b/doc/glibc-functions/xdr_uint64_t.texi @@ -12,7 +12,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item This function is not declared in the header on some platforms: Cygwin 1.7.5. diff --git a/doc/glibc-functions/xdr_uint8_t.texi b/doc/glibc-functions/xdr_uint8_t.texi index 32e31cf20..7597d7976 100644 --- a/doc/glibc-functions/xdr_uint8_t.texi +++ b/doc/glibc-functions/xdr_uint8_t.texi @@ -12,7 +12,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item This function is not declared in the header on some platforms: Cygwin 1.7.5. diff --git a/doc/glibc-functions/xdr_union.texi b/doc/glibc-functions/xdr_union.texi index f11667a24..05c40ee67 100644 --- a/doc/glibc-functions/xdr_union.texi +++ b/doc/glibc-functions/xdr_union.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin 1.7.4, mingw, BeOS. +Minix 3.1.8, Cygwin 1.7.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_unixcred.texi b/doc/glibc-functions/xdr_unixcred.texi index 8013c2487..67b904bfe 100644 --- a/doc/glibc-functions/xdr_unixcred.texi +++ b/doc/glibc-functions/xdr_unixcred.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_valdat.texi b/doc/glibc-functions/xdr_valdat.texi index ea62ff95e..940115825 100644 --- a/doc/glibc-functions/xdr_valdat.texi +++ b/doc/glibc-functions/xdr_valdat.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -NetBSD 5.0, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +NetBSD 5.0, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_vector.texi b/doc/glibc-functions/xdr_vector.texi index dc5f28ac4..d90b992e7 100644 --- a/doc/glibc-functions/xdr_vector.texi +++ b/doc/glibc-functions/xdr_vector.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin 1.7.4, mingw, BeOS. +Minix 3.1.8, Cygwin 1.7.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_void.texi b/doc/glibc-functions/xdr_void.texi index b74c39243..ee4bc762f 100644 --- a/doc/glibc-functions/xdr_void.texi +++ b/doc/glibc-functions/xdr_void.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin 1.7.4, mingw, BeOS. +Minix 3.1.8, Cygwin 1.7.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_wrapstring.texi b/doc/glibc-functions/xdr_wrapstring.texi index 3f594e0aa..672b96f67 100644 --- a/doc/glibc-functions/xdr_wrapstring.texi +++ b/doc/glibc-functions/xdr_wrapstring.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin 1.7.4, mingw, BeOS. +Minix 3.1.8, Cygwin 1.7.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_yp_buf.texi b/doc/glibc-functions/xdr_yp_buf.texi index 80631ac6c..5be674aaf 100644 --- a/doc/glibc-functions/xdr_yp_buf.texi +++ b/doc/glibc-functions/xdr_yp_buf.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_ypall.texi b/doc/glibc-functions/xdr_ypall.texi index b51c38274..408db0a6e 100644 --- a/doc/glibc-functions/xdr_ypall.texi +++ b/doc/glibc-functions/xdr_ypall.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, OpenBSD 3.8, Minix 3.1.8, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, OpenBSD 3.8, Minix 3.1.8, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_ypbind_binding.texi b/doc/glibc-functions/xdr_ypbind_binding.texi index 75cfc2da6..289b95b32 100644 --- a/doc/glibc-functions/xdr_ypbind_binding.texi +++ b/doc/glibc-functions/xdr_ypbind_binding.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -NetBSD 5.0, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +NetBSD 5.0, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_ypbind_resp.texi b/doc/glibc-functions/xdr_ypbind_resp.texi index e786a8327..b3e3cea16 100644 --- a/doc/glibc-functions/xdr_ypbind_resp.texi +++ b/doc/glibc-functions/xdr_ypbind_resp.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, Interix 3.5, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_ypbind_resptype.texi b/doc/glibc-functions/xdr_ypbind_resptype.texi index 67432609b..a4a3f3851 100644 --- a/doc/glibc-functions/xdr_ypbind_resptype.texi +++ b/doc/glibc-functions/xdr_ypbind_resptype.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -NetBSD 5.0, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +NetBSD 5.0, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_ypbind_setdom.texi b/doc/glibc-functions/xdr_ypbind_setdom.texi index ef06d81da..abe1cb5f3 100644 --- a/doc/glibc-functions/xdr_ypbind_setdom.texi +++ b/doc/glibc-functions/xdr_ypbind_setdom.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, Interix 3.5, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_ypdelete_args.texi b/doc/glibc-functions/xdr_ypdelete_args.texi index 61060888c..82e9d0b25 100644 --- a/doc/glibc-functions/xdr_ypdelete_args.texi +++ b/doc/glibc-functions/xdr_ypdelete_args.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_ypmap_parms.texi b/doc/glibc-functions/xdr_ypmap_parms.texi index 691e26b45..4952ee025 100644 --- a/doc/glibc-functions/xdr_ypmap_parms.texi +++ b/doc/glibc-functions/xdr_ypmap_parms.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, OpenBSD 3.8, Minix 3.1.8, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, OpenBSD 3.8, Minix 3.1.8, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_ypmaplist.texi b/doc/glibc-functions/xdr_ypmaplist.texi index 97a809431..4442f4a7f 100644 --- a/doc/glibc-functions/xdr_ypmaplist.texi +++ b/doc/glibc-functions/xdr_ypmaplist.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +Minix 3.1.8, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_yppush_status.texi b/doc/glibc-functions/xdr_yppush_status.texi index 205938e9a..15ae5991c 100644 --- a/doc/glibc-functions/xdr_yppush_status.texi +++ b/doc/glibc-functions/xdr_yppush_status.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_yppushresp_xfr.texi b/doc/glibc-functions/xdr_yppushresp_xfr.texi index 4591071c3..19610a2c6 100644 --- a/doc/glibc-functions/xdr_yppushresp_xfr.texi +++ b/doc/glibc-functions/xdr_yppushresp_xfr.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, OpenBSD 3.8, Minix 3.1.8, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, OpenBSD 3.8, Minix 3.1.8, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_ypreq_key.texi b/doc/glibc-functions/xdr_ypreq_key.texi index fd4bca93b..4e08e27b5 100644 --- a/doc/glibc-functions/xdr_ypreq_key.texi +++ b/doc/glibc-functions/xdr_ypreq_key.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, Interix 3.5, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_ypreq_nokey.texi b/doc/glibc-functions/xdr_ypreq_nokey.texi index b75d517f3..d995fd6e0 100644 --- a/doc/glibc-functions/xdr_ypreq_nokey.texi +++ b/doc/glibc-functions/xdr_ypreq_nokey.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, Interix 3.5, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_ypreq_xfr.texi b/doc/glibc-functions/xdr_ypreq_xfr.texi index 41b03f604..8b9f73cab 100644 --- a/doc/glibc-functions/xdr_ypreq_xfr.texi +++ b/doc/glibc-functions/xdr_ypreq_xfr.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, OpenBSD 3.8, Minix 3.1.8, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, OpenBSD 3.8, Minix 3.1.8, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_ypresp_all.texi b/doc/glibc-functions/xdr_ypresp_all.texi index 9f787e8f3..e93c62634 100644 --- a/doc/glibc-functions/xdr_ypresp_all.texi +++ b/doc/glibc-functions/xdr_ypresp_all.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -NetBSD 5.0, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +NetBSD 5.0, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_ypresp_key_val.texi b/doc/glibc-functions/xdr_ypresp_key_val.texi index 724c0966f..afa613712 100644 --- a/doc/glibc-functions/xdr_ypresp_key_val.texi +++ b/doc/glibc-functions/xdr_ypresp_key_val.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, Interix 3.5, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_ypresp_maplist.texi b/doc/glibc-functions/xdr_ypresp_maplist.texi index c077fe77b..741f943b0 100644 --- a/doc/glibc-functions/xdr_ypresp_maplist.texi +++ b/doc/glibc-functions/xdr_ypresp_maplist.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, Interix 3.5, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_ypresp_master.texi b/doc/glibc-functions/xdr_ypresp_master.texi index 97d0bac0b..18ec9cccd 100644 --- a/doc/glibc-functions/xdr_ypresp_master.texi +++ b/doc/glibc-functions/xdr_ypresp_master.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, Interix 3.5, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_ypresp_order.texi b/doc/glibc-functions/xdr_ypresp_order.texi index 08b0e6806..77b6a8133 100644 --- a/doc/glibc-functions/xdr_ypresp_order.texi +++ b/doc/glibc-functions/xdr_ypresp_order.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, Interix 3.5, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_ypresp_val.texi b/doc/glibc-functions/xdr_ypresp_val.texi index 0826b443a..08811eda8 100644 --- a/doc/glibc-functions/xdr_ypresp_val.texi +++ b/doc/glibc-functions/xdr_ypresp_val.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, Interix 3.5, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_ypresp_xfr.texi b/doc/glibc-functions/xdr_ypresp_xfr.texi index be23a20ba..5dff107aa 100644 --- a/doc/glibc-functions/xdr_ypresp_xfr.texi +++ b/doc/glibc-functions/xdr_ypresp_xfr.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_ypstat.texi b/doc/glibc-functions/xdr_ypstat.texi index e595b2bce..36b804a4e 100644 --- a/doc/glibc-functions/xdr_ypstat.texi +++ b/doc/glibc-functions/xdr_ypstat.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -NetBSD 5.0, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +NetBSD 5.0, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_ypupdate_args.texi b/doc/glibc-functions/xdr_ypupdate_args.texi index a1c3da1b0..891bb75de 100644 --- a/doc/glibc-functions/xdr_ypupdate_args.texi +++ b/doc/glibc-functions/xdr_ypupdate_args.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/xdr_ypxfrstat.texi b/doc/glibc-functions/xdr_ypxfrstat.texi index 23dd04e57..2ddb6d631 100644 --- a/doc/glibc-functions/xdr_ypxfrstat.texi +++ b/doc/glibc-functions/xdr_ypxfrstat.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/xdrmem_create.texi b/doc/glibc-functions/xdrmem_create.texi index 8ea6406d9..2ab0c50a9 100644 --- a/doc/glibc-functions/xdrmem_create.texi +++ b/doc/glibc-functions/xdrmem_create.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin 1.7.4, mingw, BeOS. +Minix 3.1.8, Cygwin 1.7.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/xdrrec_create.texi b/doc/glibc-functions/xdrrec_create.texi index 7b2bd19b2..31331ab25 100644 --- a/doc/glibc-functions/xdrrec_create.texi +++ b/doc/glibc-functions/xdrrec_create.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin 1.7.4, mingw, BeOS. +Minix 3.1.8, Cygwin 1.7.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/xdrrec_endofrecord.texi b/doc/glibc-functions/xdrrec_endofrecord.texi index d26c0bffc..a9bf015aa 100644 --- a/doc/glibc-functions/xdrrec_endofrecord.texi +++ b/doc/glibc-functions/xdrrec_endofrecord.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin 1.7.4, mingw, BeOS. +Minix 3.1.8, Cygwin 1.7.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/xdrrec_eof.texi b/doc/glibc-functions/xdrrec_eof.texi index 8860d4a21..bb0432728 100644 --- a/doc/glibc-functions/xdrrec_eof.texi +++ b/doc/glibc-functions/xdrrec_eof.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin 1.7.4, mingw, BeOS. +Minix 3.1.8, Cygwin 1.7.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/xdrrec_skiprecord.texi b/doc/glibc-functions/xdrrec_skiprecord.texi index 7b7a9954e..82825a7e8 100644 --- a/doc/glibc-functions/xdrrec_skiprecord.texi +++ b/doc/glibc-functions/xdrrec_skiprecord.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin 1.7.4, mingw, BeOS. +Minix 3.1.8, Cygwin 1.7.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/xdrstdio_create.texi b/doc/glibc-functions/xdrstdio_create.texi index 62a12bd9d..c3fca2614 100644 --- a/doc/glibc-functions/xdrstdio_create.texi +++ b/doc/glibc-functions/xdrstdio_create.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin 1.7.4, mingw, BeOS. +Minix 3.1.8, Cygwin 1.7.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/xprt_register.texi b/doc/glibc-functions/xprt_register.texi index b46426e39..5cefcdc6c 100644 --- a/doc/glibc-functions/xprt_register.texi +++ b/doc/glibc-functions/xprt_register.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/xprt_unregister.texi b/doc/glibc-functions/xprt_unregister.texi index 67d4f668b..372295fe0 100644 --- a/doc/glibc-functions/xprt_unregister.texi +++ b/doc/glibc-functions/xprt_unregister.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-functions/y0f.texi b/doc/glibc-functions/y0f.texi index ec120db9e..3c4ee6de6 100644 --- a/doc/glibc-functions/y0f.texi +++ b/doc/glibc-functions/y0f.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, mingw. +MacOS X 10.5, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, mingw, MSVC 9. @end itemize diff --git a/doc/glibc-functions/y0l.texi b/doc/glibc-functions/y0l.texi index a901c8a4c..397a7e1d2 100644 --- a/doc/glibc-functions/y0l.texi +++ b/doc/glibc-functions/y0l.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/y1f.texi b/doc/glibc-functions/y1f.texi index 1c60231d7..ff89e147c 100644 --- a/doc/glibc-functions/y1f.texi +++ b/doc/glibc-functions/y1f.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, mingw. +MacOS X 10.5, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, mingw, MSVC 9. @end itemize diff --git a/doc/glibc-functions/y1l.texi b/doc/glibc-functions/y1l.texi index 7a592d7ad..1d975dd63 100644 --- a/doc/glibc-functions/y1l.texi +++ b/doc/glibc-functions/y1l.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/ynf.texi b/doc/glibc-functions/ynf.texi index 02447db7a..7755d68cc 100644 --- a/doc/glibc-functions/ynf.texi +++ b/doc/glibc-functions/ynf.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, mingw. +MacOS X 10.5, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, mingw, MSVC 9. @end itemize diff --git a/doc/glibc-functions/ynl.texi b/doc/glibc-functions/ynl.texi index e6ec66b65..f794bbeea 100644 --- a/doc/glibc-functions/ynl.texi +++ b/doc/glibc-functions/ynl.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/yp_all.texi b/doc/glibc-functions/yp_all.texi index 7ef4e5a06..1f49a49f5 100644 --- a/doc/glibc-functions/yp_all.texi +++ b/doc/glibc-functions/yp_all.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, Interix 3.5, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/yp_bind.texi b/doc/glibc-functions/yp_bind.texi index 74327b84f..f57d6889f 100644 --- a/doc/glibc-functions/yp_bind.texi +++ b/doc/glibc-functions/yp_bind.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, Interix 3.5, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/yp_first.texi b/doc/glibc-functions/yp_first.texi index a75c135f9..d97222667 100644 --- a/doc/glibc-functions/yp_first.texi +++ b/doc/glibc-functions/yp_first.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, Interix 3.5, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/yp_get_default_domain.texi b/doc/glibc-functions/yp_get_default_domain.texi index d8c69a55e..2986ddc12 100644 --- a/doc/glibc-functions/yp_get_default_domain.texi +++ b/doc/glibc-functions/yp_get_default_domain.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, HP-UX 11, Cygwin, mingw, Interix 3.5, BeOS. +Minix 3.1.8, HP-UX 11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/yp_master.texi b/doc/glibc-functions/yp_master.texi index c60eeb2e8..63ae34a18 100644 --- a/doc/glibc-functions/yp_master.texi +++ b/doc/glibc-functions/yp_master.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, Interix 3.5, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/yp_match.texi b/doc/glibc-functions/yp_match.texi index f00c347c5..d19fd26bd 100644 --- a/doc/glibc-functions/yp_match.texi +++ b/doc/glibc-functions/yp_match.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, Interix 3.5, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/yp_next.texi b/doc/glibc-functions/yp_next.texi index 55dd7bace..5dafa66ba 100644 --- a/doc/glibc-functions/yp_next.texi +++ b/doc/glibc-functions/yp_next.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, Interix 3.5, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/yp_order.texi b/doc/glibc-functions/yp_order.texi index c4e18f5ac..2241fc256 100644 --- a/doc/glibc-functions/yp_order.texi +++ b/doc/glibc-functions/yp_order.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, Interix 3.5, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/yp_unbind.texi b/doc/glibc-functions/yp_unbind.texi index 2256fdcb6..8ecbe5c25 100644 --- a/doc/glibc-functions/yp_unbind.texi +++ b/doc/glibc-functions/yp_unbind.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, Interix 3.5, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/yp_update.texi b/doc/glibc-functions/yp_update.texi index 32d93b771..7aa869211 100644 --- a/doc/glibc-functions/yp_update.texi +++ b/doc/glibc-functions/yp_update.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/ypbinderr_string.texi b/doc/glibc-functions/ypbinderr_string.texi index a7175061c..b17eec304 100644 --- a/doc/glibc-functions/ypbinderr_string.texi +++ b/doc/glibc-functions/ypbinderr_string.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/yperr_string.texi b/doc/glibc-functions/yperr_string.texi index 255e92170..c322462b5 100644 --- a/doc/glibc-functions/yperr_string.texi +++ b/doc/glibc-functions/yperr_string.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, Interix 3.5, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/ypprot_err.texi b/doc/glibc-functions/ypprot_err.texi index 859a00127..66505bbca 100644 --- a/doc/glibc-functions/ypprot_err.texi +++ b/doc/glibc-functions/ypprot_err.texi @@ -12,5 +12,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, Interix 3.5, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-headers/a.out.texi b/doc/glibc-headers/a.out.texi index fceccf313..18b2beff0 100644 --- a/doc/glibc-headers/a.out.texi +++ b/doc/glibc-headers/a.out.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This header file is missing on some platforms: -MacOS X 10.5, Solaris 11 2010-11, mingw, Interix 3.5, BeOS. +MacOS X 10.5, Solaris 11 2010-11, mingw, MSVC 9, Interix 3.5, BeOS. @item This header file is useless because most executables and object files are in ELF format on some platforms: diff --git a/doc/glibc-headers/aliases.texi b/doc/glibc-headers/aliases.texi index b42486caf..eb6e271d5 100644 --- a/doc/glibc-headers/aliases.texi +++ b/doc/glibc-headers/aliases.texi @@ -22,5 +22,5 @@ Portability problems not fixed by Gnulib: @itemize @item This header file is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-headers/alloca.texi b/doc/glibc-headers/alloca.texi index b49828539..7ac9f8efc 100644 --- a/doc/glibc-headers/alloca.texi +++ b/doc/glibc-headers/alloca.texi @@ -22,7 +22,7 @@ Portability problems fixed by Gnulib: @itemize @item This header file is missing on some platforms: -FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, AIX 4.3.2, mingw. +FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, AIX 4.3.2, mingw, MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/glibc-headers/ar.texi b/doc/glibc-headers/ar.texi index 5b353c5dd..d83767d86 100644 --- a/doc/glibc-headers/ar.texi +++ b/doc/glibc-headers/ar.texi @@ -15,5 +15,5 @@ Portability problems not fixed by Gnulib: @itemize @item This header file is missing on some platforms: -mingw, BeOS. +mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-headers/argp.texi b/doc/glibc-headers/argp.texi index 7fcbde4d5..43cf764a2 100644 --- a/doc/glibc-headers/argp.texi +++ b/doc/glibc-headers/argp.texi @@ -18,7 +18,7 @@ Portability problems fixed by Gnulib: @itemize @item This header file is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/glibc-headers/argz.texi b/doc/glibc-headers/argz.texi index 6b7bdc7ba..6a4cb4072 100644 --- a/doc/glibc-headers/argz.texi +++ b/doc/glibc-headers/argz.texi @@ -20,7 +20,7 @@ Portability problems fixed by Gnulib: @itemize @item This header file is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9, Interix 3.5, BeOS. @item The argz functions do not work on some platforms: Cygwin. diff --git a/doc/glibc-headers/byteswap.texi b/doc/glibc-headers/byteswap.texi index 2f24971fc..f6212aaf6 100644 --- a/doc/glibc-headers/byteswap.texi +++ b/doc/glibc-headers/byteswap.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This header file is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/glibc-headers/crypt.texi b/doc/glibc-headers/crypt.texi index 9223f7700..ef25c929c 100644 --- a/doc/glibc-headers/crypt.texi +++ b/doc/glibc-headers/crypt.texi @@ -32,7 +32,7 @@ Portability problems not fixed by Gnulib: @itemize @item This header file is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, mingw, MSVC 9, Interix 3.5, BeOS. @item The functions @code{crypt}, @code{setkey}, @code{encrypt} are missing on some platforms: diff --git a/doc/glibc-headers/endian.texi b/doc/glibc-headers/endian.texi index 79d9871ec..c36f51eb9 100644 --- a/doc/glibc-headers/endian.texi +++ b/doc/glibc-headers/endian.texi @@ -15,5 +15,5 @@ Portability problems not fixed by Gnulib: @itemize @item This header file is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, Interix 3.5. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/glibc-headers/envz.texi b/doc/glibc-headers/envz.texi index cdb390ec3..cbac36dac 100644 --- a/doc/glibc-headers/envz.texi +++ b/doc/glibc-headers/envz.texi @@ -24,5 +24,5 @@ Portability problems not fixed by Gnulib: @itemize @item This header file is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-headers/err.texi b/doc/glibc-headers/err.texi index a4235ce95..0badbb205 100644 --- a/doc/glibc-headers/err.texi +++ b/doc/glibc-headers/err.texi @@ -28,5 +28,5 @@ Portability problems not fixed by Gnulib: @itemize @item This header file is missing on some platforms: -AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, BeOS. +AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-headers/error.texi b/doc/glibc-headers/error.texi index dce75b223..f2d2a1189 100644 --- a/doc/glibc-headers/error.texi +++ b/doc/glibc-headers/error.texi @@ -23,8 +23,11 @@ Gnulib module: error Portability problems fixed by Gnulib: @itemize @item -This header file is missing on all non-glibc platforms: +This header file is missing on many platforms: MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +@item +This header file contains unrelated definitions on some platforms: +MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/glibc-headers/execinfo.texi b/doc/glibc-headers/execinfo.texi index c1ec5acb4..3138b028e 100644 --- a/doc/glibc-headers/execinfo.texi +++ b/doc/glibc-headers/execinfo.texi @@ -27,5 +27,5 @@ Portability problems not fixed by Gnulib: @itemize @item This header file is missing on some platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-headers/fpu_control.texi b/doc/glibc-headers/fpu_control.texi index f4262810d..a8ba7e014 100644 --- a/doc/glibc-headers/fpu_control.texi +++ b/doc/glibc-headers/fpu_control.texi @@ -15,5 +15,5 @@ Portability problems not fixed by Gnulib: @itemize @item This header file is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-headers/fstab.texi b/doc/glibc-headers/fstab.texi index f602397cb..191c489a4 100644 --- a/doc/glibc-headers/fstab.texi +++ b/doc/glibc-headers/fstab.texi @@ -29,7 +29,7 @@ Portability problems not fixed by Gnulib: @itemize @item This header file is missing on some platforms: -Minix 3.1.8, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +Minix 3.1.8, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item The macro @code{_PATH_FSTAB} is missing on some platforms: AIX 5.1, HP-UX 11. diff --git a/doc/glibc-headers/fts.texi b/doc/glibc-headers/fts.texi index d372850b8..c9f59833e 100644 --- a/doc/glibc-headers/fts.texi +++ b/doc/glibc-headers/fts.texi @@ -21,5 +21,5 @@ Portability problems not fixed by Gnulib: @itemize @item This header file is missing on some platforms: -AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, BeOS. +AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/glibc-headers/getopt.texi b/doc/glibc-headers/getopt.texi index 56f578fbb..d152a6fef 100644 --- a/doc/glibc-headers/getopt.texi +++ b/doc/glibc-headers/getopt.texi @@ -24,7 +24,7 @@ Portability problems fixed by Gnulib: @itemize @item This header file is missing on some platforms: -AIX 5.1, HP-UX 11, Interix 3.5. +AIX 5.1, HP-UX 11, MSVC 9, Interix 3.5. @item The function @code{getopt_long} is missing on some platforms: IRIX 6.5, OSF/1 5.1, Solaris 9. diff --git a/doc/glibc-headers/gshadow.texi b/doc/glibc-headers/gshadow.texi index c0b4e9c0b..88c52dc53 100644 --- a/doc/glibc-headers/gshadow.texi +++ b/doc/glibc-headers/gshadow.texi @@ -16,5 +16,5 @@ Portability problems not fixed by Gnulib: @itemize @item This header file is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.4, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 7.1, HP-UX 11.31, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.4, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 7.1, HP-UX 11.31, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-headers/ieee754.texi b/doc/glibc-headers/ieee754.texi index c0602f138..e5f1bf845 100644 --- a/doc/glibc-headers/ieee754.texi +++ b/doc/glibc-headers/ieee754.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This header file is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-headers/ifaddrs.texi b/doc/glibc-headers/ifaddrs.texi index 7856ce880..88f0dbbc5 100644 --- a/doc/glibc-headers/ifaddrs.texi +++ b/doc/glibc-headers/ifaddrs.texi @@ -20,5 +20,5 @@ Portability problems not fixed by Gnulib: @itemize @item This header file is missing on some platforms: -AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin, mingw, Interix 3.5, BeOS. +AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-headers/libintl.texi b/doc/glibc-headers/libintl.texi index 492b6ad67..0ca5fa86c 100644 --- a/doc/glibc-headers/libintl.texi +++ b/doc/glibc-headers/libintl.texi @@ -31,7 +31,7 @@ Portability problems fixed by Gnulib, if GNU gettext is installed: @itemize @item This header file is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, mingw, MSVC 9, Interix 3.5, BeOS. @item The functions cannot deal with GNU .mo files with system-dependent strings (of major version 1 or of minor version 1) on some non-glibc platforms: diff --git a/doc/glibc-headers/mcheck.texi b/doc/glibc-headers/mcheck.texi index eab761932..228c3e221 100644 --- a/doc/glibc-headers/mcheck.texi +++ b/doc/glibc-headers/mcheck.texi @@ -26,5 +26,5 @@ Portability problems not fixed by Gnulib: @itemize @item This header file is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-headers/mntent.texi b/doc/glibc-headers/mntent.texi index b2b826d73..dab1700da 100644 --- a/doc/glibc-headers/mntent.texi +++ b/doc/glibc-headers/mntent.texi @@ -29,7 +29,7 @@ Portability problems not fixed by Gnulib: @itemize @item This header file is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 4.3.2, OSF/1 5.1, Solaris 11 2010-11, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 4.3.2, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9, Interix 3.5, BeOS. @item The function @code{getmntent_r} is missing on all non-glibc platforms: AIX 5.1, HP-UX 11, IRIX 6.5, Cygwin. diff --git a/doc/glibc-headers/obstack.texi b/doc/glibc-headers/obstack.texi index dba6251b8..aed7d4174 100644 --- a/doc/glibc-headers/obstack.texi +++ b/doc/glibc-headers/obstack.texi @@ -18,7 +18,7 @@ Portability problems fixed by Gnulib: @itemize @item This header file is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/glibc-headers/paths.texi b/doc/glibc-headers/paths.texi index d0e15fdb7..fd7090b73 100644 --- a/doc/glibc-headers/paths.texi +++ b/doc/glibc-headers/paths.texi @@ -13,7 +13,7 @@ Portability problems not fixed by Gnulib: @itemize @item This header file is missing on some platforms: -Minix 3.1.8, HP-UX 11, Solaris 11 2010-11, mingw, BeOS. +Minix 3.1.8, HP-UX 11, Solaris 11 2010-11, mingw, MSVC 9, BeOS. @item The set of @code{_PATH_*} macros is platform dependent. @end itemize diff --git a/doc/glibc-headers/printf.texi b/doc/glibc-headers/printf.texi index d094578bd..a483cb2f9 100644 --- a/doc/glibc-headers/printf.texi +++ b/doc/glibc-headers/printf.texi @@ -28,5 +28,5 @@ Portability problems not fixed by Gnulib: @itemize @item This header file is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/glibc-headers/pty.texi b/doc/glibc-headers/pty.texi index d670394c2..3b8eba3cc 100644 --- a/doc/glibc-headers/pty.texi +++ b/doc/glibc-headers/pty.texi @@ -34,5 +34,5 @@ Portability problems not fixed by Gnulib: @itemize @item This header file is missing on some platforms: -mingw. +mingw, MSVC 9. @end itemize diff --git a/doc/glibc-headers/resolv.texi b/doc/glibc-headers/resolv.texi index d97958dd0..8cf54efec 100644 --- a/doc/glibc-headers/resolv.texi +++ b/doc/glibc-headers/resolv.texi @@ -27,7 +27,7 @@ Portability problems not fixed by Gnulib: @itemize @item This header file is missing on some platforms: -Cygwin, mingw, Interix 3.5, BeOS. +Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item The functions are missing on some platforms: HP-UX 11. diff --git a/doc/glibc-headers/shadow.texi b/doc/glibc-headers/shadow.texi index ee96b1b86..0db1a0867 100644 --- a/doc/glibc-headers/shadow.texi +++ b/doc/glibc-headers/shadow.texi @@ -26,7 +26,7 @@ Portability problems not fixed by Gnulib: @itemize @item This header file is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item The functions @code{getspent_r}, @code{getspnam_r}, @code{sgetspent_r}, @code{fgetspent}, @code{fgetspent_r}, @code{putspent} are missing on some diff --git a/doc/glibc-headers/sys_ioctl.texi b/doc/glibc-headers/sys_ioctl.texi index 4e9d5f918..8d042daed 100644 --- a/doc/glibc-headers/sys_ioctl.texi +++ b/doc/glibc-headers/sys_ioctl.texi @@ -22,7 +22,7 @@ Portability problems fixed by Gnulib: @itemize @item This header file is missing on some platforms: -mingw. +mingw, MSVC 9. @item This header file does not declare the @code{ioctl} function on some platforms: AIX 5.1, Solaris 11 2010-11. diff --git a/doc/glibc-headers/sysexits.texi b/doc/glibc-headers/sysexits.texi index 3db771a58..1419913f8 100644 --- a/doc/glibc-headers/sysexits.texi +++ b/doc/glibc-headers/sysexits.texi @@ -9,7 +9,7 @@ Portability problems fixed by Gnulib: @itemize @item This header file is missing on some platforms: -mingw, Interix 3.5, BeOS. +mingw, MSVC 9, Interix 3.5, BeOS. @item The macro @code{EX_CONFIG} is missing on some platforms: HP-UX 11. diff --git a/doc/glibc-headers/ttyent.texi b/doc/glibc-headers/ttyent.texi index 289072662..4df67bec6 100644 --- a/doc/glibc-headers/ttyent.texi +++ b/doc/glibc-headers/ttyent.texi @@ -20,5 +20,5 @@ Portability problems not fixed by Gnulib: @itemize @item This header file is missing on some platforms: -HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +HP-UX 11, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/gnulib-intro.texi b/doc/gnulib-intro.texi index ab518c844..64faa3502 100644 --- a/doc/gnulib-intro.texi +++ b/doc/gnulib-intro.texi @@ -144,7 +144,7 @@ unsupported on mingw: @code{mgetgroups}, @code{getugroups}, @code{idcache}, @code{mkancesdirs}, @code{mkdir-p}, @code{euidaccess}, @code{faccessat}. The versions of Windows that are supported are Windows XP and newer. @item -Native Windows, with MSVC as compiler, is not tested and low priority. +Native Windows, with MSVC as compiler, is rarely tested and low priority. @item mingw in 64-bit mode is not tested and low priority so far. @item diff --git a/doc/gnulib-tool.texi b/doc/gnulib-tool.texi index 7581d8179..adeb2296c 100644 --- a/doc/gnulib-tool.texi +++ b/doc/gnulib-tool.texi @@ -217,6 +217,17 @@ gl_EARLY ... @end example +If you are using @code{AC_PROG_CC_STDC}, the macro @code{gl_EARLY} must +be called after it, like this: + +@example +... +AC_PROG_CC +AC_PROG_CC_STDC +gl_EARLY +... +@end example + The core part of the gnulib checks are done by the macro @code{gl_INIT}. Place it further down in the file, typically where you normally check for header files or functions. It must come after diff --git a/doc/gnulib.texi b/doc/gnulib.texi index c11bcc80d..614c91f85 100644 --- a/doc/gnulib.texi +++ b/doc/gnulib.texi @@ -1187,6 +1187,7 @@ which (known) portability problems are not worked around by Gnulib. * setjmp.h:: * signal.h:: * spawn.h:: +* stdalign.h:: * stdarg.h:: * stdbool.h:: * stddef.h:: @@ -1273,6 +1274,7 @@ which (known) portability problems are not worked around by Gnulib. @include posix-headers/setjmp.texi @include posix-headers/signal.texi @include posix-headers/spawn.texi +@include posix-headers/stdalign.texi @include posix-headers/stdarg.texi @include posix-headers/stdbool.texi @include posix-headers/stddef.texi diff --git a/doc/maintain.texi b/doc/maintain.texi index 0cdaa0dcf..40e37ba30 100644 --- a/doc/maintain.texi +++ b/doc/maintain.texi @@ -5,7 +5,7 @@ @c For double-sided printing, uncomment: @c @setchapternewpage odd @c This date is automagically updated when you save this file: -@set lastupdate September 5, 2011 +@set lastupdate December 2, 2011 @c %**end of header @dircategory GNU organization @@ -343,10 +343,14 @@ file gives per instructions for how to ask the FSF to mail per the papers to sign. The @file{request-} file also raises the issue of getting an employer's disclaimer from the contributor's employer. -When the contributor emails the form to the FSF, the FSF sends per -papers to sign. If person signs them right away, the whole process -takes a couple of weeks---mostly waiting for letters to go back and -forth. +When the contributor emails the form to the FSF, the FSF sends per an +electronic (usually PDF) copy of the assignment. All contributors +then print the assignment and sign it. Contributors residing outside +the U.S. must mail the signed form to the FSF via the post. +Contributors located in the U.S. can then email or fax a scanned copy +back to the FSF (or use postal mail, if they prefer). (To emphasize, +the necessary distinction is between US residents and non-residents, +citizenship does not matter.) For less common cases, we have template files you should send to the contributor. Be sure to fill in the name of the person and the name @@ -522,6 +526,11 @@ trivial to matter for copyright purposes. Later on you can update the automatically, if you are careful about the formatting of the change log entries. +It is ok to include other email addresses, names, and program +information in @file{AUTHORS}, such as bug-reporting information. +@xref{Standard Mailing Lists}. + + @node Copying from Other Packages @section Copying from Other Packages @@ -1055,9 +1064,7 @@ programs have their own special lists for sending bug reports. The advertised bug-reporting email address should always be @samp{bug-@var{package}@@gnu.org}, to help show users that the program is a GNU package, but it is ok to set up that list to forward to another -site if you prefer. The package distribution should state the -name of the bug-reporting list in a prominent place, and ask users to -help us by reporting bugs there. +site if you prefer. @cindex @email{bug-gnu-utils@@gnu.org} We also have a catch-all list, @email{bug-gnu-utils@@gnu.org}, which is @@ -1065,6 +1072,9 @@ used for all GNU programs that don't have their own specific lists. But nowadays we want to give each program its own bug-reporting list and move away from using @email{bug-gnu-utils}. +@xref{Replying to Mail}, for more about handling and tracking bug +reports. + @cindex help for users, mailing list for Some GNU programs with many users have another mailing list, @samp{help-@var{package}.org}, for people to ask other users for help. @@ -1074,8 +1084,16 @@ is better not to bother with this. @cindex announcements, mailing list for If you wish, you can also have a mailing list -@samp{info-@var{package}} for announcements (@pxref{Announcements}), -and any others you find useful. +@samp{info-@var{package}} for announcements (@pxref{Announcements}). +Any other mailing lists you find useful can also be created. + +The package distribution should state the name of all the package's +mailing lists in a prominent place, and ask users to help us by +reporting bugs appropriately. The top-level @file{README} file and/or +@file{AUTHORS} file are good places. Mailing list information should +also be included in the manual and the package web pages (@pxref{Web +Pages}). + @node Creating Mailing Lists @@ -1162,6 +1180,17 @@ Some GNU packages, such as Emacs and GCC, come with advice about how to make bug reports useful. Copying and adapting that could be very useful for your package. +@cindex @url{http://bugs.gnu.org} +@cindex bug reports, email tracker for +@cindex bug reports, web tracker for +If you would like to use an email-based bug tracking system, see +@url{http://bugs.gnu.org}; this can be connected with the regular +bug-reporting address. Alternatively, if you would like to use a +web-based bug tracking system, Savannah supports this (@pxref{Old +Versions}), but please don't fail to accept bugs by regular email as +well---we don't want to put up unnecessary barriers against users +submitting reports. + @node Old Versions @chapter Recording Old Versions @@ -1280,7 +1309,7 @@ it will be very clear from the diffs themselves which version is which. @cindex time stamp in diffs If you use GNU @code{diff} to make the patch, use the options @samp{-rc2P}. That will put any new files into the output as ``entirely -different.'' Also, the patch's context diff headers should have dates +different''. Also, the patch's context diff headers should have dates and times in Universal Time using traditional Unix format, so that patch recipients can use GNU @code{patch}'s @samp{-Z} option. For example, you could use the following Bourne shell command to create the patch: @@ -1314,11 +1343,6 @@ GNU packages are distributed through the directory @file{/gnu} on subdirectory named after the package, and all the distribution files for the package should go in that subdirectory. -@c If you have an interest in seeing the monthly download logs from the FTP -@c site at @code{ftp.gnu.org} for your program, that is something that -@c @email{ftp-upload@@gnu.org} can set up for you. Please contact them if -@c you are interested. - @xref{Automated FTP Uploads}, for procedural details of putting new versions on @code{ftp.gnu.org}. @@ -1422,7 +1446,7 @@ information about GPG, see @url{http://www.gnu.org/software/gpg}. @item Compose a message with the following items in some @var{msgfile}. Then GPG-sign it by running @code{gpg --clearsign @var{msgfile}}, and -finally email the resulting @file{@var{msgfile}.asc}), to +finally email the resulting @file{@var{msgfile}.asc} to @email{ftp-upload@@gnu.org}. @enumerate @@ -1524,7 +1548,9 @@ directory of @code{gnulib} serves as a replacement which uses plain command line @code{ftp}. If you have difficulties with an upload, email -@email{ftp-upload@@gnu.org}. +@email{ftp-upload@@gnu.org}. You can check the archive of uploads +processed at +@url{https://lists.gnu.org/archive/html/ftp-upload-report}. @node FTP Upload Directive File - v1.1 @@ -1868,15 +1894,15 @@ gendocs.sh --email @var{yourbuglist} @var{yourmanual} "GNU @var{yourmanual} manu @end smallexample @noindent where @var{yourmanual} is the short name for your package -and @var{yourbuglist} is the email address for bug reports (typically -@code{bug-@var{package}@@gnu.org}). The script processes the file -@file{@var{yourmanual}.texinfo} (or @file{.texi} or @file{.txi}). For -example: +and @var{yourbuglist} is the email address for bug reports (which +should be @code{bug-@var{package}@@gnu.org}). The script processes +the file @file{@var{yourmanual}.texinfo} (or @file{.texi} or +@file{.txi}). For example: @smallexample -cd .../emacs/man +cd .../texinfo/doc # download gendocs.sh and gendocs_template -gendocs.sh --email bug-gnu-emacs@@gnu.org emacs "GNU Emacs manual" +gendocs.sh --email bug-texinfo@@gnu.org texinfo "GNU Texinfo manual" @end smallexample @command{gendocs.sh} creates a subdirectory @file{manual/} containing @@ -2085,7 +2111,7 @@ users don't know about the GNU Project's major accomplishment---or more precisely, they know about it, but don't realize it is the GNU Project's accomplishment and reason for existence. Even people who believe they know the real history often believe that the goal of GNU was to develop -``tools'' or ``utilities.'' +``tools'' or ``utilities''. To correct this confusion, we have made a years-long effort to distinguish between Linux, the kernel that Linus Torvalds wrote, and @@ -2101,12 +2127,12 @@ terminology and its reasons, you can refer to the URL @url{http://www.gnu.org/gnu/linux-and-gnu.html}. To contrast the GNU system properly with respect to GNU/Linux, you can -call it ``GNU/Hurd'' or ``the GNU/Hurd system.'' However, when that +call it ``GNU/Hurd'' or ``the GNU/Hurd system''. However, when that contrast is not specifically the focus, please call it just ``GNU'' or -``the GNU system.'' +``the GNU system''. When referring to the collection of servers that is the higher level -of the GNU kernel, please call it ``the Hurd'' or ``the GNU Hurd.'' +of the GNU kernel, please call it ``the Hurd'' or ``the GNU Hurd''. Note that this uses a space, not a slash. diff --git a/doc/parse-datetime.texi b/doc/parse-datetime.texi index 2f1ab34ec..5a54d2225 100644 --- a/doc/parse-datetime.texi +++ b/doc/parse-datetime.texi @@ -51,6 +51,7 @@ arguments to the various programs. The C interface (via the * Calendar date items:: 19 Dec 1994. * Time of day items:: 9:20pm. * Time zone items:: @sc{est}, @sc{pdt}, @sc{gmt}. +* Combined date and time of day items:: 1972-09-24T20:02:00,000000-0500 * Day of week items:: Monday and others. * Relative items in date strings:: next tuesday, 2 years ago. * Pure numbers in date strings:: 19931219, 1440. @@ -76,6 +77,7 @@ many flavors of items: @item calendar date items @item time of day items @item time zone items +@item combined date and time of day items @item day of the week items @item relative items @item pure numbers. @@ -126,8 +128,8 @@ $ LC_ALL=C TZ=UTC0 date Mon Mar 1 00:21:42 UTC 2004 $ TZ=UTC0 date +'%Y-%m-%d %H:%M:%SZ' 2004-03-01 00:21:42Z -$ date --iso-8601=ns | tr T ' ' # --iso-8601 is a GNU extension. -2004-02-29 16:21:42,692722128-0800 +$ date --rfc-3339=ns # --rfc-3339 is a GNU extension. +2004-02-29 16:21:42.692722128-08:00 $ date --rfc-2822 # a GNU extension Sun, 29 Feb 2004 16:21:42 -0800 $ date +'%Y-%m-%d %H:%M:%S %z' # %z is a GNU extension. @@ -311,6 +313,29 @@ time stamps are interpreted using the rules of the default time zone (@pxref{Specifying time zone rules}). +@node Combined date and time of day items +@section Combined date and time of day items + +@cindex combined date and time of day item + +A @dfn{combined date and time of day item} specifies the time on a +specific day of the year. This type is needed for formats that cannot +be represented by individual calendar date (@pxref{Calendar date items}) +and time of day (@pxref{Time of day items}) items due to ambiguity. + +@example +# ISO 8601 extended date and time of day format +1972-09-24T20:02:00,000000-0500 +@end example + +@cindex @sc{iso} 8601 date and time of day format +@cindex date and time of day format, @sc{iso} 8601 + +The @sc{iso} 8601 extended date and time of day format is an @sc{iso} +8601 date, a @samp{T} character separator, followed by an @sc{iso} 8601 time +of day. + + @node Day of week items @section Day of week items diff --git a/doc/pastposix-functions/bcmp.texi b/doc/pastposix-functions/bcmp.texi index 52ec4a64c..d9b00b56c 100644 --- a/doc/pastposix-functions/bcmp.texi +++ b/doc/pastposix-functions/bcmp.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Solaris 2.4, mingw. +Solaris 2.4, mingw, MSVC 9. @item This function is marked as ``legacy'' in POSIX. Better use @code{memcmp} instead. diff --git a/doc/pastposix-functions/bcopy.texi b/doc/pastposix-functions/bcopy.texi index 2893b4828..df63c64ab 100644 --- a/doc/pastposix-functions/bcopy.texi +++ b/doc/pastposix-functions/bcopy.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -Solaris 2.4, mingw. +Solaris 2.4, mingw, MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/pastposix-functions/bsd_signal.texi b/doc/pastposix-functions/bsd_signal.texi index 509ada654..6f168adfc 100644 --- a/doc/pastposix-functions/bsd_signal.texi +++ b/doc/pastposix-functions/bsd_signal.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, IRIX 5.3, Solaris 2.5.1, Cygwin, mingw, Interix 3.5. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, IRIX 5.3, Solaris 2.5.1, Cygwin, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/pastposix-functions/bzero.texi b/doc/pastposix-functions/bzero.texi index 418c98f52..f6dfe8283 100644 --- a/doc/pastposix-functions/bzero.texi +++ b/doc/pastposix-functions/bzero.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Solaris 2.4, mingw. +Solaris 2.4, mingw, MSVC 9. @item This function is marked as ``legacy'' in POSIX. Better use @code{memset} instead. diff --git a/doc/pastposix-functions/getcontext.texi b/doc/pastposix-functions/getcontext.texi index e9af62c02..2effea6ea 100644 --- a/doc/pastposix-functions/getcontext.texi +++ b/doc/pastposix-functions/getcontext.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.4, OpenBSD 3.8, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.4, OpenBSD 3.8, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/pastposix-functions/gethostbyaddr.texi b/doc/pastposix-functions/gethostbyaddr.texi index 2f69066e5..a7dee696b 100644 --- a/doc/pastposix-functions/gethostbyaddr.texi +++ b/doc/pastposix-functions/gethostbyaddr.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @end itemize diff --git a/doc/pastposix-functions/gethostbyname.texi b/doc/pastposix-functions/gethostbyname.texi index be2df6392..f2a4e4c42 100644 --- a/doc/pastposix-functions/gethostbyname.texi +++ b/doc/pastposix-functions/gethostbyname.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @end itemize diff --git a/doc/pastposix-functions/getwd.texi b/doc/pastposix-functions/getwd.texi index 170a6e391..09a9398d8 100644 --- a/doc/pastposix-functions/getwd.texi +++ b/doc/pastposix-functions/getwd.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Solaris 2.4, mingw, BeOS. +Solaris 2.4, mingw, MSVC 9, BeOS. @item The size of the buffer required for this function is not a compile-time constant. Also, the function truncates a result that would be larger than diff --git a/doc/pastposix-functions/h_errno.texi b/doc/pastposix-functions/h_errno.texi index d488a81ca..728c113f3 100644 --- a/doc/pastposix-functions/h_errno.texi +++ b/doc/pastposix-functions/h_errno.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -IRIX 6.5, OSF/1 5.1, Cygwin, mingw, Interix 3.5. +IRIX 6.5, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/pastposix-functions/index.texi b/doc/pastposix-functions/index.texi index e28514a8a..4c2314a48 100644 --- a/doc/pastposix-functions/index.texi +++ b/doc/pastposix-functions/index.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Solaris 2.4, mingw. +Solaris 2.4, mingw, MSVC 9. @item This function is marked as ``legacy'' in POSIX. Better use @code{strchr} instead. diff --git a/doc/pastposix-functions/makecontext.texi b/doc/pastposix-functions/makecontext.texi index 82e4668b2..73bcf4196 100644 --- a/doc/pastposix-functions/makecontext.texi +++ b/doc/pastposix-functions/makecontext.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.4, OpenBSD 3.8, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.4, OpenBSD 3.8, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/pastposix-functions/pthread_attr_getstackaddr.texi b/doc/pastposix-functions/pthread_attr_getstackaddr.texi index 5e04bfdb9..67e2c6e86 100644 --- a/doc/pastposix-functions/pthread_attr_getstackaddr.texi +++ b/doc/pastposix-functions/pthread_attr_getstackaddr.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -HP-UX 11, Solaris 2.4, Cygwin, mingw, BeOS. +HP-UX 11, Solaris 2.4, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/pastposix-functions/pthread_attr_setstackaddr.texi b/doc/pastposix-functions/pthread_attr_setstackaddr.texi index 90cfb34cf..2cb6d1338 100644 --- a/doc/pastposix-functions/pthread_attr_setstackaddr.texi +++ b/doc/pastposix-functions/pthread_attr_setstackaddr.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -HP-UX 11, IRIX 5.3, Solaris 2.4, Cygwin, mingw, BeOS. +HP-UX 11, IRIX 5.3, Solaris 2.4, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/pastposix-functions/rindex.texi b/doc/pastposix-functions/rindex.texi index b68d89d8b..6b58b69e3 100644 --- a/doc/pastposix-functions/rindex.texi +++ b/doc/pastposix-functions/rindex.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Solaris 2.4, mingw. +Solaris 2.4, mingw, MSVC 9. @item This function is marked as ``legacy'' in POSIX. Better use @code{strrchr} instead. diff --git a/doc/pastposix-functions/setcontext.texi b/doc/pastposix-functions/setcontext.texi index b8b04fa96..3b098c7d9 100644 --- a/doc/pastposix-functions/setcontext.texi +++ b/doc/pastposix-functions/setcontext.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.4, OpenBSD 3.8, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.4, OpenBSD 3.8, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item The effects of this call are system and compiler optimization dependent, since it restores the contents of register-allocated variables but not diff --git a/doc/pastposix-functions/swapcontext.texi b/doc/pastposix-functions/swapcontext.texi index 30ea3a047..58b35c90f 100644 --- a/doc/pastposix-functions/swapcontext.texi +++ b/doc/pastposix-functions/swapcontext.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.4, OpenBSD 3.8, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.4, OpenBSD 3.8, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/pastposix-functions/ualarm.texi b/doc/pastposix-functions/ualarm.texi index dcfbe3ebe..de0740a6c 100644 --- a/doc/pastposix-functions/ualarm.texi +++ b/doc/pastposix-functions/ualarm.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Solaris 2.4, mingw, BeOS. +Solaris 2.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/pastposix-functions/usleep.texi b/doc/pastposix-functions/usleep.texi index 8ca0da9e5..468ec6670 100644 --- a/doc/pastposix-functions/usleep.texi +++ b/doc/pastposix-functions/usleep.texi @@ -16,7 +16,7 @@ mingw. This function is missing on some platforms. However, the replacement is designed to be lightweight, and may round to the neareset second; use @code{select} or @code{nanosleep} if better resolution is needed: -IRIX 5.3, Solaris 2.4, older mingw, BeOS. +IRIX 5.3, Solaris 2.4, older mingw, MSVC 9, BeOS. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/pastposix-functions/vfork.texi b/doc/pastposix-functions/vfork.texi index 66ebd08bb..f5bcf3dff 100644 --- a/doc/pastposix-functions/vfork.texi +++ b/doc/pastposix-functions/vfork.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -IRIX 6.5, mingw, BeOS. +IRIX 6.5, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/pastposix-functions/wcswcs.texi b/doc/pastposix-functions/wcswcs.texi index 28c8fedba..70fa1c613 100644 --- a/doc/pastposix-functions/wcswcs.texi +++ b/doc/pastposix-functions/wcswcs.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, IRIX 5.3, Solaris 2.5.1, Cygwin, mingw, BeOS. +MacOS X 10.5, FreeBSD 6.0, IRIX 5.3, Solaris 2.5.1, Cygwin, mingw, MSVC 9, BeOS. @item On AIX and Windows platforms, @code{wchar_t} is a 16-bit type and therefore cannot accommodate all Unicode characters. diff --git a/doc/posix-functions/_longjmp.texi b/doc/posix-functions/_longjmp.texi index c58da5f92..e1c2f3dc0 100644 --- a/doc/posix-functions/_longjmp.texi +++ b/doc/posix-functions/_longjmp.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Solaris 2.5.1, mingw. +Solaris 2.5.1, mingw, MSVC 9. @end itemize Note: A future revision of POSIX later than the 2008/2009 one may drop the diff --git a/doc/posix-functions/a64l.texi b/doc/posix-functions/a64l.texi index 787166a8c..7f8d974ee 100644 --- a/doc/posix-functions/a64l.texi +++ b/doc/posix-functions/a64l.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 6.0, Minix 3.1.8, mingw, BeOS. +FreeBSD 6.0, Minix 3.1.8, mingw, MSVC 9, BeOS. @item This function was not correctly implemented in glibc versions before 2.2.5. @end itemize diff --git a/doc/posix-functions/abort.texi b/doc/posix-functions/abort.texi index 865fbc7c4..004d7c35f 100644 --- a/doc/posix-functions/abort.texi +++ b/doc/posix-functions/abort.texi @@ -20,5 +20,5 @@ Cygwin 1.5.x. @item Some platforms always print a message to stderr, even if a SIGABRT handler uses longjmp to resume execution at a safe point: -mingw. +mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/acosf.texi b/doc/posix-functions/acosf.texi index ef62e5318..4afebe7dd 100644 --- a/doc/posix-functions/acosf.texi +++ b/doc/posix-functions/acosf.texi @@ -4,15 +4,18 @@ POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/acosf.html} -Gnulib module: --- +Gnulib module: acosf Portability problems fixed by Gnulib: @itemize +@item +This function is missing on some platforms: +Minix 3.1.8, AIX 5.1, Solaris 9. +@item +This function is only defined as a macro with arguments on some platforms: +MSVC 9. @end itemize Portability problems not fixed by Gnulib: @itemize -@item -This function is missing on some platforms: -Minix 3.1.8, AIX 5.1, Solaris 9. @end itemize diff --git a/doc/posix-functions/acosh.texi b/doc/posix-functions/acosh.texi index b2ca7639e..1b88d43df 100644 --- a/doc/posix-functions/acosh.texi +++ b/doc/posix-functions/acosh.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, mingw. +Minix 3.1.8, mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/acoshf.texi b/doc/posix-functions/acoshf.texi index dd35cfc10..7a452c3fe 100644 --- a/doc/posix-functions/acoshf.texi +++ b/doc/posix-functions/acoshf.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 9, mingw. +Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 9, mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/acoshl.texi b/doc/posix-functions/acoshl.texi index 55d684a3b..a113a5918 100644 --- a/doc/posix-functions/acoshl.texi +++ b/doc/posix-functions/acoshl.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 9, Cygwin, mingw, Interix 3.5, BeOS. +FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 9, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/acosl.texi b/doc/posix-functions/acosl.texi index 23cabc89e..271b39da4 100644 --- a/doc/posix-functions/acosl.texi +++ b/doc/posix-functions/acosl.texi @@ -12,6 +12,9 @@ Portability problems fixed by Gnulib: This function is missing on some platforms: FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 9, Cygwin, Interix 3.5, BeOS. @item +This function is only defined as a macro with arguments on some platforms: +MSVC 9. +@item This function is not declared on some platforms: MacOS X 10.3. @end itemize diff --git a/doc/posix-functions/aio_cancel.texi b/doc/posix-functions/aio_cancel.texi index 0d36ed7bd..ade954352 100644 --- a/doc/posix-functions/aio_cancel.texi +++ b/doc/posix-functions/aio_cancel.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, OSF/1 5.1, Solaris 2.4, Cygwin, mingw, Interix 3.5, BeOS. +NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, OSF/1 5.1, Solaris 2.4, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item On platforms where @code{off_t} is a 32-bit type, this function may not work correctly on files larger than 2 GB. The fix is to use the diff --git a/doc/posix-functions/aio_error.texi b/doc/posix-functions/aio_error.texi index fd753cd1e..7e93f94ab 100644 --- a/doc/posix-functions/aio_error.texi +++ b/doc/posix-functions/aio_error.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, OSF/1 5.1, Solaris 2.4, Cygwin, mingw, Interix 3.5, BeOS. +NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, OSF/1 5.1, Solaris 2.4, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item On platforms where @code{off_t} is a 32-bit type, this function may not work correctly on files larger than 2 GB. The fix is to use the diff --git a/doc/posix-functions/aio_fsync.texi b/doc/posix-functions/aio_fsync.texi index 2ee32e262..67163af62 100644 --- a/doc/posix-functions/aio_fsync.texi +++ b/doc/posix-functions/aio_fsync.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, OSF/1 5.1, Solaris 2.4, Cygwin, mingw, Interix 3.5, BeOS. +FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, OSF/1 5.1, Solaris 2.4, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item On platforms where @code{off_t} is a 32-bit type, this function may not work correctly on files larger than 2 GB. The fix is to use the diff --git a/doc/posix-functions/aio_read.texi b/doc/posix-functions/aio_read.texi index 6343dd2ee..d8c3baf21 100644 --- a/doc/posix-functions/aio_read.texi +++ b/doc/posix-functions/aio_read.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, OSF/1 5.1, Solaris 2.4, Cygwin, mingw, Interix 3.5, BeOS. +NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, OSF/1 5.1, Solaris 2.4, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item On platforms where @code{off_t} is a 32-bit type, this function may not work correctly on files larger than 2 GB. The fix is to use the diff --git a/doc/posix-functions/aio_return.texi b/doc/posix-functions/aio_return.texi index 50c8ac274..a4bd80296 100644 --- a/doc/posix-functions/aio_return.texi +++ b/doc/posix-functions/aio_return.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, OSF/1 5.1, Solaris 2.4, Cygwin, mingw, Interix 3.5, BeOS. +NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, OSF/1 5.1, Solaris 2.4, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item On platforms where @code{off_t} is a 32-bit type, this function may not work correctly on files larger than 2 GB. The fix is to use the diff --git a/doc/posix-functions/aio_suspend.texi b/doc/posix-functions/aio_suspend.texi index 9d0cd17a8..9b69996d0 100644 --- a/doc/posix-functions/aio_suspend.texi +++ b/doc/posix-functions/aio_suspend.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, OSF/1 5.1, Solaris 2.4, Cygwin, mingw, Interix 3.5, BeOS. +NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, OSF/1 5.1, Solaris 2.4, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item On platforms where @code{off_t} is a 32-bit type, this function may not work correctly on files larger than 2 GB. The fix is to use the diff --git a/doc/posix-functions/aio_write.texi b/doc/posix-functions/aio_write.texi index 397706380..0cbfb76cc 100644 --- a/doc/posix-functions/aio_write.texi +++ b/doc/posix-functions/aio_write.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, OSF/1 5.1, Solaris 2.4, Cygwin, mingw, Interix 3.5, BeOS. +NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, OSF/1 5.1, Solaris 2.4, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item On platforms where @code{off_t} is a 32-bit type, this function may not work correctly on files larger than 2 GB. The fix is to use the diff --git a/doc/posix-functions/alarm.texi b/doc/posix-functions/alarm.texi index 1d2744a47..79d2db140 100644 --- a/doc/posix-functions/alarm.texi +++ b/doc/posix-functions/alarm.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/alphasort.texi b/doc/posix-functions/alphasort.texi index 18adb5061..2c0fb8cd3 100644 --- a/doc/posix-functions/alphasort.texi +++ b/doc/posix-functions/alphasort.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Solaris 9, mingw, BeOS. +Minix 3.1.8, Solaris 9, mingw, MSVC 9, BeOS. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/asctime_r.texi b/doc/posix-functions/asctime_r.texi index 93b8ca37a..51474f3b9 100644 --- a/doc/posix-functions/asctime_r.texi +++ b/doc/posix-functions/asctime_r.texi @@ -17,7 +17,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @item This function may put more than 26 bytes into the argument buffer if an invalid year is passed. diff --git a/doc/posix-functions/asinf.texi b/doc/posix-functions/asinf.texi index 16e432d04..fbf532b89 100644 --- a/doc/posix-functions/asinf.texi +++ b/doc/posix-functions/asinf.texi @@ -4,15 +4,18 @@ POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/asinf.html} -Gnulib module: --- +Gnulib module: asinf Portability problems fixed by Gnulib: @itemize +@item +This function is missing on some platforms: +Minix 3.1.8, AIX 5.1, Solaris 9. +@item +This function is only defined as a macro with arguments on some platforms: +MSVC 9. @end itemize Portability problems not fixed by Gnulib: @itemize -@item -This function is missing on some platforms: -Minix 3.1.8, AIX 5.1, Solaris 9. @end itemize diff --git a/doc/posix-functions/asinh.texi b/doc/posix-functions/asinh.texi index 7412fe3b7..cee424ef3 100644 --- a/doc/posix-functions/asinh.texi +++ b/doc/posix-functions/asinh.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, mingw. +Minix 3.1.8, mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/asinhf.texi b/doc/posix-functions/asinhf.texi index 82cf591aa..6a2994c34 100644 --- a/doc/posix-functions/asinhf.texi +++ b/doc/posix-functions/asinhf.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 9, mingw. +Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 9, mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/asinhl.texi b/doc/posix-functions/asinhl.texi index 822d5868a..3a5d9f6e4 100644 --- a/doc/posix-functions/asinhl.texi +++ b/doc/posix-functions/asinhl.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 9, Cygwin, mingw, Interix 3.5, BeOS. +FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 9, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/asinl.texi b/doc/posix-functions/asinl.texi index db10ae595..2ed1f02c6 100644 --- a/doc/posix-functions/asinl.texi +++ b/doc/posix-functions/asinl.texi @@ -12,6 +12,9 @@ Portability problems fixed by Gnulib: This function is missing on some platforms: FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 9, Cygwin, Interix 3.5, BeOS. @item +This function is only defined as a macro with arguments on some platforms: +MSVC 9. +@item This function is not declared on some platforms: MacOS X 10.3. @end itemize diff --git a/doc/posix-functions/atan2f.texi b/doc/posix-functions/atan2f.texi index c57a1ae89..14f180cdc 100644 --- a/doc/posix-functions/atan2f.texi +++ b/doc/posix-functions/atan2f.texi @@ -4,15 +4,18 @@ POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/atan2f.html} -Gnulib module: --- +Gnulib module: atan2f Portability problems fixed by Gnulib: @itemize +@item +This function is missing on some platforms: +Minix 3.1.8, AIX 5.1, Solaris 9. +@item +This function is only defined as a macro with arguments on some platforms: +MSVC 9. @end itemize Portability problems not fixed by Gnulib: @itemize -@item -This function is missing on some platforms: -Minix 3.1.8, AIX 5.1, Solaris 9. @end itemize diff --git a/doc/posix-functions/atan2l.texi b/doc/posix-functions/atan2l.texi index 84bc12e6e..03c08b7c3 100644 --- a/doc/posix-functions/atan2l.texi +++ b/doc/posix-functions/atan2l.texi @@ -15,4 +15,7 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 9, Cygwin, Interix 3.5, BeOS. +@item +This function is only defined as a macro with arguments on some platforms: +MSVC 9. @end itemize diff --git a/doc/posix-functions/atanf.texi b/doc/posix-functions/atanf.texi index 993215ad9..509937aab 100644 --- a/doc/posix-functions/atanf.texi +++ b/doc/posix-functions/atanf.texi @@ -4,15 +4,18 @@ POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/atanf.html} -Gnulib module: --- +Gnulib module: atanf Portability problems fixed by Gnulib: @itemize +@item +This function is missing on some platforms: +Minix 3.1.8, AIX 5.1, Solaris 9. +@item +This function is only defined as a macro with arguments on some platforms: +MSVC 9. @end itemize Portability problems not fixed by Gnulib: @itemize -@item -This function is missing on some platforms: -Minix 3.1.8, AIX 5.1, Solaris 9. @end itemize diff --git a/doc/posix-functions/atanh.texi b/doc/posix-functions/atanh.texi index 55d69756a..d2405249b 100644 --- a/doc/posix-functions/atanh.texi +++ b/doc/posix-functions/atanh.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, mingw. +Minix 3.1.8, mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/atanhf.texi b/doc/posix-functions/atanhf.texi index 2e27e794a..cc61d484f 100644 --- a/doc/posix-functions/atanhf.texi +++ b/doc/posix-functions/atanhf.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 9, mingw. +Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 9, mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/atanhl.texi b/doc/posix-functions/atanhl.texi index 07647ec16..ce0dd511b 100644 --- a/doc/posix-functions/atanhl.texi +++ b/doc/posix-functions/atanhl.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 9, Cygwin, mingw, Interix 3.5, BeOS. +FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 9, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/atanl.texi b/doc/posix-functions/atanl.texi index 8698c3abd..6f9397a62 100644 --- a/doc/posix-functions/atanl.texi +++ b/doc/posix-functions/atanl.texi @@ -12,6 +12,9 @@ Portability problems fixed by Gnulib: This function is missing on some platforms: FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 9, Cygwin, Interix 3.5, BeOS. @item +This function is only defined as a macro with arguments on some platforms: +MSVC 9. +@item This function is not declared on some platforms: MacOS X 10.3. @end itemize diff --git a/doc/posix-functions/atoll.texi b/doc/posix-functions/atoll.texi index d07da8559..648b51e2e 100644 --- a/doc/posix-functions/atoll.texi +++ b/doc/posix-functions/atoll.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, AIX 5.1, HP-UX 11.23, OSF/1 5.1, Interix 3.5. +Minix 3.1.8, AIX 5.1, HP-UX 11.23, OSF/1 5.1, MSVC 9, Interix 3.5. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/basename.texi b/doc/posix-functions/basename.texi index ef22e36e0..699f28e4b 100644 --- a/doc/posix-functions/basename.texi +++ b/doc/posix-functions/basename.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -IRIX 6.5, Solaris 2.5.1, mingw, BeOS. +IRIX 6.5, Solaris 2.5.1, mingw, MSVC 9, BeOS. @item glibc has two different functions @code{basename}: the POSIX version and the GNU version. diff --git a/doc/posix-functions/cabsf.texi b/doc/posix-functions/cabsf.texi index 2b0b07e4c..c1eb4cee4 100644 --- a/doc/posix-functions/cabsf.texi +++ b/doc/posix-functions/cabsf.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, AIX 5.1, HP-UX 11, Solaris 9, mingw. +Minix 3.1.8, AIX 5.1, HP-UX 11, Solaris 9, mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/cabsl.texi b/doc/posix-functions/cabsl.texi index d3aad46b8..8cdccc55a 100644 --- a/doc/posix-functions/cabsl.texi +++ b/doc/posix-functions/cabsl.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, mingw, Interix 3.5, BeOS. +FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/cacos.texi b/doc/posix-functions/cacos.texi index 04a72d2d4..1da9b6d94 100644 --- a/doc/posix-functions/cacos.texi +++ b/doc/posix-functions/cacos.texi @@ -15,5 +15,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, -OSF/1 4.0, Solaris 9, Cygwin 1.7.7, mingw, Interix 3.5. +OSF/1 4.0, Solaris 9, Cygwin 1.7.7, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/cacosf.texi b/doc/posix-functions/cacosf.texi index 1109df16c..bc2c0128f 100644 --- a/doc/posix-functions/cacosf.texi +++ b/doc/posix-functions/cacosf.texi @@ -15,5 +15,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, -OSF/1 4.0, Solaris 9, Cygwin 1.7.7, mingw, Interix 3.5. +OSF/1 4.0, Solaris 9, Cygwin 1.7.7, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/cacosh.texi b/doc/posix-functions/cacosh.texi index c7940e334..b1635258d 100644 --- a/doc/posix-functions/cacosh.texi +++ b/doc/posix-functions/cacosh.texi @@ -15,5 +15,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, -OSF/1 4.0, Solaris 9, Cygwin 1.7.7, mingw, Interix 3.5. +OSF/1 4.0, Solaris 9, Cygwin 1.7.7, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/cacoshf.texi b/doc/posix-functions/cacoshf.texi index 3e32d6f33..14c94eef1 100644 --- a/doc/posix-functions/cacoshf.texi +++ b/doc/posix-functions/cacoshf.texi @@ -15,5 +15,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, -OSF/1 4.0, Solaris 9, Cygwin 1.7.7, mingw, Interix 3.5. +OSF/1 4.0, Solaris 9, Cygwin 1.7.7, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/cacoshl.texi b/doc/posix-functions/cacoshl.texi index b085f814a..2db9634f2 100644 --- a/doc/posix-functions/cacoshl.texi +++ b/doc/posix-functions/cacoshl.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, mingw, Interix 3.5, BeOS. +FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/cacosl.texi b/doc/posix-functions/cacosl.texi index de41cfcd2..3289a52f4 100644 --- a/doc/posix-functions/cacosl.texi +++ b/doc/posix-functions/cacosl.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, mingw, Interix 3.5, BeOS. +FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/calloc.texi b/doc/posix-functions/calloc.texi index d0b79e0f4..fd41e7892 100644 --- a/doc/posix-functions/calloc.texi +++ b/doc/posix-functions/calloc.texi @@ -11,7 +11,7 @@ Portability problems fixed by Gnulib: @item Upon failure, the function does not set @code{errno} to @code{ENOMEM} on some platforms: -mingw. +mingw, MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/carg.texi b/doc/posix-functions/carg.texi index a7b0a0974..facd130e0 100644 --- a/doc/posix-functions/carg.texi +++ b/doc/posix-functions/carg.texi @@ -15,5 +15,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, -OSF/1 4.0, Solaris 9, Cygwin 1.7.7, mingw, Interix 3.5. +OSF/1 4.0, Solaris 9, Cygwin 1.7.7, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/cargf.texi b/doc/posix-functions/cargf.texi index 672d51cb0..0721b0125 100644 --- a/doc/posix-functions/cargf.texi +++ b/doc/posix-functions/cargf.texi @@ -15,5 +15,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, -OSF/1 4.0, Solaris 9, Cygwin 1.7.7, mingw, Interix 3.5. +OSF/1 4.0, Solaris 9, Cygwin 1.7.7, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/cargl.texi b/doc/posix-functions/cargl.texi index 65af7a6bb..2d1499544 100644 --- a/doc/posix-functions/cargl.texi +++ b/doc/posix-functions/cargl.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, mingw, Interix 3.5, BeOS. +FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/casin.texi b/doc/posix-functions/casin.texi index 91acad97b..ebaf01120 100644 --- a/doc/posix-functions/casin.texi +++ b/doc/posix-functions/casin.texi @@ -15,5 +15,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, -OSF/1 4.0, Solaris 9, Cygwin 1.7.7, mingw, Interix 3.5. +OSF/1 4.0, Solaris 9, Cygwin 1.7.7, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/casinf.texi b/doc/posix-functions/casinf.texi index 5ead3fa00..0b75f128e 100644 --- a/doc/posix-functions/casinf.texi +++ b/doc/posix-functions/casinf.texi @@ -15,5 +15,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, -OSF/1 4.0, Solaris 9, Cygwin 1.7.7, mingw, Interix 3.5. +OSF/1 4.0, Solaris 9, Cygwin 1.7.7, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/casinh.texi b/doc/posix-functions/casinh.texi index 87b02cb2e..9720097d1 100644 --- a/doc/posix-functions/casinh.texi +++ b/doc/posix-functions/casinh.texi @@ -15,5 +15,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, -OSF/1 4.0, Solaris 9, Cygwin 1.7.7, mingw, Interix 3.5. +OSF/1 4.0, Solaris 9, Cygwin 1.7.7, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/casinhf.texi b/doc/posix-functions/casinhf.texi index c6f242844..fc1e779f7 100644 --- a/doc/posix-functions/casinhf.texi +++ b/doc/posix-functions/casinhf.texi @@ -15,5 +15,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, -OSF/1 4.0, Solaris 9, Cygwin 1.7.7, mingw, Interix 3.5. +OSF/1 4.0, Solaris 9, Cygwin 1.7.7, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/casinhl.texi b/doc/posix-functions/casinhl.texi index 28439c928..063d856bf 100644 --- a/doc/posix-functions/casinhl.texi +++ b/doc/posix-functions/casinhl.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, mingw, Interix 3.5, BeOS. +FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/casinl.texi b/doc/posix-functions/casinl.texi index d916155cd..1c217ea98 100644 --- a/doc/posix-functions/casinl.texi +++ b/doc/posix-functions/casinl.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, mingw, Interix 3.5, BeOS. +FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/catan.texi b/doc/posix-functions/catan.texi index 2fa6fc74e..f541fc1aa 100644 --- a/doc/posix-functions/catan.texi +++ b/doc/posix-functions/catan.texi @@ -15,5 +15,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, -OSF/1 4.0, Solaris 9, Cygwin 1.7.7, mingw, Interix 3.5. +OSF/1 4.0, Solaris 9, Cygwin 1.7.7, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/catanf.texi b/doc/posix-functions/catanf.texi index c9026f6a0..ba36891b4 100644 --- a/doc/posix-functions/catanf.texi +++ b/doc/posix-functions/catanf.texi @@ -15,5 +15,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, -OSF/1 4.0, Solaris 9, Cygwin 1.7.7, mingw, Interix 3.5. +OSF/1 4.0, Solaris 9, Cygwin 1.7.7, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/catanh.texi b/doc/posix-functions/catanh.texi index 86732782c..54e841ecf 100644 --- a/doc/posix-functions/catanh.texi +++ b/doc/posix-functions/catanh.texi @@ -15,5 +15,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, -OSF/1 4.0, Solaris 9, Cygwin 1.7.7, mingw, Interix 3.5. +OSF/1 4.0, Solaris 9, Cygwin 1.7.7, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/catanhf.texi b/doc/posix-functions/catanhf.texi index 32c6ac9a4..8e51e72b3 100644 --- a/doc/posix-functions/catanhf.texi +++ b/doc/posix-functions/catanhf.texi @@ -15,5 +15,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, -OSF/1 4.0, Solaris 9, Cygwin 1.7.7, mingw, Interix 3.5. +OSF/1 4.0, Solaris 9, Cygwin 1.7.7, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/catanhl.texi b/doc/posix-functions/catanhl.texi index 8c5596fdb..e92a47df4 100644 --- a/doc/posix-functions/catanhl.texi +++ b/doc/posix-functions/catanhl.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, mingw, Interix 3.5, BeOS. +FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/catanl.texi b/doc/posix-functions/catanl.texi index 83f651e1b..ce37277e8 100644 --- a/doc/posix-functions/catanl.texi +++ b/doc/posix-functions/catanl.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, mingw, Interix 3.5, BeOS. +FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/catclose.texi b/doc/posix-functions/catclose.texi index da2d1902b..bfcab3d8f 100644 --- a/doc/posix-functions/catclose.texi +++ b/doc/posix-functions/catclose.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/catgets.texi b/doc/posix-functions/catgets.texi index 4a6fe80ca..b64bab606 100644 --- a/doc/posix-functions/catgets.texi +++ b/doc/posix-functions/catgets.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/catopen.texi b/doc/posix-functions/catopen.texi index 4998ce838..8f12f6081 100644 --- a/doc/posix-functions/catopen.texi +++ b/doc/posix-functions/catopen.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/cbrt.texi b/doc/posix-functions/cbrt.texi index f9ccbe258..16c455e81 100644 --- a/doc/posix-functions/cbrt.texi +++ b/doc/posix-functions/cbrt.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8. +Minix 3.1.8, MSVC 9. @end itemize diff --git a/doc/posix-functions/cbrtf.texi b/doc/posix-functions/cbrtf.texi index 1f7f2434f..4d98051e4 100644 --- a/doc/posix-functions/cbrtf.texi +++ b/doc/posix-functions/cbrtf.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, AIX 5.1, IRIX 6.5, Solaris 9. +Minix 3.1.8, AIX 5.1, IRIX 6.5, Solaris 9, MSVC 9. @end itemize diff --git a/doc/posix-functions/cbrtl.texi b/doc/posix-functions/cbrtl.texi index 1cf0383b7..9faaa28dc 100644 --- a/doc/posix-functions/cbrtl.texi +++ b/doc/posix-functions/cbrtl.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 9, Cygwin, Interix 3.5, BeOS. +FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 9, Cygwin, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/ccos.texi b/doc/posix-functions/ccos.texi index d8af05b82..8deeac3c9 100644 --- a/doc/posix-functions/ccos.texi +++ b/doc/posix-functions/ccos.texi @@ -15,5 +15,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, -Solaris 9, Cygwin 1.7.7, mingw, Interix 3.5. +Solaris 9, Cygwin 1.7.7, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/ccosf.texi b/doc/posix-functions/ccosf.texi index 4ef861dff..96261d527 100644 --- a/doc/posix-functions/ccosf.texi +++ b/doc/posix-functions/ccosf.texi @@ -15,5 +15,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, -Solaris 9, Cygwin 1.7.7, mingw, Interix 3.5. +Solaris 9, Cygwin 1.7.7, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/ccosh.texi b/doc/posix-functions/ccosh.texi index ceb8724e6..e170cedf5 100644 --- a/doc/posix-functions/ccosh.texi +++ b/doc/posix-functions/ccosh.texi @@ -15,5 +15,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, -OSF/1 4.0, Solaris 9, Cygwin 1.7.7, mingw, Interix 3.5. +OSF/1 4.0, Solaris 9, Cygwin 1.7.7, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/ccoshf.texi b/doc/posix-functions/ccoshf.texi index 58eb22feb..c02dabe2f 100644 --- a/doc/posix-functions/ccoshf.texi +++ b/doc/posix-functions/ccoshf.texi @@ -15,5 +15,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, -OSF/1 4.0, Solaris 9, Cygwin 1.7.7, mingw, Interix 3.5. +OSF/1 4.0, Solaris 9, Cygwin 1.7.7, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/ccoshl.texi b/doc/posix-functions/ccoshl.texi index 153ed87f0..9a2f12216 100644 --- a/doc/posix-functions/ccoshl.texi +++ b/doc/posix-functions/ccoshl.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, mingw, Interix 3.5, BeOS. +FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/ccosl.texi b/doc/posix-functions/ccosl.texi index dca44ab9a..31817a6aa 100644 --- a/doc/posix-functions/ccosl.texi +++ b/doc/posix-functions/ccosl.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, mingw, Interix 3.5, BeOS. +FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/ceilf.texi b/doc/posix-functions/ceilf.texi index bb40ab109..880936ff0 100644 --- a/doc/posix-functions/ceilf.texi +++ b/doc/posix-functions/ceilf.texi @@ -11,6 +11,9 @@ Portability problems fixed by either Gnulib module @code{ceilf} or @code{ceilf-i @item This function is missing on some platforms: Minix 3.1.8, AIX 5.1, HP-UX 11, Solaris 9. +@item +This function is only defined as a macro with arguments on some platforms: +MSVC 9. @end itemize Portability problems fixed by Gnulib module @code{ceilf-ieee}: diff --git a/doc/posix-functions/ceill.texi b/doc/posix-functions/ceill.texi index 75030b280..8c7b0dc1b 100644 --- a/doc/posix-functions/ceill.texi +++ b/doc/posix-functions/ceill.texi @@ -11,6 +11,9 @@ Portability problems fixed by either Gnulib module @code{ceill} or @code{ceill-i @item This function is missing on some platforms: FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 9, Cygwin, Interix 3.5, BeOS. +@item +This function is only defined as a macro with arguments on some platforms: +MSVC 9. @end itemize Portability problems fixed by Gnulib module @code{ceill-ieee}: diff --git a/doc/posix-functions/cexp.texi b/doc/posix-functions/cexp.texi index 9462179c0..d3bae3371 100644 --- a/doc/posix-functions/cexp.texi +++ b/doc/posix-functions/cexp.texi @@ -15,5 +15,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, -Solaris 9, Cygwin 1.7.7, mingw, Interix 3.5. +Solaris 9, Cygwin 1.7.7, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/cexpf.texi b/doc/posix-functions/cexpf.texi index 248ecc277..1c1914b4a 100644 --- a/doc/posix-functions/cexpf.texi +++ b/doc/posix-functions/cexpf.texi @@ -15,5 +15,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, -Solaris 9, Cygwin 1.7.7, mingw, Interix 3.5. +Solaris 9, Cygwin 1.7.7, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/cexpl.texi b/doc/posix-functions/cexpl.texi index c9ef539ad..4ed421ed9 100644 --- a/doc/posix-functions/cexpl.texi +++ b/doc/posix-functions/cexpl.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, mingw, Interix 3.5, BeOS. +FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/cfgetispeed.texi b/doc/posix-functions/cfgetispeed.texi index 3a7da166a..4ef8dbd9d 100644 --- a/doc/posix-functions/cfgetispeed.texi +++ b/doc/posix-functions/cfgetispeed.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/cfgetospeed.texi b/doc/posix-functions/cfgetospeed.texi index 6d9e0adfd..9f3ba71d9 100644 --- a/doc/posix-functions/cfgetospeed.texi +++ b/doc/posix-functions/cfgetospeed.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/cfsetispeed.texi b/doc/posix-functions/cfsetispeed.texi index 5158e22d3..e950f92bf 100644 --- a/doc/posix-functions/cfsetispeed.texi +++ b/doc/posix-functions/cfsetispeed.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/cfsetospeed.texi b/doc/posix-functions/cfsetospeed.texi index 69c757b1b..e40b62faf 100644 --- a/doc/posix-functions/cfsetospeed.texi +++ b/doc/posix-functions/cfsetospeed.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/chdir.texi b/doc/posix-functions/chdir.texi index 2a507ac5b..d3b3c3f0f 100644 --- a/doc/posix-functions/chdir.texi +++ b/doc/posix-functions/chdir.texi @@ -8,6 +8,10 @@ Gnulib module: --- Portability problems fixed by Gnulib: @itemize +@item +This function is declared in different header files (namely, @code{} or +@code{}) on some platforms: +mingw, MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/chown.texi b/doc/posix-functions/chown.texi index d62428c3e..f742e6cfa 100644 --- a/doc/posix-functions/chown.texi +++ b/doc/posix-functions/chown.texi @@ -26,7 +26,7 @@ the symlink, i.e.@: they behave like @code{lchown}. @item This function is missing on some platforms; however, the replacement always fails with @code{ENOSYS}: -mingw. +mingw, MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/cimag.texi b/doc/posix-functions/cimag.texi index 1b113ee20..91383957e 100644 --- a/doc/posix-functions/cimag.texi +++ b/doc/posix-functions/cimag.texi @@ -15,5 +15,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: FreeBSD 5.2.1, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, -OSF/1 4.0, Solaris 9, Cygwin 1.7.7, mingw, Interix 3.5. +OSF/1 4.0, Solaris 9, Cygwin 1.7.7, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/cimagf.texi b/doc/posix-functions/cimagf.texi index d6a66b97b..26af2b262 100644 --- a/doc/posix-functions/cimagf.texi +++ b/doc/posix-functions/cimagf.texi @@ -15,5 +15,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: FreeBSD 5.2.1, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, -OSF/1 4.0, Solaris 9, Cygwin 1.7.7, mingw, Interix 3.5. +OSF/1 4.0, Solaris 9, Cygwin 1.7.7, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/cimagl.texi b/doc/posix-functions/cimagl.texi index 8549b9d97..c9cd91af4 100644 --- a/doc/posix-functions/cimagl.texi +++ b/doc/posix-functions/cimagl.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, mingw, Interix 3.5, BeOS. +FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/clock_getcpuclockid.texi b/doc/posix-functions/clock_getcpuclockid.texi index 12e7f84f2..f7099167d 100644 --- a/doc/posix-functions/clock_getcpuclockid.texi +++ b/doc/posix-functions/clock_getcpuclockid.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/clock_getres.texi b/doc/posix-functions/clock_getres.texi index 4560663a4..9d8dd3349 100644 --- a/doc/posix-functions/clock_getres.texi +++ b/doc/posix-functions/clock_getres.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, Minix 3.1.8, IRIX 5.3, Solaris 2.4, mingw, Interix 3.5, BeOS. +MacOS X 10.5, Minix 3.1.8, IRIX 5.3, Solaris 2.4, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/clock_gettime.texi b/doc/posix-functions/clock_gettime.texi index 370418b0a..1d7724dfd 100644 --- a/doc/posix-functions/clock_gettime.texi +++ b/doc/posix-functions/clock_gettime.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, Minix 3.1.8, IRIX 5.3, Solaris 2.4, mingw, Interix 3.5, BeOS. +MacOS X 10.5, Minix 3.1.8, IRIX 5.3, Solaris 2.4, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/clock_nanosleep.texi b/doc/posix-functions/clock_nanosleep.texi index 891936d04..6cc55ec4b 100644 --- a/doc/posix-functions/clock_nanosleep.texi +++ b/doc/posix-functions/clock_nanosleep.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/clock_settime.texi b/doc/posix-functions/clock_settime.texi index 1c339c720..e813abe0a 100644 --- a/doc/posix-functions/clock_settime.texi +++ b/doc/posix-functions/clock_settime.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, Minix 3.1.8, IRIX 5.3, Solaris 2.4, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, Minix 3.1.8, IRIX 5.3, Solaris 2.4, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/clog.texi b/doc/posix-functions/clog.texi index 2f4779835..88ca37998 100644 --- a/doc/posix-functions/clog.texi +++ b/doc/posix-functions/clog.texi @@ -15,5 +15,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, -Solaris 9, Cygwin 1.7.7, mingw, Interix 3.5. +Solaris 9, Cygwin 1.7.7, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/clogf.texi b/doc/posix-functions/clogf.texi index fb88407c0..1a3b0d573 100644 --- a/doc/posix-functions/clogf.texi +++ b/doc/posix-functions/clogf.texi @@ -15,5 +15,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, -Solaris 9, Cygwin 1.7.7, mingw, Interix 3.5. +Solaris 9, Cygwin 1.7.7, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/clogl.texi b/doc/posix-functions/clogl.texi index 19ca507b4..376aafa4a 100644 --- a/doc/posix-functions/clogl.texi +++ b/doc/posix-functions/clogl.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, mingw, Interix 3.5, BeOS. +FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/close.texi b/doc/posix-functions/close.texi index e93156f41..a1dc7034b 100644 --- a/doc/posix-functions/close.texi +++ b/doc/posix-functions/close.texi @@ -9,6 +9,9 @@ Gnulib module: close Portability problems fixed by Gnulib: @itemize @item +This function crashes when invoked with invalid arguments on some platforms: +MSVC 9. +@item On Windows platforms (excluding Cygwin), @code{socket} and @code{accept} do not return file descriptors that can be closed by @code{close}. Instead, @code{closesocket} must be used. diff --git a/doc/posix-functions/closedir.texi b/doc/posix-functions/closedir.texi index 4c8820cde..c8a1d386d 100644 --- a/doc/posix-functions/closedir.texi +++ b/doc/posix-functions/closedir.texi @@ -4,10 +4,13 @@ POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/closedir.html} -Gnulib module: --- +Gnulib module: closedir Portability problems fixed by Gnulib: @itemize +@item +This function is missing on some platforms: +MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/closelog.texi b/doc/posix-functions/closelog.texi index dbf3449f6..7e9247d17 100644 --- a/doc/posix-functions/closelog.texi +++ b/doc/posix-functions/closelog.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw, BeOS. +mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/confstr.texi b/doc/posix-functions/confstr.texi index 5dd8114ec..6922aedd3 100644 --- a/doc/posix-functions/confstr.texi +++ b/doc/posix-functions/confstr.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, IRIX 5.3, Cygwin 1.5.x, mingw. +Minix 3.1.8, IRIX 5.3, Cygwin 1.5.x, mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/conj.texi b/doc/posix-functions/conj.texi index 0962196ea..23818e875 100644 --- a/doc/posix-functions/conj.texi +++ b/doc/posix-functions/conj.texi @@ -15,5 +15,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: FreeBSD 5.2.1, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, -OSF/1 4.0, Solaris 9, Cygwin 1.7.7, mingw, Interix 3.5. +OSF/1 4.0, Solaris 9, Cygwin 1.7.7, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/conjf.texi b/doc/posix-functions/conjf.texi index 57c44bf57..5aba78de1 100644 --- a/doc/posix-functions/conjf.texi +++ b/doc/posix-functions/conjf.texi @@ -15,5 +15,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: FreeBSD 5.2.1, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, -OSF/1 4.0, Solaris 9, Cygwin 1.7.7, mingw, Interix 3.5. +OSF/1 4.0, Solaris 9, Cygwin 1.7.7, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/conjl.texi b/doc/posix-functions/conjl.texi index 71475008b..05e88496c 100644 --- a/doc/posix-functions/conjl.texi +++ b/doc/posix-functions/conjl.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, mingw, Interix 3.5, BeOS. +FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/copysign.texi b/doc/posix-functions/copysign.texi index 59878383f..dbacb0db5 100644 --- a/doc/posix-functions/copysign.texi +++ b/doc/posix-functions/copysign.texi @@ -8,11 +8,11 @@ Gnulib module: copysign Portability problems fixed by Gnulib: @itemize +@item +This function is missing on some platforms: +Minix 3.1.8, MSVC 9. @end itemize Portability problems not fixed by Gnulib: @itemize -@item -This function is missing on some platforms: -Minix 3.1.8. @end itemize diff --git a/doc/posix-functions/copysignf.texi b/doc/posix-functions/copysignf.texi index 477dd79f7..5c3154f69 100644 --- a/doc/posix-functions/copysignf.texi +++ b/doc/posix-functions/copysignf.texi @@ -4,15 +4,15 @@ POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/copysignf.html} -Gnulib module: --- +Gnulib module: copysignf Portability problems fixed by Gnulib: @itemize +@item +This function is missing on some platforms: +Minix 3.1.8, AIX 5.1, IRIX 6.5, Solaris 9, MSVC 9. @end itemize Portability problems not fixed by Gnulib: @itemize -@item -This function is missing on some platforms: -Minix 3.1.8, AIX 5.1, IRIX 6.5, Solaris 9. @end itemize diff --git a/doc/posix-functions/copysignl.texi b/doc/posix-functions/copysignl.texi index 89986a977..838051b13 100644 --- a/doc/posix-functions/copysignl.texi +++ b/doc/posix-functions/copysignl.texi @@ -4,15 +4,15 @@ POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/copysignl.html} -Gnulib module: --- +Gnulib module: copysignl Portability problems fixed by Gnulib: @itemize +@item +This function is missing on some platforms: +FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, older IRIX 6.5, Solaris 9, Cygwin, MSVC 9, Interix 3.5. @end itemize Portability problems not fixed by Gnulib: @itemize -@item -This function is missing on some platforms: -FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 9, Cygwin, Interix 3.5. @end itemize diff --git a/doc/posix-functions/cosf.texi b/doc/posix-functions/cosf.texi index aea81b170..f814162c5 100644 --- a/doc/posix-functions/cosf.texi +++ b/doc/posix-functions/cosf.texi @@ -4,15 +4,18 @@ POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/cosf.html} -Gnulib module: --- +Gnulib module: cosf Portability problems fixed by Gnulib: @itemize +@item +This function is missing on some platforms: +Minix 3.1.8, AIX 5.1, Solaris 9. +@item +This function is only defined as a macro with arguments on some platforms: +MSVC 9. @end itemize Portability problems not fixed by Gnulib: @itemize -@item -This function is missing on some platforms: -Minix 3.1.8, AIX 5.1, Solaris 9. @end itemize diff --git a/doc/posix-functions/coshf.texi b/doc/posix-functions/coshf.texi index e2c7ea015..8b883dfed 100644 --- a/doc/posix-functions/coshf.texi +++ b/doc/posix-functions/coshf.texi @@ -4,15 +4,18 @@ POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/coshf.html} -Gnulib module: --- +Gnulib module: coshf Portability problems fixed by Gnulib: @itemize +@item +This function is missing on some platforms: +Minix 3.1.8, AIX 5.1, Solaris 9. +@item +This function is only defined as a macro with arguments on some platforms: +MSVC 9. @end itemize Portability problems not fixed by Gnulib: @itemize -@item -This function is missing on some platforms: -Minix 3.1.8, AIX 5.1, Solaris 9. @end itemize diff --git a/doc/posix-functions/coshl.texi b/doc/posix-functions/coshl.texi index 21dec4f42..27c676626 100644 --- a/doc/posix-functions/coshl.texi +++ b/doc/posix-functions/coshl.texi @@ -15,4 +15,7 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 9, Cygwin, Interix 3.5, BeOS. +@item +This function is only defined as a macro with arguments on some platforms: +MSVC 9. @end itemize diff --git a/doc/posix-functions/cosl.texi b/doc/posix-functions/cosl.texi index 4c1f02d33..1cba33c31 100644 --- a/doc/posix-functions/cosl.texi +++ b/doc/posix-functions/cosl.texi @@ -12,6 +12,9 @@ Portability problems fixed by Gnulib: This function is missing on some platforms: FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 9, Cygwin, Interix 3.5, BeOS. @item +This function is only defined as a macro with arguments on some platforms: +MSVC 9. +@item This function is not declared on some platforms: MacOS X 10.3. @end itemize diff --git a/doc/posix-functions/cpow.texi b/doc/posix-functions/cpow.texi index 8397ed16e..df5d06a0f 100644 --- a/doc/posix-functions/cpow.texi +++ b/doc/posix-functions/cpow.texi @@ -15,5 +15,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, -Solaris 9, Cygwin 1.7.7, mingw, Interix 3.5. +Solaris 9, Cygwin 1.7.7, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/cpowf.texi b/doc/posix-functions/cpowf.texi index 7439c1811..a7388c760 100644 --- a/doc/posix-functions/cpowf.texi +++ b/doc/posix-functions/cpowf.texi @@ -15,5 +15,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, -Solaris 9, Cygwin 1.7.7, mingw, Interix 3.5. +Solaris 9, Cygwin 1.7.7, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/cpowl.texi b/doc/posix-functions/cpowl.texi index d9c45ab59..87250fb49 100644 --- a/doc/posix-functions/cpowl.texi +++ b/doc/posix-functions/cpowl.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, mingw, Interix 3.5, BeOS. +FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/cproj.texi b/doc/posix-functions/cproj.texi index 8d8cd5606..6b85db46c 100644 --- a/doc/posix-functions/cproj.texi +++ b/doc/posix-functions/cproj.texi @@ -15,7 +15,7 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, -OSF/1 4.0, Solaris 9, Cygwin 1.7.7, mingw, Interix 3.5. +OSF/1 4.0, Solaris 9, Cygwin 1.7.7, mingw, MSVC 9, Interix 3.5. @item The glibc implementation is or was broken. @end itemize diff --git a/doc/posix-functions/cprojf.texi b/doc/posix-functions/cprojf.texi index 3bd432476..0359c41f5 100644 --- a/doc/posix-functions/cprojf.texi +++ b/doc/posix-functions/cprojf.texi @@ -15,7 +15,7 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, -OSF/1 4.0, Solaris 9, Cygwin 1.7.7, mingw, Interix 3.5. +OSF/1 4.0, Solaris 9, Cygwin 1.7.7, mingw, MSVC 9, Interix 3.5. @item The glibc implementation is or was broken. @end itemize diff --git a/doc/posix-functions/cprojl.texi b/doc/posix-functions/cprojl.texi index 59ef5b8e8..3c6ab4955 100644 --- a/doc/posix-functions/cprojl.texi +++ b/doc/posix-functions/cprojl.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, mingw, Interix 3.5, BeOS. +FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item The glibc implementation is or was broken. @end itemize diff --git a/doc/posix-functions/creal.texi b/doc/posix-functions/creal.texi index 5a90d3369..2d9956615 100644 --- a/doc/posix-functions/creal.texi +++ b/doc/posix-functions/creal.texi @@ -15,5 +15,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: FreeBSD 5.2.1, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, -OSF/1 4.0, Solaris 9, Cygwin 1.7.7, mingw, Interix 3.5. +OSF/1 4.0, Solaris 9, Cygwin 1.7.7, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/crealf.texi b/doc/posix-functions/crealf.texi index 17c49418c..f06654b39 100644 --- a/doc/posix-functions/crealf.texi +++ b/doc/posix-functions/crealf.texi @@ -15,5 +15,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: FreeBSD 5.2.1, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, -OSF/1 4.0, Solaris 9, Cygwin 1.7.7, mingw, Interix 3.5. +OSF/1 4.0, Solaris 9, Cygwin 1.7.7, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/creall.texi b/doc/posix-functions/creall.texi index 8c91c2a3c..46d3512c8 100644 --- a/doc/posix-functions/creall.texi +++ b/doc/posix-functions/creall.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, mingw, Interix 3.5, BeOS. +FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/crypt.texi b/doc/posix-functions/crypt.texi index b7f1927ca..658b4491f 100644 --- a/doc/posix-functions/crypt.texi +++ b/doc/posix-functions/crypt.texi @@ -14,5 +14,9 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 6.0, NetBSD 5.0, Cygwin, mingw. +FreeBSD 6.0, NetBSD 5.0, Cygwin, mingw, MSVC 9. +@item +This function is not declared in @code{} +(without @code{-D_GNU_SOURCE}) on some platforms: +glibc (at least 2.11–2.13). @end itemize diff --git a/doc/posix-functions/csin.texi b/doc/posix-functions/csin.texi index 271446d90..545512830 100644 --- a/doc/posix-functions/csin.texi +++ b/doc/posix-functions/csin.texi @@ -15,5 +15,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, -Solaris 9, Cygwin 1.7.7, mingw, Interix 3.5. +Solaris 9, Cygwin 1.7.7, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/csinf.texi b/doc/posix-functions/csinf.texi index 579b44e5f..c9b06a327 100644 --- a/doc/posix-functions/csinf.texi +++ b/doc/posix-functions/csinf.texi @@ -15,5 +15,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, -Solaris 9, Cygwin 1.7.7, mingw, Interix 3.5. +Solaris 9, Cygwin 1.7.7, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/csinh.texi b/doc/posix-functions/csinh.texi index d46f1bb35..b73c63161 100644 --- a/doc/posix-functions/csinh.texi +++ b/doc/posix-functions/csinh.texi @@ -15,5 +15,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, -OSF/1 4.0, Solaris 9, Cygwin 1.7.7, mingw, Interix 3.5. +OSF/1 4.0, Solaris 9, Cygwin 1.7.7, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/csinhf.texi b/doc/posix-functions/csinhf.texi index a7e0352d0..1a2dcb731 100644 --- a/doc/posix-functions/csinhf.texi +++ b/doc/posix-functions/csinhf.texi @@ -15,5 +15,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, -OSF/1 4.0, Solaris 9, Cygwin 1.7.7, mingw, Interix 3.5. +OSF/1 4.0, Solaris 9, Cygwin 1.7.7, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/csinhl.texi b/doc/posix-functions/csinhl.texi index 541765961..a18171b11 100644 --- a/doc/posix-functions/csinhl.texi +++ b/doc/posix-functions/csinhl.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, mingw, Interix 3.5, BeOS. +FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/csinl.texi b/doc/posix-functions/csinl.texi index 7affd33d6..97fa70f81 100644 --- a/doc/posix-functions/csinl.texi +++ b/doc/posix-functions/csinl.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, mingw, Interix 3.5, BeOS. +FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/csqrt.texi b/doc/posix-functions/csqrt.texi index c171f7bb0..0888e2493 100644 --- a/doc/posix-functions/csqrt.texi +++ b/doc/posix-functions/csqrt.texi @@ -15,5 +15,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, -Solaris 9, Cygwin 1.7.7, mingw, Interix 3.5. +Solaris 9, Cygwin 1.7.7, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/csqrtf.texi b/doc/posix-functions/csqrtf.texi index 7787c6e90..1af37f83c 100644 --- a/doc/posix-functions/csqrtf.texi +++ b/doc/posix-functions/csqrtf.texi @@ -15,5 +15,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, -Solaris 9, Cygwin 1.7.7, mingw, Interix 3.5. +Solaris 9, Cygwin 1.7.7, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/csqrtl.texi b/doc/posix-functions/csqrtl.texi index 1765f28e5..f8722b74e 100644 --- a/doc/posix-functions/csqrtl.texi +++ b/doc/posix-functions/csqrtl.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, mingw, Interix 3.5, BeOS. +FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/ctan.texi b/doc/posix-functions/ctan.texi index b967abd59..1e9856173 100644 --- a/doc/posix-functions/ctan.texi +++ b/doc/posix-functions/ctan.texi @@ -15,5 +15,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, -OSF/1 4.0, Solaris 9, Cygwin 1.7.7, mingw, Interix 3.5. +OSF/1 4.0, Solaris 9, Cygwin 1.7.7, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/ctanf.texi b/doc/posix-functions/ctanf.texi index f8a1530d4..f0e24eebb 100644 --- a/doc/posix-functions/ctanf.texi +++ b/doc/posix-functions/ctanf.texi @@ -15,5 +15,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, -OSF/1 4.0, Solaris 9, Cygwin 1.7.7, mingw, Interix 3.5. +OSF/1 4.0, Solaris 9, Cygwin 1.7.7, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/ctanh.texi b/doc/posix-functions/ctanh.texi index 1ecb1f77d..36b3323ca 100644 --- a/doc/posix-functions/ctanh.texi +++ b/doc/posix-functions/ctanh.texi @@ -15,5 +15,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, -OSF/1 4.0, Solaris 9, Cygwin 1.7.7, mingw, Interix 3.5. +OSF/1 4.0, Solaris 9, Cygwin 1.7.7, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/ctanhf.texi b/doc/posix-functions/ctanhf.texi index 11c257582..e8df4eb44 100644 --- a/doc/posix-functions/ctanhf.texi +++ b/doc/posix-functions/ctanhf.texi @@ -15,5 +15,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, -OSF/1 4.0, Solaris 9, Cygwin 1.7.7, mingw, Interix 3.5. +OSF/1 4.0, Solaris 9, Cygwin 1.7.7, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/ctanhl.texi b/doc/posix-functions/ctanhl.texi index 0a6623de3..d8f76ea0f 100644 --- a/doc/posix-functions/ctanhl.texi +++ b/doc/posix-functions/ctanhl.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, mingw, Interix 3.5, BeOS. +FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/ctanl.texi b/doc/posix-functions/ctanl.texi index 01a52619b..19a361f19 100644 --- a/doc/posix-functions/ctanl.texi +++ b/doc/posix-functions/ctanl.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, mingw, Interix 3.5, BeOS. +FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/ctermid.texi b/doc/posix-functions/ctermid.texi index 8bb3ca624..24ba36976 100644 --- a/doc/posix-functions/ctermid.texi +++ b/doc/posix-functions/ctermid.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/ctime_r.texi b/doc/posix-functions/ctime_r.texi index 9d2e00a9e..83581b7f0 100644 --- a/doc/posix-functions/ctime_r.texi +++ b/doc/posix-functions/ctime_r.texi @@ -17,7 +17,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @item This function may put more than 26 bytes into the argument buffer if an invalid year is passed. diff --git a/doc/posix-functions/dbm_clearerr.texi b/doc/posix-functions/dbm_clearerr.texi index 3ef2aca7c..68c73104a 100644 --- a/doc/posix-functions/dbm_clearerr.texi +++ b/doc/posix-functions/dbm_clearerr.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, HP-UX 11.11, IRIX 5.3, OSF/1 5.1, Solaris 2.5.1, Cygwin, mingw, BeOS. +glibc 2.3.6, HP-UX 11.11, IRIX 5.3, OSF/1 5.1, Solaris 2.5.1, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/dbm_close.texi b/doc/posix-functions/dbm_close.texi index fcd376b09..90402bcd1 100644 --- a/doc/posix-functions/dbm_close.texi +++ b/doc/posix-functions/dbm_close.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, Cygwin, mingw, BeOS. +glibc 2.3.6, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/dbm_delete.texi b/doc/posix-functions/dbm_delete.texi index 195ff56a6..53a2c2ff3 100644 --- a/doc/posix-functions/dbm_delete.texi +++ b/doc/posix-functions/dbm_delete.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, Cygwin, mingw, BeOS. +glibc 2.3.6, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/dbm_error.texi b/doc/posix-functions/dbm_error.texi index da4613ba8..0c787905a 100644 --- a/doc/posix-functions/dbm_error.texi +++ b/doc/posix-functions/dbm_error.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, HP-UX 11.11, IRIX 5.3, OSF/1 4.0, Solaris 2.5.1, Cygwin, mingw, BeOS. +glibc 2.3.6, HP-UX 11.11, IRIX 5.3, OSF/1 4.0, Solaris 2.5.1, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/dbm_fetch.texi b/doc/posix-functions/dbm_fetch.texi index 40c505e2b..52c8f9d8d 100644 --- a/doc/posix-functions/dbm_fetch.texi +++ b/doc/posix-functions/dbm_fetch.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, Cygwin, mingw, BeOS. +glibc 2.3.6, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/dbm_firstkey.texi b/doc/posix-functions/dbm_firstkey.texi index aa939c9de..06fa816b2 100644 --- a/doc/posix-functions/dbm_firstkey.texi +++ b/doc/posix-functions/dbm_firstkey.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, Cygwin, mingw, BeOS. +glibc 2.3.6, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/dbm_nextkey.texi b/doc/posix-functions/dbm_nextkey.texi index 0ba8c4239..79ff5f4d4 100644 --- a/doc/posix-functions/dbm_nextkey.texi +++ b/doc/posix-functions/dbm_nextkey.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, Cygwin, mingw, BeOS. +glibc 2.3.6, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/dbm_open.texi b/doc/posix-functions/dbm_open.texi index f1cd94c5a..203a0b4f8 100644 --- a/doc/posix-functions/dbm_open.texi +++ b/doc/posix-functions/dbm_open.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, Cygwin, mingw, BeOS. +glibc 2.3.6, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/dbm_store.texi b/doc/posix-functions/dbm_store.texi index 0b38d9152..422ae0abd 100644 --- a/doc/posix-functions/dbm_store.texi +++ b/doc/posix-functions/dbm_store.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, Cygwin, mingw, BeOS. +glibc 2.3.6, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/dirfd.texi b/doc/posix-functions/dirfd.texi index 20397bea9..8849f4026 100644 --- a/doc/posix-functions/dirfd.texi +++ b/doc/posix-functions/dirfd.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, AIX 7.1, HP-UX 11, OSF/1 5.1, Solaris 10, mingw. +Minix 3.1.8, AIX 7.1, HP-UX 11, OSF/1 5.1, Solaris 10, mingw, MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/dirname.texi b/doc/posix-functions/dirname.texi index 2e3ee444c..026f404d4 100644 --- a/doc/posix-functions/dirname.texi +++ b/doc/posix-functions/dirname.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -IRIX 6.5, Solaris 2.5.1, mingw, BeOS. +IRIX 6.5, Solaris 2.5.1, mingw, MSVC 9, BeOS. @item @code{dirname} assumes file names in POSIX syntax; it does not work with file names in Windows syntax. diff --git a/doc/posix-functions/dlclose.texi b/doc/posix-functions/dlclose.texi index 674f7b911..ea866ad3e 100644 --- a/doc/posix-functions/dlclose.texi +++ b/doc/posix-functions/dlclose.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, mingw, Interix 3.5, BeOS. +Minix 3.1.8, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/dlerror.texi b/doc/posix-functions/dlerror.texi index 1e4c10ddb..65390ee7b 100644 --- a/doc/posix-functions/dlerror.texi +++ b/doc/posix-functions/dlerror.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, mingw, Interix 3.5, BeOS. +Minix 3.1.8, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/dlopen.texi b/doc/posix-functions/dlopen.texi index 7f3b02864..ba17f311a 100644 --- a/doc/posix-functions/dlopen.texi +++ b/doc/posix-functions/dlopen.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, mingw, Interix 3.5, BeOS. +Minix 3.1.8, mingw, MSVC 9, Interix 3.5, BeOS. @item If the file name argument is not absolute, the file is searched for. The search algorithm is system specific. diff --git a/doc/posix-functions/dlsym.texi b/doc/posix-functions/dlsym.texi index ded79d40f..a4100a540 100644 --- a/doc/posix-functions/dlsym.texi +++ b/doc/posix-functions/dlsym.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, mingw, Interix 3.5, BeOS. +Minix 3.1.8, mingw, MSVC 9, Interix 3.5, BeOS. @item The visibility of symbols loaded in dependent shared libraries or present in the main executable is system dependent. diff --git a/doc/posix-functions/dprintf.texi b/doc/posix-functions/dprintf.texi index 6301d837f..579a779c0 100644 --- a/doc/posix-functions/dprintf.texi +++ b/doc/posix-functions/dprintf.texi @@ -11,7 +11,7 @@ Portability problems fixed by either Gnulib module @code{dprintf} or @code{dprin @item This function is missing on many non-glibc platforms: MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize Portability problems fixed by Gnulib module @code{dprintf-posix}: diff --git a/doc/posix-functions/drand48.texi b/doc/posix-functions/drand48.texi index 6b9563f04..16cc5200c 100644 --- a/doc/posix-functions/drand48.texi +++ b/doc/posix-functions/drand48.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, mingw. +Minix 3.1.8, mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/dup.texi b/doc/posix-functions/dup.texi index b67fc1f54..3b4c63f22 100644 --- a/doc/posix-functions/dup.texi +++ b/doc/posix-functions/dup.texi @@ -4,10 +4,13 @@ POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/dup.html} -Gnulib module: --- +Gnulib module: dup Portability problems fixed by Gnulib: @itemize +@item +This function crashes when invoked with invalid arguments on some platforms: +MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/dup2.texi b/doc/posix-functions/dup2.texi index 6054c303b..012bb7f0e 100644 --- a/doc/posix-functions/dup2.texi +++ b/doc/posix-functions/dup2.texi @@ -10,11 +10,15 @@ Portability problems fixed by either Gnulib module @code{dup2} or @code{dup2-obs @itemize @item This function always returns 0 for success on some platforms: -mingw. +mingw, MSVC 9. @item This function can hang when duplicating an fd to itself on some platforms: -mingw. +mingw, MSVC 9. + +@item +This function crashes when invoked with invalid arguments on some platforms: +MSVC 9. @item This function resets the @code{FD_CLOEXEC} flag when duplicating an fd diff --git a/doc/posix-functions/duplocale.texi b/doc/posix-functions/duplocale.texi index 0108ce2c9..9ef3024a2 100644 --- a/doc/posix-functions/duplocale.texi +++ b/doc/posix-functions/duplocale.texi @@ -17,5 +17,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/encrypt.texi b/doc/posix-functions/encrypt.texi index 225f27e1e..25a9d159a 100644 --- a/doc/posix-functions/encrypt.texi +++ b/doc/posix-functions/encrypt.texi @@ -14,5 +14,9 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -NetBSD 5.0, Minix 3.1.8, Cygwin, mingw, BeOS. +NetBSD 5.0, Minix 3.1.8, Cygwin, mingw, MSVC 9, BeOS. +@item +This function is not declared in @code{} +(without @code{-D_GNU_SOURCE}) on some platforms: +glibc (at least 2.11–2.13). @end itemize diff --git a/doc/posix-functions/endgrent.texi b/doc/posix-functions/endgrent.texi index 4e57c03b3..2b0f56605 100644 --- a/doc/posix-functions/endgrent.texi +++ b/doc/posix-functions/endgrent.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/endhostent.texi b/doc/posix-functions/endhostent.texi index 5cb5b4f7a..986395fe1 100644 --- a/doc/posix-functions/endhostent.texi +++ b/doc/posix-functions/endhostent.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw, BeOS. +mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/endnetent.texi b/doc/posix-functions/endnetent.texi index 67b39a9cb..dc829f152 100644 --- a/doc/posix-functions/endnetent.texi +++ b/doc/posix-functions/endnetent.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Cygwin, mingw, BeOS. +Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/endprotoent.texi b/doc/posix-functions/endprotoent.texi index 5ae84274d..ad6720979 100644 --- a/doc/posix-functions/endprotoent.texi +++ b/doc/posix-functions/endprotoent.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw, BeOS. +mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/endpwent.texi b/doc/posix-functions/endpwent.texi index cd6f31f22..3813db126 100644 --- a/doc/posix-functions/endpwent.texi +++ b/doc/posix-functions/endpwent.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/endservent.texi b/doc/posix-functions/endservent.texi index df386fed2..61ac105f2 100644 --- a/doc/posix-functions/endservent.texi +++ b/doc/posix-functions/endservent.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw, BeOS. +mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/endutxent.texi b/doc/posix-functions/endutxent.texi index 0c6616039..0c3df4d48 100644 --- a/doc/posix-functions/endutxent.texi +++ b/doc/posix-functions/endutxent.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.3, FreeBSD 6.0, OpenBSD 3.8, Minix 3.1.8, mingw, BeOS. +MacOS X 10.3, FreeBSD 6.0, OpenBSD 3.8, Minix 3.1.8, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/erand48.texi b/doc/posix-functions/erand48.texi index b3e431d4b..e8916eb06 100644 --- a/doc/posix-functions/erand48.texi +++ b/doc/posix-functions/erand48.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, mingw. +Minix 3.1.8, mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/erf.texi b/doc/posix-functions/erf.texi index 4b704813f..d40b4d457 100644 --- a/doc/posix-functions/erf.texi +++ b/doc/posix-functions/erf.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8. +Minix 3.1.8, MSVC 9. @end itemize diff --git a/doc/posix-functions/erfc.texi b/doc/posix-functions/erfc.texi index 5a156a314..fca390b45 100644 --- a/doc/posix-functions/erfc.texi +++ b/doc/posix-functions/erfc.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8. +Minix 3.1.8, MSVC 9. @end itemize diff --git a/doc/posix-functions/erfcf.texi b/doc/posix-functions/erfcf.texi index ee123a0a8..a18db3c28 100644 --- a/doc/posix-functions/erfcf.texi +++ b/doc/posix-functions/erfcf.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 9. +Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 9, MSVC 9. @end itemize diff --git a/doc/posix-functions/erfcl.texi b/doc/posix-functions/erfcl.texi index a624626d5..29ee5b7f3 100644 --- a/doc/posix-functions/erfcl.texi +++ b/doc/posix-functions/erfcl.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 9, Cygwin, mingw, Interix 3.5, BeOS. +FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 9, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/erff.texi b/doc/posix-functions/erff.texi index 91b6747cd..c661991a6 100644 --- a/doc/posix-functions/erff.texi +++ b/doc/posix-functions/erff.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 9. +Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 9, MSVC 9. @end itemize diff --git a/doc/posix-functions/erfl.texi b/doc/posix-functions/erfl.texi index 1a86d3be2..dd0d0f7e8 100644 --- a/doc/posix-functions/erfl.texi +++ b/doc/posix-functions/erfl.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 9, Cygwin, mingw, Interix 3.5, BeOS. +FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 9, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/exp2.texi b/doc/posix-functions/exp2.texi index cda4328f5..b551826bd 100644 --- a/doc/posix-functions/exp2.texi +++ b/doc/posix-functions/exp2.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, IRIX 6.5, OSF/1 4.0, Solaris 9, Interix 3.5. +FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, IRIX 6.5, OSF/1 4.0, Solaris 9, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/exp2f.texi b/doc/posix-functions/exp2f.texi index 4ecbdb25f..acf65f4a7 100644 --- a/doc/posix-functions/exp2f.texi +++ b/doc/posix-functions/exp2f.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Interix 3.5. +FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/exp2l.texi b/doc/posix-functions/exp2l.texi index d9675e575..00ccd90f0 100644 --- a/doc/posix-functions/exp2l.texi +++ b/doc/posix-functions/exp2l.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, Interix 3.5, BeOS. +FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/expf.texi b/doc/posix-functions/expf.texi index ff9a2a76e..1ad13d9dc 100644 --- a/doc/posix-functions/expf.texi +++ b/doc/posix-functions/expf.texi @@ -4,15 +4,18 @@ POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/expf.html} -Gnulib module: --- +Gnulib module: expf Portability problems fixed by Gnulib: @itemize +@item +This function is missing on some platforms: +Minix 3.1.8, AIX 5.1, Solaris 9. +@item +This function is only defined as a macro with arguments on some platforms: +MSVC 9. @end itemize Portability problems not fixed by Gnulib: @itemize -@item -This function is missing on some platforms: -Minix 3.1.8, AIX 5.1, Solaris 9. @end itemize diff --git a/doc/posix-functions/expl.texi b/doc/posix-functions/expl.texi index be992da2f..d5c63b75a 100644 --- a/doc/posix-functions/expl.texi +++ b/doc/posix-functions/expl.texi @@ -12,6 +12,9 @@ Portability problems fixed by Gnulib: This function is missing on some platforms: FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 9, Cygwin, Interix 3.5, BeOS. @item +This function is only defined as a macro with arguments on some platforms: +MSVC 9. +@item This function is not declared on some platforms: MacOS X 10.3. @end itemize diff --git a/doc/posix-functions/expm1.texi b/doc/posix-functions/expm1.texi index 961bb4791..af6ff956d 100644 --- a/doc/posix-functions/expm1.texi +++ b/doc/posix-functions/expm1.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, mingw. +Minix 3.1.8, mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/expm1f.texi b/doc/posix-functions/expm1f.texi index f0cd0725e..8f31cd9de 100644 --- a/doc/posix-functions/expm1f.texi +++ b/doc/posix-functions/expm1f.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, AIX 5.1, HP-UX 11, Solaris 9, mingw. +Minix 3.1.8, AIX 5.1, HP-UX 11, Solaris 9, mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/expm1l.texi b/doc/posix-functions/expm1l.texi index dce255bb0..72ca75659 100644 --- a/doc/posix-functions/expm1l.texi +++ b/doc/posix-functions/expm1l.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 9, Cygwin, mingw, Interix 3.5, BeOS. +FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 9, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/fabsf.texi b/doc/posix-functions/fabsf.texi index 6906d4aff..4f6372494 100644 --- a/doc/posix-functions/fabsf.texi +++ b/doc/posix-functions/fabsf.texi @@ -4,15 +4,18 @@ POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/fabsf.html} -Gnulib module: --- +Gnulib module: fabsf Portability problems fixed by Gnulib: @itemize +@item +This function is missing on some platforms: +AIX 5.1, Solaris 9. +@item +This function is only defined as a macro with arguments on some platforms: +MSVC 9. @end itemize Portability problems not fixed by Gnulib: @itemize -@item -This function is missing on some platforms: -AIX 5.1, Solaris 9. @end itemize diff --git a/doc/posix-functions/fabsl.texi b/doc/posix-functions/fabsl.texi index 82f1e1789..b1eb63b6e 100644 --- a/doc/posix-functions/fabsl.texi +++ b/doc/posix-functions/fabsl.texi @@ -15,4 +15,7 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 9, Cygwin, Interix 3.5, BeOS. +@item +This function is only defined as a macro with arguments on some platforms: +MSVC 9. @end itemize diff --git a/doc/posix-functions/faccessat.texi b/doc/posix-functions/faccessat.texi index eb7cd6d80..485b0bdca 100644 --- a/doc/posix-functions/faccessat.texi +++ b/doc/posix-functions/faccessat.texi @@ -11,7 +11,7 @@ Portability problems fixed by Gnulib: @item This function is missing on some platforms: glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, -AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.5.x, mingw, +AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. However, the replacement does not always take into account ACLs. Also, it is not safe to be used in libraries and is not multithread-safe. diff --git a/doc/posix-functions/fattach.texi b/doc/posix-functions/fattach.texi index c918b81d9..63537a1ec 100644 --- a/doc/posix-functions/fattach.texi +++ b/doc/posix-functions/fattach.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/fchdir.texi b/doc/posix-functions/fchdir.texi index 360f32b3d..b0ac62391 100644 --- a/doc/posix-functions/fchdir.texi +++ b/doc/posix-functions/fchdir.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -Tandem/NSK, mingw, BeOS. +Tandem/NSK, mingw, MSVC 9, BeOS. But the replacement function is not safe to be used in libraries and is not multithread-safe. @item This function is not declared on some platforms: diff --git a/doc/posix-functions/fchmod.texi b/doc/posix-functions/fchmod.texi index 81c9e9f3f..b06fa540b 100644 --- a/doc/posix-functions/fchmod.texi +++ b/doc/posix-functions/fchmod.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw, BeOS. +mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/fchmodat.texi b/doc/posix-functions/fchmodat.texi index eeabea5f2..f15f67575 100644 --- a/doc/posix-functions/fchmodat.texi +++ b/doc/posix-functions/fchmodat.texi @@ -4,14 +4,14 @@ POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/fchmodat.html} -Gnulib module: openat +Gnulib module: fchmodat Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, -AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. But the replacement function is not safe to be used in libraries and is not multithread-safe. @end itemize diff --git a/doc/posix-functions/fchown.texi b/doc/posix-functions/fchown.texi index 732f7145b..06bb4d1e4 100644 --- a/doc/posix-functions/fchown.texi +++ b/doc/posix-functions/fchown.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/fchownat.texi b/doc/posix-functions/fchownat.texi index dc469d56a..9b5661fdb 100644 --- a/doc/posix-functions/fchownat.texi +++ b/doc/posix-functions/fchownat.texi @@ -4,7 +4,7 @@ POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/fchownat.html} -Gnulib module: openat +Gnulib module: fchownat Portability problems fixed by Gnulib: @itemize @@ -22,7 +22,7 @@ Linux with glibc < 2.11. @item This function is missing on some platforms: glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, -AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. But the replacement function is not safe to be used in libraries and is not multithread-safe. Also, the replacement may fail to change symlinks if @code{lchown} is unsupported, or fail altogether if diff --git a/doc/posix-functions/fclose.texi b/doc/posix-functions/fclose.texi index 40a205289..3db9198da 100644 --- a/doc/posix-functions/fclose.texi +++ b/doc/posix-functions/fclose.texi @@ -13,6 +13,10 @@ On some platforms, this function fails to set the file position of a seekable input stream to the byte after the last one actually read: glibc 2.13, FreeBSD. @item +This function crashes if the stream's file descriptor has already been +closed on some platforms: +MSVC 9. +@item On Windows platforms (excluding Cygwin), @code{socket} and @code{accept} followed by @code{fdopen} do not return streams that can be closed by @code{fclose}. diff --git a/doc/posix-functions/fcntl.texi b/doc/posix-functions/fcntl.texi index 161af1e79..8278dc245 100644 --- a/doc/posix-functions/fcntl.texi +++ b/doc/posix-functions/fcntl.texi @@ -9,10 +9,14 @@ Gnulib module: fcntl Portability problems fixed by Gnulib: @itemize @item +This function is missing on some platforms: +mingw, MSVC 9. + +@item This function does not support @code{F_DUPFD_CLOEXEC} on some platforms: MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, AIX 5.1, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.7.1, mingw, Interix 3.5, +IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.7.1, Interix 3.5, BeOS. Note that the gnulib replacement code is functional but not atomic. @@ -25,10 +29,6 @@ Cygwin 1.5.x, Haiku. The @code{F_DUPFD} action of this function mistakenly clears FD_CLOEXEC on the source descriptor on some platforms: Haiku. - -@item -This function is missing on some platforms: -mingw. @end itemize Portability problems not fixed by Gnulib: @@ -37,5 +37,5 @@ Portability problems not fixed by Gnulib: The replacement function does not support @code{F_SETFD}, @code{F_GETFL}, @code{F_SETFL}, @code{F_GETOWN}, @code{F_SETOWN}, @code{F_GETLK}, @code{F_SETLK}, and @code{F_SETLKW} on some platforms: -mingw +mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/fdatasync.texi b/doc/posix-functions/fdatasync.texi index a884926db..238238663 100644 --- a/doc/posix-functions/fdatasync.texi +++ b/doc/posix-functions/fdatasync.texi @@ -4,15 +4,18 @@ POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/fdatasync.html} -Gnulib module: --- +Gnulib module: fdatasync Portability problems fixed by Gnulib: @itemize +@item +This function is present but not declared on some platforms: +MacOS X 10.7. +@item +This function is missing on some platforms: +MacOS X 10.5, FreeBSD 6.0, OpenBSD 3.8, Minix 3.1.8, IRIX 5.3, Solaris 2.4, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize Portability problems not fixed by Gnulib: @itemize -@item -This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, OpenBSD 3.8, Minix 3.1.8, IRIX 5.3, Solaris 2.4, mingw, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/fdetach.texi b/doc/posix-functions/fdetach.texi index 702d46c7d..162533833 100644 --- a/doc/posix-functions/fdetach.texi +++ b/doc/posix-functions/fdetach.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/fdim.texi b/doc/posix-functions/fdim.texi index f36c1fec3..0ef2f46ad 100644 --- a/doc/posix-functions/fdim.texi +++ b/doc/posix-functions/fdim.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, IRIX 6.5, OSF/1 4.0, Solaris 9, Interix 3.5. +FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, IRIX 6.5, OSF/1 4.0, Solaris 9, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/fdimf.texi b/doc/posix-functions/fdimf.texi index df0c775d5..8808fd1ad 100644 --- a/doc/posix-functions/fdimf.texi +++ b/doc/posix-functions/fdimf.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Interix 3.5. +FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/fdiml.texi b/doc/posix-functions/fdiml.texi index f59f07968..f195a965b 100644 --- a/doc/posix-functions/fdiml.texi +++ b/doc/posix-functions/fdiml.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, Interix 3.5, BeOS. +FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/fdopen.texi b/doc/posix-functions/fdopen.texi index 4324453fd..58e582f87 100644 --- a/doc/posix-functions/fdopen.texi +++ b/doc/posix-functions/fdopen.texi @@ -4,15 +4,18 @@ POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/fdopen.html} -Gnulib module: --- +Gnulib module: fdopen Portability problems fixed by Gnulib: @itemize +@item +This function crashes when invoked with invalid arguments on some platforms: +MSVC 9. +@item +On Windows platforms (excluding Cygwin), this function does not set @code{errno} +upon failure. @end itemize Portability problems not fixed by Gnulib: @itemize -@item -On Windows platforms (excluding Cygwin), this function does not set @code{errno} -upon failure. @end itemize diff --git a/doc/posix-functions/fdopendir.texi b/doc/posix-functions/fdopendir.texi index db250c5f8..5d6e80821 100644 --- a/doc/posix-functions/fdopendir.texi +++ b/doc/posix-functions/fdopendir.texi @@ -11,7 +11,7 @@ Portability problems fixed by Gnulib: @item This function is missing on some platforms: glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, -AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. But the replacement function is not safe to be used in libraries and is not multithread-safe. Also, the replacement does not guarantee that @samp{dirfd(fdopendir(n))==n} (dirfd might fail, or return a diff --git a/doc/posix-functions/feclearexcept.texi b/doc/posix-functions/feclearexcept.texi index 31904433c..f31f07231 100644 --- a/doc/posix-functions/feclearexcept.texi +++ b/doc/posix-functions/feclearexcept.texi @@ -14,6 +14,6 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, IRIX 6.5, -OSF/1 5.1, Solaris 9, Cygwin 1.7.7, Interix 3.5. +FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, IRIX 6.5, +OSF/1 5.1, Solaris 9, Cygwin 1.7.7, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/fegetenv.texi b/doc/posix-functions/fegetenv.texi index a1276d97d..567279ac7 100644 --- a/doc/posix-functions/fegetenv.texi +++ b/doc/posix-functions/fegetenv.texi @@ -14,6 +14,6 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, -IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 1.7.7, Interix 3.5. +FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, +IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 1.7.7, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/fegetexceptflag.texi b/doc/posix-functions/fegetexceptflag.texi index 41b18fefd..7cb8a8148 100644 --- a/doc/posix-functions/fegetexceptflag.texi +++ b/doc/posix-functions/fegetexceptflag.texi @@ -15,5 +15,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, IRIX 6.5, OSF/1 5.1, -Solaris 9, Cygwin 1.7.7, Interix 3.5. +Solaris 9, Cygwin 1.7.7, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/fegetround.texi b/doc/posix-functions/fegetround.texi index 0dedc0a92..a5699b4b4 100644 --- a/doc/posix-functions/fegetround.texi +++ b/doc/posix-functions/fegetround.texi @@ -14,6 +14,6 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, AIX 5.1, IRIX 6.5, -Solaris 9, Cygwin 1.7.7, Interix 3.5. +FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, AIX 5.1, IRIX 6.5, +Solaris 9, Cygwin 1.7.7, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/feholdexcept.texi b/doc/posix-functions/feholdexcept.texi index b71bf0ab6..9bfbcdc6d 100644 --- a/doc/posix-functions/feholdexcept.texi +++ b/doc/posix-functions/feholdexcept.texi @@ -14,6 +14,6 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, AIX 5.1, IRIX -6.5, OSF/1 5.1, Solaris 9, Cygwin 1.7.7, Interix 3.5. +FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, AIX 5.1, IRIX +6.5, OSF/1 5.1, Solaris 9, Cygwin 1.7.7, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/feraiseexcept.texi b/doc/posix-functions/feraiseexcept.texi index 27c608d77..91a15b9fd 100644 --- a/doc/posix-functions/feraiseexcept.texi +++ b/doc/posix-functions/feraiseexcept.texi @@ -14,6 +14,6 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, -IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 1.7.7, Interix 3.5. +FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, +IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 1.7.7, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/fesetenv.texi b/doc/posix-functions/fesetenv.texi index ffc569ebb..42aa8d324 100644 --- a/doc/posix-functions/fesetenv.texi +++ b/doc/posix-functions/fesetenv.texi @@ -14,6 +14,6 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, IRIX 6.5, -OSF/1 5.1, Solaris 9, Cygwin 1.7.7, Interix 3.5. +FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, IRIX 6.5, +OSF/1 5.1, Solaris 9, Cygwin 1.7.7, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/fesetexceptflag.texi b/doc/posix-functions/fesetexceptflag.texi index 7d7aa1bd3..815da9204 100644 --- a/doc/posix-functions/fesetexceptflag.texi +++ b/doc/posix-functions/fesetexceptflag.texi @@ -15,5 +15,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, IRIX 6.5, OSF/1 5.1, -Solaris 9, Cygwin 1.7.7, Interix 3.5. +Solaris 9, Cygwin 1.7.7, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/fesetround.texi b/doc/posix-functions/fesetround.texi index dbf08b457..ca52840f9 100644 --- a/doc/posix-functions/fesetround.texi +++ b/doc/posix-functions/fesetround.texi @@ -14,6 +14,6 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, AIX 5.1, IRIX 6.5, -Solaris 9, Cygwin 1.7.7, Interix 3.5. +FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, AIX 5.1, IRIX 6.5, +Solaris 9, Cygwin 1.7.7, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/fetestexcept.texi b/doc/posix-functions/fetestexcept.texi index 907d60f9c..634a34111 100644 --- a/doc/posix-functions/fetestexcept.texi +++ b/doc/posix-functions/fetestexcept.texi @@ -14,6 +14,6 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, IRIX 6.5, -OSF/1 5.1, Solaris 9, Cygwin 1.7.7, Interix 3.5. +FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, IRIX 6.5, +OSF/1 5.1, Solaris 9, Cygwin 1.7.7, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/feupdateenv.texi b/doc/posix-functions/feupdateenv.texi index 21e8bb25a..fd9f3a8c9 100644 --- a/doc/posix-functions/feupdateenv.texi +++ b/doc/posix-functions/feupdateenv.texi @@ -14,6 +14,6 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, -IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 1.7.7, Interix 3.5. +FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, +IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 1.7.7, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/fexecve.texi b/doc/posix-functions/fexecve.texi index 0eacf416e..bea63e170 100644 --- a/doc/posix-functions/fexecve.texi +++ b/doc/posix-functions/fexecve.texi @@ -15,5 +15,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on many non-glibc platforms: MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/fflush.texi b/doc/posix-functions/fflush.texi index 6724f3b90..9ba3e8ef4 100644 --- a/doc/posix-functions/fflush.texi +++ b/doc/posix-functions/fflush.texi @@ -14,7 +14,7 @@ stream, should have the effect of positioning the underlying file descriptor. It doesn't do this on some platforms. @item @code{fflush} on an input stream changes the position of the stream to the -end of the previous buffer, on some platforms: mingw. +end of the previous buffer, on some platforms: mingw, MSVC 9. @item @code{fflush} on an input stream right after @code{ungetc} does not discard the @code{ungetc} buffer, on some platforms: @@ -26,12 +26,18 @@ Portability problems not fixed by Gnulib: @item @code{fflush}, @code{ftell}, @code{ftello}, @code{fgetpos} behave incorrectly on input streams that are opened in @code{O_TEXT} mode and whose contents -contains Unix line terminators (LF), on some platforms: mingw. +contains Unix line terminators (LF), on some platforms: mingw, MSVC 9. @item On Windows platforms (excluding Cygwin), this function does not set @code{errno} upon failure. @item +This function crashes if the stream's file descriptor has already been +closed, if @code{MSVC_INVALID_PARAMETER_HANDLING} is +@code{HAIRY_LIBRARY_HANDLING} or @code{SANE_LIBRARY_HANDLING}, +on some platforms: +MSVC 9. +@item @code{fflush} on an input stream right after @code{ungetc} does not discard the @code{ungetc} buffer, on some platforms: -AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw. +AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/ffs.texi b/doc/posix-functions/ffs.texi index a79b9ad7a..4d3c9d471 100644 --- a/doc/posix-functions/ffs.texi +++ b/doc/posix-functions/ffs.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/fgetc.texi b/doc/posix-functions/fgetc.texi index 4cbe30eb6..acf7ad7d2 100644 --- a/doc/posix-functions/fgetc.texi +++ b/doc/posix-functions/fgetc.texi @@ -12,7 +12,7 @@ Portability problems fixed by Gnulib module @code{stdio}, together with module @ When reading from a non-blocking pipe whose buffer is empty, this function fails with @code{errno} being set to @code{EINVAL} instead of @code{EAGAIN} on some platforms: -mingw. +mingw, MSVC 9. @end itemize Portability problems not fixed by Gnulib: @@ -20,4 +20,10 @@ Portability problems not fixed by Gnulib: @item On Windows platforms (excluding Cygwin), this function does not set @code{errno} upon failure. +@item +This function crashes if the stream's file descriptor has already been +closed, if @code{MSVC_INVALID_PARAMETER_HANDLING} is +@code{HAIRY_LIBRARY_HANDLING} or @code{SANE_LIBRARY_HANDLING}, +on some platforms: +MSVC 9. @end itemize diff --git a/doc/posix-functions/fgetpos.texi b/doc/posix-functions/fgetpos.texi index 52ffc1288..e7bf485c3 100644 --- a/doc/posix-functions/fgetpos.texi +++ b/doc/posix-functions/fgetpos.texi @@ -15,7 +15,7 @@ Portability problems not fixed by Gnulib: @item @code{fflush}, @code{ftell}, @code{ftello}, @code{fgetpos} behave incorrectly on input streams that are opened in @code{O_TEXT} mode and whose contents -contains Unix line terminators (LF), on some platforms: mingw. +contains Unix line terminators (LF), on some platforms: mingw, MSVC 9. @item On platforms where @code{off_t} is a 32-bit type, this function may not work correctly on files larger than 2 GB. The fix is to use the diff --git a/doc/posix-functions/fgets.texi b/doc/posix-functions/fgets.texi index 2d840b168..b14917e96 100644 --- a/doc/posix-functions/fgets.texi +++ b/doc/posix-functions/fgets.texi @@ -12,7 +12,7 @@ Portability problems fixed by Gnulib module @code{stdio}, together with module @ When reading from a non-blocking pipe whose buffer is empty, this function fails with @code{errno} being set to @code{EINVAL} instead of @code{EAGAIN} on some platforms: -mingw. +mingw, MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/flockfile.texi b/doc/posix-functions/flockfile.texi index 8018e5953..0165b3cfd 100644 --- a/doc/posix-functions/flockfile.texi +++ b/doc/posix-functions/flockfile.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, mingw. +Minix 3.1.8, mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/floorf.texi b/doc/posix-functions/floorf.texi index 29e59201b..9a1ab3dc8 100644 --- a/doc/posix-functions/floorf.texi +++ b/doc/posix-functions/floorf.texi @@ -11,6 +11,9 @@ Portability problems fixed by either Gnulib module @code{floorf} or @code{floorf @item This function is missing on some platforms: Minix 3.1.8, AIX 5.1, HP-UX 11, Solaris 9. +@item +This function is only defined as a macro with arguments on some platforms: +MSVC 9. @end itemize Portability problems fixed by Gnulib module @code{floorf-ieee}: diff --git a/doc/posix-functions/floorl.texi b/doc/posix-functions/floorl.texi index 48e577404..aeed5df7c 100644 --- a/doc/posix-functions/floorl.texi +++ b/doc/posix-functions/floorl.texi @@ -11,6 +11,9 @@ Portability problems fixed by Gnulib: @item This function is missing on some platforms: FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 9, Cygwin, Interix 3.5, BeOS. +@item +This function is only defined as a macro with arguments on some platforms: +MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/fma.texi b/doc/posix-functions/fma.texi index a15106839..4e3abe657 100644 --- a/doc/posix-functions/fma.texi +++ b/doc/posix-functions/fma.texi @@ -4,15 +4,18 @@ POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/fma.html} -Gnulib module: --- +Gnulib module: fma Portability problems fixed by Gnulib: @itemize +@item +This function is missing on some platforms: +FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, MSVC 9, Interix 3.5. +@item +This function produces wrong results on some platforms: +glibc 2.11, MacOS X 10.5, FreeBSD 6.4/x86, OSF/1 5.1, Cygwin 1.5, mingw. @end itemize Portability problems not fixed by Gnulib: @itemize -@item -This function is missing on some platforms: -FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/fmaf.texi b/doc/posix-functions/fmaf.texi index 0a307b916..97d970590 100644 --- a/doc/posix-functions/fmaf.texi +++ b/doc/posix-functions/fmaf.texi @@ -4,15 +4,18 @@ POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/fmaf.html} -Gnulib module: --- +Gnulib module: fmaf Portability problems fixed by Gnulib: @itemize +@item +This function is missing on some platforms: +FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, MSVC 9, Interix 3.5. +@item +This function produces wrong results on some platforms: +glibc 2.11, MacOS X 10.5, FreeBSD 6.4/x86, OSF/1 5.1, Cygwin 1.5, mingw. @end itemize Portability problems not fixed by Gnulib: @itemize -@item -This function is missing on some platforms: -FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/fmal.texi b/doc/posix-functions/fmal.texi index 0b8b95aec..0d3648a9c 100644 --- a/doc/posix-functions/fmal.texi +++ b/doc/posix-functions/fmal.texi @@ -4,15 +4,18 @@ POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/fmal.html} -Gnulib module: --- +Gnulib module: fmal Portability problems fixed by Gnulib: @itemize +@item +This function is missing on some platforms: +FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, MSVC 9, Interix 3.5, BeOS. +@item +This function produces wrong results on some platforms: +glibc 2.11, MacOS X 10.5, FreeBSD 6.4/x86, OSF/1 5.1, mingw. @end itemize Portability problems not fixed by Gnulib: @itemize -@item -This function is missing on some platforms: -FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/fmax.texi b/doc/posix-functions/fmax.texi index c501499f9..ea85a743c 100644 --- a/doc/posix-functions/fmax.texi +++ b/doc/posix-functions/fmax.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, IRIX 6.5, OSF/1 4.0, Solaris 9, Interix 3.5. +FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, IRIX 6.5, OSF/1 4.0, Solaris 9, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/fmaxf.texi b/doc/posix-functions/fmaxf.texi index 3807c4778..5728b4c9c 100644 --- a/doc/posix-functions/fmaxf.texi +++ b/doc/posix-functions/fmaxf.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Interix 3.5. +FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/fmaxl.texi b/doc/posix-functions/fmaxl.texi index e274c36da..33c423207 100644 --- a/doc/posix-functions/fmaxl.texi +++ b/doc/posix-functions/fmaxl.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, Interix 3.5, BeOS. +FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/fmemopen.texi b/doc/posix-functions/fmemopen.texi index e3956e39e..bd819999b 100644 --- a/doc/posix-functions/fmemopen.texi +++ b/doc/posix-functions/fmemopen.texi @@ -15,5 +15,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on many non-glibc platforms: MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/fmin.texi b/doc/posix-functions/fmin.texi index c6ceddd69..d476b8a97 100644 --- a/doc/posix-functions/fmin.texi +++ b/doc/posix-functions/fmin.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, IRIX 6.5, OSF/1 4.0, Solaris 9, Interix 3.5. +FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, IRIX 6.5, OSF/1 4.0, Solaris 9, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/fminf.texi b/doc/posix-functions/fminf.texi index bae470bae..362d97a55 100644 --- a/doc/posix-functions/fminf.texi +++ b/doc/posix-functions/fminf.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Interix 3.5. +FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/fminl.texi b/doc/posix-functions/fminl.texi index 511feef1a..e3120633c 100644 --- a/doc/posix-functions/fminl.texi +++ b/doc/posix-functions/fminl.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, Interix 3.5, BeOS. +FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/fmodf.texi b/doc/posix-functions/fmodf.texi index 7846c51aa..3d0bb4cb6 100644 --- a/doc/posix-functions/fmodf.texi +++ b/doc/posix-functions/fmodf.texi @@ -4,15 +4,18 @@ POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/fmodf.html} -Gnulib module: --- +Gnulib module: fmodf Portability problems fixed by Gnulib: @itemize +@item +This function is missing on some platforms: +Minix 3.1.8, AIX 5.1, Solaris 9. +@item +This function is only defined as a macro with arguments on some platforms: +MSVC 9. @end itemize Portability problems not fixed by Gnulib: @itemize -@item -This function is missing on some platforms: -Minix 3.1.8, AIX 5.1, Solaris 9. @end itemize diff --git a/doc/posix-functions/fmodl.texi b/doc/posix-functions/fmodl.texi index 55f6aa466..9ce8b5d44 100644 --- a/doc/posix-functions/fmodl.texi +++ b/doc/posix-functions/fmodl.texi @@ -15,4 +15,7 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 9, Cygwin, Interix 3.5, BeOS. +@item +This function is only defined as a macro with arguments on some platforms: +MSVC 9. @end itemize diff --git a/doc/posix-functions/fmtmsg.texi b/doc/posix-functions/fmtmsg.texi index 59064d379..aacaa131d 100644 --- a/doc/posix-functions/fmtmsg.texi +++ b/doc/posix-functions/fmtmsg.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.3, OpenBSD 3.8, Minix 3.1.8, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.3, OpenBSD 3.8, Minix 3.1.8, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/fnmatch.texi b/doc/posix-functions/fnmatch.texi index 1868b3b9c..06e6dddf3 100644 --- a/doc/posix-functions/fnmatch.texi +++ b/doc/posix-functions/fnmatch.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -IRIX 5.3, mingw. +IRIX 5.3, mingw, MSVC 9. @item This function is broken in some versions of Solaris and glibc. @end itemize diff --git a/doc/posix-functions/fork.texi b/doc/posix-functions/fork.texi index 32a5b943d..2db4bcc91 100644 --- a/doc/posix-functions/fork.texi +++ b/doc/posix-functions/fork.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @item On some platforms, @code{fork} followed by a call of the @code{exec} family (@code{execl}, @code{execlp}, @code{execle}, @code{execv}, @code{execvp}, diff --git a/doc/posix-functions/fpathconf.texi b/doc/posix-functions/fpathconf.texi index fec1140fa..766ab79d5 100644 --- a/doc/posix-functions/fpathconf.texi +++ b/doc/posix-functions/fpathconf.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/fprintf.texi b/doc/posix-functions/fprintf.texi index 621f40780..277885e25 100644 --- a/doc/posix-functions/fprintf.texi +++ b/doc/posix-functions/fprintf.texi @@ -11,23 +11,26 @@ Portability problems fixed by Gnulib module @code{fprintf-posix}: @item This function does not support size specifiers as in C99 (@code{hh}, @code{ll}, @code{j}, @code{t}, @code{z}) on some platforms: -AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 1.5.24, mingw, BeOS. +AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 1.5.24, mingw, MSVC 9, BeOS. @item printf of @samp{long double} numbers is unsupported on some platforms: -mingw, BeOS. +mingw, MSVC 9, BeOS. @item printf @code{"%f"}, @code{"%e"}, @code{"%g"} of Infinity and NaN yields an incorrect result on some platforms: -AIX 5.2, OSF/1 5.1, Solaris 11 2010-11, mingw. +AIX 5.2, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9. @item This function does not support the @samp{a} and @samp{A} directives on some platforms: glibc-2.3.6, MacOS X 10.5, NetBSD 5.0, OpenBSD 4.0, AIX 5.2, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, BeOS. +IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9, BeOS. @item This function does not support the @samp{F} directive on some platforms: NetBSD 3.0, AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, -Cygwin 1.5.x, mingw, BeOS. +Cygwin 1.5.x, mingw, MSVC 9, BeOS. +@item +This function does not support the @samp{n} directive on some platforms: +MSVC 9. @item This function does not support the @samp{ls} directive on some platforms: OpenBSD 4.0, IRIX 6.5, Solaris 2.6, Cygwin 1.5.x, Haiku. @@ -38,10 +41,10 @@ Solaris 11 2010-11. @item This function does not support format directives that access arguments in an arbitrary order, such as @code{"%2$s"}, on some platforms: -NetBSD 3.0, mingw, BeOS. +NetBSD 3.0, mingw, MSVC 9, BeOS. @item This function doesn't support the @code{'} flag on some platforms: -NetBSD 3.0, Cygwin 1.5.24, mingw. +NetBSD 3.0, Cygwin 1.5.24, mingw, MSVC 9. @item This function behaves incorrectly when a @samp{-} flag and a negative width are specified together, on some platforms: @@ -49,11 +52,11 @@ HP-UX 10.20. @item printf @code{"%010f"} of NaN and Infinity yields an incorrect result (padded with zeroes) on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, AIX 5.2, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, AIX 5.2, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9. @item This function does not support precisions larger than 512 or 1024 in integer, floating-point and pointer output on some platforms: -AIX 7.1, Solaris 10/x86, mingw, BeOS. +AIX 7.1, Solaris 10/x86, mingw, MSVC 9, BeOS. @item This function mishandles large floating point precisions (for example, formatting 1.0 with @samp{"%.511f"}) @@ -70,7 +73,7 @@ Portability problems fixed by Gnulib module @code{stdio} or @code{fprintf-posix} When writing to a non-blocking pipe whose buffer is full, this function fails with @code{errno} being set to @code{ENOSPC} instead of @code{EAGAIN} on some platforms: -mingw. +mingw, MSVC 9. @end itemize Portability problems fixed by Gnulib module @code{stdio} or @code{fprintf-posix}, together with module @code{sigpipe}: @@ -78,7 +81,7 @@ Portability problems fixed by Gnulib module @code{stdio} or @code{fprintf-posix} @item When writing to a pipe with no readers, this function fails, instead of obeying the current @code{SIGPIPE} handler, on some platforms: -mingw. +mingw, MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/fputc.texi b/doc/posix-functions/fputc.texi index 1b5ba7c2b..8a9e5f2e6 100644 --- a/doc/posix-functions/fputc.texi +++ b/doc/posix-functions/fputc.texi @@ -12,7 +12,7 @@ Portability problems fixed by Gnulib module @code{stdio}, together with module @ When writing to a non-blocking pipe whose buffer is full, this function fails with @code{errno} being set to @code{ENOSPC} instead of @code{EAGAIN} on some platforms: -mingw. +mingw, MSVC 9. @end itemize Portability problems fixed by Gnulib module @code{stdio}, together with module @code{sigpipe}: @@ -20,7 +20,7 @@ Portability problems fixed by Gnulib module @code{stdio}, together with module @ @item When writing to a pipe with no readers, this function fails, instead of obeying the current @code{SIGPIPE} handler, on some platforms: -mingw. +mingw, MSVC 9. @end itemize Portability problems not fixed by Gnulib: @@ -32,4 +32,10 @@ upon failure. On some platforms, this function does not set @code{errno} or the stream error indicator on attempts to write to a read-only stream: Cygwin 1.7.9. +@item +This function crashes if the stream's file descriptor has already been +closed, if @code{MSVC_INVALID_PARAMETER_HANDLING} is +@code{HAIRY_LIBRARY_HANDLING} or @code{SANE_LIBRARY_HANDLING}, +on some platforms: +MSVC 9. @end itemize diff --git a/doc/posix-functions/fputs.texi b/doc/posix-functions/fputs.texi index a7e79d486..a3c406134 100644 --- a/doc/posix-functions/fputs.texi +++ b/doc/posix-functions/fputs.texi @@ -12,7 +12,7 @@ Portability problems fixed by Gnulib module @code{stdio}, together with module @ When writing to a non-blocking pipe whose buffer is full, this function fails with @code{errno} being set to @code{ENOSPC} instead of @code{EAGAIN} on some platforms: -mingw. +mingw, MSVC 9. @end itemize Portability problems fixed by Gnulib module @code{stdio}, together with module @code{sigpipe}: @@ -20,7 +20,7 @@ Portability problems fixed by Gnulib module @code{stdio}, together with module @ @item When writing to a pipe with no readers, this function fails, instead of obeying the current @code{SIGPIPE} handler, on some platforms: -mingw. +mingw, MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/fread.texi b/doc/posix-functions/fread.texi index 57155c22f..1d642495c 100644 --- a/doc/posix-functions/fread.texi +++ b/doc/posix-functions/fread.texi @@ -12,7 +12,7 @@ Portability problems fixed by Gnulib module @code{stdio}, together with module @ When reading from a non-blocking pipe whose buffer is empty, this function fails with @code{errno} being set to @code{EINVAL} instead of @code{EAGAIN} on some platforms: -mingw. +mingw, MSVC 9. @end itemize Portability problems not fixed by Gnulib: @@ -20,4 +20,10 @@ Portability problems not fixed by Gnulib: @item On Windows platforms (excluding Cygwin), this function does not set @code{errno} upon failure. +@item +This function crashes if the stream's file descriptor has already been +closed, if @code{MSVC_INVALID_PARAMETER_HANDLING} is +@code{HAIRY_LIBRARY_HANDLING} or @code{SANE_LIBRARY_HANDLING}, +on some platforms: +MSVC 9. @end itemize diff --git a/doc/posix-functions/freeaddrinfo.texi b/doc/posix-functions/freeaddrinfo.texi index ca4cbb372..e683f220a 100644 --- a/doc/posix-functions/freeaddrinfo.texi +++ b/doc/posix-functions/freeaddrinfo.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -HP-UX 11.11, IRIX 6.5, OSF/1 4.0, Solaris 7, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +HP-UX 11.11, IRIX 6.5, OSF/1 4.0, Solaris 7, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/freelocale.texi b/doc/posix-functions/freelocale.texi index 0cbd3298e..e6b6427b3 100644 --- a/doc/posix-functions/freelocale.texi +++ b/doc/posix-functions/freelocale.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/freopen.texi b/doc/posix-functions/freopen.texi index 49b0afe62..d14c3e1e0 100644 --- a/doc/posix-functions/freopen.texi +++ b/doc/posix-functions/freopen.texi @@ -24,7 +24,7 @@ upon failure. @item This function does not support a @code{NULL} file name argument on some platforms: -OpenBSD 4.9, AIX 7.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw. +OpenBSD 4.9, AIX 7.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, MSVC 9. @item This function does not fail when the file name argument ends in a slash and (without the slash) names a nonexistent file or a file that is not a diff --git a/doc/posix-functions/frexp.texi b/doc/posix-functions/frexp.texi index 149a6c7eb..d58a7e789 100644 --- a/doc/posix-functions/frexp.texi +++ b/doc/posix-functions/frexp.texi @@ -13,10 +13,10 @@ This function does not work on denormalized numbers on some platforms: NetBSD 3.0. @item This function does not work on negative zero on some platforms: -NetBSD 4.99. +NetBSD 4.99, MSVC 9. @item This function does not work on infinite numbers on some platforms: -IRIX 6.5, mingw. +IRIX 6.5, mingw, MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/frexpf.texi b/doc/posix-functions/frexpf.texi index 14e203b0b..329157a76 100644 --- a/doc/posix-functions/frexpf.texi +++ b/doc/posix-functions/frexpf.texi @@ -4,15 +4,24 @@ POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/frexpf.html} -Gnulib module: --- +Gnulib module: frexpf Portability problems fixed by Gnulib: @itemize +@item +This function is missing on some platforms: +Minix 3.1.8, AIX 5.1, HP-UX 11, older IRIX 6.5, Solaris 9. +@item +This function is only defined as a macro with arguments on some platforms: +MSVC 9. +@item +This function does not work on negative zero on some platforms: +mingw. +@item +This function does not work on infinite numbers on some platforms: +IRIX 6.5, mingw. @end itemize Portability problems not fixed by Gnulib: @itemize -@item -This function is missing on some platforms: -Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 9. @end itemize diff --git a/doc/posix-functions/frexpl.texi b/doc/posix-functions/frexpl.texi index c1109f653..83247da69 100644 --- a/doc/posix-functions/frexpl.texi +++ b/doc/posix-functions/frexpl.texi @@ -12,17 +12,20 @@ Portability problems fixed by Gnulib: This function is missing on some platforms: FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 9, Cygwin, Interix 3.5. @item +This function is only defined as a macro with arguments on some platforms: +MSVC 9. +@item This function is not declared on some platforms: MacOS X 10.3. @item This function does not work on finite numbers on some platforms: -MacOS X 10.4/PowerPC, AIX 5.1, BeOS. +MacOS X 10.4/PowerPC, AIX 5.1, MSVC 9, BeOS. @item This function does not work on denormalized numbers on some platforms: MacOS X 10.5/i386. @item This function does not work on infinite numbers on some platforms: -IRIX 6.5, mingw. +IRIX 6.5, mingw, MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/fscanf.texi b/doc/posix-functions/fscanf.texi index 1c47ec2cc..fef2e51a2 100644 --- a/doc/posix-functions/fscanf.texi +++ b/doc/posix-functions/fscanf.texi @@ -12,7 +12,7 @@ Portability problems fixed by Gnulib module @code{stdio}, together with module @ When reading from a non-blocking pipe whose buffer is empty, this function fails with @code{errno} being set to @code{EINVAL} instead of @code{EAGAIN} on some platforms: -mingw. +mingw, MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/fseek.texi b/doc/posix-functions/fseek.texi index 23cedd725..4ca4320f6 100644 --- a/doc/posix-functions/fseek.texi +++ b/doc/posix-functions/fseek.texi @@ -9,7 +9,8 @@ Gnulib module: fseek Portability problems fixed by Gnulib: @itemize @item -This function mistakenly succeeds on pipes on some platforms: mingw. +This function mistakenly succeeds on pipes on some platforms: +mingw, MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/fseeko.texi b/doc/posix-functions/fseeko.texi index 65fe5c778..0f975d733 100644 --- a/doc/posix-functions/fseeko.texi +++ b/doc/posix-functions/fseeko.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -IRIX 5.3, OSF/1 4.0, Solaris 2.5.1, mingw. +IRIX 5.3, OSF/1 4.0, Solaris 2.5.1, mingw, MSVC 9. @item The declaration of @code{fseeko} in @code{} is not enabled by default on some platforms: diff --git a/doc/posix-functions/fstat.texi b/doc/posix-functions/fstat.texi index 967de79b5..31b4365de 100644 --- a/doc/posix-functions/fstat.texi +++ b/doc/posix-functions/fstat.texi @@ -4,19 +4,22 @@ POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/fstat.html} -Gnulib module: --- +Gnulib module: fstat Portability problems fixed by Gnulib: @itemize +@item +This function crashes when invoked with invalid arguments on some platforms: +MSVC 9. +@item +On platforms where @code{off_t} is a 32-bit type, @code{fstat} may not correctly +report the size of files or block devices larger than 2 GB. +(Cf. @code{AC_SYS_LARGEFILE}.) @end itemize Portability problems not fixed by Gnulib: @itemize @item -On platforms where @code{off_t} is a 32-bit type, @code{fstat} may not correctly -report the size of files or block devices larger than 2 GB. The fix is to -use the @code{AC_SYS_LARGEFILE} macro. -@item On Cygwin, @code{fstat} applied to the file descriptors 0 and 1, returns different @code{st_ino} values, even if standard input and standard output are not redirected and refer to the same terminal. diff --git a/doc/posix-functions/fstatat.texi b/doc/posix-functions/fstatat.texi index aaf84928d..fcb2b3052 100644 --- a/doc/posix-functions/fstatat.texi +++ b/doc/posix-functions/fstatat.texi @@ -4,14 +4,14 @@ POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/fstatat.html} -Gnulib module: openat +Gnulib module: fstatat Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, -AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. But the replacement function is not safe to be used in libraries and is not multithread-safe. @item On platforms where @code{off_t} is a 32-bit type, @code{fstatat} may diff --git a/doc/posix-functions/fstatvfs.texi b/doc/posix-functions/fstatvfs.texi index a17c816af..e29767260 100644 --- a/doc/posix-functions/fstatvfs.texi +++ b/doc/posix-functions/fstatvfs.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.3, OpenBSD 3.8, mingw. +MacOS X 10.3, OpenBSD 3.8, mingw, MSVC 9. @item On platforms where @code{f_blocks} in @samp{struct statvfs} is a 32-bit value, this function may not work correctly on files systems larger than diff --git a/doc/posix-functions/fsync.texi b/doc/posix-functions/fsync.texi index 4ddf836e2..b51a3c587 100644 --- a/doc/posix-functions/fsync.texi +++ b/doc/posix-functions/fsync.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/ftell.texi b/doc/posix-functions/ftell.texi index 77ee8845b..01d950704 100644 --- a/doc/posix-functions/ftell.texi +++ b/doc/posix-functions/ftell.texi @@ -9,7 +9,8 @@ Gnulib module: ftell Portability problems fixed by Gnulib: @itemize @item -This function mistakenly succeeds on pipes on some platforms: mingw. +This function mistakenly succeeds on pipes on some platforms: +mingw, MSVC 9. @item This function produces incorrect results after @code{putc} that followed a @code{getc} call that reached EOF on some platforms: @@ -25,7 +26,7 @@ HP-UX 11. @item @code{fflush}, @code{ftell}, @code{ftello}, @code{fgetpos} behave incorrectly on input streams that are opened in @code{O_TEXT} mode and whose contents -contains Unix line terminators (LF), on some platforms: mingw. +contains Unix line terminators (LF), on some platforms: mingw, MSVC 9. @item On platforms where @code{long} is a 32-bit type, @code{ftell} does not work correctly with files larger than 2 GB, even when the @code{AC_SYS_LARGEFILE} diff --git a/doc/posix-functions/ftello.texi b/doc/posix-functions/ftello.texi index 534fbe0cb..de43fea48 100644 --- a/doc/posix-functions/ftello.texi +++ b/doc/posix-functions/ftello.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -IRIX 5.3, OSF/1 4.0, Solaris 2.5.1, mingw. +IRIX 5.3, OSF/1 4.0, Solaris 2.5.1, mingw, MSVC 9. @item The declaration of @code{ftello} in @code{} is not enabled by default on some platforms: @@ -35,7 +35,7 @@ HP-UX 11. @item @code{fflush}, @code{ftell}, @code{ftello}, @code{fgetpos} behave incorrectly on input streams that are opened in @code{O_TEXT} mode and whose contents -contains Unix line terminators (LF), on some platforms: mingw. +contains Unix line terminators (LF), on some platforms: mingw, MSVC 9. @item On platforms where @code{off_t} is a 64-bit type, but @code{fseeko} is not present, stream operations on files larger than 2 GB silently do diff --git a/doc/posix-functions/ftok.texi b/doc/posix-functions/ftok.texi index 569c390b0..05f397208 100644 --- a/doc/posix-functions/ftok.texi +++ b/doc/posix-functions/ftok.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw, BeOS. +mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/ftruncate.texi b/doc/posix-functions/ftruncate.texi index 60d31882b..16713e7d5 100644 --- a/doc/posix-functions/ftruncate.texi +++ b/doc/posix-functions/ftruncate.texi @@ -4,16 +4,19 @@ POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/ftruncate.html} -Gnulib module: --- +Gnulib module: ftruncate Portability problems fixed by Gnulib: @itemize -@end itemize - -Portability problems not fixed by Gnulib: -@itemize +@item +This function is missing on some platforms: +MSVC 9. @item On platforms where @code{off_t} is a 32-bit type, this function is not applicable to arbitrary lengths for files larger than 2 GB. The fix is to use the @code{AC_SYS_LARGEFILE} macro. @end itemize + +Portability problems not fixed by Gnulib: +@itemize +@end itemize diff --git a/doc/posix-functions/ftrylockfile.texi b/doc/posix-functions/ftrylockfile.texi index c988953aa..906d4c560 100644 --- a/doc/posix-functions/ftrylockfile.texi +++ b/doc/posix-functions/ftrylockfile.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Solaris 2.4, mingw. +Minix 3.1.8, Solaris 2.4, mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/ftw.texi b/doc/posix-functions/ftw.texi index dcf4e4394..48c752474 100644 --- a/doc/posix-functions/ftw.texi +++ b/doc/posix-functions/ftw.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.3, FreeBSD 5.2.1, NetBSD 3.0, Minix 3.1.8, mingw, BeOS. +MacOS X 10.3, FreeBSD 5.2.1, NetBSD 3.0, Minix 3.1.8, mingw, MSVC 9, BeOS. @item On platforms where @code{off_t} is a 32-bit type, this function may not correctly report the size of files or block devices larger than 2 GB. diff --git a/doc/posix-functions/funlockfile.texi b/doc/posix-functions/funlockfile.texi index 210a579bd..07ff6688c 100644 --- a/doc/posix-functions/funlockfile.texi +++ b/doc/posix-functions/funlockfile.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, mingw. +Minix 3.1.8, mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/futimens.texi b/doc/posix-functions/futimens.texi index 233db3bf5..722a114dc 100644 --- a/doc/posix-functions/futimens.texi +++ b/doc/posix-functions/futimens.texi @@ -11,7 +11,7 @@ Portability problems fixed by Gnulib: @item This function is missing on some platforms: glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, -AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.5.x, mingw, +AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. However, the replacement function may end up truncating timestamps to less resolution than supported by the file system. diff --git a/doc/posix-functions/fwide.texi b/doc/posix-functions/fwide.texi index eaaf393aa..d4386d719 100644 --- a/doc/posix-functions/fwide.texi +++ b/doc/posix-functions/fwide.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, HP-UX 11.00, IRIX 6.5, Solaris 2.6, Cygwin 1.5.x, Interix 3.5, BeOS. +Minix 3.1.8, HP-UX 11.00, IRIX 6.5, Solaris 2.6, Cygwin 1.5.x, MSVC 9, Interix 3.5, BeOS. @item On AIX and Windows platforms, @code{wchar_t} is a 16-bit type and therefore cannot accommodate all Unicode characters. diff --git a/doc/posix-functions/fwrite.texi b/doc/posix-functions/fwrite.texi index c03a70cca..73b5427ed 100644 --- a/doc/posix-functions/fwrite.texi +++ b/doc/posix-functions/fwrite.texi @@ -12,7 +12,7 @@ Portability problems fixed by Gnulib module @code{stdio}, together with module @ When writing to a non-blocking pipe whose buffer is full, this function fails with @code{errno} being set to @code{ENOSPC} instead of @code{EAGAIN} on some platforms: -mingw. +mingw, MSVC 9. @end itemize Portability problems fixed by Gnulib module @code{stdio}, together with module @code{sigpipe}: @@ -20,7 +20,7 @@ Portability problems fixed by Gnulib module @code{stdio}, together with module @ @item When writing to a pipe with no readers, this function fails, instead of obeying the current @code{SIGPIPE} handler, on some platforms: -mingw. +mingw, MSVC 9. @end itemize Portability problems not fixed by Gnulib: @@ -32,4 +32,10 @@ upon failure. On some platforms, this function does not set @code{errno} or the stream error indicator on attempts to write to a read-only stream: Cygwin 1.7.9. +@item +This function crashes if the stream's file descriptor has already been +closed, if @code{MSVC_INVALID_PARAMETER_HANDLING} is +@code{HAIRY_LIBRARY_HANDLING} or @code{SANE_LIBRARY_HANDLING}, +on some platforms: +MSVC 9. @end itemize diff --git a/doc/posix-functions/gai_strerror.texi b/doc/posix-functions/gai_strerror.texi index d94a6ed9b..713d6dd80 100644 --- a/doc/posix-functions/gai_strerror.texi +++ b/doc/posix-functions/gai_strerror.texi @@ -15,11 +15,11 @@ HP-UX 11.11, IRIX 6.5, OSF/1 4.0, Solaris 7, Cygwin 1.5.x, Interix @item This function is only available in @code{} on some platforms: -mingw. +mingw, MSVC 9. @item This function's return type is @code{char *} instead of @code{const char *} on some platforms: -AIX 7.1, HP-UX 11, OSF/1 5.1, Solaris 9, mingw. +AIX 7.1, HP-UX 11, OSF/1 5.1, Solaris 9, mingw, MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/getaddrinfo.texi b/doc/posix-functions/getaddrinfo.texi index a95ca7f87..aba1b7420 100644 --- a/doc/posix-functions/getaddrinfo.texi +++ b/doc/posix-functions/getaddrinfo.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -HP-UX 11.11, IRIX 6.5, OSF/1 5.1, Solaris 7, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +HP-UX 11.11, IRIX 6.5, OSF/1 5.1, Solaris 7, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. @item On Windows, this function is declared in @code{} rather than in @code{}. diff --git a/doc/posix-functions/getc.texi b/doc/posix-functions/getc.texi index fea05113a..514b0f76a 100644 --- a/doc/posix-functions/getc.texi +++ b/doc/posix-functions/getc.texi @@ -12,7 +12,7 @@ Portability problems fixed by Gnulib module @code{stdio}, together with module @ When reading from a non-blocking pipe whose buffer is empty, this function fails with @code{errno} being set to @code{EINVAL} instead of @code{EAGAIN} on some platforms: -mingw. +mingw, MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/getc_unlocked.texi b/doc/posix-functions/getc_unlocked.texi index b0fee0092..9c2dd47e9 100644 --- a/doc/posix-functions/getc_unlocked.texi +++ b/doc/posix-functions/getc_unlocked.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, mingw. +Minix 3.1.8, mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/getchar.texi b/doc/posix-functions/getchar.texi index 3b11d9934..3acea3405 100644 --- a/doc/posix-functions/getchar.texi +++ b/doc/posix-functions/getchar.texi @@ -12,7 +12,7 @@ Portability problems fixed by Gnulib module @code{stdio}, together with module @ When reading from a non-blocking pipe whose buffer is empty, this function fails with @code{errno} being set to @code{EINVAL} instead of @code{EAGAIN} on some platforms: -mingw. +mingw, MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/getchar_unlocked.texi b/doc/posix-functions/getchar_unlocked.texi index 0e1cb63d7..36e75b4b4 100644 --- a/doc/posix-functions/getchar_unlocked.texi +++ b/doc/posix-functions/getchar_unlocked.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, mingw. +Minix 3.1.8, mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/getcwd.texi b/doc/posix-functions/getcwd.texi index 8b471be67..5dfba599a 100644 --- a/doc/posix-functions/getcwd.texi +++ b/doc/posix-functions/getcwd.texi @@ -10,17 +10,21 @@ Portability problems fixed by either Gnulib module @code{getcwd} or @code{getcwd-lgpl}: @itemize @item +This function is declared in different header files (namely, @code{} or +@code{}) on some platforms: +mingw, MSVC 9. +@item On glibc platforms, @code{getcwd (NULL, n)} allocates memory for the result. On some other platforms, this call is not allowed. @item On some platforms, the prototype for @code{getcwd} uses @code{int} instead of @code{size_t} for the size argument when using non-standard headers, and the declaration is missing from @code{}: -mingw. +mingw, MSVC 9. @item On some platforms, @code{getcwd (buf, 0)} fails with @code{ERANGE} instead of the required @code{EINVAL}: -mingw. +mingw, MSVC 9. @end itemize Portability problems fixed by Gnulib module @code{getcwd}: @@ -29,7 +33,8 @@ Portability problems fixed by Gnulib module @code{getcwd}: This function is missing on some older platforms. @item This function does not handle long file names (greater than @code{PATH_MAX}) -correctly on some platforms. +correctly on some platforms: +glibc on Linux 2.4.20, MacOS X 10.5, FreeBSD 6.4, NetBSD 5.1, OpenBSD 4.9, AIX 7.1. @end itemize Portability problems not fixed by Gnulib: @@ -38,7 +43,7 @@ Portability problems not fixed by Gnulib: When using @code{getcwd(NULL, nonzero)}, some platforms, such as glibc or cygwin, allocate exactly @code{nonzero} bytes and fail with @code{ERANGE} if it was not big enough, while other platforms, such as -FreeBSD or mingw, ignore the size argument and allocate whatever size +FreeBSD, mingw, or MSVC 9, ignore the size argument and allocate whatever size is necessary. If this call succeeds, an application cannot portably access beyond the string length of the result. @end itemize diff --git a/doc/posix-functions/getdate.texi b/doc/posix-functions/getdate.texi index 46f1b359e..02138229d 100644 --- a/doc/posix-functions/getdate.texi +++ b/doc/posix-functions/getdate.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, Cygwin, mingw, BeOS. +MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, Cygwin, mingw, MSVC 9, BeOS. @end itemize Gnulib provides a module @code{parse-datetime} that contains a function diff --git a/doc/posix-functions/getdate_err.texi b/doc/posix-functions/getdate_err.texi index 1dfbb423c..83d528fd1 100644 --- a/doc/posix-functions/getdate_err.texi +++ b/doc/posix-functions/getdate_err.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This variable is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/getdelim.texi b/doc/posix-functions/getdelim.texi index 12400e088..68522daf1 100644 --- a/doc/posix-functions/getdelim.texi +++ b/doc/posix-functions/getdelim.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, Interix 3.5. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, MSVC 9, Interix 3.5. @item This function is missing a declaration on some platforms: BeOS. diff --git a/doc/posix-functions/getegid.texi b/doc/posix-functions/getegid.texi index 601a67f62..add68e21c 100644 --- a/doc/posix-functions/getegid.texi +++ b/doc/posix-functions/getegid.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/geteuid.texi b/doc/posix-functions/geteuid.texi index 69bf96951..e290e860e 100644 --- a/doc/posix-functions/geteuid.texi +++ b/doc/posix-functions/geteuid.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/getgid.texi b/doc/posix-functions/getgid.texi index c5bdf1caa..03aa38157 100644 --- a/doc/posix-functions/getgid.texi +++ b/doc/posix-functions/getgid.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/getgrent.texi b/doc/posix-functions/getgrent.texi index 40d9d9772..aa1819d9f 100644 --- a/doc/posix-functions/getgrent.texi +++ b/doc/posix-functions/getgrent.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/getgrgid.texi b/doc/posix-functions/getgrgid.texi index 98b5002b7..c27132eb1 100644 --- a/doc/posix-functions/getgrgid.texi +++ b/doc/posix-functions/getgrgid.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/getgrgid_r.texi b/doc/posix-functions/getgrgid_r.texi index 11c75f66e..3b71f111e 100644 --- a/doc/posix-functions/getgrgid_r.texi +++ b/doc/posix-functions/getgrgid_r.texi @@ -17,5 +17,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, mingw, BeOS. +Minix 3.1.8, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/getgrnam.texi b/doc/posix-functions/getgrnam.texi index 5990871a8..f4120162a 100644 --- a/doc/posix-functions/getgrnam.texi +++ b/doc/posix-functions/getgrnam.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/getgrnam_r.texi b/doc/posix-functions/getgrnam_r.texi index 66cc3fa86..435f02fa9 100644 --- a/doc/posix-functions/getgrnam_r.texi +++ b/doc/posix-functions/getgrnam_r.texi @@ -17,5 +17,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, mingw, BeOS. +Minix 3.1.8, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/getgroups.texi b/doc/posix-functions/getgroups.texi index f9615ad08..9119ea90f 100644 --- a/doc/posix-functions/getgroups.texi +++ b/doc/posix-functions/getgroups.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @item On some platforms, this function fails to reject a negative count, even though that is less than the size that would be returned: diff --git a/doc/posix-functions/gethostent.texi b/doc/posix-functions/gethostent.texi index c93ea7003..103c0b129 100644 --- a/doc/posix-functions/gethostent.texi +++ b/doc/posix-functions/gethostent.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/gethostid.texi b/doc/posix-functions/gethostid.texi index 12a546eda..caf922184 100644 --- a/doc/posix-functions/gethostid.texi +++ b/doc/posix-functions/gethostid.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Solaris 2.4, mingw, Interix 3.5, BeOS. +Minix 3.1.8, Solaris 2.4, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/gethostname.texi b/doc/posix-functions/gethostname.texi index 1c56df6aa..04b821a53 100644 --- a/doc/posix-functions/gethostname.texi +++ b/doc/posix-functions/gethostname.texi @@ -9,7 +9,7 @@ Gnulib module: gethostname Portability problems fixed by Gnulib: @itemize @item -On mingw, this function has a prototype that differs from that +On mingw and MSVC 9, this function has a prototype that differs from that specified by POSIX, and it is defined only in the ws2_32 library. @end itemize diff --git a/doc/posix-functions/getitimer.texi b/doc/posix-functions/getitimer.texi index e35ffbbc5..601618d4c 100644 --- a/doc/posix-functions/getitimer.texi +++ b/doc/posix-functions/getitimer.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw, BeOS. +mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/getline.texi b/doc/posix-functions/getline.texi index ca2969ae2..d444c4828 100644 --- a/doc/posix-functions/getline.texi +++ b/doc/posix-functions/getline.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, Interix 3.5. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, MSVC 9, Interix 3.5. @item This function is missing a declaration on some platforms: AIX 7.1, BeOS. diff --git a/doc/posix-functions/getlogin.texi b/doc/posix-functions/getlogin.texi index 1f99b63b6..2569eb143 100644 --- a/doc/posix-functions/getlogin.texi +++ b/doc/posix-functions/getlogin.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/getlogin_r.texi b/doc/posix-functions/getlogin_r.texi index 95a4bd4d2..31987b53f 100644 --- a/doc/posix-functions/getlogin_r.texi +++ b/doc/posix-functions/getlogin_r.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -NetBSD 3.0, Minix 3.1.8, mingw. +NetBSD 3.0, Minix 3.1.8, mingw, MSVC 9. @item This function is not declared unless @code{_REENTRANT} is defined, on some platforms: diff --git a/doc/posix-functions/getmsg.texi b/doc/posix-functions/getmsg.texi index 7b329a493..fe3b98e08 100644 --- a/doc/posix-functions/getmsg.texi +++ b/doc/posix-functions/getmsg.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/getnameinfo.texi b/doc/posix-functions/getnameinfo.texi index cbb9189a3..c2c0cba7c 100644 --- a/doc/posix-functions/getnameinfo.texi +++ b/doc/posix-functions/getnameinfo.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -HP-UX 11.11, IRIX 6.5, OSF/1 4.0, Solaris 7, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +HP-UX 11.11, IRIX 6.5, OSF/1 4.0, Solaris 7, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/getnetbyaddr.texi b/doc/posix-functions/getnetbyaddr.texi index 5ea00530b..eb44b6828 100644 --- a/doc/posix-functions/getnetbyaddr.texi +++ b/doc/posix-functions/getnetbyaddr.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Cygwin, mingw, BeOS. +Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/getnetbyname.texi b/doc/posix-functions/getnetbyname.texi index 88870dead..c27279eb4 100644 --- a/doc/posix-functions/getnetbyname.texi +++ b/doc/posix-functions/getnetbyname.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Cygwin, mingw, BeOS. +Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/getnetent.texi b/doc/posix-functions/getnetent.texi index 068d85118..101c05e28 100644 --- a/doc/posix-functions/getnetent.texi +++ b/doc/posix-functions/getnetent.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Cygwin, mingw, BeOS. +Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/getopt.texi b/doc/posix-functions/getopt.texi index 099c2e3d0..5f4d321a1 100644 --- a/doc/posix-functions/getopt.texi +++ b/doc/posix-functions/getopt.texi @@ -25,6 +25,9 @@ MacOS 10.5, AIX 7.1. Portability problems fixed by Gnulib module @code{getopt-gnu}: @itemize @item +This function is missing on some platforms: +MSVC 9. +@item The function @code{getopt} does not support the @samp{+} flag in the options string on some platforms: MacOS X 10.5, AIX 5.2, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11. @@ -43,11 +46,11 @@ MacOS X 10.5, OpenBSD 4.0, AIX 5.2, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x. @item The function @code{getopt_long} is missing on some platforms: -AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Interix 3.5. +AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, MSVC 9, Interix 3.5. @item The function @code{getopt_long_only} is missing on some platforms: MacOS X 10.3, FreeBSD 5.2.1, NetBSD 5.0, AIX 5.1, HP-UX 11, IRIX 6.5, -OSF/1 5.1, Solaris 9, mingw, Interix 3.5. +OSF/1 5.1, Solaris 9, mingw, MSVC 9, Interix 3.5. @item This function crashes if the option string includes @code{W;} on some platforms: diff --git a/doc/posix-functions/getpgid.texi b/doc/posix-functions/getpgid.texi index f28f415ec..64e8a3cb2 100644 --- a/doc/posix-functions/getpgid.texi +++ b/doc/posix-functions/getpgid.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, mingw, Interix 3.5, BeOS. +Minix 3.1.8, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/getpgrp.texi b/doc/posix-functions/getpgrp.texi index 8de884514..1fdd94dbd 100644 --- a/doc/posix-functions/getpgrp.texi +++ b/doc/posix-functions/getpgrp.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/getpmsg.texi b/doc/posix-functions/getpmsg.texi index 1b87eb032..d385e626a 100644 --- a/doc/posix-functions/getpmsg.texi +++ b/doc/posix-functions/getpmsg.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/getppid.texi b/doc/posix-functions/getppid.texi index afc01766d..28b47461f 100644 --- a/doc/posix-functions/getppid.texi +++ b/doc/posix-functions/getppid.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/getpriority.texi b/doc/posix-functions/getpriority.texi index 6c8fa2a29..e865c7428 100644 --- a/doc/posix-functions/getpriority.texi +++ b/doc/posix-functions/getpriority.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Solaris 2.4, mingw, BeOS. +Solaris 2.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/getprotobyname.texi b/doc/posix-functions/getprotobyname.texi index 9c915d5e3..4975f45f2 100644 --- a/doc/posix-functions/getprotobyname.texi +++ b/doc/posix-functions/getprotobyname.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw, BeOS. +mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/getprotobynumber.texi b/doc/posix-functions/getprotobynumber.texi index 2848f0fad..fc7b6e107 100644 --- a/doc/posix-functions/getprotobynumber.texi +++ b/doc/posix-functions/getprotobynumber.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw, BeOS. +mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/getprotoent.texi b/doc/posix-functions/getprotoent.texi index 2e777a388..92770177d 100644 --- a/doc/posix-functions/getprotoent.texi +++ b/doc/posix-functions/getprotoent.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw, BeOS. +mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/getpwent.texi b/doc/posix-functions/getpwent.texi index dc2ab3442..6fd506e93 100644 --- a/doc/posix-functions/getpwent.texi +++ b/doc/posix-functions/getpwent.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/getpwnam.texi b/doc/posix-functions/getpwnam.texi index ff450ac88..678c5ce26 100644 --- a/doc/posix-functions/getpwnam.texi +++ b/doc/posix-functions/getpwnam.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/getpwnam_r.texi b/doc/posix-functions/getpwnam_r.texi index 515199e76..0c57fad61 100644 --- a/doc/posix-functions/getpwnam_r.texi +++ b/doc/posix-functions/getpwnam_r.texi @@ -17,5 +17,9 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -OpenBSD 3.8, Minix 3.1.8, mingw, BeOS. +OpenBSD 3.8, Minix 3.1.8, mingw, MSVC 9, BeOS. +@item +This function has an incompatible declaration, with fewer than five +arguments, on some platforms: +IRIX 5.3. @end itemize diff --git a/doc/posix-functions/getpwuid.texi b/doc/posix-functions/getpwuid.texi index 39437fc3f..cfc765c37 100644 --- a/doc/posix-functions/getpwuid.texi +++ b/doc/posix-functions/getpwuid.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/getpwuid_r.texi b/doc/posix-functions/getpwuid_r.texi index 95ffb9dda..ea09f707f 100644 --- a/doc/posix-functions/getpwuid_r.texi +++ b/doc/posix-functions/getpwuid_r.texi @@ -17,5 +17,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -OpenBSD 3.8, Minix 3.1.8, mingw, BeOS. +OpenBSD 3.8, Minix 3.1.8, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/getrlimit.texi b/doc/posix-functions/getrlimit.texi index 61377a1c3..06e8b9b6b 100644 --- a/doc/posix-functions/getrlimit.texi +++ b/doc/posix-functions/getrlimit.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw, BeOS. +mingw, MSVC 9, BeOS. @item On platforms where @code{rlim_t} is a 32-bit type, this function does not allow to retrieve limits larger than 4 GB, such as for RLIMIT_FSIZE. The diff --git a/doc/posix-functions/getrusage.texi b/doc/posix-functions/getrusage.texi index c359b8367..35f711ca1 100644 --- a/doc/posix-functions/getrusage.texi +++ b/doc/posix-functions/getrusage.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Solaris 2.4, mingw. +Minix 3.1.8, Solaris 2.4, mingw, MSVC 9. @item Many platforms don't fill in all the fields of @code{struct rusage} with meaningful values. diff --git a/doc/posix-functions/gets.texi b/doc/posix-functions/gets.texi index 1a3b27743..cf2716a4f 100644 --- a/doc/posix-functions/gets.texi +++ b/doc/posix-functions/gets.texi @@ -12,7 +12,7 @@ Portability problems fixed by Gnulib module @code{stdio}, together with module @ When reading from a non-blocking pipe whose buffer is empty, this function fails with @code{errno} being set to @code{EINVAL} instead of @code{EAGAIN} on some platforms: -mingw. +mingw, MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/getservbyname.texi b/doc/posix-functions/getservbyname.texi index 50e3344cb..b2c7baa13 100644 --- a/doc/posix-functions/getservbyname.texi +++ b/doc/posix-functions/getservbyname.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/getservbyport.texi b/doc/posix-functions/getservbyport.texi index 6edf1cf6b..1387584be 100644 --- a/doc/posix-functions/getservbyport.texi +++ b/doc/posix-functions/getservbyport.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw, BeOS. +mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/getservent.texi b/doc/posix-functions/getservent.texi index 5d043a22b..2c60e8ce8 100644 --- a/doc/posix-functions/getservent.texi +++ b/doc/posix-functions/getservent.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw, BeOS. +mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/getsid.texi b/doc/posix-functions/getsid.texi index 46550610a..73aaf370a 100644 --- a/doc/posix-functions/getsid.texi +++ b/doc/posix-functions/getsid.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, mingw, Interix 3.5, BeOS. +Minix 3.1.8, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/getsubopt.texi b/doc/posix-functions/getsubopt.texi index 1ac39f8a2..12d91d217 100644 --- a/doc/posix-functions/getsubopt.texi +++ b/doc/posix-functions/getsubopt.texi @@ -14,7 +14,7 @@ This function is declared in @code{unistd.h} instead of Cygwin 1.7.1. @item This function is missing on some platforms: -mingw, BeOS. +mingw, MSVC 9, BeOS. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/gettimeofday.texi b/doc/posix-functions/gettimeofday.texi index faf805263..c6ecaa978 100644 --- a/doc/posix-functions/gettimeofday.texi +++ b/doc/posix-functions/gettimeofday.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @item This function is declared with a nonstandard function prototype (only one argument, or ``...'' after the first argument) on some platforms. diff --git a/doc/posix-functions/getuid.texi b/doc/posix-functions/getuid.texi index e80860c92..e3b15cda2 100644 --- a/doc/posix-functions/getuid.texi +++ b/doc/posix-functions/getuid.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/getutxent.texi b/doc/posix-functions/getutxent.texi index 922b0e274..41d49ca4e 100644 --- a/doc/posix-functions/getutxent.texi +++ b/doc/posix-functions/getutxent.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.3, FreeBSD 6.0, OpenBSD 3.8, Minix 3.1.8, mingw, BeOS. +MacOS X 10.3, FreeBSD 6.0, OpenBSD 3.8, Minix 3.1.8, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/getutxid.texi b/doc/posix-functions/getutxid.texi index 43fb191dd..d848e3b52 100644 --- a/doc/posix-functions/getutxid.texi +++ b/doc/posix-functions/getutxid.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.3, FreeBSD 6.0, OpenBSD 3.8, Minix 3.1.8, mingw, BeOS. +MacOS X 10.3, FreeBSD 6.0, OpenBSD 3.8, Minix 3.1.8, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/getutxline.texi b/doc/posix-functions/getutxline.texi index 721339042..46dd6f8f3 100644 --- a/doc/posix-functions/getutxline.texi +++ b/doc/posix-functions/getutxline.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.3, FreeBSD 6.0, OpenBSD 3.8, Minix 3.1.8, mingw, BeOS. +MacOS X 10.3, FreeBSD 6.0, OpenBSD 3.8, Minix 3.1.8, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/glob.texi b/doc/posix-functions/glob.texi index 648272929..0b98883e5 100644 --- a/doc/posix-functions/glob.texi +++ b/doc/posix-functions/glob.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -IRIX 5.3, mingw, BeOS. +IRIX 5.3, mingw, MSVC 9, BeOS. @item This function may list symbolic links to nonexistent files among the results, on some platforms. diff --git a/doc/posix-functions/globfree.texi b/doc/posix-functions/globfree.texi index ccab275e4..80d18b5f3 100644 --- a/doc/posix-functions/globfree.texi +++ b/doc/posix-functions/globfree.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -IRIX 5.3, mingw, BeOS. +IRIX 5.3, mingw, MSVC 9, BeOS. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/gmtime_r.texi b/doc/posix-functions/gmtime_r.texi index 7d1bb3094..19460cec8 100644 --- a/doc/posix-functions/gmtime_r.texi +++ b/doc/posix-functions/gmtime_r.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @item This function is not declared unless @code{_REENTRANT} is defined, on some platforms: diff --git a/doc/posix-functions/grantpt.texi b/doc/posix-functions/grantpt.texi index ad35e46fe..eaba7f070 100644 --- a/doc/posix-functions/grantpt.texi +++ b/doc/posix-functions/grantpt.texi @@ -10,9 +10,15 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.3, OpenBSD 3.8, Minix 3.1.8, mingw, BeOS. +MacOS X 10.3, OpenBSD 3.8, Minix 3.1.8, mingw, MSVC 9, BeOS. @end itemize Portability problems not fixed by Gnulib: @itemize +@item +This function is not declared on some platforms: +IRIX 5.3. +@item +This function reports success for invalid file descriptors on some platforms: +Cygwin 1.7.9. @end itemize diff --git a/doc/posix-functions/hcreate.texi b/doc/posix-functions/hcreate.texi index 916222aca..b0b4dfb40 100644 --- a/doc/posix-functions/hcreate.texi +++ b/doc/posix-functions/hcreate.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, mingw, BeOS. +Minix 3.1.8, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/hdestroy.texi b/doc/posix-functions/hdestroy.texi index 59912ccfc..b6930edc5 100644 --- a/doc/posix-functions/hdestroy.texi +++ b/doc/posix-functions/hdestroy.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, mingw, BeOS. +Minix 3.1.8, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/hsearch.texi b/doc/posix-functions/hsearch.texi index 6349a723f..51655a245 100644 --- a/doc/posix-functions/hsearch.texi +++ b/doc/posix-functions/hsearch.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, mingw, BeOS. +Minix 3.1.8, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/htonl.texi b/doc/posix-functions/htonl.texi index 0cbe20d82..f8c651ea8 100644 --- a/doc/posix-functions/htonl.texi +++ b/doc/posix-functions/htonl.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -HP-UX 11, mingw, BeOS. +HP-UX 11, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/htons.texi b/doc/posix-functions/htons.texi index d71b3adc5..01a610fef 100644 --- a/doc/posix-functions/htons.texi +++ b/doc/posix-functions/htons.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -HP-UX 11, mingw, BeOS. +HP-UX 11, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/hypotf.texi b/doc/posix-functions/hypotf.texi index d2e3a4b87..c964e45f3 100644 --- a/doc/posix-functions/hypotf.texi +++ b/doc/posix-functions/hypotf.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, AIX 5.1, HP-UX 11, Solaris 9. +Minix 3.1.8, AIX 5.1, HP-UX 11, Solaris 9, MSVC 9. @end itemize diff --git a/doc/posix-functions/hypotl.texi b/doc/posix-functions/hypotl.texi index 7de5b8247..d6bb09924 100644 --- a/doc/posix-functions/hypotl.texi +++ b/doc/posix-functions/hypotl.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 9, Cygwin, Interix 3.5, BeOS. +FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 9, Cygwin, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/iconv.texi b/doc/posix-functions/iconv.texi index a5151ea0c..836b2e83d 100644 --- a/doc/posix-functions/iconv.texi +++ b/doc/posix-functions/iconv.texi @@ -22,7 +22,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, OpenBSD 3.8, Minix 3.1.8, IRIX 5.3, Cygwin, mingw, BeOS, +MacOS X 10.5, FreeBSD 6.0, OpenBSD 3.8, Minix 3.1.8, IRIX 5.3, Cygwin, mingw, MSVC 9, BeOS, when GNU libiconv is not installed. @item This function was not correctly implemented in glibc versions before 2.2. diff --git a/doc/posix-functions/iconv_close.texi b/doc/posix-functions/iconv_close.texi index 23c2b828c..93e648007 100644 --- a/doc/posix-functions/iconv_close.texi +++ b/doc/posix-functions/iconv_close.texi @@ -16,6 +16,6 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, OpenBSD 3.8, Minix 3.1.8, IRIX 5.3, Cygwin, mingw, BeOS, +MacOS X 10.5, FreeBSD 6.0, OpenBSD 3.8, Minix 3.1.8, IRIX 5.3, Cygwin, mingw, MSVC 9, BeOS, when GNU libiconv is not installed. @end itemize diff --git a/doc/posix-functions/iconv_open.texi b/doc/posix-functions/iconv_open.texi index 462eb7d2e..38dfb3932 100644 --- a/doc/posix-functions/iconv_open.texi +++ b/doc/posix-functions/iconv_open.texi @@ -35,7 +35,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, OpenBSD 3.8, Minix 3.1.8, IRIX 5.3, Cygwin, mingw, BeOS, +MacOS X 10.5, FreeBSD 6.0, OpenBSD 3.8, Minix 3.1.8, IRIX 5.3, Cygwin, mingw, MSVC 9, BeOS, when GNU libiconv is not installed. @item For some encodings A and B, this function cannot convert directly from A to B, diff --git a/doc/posix-functions/if_freenameindex.texi b/doc/posix-functions/if_freenameindex.texi index 7e02dab11..e0d36ece5 100644 --- a/doc/posix-functions/if_freenameindex.texi +++ b/doc/posix-functions/if_freenameindex.texi @@ -15,7 +15,7 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: OpenBSD 3.8, Minix 3.1.8, HP-UX 11.23, IRIX 6.5, OSF/1 4.0, Solaris 7, Cygwin 1.5.x, -mingw, Interix 3.5, BeOS. +mingw, MSVC 9, Interix 3.5, BeOS. @item This is available only as a macro, rather than a function, on some diff --git a/doc/posix-functions/if_indextoname.texi b/doc/posix-functions/if_indextoname.texi index a8b8fd502..2329d0c06 100644 --- a/doc/posix-functions/if_indextoname.texi +++ b/doc/posix-functions/if_indextoname.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, HP-UX 11.23, IRIX 6.5, OSF/1 4.0, Solaris 7, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +Minix 3.1.8, HP-UX 11.23, IRIX 6.5, OSF/1 4.0, Solaris 7, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/if_nameindex.texi b/doc/posix-functions/if_nameindex.texi index a8ab99d2f..f840a674e 100644 --- a/doc/posix-functions/if_nameindex.texi +++ b/doc/posix-functions/if_nameindex.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, HP-UX 11.23, IRIX 6.5, OSF/1 4.0, Solaris 7, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +Minix 3.1.8, HP-UX 11.23, IRIX 6.5, OSF/1 4.0, Solaris 7, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/if_nametoindex.texi b/doc/posix-functions/if_nametoindex.texi index 048ef8ebb..70f3acd5c 100644 --- a/doc/posix-functions/if_nametoindex.texi +++ b/doc/posix-functions/if_nametoindex.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, HP-UX 11.23, IRIX 6.5, OSF/1 4.0, Solaris 7, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +Minix 3.1.8, HP-UX 11.23, IRIX 6.5, OSF/1 4.0, Solaris 7, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/ilogb.texi b/doc/posix-functions/ilogb.texi index e31ff1bd2..1005db682 100644 --- a/doc/posix-functions/ilogb.texi +++ b/doc/posix-functions/ilogb.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, IRIX 5.3. +Minix 3.1.8, IRIX 5.3, MSVC 9. @end itemize diff --git a/doc/posix-functions/ilogbf.texi b/doc/posix-functions/ilogbf.texi index b68c002ff..f496aaad9 100644 --- a/doc/posix-functions/ilogbf.texi +++ b/doc/posix-functions/ilogbf.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 9. +Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 9, MSVC 9. @end itemize diff --git a/doc/posix-functions/ilogbl.texi b/doc/posix-functions/ilogbl.texi index 80badcbe1..4205ac308 100644 --- a/doc/posix-functions/ilogbl.texi +++ b/doc/posix-functions/ilogbl.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 9, Cygwin, Interix 3.5, BeOS. +FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 9, Cygwin, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/imaxabs.texi b/doc/posix-functions/imaxabs.texi index 1e56de571..b422a47be 100644 --- a/doc/posix-functions/imaxabs.texi +++ b/doc/posix-functions/imaxabs.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, Interix 3.5, BeOS. +NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, MSVC 9, Interix 3.5, BeOS. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/imaxdiv.texi b/doc/posix-functions/imaxdiv.texi index 32b89b76c..e77312ef5 100644 --- a/doc/posix-functions/imaxdiv.texi +++ b/doc/posix-functions/imaxdiv.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, Interix 3.5, BeOS. +NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, MSVC 9, Interix 3.5, BeOS. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/inet_addr.texi b/doc/posix-functions/inet_addr.texi index a89a6105d..b093b7da0 100644 --- a/doc/posix-functions/inet_addr.texi +++ b/doc/posix-functions/inet_addr.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @item On some old platforms, this function returns a @samp{struct in_addr} rather than a scalar type such as @samp{unsigned int} or @samp{unsigned long}. diff --git a/doc/posix-functions/inet_ntoa.texi b/doc/posix-functions/inet_ntoa.texi index 4e728be24..e5026e85d 100644 --- a/doc/posix-functions/inet_ntoa.texi +++ b/doc/posix-functions/inet_ntoa.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @item The @code{inet_ntoa} function need not be reentrant, and consequently is not required to be thread safe. Implementations of diff --git a/doc/posix-functions/inet_ntop.texi b/doc/posix-functions/inet_ntop.texi index 7ff496564..8a32ea5bb 100644 --- a/doc/posix-functions/inet_ntop.texi +++ b/doc/posix-functions/inet_ntop.texi @@ -10,11 +10,15 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -HP-UX 11.00, OSF/1 4.0, Solaris 2.5.1, mingw, Interix 3.5, BeOS. +HP-UX 11.00, OSF/1 4.0, Solaris 2.5.1, mingw, MSVC 9, Interix 3.5, BeOS. @item This function is declared in @code{} instead of @code{} on some platforms: NonStop Kernel. +@item +This function is declared in @code{}, with a POSIX incompatible +declaration, on some platforms: +MSVC 9 on Windows >= Vista. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/inet_pton.texi b/doc/posix-functions/inet_pton.texi index 66b340eec..67f7c3dfe 100644 --- a/doc/posix-functions/inet_pton.texi +++ b/doc/posix-functions/inet_pton.texi @@ -10,11 +10,15 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -HP-UX 11.00, OSF/1 4.0, Solaris 2.5.1, mingw, Interix 3.5, BeOS. +HP-UX 11.00, OSF/1 4.0, Solaris 2.5.1, mingw, MSVC 9, Interix 3.5, BeOS. @item This function is declared in @code{} instead of @code{} on some platforms: NonStop Kernel. +@item +This function is declared in @code{}, with a POSIX incompatible +declaration, on some platforms: +MSVC 9 on Windows >= Vista. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/initstate.texi b/doc/posix-functions/initstate.texi index f4c6f4280..a405d7921 100644 --- a/doc/posix-functions/initstate.texi +++ b/doc/posix-functions/initstate.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Solaris 2.4, mingw. +Solaris 2.4, mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/insque.texi b/doc/posix-functions/insque.texi index ea8531afe..dc6c17943 100644 --- a/doc/posix-functions/insque.texi +++ b/doc/posix-functions/insque.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +Minix 3.1.8, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/isalnum_l.texi b/doc/posix-functions/isalnum_l.texi index 3f0987883..b76ae38b8 100644 --- a/doc/posix-functions/isalnum_l.texi +++ b/doc/posix-functions/isalnum_l.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/isalpha_l.texi b/doc/posix-functions/isalpha_l.texi index 644108d99..5e96be1a1 100644 --- a/doc/posix-functions/isalpha_l.texi +++ b/doc/posix-functions/isalpha_l.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/isastream.texi b/doc/posix-functions/isastream.texi index bccedfb84..28f1bf6f3 100644 --- a/doc/posix-functions/isastream.texi +++ b/doc/posix-functions/isastream.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/isblank.texi b/doc/posix-functions/isblank.texi index 639fb1816..732340088 100644 --- a/doc/posix-functions/isblank.texi +++ b/doc/posix-functions/isblank.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -AIX 4.3.2, IRIX 6.5, OSF/1 5.1, Solaris 9, mingw. +AIX 4.3.2, IRIX 6.5, OSF/1 5.1, Solaris 9, mingw, MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/isblank_l.texi b/doc/posix-functions/isblank_l.texi index 11cb7fd89..0c66abb8c 100644 --- a/doc/posix-functions/isblank_l.texi +++ b/doc/posix-functions/isblank_l.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/iscntrl_l.texi b/doc/posix-functions/iscntrl_l.texi index 5c9ffa5fc..1e2d55e58 100644 --- a/doc/posix-functions/iscntrl_l.texi +++ b/doc/posix-functions/iscntrl_l.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/isdigit_l.texi b/doc/posix-functions/isdigit_l.texi index 19be4ab37..fc6681d5f 100644 --- a/doc/posix-functions/isdigit_l.texi +++ b/doc/posix-functions/isdigit_l.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/isgraph_l.texi b/doc/posix-functions/isgraph_l.texi index b1e4d56ae..b6158959f 100644 --- a/doc/posix-functions/isgraph_l.texi +++ b/doc/posix-functions/isgraph_l.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/isinf.texi b/doc/posix-functions/isinf.texi index a1f7a3464..eea723bae 100644 --- a/doc/posix-functions/isinf.texi +++ b/doc/posix-functions/isinf.texi @@ -10,7 +10,11 @@ Portability problems fixed by Gnulib: @itemize @item This macro is missing on some platforms: -AIX 4.3.2, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11. +AIX 5.1, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11. +@item +This macro incorrectly yields true for some @samp{long double} arguments, on +some platforms: +OpenBSD 4.9/x86 (pseudo-Infinity). @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/islower_l.texi b/doc/posix-functions/islower_l.texi index 976c8198d..2902aef74 100644 --- a/doc/posix-functions/islower_l.texi +++ b/doc/posix-functions/islower_l.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/isnan.texi b/doc/posix-functions/isnan.texi index 202399554..7d23a3a3a 100644 --- a/doc/posix-functions/isnan.texi +++ b/doc/posix-functions/isnan.texi @@ -9,6 +9,9 @@ Gnulib module: isnan Portability problems fixed by Gnulib: @itemize @item +This macro is missing on some platforms: +MSVC 9. +@item @code{isnan} was introduced with C99 and is thus commonly not present on pre-C99 systems. @item diff --git a/doc/posix-functions/isprint_l.texi b/doc/posix-functions/isprint_l.texi index 8d16bb781..501015c9f 100644 --- a/doc/posix-functions/isprint_l.texi +++ b/doc/posix-functions/isprint_l.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/ispunct_l.texi b/doc/posix-functions/ispunct_l.texi index d81a04b13..4d9db1f02 100644 --- a/doc/posix-functions/ispunct_l.texi +++ b/doc/posix-functions/ispunct_l.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/isspace_l.texi b/doc/posix-functions/isspace_l.texi index 7dcb6421d..8fbd0faab 100644 --- a/doc/posix-functions/isspace_l.texi +++ b/doc/posix-functions/isspace_l.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/isupper_l.texi b/doc/posix-functions/isupper_l.texi index 49fc87e0c..723c1e1e6 100644 --- a/doc/posix-functions/isupper_l.texi +++ b/doc/posix-functions/isupper_l.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/iswalnum_l.texi b/doc/posix-functions/iswalnum_l.texi index 654b57a58..301c13eb8 100644 --- a/doc/posix-functions/iswalnum_l.texi +++ b/doc/posix-functions/iswalnum_l.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item On AIX and Windows platforms, @code{wchar_t} is a 16-bit type and therefore cannot accommodate all Unicode characters. diff --git a/doc/posix-functions/iswalpha_l.texi b/doc/posix-functions/iswalpha_l.texi index 32523a136..8e539406e 100644 --- a/doc/posix-functions/iswalpha_l.texi +++ b/doc/posix-functions/iswalpha_l.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item On AIX and Windows platforms, @code{wchar_t} is a 16-bit type and therefore cannot accommodate all Unicode characters. diff --git a/doc/posix-functions/iswblank.texi b/doc/posix-functions/iswblank.texi index 08b462e15..c5ac2c3fc 100644 --- a/doc/posix-functions/iswblank.texi +++ b/doc/posix-functions/iswblank.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, AIX 4.3.2, IRIX 6.5, OSF/1 5.1, Solaris 9, mingw. +Minix 3.1.8, AIX 4.3.2, IRIX 6.5, OSF/1 5.1, Solaris 9, mingw, MSVC 9. @item This function is declared but not defined on some platforms: IRIX 6.5.30. diff --git a/doc/posix-functions/iswblank_l.texi b/doc/posix-functions/iswblank_l.texi index 33478f9df..c9067db72 100644 --- a/doc/posix-functions/iswblank_l.texi +++ b/doc/posix-functions/iswblank_l.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item On AIX and Windows platforms, @code{wchar_t} is a 16-bit type and therefore cannot accommodate all Unicode characters. diff --git a/doc/posix-functions/iswcntrl_l.texi b/doc/posix-functions/iswcntrl_l.texi index d9c8a9b63..f7c44960c 100644 --- a/doc/posix-functions/iswcntrl_l.texi +++ b/doc/posix-functions/iswcntrl_l.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item On AIX and Windows platforms, @code{wchar_t} is a 16-bit type and therefore cannot accommodate all Unicode characters. diff --git a/doc/posix-functions/iswctype_l.texi b/doc/posix-functions/iswctype_l.texi index 537932987..2b70130ca 100644 --- a/doc/posix-functions/iswctype_l.texi +++ b/doc/posix-functions/iswctype_l.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item On AIX and Windows platforms, @code{wchar_t} is a 16-bit type and therefore cannot accommodate all Unicode characters. diff --git a/doc/posix-functions/iswdigit_l.texi b/doc/posix-functions/iswdigit_l.texi index 30b845e9a..5adbe95d3 100644 --- a/doc/posix-functions/iswdigit_l.texi +++ b/doc/posix-functions/iswdigit_l.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item On AIX and Windows platforms, @code{wchar_t} is a 16-bit type and therefore cannot accommodate all Unicode characters. diff --git a/doc/posix-functions/iswgraph_l.texi b/doc/posix-functions/iswgraph_l.texi index a649c150e..fd02f1882 100644 --- a/doc/posix-functions/iswgraph_l.texi +++ b/doc/posix-functions/iswgraph_l.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item On AIX and Windows platforms, @code{wchar_t} is a 16-bit type and therefore cannot accommodate all Unicode characters. diff --git a/doc/posix-functions/iswlower_l.texi b/doc/posix-functions/iswlower_l.texi index de3bfe596..33a2a0ac4 100644 --- a/doc/posix-functions/iswlower_l.texi +++ b/doc/posix-functions/iswlower_l.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item On AIX and Windows platforms, @code{wchar_t} is a 16-bit type and therefore cannot accommodate all Unicode characters. diff --git a/doc/posix-functions/iswprint_l.texi b/doc/posix-functions/iswprint_l.texi index 0d885b0e3..26b09dc5f 100644 --- a/doc/posix-functions/iswprint_l.texi +++ b/doc/posix-functions/iswprint_l.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item On AIX and Windows platforms, @code{wchar_t} is a 16-bit type and therefore cannot accommodate all Unicode characters. diff --git a/doc/posix-functions/iswpunct_l.texi b/doc/posix-functions/iswpunct_l.texi index 138ae82b7..8e3ece2b9 100644 --- a/doc/posix-functions/iswpunct_l.texi +++ b/doc/posix-functions/iswpunct_l.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item On AIX and Windows platforms, @code{wchar_t} is a 16-bit type and therefore cannot accommodate all Unicode characters. diff --git a/doc/posix-functions/iswspace_l.texi b/doc/posix-functions/iswspace_l.texi index fd1dc6f1d..cd7bb1329 100644 --- a/doc/posix-functions/iswspace_l.texi +++ b/doc/posix-functions/iswspace_l.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item On AIX and Windows platforms, @code{wchar_t} is a 16-bit type and therefore cannot accommodate all Unicode characters. diff --git a/doc/posix-functions/iswupper_l.texi b/doc/posix-functions/iswupper_l.texi index c2179b2ca..2cafde964 100644 --- a/doc/posix-functions/iswupper_l.texi +++ b/doc/posix-functions/iswupper_l.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item On AIX and Windows platforms, @code{wchar_t} is a 16-bit type and therefore cannot accommodate all Unicode characters. diff --git a/doc/posix-functions/iswxdigit_l.texi b/doc/posix-functions/iswxdigit_l.texi index 8d588ebf5..5569b85d5 100644 --- a/doc/posix-functions/iswxdigit_l.texi +++ b/doc/posix-functions/iswxdigit_l.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item On AIX and Windows platforms, @code{wchar_t} is a 16-bit type and therefore cannot accommodate all Unicode characters. diff --git a/doc/posix-functions/isxdigit_l.texi b/doc/posix-functions/isxdigit_l.texi index f3bc8c092..1d90143b7 100644 --- a/doc/posix-functions/isxdigit_l.texi +++ b/doc/posix-functions/isxdigit_l.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/jrand48.texi b/doc/posix-functions/jrand48.texi index 1146ae234..809b047bc 100644 --- a/doc/posix-functions/jrand48.texi +++ b/doc/posix-functions/jrand48.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, mingw. +Minix 3.1.8, mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/kill.texi b/doc/posix-functions/kill.texi index 3a1836201..a463e1aa1 100644 --- a/doc/posix-functions/kill.texi +++ b/doc/posix-functions/kill.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/killpg.texi b/doc/posix-functions/killpg.texi index 192c87f89..67ccd32f7 100644 --- a/doc/posix-functions/killpg.texi +++ b/doc/posix-functions/killpg.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Solaris 2.4, mingw, BeOS. +Solaris 2.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/l64a.texi b/doc/posix-functions/l64a.texi index 8511f1df5..94e159937 100644 --- a/doc/posix-functions/l64a.texi +++ b/doc/posix-functions/l64a.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 6.0, Minix 3.1.8, mingw, BeOS. +FreeBSD 6.0, Minix 3.1.8, mingw, MSVC 9, BeOS. @item This function was not correctly implemented in glibc versions before 2.2.5. @end itemize diff --git a/doc/posix-functions/lchown.texi b/doc/posix-functions/lchown.texi index 0304c6c9d..94938956d 100644 --- a/doc/posix-functions/lchown.texi +++ b/doc/posix-functions/lchown.texi @@ -21,7 +21,7 @@ OpenBSD 4.0. This function is missing on some platforms; however, the replacement fails on symlinks if @code{chown} is supported, and fails altogether with @code{ENOSYS} otherwise: -MacOS X 10.3, Minix 3.1.8, mingw, BeOS. +MacOS X 10.3, Minix 3.1.8, mingw, MSVC 9, BeOS. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/lcong48.texi b/doc/posix-functions/lcong48.texi index 9df81c1df..67528b672 100644 --- a/doc/posix-functions/lcong48.texi +++ b/doc/posix-functions/lcong48.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, mingw. +Minix 3.1.8, mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/ldexpf.texi b/doc/posix-functions/ldexpf.texi index 772ec6145..252b279b2 100644 --- a/doc/posix-functions/ldexpf.texi +++ b/doc/posix-functions/ldexpf.texi @@ -4,15 +4,18 @@ POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/ldexpf.html} -Gnulib module: --- +Gnulib module: ldexpf Portability problems fixed by Gnulib: @itemize +@item +This function is missing on some platforms: +Minix 3.1.8, AIX 5.1, HP-UX 11, older IRIX 6.5, Solaris 9. +@item +This function is only defined as a macro with arguments on some platforms: +MSVC 9. @end itemize Portability problems not fixed by Gnulib: @itemize -@item -This function is missing on some platforms: -Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 9. @end itemize diff --git a/doc/posix-functions/ldexpl.texi b/doc/posix-functions/ldexpl.texi index c2628cba3..ed2416cd5 100644 --- a/doc/posix-functions/ldexpl.texi +++ b/doc/posix-functions/ldexpl.texi @@ -12,6 +12,9 @@ Portability problems fixed by Gnulib: This function is missing on some platforms: FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 9, Cygwin, Interix 3.5. @item +This function is only defined as a macro with arguments on some platforms: +MSVC 9. +@item This function has no prototype in @code{} on some platforms: MacOS X. @item diff --git a/doc/posix-functions/lgamma.texi b/doc/posix-functions/lgamma.texi index 7cfc22282..7843b8ad8 100644 --- a/doc/posix-functions/lgamma.texi +++ b/doc/posix-functions/lgamma.texi @@ -14,5 +14,8 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8. +Minix 3.1.8, MSVC 9. +@item +This function is not declared on some platforms: +IRIX 5.3. @end itemize diff --git a/doc/posix-functions/lgammaf.texi b/doc/posix-functions/lgammaf.texi index 5f428a90d..60b93a0e9 100644 --- a/doc/posix-functions/lgammaf.texi +++ b/doc/posix-functions/lgammaf.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 9. +Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 9, MSVC 9. @end itemize diff --git a/doc/posix-functions/lgammal.texi b/doc/posix-functions/lgammal.texi index 9ff9853f4..594eae4b3 100644 --- a/doc/posix-functions/lgammal.texi +++ b/doc/posix-functions/lgammal.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 9, Cygwin, Interix 3.5, BeOS. +FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 9, Cygwin, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/link.texi b/doc/posix-functions/link.texi index d4f2a7e0b..e65e84f5b 100644 --- a/doc/posix-functions/link.texi +++ b/doc/posix-functions/link.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @item This function fails to reject trailing slashes on non-directories on some platforms: diff --git a/doc/posix-functions/linkat.texi b/doc/posix-functions/linkat.texi index 5547448b6..61a2a84ef 100644 --- a/doc/posix-functions/linkat.texi +++ b/doc/posix-functions/linkat.texi @@ -11,7 +11,7 @@ Portability problems fixed by Gnulib: @item This function is missing on some platforms: glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, -AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. But the replacement function is not safe to be used in libraries and is not multithread-safe. @item This function fails to reject trailing slashes on non-directories on diff --git a/doc/posix-functions/lio_listio.texi b/doc/posix-functions/lio_listio.texi index 47ed79184..8e6aa1532 100644 --- a/doc/posix-functions/lio_listio.texi +++ b/doc/posix-functions/lio_listio.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, OSF/1 5.1, Solaris 2.4, Cygwin, mingw, Interix 3.5, BeOS. +NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, OSF/1 5.1, Solaris 2.4, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item On platforms where @code{off_t} is a 32-bit type, this function may not work correctly on files larger than 2 GB. The fix is to use the diff --git a/doc/posix-functions/llabs.texi b/doc/posix-functions/llabs.texi index fb4707c91..8d5ce098c 100644 --- a/doc/posix-functions/llabs.texi +++ b/doc/posix-functions/llabs.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, HP-UX 11.23, OSF/1 5.1, Interix 3.5. +Minix 3.1.8, HP-UX 11.23, OSF/1 5.1, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/lldiv.texi b/doc/posix-functions/lldiv.texi index 76b5c8a6c..ba7ddac63 100644 --- a/doc/posix-functions/lldiv.texi +++ b/doc/posix-functions/lldiv.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -OpenBSD 3.8, Minix 3.1.8, HP-UX 11.23, OSF/1 5.1, Interix 3.5. +OpenBSD 3.8, Minix 3.1.8, HP-UX 11.23, OSF/1 5.1, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/llrint.texi b/doc/posix-functions/llrint.texi index e7d03e493..89386e92c 100644 --- a/doc/posix-functions/llrint.texi +++ b/doc/posix-functions/llrint.texi @@ -15,5 +15,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: FreeBSD 5.2.1, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, IRIX 6.5, OSF/1 4.0, Solaris 9, -Cygwin 1.5.x, Interix 3.5. +Cygwin 1.5.x, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/llrintf.texi b/doc/posix-functions/llrintf.texi index c715925c0..0c54fcaa5 100644 --- a/doc/posix-functions/llrintf.texi +++ b/doc/posix-functions/llrintf.texi @@ -15,5 +15,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: FreeBSD 5.2.1, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, -Solaris 9, Cygwin 1.5.x, Interix 3.5. +Solaris 9, Cygwin 1.5.x, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/llrintl.texi b/doc/posix-functions/llrintl.texi index a6aa9c3ae..e5ff00364 100644 --- a/doc/posix-functions/llrintl.texi +++ b/doc/posix-functions/llrintl.texi @@ -15,5 +15,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, -OSF/1 4.0, Solaris 9, Cygwin 1.5.x, Interix 3.5, BeOS. +OSF/1 4.0, Solaris 9, Cygwin 1.5.x, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/llround.texi b/doc/posix-functions/llround.texi index 2b718f0be..85148a3bf 100644 --- a/doc/posix-functions/llround.texi +++ b/doc/posix-functions/llround.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 5.2.1, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, Interix 3.5. +FreeBSD 5.2.1, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/llroundf.texi b/doc/posix-functions/llroundf.texi index 5faab39c2..a36f2cb4c 100644 --- a/doc/posix-functions/llroundf.texi +++ b/doc/posix-functions/llroundf.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 5.2.1, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, Interix 3.5. +FreeBSD 5.2.1, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/llroundl.texi b/doc/posix-functions/llroundl.texi index c842c6d76..d6991bfb8 100644 --- a/doc/posix-functions/llroundl.texi +++ b/doc/posix-functions/llroundl.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, Interix 3.5, BeOS. +FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/localtime_r.texi b/doc/posix-functions/localtime_r.texi index 9c8bb10fb..909a41dc5 100644 --- a/doc/posix-functions/localtime_r.texi +++ b/doc/posix-functions/localtime_r.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @item This function is not declared unless @code{_REENTRANT} is defined, on some platforms: diff --git a/doc/posix-functions/lockf.texi b/doc/posix-functions/lockf.texi index 7de474fe4..ee2af6dab 100644 --- a/doc/posix-functions/lockf.texi +++ b/doc/posix-functions/lockf.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin 1.5.x, mingw, BeOS. +Minix 3.1.8, Cygwin 1.5.x, mingw, MSVC 9, BeOS. @item On platforms where @code{off_t} is a 32-bit type, this function may not work correctly across the entire data range of files larger than 2 GB. diff --git a/doc/posix-functions/log10f.texi b/doc/posix-functions/log10f.texi index 9dbda1ca6..f63509bd4 100644 --- a/doc/posix-functions/log10f.texi +++ b/doc/posix-functions/log10f.texi @@ -4,15 +4,18 @@ POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/log10f.html} -Gnulib module: --- +Gnulib module: log10f Portability problems fixed by Gnulib: @itemize +@item +This function is missing on some platforms: +Minix 3.1.8, AIX 5.1, Solaris 9. +@item +This function is only defined as a macro with arguments on some platforms: +MSVC 9. @end itemize Portability problems not fixed by Gnulib: @itemize -@item -This function is missing on some platforms: -Minix 3.1.8, AIX 5.1, Solaris 9. @end itemize diff --git a/doc/posix-functions/log1p.texi b/doc/posix-functions/log1p.texi index 4dbd8a8b1..d8f83fcd2 100644 --- a/doc/posix-functions/log1p.texi +++ b/doc/posix-functions/log1p.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8. +Minix 3.1.8, MSVC 9. @end itemize diff --git a/doc/posix-functions/log1pf.texi b/doc/posix-functions/log1pf.texi index 749de42c6..d5c84865b 100644 --- a/doc/posix-functions/log1pf.texi +++ b/doc/posix-functions/log1pf.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, AIX 5.1, HP-UX 11, Solaris 9. +Minix 3.1.8, AIX 5.1, HP-UX 11, Solaris 9, MSVC 9. @end itemize diff --git a/doc/posix-functions/log1pl.texi b/doc/posix-functions/log1pl.texi index ac4296aa3..c1c7f677c 100644 --- a/doc/posix-functions/log1pl.texi +++ b/doc/posix-functions/log1pl.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 9, Cygwin, Interix 3.5, BeOS. +FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 9, Cygwin, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/log2.texi b/doc/posix-functions/log2.texi index f570d2901..6f1df25d5 100644 --- a/doc/posix-functions/log2.texi +++ b/doc/posix-functions/log2.texi @@ -14,8 +14,8 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, IRIX 6.5, -Solaris 9, Interix 3.5. +FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, IRIX 6.5, +Solaris 9, MSVC 9, Interix 3.5. @item This function is only provided as a macro on some platforms: Cygwin 1.5.x. diff --git a/doc/posix-functions/log2f.texi b/doc/posix-functions/log2f.texi index 852fb7f61..6a91be473 100644 --- a/doc/posix-functions/log2f.texi +++ b/doc/posix-functions/log2f.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, IRIX 6.5, Solaris 9, +FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, IRIX 6.5, Solaris 9, MSVC 9, Interix 3.5. @item This function is only provided as a macro on some platforms: diff --git a/doc/posix-functions/log2l.texi b/doc/posix-functions/log2l.texi index 13ba227aa..2db3cbbdd 100644 --- a/doc/posix-functions/log2l.texi +++ b/doc/posix-functions/log2l.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 9, Cygwin, Interix 3.5, BeOS. +FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 9, Cygwin, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/logb.texi b/doc/posix-functions/logb.texi index e9a23189b..3ea333a8b 100644 --- a/doc/posix-functions/logb.texi +++ b/doc/posix-functions/logb.texi @@ -17,5 +17,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8. +Minix 3.1.8, MSVC 9. @end itemize diff --git a/doc/posix-functions/logbf.texi b/doc/posix-functions/logbf.texi index 25306a122..ec943620b 100644 --- a/doc/posix-functions/logbf.texi +++ b/doc/posix-functions/logbf.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 9. +Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 9, MSVC 9. @end itemize diff --git a/doc/posix-functions/logbl.texi b/doc/posix-functions/logbl.texi index 667071222..8ad3e9628 100644 --- a/doc/posix-functions/logbl.texi +++ b/doc/posix-functions/logbl.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 9, Cygwin, Interix 3.5, BeOS. +FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 9, Cygwin, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/logf.texi b/doc/posix-functions/logf.texi index 8e0ea5f1b..a4de780b7 100644 --- a/doc/posix-functions/logf.texi +++ b/doc/posix-functions/logf.texi @@ -4,15 +4,18 @@ POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/logf.html} -Gnulib module: --- +Gnulib module: logf Portability problems fixed by Gnulib: @itemize +@item +This function is missing on some platforms: +Minix 3.1.8, AIX 5.1, Solaris 9. +@item +This function is only defined as a macro with arguments on some platforms: +MSVC 9. @end itemize Portability problems not fixed by Gnulib: @itemize -@item -This function is missing on some platforms: -Minix 3.1.8, AIX 5.1, Solaris 9. @end itemize diff --git a/doc/posix-functions/logl.texi b/doc/posix-functions/logl.texi index 73cf090a7..93fc86115 100644 --- a/doc/posix-functions/logl.texi +++ b/doc/posix-functions/logl.texi @@ -12,8 +12,14 @@ Portability problems fixed by Gnulib: This function is missing on some platforms: FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 9, Cygwin, Interix 3.5, BeOS. @item +This function is only defined as a macro with arguments on some platforms: +MSVC 9. +@item This function is not declared on some platforms: MacOS X 10.3. +@item +This function returns wrong results on some platforms: +glibc 2.7 on Linux/SPARC64. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/lrand48.texi b/doc/posix-functions/lrand48.texi index 48c5418e2..f3436fe0b 100644 --- a/doc/posix-functions/lrand48.texi +++ b/doc/posix-functions/lrand48.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, mingw. +Minix 3.1.8, mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/lrint.texi b/doc/posix-functions/lrint.texi index 0991bcc07..7105dc141 100644 --- a/doc/posix-functions/lrint.texi +++ b/doc/posix-functions/lrint.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 5.2.1, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, IRIX 6.5, OSF/1 4.0, Solaris 9, Interix 3.5. +FreeBSD 5.2.1, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, IRIX 6.5, OSF/1 4.0, Solaris 9, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/lrintf.texi b/doc/posix-functions/lrintf.texi index 7a10bc522..9c2a64d04 100644 --- a/doc/posix-functions/lrintf.texi +++ b/doc/posix-functions/lrintf.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 5.2.1, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Interix 3.5. +FreeBSD 5.2.1, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/lrintl.texi b/doc/posix-functions/lrintl.texi index 7a3dbc0a5..70f519e17 100644 --- a/doc/posix-functions/lrintl.texi +++ b/doc/posix-functions/lrintl.texi @@ -15,5 +15,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, -OSF/1 4.0, Solaris 9, Cygwin 1.5.x, Interix 3.5, BeOS. +OSF/1 4.0, Solaris 9, Cygwin 1.5.x, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/lround.texi b/doc/posix-functions/lround.texi index 4f514d8cf..b1f20f0ab 100644 --- a/doc/posix-functions/lround.texi +++ b/doc/posix-functions/lround.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 5.2.1, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, IRIX 6.5, OSF/1 4.0, Solaris 9, Interix 3.5. +FreeBSD 5.2.1, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, IRIX 6.5, OSF/1 4.0, Solaris 9, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/lroundf.texi b/doc/posix-functions/lroundf.texi index d2a0e8cfa..10bb39169 100644 --- a/doc/posix-functions/lroundf.texi +++ b/doc/posix-functions/lroundf.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 5.2.1, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Interix 3.5. +FreeBSD 5.2.1, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/lroundl.texi b/doc/posix-functions/lroundl.texi index ecb7c5633..78799bd6e 100644 --- a/doc/posix-functions/lroundl.texi +++ b/doc/posix-functions/lroundl.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, Interix 3.5, BeOS. +FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/lseek.texi b/doc/posix-functions/lseek.texi index f709515f6..1c87759b6 100644 --- a/doc/posix-functions/lseek.texi +++ b/doc/posix-functions/lseek.texi @@ -12,7 +12,7 @@ Portability problems fixed by Gnulib: On platforms where @code{off_t} is a 32-bit type, @code{lseek} does not work correctly with files larger than 2 GB. (Cf. @code{AC_SYS_LARGEFILE}.) @item -This function mistakenly succeeds on pipes on some platforms: mingw, BeOS. +This function mistakenly succeeds on pipes on some platforms: mingw, MSVC 9, BeOS. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/malloc.texi b/doc/posix-functions/malloc.texi index ade421052..36edb52de 100644 --- a/doc/posix-functions/malloc.texi +++ b/doc/posix-functions/malloc.texi @@ -11,7 +11,7 @@ Portability problems fixed by Gnulib: @item Upon failure, the function does not set @code{errno} to @code{ENOMEM} on some platforms: -mingw. +mingw, MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/mbrtowc.texi b/doc/posix-functions/mbrtowc.texi index 384fd6261..19b91f03f 100644 --- a/doc/posix-functions/mbrtowc.texi +++ b/doc/posix-functions/mbrtowc.texi @@ -30,7 +30,7 @@ OSF/1 5.1. This function returns the total number of bytes that make up the multibyte character, not the number of bytes that were needed to complete the multibyte character, on some platforms: -HP-UX 11.11, Solaris 11 2010-11, mingw. +HP-UX 11.11, Solaris 11 2010-11, mingw, possibly MSVC 9. @item This function may not return 0 when parsing the NUL character on some platforms: Solaris 9. diff --git a/doc/posix-functions/mbsinit.texi b/doc/posix-functions/mbsinit.texi index 2971d7c1c..a9bc8be83 100644 --- a/doc/posix-functions/mbsinit.texi +++ b/doc/posix-functions/mbsinit.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, HP-UX 11.00, IRIX 6.5, Solaris 2.6, Interix 3.5. +Minix 3.1.8, HP-UX 11.00, IRIX 6.5, Solaris 2.6, MSVC 9, Interix 3.5. @item This function always returns 1, even in multibyte locales, on some platforms: mingw. diff --git a/doc/posix-functions/mbsnrtowcs.texi b/doc/posix-functions/mbsnrtowcs.texi index 48fb1c171..60b2842fa 100644 --- a/doc/posix-functions/mbsnrtowcs.texi +++ b/doc/posix-functions/mbsnrtowcs.texi @@ -11,7 +11,7 @@ Portability problems fixed by Gnulib: @item This function is missing on some platforms: MacOS X 10.3, FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 4.3.2, -HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/mkdir.texi b/doc/posix-functions/mkdir.texi index 56f66e3fa..6fdc35a07 100644 --- a/doc/posix-functions/mkdir.texi +++ b/doc/posix-functions/mkdir.texi @@ -9,11 +9,15 @@ Gnulib module: mkdir Portability problems fixed by Gnulib: @itemize @item +This function is declared in different header files (namely, @code{} or +@code{}) on some platforms: +mingw, MSVC 9. +@item When the argument ends in a slash, the function call fails on some platforms. @item This function mistakenly succeeds on @samp{mkdir("d/./",mode)} on some platforms: -Cygwin 1.5.x, mingw. +Cygwin 1.5.x, mingw, MSVC 9. @item On Windows platforms (excluding Cygwin), this function is called @code{_mkdir} and takes only one argument. The fix (without Gnulib) is to define a macro diff --git a/doc/posix-functions/mkdirat.texi b/doc/posix-functions/mkdirat.texi index 914cf8e74..9609f2c79 100644 --- a/doc/posix-functions/mkdirat.texi +++ b/doc/posix-functions/mkdirat.texi @@ -4,14 +4,14 @@ POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/mkdirat.html} -Gnulib module: openat +Gnulib module: mkdirat Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, -AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. But the replacement function is not safe to be used in libraries and is not multithread-safe. @end itemize diff --git a/doc/posix-functions/mkdtemp.texi b/doc/posix-functions/mkdtemp.texi index 01dd5346b..d05a68317 100644 --- a/doc/posix-functions/mkdtemp.texi +++ b/doc/posix-functions/mkdtemp.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, Interix 3.5, BeOS. +AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/mkfifo.texi b/doc/posix-functions/mkfifo.texi index cb757666f..53a17bc04 100644 --- a/doc/posix-functions/mkfifo.texi +++ b/doc/posix-functions/mkfifo.texi @@ -14,7 +14,7 @@ FreeBSD 7.2, Solaris 9. @item This function is missing on some platforms; however, the replacement always fails with @code{ENOSYS}: -mingw. +mingw, MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/mkfifoat.texi b/doc/posix-functions/mkfifoat.texi index 8251a07f8..aa974070b 100644 --- a/doc/posix-functions/mkfifoat.texi +++ b/doc/posix-functions/mkfifoat.texi @@ -11,7 +11,7 @@ Portability problems fixed by Gnulib: @item This function is missing on some platforms: glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, -AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.5.x, mingw, +AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. But the replacement function is not safe to be used in libraries and is not multithread-safe. @end itemize @@ -21,5 +21,5 @@ Portability problems not fixed by Gnulib: @item The gnulib replacement function always fails with @samp{ENOSYS} on some platforms: -mingw. +mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/mknod.texi b/doc/posix-functions/mknod.texi index 650a98488..e7dd13c9c 100644 --- a/doc/posix-functions/mknod.texi +++ b/doc/posix-functions/mknod.texi @@ -17,7 +17,7 @@ FreeBSD 7.2, Solaris 9. @item This function is missing on some platforms; however, the replacement always fails with @code{ENOSYS}: -mingw. +mingw, MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/mknodat.texi b/doc/posix-functions/mknodat.texi index b39278628..ccf2e2c98 100644 --- a/doc/posix-functions/mknodat.texi +++ b/doc/posix-functions/mknodat.texi @@ -11,7 +11,7 @@ Portability problems fixed by Gnulib: @item This function is missing on some platforms: glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, -AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.5.x, mingw, +AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. But the replacement function is not safe to be used in libraries and is not multithread-safe. @end itemize @@ -21,5 +21,5 @@ Portability problems not fixed by Gnulib: @item The gnulib replacement function always fails with @samp{ENOSYS} on some platforms: -mingw. +mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/mkstemp.texi b/doc/posix-functions/mkstemp.texi index e461b2790..49f684944 100644 --- a/doc/posix-functions/mkstemp.texi +++ b/doc/posix-functions/mkstemp.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @item This function is declared in @code{} instead of @code{} on some platforms: diff --git a/doc/posix-functions/mlock.texi b/doc/posix-functions/mlock.texi index 669d730d3..bd08bdf16 100644 --- a/doc/posix-functions/mlock.texi +++ b/doc/posix-functions/mlock.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, OSF/1 4.0, mingw, Interix 3.5, BeOS. +Minix 3.1.8, OSF/1 4.0, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/mlockall.texi b/doc/posix-functions/mlockall.texi index 84f70ffde..becdfa559 100644 --- a/doc/posix-functions/mlockall.texi +++ b/doc/posix-functions/mlockall.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, OSF/1 4.0, Cygwin, mingw, Interix 3.5, BeOS. +Minix 3.1.8, OSF/1 4.0, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/mmap.texi b/doc/posix-functions/mmap.texi index 8e3e5f330..19a39a6c0 100644 --- a/doc/posix-functions/mmap.texi +++ b/doc/posix-functions/mmap.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw, BeOS. +mingw, MSVC 9, BeOS. @item On platforms where @code{off_t} is a 32-bit type, this function may not work correctly across the entire data range of files larger than 2 GB. diff --git a/doc/posix-functions/modff.texi b/doc/posix-functions/modff.texi index 2812021f3..d462a045b 100644 --- a/doc/posix-functions/modff.texi +++ b/doc/posix-functions/modff.texi @@ -4,15 +4,18 @@ POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/modff.html} -Gnulib module: --- +Gnulib module: modff Portability problems fixed by Gnulib: @itemize +@item +This function is missing on some platforms: +Minix 3.1.8, AIX 5.1, HP-UX 11. +@item +This function is only defined as a buggy macro with arguments on some platforms: +MSVC 9. @end itemize Portability problems not fixed by Gnulib: @itemize -@item -This function is missing on some platforms: -MacOS X 10.5, Minix 3.1.8, AIX 5.1, HP-UX 11. @end itemize diff --git a/doc/posix-functions/modfl.texi b/doc/posix-functions/modfl.texi index dc57a839b..769350368 100644 --- a/doc/posix-functions/modfl.texi +++ b/doc/posix-functions/modfl.texi @@ -15,4 +15,7 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 9, Cygwin, Interix 3.5. +@item +This function is only defined as a macro with arguments on some platforms: +MSVC 9. @end itemize diff --git a/doc/posix-functions/mprotect.texi b/doc/posix-functions/mprotect.texi index 3dc5ae30e..8013138cb 100644 --- a/doc/posix-functions/mprotect.texi +++ b/doc/posix-functions/mprotect.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, mingw, BeOS. +Minix 3.1.8, mingw, MSVC 9, BeOS. @item This function does not set @code{errno} on some platforms: mingw. diff --git a/doc/posix-functions/mq_close.texi b/doc/posix-functions/mq_close.texi index a59a96c8b..ca32355d9 100644 --- a/doc/posix-functions/mq_close.texi +++ b/doc/posix-functions/mq_close.texi @@ -15,5 +15,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: MacOS X 10.5, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, IRIX 5.3, -Solaris 2.4, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +Solaris 2.4, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/mq_getattr.texi b/doc/posix-functions/mq_getattr.texi index 30af10d32..8a1ec9c39 100644 --- a/doc/posix-functions/mq_getattr.texi +++ b/doc/posix-functions/mq_getattr.texi @@ -15,5 +15,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: MacOS X 10.5, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, IRIX 5.3, -Solaris 2.4, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +Solaris 2.4, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/mq_notify.texi b/doc/posix-functions/mq_notify.texi index 9e076e59a..a34e117b2 100644 --- a/doc/posix-functions/mq_notify.texi +++ b/doc/posix-functions/mq_notify.texi @@ -15,5 +15,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: MacOS X 10.5, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, IRIX 5.3, -Solaris 2.4, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +Solaris 2.4, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/mq_open.texi b/doc/posix-functions/mq_open.texi index 506f8c152..fb75d26b7 100644 --- a/doc/posix-functions/mq_open.texi +++ b/doc/posix-functions/mq_open.texi @@ -15,5 +15,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: MacOS X 10.5, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, IRIX 5.3, -Solaris 2.4, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +Solaris 2.4, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/mq_receive.texi b/doc/posix-functions/mq_receive.texi index ff27d2e06..118ca22a5 100644 --- a/doc/posix-functions/mq_receive.texi +++ b/doc/posix-functions/mq_receive.texi @@ -15,5 +15,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: MacOS X 10.5, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, IRIX 5.3, -Solaris 2.4, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +Solaris 2.4, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/mq_send.texi b/doc/posix-functions/mq_send.texi index 620b42bd6..21ce94639 100644 --- a/doc/posix-functions/mq_send.texi +++ b/doc/posix-functions/mq_send.texi @@ -15,5 +15,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: MacOS X 10.5, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, IRIX 5.3, -Solaris 2.4, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +Solaris 2.4, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/mq_setattr.texi b/doc/posix-functions/mq_setattr.texi index 15406cf9c..c7ceea947 100644 --- a/doc/posix-functions/mq_setattr.texi +++ b/doc/posix-functions/mq_setattr.texi @@ -15,5 +15,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: MacOS X 10.5, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, IRIX 5.3, -Solaris 2.4, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +Solaris 2.4, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/mq_timedreceive.texi b/doc/posix-functions/mq_timedreceive.texi index 3af080cf3..b7057b55c 100644 --- a/doc/posix-functions/mq_timedreceive.texi +++ b/doc/posix-functions/mq_timedreceive.texi @@ -15,5 +15,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: MacOS X 10.5, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/mq_timedsend.texi b/doc/posix-functions/mq_timedsend.texi index 6d338ab48..4dced620f 100644 --- a/doc/posix-functions/mq_timedsend.texi +++ b/doc/posix-functions/mq_timedsend.texi @@ -15,5 +15,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: MacOS X 10.5, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/mq_unlink.texi b/doc/posix-functions/mq_unlink.texi index 15115c6cc..4431bbc7b 100644 --- a/doc/posix-functions/mq_unlink.texi +++ b/doc/posix-functions/mq_unlink.texi @@ -15,5 +15,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: MacOS X 10.5, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, IRIX 5.3, -Solaris 2.4, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +Solaris 2.4, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/mrand48.texi b/doc/posix-functions/mrand48.texi index 9178e47fd..aa55b18d6 100644 --- a/doc/posix-functions/mrand48.texi +++ b/doc/posix-functions/mrand48.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, mingw. +Minix 3.1.8, mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/msgctl.texi b/doc/posix-functions/msgctl.texi index 4acebf1dd..9bd18a6db 100644 --- a/doc/posix-functions/msgctl.texi +++ b/doc/posix-functions/msgctl.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, mingw, BeOS. +Minix 3.1.8, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/msgget.texi b/doc/posix-functions/msgget.texi index e4b068b5a..1688e781e 100644 --- a/doc/posix-functions/msgget.texi +++ b/doc/posix-functions/msgget.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, mingw, BeOS. +Minix 3.1.8, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/msgrcv.texi b/doc/posix-functions/msgrcv.texi index 6f1a529ca..bf8c8c21b 100644 --- a/doc/posix-functions/msgrcv.texi +++ b/doc/posix-functions/msgrcv.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, mingw, BeOS. +Minix 3.1.8, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/msgsnd.texi b/doc/posix-functions/msgsnd.texi index 96c7a818b..c0050cc4b 100644 --- a/doc/posix-functions/msgsnd.texi +++ b/doc/posix-functions/msgsnd.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, mingw, BeOS. +Minix 3.1.8, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/msync.texi b/doc/posix-functions/msync.texi index 308c77b99..8475c0a51 100644 --- a/doc/posix-functions/msync.texi +++ b/doc/posix-functions/msync.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, mingw, BeOS. +Minix 3.1.8, mingw, MSVC 9, BeOS. @item On NetBSD, @code{msync} takes only two arguments. @end itemize diff --git a/doc/posix-functions/munlock.texi b/doc/posix-functions/munlock.texi index 2b184d60c..ebb5dba5b 100644 --- a/doc/posix-functions/munlock.texi +++ b/doc/posix-functions/munlock.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, OSF/1 4.0, mingw, Interix 3.5, BeOS. +Minix 3.1.8, OSF/1 4.0, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/munlockall.texi b/doc/posix-functions/munlockall.texi index 3b18771c4..2392d4867 100644 --- a/doc/posix-functions/munlockall.texi +++ b/doc/posix-functions/munlockall.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, OSF/1 4.0, Cygwin, mingw, Interix 3.5, BeOS. +Minix 3.1.8, OSF/1 4.0, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/munmap.texi b/doc/posix-functions/munmap.texi index cf838093c..a8a0b7a23 100644 --- a/doc/posix-functions/munmap.texi +++ b/doc/posix-functions/munmap.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw, BeOS. +mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/nan.texi b/doc/posix-functions/nan.texi index ff425c9e6..ea165f26d 100644 --- a/doc/posix-functions/nan.texi +++ b/doc/posix-functions/nan.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, IRIX 6.5, OSF/1 4.0, Solaris 9, Interix 3.5. +FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, IRIX 6.5, OSF/1 4.0, Solaris 9, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/nanf.texi b/doc/posix-functions/nanf.texi index d7c208aec..ddbdfdfd1 100644 --- a/doc/posix-functions/nanf.texi +++ b/doc/posix-functions/nanf.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Interix 3.5. +FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/nanl.texi b/doc/posix-functions/nanl.texi index d84c9dd0c..dc92662d4 100644 --- a/doc/posix-functions/nanl.texi +++ b/doc/posix-functions/nanl.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, Interix 3.5, BeOS. +FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/nanosleep.texi b/doc/posix-functions/nanosleep.texi index 0cb789504..7f497294c 100644 --- a/doc/posix-functions/nanosleep.texi +++ b/doc/posix-functions/nanosleep.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -Solaris 2.4, mingw, Interix 3.5, BeOS. +Solaris 2.4, mingw, MSVC 9, Interix 3.5, BeOS. @item This function reports failure when called with small arguments such as 1 ns on some platforms: diff --git a/doc/posix-functions/nearbyint.texi b/doc/posix-functions/nearbyint.texi index 7db67f87e..d4623c01d 100644 --- a/doc/posix-functions/nearbyint.texi +++ b/doc/posix-functions/nearbyint.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, AIX 5.1, IRIX 6.5, OSF/1 4.0, Solaris 9, Interix 3.5. +FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, AIX 5.1, IRIX 6.5, OSF/1 4.0, Solaris 9, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/nearbyintf.texi b/doc/posix-functions/nearbyintf.texi index 8f0ab19fe..3c7a57694 100644 --- a/doc/posix-functions/nearbyintf.texi +++ b/doc/posix-functions/nearbyintf.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Interix 3.5. +FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/nearbyintl.texi b/doc/posix-functions/nearbyintl.texi index 90a4c8f9e..40a36c703 100644 --- a/doc/posix-functions/nearbyintl.texi +++ b/doc/posix-functions/nearbyintl.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, Interix 3.5, BeOS. +FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/newlocale.texi b/doc/posix-functions/newlocale.texi index dca524ba5..f1efa7171 100644 --- a/doc/posix-functions/newlocale.texi +++ b/doc/posix-functions/newlocale.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/nextafter.texi b/doc/posix-functions/nextafter.texi index 33e7c2830..0f9813fca 100644 --- a/doc/posix-functions/nextafter.texi +++ b/doc/posix-functions/nextafter.texi @@ -14,5 +14,8 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8. +Minix 3.1.8, MSVC 9. +@item +This function is not declared on some platforms: +IRIX 5.3. @end itemize diff --git a/doc/posix-functions/nextafterf.texi b/doc/posix-functions/nextafterf.texi index 87f16f08d..ffd649f43 100644 --- a/doc/posix-functions/nextafterf.texi +++ b/doc/posix-functions/nextafterf.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, Minix 3.1.8, AIX 5.1, IRIX 6.5, Solaris 9. +Minix 3.1.8, AIX 5.1, IRIX 6.5, Solaris 9, MSVC 9. @end itemize diff --git a/doc/posix-functions/nextafterl.texi b/doc/posix-functions/nextafterl.texi index bacfb693e..55ee609f6 100644 --- a/doc/posix-functions/nextafterl.texi +++ b/doc/posix-functions/nextafterl.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 9, Cygwin, mingw, Interix 3.5, BeOS. +FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 9, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/nexttoward.texi b/doc/posix-functions/nexttoward.texi index 76f79eade..6ae3e964c 100644 --- a/doc/posix-functions/nexttoward.texi +++ b/doc/posix-functions/nexttoward.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, mingw, Interix 3.5, BeOS. +FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/nexttowardf.texi b/doc/posix-functions/nexttowardf.texi index 29ce04d20..e8349e0ca 100644 --- a/doc/posix-functions/nexttowardf.texi +++ b/doc/posix-functions/nexttowardf.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, mingw, Interix 3.5, BeOS. +FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/nexttowardl.texi b/doc/posix-functions/nexttowardl.texi index 330b5aa4c..9aee8e1b7 100644 --- a/doc/posix-functions/nexttowardl.texi +++ b/doc/posix-functions/nexttowardl.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, mingw, Interix 3.5, BeOS. +FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/nftw.texi b/doc/posix-functions/nftw.texi index 47a4da971..61973a99e 100644 --- a/doc/posix-functions/nftw.texi +++ b/doc/posix-functions/nftw.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.3, FreeBSD 5.2.1, NetBSD 3.0, Minix 3.1.8, mingw, BeOS. +MacOS X 10.3, FreeBSD 5.2.1, NetBSD 3.0, Minix 3.1.8, mingw, MSVC 9, BeOS. @item On platforms where @code{off_t} is a 32-bit type, this function may not correctly report the size of files or block devices larger than 2 GB. diff --git a/doc/posix-functions/nice.texi b/doc/posix-functions/nice.texi index cbc33a72a..083238c45 100644 --- a/doc/posix-functions/nice.texi +++ b/doc/posix-functions/nice.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw, BeOS. +mingw, MSVC 9, BeOS. @item In glibc before glibc 2.2.4, @code{nice} returned 0 upon success. @end itemize diff --git a/doc/posix-functions/nl_langinfo.texi b/doc/posix-functions/nl_langinfo.texi index 8348782ab..7cca80985 100644 --- a/doc/posix-functions/nl_langinfo.texi +++ b/doc/posix-functions/nl_langinfo.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, mingw, BeOS. +Minix 3.1.8, mingw, MSVC 9, BeOS. @item The constant @code{CODESET} is not supported on some platforms: glibc 2.0.6, OpenBSD 3.8. diff --git a/doc/posix-functions/nl_langinfo_l.texi b/doc/posix-functions/nl_langinfo_l.texi index d89c0a833..3b15c501e 100644 --- a/doc/posix-functions/nl_langinfo_l.texi +++ b/doc/posix-functions/nl_langinfo_l.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/nrand48.texi b/doc/posix-functions/nrand48.texi index 61b7982e0..3cc464794 100644 --- a/doc/posix-functions/nrand48.texi +++ b/doc/posix-functions/nrand48.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, mingw. +Minix 3.1.8, mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/ntohl.texi b/doc/posix-functions/ntohl.texi index ca9f46a77..8412934b3 100644 --- a/doc/posix-functions/ntohl.texi +++ b/doc/posix-functions/ntohl.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -HP-UX 11, mingw, BeOS. +HP-UX 11, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/ntohs.texi b/doc/posix-functions/ntohs.texi index cb713ec57..325adf6ba 100644 --- a/doc/posix-functions/ntohs.texi +++ b/doc/posix-functions/ntohs.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -HP-UX 11, mingw, BeOS. +HP-UX 11, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/open.texi b/doc/posix-functions/open.texi index de10f9f0d..cf6deff56 100644 --- a/doc/posix-functions/open.texi +++ b/doc/posix-functions/open.texi @@ -19,7 +19,7 @@ FreeBSD 7.2, AIX 7.1, HP-UX 11.00, Solaris 9, Irix 5.3. @item This function does not support the @code{O_NONBLOCK} flag when it is defined by the gnulib module @code{nonblocking} on some platforms: -mingw. +mingw, MSVC 9. @item On Windows platforms (excluding Cygwin), this function does usually not recognize the @file{/dev/null} filename. diff --git a/doc/posix-functions/open_memstream.texi b/doc/posix-functions/open_memstream.texi index b8dbf63e3..d70243a14 100644 --- a/doc/posix-functions/open_memstream.texi +++ b/doc/posix-functions/open_memstream.texi @@ -15,5 +15,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/open_wmemstream.texi b/doc/posix-functions/open_wmemstream.texi index 526eeb5b3..de174728d 100644 --- a/doc/posix-functions/open_wmemstream.texi +++ b/doc/posix-functions/open_wmemstream.texi @@ -15,7 +15,7 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, -AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. @item On AIX and Windows platforms, @code{wchar_t} is a 16-bit type and therefore cannot accommodate all Unicode characters. diff --git a/doc/posix-functions/openat.texi b/doc/posix-functions/openat.texi index 8511615c9..3fdc035eb 100644 --- a/doc/posix-functions/openat.texi +++ b/doc/posix-functions/openat.texi @@ -11,7 +11,7 @@ Portability problems fixed by Gnulib: @item This function is missing on some platforms: glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, -AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. But the replacement function is not safe to be used in libraries and is not multithread-safe. @item On platforms where @code{off_t} is a 32-bit type, @code{open} may not work diff --git a/doc/posix-functions/opendir.texi b/doc/posix-functions/opendir.texi index e004987ef..bb9affa98 100644 --- a/doc/posix-functions/opendir.texi +++ b/doc/posix-functions/opendir.texi @@ -4,17 +4,20 @@ POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/opendir.html} -Gnulib module: --- +Gnulib module: opendir Portability problems fixed by Gnulib: @itemize -@end itemize - -Portability problems not fixed by Gnulib: -@itemize +@item +This function is missing on some platforms: +MSVC 9. @item On platforms where @code{off_t} is a 32-bit type, this function may not work correctly on huge directories larger than 2 GB. Also, on platforms where @code{ino_t} is a 32-bit type, this function may report inode numbers -incorrectly. The fix is to use the @code{AC_SYS_LARGEFILE} macro. +incorrectly. (Cf. @code{AC_SYS_LARGEFILE}.) +@end itemize + +Portability problems not fixed by Gnulib: +@itemize @end itemize diff --git a/doc/posix-functions/openlog.texi b/doc/posix-functions/openlog.texi index 65ae1932f..6adbc84e1 100644 --- a/doc/posix-functions/openlog.texi +++ b/doc/posix-functions/openlog.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw, BeOS. +mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/optarg.texi b/doc/posix-functions/optarg.texi index 71bd4cb29..a8f3b311c 100644 --- a/doc/posix-functions/optarg.texi +++ b/doc/posix-functions/optarg.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This variable is missing on some platforms: -MacOS X 10.5, IRIX 6.5, OSF/1 5.1. +MacOS X 10.5, IRIX 6.5, OSF/1 5.1, MSVC 9. @end itemize diff --git a/doc/posix-functions/opterr.texi b/doc/posix-functions/opterr.texi index 765a450e6..a56eadcc1 100644 --- a/doc/posix-functions/opterr.texi +++ b/doc/posix-functions/opterr.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This variable is missing on some platforms: -IRIX 6.5, OSF/1 5.1. +IRIX 6.5, OSF/1 5.1, MSVC 9. @end itemize diff --git a/doc/posix-functions/optind.texi b/doc/posix-functions/optind.texi index a21fcdf0a..f75e53672 100644 --- a/doc/posix-functions/optind.texi +++ b/doc/posix-functions/optind.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This variable is missing on some platforms: -IRIX 6.5, OSF/1 5.1. +IRIX 6.5, OSF/1 5.1, MSVC 9. @end itemize diff --git a/doc/posix-functions/optopt.texi b/doc/posix-functions/optopt.texi index 285b981e4..04f438473 100644 --- a/doc/posix-functions/optopt.texi +++ b/doc/posix-functions/optopt.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This variable is missing on some platforms: -MacOS X 10.5, IRIX 6.5, OSF/1 5.1. +MacOS X 10.5, IRIX 6.5, OSF/1 5.1, MSVC 9. @end itemize diff --git a/doc/posix-functions/pathconf.texi b/doc/posix-functions/pathconf.texi index dea1ec56c..d2071756c 100644 --- a/doc/posix-functions/pathconf.texi +++ b/doc/posix-functions/pathconf.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/pause.texi b/doc/posix-functions/pause.texi index 21ac8232a..27d6f729d 100644 --- a/doc/posix-functions/pause.texi +++ b/doc/posix-functions/pause.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/pclose.texi b/doc/posix-functions/pclose.texi index 06e48b8a3..d792b024a 100644 --- a/doc/posix-functions/pclose.texi +++ b/doc/posix-functions/pclose.texi @@ -4,10 +4,13 @@ POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/pclose.html} -Gnulib module: --- +Gnulib module: pclose Portability problems fixed by Gnulib: @itemize +@item +This function is missing on some platforms: +MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/perror.texi b/doc/posix-functions/perror.texi index 0459abd40..9fa07981d 100644 --- a/doc/posix-functions/perror.texi +++ b/doc/posix-functions/perror.texi @@ -11,7 +11,7 @@ Portability problems fixed by Gnulib: @item This function does not support the error values that are specified by POSIX but not defined by the system, on some platforms: -OpenBSD 4.0, OSF/1 5.1, Cygwin 1.5.x, mingw. +OpenBSD 4.0, OSF/1 5.1, Cygwin 1.5.x, mingw, MSVC 9. @item This function treats @code{errno} of 0 like failure, although POSIX requires that the message declare it as a success, on some platforms: diff --git a/doc/posix-functions/pipe.texi b/doc/posix-functions/pipe.texi index 0f2c0debd..e3869c332 100644 --- a/doc/posix-functions/pipe.texi +++ b/doc/posix-functions/pipe.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/poll.texi b/doc/posix-functions/poll.texi index 852663b95..2b7f95919 100644 --- a/doc/posix-functions/poll.texi +++ b/doc/posix-functions/poll.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw, BeOS. +mingw, MSVC 9, BeOS. @item This function doesn't work on special files like @file{/dev/null} and ttys like @file{/dev/tty} on some platforms: diff --git a/doc/posix-functions/popen.texi b/doc/posix-functions/popen.texi index 597231802..e9fac3be8 100644 --- a/doc/posix-functions/popen.texi +++ b/doc/posix-functions/popen.texi @@ -9,6 +9,9 @@ Gnulib module: popen Portability problems fixed by Gnulib: @itemize @item +This function is missing on some platforms: +MSVC 9. +@item Some platforms start the child with closed stdin or stdout if the standard descriptors were closed in the parent: Cygwin 1.5.x. diff --git a/doc/posix-functions/posix_fadvise.texi b/doc/posix-functions/posix_fadvise.texi index 7aaab3f3d..1bacfc7be 100644 --- a/doc/posix-functions/posix_fadvise.texi +++ b/doc/posix-functions/posix_fadvise.texi @@ -15,7 +15,7 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: MacOS X 10.5, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11.23, -IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. @item On platforms where @code{off_t} is a 32-bit type, this function may not work correctly across the entire data range of files larger than 2 GB. diff --git a/doc/posix-functions/posix_fallocate.texi b/doc/posix-functions/posix_fallocate.texi index f562efb51..1cf6cc5f4 100644 --- a/doc/posix-functions/posix_fallocate.texi +++ b/doc/posix-functions/posix_fallocate.texi @@ -15,7 +15,7 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. @item On platforms where @code{off_t} is a 32-bit type, this function may not work correctly across the entire data range of files larger than 2 GB. diff --git a/doc/posix-functions/posix_madvise.texi b/doc/posix-functions/posix_madvise.texi index 47693ddaf..b6d5ec257 100644 --- a/doc/posix-functions/posix_madvise.texi +++ b/doc/posix-functions/posix_madvise.texi @@ -15,5 +15,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, -Solaris 10, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +Solaris 10, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/posix_mem_offset.texi b/doc/posix-functions/posix_mem_offset.texi index c349062ff..67d3b2d41 100644 --- a/doc/posix-functions/posix_mem_offset.texi +++ b/doc/posix-functions/posix_mem_offset.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/posix_memalign.texi b/doc/posix-functions/posix_memalign.texi index f27638dc8..82455aaff 100644 --- a/doc/posix-functions/posix_memalign.texi +++ b/doc/posix-functions/posix_memalign.texi @@ -15,5 +15,8 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: MacOS X 10.5, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize + +The Gnulib module @code{pagealign_alloc} provides a similar API +that returns memory aligned on a system page boundary. diff --git a/doc/posix-functions/posix_openpt.texi b/doc/posix-functions/posix_openpt.texi index 81d5b3859..0c0cb213d 100644 --- a/doc/posix-functions/posix_openpt.texi +++ b/doc/posix-functions/posix_openpt.texi @@ -4,16 +4,23 @@ POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/posix_openpt.html} -Gnulib module: --- +Gnulib module: posix_openpt Portability problems fixed by Gnulib: @itemize +@item +This function is missing on some platforms: +MacOS X 10.3, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, +Solaris 9, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. +However, the replacement may fail with @code{ENOSYS} or @code{ENOENT} on +some platforms. @end itemize Portability problems not fixed by Gnulib: @itemize -@item -This function is missing on some platforms: -MacOS X 10.3, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, -Solaris 9, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. @end itemize + +Note that when using this function to open the master side of a +pseudo-terminal, you still need platform dependent code to open the +corresponding slave side. The Gnulib module @code{openpty} provides +an easy-to-use API that does both at once. diff --git a/doc/posix-functions/posix_spawn.texi b/doc/posix-functions/posix_spawn.texi index 5adb35b18..0a4bc105c 100644 --- a/doc/posix-functions/posix_spawn.texi +++ b/doc/posix-functions/posix_spawn.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.4, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.4, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item When this function fails, it causes the stdio buffer contents to be output twice on some platforms: diff --git a/doc/posix-functions/posix_spawn_file_actions_addclose.texi b/doc/posix-functions/posix_spawn_file_actions_addclose.texi index 64994c829..3f17fa93b 100644 --- a/doc/posix-functions/posix_spawn_file_actions_addclose.texi +++ b/doc/posix-functions/posix_spawn_file_actions_addclose.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.4, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.4, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/posix_spawn_file_actions_adddup2.texi b/doc/posix-functions/posix_spawn_file_actions_adddup2.texi index b8b0d7bf3..c061eb2fa 100644 --- a/doc/posix-functions/posix_spawn_file_actions_adddup2.texi +++ b/doc/posix-functions/posix_spawn_file_actions_adddup2.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.4, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.4, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/posix_spawn_file_actions_addopen.texi b/doc/posix-functions/posix_spawn_file_actions_addopen.texi index ecffb413a..c69944a3a 100644 --- a/doc/posix-functions/posix_spawn_file_actions_addopen.texi +++ b/doc/posix-functions/posix_spawn_file_actions_addopen.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.4, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.4, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/posix_spawn_file_actions_destroy.texi b/doc/posix-functions/posix_spawn_file_actions_destroy.texi index 6fad1a043..4d8a01d6a 100644 --- a/doc/posix-functions/posix_spawn_file_actions_destroy.texi +++ b/doc/posix-functions/posix_spawn_file_actions_destroy.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.4, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.4, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/posix_spawn_file_actions_init.texi b/doc/posix-functions/posix_spawn_file_actions_init.texi index 2def12839..282d4e4ec 100644 --- a/doc/posix-functions/posix_spawn_file_actions_init.texi +++ b/doc/posix-functions/posix_spawn_file_actions_init.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.4, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.4, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/posix_spawnattr_destroy.texi b/doc/posix-functions/posix_spawnattr_destroy.texi index 92f65ed52..84e592ea9 100644 --- a/doc/posix-functions/posix_spawnattr_destroy.texi +++ b/doc/posix-functions/posix_spawnattr_destroy.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.4, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.4, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/posix_spawnattr_getflags.texi b/doc/posix-functions/posix_spawnattr_getflags.texi index efa76b02a..428afacd1 100644 --- a/doc/posix-functions/posix_spawnattr_getflags.texi +++ b/doc/posix-functions/posix_spawnattr_getflags.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.4, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.4, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/posix_spawnattr_getpgroup.texi b/doc/posix-functions/posix_spawnattr_getpgroup.texi index 6a14fd3e8..5fcb058b4 100644 --- a/doc/posix-functions/posix_spawnattr_getpgroup.texi +++ b/doc/posix-functions/posix_spawnattr_getpgroup.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.4, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.4, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/posix_spawnattr_getschedparam.texi b/doc/posix-functions/posix_spawnattr_getschedparam.texi index 7f1c7d467..5cbec255e 100644 --- a/doc/posix-functions/posix_spawnattr_getschedparam.texi +++ b/doc/posix-functions/posix_spawnattr_getschedparam.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/posix_spawnattr_getschedpolicy.texi b/doc/posix-functions/posix_spawnattr_getschedpolicy.texi index d003ef294..ebd6afd1c 100644 --- a/doc/posix-functions/posix_spawnattr_getschedpolicy.texi +++ b/doc/posix-functions/posix_spawnattr_getschedpolicy.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/posix_spawnattr_getsigdefault.texi b/doc/posix-functions/posix_spawnattr_getsigdefault.texi index dbf49d837..c0e35e357 100644 --- a/doc/posix-functions/posix_spawnattr_getsigdefault.texi +++ b/doc/posix-functions/posix_spawnattr_getsigdefault.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.4, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.4, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/posix_spawnattr_getsigmask.texi b/doc/posix-functions/posix_spawnattr_getsigmask.texi index 10c9d5a2b..629c1c986 100644 --- a/doc/posix-functions/posix_spawnattr_getsigmask.texi +++ b/doc/posix-functions/posix_spawnattr_getsigmask.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.4, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.4, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/posix_spawnattr_init.texi b/doc/posix-functions/posix_spawnattr_init.texi index 05ec51eb7..181c4794e 100644 --- a/doc/posix-functions/posix_spawnattr_init.texi +++ b/doc/posix-functions/posix_spawnattr_init.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.4, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.4, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/posix_spawnattr_setflags.texi b/doc/posix-functions/posix_spawnattr_setflags.texi index f3e4cd438..4e8be5e67 100644 --- a/doc/posix-functions/posix_spawnattr_setflags.texi +++ b/doc/posix-functions/posix_spawnattr_setflags.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.4, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.4, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/posix_spawnattr_setpgroup.texi b/doc/posix-functions/posix_spawnattr_setpgroup.texi index 0a4398eac..b034cbfc8 100644 --- a/doc/posix-functions/posix_spawnattr_setpgroup.texi +++ b/doc/posix-functions/posix_spawnattr_setpgroup.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.4, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.4, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/posix_spawnattr_setschedparam.texi b/doc/posix-functions/posix_spawnattr_setschedparam.texi index 286009d7a..da63f6221 100644 --- a/doc/posix-functions/posix_spawnattr_setschedparam.texi +++ b/doc/posix-functions/posix_spawnattr_setschedparam.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/posix_spawnattr_setschedpolicy.texi b/doc/posix-functions/posix_spawnattr_setschedpolicy.texi index 7fc6cb6c2..5cecfccfa 100644 --- a/doc/posix-functions/posix_spawnattr_setschedpolicy.texi +++ b/doc/posix-functions/posix_spawnattr_setschedpolicy.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/posix_spawnattr_setsigdefault.texi b/doc/posix-functions/posix_spawnattr_setsigdefault.texi index b55fe23f3..9c301b5f7 100644 --- a/doc/posix-functions/posix_spawnattr_setsigdefault.texi +++ b/doc/posix-functions/posix_spawnattr_setsigdefault.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.4, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.4, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/posix_spawnattr_setsigmask.texi b/doc/posix-functions/posix_spawnattr_setsigmask.texi index ec861cb95..545299e6f 100644 --- a/doc/posix-functions/posix_spawnattr_setsigmask.texi +++ b/doc/posix-functions/posix_spawnattr_setsigmask.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.4, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.4, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/posix_spawnp.texi b/doc/posix-functions/posix_spawnp.texi index 1c314ef12..40f973a8e 100644 --- a/doc/posix-functions/posix_spawnp.texi +++ b/doc/posix-functions/posix_spawnp.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.4, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.4, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item When this function fails, it causes the stdio buffer contents to be output twice on some platforms: diff --git a/doc/posix-functions/posix_trace_attr_destroy.texi b/doc/posix-functions/posix_trace_attr_destroy.texi index 778921b79..6b616fc08 100644 --- a/doc/posix-functions/posix_trace_attr_destroy.texi +++ b/doc/posix-functions/posix_trace_attr_destroy.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/posix_trace_attr_getclockres.texi b/doc/posix-functions/posix_trace_attr_getclockres.texi index 5338d9ee4..c1c068463 100644 --- a/doc/posix-functions/posix_trace_attr_getclockres.texi +++ b/doc/posix-functions/posix_trace_attr_getclockres.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/posix_trace_attr_getcreatetime.texi b/doc/posix-functions/posix_trace_attr_getcreatetime.texi index 571951c0c..a5fc47a6c 100644 --- a/doc/posix-functions/posix_trace_attr_getcreatetime.texi +++ b/doc/posix-functions/posix_trace_attr_getcreatetime.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/posix_trace_attr_getgenversion.texi b/doc/posix-functions/posix_trace_attr_getgenversion.texi index 5fe4fb5c9..cd41412de 100644 --- a/doc/posix-functions/posix_trace_attr_getgenversion.texi +++ b/doc/posix-functions/posix_trace_attr_getgenversion.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/posix_trace_attr_getinherited.texi b/doc/posix-functions/posix_trace_attr_getinherited.texi index a08aa7c46..be725d253 100644 --- a/doc/posix-functions/posix_trace_attr_getinherited.texi +++ b/doc/posix-functions/posix_trace_attr_getinherited.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/posix_trace_attr_getlogfullpolicy.texi b/doc/posix-functions/posix_trace_attr_getlogfullpolicy.texi index 7bca6ad12..ab20c80f5 100644 --- a/doc/posix-functions/posix_trace_attr_getlogfullpolicy.texi +++ b/doc/posix-functions/posix_trace_attr_getlogfullpolicy.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/posix_trace_attr_getlogsize.texi b/doc/posix-functions/posix_trace_attr_getlogsize.texi index a550cb85c..7e963c3c8 100644 --- a/doc/posix-functions/posix_trace_attr_getlogsize.texi +++ b/doc/posix-functions/posix_trace_attr_getlogsize.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/posix_trace_attr_getmaxdatasize.texi b/doc/posix-functions/posix_trace_attr_getmaxdatasize.texi index d040b3604..8fe8b4ebd 100644 --- a/doc/posix-functions/posix_trace_attr_getmaxdatasize.texi +++ b/doc/posix-functions/posix_trace_attr_getmaxdatasize.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/posix_trace_attr_getmaxsystemeventsize.texi b/doc/posix-functions/posix_trace_attr_getmaxsystemeventsize.texi index 5bfc92fc6..632912c32 100644 --- a/doc/posix-functions/posix_trace_attr_getmaxsystemeventsize.texi +++ b/doc/posix-functions/posix_trace_attr_getmaxsystemeventsize.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/posix_trace_attr_getmaxusereventsize.texi b/doc/posix-functions/posix_trace_attr_getmaxusereventsize.texi index ffac0ffe1..0d4a02c37 100644 --- a/doc/posix-functions/posix_trace_attr_getmaxusereventsize.texi +++ b/doc/posix-functions/posix_trace_attr_getmaxusereventsize.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/posix_trace_attr_getname.texi b/doc/posix-functions/posix_trace_attr_getname.texi index 162d0dd30..ce9aa0137 100644 --- a/doc/posix-functions/posix_trace_attr_getname.texi +++ b/doc/posix-functions/posix_trace_attr_getname.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/posix_trace_attr_getstreamfullpolicy.texi b/doc/posix-functions/posix_trace_attr_getstreamfullpolicy.texi index 8d9722bc2..1d48a4d90 100644 --- a/doc/posix-functions/posix_trace_attr_getstreamfullpolicy.texi +++ b/doc/posix-functions/posix_trace_attr_getstreamfullpolicy.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/posix_trace_attr_getstreamsize.texi b/doc/posix-functions/posix_trace_attr_getstreamsize.texi index 2d1950c86..64404b502 100644 --- a/doc/posix-functions/posix_trace_attr_getstreamsize.texi +++ b/doc/posix-functions/posix_trace_attr_getstreamsize.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/posix_trace_attr_init.texi b/doc/posix-functions/posix_trace_attr_init.texi index d805cc479..054c6acdc 100644 --- a/doc/posix-functions/posix_trace_attr_init.texi +++ b/doc/posix-functions/posix_trace_attr_init.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/posix_trace_attr_setinherited.texi b/doc/posix-functions/posix_trace_attr_setinherited.texi index 272ef8a2c..c771f052e 100644 --- a/doc/posix-functions/posix_trace_attr_setinherited.texi +++ b/doc/posix-functions/posix_trace_attr_setinherited.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/posix_trace_attr_setlogfullpolicy.texi b/doc/posix-functions/posix_trace_attr_setlogfullpolicy.texi index b412c659f..7a3b8c9b3 100644 --- a/doc/posix-functions/posix_trace_attr_setlogfullpolicy.texi +++ b/doc/posix-functions/posix_trace_attr_setlogfullpolicy.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/posix_trace_attr_setlogsize.texi b/doc/posix-functions/posix_trace_attr_setlogsize.texi index 58b530c7a..58ed2906d 100644 --- a/doc/posix-functions/posix_trace_attr_setlogsize.texi +++ b/doc/posix-functions/posix_trace_attr_setlogsize.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/posix_trace_attr_setmaxdatasize.texi b/doc/posix-functions/posix_trace_attr_setmaxdatasize.texi index ee43a14ca..0457dc8ff 100644 --- a/doc/posix-functions/posix_trace_attr_setmaxdatasize.texi +++ b/doc/posix-functions/posix_trace_attr_setmaxdatasize.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/posix_trace_attr_setname.texi b/doc/posix-functions/posix_trace_attr_setname.texi index 4cf1e899c..0b63294f1 100644 --- a/doc/posix-functions/posix_trace_attr_setname.texi +++ b/doc/posix-functions/posix_trace_attr_setname.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/posix_trace_attr_setstreamfullpolicy.texi b/doc/posix-functions/posix_trace_attr_setstreamfullpolicy.texi index 3463da430..fbf7b428d 100644 --- a/doc/posix-functions/posix_trace_attr_setstreamfullpolicy.texi +++ b/doc/posix-functions/posix_trace_attr_setstreamfullpolicy.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/posix_trace_attr_setstreamsize.texi b/doc/posix-functions/posix_trace_attr_setstreamsize.texi index fc2a70aa2..fad90dfb1 100644 --- a/doc/posix-functions/posix_trace_attr_setstreamsize.texi +++ b/doc/posix-functions/posix_trace_attr_setstreamsize.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/posix_trace_clear.texi b/doc/posix-functions/posix_trace_clear.texi index f798f30f2..abc1b629a 100644 --- a/doc/posix-functions/posix_trace_clear.texi +++ b/doc/posix-functions/posix_trace_clear.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/posix_trace_close.texi b/doc/posix-functions/posix_trace_close.texi index d6bd86bae..752d39d91 100644 --- a/doc/posix-functions/posix_trace_close.texi +++ b/doc/posix-functions/posix_trace_close.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/posix_trace_create.texi b/doc/posix-functions/posix_trace_create.texi index 6d6574409..e13d6bc61 100644 --- a/doc/posix-functions/posix_trace_create.texi +++ b/doc/posix-functions/posix_trace_create.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/posix_trace_create_withlog.texi b/doc/posix-functions/posix_trace_create_withlog.texi index f4b7fe510..31c1108d5 100644 --- a/doc/posix-functions/posix_trace_create_withlog.texi +++ b/doc/posix-functions/posix_trace_create_withlog.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/posix_trace_event.texi b/doc/posix-functions/posix_trace_event.texi index f08aab53a..5c7f7833d 100644 --- a/doc/posix-functions/posix_trace_event.texi +++ b/doc/posix-functions/posix_trace_event.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/posix_trace_eventid_equal.texi b/doc/posix-functions/posix_trace_eventid_equal.texi index 9579fbfa2..70b9c14f9 100644 --- a/doc/posix-functions/posix_trace_eventid_equal.texi +++ b/doc/posix-functions/posix_trace_eventid_equal.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/posix_trace_eventid_get_name.texi b/doc/posix-functions/posix_trace_eventid_get_name.texi index 8b5a7fa55..3e93b8489 100644 --- a/doc/posix-functions/posix_trace_eventid_get_name.texi +++ b/doc/posix-functions/posix_trace_eventid_get_name.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/posix_trace_eventid_open.texi b/doc/posix-functions/posix_trace_eventid_open.texi index ac6de38ba..1c9a40c05 100644 --- a/doc/posix-functions/posix_trace_eventid_open.texi +++ b/doc/posix-functions/posix_trace_eventid_open.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/posix_trace_eventset_add.texi b/doc/posix-functions/posix_trace_eventset_add.texi index 089109e2d..b25a3105a 100644 --- a/doc/posix-functions/posix_trace_eventset_add.texi +++ b/doc/posix-functions/posix_trace_eventset_add.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/posix_trace_eventset_del.texi b/doc/posix-functions/posix_trace_eventset_del.texi index 977160356..11d98f341 100644 --- a/doc/posix-functions/posix_trace_eventset_del.texi +++ b/doc/posix-functions/posix_trace_eventset_del.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/posix_trace_eventset_empty.texi b/doc/posix-functions/posix_trace_eventset_empty.texi index 949a4c4e7..2465fc05e 100644 --- a/doc/posix-functions/posix_trace_eventset_empty.texi +++ b/doc/posix-functions/posix_trace_eventset_empty.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/posix_trace_eventset_fill.texi b/doc/posix-functions/posix_trace_eventset_fill.texi index 46dcbe24b..fb5b32c68 100644 --- a/doc/posix-functions/posix_trace_eventset_fill.texi +++ b/doc/posix-functions/posix_trace_eventset_fill.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/posix_trace_eventset_ismember.texi b/doc/posix-functions/posix_trace_eventset_ismember.texi index 921902a53..6dd80cd18 100644 --- a/doc/posix-functions/posix_trace_eventset_ismember.texi +++ b/doc/posix-functions/posix_trace_eventset_ismember.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/posix_trace_eventtypelist_getnext_id.texi b/doc/posix-functions/posix_trace_eventtypelist_getnext_id.texi index 4eb428abb..001965b7a 100644 --- a/doc/posix-functions/posix_trace_eventtypelist_getnext_id.texi +++ b/doc/posix-functions/posix_trace_eventtypelist_getnext_id.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/posix_trace_eventtypelist_rewind.texi b/doc/posix-functions/posix_trace_eventtypelist_rewind.texi index 841a1dada..0ea6e361b 100644 --- a/doc/posix-functions/posix_trace_eventtypelist_rewind.texi +++ b/doc/posix-functions/posix_trace_eventtypelist_rewind.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/posix_trace_flush.texi b/doc/posix-functions/posix_trace_flush.texi index 04a4dcf72..0504b0fb8 100644 --- a/doc/posix-functions/posix_trace_flush.texi +++ b/doc/posix-functions/posix_trace_flush.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/posix_trace_get_attr.texi b/doc/posix-functions/posix_trace_get_attr.texi index 0a3e01779..05f91e6b9 100644 --- a/doc/posix-functions/posix_trace_get_attr.texi +++ b/doc/posix-functions/posix_trace_get_attr.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/posix_trace_get_filter.texi b/doc/posix-functions/posix_trace_get_filter.texi index 06fcff5c4..3ae05be84 100644 --- a/doc/posix-functions/posix_trace_get_filter.texi +++ b/doc/posix-functions/posix_trace_get_filter.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/posix_trace_get_status.texi b/doc/posix-functions/posix_trace_get_status.texi index 3bd026427..cd0c978f2 100644 --- a/doc/posix-functions/posix_trace_get_status.texi +++ b/doc/posix-functions/posix_trace_get_status.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/posix_trace_getnext_event.texi b/doc/posix-functions/posix_trace_getnext_event.texi index 597efd7dc..3ca959dd8 100644 --- a/doc/posix-functions/posix_trace_getnext_event.texi +++ b/doc/posix-functions/posix_trace_getnext_event.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/posix_trace_open.texi b/doc/posix-functions/posix_trace_open.texi index 49ea7baf7..110825c99 100644 --- a/doc/posix-functions/posix_trace_open.texi +++ b/doc/posix-functions/posix_trace_open.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/posix_trace_rewind.texi b/doc/posix-functions/posix_trace_rewind.texi index 5d21a3760..7735381a7 100644 --- a/doc/posix-functions/posix_trace_rewind.texi +++ b/doc/posix-functions/posix_trace_rewind.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/posix_trace_set_filter.texi b/doc/posix-functions/posix_trace_set_filter.texi index 49fbd04c2..d3b254f21 100644 --- a/doc/posix-functions/posix_trace_set_filter.texi +++ b/doc/posix-functions/posix_trace_set_filter.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/posix_trace_shutdown.texi b/doc/posix-functions/posix_trace_shutdown.texi index 1079dd302..1c5169d78 100644 --- a/doc/posix-functions/posix_trace_shutdown.texi +++ b/doc/posix-functions/posix_trace_shutdown.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/posix_trace_start.texi b/doc/posix-functions/posix_trace_start.texi index 51fd556f5..fda9a0b5f 100644 --- a/doc/posix-functions/posix_trace_start.texi +++ b/doc/posix-functions/posix_trace_start.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/posix_trace_stop.texi b/doc/posix-functions/posix_trace_stop.texi index a18008467..47a6bafa9 100644 --- a/doc/posix-functions/posix_trace_stop.texi +++ b/doc/posix-functions/posix_trace_stop.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/posix_trace_timedgetnext_event.texi b/doc/posix-functions/posix_trace_timedgetnext_event.texi index cf29e3d0a..9487e11e4 100644 --- a/doc/posix-functions/posix_trace_timedgetnext_event.texi +++ b/doc/posix-functions/posix_trace_timedgetnext_event.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/posix_trace_trid_eventid_open.texi b/doc/posix-functions/posix_trace_trid_eventid_open.texi index 8f2f4f671..c6d128aa1 100644 --- a/doc/posix-functions/posix_trace_trid_eventid_open.texi +++ b/doc/posix-functions/posix_trace_trid_eventid_open.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/posix_trace_trygetnext_event.texi b/doc/posix-functions/posix_trace_trygetnext_event.texi index 2a8ae78fc..9aa1acad9 100644 --- a/doc/posix-functions/posix_trace_trygetnext_event.texi +++ b/doc/posix-functions/posix_trace_trygetnext_event.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/posix_typed_mem_get_info.texi b/doc/posix-functions/posix_typed_mem_get_info.texi index 0bb8d7ebf..ee58ca754 100644 --- a/doc/posix-functions/posix_typed_mem_get_info.texi +++ b/doc/posix-functions/posix_typed_mem_get_info.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/posix_typed_mem_open.texi b/doc/posix-functions/posix_typed_mem_open.texi index 92aa78ac6..a3b6ac0be 100644 --- a/doc/posix-functions/posix_typed_mem_open.texi +++ b/doc/posix-functions/posix_typed_mem_open.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/powf.texi b/doc/posix-functions/powf.texi index e736b3913..a3a6b5150 100644 --- a/doc/posix-functions/powf.texi +++ b/doc/posix-functions/powf.texi @@ -4,15 +4,18 @@ POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/powf.html} -Gnulib module: --- +Gnulib module: powf Portability problems fixed by Gnulib: @itemize +@item +This function is missing on some platforms: +Minix 3.1.8, AIX 5.1, Solaris 9. +@item +This function is only defined as a macro with arguments on some platforms: +MSVC 9. @end itemize Portability problems not fixed by Gnulib: @itemize -@item -This function is missing on some platforms: -Minix 3.1.8, AIX 5.1, Solaris 9. @end itemize diff --git a/doc/posix-functions/powl.texi b/doc/posix-functions/powl.texi index 455a91f2c..9b48be284 100644 --- a/doc/posix-functions/powl.texi +++ b/doc/posix-functions/powl.texi @@ -15,4 +15,7 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 9, Cygwin, Interix 3.5, BeOS. +@item +This function is only defined as a macro with arguments on some platforms: +MSVC 9. @end itemize diff --git a/doc/posix-functions/pread.texi b/doc/posix-functions/pread.texi index 55dd72d13..6aaa08b7f 100644 --- a/doc/posix-functions/pread.texi +++ b/doc/posix-functions/pread.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -HP-UX 10, mingw, BeOS. +HP-UX 10, mingw, MSVC 9, BeOS. @item On platforms where @code{off_t} is a 32-bit type, this function may not work correctly on files larger than 2 GB. (Cf. @code{AC_SYS_LARGEFILE}.) diff --git a/doc/posix-functions/printf.texi b/doc/posix-functions/printf.texi index 20766766c..81a3322f8 100644 --- a/doc/posix-functions/printf.texi +++ b/doc/posix-functions/printf.texi @@ -11,23 +11,26 @@ Portability problems fixed by Gnulib module @code{printf-posix}: @item This function does not support size specifiers as in C99 (@code{hh}, @code{ll}, @code{j}, @code{t}, @code{z}) on some platforms: -AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 1.5.24, mingw, BeOS. +AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 1.5.24, mingw, MSVC 9, BeOS. @item printf of @samp{long double} numbers is unsupported on some platforms: -mingw, BeOS. +mingw, MSVC 9, BeOS. @item printf @code{"%f"}, @code{"%e"}, @code{"%g"} of Infinity and NaN yields an incorrect result on some platforms: -AIX 5.2, OSF/1 5.1, Solaris 11 2010-11, mingw. +AIX 5.2, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9. @item This function does not support the @samp{a} and @samp{A} directives on some platforms: glibc-2.3.6, MacOS X 10.5, NetBSD 5.0, OpenBSD 4.0, AIX 5.2, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, BeOS. +IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9, BeOS. @item This function does not support the @samp{F} directive on some platforms: NetBSD 3.0, AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, -Cygwin 1.5.x, mingw, BeOS. +Cygwin 1.5.x, mingw, MSVC 9, BeOS. +@item +This function does not support the @samp{n} directive on some platforms: +MSVC 9. @item This function does not support the @samp{ls} directive on some platforms: OpenBSD 4.0, IRIX 6.5, Solaris 2.6, Cygwin 1.5.x, Haiku. @@ -38,10 +41,10 @@ Solaris 11 2010-11. @item This function does not support format directives that access arguments in an arbitrary order, such as @code{"%2$s"}, on some platforms: -NetBSD 3.0, mingw, BeOS. +NetBSD 3.0, mingw, MSVC 9, BeOS. @item This function doesn't support the @code{'} flag on some platforms: -NetBSD 3.0, Cygwin 1.5.24, mingw. +NetBSD 3.0, Cygwin 1.5.24, mingw, MSVC 9. @item This function behaves incorrectly when a @samp{-} flag and a negative width are specified together, on some platforms: @@ -49,11 +52,11 @@ HP-UX 10.20. @item printf @code{"%010f"} of NaN and Infinity yields an incorrect result (padded with zeroes) on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, AIX 5.2, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, AIX 5.2, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9. @item This function does not support precisions larger than 512 or 1024 in integer, floating-point and pointer output on some platforms: -AIX 7.1, Solaris 10/x86, mingw, BeOS. +AIX 7.1, Solaris 10/x86, mingw, MSVC 9, BeOS. @item This function mishandles large floating point precisions (for example, formatting 1.0 with @samp{"%.511f"}) @@ -70,7 +73,7 @@ Portability problems fixed by Gnulib module @code{stdio} or @code{printf-posix}, When writing to a non-blocking pipe whose buffer is full, this function fails with @code{errno} being set to @code{ENOSPC} instead of @code{EAGAIN} on some platforms: -mingw. +mingw, MSVC 9. @end itemize Portability problems fixed by Gnulib module @code{stdio} or @code{printf-posix}, together with module @code{sigpipe}: @@ -78,7 +81,7 @@ Portability problems fixed by Gnulib module @code{stdio} or @code{printf-posix}, @item When writing to a pipe with no readers, this function fails, instead of obeying the current @code{SIGPIPE} handler, on some platforms: -mingw. +mingw, MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/pselect.texi b/doc/posix-functions/pselect.texi index e0adac20f..4c6f093a4 100644 --- a/doc/posix-functions/pselect.texi +++ b/doc/posix-functions/pselect.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, mingw, Interix 3.5, BeOS. +OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/psiginfo.texi b/doc/posix-functions/psiginfo.texi index 219e9e343..9cb726d66 100644 --- a/doc/posix-functions/psiginfo.texi +++ b/doc/posix-functions/psiginfo.texi @@ -15,5 +15,5 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: glibc 2.9, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, -HP-UX 11, OSF/1 5.1, Cygwin 1.7.9, mingw, Interix 3.5, BeOS. +HP-UX 11, OSF/1 5.1, Cygwin 1.7.9, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/psignal.texi b/doc/posix-functions/psignal.texi index bbf390869..7817d1e27 100644 --- a/doc/posix-functions/psignal.texi +++ b/doc/posix-functions/psignal.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, HP-UX 11, Cygwin 1.7.9, mingw, Interix 3.5, BeOS. +Minix 3.1.8, HP-UX 11, Cygwin 1.7.9, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_atfork.texi b/doc/posix-functions/pthread_atfork.texi index f0c174cce..907e7bd30 100644 --- a/doc/posix-functions/pthread_atfork.texi +++ b/doc/posix-functions/pthread_atfork.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.3, FreeBSD 5.2.1, OpenBSD 3.8, Minix 3.1.8, Solaris 2.4, mingw, BeOS. +MacOS X 10.3, FreeBSD 5.2.1, OpenBSD 3.8, Minix 3.1.8, Solaris 2.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_attr_destroy.texi b/doc/posix-functions/pthread_attr_destroy.texi index 2591914a5..1909687a1 100644 --- a/doc/posix-functions/pthread_attr_destroy.texi +++ b/doc/posix-functions/pthread_attr_destroy.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, HP-UX 11, IRIX 5.3, Solaris 2.4, mingw, BeOS. +Minix 3.1.8, HP-UX 11, IRIX 5.3, Solaris 2.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_attr_getdetachstate.texi b/doc/posix-functions/pthread_attr_getdetachstate.texi index f5d1f3ac8..29a350b9e 100644 --- a/doc/posix-functions/pthread_attr_getdetachstate.texi +++ b/doc/posix-functions/pthread_attr_getdetachstate.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, HP-UX 11, Solaris 2.4, mingw, BeOS. +Minix 3.1.8, HP-UX 11, Solaris 2.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_attr_getguardsize.texi b/doc/posix-functions/pthread_attr_getguardsize.texi index 5b642d8b2..287c3cbff 100644 --- a/doc/posix-functions/pthread_attr_getguardsize.texi +++ b/doc/posix-functions/pthread_attr_getguardsize.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -OpenBSD 3.8, Minix 3.1.8, HP-UX 11, OSF/1 4.0, Solaris 2.6, Cygwin, mingw, BeOS. +OpenBSD 3.8, Minix 3.1.8, HP-UX 11, OSF/1 4.0, Solaris 2.6, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_attr_getinheritsched.texi b/doc/posix-functions/pthread_attr_getinheritsched.texi index eb68f5bec..6c5d80de6 100644 --- a/doc/posix-functions/pthread_attr_getinheritsched.texi +++ b/doc/posix-functions/pthread_attr_getinheritsched.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, HP-UX 11, Solaris 2.4, mingw, BeOS. +Minix 3.1.8, HP-UX 11, Solaris 2.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_attr_getschedparam.texi b/doc/posix-functions/pthread_attr_getschedparam.texi index 1914c69ac..7daf84bb1 100644 --- a/doc/posix-functions/pthread_attr_getschedparam.texi +++ b/doc/posix-functions/pthread_attr_getschedparam.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, HP-UX 11, Solaris 2.4, mingw, BeOS. +Minix 3.1.8, HP-UX 11, Solaris 2.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_attr_getschedpolicy.texi b/doc/posix-functions/pthread_attr_getschedpolicy.texi index ddce4f6ec..2a380cd46 100644 --- a/doc/posix-functions/pthread_attr_getschedpolicy.texi +++ b/doc/posix-functions/pthread_attr_getschedpolicy.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, HP-UX 11, Solaris 2.4, mingw, BeOS. +Minix 3.1.8, HP-UX 11, Solaris 2.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_attr_getscope.texi b/doc/posix-functions/pthread_attr_getscope.texi index 92882bfd3..6137a652a 100644 --- a/doc/posix-functions/pthread_attr_getscope.texi +++ b/doc/posix-functions/pthread_attr_getscope.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, HP-UX 11, Solaris 2.4, mingw, BeOS. +Minix 3.1.8, HP-UX 11, Solaris 2.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_attr_getstack.texi b/doc/posix-functions/pthread_attr_getstack.texi index e69428e1f..85ca00abd 100644 --- a/doc/posix-functions/pthread_attr_getstack.texi +++ b/doc/posix-functions/pthread_attr_getstack.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, AIX 5.1, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, BeOS. +Minix 3.1.8, AIX 5.1, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_attr_getstacksize.texi b/doc/posix-functions/pthread_attr_getstacksize.texi index f814b5cbd..fdce8db91 100644 --- a/doc/posix-functions/pthread_attr_getstacksize.texi +++ b/doc/posix-functions/pthread_attr_getstacksize.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, HP-UX 11, Solaris 2.4, mingw, BeOS. +Minix 3.1.8, HP-UX 11, Solaris 2.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_attr_init.texi b/doc/posix-functions/pthread_attr_init.texi index e78bf946f..1280e6370 100644 --- a/doc/posix-functions/pthread_attr_init.texi +++ b/doc/posix-functions/pthread_attr_init.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, HP-UX 11.11, IRIX 5.3, Solaris 2.4, mingw, BeOS. +Minix 3.1.8, HP-UX 11.11, IRIX 5.3, Solaris 2.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_attr_setdetachstate.texi b/doc/posix-functions/pthread_attr_setdetachstate.texi index 1e2651beb..1234be5a0 100644 --- a/doc/posix-functions/pthread_attr_setdetachstate.texi +++ b/doc/posix-functions/pthread_attr_setdetachstate.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, HP-UX 11, IRIX 5.3, Solaris 2.4, mingw, BeOS. +Minix 3.1.8, HP-UX 11, IRIX 5.3, Solaris 2.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_attr_setguardsize.texi b/doc/posix-functions/pthread_attr_setguardsize.texi index 6f28d820e..d2959a608 100644 --- a/doc/posix-functions/pthread_attr_setguardsize.texi +++ b/doc/posix-functions/pthread_attr_setguardsize.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -OpenBSD 3.8, Minix 3.1.8, HP-UX 11, OSF/1 4.0, Solaris 2.6, Cygwin, mingw, BeOS. +OpenBSD 3.8, Minix 3.1.8, HP-UX 11, OSF/1 4.0, Solaris 2.6, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_attr_setinheritsched.texi b/doc/posix-functions/pthread_attr_setinheritsched.texi index c36262c23..2ea1d549a 100644 --- a/doc/posix-functions/pthread_attr_setinheritsched.texi +++ b/doc/posix-functions/pthread_attr_setinheritsched.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, HP-UX 11, Solaris 2.4, mingw, BeOS. +Minix 3.1.8, HP-UX 11, Solaris 2.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_attr_setschedparam.texi b/doc/posix-functions/pthread_attr_setschedparam.texi index ea4b31d4b..a3683ec2d 100644 --- a/doc/posix-functions/pthread_attr_setschedparam.texi +++ b/doc/posix-functions/pthread_attr_setschedparam.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, HP-UX 11, Solaris 2.4, mingw, BeOS. +Minix 3.1.8, HP-UX 11, Solaris 2.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_attr_setschedpolicy.texi b/doc/posix-functions/pthread_attr_setschedpolicy.texi index a3855e422..f2f927cd9 100644 --- a/doc/posix-functions/pthread_attr_setschedpolicy.texi +++ b/doc/posix-functions/pthread_attr_setschedpolicy.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, HP-UX 11, Solaris 2.4, mingw, BeOS. +Minix 3.1.8, HP-UX 11, Solaris 2.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_attr_setscope.texi b/doc/posix-functions/pthread_attr_setscope.texi index 8ce3960df..0fd2aa415 100644 --- a/doc/posix-functions/pthread_attr_setscope.texi +++ b/doc/posix-functions/pthread_attr_setscope.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, HP-UX 11, Solaris 2.4, mingw, BeOS. +Minix 3.1.8, HP-UX 11, Solaris 2.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_attr_setstack.texi b/doc/posix-functions/pthread_attr_setstack.texi index b8c76a212..f89fca938 100644 --- a/doc/posix-functions/pthread_attr_setstack.texi +++ b/doc/posix-functions/pthread_attr_setstack.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, AIX 5.1, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, BeOS. +Minix 3.1.8, AIX 5.1, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_attr_setstacksize.texi b/doc/posix-functions/pthread_attr_setstacksize.texi index 0c317b976..cc6c94652 100644 --- a/doc/posix-functions/pthread_attr_setstacksize.texi +++ b/doc/posix-functions/pthread_attr_setstacksize.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, HP-UX 11, IRIX 5.3, Solaris 2.4, mingw, BeOS. +Minix 3.1.8, HP-UX 11, IRIX 5.3, Solaris 2.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_barrier_destroy.texi b/doc/posix-functions/pthread_barrier_destroy.texi index e1872e45a..c229e0c2a 100644 --- a/doc/posix-functions/pthread_barrier_destroy.texi +++ b/doc/posix-functions/pthread_barrier_destroy.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 5.2.1, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 5.2.1, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_barrier_init.texi b/doc/posix-functions/pthread_barrier_init.texi index 5a2aec3b5..bbcd1f486 100644 --- a/doc/posix-functions/pthread_barrier_init.texi +++ b/doc/posix-functions/pthread_barrier_init.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 5.2.1, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 5.2.1, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_barrier_wait.texi b/doc/posix-functions/pthread_barrier_wait.texi index 60a110a28..7b1cd8c8e 100644 --- a/doc/posix-functions/pthread_barrier_wait.texi +++ b/doc/posix-functions/pthread_barrier_wait.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 5.2.1, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 5.2.1, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_barrierattr_destroy.texi b/doc/posix-functions/pthread_barrierattr_destroy.texi index 5160f7cdc..4a939c2e4 100644 --- a/doc/posix-functions/pthread_barrierattr_destroy.texi +++ b/doc/posix-functions/pthread_barrierattr_destroy.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 5.2.1, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 5.2.1, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_barrierattr_getpshared.texi b/doc/posix-functions/pthread_barrierattr_getpshared.texi index 3d4d1ea6a..2c26366a6 100644 --- a/doc/posix-functions/pthread_barrierattr_getpshared.texi +++ b/doc/posix-functions/pthread_barrierattr_getpshared.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, MacOS X 10.5, FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.3.6, MacOS X 10.5, FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_barrierattr_init.texi b/doc/posix-functions/pthread_barrierattr_init.texi index c2e2f42a1..ef5654b8d 100644 --- a/doc/posix-functions/pthread_barrierattr_init.texi +++ b/doc/posix-functions/pthread_barrierattr_init.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 5.2.1, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 5.2.1, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_barrierattr_setpshared.texi b/doc/posix-functions/pthread_barrierattr_setpshared.texi index ef9d7a033..97242b52b 100644 --- a/doc/posix-functions/pthread_barrierattr_setpshared.texi +++ b/doc/posix-functions/pthread_barrierattr_setpshared.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_cancel.texi b/doc/posix-functions/pthread_cancel.texi index 7627eddac..65a6a0109 100644 --- a/doc/posix-functions/pthread_cancel.texi +++ b/doc/posix-functions/pthread_cancel.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Solaris 2.4, mingw, BeOS. +Minix 3.1.8, Solaris 2.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_cleanup_pop.texi b/doc/posix-functions/pthread_cleanup_pop.texi index 58390efdd..9975a1f09 100644 --- a/doc/posix-functions/pthread_cleanup_pop.texi +++ b/doc/posix-functions/pthread_cleanup_pop.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, MacOS X 10.5, NetBSD 5.0, Minix 3.1.8, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.3.6, MacOS X 10.5, NetBSD 5.0, Minix 3.1.8, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_cleanup_push.texi b/doc/posix-functions/pthread_cleanup_push.texi index d31b9efba..80b52595c 100644 --- a/doc/posix-functions/pthread_cleanup_push.texi +++ b/doc/posix-functions/pthread_cleanup_push.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, MacOS X 10.5, NetBSD 5.0, Minix 3.1.8, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.3.6, MacOS X 10.5, NetBSD 5.0, Minix 3.1.8, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_cond_broadcast.texi b/doc/posix-functions/pthread_cond_broadcast.texi index 0cefdcd0d..581fd2de8 100644 --- a/doc/posix-functions/pthread_cond_broadcast.texi +++ b/doc/posix-functions/pthread_cond_broadcast.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, HP-UX 11, IRIX 5.3, Solaris 2.4, mingw, BeOS. +Minix 3.1.8, HP-UX 11, IRIX 5.3, Solaris 2.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_cond_destroy.texi b/doc/posix-functions/pthread_cond_destroy.texi index 9780df0ba..d937a8158 100644 --- a/doc/posix-functions/pthread_cond_destroy.texi +++ b/doc/posix-functions/pthread_cond_destroy.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, HP-UX 11, IRIX 5.3, Solaris 2.4, mingw, BeOS. +Minix 3.1.8, HP-UX 11, IRIX 5.3, Solaris 2.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_cond_init.texi b/doc/posix-functions/pthread_cond_init.texi index abc2897ff..bd157a27f 100644 --- a/doc/posix-functions/pthread_cond_init.texi +++ b/doc/posix-functions/pthread_cond_init.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, IRIX 5.3, Solaris 2.4, mingw, BeOS. +Minix 3.1.8, IRIX 5.3, Solaris 2.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_cond_signal.texi b/doc/posix-functions/pthread_cond_signal.texi index b494abbf0..d00b48416 100644 --- a/doc/posix-functions/pthread_cond_signal.texi +++ b/doc/posix-functions/pthread_cond_signal.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, IRIX 5.3, Solaris 2.4, mingw, BeOS. +Minix 3.1.8, IRIX 5.3, Solaris 2.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_cond_timedwait.texi b/doc/posix-functions/pthread_cond_timedwait.texi index 0e110b6ae..4ce87472a 100644 --- a/doc/posix-functions/pthread_cond_timedwait.texi +++ b/doc/posix-functions/pthread_cond_timedwait.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, HP-UX 11, IRIX 5.3, Solaris 2.4, mingw, BeOS. +Minix 3.1.8, HP-UX 11, IRIX 5.3, Solaris 2.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_cond_wait.texi b/doc/posix-functions/pthread_cond_wait.texi index 0f179e209..982cdaf15 100644 --- a/doc/posix-functions/pthread_cond_wait.texi +++ b/doc/posix-functions/pthread_cond_wait.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, IRIX 5.3, Solaris 2.4, mingw, BeOS. +Minix 3.1.8, IRIX 5.3, Solaris 2.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_condattr_destroy.texi b/doc/posix-functions/pthread_condattr_destroy.texi index 56ff82967..a0147e059 100644 --- a/doc/posix-functions/pthread_condattr_destroy.texi +++ b/doc/posix-functions/pthread_condattr_destroy.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, HP-UX 11, Solaris 2.4, mingw, BeOS. +Minix 3.1.8, HP-UX 11, Solaris 2.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_condattr_getclock.texi b/doc/posix-functions/pthread_condattr_getclock.texi index 9c167c281..41e6633ea 100644 --- a/doc/posix-functions/pthread_condattr_getclock.texi +++ b/doc/posix-functions/pthread_condattr_getclock.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, MacOS X 10.5, FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.3.6, MacOS X 10.5, FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_condattr_getpshared.texi b/doc/posix-functions/pthread_condattr_getpshared.texi index 7c682ccaf..8d5376149 100644 --- a/doc/posix-functions/pthread_condattr_getpshared.texi +++ b/doc/posix-functions/pthread_condattr_getpshared.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, OSF/1 4.0, Solaris 2.4, mingw, BeOS. +FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, OSF/1 4.0, Solaris 2.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_condattr_init.texi b/doc/posix-functions/pthread_condattr_init.texi index e5b37270e..61c1dedeb 100644 --- a/doc/posix-functions/pthread_condattr_init.texi +++ b/doc/posix-functions/pthread_condattr_init.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, HP-UX 11, Solaris 2.4, mingw, BeOS. +Minix 3.1.8, HP-UX 11, Solaris 2.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_condattr_setclock.texi b/doc/posix-functions/pthread_condattr_setclock.texi index 428969ea7..7b23a7437 100644 --- a/doc/posix-functions/pthread_condattr_setclock.texi +++ b/doc/posix-functions/pthread_condattr_setclock.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, MacOS X 10.5, FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.3.6, MacOS X 10.5, FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_condattr_setpshared.texi b/doc/posix-functions/pthread_condattr_setpshared.texi index ca80084e3..69b0cdb8a 100644 --- a/doc/posix-functions/pthread_condattr_setpshared.texi +++ b/doc/posix-functions/pthread_condattr_setpshared.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, OSF/1 4.0, Solaris 2.4, mingw, BeOS. +FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, OSF/1 4.0, Solaris 2.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_create.texi b/doc/posix-functions/pthread_create.texi index 55e4ee01f..e510316fd 100644 --- a/doc/posix-functions/pthread_create.texi +++ b/doc/posix-functions/pthread_create.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, HP-UX 11.11, IRIX 5.3, Solaris 2.4, mingw, BeOS. +Minix 3.1.8, HP-UX 11.11, IRIX 5.3, Solaris 2.4, mingw, MSVC 9, BeOS. @item On Linux/glibc platforms before the advent of NPTL, signals could only be sent to one particular thread. In POSIX, signals are sent to the entire diff --git a/doc/posix-functions/pthread_detach.texi b/doc/posix-functions/pthread_detach.texi index 9d5b88cf3..4f5192c05 100644 --- a/doc/posix-functions/pthread_detach.texi +++ b/doc/posix-functions/pthread_detach.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Solaris 2.4, mingw, BeOS. +Minix 3.1.8, Solaris 2.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_equal.texi b/doc/posix-functions/pthread_equal.texi index a910b96da..541cc4f72 100644 --- a/doc/posix-functions/pthread_equal.texi +++ b/doc/posix-functions/pthread_equal.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Solaris 2.4, mingw, BeOS. +Minix 3.1.8, Solaris 2.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_exit.texi b/doc/posix-functions/pthread_exit.texi index ced7333b7..e25d9c4a7 100644 --- a/doc/posix-functions/pthread_exit.texi +++ b/doc/posix-functions/pthread_exit.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, IRIX 5.3, Solaris 2.4, mingw, BeOS. +Minix 3.1.8, IRIX 5.3, Solaris 2.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_getconcurrency.texi b/doc/posix-functions/pthread_getconcurrency.texi index 8c883f8ec..ad693a198 100644 --- a/doc/posix-functions/pthread_getconcurrency.texi +++ b/doc/posix-functions/pthread_getconcurrency.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -NetBSD 5.0, Minix 3.1.8, HP-UX 11, Solaris 2.6, mingw, BeOS. +NetBSD 5.0, Minix 3.1.8, HP-UX 11, Solaris 2.6, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_getcpuclockid.texi b/doc/posix-functions/pthread_getcpuclockid.texi index d2c2ffc78..e21757546 100644 --- a/doc/posix-functions/pthread_getcpuclockid.texi +++ b/doc/posix-functions/pthread_getcpuclockid.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_getschedparam.texi b/doc/posix-functions/pthread_getschedparam.texi index 5c7f62d6f..e63b47643 100644 --- a/doc/posix-functions/pthread_getschedparam.texi +++ b/doc/posix-functions/pthread_getschedparam.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, HP-UX 11, Solaris 2.4, mingw, BeOS. +Minix 3.1.8, HP-UX 11, Solaris 2.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_getspecific.texi b/doc/posix-functions/pthread_getspecific.texi index 68a7d14d5..3e153d92f 100644 --- a/doc/posix-functions/pthread_getspecific.texi +++ b/doc/posix-functions/pthread_getspecific.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Solaris 2.4, mingw, BeOS. +Minix 3.1.8, Solaris 2.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_join.texi b/doc/posix-functions/pthread_join.texi index 1b5435a1a..ccb1a4133 100644 --- a/doc/posix-functions/pthread_join.texi +++ b/doc/posix-functions/pthread_join.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Solaris 2.4, mingw, BeOS. +Minix 3.1.8, Solaris 2.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_key_create.texi b/doc/posix-functions/pthread_key_create.texi index 1632bc989..6e13bcfa0 100644 --- a/doc/posix-functions/pthread_key_create.texi +++ b/doc/posix-functions/pthread_key_create.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Solaris 2.4, mingw, BeOS. +Minix 3.1.8, Solaris 2.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_key_delete.texi b/doc/posix-functions/pthread_key_delete.texi index 237bbadb2..8b6d47bcf 100644 --- a/doc/posix-functions/pthread_key_delete.texi +++ b/doc/posix-functions/pthread_key_delete.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Solaris 2.4, mingw, BeOS. +Minix 3.1.8, Solaris 2.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_kill.texi b/doc/posix-functions/pthread_kill.texi index 476db669c..6f0b1fe2c 100644 --- a/doc/posix-functions/pthread_kill.texi +++ b/doc/posix-functions/pthread_kill.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Solaris 2.4, mingw, BeOS. +Minix 3.1.8, Solaris 2.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_mutex_consistent.texi b/doc/posix-functions/pthread_mutex_consistent.texi index 9a049f69b..7298af342 100644 --- a/doc/posix-functions/pthread_mutex_consistent.texi +++ b/doc/posix-functions/pthread_mutex_consistent.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.11, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.11, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_mutex_destroy.texi b/doc/posix-functions/pthread_mutex_destroy.texi index 6fdeac5b3..0b93697c7 100644 --- a/doc/posix-functions/pthread_mutex_destroy.texi +++ b/doc/posix-functions/pthread_mutex_destroy.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, HP-UX 11, IRIX 5.3, Solaris 2.4, mingw, BeOS. +Minix 3.1.8, HP-UX 11, IRIX 5.3, Solaris 2.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_mutex_getprioceiling.texi b/doc/posix-functions/pthread_mutex_getprioceiling.texi index 805af34dc..24f5e9d46 100644 --- a/doc/posix-functions/pthread_mutex_getprioceiling.texi +++ b/doc/posix-functions/pthread_mutex_getprioceiling.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, NetBSD 5.0, Minix 3.1.8, HP-UX 11, OSF/1 4.0, Solaris 2.4, mingw, Interix 3.5, BeOS. +glibc 2.3.6, NetBSD 5.0, Minix 3.1.8, HP-UX 11, OSF/1 4.0, Solaris 2.4, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_mutex_init.texi b/doc/posix-functions/pthread_mutex_init.texi index 76ca9f8b9..5f4c57637 100644 --- a/doc/posix-functions/pthread_mutex_init.texi +++ b/doc/posix-functions/pthread_mutex_init.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, IRIX 5.3, Solaris 2.4, mingw, BeOS. +Minix 3.1.8, IRIX 5.3, Solaris 2.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_mutex_lock.texi b/doc/posix-functions/pthread_mutex_lock.texi index 2df1f0a77..c39bb9f7d 100644 --- a/doc/posix-functions/pthread_mutex_lock.texi +++ b/doc/posix-functions/pthread_mutex_lock.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, IRIX 5.3, Solaris 2.4, mingw, BeOS. +Minix 3.1.8, IRIX 5.3, Solaris 2.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_mutex_setprioceiling.texi b/doc/posix-functions/pthread_mutex_setprioceiling.texi index dcb09fcee..046625ddf 100644 --- a/doc/posix-functions/pthread_mutex_setprioceiling.texi +++ b/doc/posix-functions/pthread_mutex_setprioceiling.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, NetBSD 5.0, Minix 3.1.8, HP-UX 11, OSF/1 4.0, Solaris 2.4, mingw, Interix 3.5, BeOS. +glibc 2.3.6, NetBSD 5.0, Minix 3.1.8, HP-UX 11, OSF/1 4.0, Solaris 2.4, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_mutex_timedlock.texi b/doc/posix-functions/pthread_mutex_timedlock.texi index 230e41af8..af8d851a3 100644 --- a/doc/posix-functions/pthread_mutex_timedlock.texi +++ b/doc/posix-functions/pthread_mutex_timedlock.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, BeOS. +MacOS X 10.5, FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_mutex_trylock.texi b/doc/posix-functions/pthread_mutex_trylock.texi index 1bff4d6d3..b96a868a9 100644 --- a/doc/posix-functions/pthread_mutex_trylock.texi +++ b/doc/posix-functions/pthread_mutex_trylock.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, HP-UX 11, IRIX 5.3, Solaris 2.4, mingw, BeOS. +Minix 3.1.8, HP-UX 11, IRIX 5.3, Solaris 2.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_mutex_unlock.texi b/doc/posix-functions/pthread_mutex_unlock.texi index f47e0be7e..bd4da020b 100644 --- a/doc/posix-functions/pthread_mutex_unlock.texi +++ b/doc/posix-functions/pthread_mutex_unlock.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, HP-UX 11, IRIX 5.3, Solaris 2.4, mingw, BeOS. +Minix 3.1.8, HP-UX 11, IRIX 5.3, Solaris 2.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_mutexattr_destroy.texi b/doc/posix-functions/pthread_mutexattr_destroy.texi index 0a0e49aba..7c0adab02 100644 --- a/doc/posix-functions/pthread_mutexattr_destroy.texi +++ b/doc/posix-functions/pthread_mutexattr_destroy.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, HP-UX 11, Solaris 2.4, mingw, BeOS. +Minix 3.1.8, HP-UX 11, Solaris 2.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_mutexattr_getprioceiling.texi b/doc/posix-functions/pthread_mutexattr_getprioceiling.texi index d5b18dcd0..6bd054ff0 100644 --- a/doc/posix-functions/pthread_mutexattr_getprioceiling.texi +++ b/doc/posix-functions/pthread_mutexattr_getprioceiling.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, NetBSD 5.0, Minix 3.1.8, HP-UX 11, OSF/1 4.0, Solaris 2.4, mingw, Interix 3.5, BeOS. +glibc 2.3.6, NetBSD 5.0, Minix 3.1.8, HP-UX 11, OSF/1 4.0, Solaris 2.4, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_mutexattr_getprotocol.texi b/doc/posix-functions/pthread_mutexattr_getprotocol.texi index 69b2338bd..b18a3a6cd 100644 --- a/doc/posix-functions/pthread_mutexattr_getprotocol.texi +++ b/doc/posix-functions/pthread_mutexattr_getprotocol.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, NetBSD 5.0, Minix 3.1.8, HP-UX 11, OSF/1 4.0, Solaris 2.4, mingw, Interix 3.5, BeOS. +glibc 2.3.6, NetBSD 5.0, Minix 3.1.8, HP-UX 11, OSF/1 4.0, Solaris 2.4, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_mutexattr_getpshared.texi b/doc/posix-functions/pthread_mutexattr_getpshared.texi index 6b6ff0f4c..c094a7109 100644 --- a/doc/posix-functions/pthread_mutexattr_getpshared.texi +++ b/doc/posix-functions/pthread_mutexattr_getpshared.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, OSF/1 4.0, Solaris 2.4, mingw, BeOS. +FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, OSF/1 4.0, Solaris 2.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_mutexattr_getrobust.texi b/doc/posix-functions/pthread_mutexattr_getrobust.texi index d1ce8bcbd..d95bf5a09 100644 --- a/doc/posix-functions/pthread_mutexattr_getrobust.texi +++ b/doc/posix-functions/pthread_mutexattr_getrobust.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.11, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.11, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_mutexattr_gettype.texi b/doc/posix-functions/pthread_mutexattr_gettype.texi index 408bc747e..121415261 100644 --- a/doc/posix-functions/pthread_mutexattr_gettype.texi +++ b/doc/posix-functions/pthread_mutexattr_gettype.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, HP-UX 11, Solaris 2.6, mingw, BeOS. +Minix 3.1.8, HP-UX 11, Solaris 2.6, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_mutexattr_init.texi b/doc/posix-functions/pthread_mutexattr_init.texi index 57a7adeb0..13350c5be 100644 --- a/doc/posix-functions/pthread_mutexattr_init.texi +++ b/doc/posix-functions/pthread_mutexattr_init.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, HP-UX 11, Solaris 2.4, mingw, BeOS. +Minix 3.1.8, HP-UX 11, Solaris 2.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_mutexattr_setprioceiling.texi b/doc/posix-functions/pthread_mutexattr_setprioceiling.texi index e0cf27417..e7ca4dfa2 100644 --- a/doc/posix-functions/pthread_mutexattr_setprioceiling.texi +++ b/doc/posix-functions/pthread_mutexattr_setprioceiling.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, NetBSD 5.0, Minix 3.1.8, HP-UX 11, OSF/1 4.0, Solaris 2.4, mingw, Interix 3.5, BeOS. +glibc 2.3.6, NetBSD 5.0, Minix 3.1.8, HP-UX 11, OSF/1 4.0, Solaris 2.4, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_mutexattr_setprotocol.texi b/doc/posix-functions/pthread_mutexattr_setprotocol.texi index 6d04508d0..1f2e89bdf 100644 --- a/doc/posix-functions/pthread_mutexattr_setprotocol.texi +++ b/doc/posix-functions/pthread_mutexattr_setprotocol.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, NetBSD 5.0, Minix 3.1.8, HP-UX 11, OSF/1 4.0, Solaris 2.4, mingw, Interix 3.5, BeOS. +glibc 2.3.6, NetBSD 5.0, Minix 3.1.8, HP-UX 11, OSF/1 4.0, Solaris 2.4, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_mutexattr_setpshared.texi b/doc/posix-functions/pthread_mutexattr_setpshared.texi index 77d73a2fb..c3a39cafb 100644 --- a/doc/posix-functions/pthread_mutexattr_setpshared.texi +++ b/doc/posix-functions/pthread_mutexattr_setpshared.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, OSF/1 4.0, Solaris 2.4, mingw, BeOS. +FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, OSF/1 4.0, Solaris 2.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_mutexattr_setrobust.texi b/doc/posix-functions/pthread_mutexattr_setrobust.texi index 5a98934b8..54de41993 100644 --- a/doc/posix-functions/pthread_mutexattr_setrobust.texi +++ b/doc/posix-functions/pthread_mutexattr_setrobust.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.11, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.11, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_mutexattr_settype.texi b/doc/posix-functions/pthread_mutexattr_settype.texi index 7abf2558b..b90fcffc6 100644 --- a/doc/posix-functions/pthread_mutexattr_settype.texi +++ b/doc/posix-functions/pthread_mutexattr_settype.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, HP-UX 11, Solaris 2.6, mingw, BeOS. +Minix 3.1.8, HP-UX 11, Solaris 2.6, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_once.texi b/doc/posix-functions/pthread_once.texi index 33a95b318..0b6639559 100644 --- a/doc/posix-functions/pthread_once.texi +++ b/doc/posix-functions/pthread_once.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Solaris 2.4, mingw, BeOS. +Minix 3.1.8, Solaris 2.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_rwlock_destroy.texi b/doc/posix-functions/pthread_rwlock_destroy.texi index 431dd5ce4..052cdacbf 100644 --- a/doc/posix-functions/pthread_rwlock_destroy.texi +++ b/doc/posix-functions/pthread_rwlock_destroy.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, HP-UX 11, OSF/1 4.0, Solaris 2.6, mingw, BeOS. +Minix 3.1.8, HP-UX 11, OSF/1 4.0, Solaris 2.6, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_rwlock_init.texi b/doc/posix-functions/pthread_rwlock_init.texi index 84085ca87..225ed1390 100644 --- a/doc/posix-functions/pthread_rwlock_init.texi +++ b/doc/posix-functions/pthread_rwlock_init.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, OSF/1 4.0, Solaris 2.6, mingw, BeOS. +Minix 3.1.8, OSF/1 4.0, Solaris 2.6, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_rwlock_rdlock.texi b/doc/posix-functions/pthread_rwlock_rdlock.texi index 2246d798a..1bd3c2215 100644 --- a/doc/posix-functions/pthread_rwlock_rdlock.texi +++ b/doc/posix-functions/pthread_rwlock_rdlock.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, HP-UX 11, OSF/1 4.0, Solaris 2.6, mingw, BeOS. +Minix 3.1.8, HP-UX 11, OSF/1 4.0, Solaris 2.6, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_rwlock_timedrdlock.texi b/doc/posix-functions/pthread_rwlock_timedrdlock.texi index d544b0e1f..f6008910c 100644 --- a/doc/posix-functions/pthread_rwlock_timedrdlock.texi +++ b/doc/posix-functions/pthread_rwlock_timedrdlock.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 5.2.1, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, BeOS. +MacOS X 10.5, FreeBSD 5.2.1, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_rwlock_timedwrlock.texi b/doc/posix-functions/pthread_rwlock_timedwrlock.texi index 5c16cbf17..1f51e1cf9 100644 --- a/doc/posix-functions/pthread_rwlock_timedwrlock.texi +++ b/doc/posix-functions/pthread_rwlock_timedwrlock.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 5.2.1, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, BeOS. +MacOS X 10.5, FreeBSD 5.2.1, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_rwlock_tryrdlock.texi b/doc/posix-functions/pthread_rwlock_tryrdlock.texi index c41321b91..fbf8d5a69 100644 --- a/doc/posix-functions/pthread_rwlock_tryrdlock.texi +++ b/doc/posix-functions/pthread_rwlock_tryrdlock.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, HP-UX 11, OSF/1 4.0, Solaris 2.6, mingw, BeOS. +Minix 3.1.8, HP-UX 11, OSF/1 4.0, Solaris 2.6, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_rwlock_trywrlock.texi b/doc/posix-functions/pthread_rwlock_trywrlock.texi index f354b6ad3..554a2ea9c 100644 --- a/doc/posix-functions/pthread_rwlock_trywrlock.texi +++ b/doc/posix-functions/pthread_rwlock_trywrlock.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, HP-UX 11, OSF/1 4.0, Solaris 2.6, mingw, BeOS. +Minix 3.1.8, HP-UX 11, OSF/1 4.0, Solaris 2.6, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_rwlock_unlock.texi b/doc/posix-functions/pthread_rwlock_unlock.texi index 7e5bb97d7..e206a21c2 100644 --- a/doc/posix-functions/pthread_rwlock_unlock.texi +++ b/doc/posix-functions/pthread_rwlock_unlock.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, HP-UX 11, OSF/1 4.0, Solaris 2.6, mingw, BeOS. +Minix 3.1.8, HP-UX 11, OSF/1 4.0, Solaris 2.6, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_rwlock_wrlock.texi b/doc/posix-functions/pthread_rwlock_wrlock.texi index 310ccdf4a..212a0cf46 100644 --- a/doc/posix-functions/pthread_rwlock_wrlock.texi +++ b/doc/posix-functions/pthread_rwlock_wrlock.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, HP-UX 11, OSF/1 4.0, Solaris 2.6, mingw, BeOS. +Minix 3.1.8, HP-UX 11, OSF/1 4.0, Solaris 2.6, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_rwlockattr_destroy.texi b/doc/posix-functions/pthread_rwlockattr_destroy.texi index 73ac64032..28b718563 100644 --- a/doc/posix-functions/pthread_rwlockattr_destroy.texi +++ b/doc/posix-functions/pthread_rwlockattr_destroy.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, HP-UX 11, OSF/1 4.0, Solaris 2.6, mingw, BeOS. +Minix 3.1.8, HP-UX 11, OSF/1 4.0, Solaris 2.6, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_rwlockattr_getpshared.texi b/doc/posix-functions/pthread_rwlockattr_getpshared.texi index 7c63162c3..399e4fabd 100644 --- a/doc/posix-functions/pthread_rwlockattr_getpshared.texi +++ b/doc/posix-functions/pthread_rwlockattr_getpshared.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -NetBSD 5.0, Minix 3.1.8, HP-UX 11, OSF/1 4.0, Solaris 2.6, mingw, BeOS. +NetBSD 5.0, Minix 3.1.8, HP-UX 11, OSF/1 4.0, Solaris 2.6, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_rwlockattr_init.texi b/doc/posix-functions/pthread_rwlockattr_init.texi index 4d176bc5f..92de2d897 100644 --- a/doc/posix-functions/pthread_rwlockattr_init.texi +++ b/doc/posix-functions/pthread_rwlockattr_init.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, HP-UX 11, OSF/1 4.0, Solaris 2.6, mingw, BeOS. +Minix 3.1.8, HP-UX 11, OSF/1 4.0, Solaris 2.6, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_rwlockattr_setpshared.texi b/doc/posix-functions/pthread_rwlockattr_setpshared.texi index 305995aaf..7003eca37 100644 --- a/doc/posix-functions/pthread_rwlockattr_setpshared.texi +++ b/doc/posix-functions/pthread_rwlockattr_setpshared.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -NetBSD 5.0, Minix 3.1.8, HP-UX 11, OSF/1 4.0, Solaris 2.6, mingw, BeOS. +NetBSD 5.0, Minix 3.1.8, HP-UX 11, OSF/1 4.0, Solaris 2.6, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_self.texi b/doc/posix-functions/pthread_self.texi index b9da57b5d..758cd98bf 100644 --- a/doc/posix-functions/pthread_self.texi +++ b/doc/posix-functions/pthread_self.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, IRIX 5.3, Solaris 2.4, mingw, BeOS. +Minix 3.1.8, IRIX 5.3, Solaris 2.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_setcancelstate.texi b/doc/posix-functions/pthread_setcancelstate.texi index ab37d3c22..40d7303a9 100644 --- a/doc/posix-functions/pthread_setcancelstate.texi +++ b/doc/posix-functions/pthread_setcancelstate.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, HP-UX 11, Solaris 2.4, mingw, BeOS. +Minix 3.1.8, HP-UX 11, Solaris 2.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_setcanceltype.texi b/doc/posix-functions/pthread_setcanceltype.texi index 4db81d32f..9a0bc6946 100644 --- a/doc/posix-functions/pthread_setcanceltype.texi +++ b/doc/posix-functions/pthread_setcanceltype.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, HP-UX 11, Solaris 2.4, mingw, BeOS. +Minix 3.1.8, HP-UX 11, Solaris 2.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_setconcurrency.texi b/doc/posix-functions/pthread_setconcurrency.texi index a2cc42102..fb8ba4742 100644 --- a/doc/posix-functions/pthread_setconcurrency.texi +++ b/doc/posix-functions/pthread_setconcurrency.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -NetBSD 5.0, Minix 3.1.8, HP-UX 11, Solaris 2.6, mingw, BeOS. +NetBSD 5.0, Minix 3.1.8, HP-UX 11, Solaris 2.6, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_setschedparam.texi b/doc/posix-functions/pthread_setschedparam.texi index 101289204..816227f35 100644 --- a/doc/posix-functions/pthread_setschedparam.texi +++ b/doc/posix-functions/pthread_setschedparam.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, HP-UX 11, Solaris 2.4, mingw, BeOS. +Minix 3.1.8, HP-UX 11, Solaris 2.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_setschedprio.texi b/doc/posix-functions/pthread_setschedprio.texi index 7af2714ec..da5ebff13 100644 --- a/doc/posix-functions/pthread_setschedprio.texi +++ b/doc/posix-functions/pthread_setschedprio.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, BeOS. +glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_setspecific.texi b/doc/posix-functions/pthread_setspecific.texi index 0a6acb3bf..63cf28e0f 100644 --- a/doc/posix-functions/pthread_setspecific.texi +++ b/doc/posix-functions/pthread_setspecific.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Solaris 2.4, mingw, BeOS. +Minix 3.1.8, Solaris 2.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_sigmask.texi b/doc/posix-functions/pthread_sigmask.texi index b78e07c1a..5de5cc42c 100644 --- a/doc/posix-functions/pthread_sigmask.texi +++ b/doc/posix-functions/pthread_sigmask.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Solaris 2.4, mingw, BeOS. +Minix 3.1.8, Solaris 2.4, mingw, MSVC 9, BeOS. @item This function is declared in @code{} instead of @code{} on some platforms: diff --git a/doc/posix-functions/pthread_spin_destroy.texi b/doc/posix-functions/pthread_spin_destroy.texi index 069ef7636..f0d8a89a1 100644 --- a/doc/posix-functions/pthread_spin_destroy.texi +++ b/doc/posix-functions/pthread_spin_destroy.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 5.2.1, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, BeOS. +MacOS X 10.5, FreeBSD 5.2.1, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_spin_init.texi b/doc/posix-functions/pthread_spin_init.texi index e2a911b36..b16827c11 100644 --- a/doc/posix-functions/pthread_spin_init.texi +++ b/doc/posix-functions/pthread_spin_init.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 5.2.1, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, BeOS. +MacOS X 10.5, FreeBSD 5.2.1, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_spin_lock.texi b/doc/posix-functions/pthread_spin_lock.texi index 8c041c8fd..5c6566bff 100644 --- a/doc/posix-functions/pthread_spin_lock.texi +++ b/doc/posix-functions/pthread_spin_lock.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 5.2.1, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, BeOS. +MacOS X 10.5, FreeBSD 5.2.1, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_spin_trylock.texi b/doc/posix-functions/pthread_spin_trylock.texi index caa827720..397bbfff3 100644 --- a/doc/posix-functions/pthread_spin_trylock.texi +++ b/doc/posix-functions/pthread_spin_trylock.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 5.2.1, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, BeOS. +MacOS X 10.5, FreeBSD 5.2.1, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_spin_unlock.texi b/doc/posix-functions/pthread_spin_unlock.texi index c8ae542a6..a341bb51f 100644 --- a/doc/posix-functions/pthread_spin_unlock.texi +++ b/doc/posix-functions/pthread_spin_unlock.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 5.2.1, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, BeOS. +MacOS X 10.5, FreeBSD 5.2.1, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pthread_testcancel.texi b/doc/posix-functions/pthread_testcancel.texi index d8adfc359..4c981355b 100644 --- a/doc/posix-functions/pthread_testcancel.texi +++ b/doc/posix-functions/pthread_testcancel.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, IRIX 5.3, Solaris 2.4, mingw, BeOS. +Minix 3.1.8, IRIX 5.3, Solaris 2.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/ptsname.texi b/doc/posix-functions/ptsname.texi index 079379bc3..2584af860 100644 --- a/doc/posix-functions/ptsname.texi +++ b/doc/posix-functions/ptsname.texi @@ -10,12 +10,22 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.3, OpenBSD 3.8, Minix 3.1.8, mingw, BeOS. +MacOS X 10.3, OpenBSD 3.8, Minix 3.1.8, mingw, MSVC 9, BeOS. @end itemize Portability problems not fixed by Gnulib: @itemize @item +This function is not declared on some platforms: +IRIX 5.3. +@item On Solaris 11 2010-11, this function fails on all BSD-style @file{/dev/pty*} device files. +@item +This function is not thread-safe on some platforms: +Cygwin 1.7.9. +Likewise, the gnulib replacement is not thread-safe. @end itemize + +Note that the Gnulib module @code{ptsname_r} is a version of this +function that is more likely to be thread-safe. diff --git a/doc/posix-functions/putc.texi b/doc/posix-functions/putc.texi index c6a815e3e..5562f35c2 100644 --- a/doc/posix-functions/putc.texi +++ b/doc/posix-functions/putc.texi @@ -12,7 +12,7 @@ Portability problems fixed by Gnulib module @code{stdio}, together with module @ When writing to a non-blocking pipe whose buffer is full, this function fails with @code{errno} being set to @code{ENOSPC} instead of @code{EAGAIN} on some platforms: -mingw. +mingw, MSVC 9. @end itemize Portability problems fixed by Gnulib module @code{stdio}, together with module @code{sigpipe}: @@ -20,7 +20,7 @@ Portability problems fixed by Gnulib module @code{stdio}, together with module @ @item When writing to a pipe with no readers, this function fails, instead of obeying the current @code{SIGPIPE} handler, on some platforms: -mingw. +mingw, MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/putc_unlocked.texi b/doc/posix-functions/putc_unlocked.texi index 3b10d6ec3..663bfdf39 100644 --- a/doc/posix-functions/putc_unlocked.texi +++ b/doc/posix-functions/putc_unlocked.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, mingw. +Minix 3.1.8, mingw, MSVC 9. @item On some platforms, this function does not set @code{errno} or the stream error indicator on attempts to write to a read-only stream: diff --git a/doc/posix-functions/putchar.texi b/doc/posix-functions/putchar.texi index 2ded45a2a..d3a214ee1 100644 --- a/doc/posix-functions/putchar.texi +++ b/doc/posix-functions/putchar.texi @@ -12,7 +12,7 @@ Portability problems fixed by Gnulib module @code{stdio}, together with module @ When writing to a non-blocking pipe whose buffer is full, this function fails with @code{errno} being set to @code{ENOSPC} instead of @code{EAGAIN} on some platforms: -mingw. +mingw, MSVC 9. @end itemize Portability problems fixed by Gnulib module @code{stdio}, together with module @code{sigpipe}: @@ -20,7 +20,7 @@ Portability problems fixed by Gnulib module @code{stdio}, together with module @ @item When writing to a pipe with no readers, this function fails, instead of obeying the current @code{SIGPIPE} handler, on some platforms: -mingw. +mingw, MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/putchar_unlocked.texi b/doc/posix-functions/putchar_unlocked.texi index 3fed546ad..f0fe807eb 100644 --- a/doc/posix-functions/putchar_unlocked.texi +++ b/doc/posix-functions/putchar_unlocked.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, mingw. +Minix 3.1.8, mingw, MSVC 9. @item On some platforms, this function does not set @code{errno} or the stream error indicator on attempts to write to a read-only stream: diff --git a/doc/posix-functions/putmsg.texi b/doc/posix-functions/putmsg.texi index 29ac58c94..6473ec181 100644 --- a/doc/posix-functions/putmsg.texi +++ b/doc/posix-functions/putmsg.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/putpmsg.texi b/doc/posix-functions/putpmsg.texi index 8c195f28f..cbf722d52 100644 --- a/doc/posix-functions/putpmsg.texi +++ b/doc/posix-functions/putpmsg.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/puts.texi b/doc/posix-functions/puts.texi index 31e3f0e41..c4a85f758 100644 --- a/doc/posix-functions/puts.texi +++ b/doc/posix-functions/puts.texi @@ -12,7 +12,7 @@ Portability problems fixed by Gnulib module @code{stdio}, together with module @ When writing to a non-blocking pipe whose buffer is full, this function fails with @code{errno} being set to @code{ENOSPC} instead of @code{EAGAIN} on some platforms: -mingw. +mingw, MSVC 9. @end itemize Portability problems fixed by Gnulib module @code{stdio}, together with module @code{sigpipe}: @@ -20,7 +20,7 @@ Portability problems fixed by Gnulib module @code{stdio}, together with module @ @item When writing to a pipe with no readers, this function fails, instead of obeying the current @code{SIGPIPE} handler, on some platforms: -mingw. +mingw, MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/pututxline.texi b/doc/posix-functions/pututxline.texi index cbf4ff7cd..da8af579f 100644 --- a/doc/posix-functions/pututxline.texi +++ b/doc/posix-functions/pututxline.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.3, FreeBSD 6.0, OpenBSD 3.8, Minix 3.1.8, mingw, BeOS. +MacOS X 10.3, FreeBSD 6.0, OpenBSD 3.8, Minix 3.1.8, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/pwrite.texi b/doc/posix-functions/pwrite.texi index c214a54d1..a41bd0bed 100644 --- a/doc/posix-functions/pwrite.texi +++ b/doc/posix-functions/pwrite.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -HP-UX 10, mingw, BeOS. +HP-UX 10, mingw, MSVC 9, BeOS. @item On platforms where @code{off_t} is a 32-bit type, this function may not work correctly on files larger than 2 GB. (Cf. @code{AC_SYS_LARGEFILE}.) diff --git a/doc/posix-functions/raise.texi b/doc/posix-functions/raise.texi index 41b5e8c7a..3b6cad1ef 100644 --- a/doc/posix-functions/raise.texi +++ b/doc/posix-functions/raise.texi @@ -10,6 +10,9 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some old platforms. +@item +This function crashes when invoked with invalid arguments on some platforms: +MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/rand_r.texi b/doc/posix-functions/rand_r.texi index 1b720c825..5f4063fd3 100644 --- a/doc/posix-functions/rand_r.texi +++ b/doc/posix-functions/rand_r.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, mingw. +Minix 3.1.8, mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/random.texi b/doc/posix-functions/random.texi index c31e13edb..cea4e049d 100644 --- a/doc/posix-functions/random.texi +++ b/doc/posix-functions/random.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Solaris 2.4, mingw. +Solaris 2.4, mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/read.texi b/doc/posix-functions/read.texi index 2b5aeb2e4..ab625f5cd 100644 --- a/doc/posix-functions/read.texi +++ b/doc/posix-functions/read.texi @@ -9,10 +9,13 @@ Gnulib module: stdio, nonblocking Portability problems fixed by Gnulib module @code{stdio}, together with module @code{nonblocking}: @itemize @item +This function crashes when invoked with invalid arguments on some platforms: +MSVC 9. +@item When reading from a non-blocking pipe whose buffer is empty, this function fails with @code{errno} being set to @code{EINVAL} instead of @code{EAGAIN} on some platforms: -mingw. +mingw, MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/readdir.texi b/doc/posix-functions/readdir.texi index 8bed94f18..a17f30c5b 100644 --- a/doc/posix-functions/readdir.texi +++ b/doc/posix-functions/readdir.texi @@ -4,17 +4,20 @@ POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/readdir.html} -Gnulib module: --- +Gnulib module: readdir Portability problems fixed by Gnulib: @itemize -@end itemize - -Portability problems not fixed by Gnulib: -@itemize +@item +This function is missing on some platforms: +MSVC 9. @item On platforms where @code{off_t} is a 32-bit type, this function may not work correctly on huge directories larger than 2 GB. Also, on platforms where @code{ino_t} is a 32-bit type, this function may report inode numbers -incorrectly. The fix is to use the @code{AC_SYS_LARGEFILE} macro. +incorrectly. (Cf. @code{AC_SYS_LARGEFILE}.) +@end itemize + +Portability problems not fixed by Gnulib: +@itemize @end itemize diff --git a/doc/posix-functions/readdir_r.texi b/doc/posix-functions/readdir_r.texi index 1e5640e79..4c0d5e64b 100644 --- a/doc/posix-functions/readdir_r.texi +++ b/doc/posix-functions/readdir_r.texi @@ -17,7 +17,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, mingw, BeOS. +Minix 3.1.8, mingw, MSVC 9, BeOS. @item On platforms where @code{off_t} is a 32-bit type, this function may not work correctly on huge directories larger than 2 GB. Also, on platforms diff --git a/doc/posix-functions/readlink.texi b/doc/posix-functions/readlink.texi index 2e01f8e8f..2348a8469 100644 --- a/doc/posix-functions/readlink.texi +++ b/doc/posix-functions/readlink.texi @@ -17,7 +17,7 @@ On some platforms, @code{readlink} returns @code{int} instead of glibc 2.4, FreeBSD 6.0, OpenBSD 3.8, Cygwin 1.5.x. @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/readlinkat.texi b/doc/posix-functions/readlinkat.texi index 2d230e9b0..69d3d8861 100644 --- a/doc/posix-functions/readlinkat.texi +++ b/doc/posix-functions/readlinkat.texi @@ -11,7 +11,7 @@ Portability problems fixed by Gnulib: @item This function is missing on some platforms: glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, -AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. But the replacement function is not safe to be used in libraries and is not multithread-safe. @end itemize @@ -19,7 +19,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function always fails on platforms that don't support symlinks: -mingw +mingw, MSVC 9. @item When @code{readlink} is called on a directory: In the case of NFS mounted directories, Cygwin sets @code{errno} to @code{ENOENT} or @code{EIO} instead of diff --git a/doc/posix-functions/readv.texi b/doc/posix-functions/readv.texi index f737df4de..641930c61 100644 --- a/doc/posix-functions/readv.texi +++ b/doc/posix-functions/readv.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/realloc.texi b/doc/posix-functions/realloc.texi index 12a9dc7c3..494609255 100644 --- a/doc/posix-functions/realloc.texi +++ b/doc/posix-functions/realloc.texi @@ -11,7 +11,7 @@ Portability problems fixed by Gnulib: @item Upon failure, the function does not set @code{errno} to @code{ENOMEM} on some platforms: -mingw. +mingw, MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/realpath.texi b/doc/posix-functions/realpath.texi index fd3f16095..38cc8caaa 100644 --- a/doc/posix-functions/realpath.texi +++ b/doc/posix-functions/realpath.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw, BeOS. +mingw, MSVC 9, BeOS. @item This function does not allow for a NULL @samp{resolved} parameter on some platforms: diff --git a/doc/posix-functions/recvmsg.texi b/doc/posix-functions/recvmsg.texi index 9d4a951f0..35ee41007 100644 --- a/doc/posix-functions/recvmsg.texi +++ b/doc/posix-functions/recvmsg.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw, Interix 3.5, BeOS. +mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/regcomp.texi b/doc/posix-functions/regcomp.texi index a0e683566..9e02d8696 100644 --- a/doc/posix-functions/regcomp.texi +++ b/doc/posix-functions/regcomp.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @item Many regular expression implementations have bugs. @end itemize diff --git a/doc/posix-functions/regerror.texi b/doc/posix-functions/regerror.texi index 4d31b9ca0..26ad6e2d6 100644 --- a/doc/posix-functions/regerror.texi +++ b/doc/posix-functions/regerror.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/regexec.texi b/doc/posix-functions/regexec.texi index 835974c53..c934623a0 100644 --- a/doc/posix-functions/regexec.texi +++ b/doc/posix-functions/regexec.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @item Many regular expression implementations have bugs. @end itemize diff --git a/doc/posix-functions/regfree.texi b/doc/posix-functions/regfree.texi index 2f932be0d..903ad8122 100644 --- a/doc/posix-functions/regfree.texi +++ b/doc/posix-functions/regfree.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/remainder.texi b/doc/posix-functions/remainder.texi index 19b5a108a..59ff2e4c5 100644 --- a/doc/posix-functions/remainder.texi +++ b/doc/posix-functions/remainder.texi @@ -12,4 +12,10 @@ Portability problems fixed by Gnulib: Portability problems not fixed by Gnulib: @itemize +@item +This function is missing on some platforms: +MSVC 9. +@item +This function is not declared on some platforms: +IRIX 5.3. @end itemize diff --git a/doc/posix-functions/remainderf.texi b/doc/posix-functions/remainderf.texi index 574abd604..6bf648119 100644 --- a/doc/posix-functions/remainderf.texi +++ b/doc/posix-functions/remainderf.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 9. +Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 9, MSVC 9. @end itemize diff --git a/doc/posix-functions/remainderl.texi b/doc/posix-functions/remainderl.texi index 08ca74b33..8cfd1047d 100644 --- a/doc/posix-functions/remainderl.texi +++ b/doc/posix-functions/remainderl.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, Interix 3.5, BeOS. +FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/remove.texi b/doc/posix-functions/remove.texi index b61f0ced2..0a0a88a7d 100644 --- a/doc/posix-functions/remove.texi +++ b/doc/posix-functions/remove.texi @@ -18,7 +18,7 @@ This function mistakenly removes a directory with Cygwin 1.5.x. @item This function does not remove empty directories on some platforms: -mingw. +mingw, MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/remque.texi b/doc/posix-functions/remque.texi index d775b947e..f1c43b54d 100644 --- a/doc/posix-functions/remque.texi +++ b/doc/posix-functions/remque.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +Minix 3.1.8, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/remquo.texi b/doc/posix-functions/remquo.texi index 504e32089..f99c8d541 100644 --- a/doc/posix-functions/remquo.texi +++ b/doc/posix-functions/remquo.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, IRIX 6.5, OSF/1 4.0, Solaris 9, Interix 3.5. +FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, IRIX 6.5, OSF/1 4.0, Solaris 9, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/remquof.texi b/doc/posix-functions/remquof.texi index 0899ccc80..6061ba7a6 100644 --- a/doc/posix-functions/remquof.texi +++ b/doc/posix-functions/remquof.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Interix 3.5. +FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/remquol.texi b/doc/posix-functions/remquol.texi index 0abc8aca6..50955c0ba 100644 --- a/doc/posix-functions/remquol.texi +++ b/doc/posix-functions/remquol.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, Interix 3.5, BeOS. +FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/rename.texi b/doc/posix-functions/rename.texi index 300970c1b..e412e9002 100644 --- a/doc/posix-functions/rename.texi +++ b/doc/posix-functions/rename.texi @@ -15,7 +15,7 @@ NetBSD 1.6. @item This function does not reject trailing slashes on the destination for non-directories on some platforms, as in @code{rename("file","new/")}: -AIX 7.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw. +AIX 7.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9. @item This function does not reject trailing slashes on symlinks to non-directories on some platforms, as in @@ -32,17 +32,17 @@ NetBSD 1.6, Cygwin 1.5.x. @item This function will not always replace an existing destination on some platforms: -Cygwin 1.5.x, mingw. +Cygwin 1.5.x, mingw, MSVC 9. However, the replacement is not atomic for directories, and may end up losing the empty destination if the source could not be renamed. @item This function mistakenly allows names ending in @samp{.} or @samp{..} on some platforms: -Cygwin 1.5.x, mingw. +Cygwin 1.5.x, mingw, MSVC 9. @item This function does not reject attempts to rename existing directories and non-directories onto one another on some platforms: -Cygwin 1.5.x, mingw. +Cygwin 1.5.x, mingw, MSVC 9. @item This function does not allow trailing slashes on source directories on older platforms, as in @samp{rename("dir/","new")}: @@ -67,5 +67,5 @@ Linux 2.6.18. @item This function will not rename a source that is currently opened by any process: -mingw. +mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/renameat.texi b/doc/posix-functions/renameat.texi index e95f9feb4..1a67c3b62 100644 --- a/doc/posix-functions/renameat.texi +++ b/doc/posix-functions/renameat.texi @@ -23,7 +23,7 @@ Solaris 11 2010-11. @item This function is missing on some platforms: glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, -AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 8, Cygwin 1.5.x, mingw, +AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 8, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. But the replacement function is not safe to be used in libraries and is not multithread-safe. @end itemize @@ -46,5 +46,5 @@ Linux 2.6.18. @item This function will not rename a source that is currently opened by any process: -mingw. +mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/rewinddir.texi b/doc/posix-functions/rewinddir.texi index 4492d4f38..6d7cb82d8 100644 --- a/doc/posix-functions/rewinddir.texi +++ b/doc/posix-functions/rewinddir.texi @@ -4,16 +4,19 @@ POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/rewinddir.html} -Gnulib module: --- +Gnulib module: rewinddir Portability problems fixed by Gnulib: @itemize +@item +This function is missing on some platforms: +MSVC 9. +@item +On MacOS X platforms where @code{long int} is a 32-bit type, this function may +not work correctly on huge directories larger than 2 GB. +(Cf. @code{AC_SYS_LARGEFILE}.) @end itemize Portability problems not fixed by Gnulib: @itemize -@item -On platforms where @code{long int} is a 32-bit type, this function may not -work correctly on huge directories larger than 2 GB. The fix is to use -the @code{AC_SYS_LARGEFILE} macro (only on MacOS X systems). @end itemize diff --git a/doc/posix-functions/rint.texi b/doc/posix-functions/rint.texi index 65fbcbd23..996895c06 100644 --- a/doc/posix-functions/rint.texi +++ b/doc/posix-functions/rint.texi @@ -8,6 +8,9 @@ Gnulib module: rint Portability problems fixed by Gnulib: @itemize +@item +This function is missing on some platforms: +MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/rintf.texi b/doc/posix-functions/rintf.texi index 9688a381c..a67497af2 100644 --- a/doc/posix-functions/rintf.texi +++ b/doc/posix-functions/rintf.texi @@ -4,15 +4,15 @@ POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/rintf.html} -Gnulib module: --- +Gnulib module: rintf Portability problems fixed by Gnulib: @itemize +@item +This function is missing on some platforms: +Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 9, MSVC 9. @end itemize Portability problems not fixed by Gnulib: @itemize -@item -This function is missing on some platforms: -Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 9. @end itemize diff --git a/doc/posix-functions/rintl.texi b/doc/posix-functions/rintl.texi index 0cb30f049..17736d771 100644 --- a/doc/posix-functions/rintl.texi +++ b/doc/posix-functions/rintl.texi @@ -4,16 +4,16 @@ POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/rintl.html} -Gnulib module: --- +Gnulib module: rintl Portability problems fixed by Gnulib: @itemize +@item +This function is missing on some platforms: +FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, +Solaris 9, Cygwin 1.5.x, MSVC 9, Interix 3.5, BeOS. @end itemize Portability problems not fixed by Gnulib: @itemize -@item -This function is missing on some platforms: -FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, -Solaris 9, Cygwin 1.5.x, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/rmdir.texi b/doc/posix-functions/rmdir.texi index bc4adf9cf..4676d18b5 100644 --- a/doc/posix-functions/rmdir.texi +++ b/doc/posix-functions/rmdir.texi @@ -9,13 +9,17 @@ Gnulib module: rmdir Portability problems fixed by Gnulib: @itemize @item +This function is declared in different header files (namely, @code{} or +@code{}) on some platforms: +mingw, MSVC 9. +@item This function mistakenly removes a directory with @code{rmdir("dir/./")} on some platforms: Cygwin 1.5.x. @item This function fails with @code{EINVAL} instead of the expected @code{ENOTDIR} for @code{rmdir("file/")} on some platforms: -mingw. +mingw, MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/round.texi b/doc/posix-functions/round.texi index 60792382f..ca95e1893 100644 --- a/doc/posix-functions/round.texi +++ b/doc/posix-functions/round.texi @@ -10,7 +10,7 @@ Portability problems fixed by either Gnulib module @code{round} or @code{round-i @itemize @item This function is missing on some platforms: -FreeBSD 5.2.1, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, IRIX 6.5, OSF/1 4.0, Solaris 9, Interix 3.5. +FreeBSD 5.2.1, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, IRIX 6.5, OSF/1 4.0, Solaris 9, MSVC 9, Interix 3.5. @item This function is not declared on some platforms: glibc 2.8, OSF/1 5.1. diff --git a/doc/posix-functions/roundf.texi b/doc/posix-functions/roundf.texi index 154008fa1..31d987270 100644 --- a/doc/posix-functions/roundf.texi +++ b/doc/posix-functions/roundf.texi @@ -10,7 +10,7 @@ Portability problems fixed by either Gnulib module @code{roundf} or @code{roundf @itemize @item This function is missing on some platforms: -FreeBSD 5.2.1, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Interix 3.5. +FreeBSD 5.2.1, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, MSVC 9, Interix 3.5. @item This function is not declared on some platforms: glibc 2.8, OSF/1 5.1. diff --git a/doc/posix-functions/roundl.texi b/doc/posix-functions/roundl.texi index 765d3e264..9ce84d050 100644 --- a/doc/posix-functions/roundl.texi +++ b/doc/posix-functions/roundl.texi @@ -10,7 +10,7 @@ Portability problems fixed by either Gnulib module @code{roundl} or @code{roundl @itemize @item This function is missing on some platforms: -FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, Interix 3.5, BeOS. +FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, MSVC 9, Interix 3.5, BeOS. @item This function is not declared on some platforms: glibc 2.8, OSF/1 5.1. diff --git a/doc/posix-functions/scalbln.texi b/doc/posix-functions/scalbln.texi index fd93dee0d..be759d755 100644 --- a/doc/posix-functions/scalbln.texi +++ b/doc/posix-functions/scalbln.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Interix 3.5. +FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/scalblnf.texi b/doc/posix-functions/scalblnf.texi index 694352251..67be08d55 100644 --- a/doc/posix-functions/scalblnf.texi +++ b/doc/posix-functions/scalblnf.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Interix 3.5. +FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/scalblnl.texi b/doc/posix-functions/scalblnl.texi index 75e82025e..1f883b16e 100644 --- a/doc/posix-functions/scalblnl.texi +++ b/doc/posix-functions/scalblnl.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, Interix 3.5. +FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/scalbn.texi b/doc/posix-functions/scalbn.texi index 012123ce4..eb7327e2e 100644 --- a/doc/posix-functions/scalbn.texi +++ b/doc/posix-functions/scalbn.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -AIX 5.1, IRIX 6.5, OSF/1 4.0. +AIX 5.1, IRIX 6.5, OSF/1 4.0, MSVC 9. @end itemize diff --git a/doc/posix-functions/scalbnf.texi b/doc/posix-functions/scalbnf.texi index 8a423b2d2..1ddb01281 100644 --- a/doc/posix-functions/scalbnf.texi +++ b/doc/posix-functions/scalbnf.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9. +AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, MSVC 9. @end itemize diff --git a/doc/posix-functions/scalbnl.texi b/doc/posix-functions/scalbnl.texi index 39b62575e..3896f9844 100644 --- a/doc/posix-functions/scalbnl.texi +++ b/doc/posix-functions/scalbnl.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, Interix 3.5. +FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/scandir.texi b/doc/posix-functions/scandir.texi index 7252d09a5..672c6c7f0 100644 --- a/doc/posix-functions/scandir.texi +++ b/doc/posix-functions/scandir.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Solaris 9, mingw, BeOS. +Minix 3.1.8, Solaris 9, mingw, MSVC 9, BeOS. @item On platforms where @code{off_t} is a 32-bit type, this function may not work correctly on huge directories larger than 2 GB. Also, on platforms diff --git a/doc/posix-functions/scanf.texi b/doc/posix-functions/scanf.texi index f29378c09..0c4e2643f 100644 --- a/doc/posix-functions/scanf.texi +++ b/doc/posix-functions/scanf.texi @@ -12,7 +12,7 @@ Portability problems fixed by Gnulib module @code{stdio}, together with module @ When reading from a non-blocking pipe whose buffer is empty, this function fails with @code{errno} being set to @code{EINVAL} instead of @code{EAGAIN} on some platforms: -mingw. +mingw, MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/sched_get_priority_max.texi b/doc/posix-functions/sched_get_priority_max.texi index f9131b30b..14c7fd13f 100644 --- a/doc/posix-functions/sched_get_priority_max.texi +++ b/doc/posix-functions/sched_get_priority_max.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 5.3, Solaris 2.4, mingw, BeOS. +OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 5.3, Solaris 2.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/sched_get_priority_min.texi b/doc/posix-functions/sched_get_priority_min.texi index 113bf9836..11d2cb187 100644 --- a/doc/posix-functions/sched_get_priority_min.texi +++ b/doc/posix-functions/sched_get_priority_min.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 5.3, mingw, BeOS. +OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 5.3, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/sched_getparam.texi b/doc/posix-functions/sched_getparam.texi index c50a17d31..df75d6f38 100644 --- a/doc/posix-functions/sched_getparam.texi +++ b/doc/posix-functions/sched_getparam.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, OpenBSD 3.8, Minix 3.1.8, IRIX 5.3, Solaris 2.4, mingw, Interix 3.5, BeOS. +MacOS X 10.5, OpenBSD 3.8, Minix 3.1.8, IRIX 5.3, Solaris 2.4, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/sched_getscheduler.texi b/doc/posix-functions/sched_getscheduler.texi index 0d6bac2c5..9b083e1b6 100644 --- a/doc/posix-functions/sched_getscheduler.texi +++ b/doc/posix-functions/sched_getscheduler.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, OpenBSD 3.8, Minix 3.1.8, IRIX 5.3, Solaris 2.4, mingw, Interix 3.5, BeOS. +MacOS X 10.5, OpenBSD 3.8, Minix 3.1.8, IRIX 5.3, Solaris 2.4, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/sched_rr_get_interval.texi b/doc/posix-functions/sched_rr_get_interval.texi index bba33dff8..9394f5d86 100644 --- a/doc/posix-functions/sched_rr_get_interval.texi +++ b/doc/posix-functions/sched_rr_get_interval.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 5.3, Solaris 2.4, mingw, Interix 3.5, BeOS. +MacOS X 10.5, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 5.3, Solaris 2.4, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/sched_setparam.texi b/doc/posix-functions/sched_setparam.texi index d0cd1a48e..de933843e 100644 --- a/doc/posix-functions/sched_setparam.texi +++ b/doc/posix-functions/sched_setparam.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, OpenBSD 3.8, Minix 3.1.8, IRIX 5.3, Solaris 2.4, mingw, Interix 3.5, BeOS. +MacOS X 10.5, OpenBSD 3.8, Minix 3.1.8, IRIX 5.3, Solaris 2.4, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/sched_setscheduler.texi b/doc/posix-functions/sched_setscheduler.texi index ee8cb3c3a..2804de3a9 100644 --- a/doc/posix-functions/sched_setscheduler.texi +++ b/doc/posix-functions/sched_setscheduler.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, OpenBSD 3.8, Minix 3.1.8, IRIX 5.3, Solaris 2.4, mingw, Interix 3.5, BeOS. +MacOS X 10.5, OpenBSD 3.8, Minix 3.1.8, IRIX 5.3, Solaris 2.4, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/sched_yield.texi b/doc/posix-functions/sched_yield.texi index 162fb160c..b32ceac4f 100644 --- a/doc/posix-functions/sched_yield.texi +++ b/doc/posix-functions/sched_yield.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, IRIX 5.3, Solaris 2.4, mingw, BeOS. +Minix 3.1.8, IRIX 5.3, Solaris 2.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/seed48.texi b/doc/posix-functions/seed48.texi index 4ff1765da..14586a75b 100644 --- a/doc/posix-functions/seed48.texi +++ b/doc/posix-functions/seed48.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, mingw. +Minix 3.1.8, mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/seekdir.texi b/doc/posix-functions/seekdir.texi index d1e8eebba..cf64a258d 100644 --- a/doc/posix-functions/seekdir.texi +++ b/doc/posix-functions/seekdir.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -BeOS. +MSVC 9, BeOS. @item On platforms where @code{long int} is a 32-bit type, this function may not work correctly on huge directories larger than 2 GB. The fix is to use diff --git a/doc/posix-functions/select.texi b/doc/posix-functions/select.texi index e9a916f2c..e59b3cf8e 100644 --- a/doc/posix-functions/select.texi +++ b/doc/posix-functions/select.texi @@ -37,4 +37,8 @@ when instead it should return immediately. @item On Linux, when some file descriptor refers to a regular file, @code{select} may fail, setting @code{errno} to @code{EBADF}. +@item +This function is declared in @code{}, not @code{}, +on some platforms: +IRIX 5.3. @end itemize diff --git a/doc/posix-functions/sem_close.texi b/doc/posix-functions/sem_close.texi index 119030685..474963f57 100644 --- a/doc/posix-functions/sem_close.texi +++ b/doc/posix-functions/sem_close.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, IRIX 5.3, Solaris 2.4, mingw, BeOS. +Minix 3.1.8, IRIX 5.3, Solaris 2.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/sem_destroy.texi b/doc/posix-functions/sem_destroy.texi index cd7bbce62..31f2b756f 100644 --- a/doc/posix-functions/sem_destroy.texi +++ b/doc/posix-functions/sem_destroy.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, IRIX 5.3, Solaris 2.4, mingw, BeOS. +Minix 3.1.8, IRIX 5.3, Solaris 2.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/sem_getvalue.texi b/doc/posix-functions/sem_getvalue.texi index cbf4d1161..b2baa9e14 100644 --- a/doc/posix-functions/sem_getvalue.texi +++ b/doc/posix-functions/sem_getvalue.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, IRIX 5.3, Solaris 2.4, mingw, BeOS. +Minix 3.1.8, IRIX 5.3, Solaris 2.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/sem_init.texi b/doc/posix-functions/sem_init.texi index 1cac29f81..c52da758e 100644 --- a/doc/posix-functions/sem_init.texi +++ b/doc/posix-functions/sem_init.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, IRIX 5.3, Solaris 2.4, mingw, BeOS. +Minix 3.1.8, IRIX 5.3, Solaris 2.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/sem_open.texi b/doc/posix-functions/sem_open.texi index 61fa61640..170530888 100644 --- a/doc/posix-functions/sem_open.texi +++ b/doc/posix-functions/sem_open.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, IRIX 5.3, Solaris 2.4, mingw, BeOS. +Minix 3.1.8, IRIX 5.3, Solaris 2.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/sem_post.texi b/doc/posix-functions/sem_post.texi index b0bcae6a5..d24b7e6aa 100644 --- a/doc/posix-functions/sem_post.texi +++ b/doc/posix-functions/sem_post.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, IRIX 5.3, Solaris 2.4, mingw, BeOS. +Minix 3.1.8, IRIX 5.3, Solaris 2.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/sem_timedwait.texi b/doc/posix-functions/sem_timedwait.texi index fdd222761..539560dd9 100644 --- a/doc/posix-functions/sem_timedwait.texi +++ b/doc/posix-functions/sem_timedwait.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, mingw, BeOS. +MacOS X 10.5, FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/sem_trywait.texi b/doc/posix-functions/sem_trywait.texi index eff9bd932..f295ce9bc 100644 --- a/doc/posix-functions/sem_trywait.texi +++ b/doc/posix-functions/sem_trywait.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, IRIX 5.3, Solaris 2.4, mingw, BeOS. +Minix 3.1.8, IRIX 5.3, Solaris 2.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/sem_unlink.texi b/doc/posix-functions/sem_unlink.texi index 425080941..5d2b44fbc 100644 --- a/doc/posix-functions/sem_unlink.texi +++ b/doc/posix-functions/sem_unlink.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, IRIX 5.3, Solaris 2.4, Cygwin 1.5.x, mingw, BeOS. +Minix 3.1.8, IRIX 5.3, Solaris 2.4, Cygwin 1.5.x, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/sem_wait.texi b/doc/posix-functions/sem_wait.texi index cb81a2129..f37c89772 100644 --- a/doc/posix-functions/sem_wait.texi +++ b/doc/posix-functions/sem_wait.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, IRIX 5.3, Solaris 2.4, mingw, BeOS. +Minix 3.1.8, IRIX 5.3, Solaris 2.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/semctl.texi b/doc/posix-functions/semctl.texi index babca93ee..5923738c8 100644 --- a/doc/posix-functions/semctl.texi +++ b/doc/posix-functions/semctl.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw, BeOS. +mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/semget.texi b/doc/posix-functions/semget.texi index f92c3a55e..9425cf7b5 100644 --- a/doc/posix-functions/semget.texi +++ b/doc/posix-functions/semget.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw, BeOS. +mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/semop.texi b/doc/posix-functions/semop.texi index 852c6f2b9..a9b955493 100644 --- a/doc/posix-functions/semop.texi +++ b/doc/posix-functions/semop.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw, BeOS. +mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/sendmsg.texi b/doc/posix-functions/sendmsg.texi index bacfe349d..890823c89 100644 --- a/doc/posix-functions/sendmsg.texi +++ b/doc/posix-functions/sendmsg.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw, Interix 3.5, BeOS. +mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/setegid.texi b/doc/posix-functions/setegid.texi index 7c88d90ed..7847d62bd 100644 --- a/doc/posix-functions/setegid.texi +++ b/doc/posix-functions/setegid.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -HP-UX 11.23, mingw, BeOS. +HP-UX 11.23, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/setenv.texi b/doc/posix-functions/setenv.texi index b5c397f31..6549d7fa8 100644 --- a/doc/posix-functions/setenv.texi +++ b/doc/posix-functions/setenv.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -AIX 4.3.2, HP-UX 11.23, IRIX 6.5, Solaris 9, mingw, BeOS. +AIX 4.3.2, HP-UX 11.23, IRIX 6.5, Solaris 9, mingw, MSVC 9, BeOS. @item This function is not declared on some platforms: OSF/1 5.1. diff --git a/doc/posix-functions/seteuid.texi b/doc/posix-functions/seteuid.texi index 811b3265d..4f30f37de 100644 --- a/doc/posix-functions/seteuid.texi +++ b/doc/posix-functions/seteuid.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -HP-UX 11.23, mingw, BeOS. +HP-UX 11.23, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/setgid.texi b/doc/posix-functions/setgid.texi index dd4921a38..edc6e6cae 100644 --- a/doc/posix-functions/setgid.texi +++ b/doc/posix-functions/setgid.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/setgrent.texi b/doc/posix-functions/setgrent.texi index 6e2d0ed91..9495c46a1 100644 --- a/doc/posix-functions/setgrent.texi +++ b/doc/posix-functions/setgrent.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/sethostent.texi b/doc/posix-functions/sethostent.texi index 82679f0db..b53fcbcc9 100644 --- a/doc/posix-functions/sethostent.texi +++ b/doc/posix-functions/sethostent.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw, BeOS. +mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/setitimer.texi b/doc/posix-functions/setitimer.texi index 03e965502..8d8c38a8e 100644 --- a/doc/posix-functions/setitimer.texi +++ b/doc/posix-functions/setitimer.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw, BeOS. +mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/setkey.texi b/doc/posix-functions/setkey.texi index d624fe8ac..651090849 100644 --- a/doc/posix-functions/setkey.texi +++ b/doc/posix-functions/setkey.texi @@ -14,5 +14,9 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -NetBSD 5.0, Minix 3.1.8, Cygwin, mingw, BeOS. +NetBSD 5.0, Minix 3.1.8, Cygwin, mingw, MSVC 9, BeOS. +@item +This function is not declared in @code{} +(without @code{-D_GNU_SOURCE}) on some platforms: +glibc (at least 2.11–2.13). @end itemize diff --git a/doc/posix-functions/setlogmask.texi b/doc/posix-functions/setlogmask.texi index 0dd07f575..5344ac57e 100644 --- a/doc/posix-functions/setlogmask.texi +++ b/doc/posix-functions/setlogmask.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, mingw, BeOS. +Minix 3.1.8, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/setnetent.texi b/doc/posix-functions/setnetent.texi index 3bf49b2e7..4929a6f12 100644 --- a/doc/posix-functions/setnetent.texi +++ b/doc/posix-functions/setnetent.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Cygwin, mingw, BeOS. +Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/setpgid.texi b/doc/posix-functions/setpgid.texi index 9e311368c..2934c35d3 100644 --- a/doc/posix-functions/setpgid.texi +++ b/doc/posix-functions/setpgid.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, mingw. +Minix 3.1.8, mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/setpgrp.texi b/doc/posix-functions/setpgrp.texi index e15cd82b4..6fe5c8723 100644 --- a/doc/posix-functions/setpgrp.texi +++ b/doc/posix-functions/setpgrp.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, mingw, Interix 3.5. +Minix 3.1.8, mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/setpriority.texi b/doc/posix-functions/setpriority.texi index df01b3135..16e3ae851 100644 --- a/doc/posix-functions/setpriority.texi +++ b/doc/posix-functions/setpriority.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Solaris 2.4, mingw, BeOS. +Solaris 2.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/setprotoent.texi b/doc/posix-functions/setprotoent.texi index b3e61f680..55e9153a7 100644 --- a/doc/posix-functions/setprotoent.texi +++ b/doc/posix-functions/setprotoent.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw, BeOS. +mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/setpwent.texi b/doc/posix-functions/setpwent.texi index ab1a2aed4..5b57578c5 100644 --- a/doc/posix-functions/setpwent.texi +++ b/doc/posix-functions/setpwent.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/setregid.texi b/doc/posix-functions/setregid.texi index 75919aece..38af8198b 100644 --- a/doc/posix-functions/setregid.texi +++ b/doc/posix-functions/setregid.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Solaris 2.4, mingw, BeOS. +Minix 3.1.8, Solaris 2.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/setreuid.texi b/doc/posix-functions/setreuid.texi index 097b709a2..f8cb2fdc9 100644 --- a/doc/posix-functions/setreuid.texi +++ b/doc/posix-functions/setreuid.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Solaris 2.4, mingw, BeOS. +Minix 3.1.8, Solaris 2.4, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/setrlimit.texi b/doc/posix-functions/setrlimit.texi index e347497fa..ec4198444 100644 --- a/doc/posix-functions/setrlimit.texi +++ b/doc/posix-functions/setrlimit.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, mingw, BeOS. +Minix 3.1.8, mingw, MSVC 9, BeOS. @item On platforms where @code{rlim_t} is a 32-bit type, this function does not allow to set limits larger than 4 GB, such as for RLIMIT_FSIZE. The fix is diff --git a/doc/posix-functions/setservent.texi b/doc/posix-functions/setservent.texi index 3396426de..ff6e5cf8a 100644 --- a/doc/posix-functions/setservent.texi +++ b/doc/posix-functions/setservent.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw, BeOS. +mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/setsid.texi b/doc/posix-functions/setsid.texi index 813b7c4a7..6725f912b 100644 --- a/doc/posix-functions/setsid.texi +++ b/doc/posix-functions/setsid.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/setstate.texi b/doc/posix-functions/setstate.texi index 3ca603ba2..e6dec8202 100644 --- a/doc/posix-functions/setstate.texi +++ b/doc/posix-functions/setstate.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Solaris 2.4, mingw. +Solaris 2.4, mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/setuid.texi b/doc/posix-functions/setuid.texi index 22aff581f..556d5b60e 100644 --- a/doc/posix-functions/setuid.texi +++ b/doc/posix-functions/setuid.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/setutxent.texi b/doc/posix-functions/setutxent.texi index eb753d654..b741edb0b 100644 --- a/doc/posix-functions/setutxent.texi +++ b/doc/posix-functions/setutxent.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.3, FreeBSD 6.0, OpenBSD 3.8, Minix 3.1.8, mingw, BeOS. +MacOS X 10.3, FreeBSD 6.0, OpenBSD 3.8, Minix 3.1.8, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/shm_open.texi b/doc/posix-functions/shm_open.texi index 1d011c571..932e6cc6c 100644 --- a/doc/posix-functions/shm_open.texi +++ b/doc/posix-functions/shm_open.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 5.3, Solaris 2.4, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 5.3, Solaris 2.4, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/shm_unlink.texi b/doc/posix-functions/shm_unlink.texi index 67ef081f7..439c72289 100644 --- a/doc/posix-functions/shm_unlink.texi +++ b/doc/posix-functions/shm_unlink.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 5.3, Solaris 2.4, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, IRIX 5.3, Solaris 2.4, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/shmat.texi b/doc/posix-functions/shmat.texi index 12a3db91f..6ccc3bb50 100644 --- a/doc/posix-functions/shmat.texi +++ b/doc/posix-functions/shmat.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw, BeOS. +mingw, MSVC 9, BeOS. @item Attempts to @code{shmat} into a previously malloc-ed region fail on SunOS 4, with @code{errno} set to @code{EINVAL}, even if there is an @code{munmap} call diff --git a/doc/posix-functions/shmctl.texi b/doc/posix-functions/shmctl.texi index 6727de610..2a08f1f6c 100644 --- a/doc/posix-functions/shmctl.texi +++ b/doc/posix-functions/shmctl.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw, BeOS. +mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/shmdt.texi b/doc/posix-functions/shmdt.texi index 957440169..04d91d58c 100644 --- a/doc/posix-functions/shmdt.texi +++ b/doc/posix-functions/shmdt.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw, BeOS. +mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/shmget.texi b/doc/posix-functions/shmget.texi index e0c14de3f..0f4f16c2d 100644 --- a/doc/posix-functions/shmget.texi +++ b/doc/posix-functions/shmget.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw, BeOS. +mingw, MSVC 9, BeOS. @item On many platforms (not Linux), SHMMAX is so small that it is unusable for reasonable applications, and/or @code{shmget} requires superuser privileges. diff --git a/doc/posix-functions/sigaction.texi b/doc/posix-functions/sigaction.texi index 6a059a61c..b4db4037e 100644 --- a/doc/posix-functions/sigaction.texi +++ b/doc/posix-functions/sigaction.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @end itemize Portability problems not fixed by Gnulib: @@ -21,16 +21,16 @@ also be specified. @item Support for SA_ONSTACK is missing on some platforms: -mingw, cygwin. +mingw, MSVC 9, cygwin. @item Support for SA_SIGINFO is missing on some platforms: -mingw, Interix 3.5. +mingw, MSVC 9, Interix 3.5. @item Support for SIGCHLD, and thus for SA_NOCLDSTOP and SA_NOCLDWAIT, is missing on some platforms: -mingw. +mingw, MSVC 9. @item Support for SA_RESETHAND is missing on some platforms: @@ -38,7 +38,7 @@ NonStop. @item Support for SA_RESTART is missing on some platforms: -mingw, NonStop. +mingw, MSVC 9, NonStop. @item In spite of having SA_SIGACTION, struct sigaction lacks the diff --git a/doc/posix-functions/sigaddset.texi b/doc/posix-functions/sigaddset.texi index 163f94636..5b1a7aa9a 100644 --- a/doc/posix-functions/sigaddset.texi +++ b/doc/posix-functions/sigaddset.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/sigaltstack.texi b/doc/posix-functions/sigaltstack.texi index 0c0fd51ec..3b9ac06c9 100644 --- a/doc/posix-functions/sigaltstack.texi +++ b/doc/posix-functions/sigaltstack.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, Cygwin, mingw, Interix 3.5, BeOS. +Minix 3.1.8, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item @code{sigaltstack} doesn't work on HP-UX 11/IA-64 and OpenBSD 3.6/Sparc64. diff --git a/doc/posix-functions/sigdelset.texi b/doc/posix-functions/sigdelset.texi index fdd181412..b6938a5f8 100644 --- a/doc/posix-functions/sigdelset.texi +++ b/doc/posix-functions/sigdelset.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/sigemptyset.texi b/doc/posix-functions/sigemptyset.texi index 39b587e77..17a2d8ebe 100644 --- a/doc/posix-functions/sigemptyset.texi +++ b/doc/posix-functions/sigemptyset.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/sigfillset.texi b/doc/posix-functions/sigfillset.texi index d9e2f3aec..e1fa6b8c6 100644 --- a/doc/posix-functions/sigfillset.texi +++ b/doc/posix-functions/sigfillset.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/sighold.texi b/doc/posix-functions/sighold.texi index 1a8254ccb..a608e73a2 100644 --- a/doc/posix-functions/sighold.texi +++ b/doc/posix-functions/sighold.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 6.0, OpenBSD 3.8, Minix 3.1.8, mingw, BeOS. +FreeBSD 6.0, OpenBSD 3.8, Minix 3.1.8, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/sigignore.texi b/doc/posix-functions/sigignore.texi index 2b67332be..b19fca594 100644 --- a/doc/posix-functions/sigignore.texi +++ b/doc/posix-functions/sigignore.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.3, FreeBSD 6.0, OpenBSD 3.8, Minix 3.1.8, Cygwin 1.5.x, mingw, BeOS. +MacOS X 10.3, FreeBSD 6.0, OpenBSD 3.8, Minix 3.1.8, Cygwin 1.5.x, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/siginterrupt.texi b/doc/posix-functions/siginterrupt.texi index 2c3b039e6..7b867bac7 100644 --- a/doc/posix-functions/siginterrupt.texi +++ b/doc/posix-functions/siginterrupt.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, IRIX 5.3, Solaris 2.5.1, mingw, Interix 3.5, BeOS. +Minix 3.1.8, IRIX 5.3, Solaris 2.5.1, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize Note: POSIX recommends using @code{sigaction} with SA_RESTART instead of diff --git a/doc/posix-functions/sigismember.texi b/doc/posix-functions/sigismember.texi index f1b12072c..2f995fcca 100644 --- a/doc/posix-functions/sigismember.texi +++ b/doc/posix-functions/sigismember.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/siglongjmp.texi b/doc/posix-functions/siglongjmp.texi index d80dec08d..72de6c227 100644 --- a/doc/posix-functions/siglongjmp.texi +++ b/doc/posix-functions/siglongjmp.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, mingw. +Minix 3.1.8, mingw, MSVC 9. @item This is only provided as a macro on some platforms: diff --git a/doc/posix-functions/signal.texi b/doc/posix-functions/signal.texi index 3a32cc9c3..e6de69a4a 100644 --- a/doc/posix-functions/signal.texi +++ b/doc/posix-functions/signal.texi @@ -13,6 +13,9 @@ Portability problems fixed by Gnulib: Portability problems not fixed by Gnulib: @itemize @item +This function crashes when invoked with invalid arguments on some platforms: +MSVC 9. +@item On System V platforms, when the signal is triggered, the kernel uninstalls the handler (i.e.@: resets the signal's action to SIG_DFL) before invoking the handler. This opens the door to race conditions: undesired things happen diff --git a/doc/posix-functions/signbit.texi b/doc/posix-functions/signbit.texi index bd24ae807..ac8d4cc99 100644 --- a/doc/posix-functions/signbit.texi +++ b/doc/posix-functions/signbit.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, OpenBSD 3.8, AIX 5.1, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Interix 3.5. +MacOS X 10.5, OpenBSD 3.8, AIX 5.1, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, MSVC 9, Interix 3.5. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/signgam.texi b/doc/posix-functions/signgam.texi index c142ed959..a46aac87a 100644 --- a/doc/posix-functions/signgam.texi +++ b/doc/posix-functions/signgam.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This variable is missing on some platforms: -MacOS X 10.5, Minix 3.1.8, AIX 5.1, IRIX 6.5, OSF/1 5.1, mingw. +MacOS X 10.5, Minix 3.1.8, AIX 5.1, IRIX 6.5, OSF/1 5.1, mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/sigpause.texi b/doc/posix-functions/sigpause.texi index 89c02859d..2f1e13c30 100644 --- a/doc/posix-functions/sigpause.texi +++ b/doc/posix-functions/sigpause.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, mingw, BeOS. +Minix 3.1.8, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/sigpending.texi b/doc/posix-functions/sigpending.texi index 9555cf11c..402b0b5b0 100644 --- a/doc/posix-functions/sigpending.texi +++ b/doc/posix-functions/sigpending.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/sigprocmask.texi b/doc/posix-functions/sigprocmask.texi index d614b124e..e649b011c 100644 --- a/doc/posix-functions/sigprocmask.texi +++ b/doc/posix-functions/sigprocmask.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/sigqueue.texi b/doc/posix-functions/sigqueue.texi index 7af0f1bb4..b9a73a6b8 100644 --- a/doc/posix-functions/sigqueue.texi +++ b/doc/posix-functions/sigqueue.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, Solaris 2.4, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, Solaris 2.4, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/sigrelse.texi b/doc/posix-functions/sigrelse.texi index 0b74874c7..63732ef6a 100644 --- a/doc/posix-functions/sigrelse.texi +++ b/doc/posix-functions/sigrelse.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 6.0, OpenBSD 3.8, Minix 3.1.8, mingw, BeOS. +FreeBSD 6.0, OpenBSD 3.8, Minix 3.1.8, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/sigset.texi b/doc/posix-functions/sigset.texi index cba31eff8..9e05eaaab 100644 --- a/doc/posix-functions/sigset.texi +++ b/doc/posix-functions/sigset.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.3, FreeBSD 6.0, OpenBSD 3.8, Minix 3.1.8, Cygwin 1.5.x, mingw, BeOS. +MacOS X 10.3, FreeBSD 6.0, OpenBSD 3.8, Minix 3.1.8, Cygwin 1.5.x, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/sigsetjmp.texi b/doc/posix-functions/sigsetjmp.texi index 8befbcf6c..a7e995d5b 100644 --- a/doc/posix-functions/sigsetjmp.texi +++ b/doc/posix-functions/sigsetjmp.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, mingw. +Minix 3.1.8, mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/sigsuspend.texi b/doc/posix-functions/sigsuspend.texi index 8d0a1177d..e3ce82fa7 100644 --- a/doc/posix-functions/sigsuspend.texi +++ b/doc/posix-functions/sigsuspend.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/sigtimedwait.texi b/doc/posix-functions/sigtimedwait.texi index 9f18668b8..ebd01c800 100644 --- a/doc/posix-functions/sigtimedwait.texi +++ b/doc/posix-functions/sigtimedwait.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, OpenBSD 3.8, Minix 3.1.8, Solaris 2.4, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, OpenBSD 3.8, Minix 3.1.8, Solaris 2.4, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item Linux implements the meaning of NULL timeout by doing what @code{sigwaitinfo} does; other platforms may not do the same. diff --git a/doc/posix-functions/sigwait.texi b/doc/posix-functions/sigwait.texi index 752330e95..5adf885fd 100644 --- a/doc/posix-functions/sigwait.texi +++ b/doc/posix-functions/sigwait.texi @@ -17,7 +17,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, mingw, BeOS. +Minix 3.1.8, mingw, MSVC 9, BeOS. @item On Linux/glibc platforms before the advent of NPTL, signals could only be sent to one particular thread. In POSIX, signals are sent to the entire diff --git a/doc/posix-functions/sigwaitinfo.texi b/doc/posix-functions/sigwaitinfo.texi index 2212e124c..e79c38f76 100644 --- a/doc/posix-functions/sigwaitinfo.texi +++ b/doc/posix-functions/sigwaitinfo.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, OpenBSD 3.8, Minix 3.1.8, Solaris 2.4, mingw, Interix 3.5, BeOS. +MacOS X 10.5, OpenBSD 3.8, Minix 3.1.8, Solaris 2.4, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/sinf.texi b/doc/posix-functions/sinf.texi index bca709e5d..db4db150a 100644 --- a/doc/posix-functions/sinf.texi +++ b/doc/posix-functions/sinf.texi @@ -4,15 +4,18 @@ POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/sinf.html} -Gnulib module: --- +Gnulib module: sinf Portability problems fixed by Gnulib: @itemize +@item +This function is missing on some platforms: +Minix 3.1.8, AIX 5.1, Solaris 9. +@item +This function is only defined as a macro with arguments on some platforms: +MSVC 9. @end itemize Portability problems not fixed by Gnulib: @itemize -@item -This function is missing on some platforms: -Minix 3.1.8, AIX 5.1, Solaris 9. @end itemize diff --git a/doc/posix-functions/sinhf.texi b/doc/posix-functions/sinhf.texi index 5be18a695..0d9a1dd7b 100644 --- a/doc/posix-functions/sinhf.texi +++ b/doc/posix-functions/sinhf.texi @@ -4,15 +4,18 @@ POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/sinhf.html} -Gnulib module: --- +Gnulib module: sinhf Portability problems fixed by Gnulib: @itemize +@item +This function is missing on some platforms: +Minix 3.1.8, AIX 5.1, Solaris 9. +@item +This function is only defined as a macro with arguments on some platforms: +MSVC 9. @end itemize Portability problems not fixed by Gnulib: @itemize -@item -This function is missing on some platforms: -Minix 3.1.8, AIX 5.1, Solaris 9. @end itemize diff --git a/doc/posix-functions/sinhl.texi b/doc/posix-functions/sinhl.texi index 0ee4b4e36..278b0f86f 100644 --- a/doc/posix-functions/sinhl.texi +++ b/doc/posix-functions/sinhl.texi @@ -15,4 +15,7 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 9, Cygwin, Interix 3.5, BeOS. +@item +This function is only defined as a macro with arguments on some platforms: +MSVC 9. @end itemize diff --git a/doc/posix-functions/sinl.texi b/doc/posix-functions/sinl.texi index 405736096..562a34fa0 100644 --- a/doc/posix-functions/sinl.texi +++ b/doc/posix-functions/sinl.texi @@ -12,6 +12,9 @@ Portability problems fixed by Gnulib: This function is missing on some platforms: FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 9, Cygwin, Interix 3.5, BeOS. @item +This function is only defined as a macro with arguments on some platforms: +MSVC 9. +@item This function is not declared on some platforms: MacOS X 10.3. @end itemize diff --git a/doc/posix-functions/sleep.texi b/doc/posix-functions/sleep.texi index 29f600519..535bf667b 100644 --- a/doc/posix-functions/sleep.texi +++ b/doc/posix-functions/sleep.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw (2005 or newer). +mingw (2005 or newer), MSVC 9. @item This function takes milliseconds as argument and returns @code{void} on some platforms: diff --git a/doc/posix-functions/snprintf.texi b/doc/posix-functions/snprintf.texi index 4e7a2941b..14ad3816c 100644 --- a/doc/posix-functions/snprintf.texi +++ b/doc/posix-functions/snprintf.texi @@ -10,7 +10,7 @@ Portability problems fixed by either Gnulib module @code{snprintf} or @code{snpr @itemize @item This function is missing on some platforms: -IRIX 5.3, OSF/1 4.0, Solaris 2.5.1. +IRIX 5.3, OSF/1 4.0, Solaris 2.5.1, MSVC 9. @item This function does not support format directives that access arguments in an arbitrary order, such as @code{"%2$s"}, on some platforms: @@ -30,23 +30,26 @@ Portability problems fixed by Gnulib module @code{snprintf-posix}: @item This function does not support size specifiers as in C99 (@code{hh}, @code{ll}, @code{j}, @code{t}, @code{z}) on some platforms: -AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 1.5.24, mingw, BeOS. +AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 1.5.24, mingw, MSVC 9, BeOS. @item printf of @samp{long double} numbers is unsupported on some platforms: -mingw, BeOS. +mingw, MSVC 9, BeOS. @item printf @code{"%f"}, @code{"%e"}, @code{"%g"} of Infinity and NaN yields an incorrect result on some platforms: -AIX 5.2, OSF/1 5.1, Solaris 11 2010-11, mingw. +AIX 5.2, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9. @item This function does not support the @samp{a} and @samp{A} directives on some platforms: glibc-2.3.6, MacOS X 10.5, NetBSD 5.0, OpenBSD 4.0, AIX 5.2, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, BeOS. +IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9, BeOS. @item This function does not support the @samp{F} directive on some platforms: NetBSD 3.0, AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, -Cygwin 1.5.x, mingw, BeOS. +Cygwin 1.5.x, mingw, MSVC 9, BeOS. +@item +This function does not support the @samp{n} directive on some platforms: +MSVC 9. @item This function does not support the @samp{ls} directive on some platforms: OpenBSD 4.0, IRIX 6.5, Solaris 2.6, Cygwin 1.5.x, Haiku. @@ -56,7 +59,7 @@ on some platforms: Solaris 11 2010-11. @item This function doesn't support the @code{'} flag on some platforms: -NetBSD 3.0, Cygwin 1.5.24, mingw. +NetBSD 3.0, Cygwin 1.5.24, mingw, MSVC 9. @item This function behaves incorrectly when a @samp{-} flag and a negative width are specified together, on some platforms: @@ -64,11 +67,11 @@ HP-UX 10.20. @item printf @code{"%010f"} of NaN and Infinity yields an incorrect result (padded with zeroes) on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, AIX 5.2, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, AIX 5.2, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9. @item This function does not support precisions larger than 512 or 1024 in integer, floating-point and pointer output on some platforms: -AIX 7.1, Solaris 10/x86, mingw, BeOS. +AIX 7.1, Solaris 10/x86, mingw, MSVC 9, BeOS. @item This function mishandles large floating point precisions (for example, formatting 1.0 with @samp{"%.511f"}) @@ -79,10 +82,10 @@ This function can crash in out-of-memory conditions on some platforms: MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0. @item This function does not truncate the result as specified in C99 on some platforms: -mingw. +mingw, MSVC 9. @item This function does not fully support the @samp{n} directive on some platforms: -HP-UX 11, mingw. +HP-UX 11, mingw, MSVC 9. @item This function overwrites memory even when a zero size argument is passed on some platforms: diff --git a/doc/posix-functions/sockatmark.texi b/doc/posix-functions/sockatmark.texi index 28581d0b6..d6ddf9345 100644 --- a/doc/posix-functions/sockatmark.texi +++ b/doc/posix-functions/sockatmark.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.4, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.4, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/socketpair.texi b/doc/posix-functions/socketpair.texi index 71b9aece3..7e5766d82 100644 --- a/doc/posix-functions/socketpair.texi +++ b/doc/posix-functions/socketpair.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw, BeOS. +mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/sprintf.texi b/doc/posix-functions/sprintf.texi index e20811942..8c0529f07 100644 --- a/doc/posix-functions/sprintf.texi +++ b/doc/posix-functions/sprintf.texi @@ -11,23 +11,26 @@ Portability problems fixed by Gnulib: @item This function does not support size specifiers as in C99 (@code{hh}, @code{ll}, @code{j}, @code{t}, @code{z}) on some platforms: -AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 1.5.24, mingw, BeOS. +AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 1.5.24, mingw, MSVC 9, BeOS. @item printf of @samp{long double} numbers is unsupported on some platforms: -mingw, BeOS. +mingw, MSVC 9, BeOS. @item printf @code{"%f"}, @code{"%e"}, @code{"%g"} of Infinity and NaN yields an incorrect result on some platforms: -AIX 5.2, OSF/1 5.1, Solaris 11 2010-11, mingw. +AIX 5.2, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9. @item This function does not support the @samp{a} and @samp{A} directives on some platforms: glibc-2.3.6, MacOS X 10.5, NetBSD 5.0, OpenBSD 4.0, AIX 5.2, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, BeOS. +IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9, BeOS. @item This function does not support the @samp{F} directive on some platforms: NetBSD 3.0, AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, -Cygwin 1.5.x, mingw, BeOS. +Cygwin 1.5.x, mingw, MSVC 9, BeOS. +@item +This function does not support the @samp{n} directive on some platforms: +MSVC 9. @item This function does not support the @samp{ls} directive on some platforms: OpenBSD 4.0, IRIX 6.5, Solaris 2.6, Cygwin 1.5.x, Haiku. @@ -38,10 +41,10 @@ Solaris 11 2010-11. @item This function does not support format directives that access arguments in an arbitrary order, such as @code{"%2$s"}, on some platforms: -NetBSD 3.0, mingw, BeOS. +NetBSD 3.0, mingw, MSVC 9, BeOS. @item This function doesn't support the @code{'} flag on some platforms: -NetBSD 3.0, Cygwin 1.5.24, mingw. +NetBSD 3.0, Cygwin 1.5.24, mingw, MSVC 9. @item This function behaves incorrectly when a @samp{-} flag and a negative width are specified together, on some platforms: @@ -49,11 +52,11 @@ HP-UX 10.20. @item printf @code{"%010f"} of NaN and Infinity yields an incorrect result (padded with zeroes) on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, AIX 5.2, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, AIX 5.2, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9. @item This function does not support precisions larger than 512 or 1024 in integer, floating-point and pointer output on some platforms: -AIX 7.1, Solaris 10/x86, mingw, BeOS. +AIX 7.1, Solaris 10/x86, mingw, MSVC 9, BeOS. @item This function mishandles large floating point precisions (for example, formatting 1.0 with @samp{"%.511f"}) diff --git a/doc/posix-functions/sqrtf.texi b/doc/posix-functions/sqrtf.texi index 3699ade6b..89198e8e7 100644 --- a/doc/posix-functions/sqrtf.texi +++ b/doc/posix-functions/sqrtf.texi @@ -4,15 +4,18 @@ POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/sqrtf.html} -Gnulib module: --- +Gnulib module: sqrtf Portability problems fixed by Gnulib: @itemize +@item +This function is missing on some platforms: +Minix 3.1.8, AIX 5.1, Solaris 9. +@item +This function is only defined as a macro with arguments on some platforms: +MSVC 9. @end itemize Portability problems not fixed by Gnulib: @itemize -@item -This function is missing on some platforms: -Minix 3.1.8, AIX 5.1, Solaris 9. @end itemize diff --git a/doc/posix-functions/sqrtl.texi b/doc/posix-functions/sqrtl.texi index 908941d53..28f4dd063 100644 --- a/doc/posix-functions/sqrtl.texi +++ b/doc/posix-functions/sqrtl.texi @@ -12,6 +12,9 @@ Portability problems fixed by Gnulib: This function is missing on some platforms: FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 9, Cygwin, Interix 3.5, BeOS. @item +This function is only defined as a macro with arguments on some platforms: +MSVC 9. +@item This function is not declared on some platforms: MacOS X 10.3. @end itemize diff --git a/doc/posix-functions/srand48.texi b/doc/posix-functions/srand48.texi index 247110afa..48850e3e1 100644 --- a/doc/posix-functions/srand48.texi +++ b/doc/posix-functions/srand48.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, mingw. +Minix 3.1.8, mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/srandom.texi b/doc/posix-functions/srandom.texi index ad30d2fc9..23d6f0d95 100644 --- a/doc/posix-functions/srandom.texi +++ b/doc/posix-functions/srandom.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Solaris 2.4, mingw. +Solaris 2.4, mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/stat.texi b/doc/posix-functions/stat.texi index 18303f6b1..09c383931 100644 --- a/doc/posix-functions/stat.texi +++ b/doc/posix-functions/stat.texi @@ -19,7 +19,7 @@ FreeBSD 7.2, AIX 7.1, Solaris 9. @item On some platforms, @code{stat(".",buf)} and @code{stat("./",buf)} give different results: -mingw. +mingw, MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/statvfs.texi b/doc/posix-functions/statvfs.texi index d0133555b..6d312618b 100644 --- a/doc/posix-functions/statvfs.texi +++ b/doc/posix-functions/statvfs.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.3, OpenBSD 3.8, mingw. +MacOS X 10.3, OpenBSD 3.8, mingw, MSVC 9. @item On platforms where @code{f_blocks} in @samp{struct statvfs} is a 32-bit value, this function may not work correctly on files systems larger than diff --git a/doc/posix-functions/stpcpy.texi b/doc/posix-functions/stpcpy.texi index b0de39f72..def3f03e2 100644 --- a/doc/posix-functions/stpcpy.texi +++ b/doc/posix-functions/stpcpy.texi @@ -11,7 +11,7 @@ Portability problems fixed by Gnulib: @item This function is missing on some platforms: NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 4.3.2, HP-UX 11, IRIX 6.5, OSF/1 5.1, -Solaris 10, Cygwin 1.5.x, mingw, Interix 3.5. +Solaris 10, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/stpncpy.texi b/doc/posix-functions/stpncpy.texi index bb8b1dff1..076c9d6f0 100644 --- a/doc/posix-functions/stpncpy.texi +++ b/doc/posix-functions/stpncpy.texi @@ -11,7 +11,7 @@ Portability problems fixed by Gnulib: @item This function is missing on some platforms: MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 4.3.2, -HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. @item This function has an incompatible return value on some platforms: AIX 5.1. diff --git a/doc/posix-functions/strcasecmp.texi b/doc/posix-functions/strcasecmp.texi index ba44de80e..c56e395a9 100644 --- a/doc/posix-functions/strcasecmp.texi +++ b/doc/posix-functions/strcasecmp.texi @@ -9,7 +9,8 @@ Gnulib module: strcase Portability problems fixed by Gnulib: @itemize @item -This function is missing on some old platforms. +This function is missing on some platforms: +MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/strcasecmp_l.texi b/doc/posix-functions/strcasecmp_l.texi index 87f1435f2..8007c9e95 100644 --- a/doc/posix-functions/strcasecmp_l.texi +++ b/doc/posix-functions/strcasecmp_l.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/strcoll_l.texi b/doc/posix-functions/strcoll_l.texi index 0e45ffa2a..bb44f3910 100644 --- a/doc/posix-functions/strcoll_l.texi +++ b/doc/posix-functions/strcoll_l.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/strdup.texi b/doc/posix-functions/strdup.texi index 6988cc2a7..f654a3ce8 100644 --- a/doc/posix-functions/strdup.texi +++ b/doc/posix-functions/strdup.texi @@ -19,7 +19,7 @@ Portability problems fixed by Gnulib module @code{strdup-posix}: @item Upon failure, the function does not set @code{errno} to @code{ENOMEM} on some platforms: -mingw. +mingw, MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/strerror.texi b/doc/posix-functions/strerror.texi index 21fc99065..50b145544 100644 --- a/doc/posix-functions/strerror.texi +++ b/doc/posix-functions/strerror.texi @@ -11,7 +11,7 @@ Portability problems fixed by Gnulib: @item This function does not support the error values that are specified by POSIX but not defined by the system, on some platforms: -OpenBSD 4.0, OSF/1 5.1, NonStop Kernel, Cygwin 1.5.x, mingw. +OpenBSD 4.0, OSF/1 5.1, NonStop Kernel, Cygwin 1.5.x, mingw, MSVC 9. @item This function reports failure for @code{strerror(0)} (by setting @code{errno} or using a string similar to out-of-range values), diff --git a/doc/posix-functions/strerror_l.texi b/doc/posix-functions/strerror_l.texi index e1fbe72cf..7ae8637bf 100644 --- a/doc/posix-functions/strerror_l.texi +++ b/doc/posix-functions/strerror_l.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/strerror_r.texi b/doc/posix-functions/strerror_r.texi index a368d6aff..658e0811e 100644 --- a/doc/posix-functions/strerror_r.texi +++ b/doc/posix-functions/strerror_r.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -NetBSD 3.0, Minix 3.1.8, HP-UX 11.23, IRIX 6.5, Solaris 9, mingw. +NetBSD 3.0, Minix 3.1.8, HP-UX 11.23, IRIX 6.5, Solaris 9, mingw, MSVC 9. @item glibc and Cygwin have an incompatible version of this function. The POSIX compliant code diff --git a/doc/posix-functions/strfmon.texi b/doc/posix-functions/strfmon.texi index 39ea6e67e..706b948b7 100644 --- a/doc/posix-functions/strfmon.texi +++ b/doc/posix-functions/strfmon.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, IRIX 5.3, Cygwin 1.7.1, mingw, BeOS. +NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, IRIX 5.3, Cygwin 1.7.1, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/strfmon_l.texi b/doc/posix-functions/strfmon_l.texi index be9314372..9037158cd 100644 --- a/doc/posix-functions/strfmon_l.texi +++ b/doc/posix-functions/strfmon_l.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/strftime_l.texi b/doc/posix-functions/strftime_l.texi index 0ddca627e..8345b7c33 100644 --- a/doc/posix-functions/strftime_l.texi +++ b/doc/posix-functions/strftime_l.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/strncasecmp.texi b/doc/posix-functions/strncasecmp.texi index 28ed864dc..551bf6cd9 100644 --- a/doc/posix-functions/strncasecmp.texi +++ b/doc/posix-functions/strncasecmp.texi @@ -9,7 +9,8 @@ Gnulib module: strcase Portability problems fixed by Gnulib: @itemize @item -This function is missing on some old platforms. +This function is missing on some platforms: +MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/strncasecmp_l.texi b/doc/posix-functions/strncasecmp_l.texi index 761656a78..330e390a7 100644 --- a/doc/posix-functions/strncasecmp_l.texi +++ b/doc/posix-functions/strncasecmp_l.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/strndup.texi b/doc/posix-functions/strndup.texi index 06ce9d851..d8caae07d 100644 --- a/doc/posix-functions/strndup.texi +++ b/doc/posix-functions/strndup.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 4.3.2, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 4.3.2, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, MSVC 9, Interix 3.5, BeOS. @item This function does not NUL-terminate the result on some platforms: AIX 5.1. diff --git a/doc/posix-functions/strptime.texi b/doc/posix-functions/strptime.texi index 03a1d9d68..0b789cc70 100644 --- a/doc/posix-functions/strptime.texi +++ b/doc/posix-functions/strptime.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -IRIX 5.3, mingw, BeOS. +IRIX 5.3, mingw, MSVC 9, BeOS. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/strsignal.texi b/doc/posix-functions/strsignal.texi index d715d9df8..9b277bbd7 100644 --- a/doc/posix-functions/strsignal.texi +++ b/doc/posix-functions/strsignal.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, AIX 4.3.2, HP-UX 11, IRIX 6.5, OSF/1 5.1, mingw. +Minix 3.1.8, AIX 4.3.2, HP-UX 11, IRIX 6.5, OSF/1 5.1, mingw, MSVC 9. @item This function does not return a string for out-of-range numbers on diff --git a/doc/posix-functions/strstr.texi b/doc/posix-functions/strstr.texi index 6dec3d750..4fbc24ac2 100644 --- a/doc/posix-functions/strstr.texi +++ b/doc/posix-functions/strstr.texi @@ -24,7 +24,7 @@ Portability problems fixed by Gnulib @code{strstr}: This function has quadratic instead of linear worst-case complexity on some platforms: glibc 2.8, MacOS X 10.5, FreeBSD 6.2, NetBSD 5.0, OpenBSD 4.0, AIX -5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw. +5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/strtod.texi b/doc/posix-functions/strtod.texi index 4f8f08bdb..69505db66 100644 --- a/doc/posix-functions/strtod.texi +++ b/doc/posix-functions/strtod.texi @@ -36,16 +36,16 @@ IRIX 6.5, OSF/1 4.0. @item This function fails to parse Infinities and plain NaNs on some platforms: -OpenBSD 4.0, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, Solaris 9, mingw. +OpenBSD 4.0, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, Solaris 9, mingw, MSVC 9. @item This function fails to parse @samp{NaN()} on some platforms: -glibc-2.3.6, MacOS X 10.5, FreeBSD 6.2, OpenBSD 4.0, AIX 7.1, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, Cygwin < 1.5.25-11, mingw. +glibc-2.3.6, MacOS X 10.5, FreeBSD 6.2, OpenBSD 4.0, AIX 7.1, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, Cygwin < 1.5.25-11, mingw, MSVC 9. @item This function fails to parse @samp{NaN(@var{n-char-sequence})} on some platforms: -OpenBSD 4.0, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, mingw. +OpenBSD 4.0, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, mingw, MSVC 9. @item This function parses @samp{NaN(@var{n-char-sequence})}, but returns @@ -56,7 +56,7 @@ glibc-2.4, AIX 7.1. This function fails to parse C99 hexadecimal floating point on some platforms: NetBSD 5.0, OpenBSD 4.0, AIX 5.1, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, -Solaris 11 2010-11, mingw. +Solaris 11 2010-11, mingw, MSVC 9. @item This function returns the wrong end pointer for @samp{0x1p} on some @@ -75,17 +75,17 @@ Portability problems not fixed by Gnulib: @item This function returns +0.0 (not -0.0) for negative underflow on some platforms: -glibc 2.7, Cygwin 1.5.x, mingw. +glibc 2.7, Cygwin 1.5.x, mingw, MSVC 9. @item This function cannot distinguish between ``nan'' and ``-nan'' on some platforms: -glibc 2.7, IRIX 6.5, OSF/1 5.1, mingw. +glibc 2.7, IRIX 6.5, OSF/1 5.1, mingw, MSVC 9. @item This function fails to correctly parse very long strings on some platforms: -MacOS X 10.5, FreeBSD 6.2, NetBSD 5.0, OpenBSD 4.0, IRIX 6.5, OSF/1 5.1, Cygwin, mingw. +MacOS X 10.5, FreeBSD 6.2, NetBSD 5.0, OpenBSD 4.0, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, MSVC 9. @item The replacement function does not always return correctly rounded results. diff --git a/doc/posix-functions/strtof.texi b/doc/posix-functions/strtof.texi index 0f5b181a6..5c6f23123 100644 --- a/doc/posix-functions/strtof.texi +++ b/doc/posix-functions/strtof.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Interix 3.5, BeOS. +NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/strtoimax.texi b/doc/posix-functions/strtoimax.texi index 3c26b33a5..00779718b 100644 --- a/doc/posix-functions/strtoimax.texi +++ b/doc/posix-functions/strtoimax.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -OpenBSD 3.8, Minix 3.1.8, AIX 4.3.2, IRIX 6.5, OSF/1 5.1, Solaris 9, Interix 3.5. +OpenBSD 3.8, Minix 3.1.8, AIX 4.3.2, IRIX 6.5, OSF/1 5.1, Solaris 9, MSVC 9, Interix 3.5. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/strtok_r.texi b/doc/posix-functions/strtok_r.texi index 2c0b16311..f84155a05 100644 --- a/doc/posix-functions/strtok_r.texi +++ b/doc/posix-functions/strtok_r.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @item This function crashes when invoked from code compiled with optimization enabled on some platforms: diff --git a/doc/posix-functions/strtold.texi b/doc/posix-functions/strtold.texi index 75d10d4a7..b450befa6 100644 --- a/doc/posix-functions/strtold.texi +++ b/doc/posix-functions/strtold.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, Interix 3.5, BeOS. +NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/strtoll.texi b/doc/posix-functions/strtoll.texi index ea949343d..979755c5a 100644 --- a/doc/posix-functions/strtoll.texi +++ b/doc/posix-functions/strtoll.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -HP-UX 11.11, OSF/1 5.1, Interix 3.5. +HP-UX 11.11, OSF/1 5.1, MSVC 9, Interix 3.5. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/strtoull.texi b/doc/posix-functions/strtoull.texi index ed79497e1..bb0e987da 100644 --- a/doc/posix-functions/strtoull.texi +++ b/doc/posix-functions/strtoull.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -HP-UX 11.11, OSF/1 5.1, Interix 3.5. +HP-UX 11.11, OSF/1 5.1, MSVC 9, Interix 3.5. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/strtoumax.texi b/doc/posix-functions/strtoumax.texi index 9a8097d6b..dfa7ff50a 100644 --- a/doc/posix-functions/strtoumax.texi +++ b/doc/posix-functions/strtoumax.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -OpenBSD 3.8, Minix 3.1.8, AIX 5.1, IRIX 6.5, OSF/1 5.1, Solaris 9, Interix 3.5. +OpenBSD 3.8, Minix 3.1.8, AIX 5.1, IRIX 6.5, OSF/1 5.1, Solaris 9, MSVC 9, Interix 3.5. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/strxfrm_l.texi b/doc/posix-functions/strxfrm_l.texi index deb9bbea3..dc3016276 100644 --- a/doc/posix-functions/strxfrm_l.texi +++ b/doc/posix-functions/strxfrm_l.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/swprintf.texi b/doc/posix-functions/swprintf.texi index d8ecba46a..15640fd91 100644 --- a/doc/posix-functions/swprintf.texi +++ b/doc/posix-functions/swprintf.texi @@ -16,6 +16,9 @@ Portability problems not fixed by Gnulib: This function is missing on some platforms: NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11.00, IRIX 6.5, Solaris 2.6, Cygwin 1.5.x, Interix 3.5, BeOS. @item +This function does not support the @samp{n} directive on some platforms: +MSVC 9. +@item On AIX and Windows platforms, @code{wchar_t} is a 16-bit type and therefore cannot accommodate all Unicode characters. @item diff --git a/doc/posix-functions/symlink.texi b/doc/posix-functions/symlink.texi index bc119c052..c7ef715b2 100644 --- a/doc/posix-functions/symlink.texi +++ b/doc/posix-functions/symlink.texi @@ -15,7 +15,7 @@ FreeBSD 7.2, AIX 7.1, Solaris 9. @item This function is missing on some platforms; however, the replacement always fails with @code{EPERM}: -mingw. +mingw, MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/symlinkat.texi b/doc/posix-functions/symlinkat.texi index 1ab728622..6baac2b9f 100644 --- a/doc/posix-functions/symlinkat.texi +++ b/doc/posix-functions/symlinkat.texi @@ -11,7 +11,7 @@ Portability problems fixed by Gnulib: @item This function is missing on some platforms: glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, -AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. But the replacement function is not safe to be used in libraries and is not multithread-safe. @item Some platforms declare this function in @code{stdio.h} instead of @@ -24,5 +24,5 @@ Portability problems not fixed by Gnulib: @item This function always fails with @samp{ENOSYS} on platforms that don't support symlinks: -mingw +mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/sync.texi b/doc/posix-functions/sync.texi index d56ad85dc..d0511f79a 100644 --- a/doc/posix-functions/sync.texi +++ b/doc/posix-functions/sync.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw, Interix 3.5. +mingw, MSVC 9, Interix 3.5. @end itemize diff --git a/doc/posix-functions/sysconf.texi b/doc/posix-functions/sysconf.texi index c615c91ca..e72554ceb 100644 --- a/doc/posix-functions/sysconf.texi +++ b/doc/posix-functions/sysconf.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/syslog.texi b/doc/posix-functions/syslog.texi index 28e2f6237..028ecd412 100644 --- a/doc/posix-functions/syslog.texi +++ b/doc/posix-functions/syslog.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw, BeOS. +mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/tanf.texi b/doc/posix-functions/tanf.texi index a219ece54..ede60fcd6 100644 --- a/doc/posix-functions/tanf.texi +++ b/doc/posix-functions/tanf.texi @@ -4,15 +4,18 @@ POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/tanf.html} -Gnulib module: --- +Gnulib module: tanf Portability problems fixed by Gnulib: @itemize +@item +This function is missing on some platforms: +Minix 3.1.8, AIX 5.1, Solaris 9. +@item +This function is only defined as a macro with arguments on some platforms: +MSVC 9. @end itemize Portability problems not fixed by Gnulib: @itemize -@item -This function is missing on some platforms: -Minix 3.1.8, AIX 5.1, Solaris 9. @end itemize diff --git a/doc/posix-functions/tanhf.texi b/doc/posix-functions/tanhf.texi index 7d970edd8..6c7369548 100644 --- a/doc/posix-functions/tanhf.texi +++ b/doc/posix-functions/tanhf.texi @@ -4,15 +4,18 @@ POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/tanhf.html} -Gnulib module: --- +Gnulib module: tanhf Portability problems fixed by Gnulib: @itemize +@item +This function is missing on some platforms: +Minix 3.1.8, AIX 5.1, Solaris 9. +@item +This function is only defined as a macro with arguments on some platforms: +MSVC 9. @end itemize Portability problems not fixed by Gnulib: @itemize -@item -This function is missing on some platforms: -Minix 3.1.8, AIX 5.1, Solaris 9. @end itemize diff --git a/doc/posix-functions/tanhl.texi b/doc/posix-functions/tanhl.texi index 6373ffef2..be0be926e 100644 --- a/doc/posix-functions/tanhl.texi +++ b/doc/posix-functions/tanhl.texi @@ -15,4 +15,7 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 9, Cygwin, Interix 3.5, BeOS. +@item +This function is only defined as a macro with arguments on some platforms: +MSVC 9. @end itemize diff --git a/doc/posix-functions/tanl.texi b/doc/posix-functions/tanl.texi index 44b74c291..50de7bbbf 100644 --- a/doc/posix-functions/tanl.texi +++ b/doc/posix-functions/tanl.texi @@ -12,6 +12,9 @@ Portability problems fixed by Gnulib: This function is missing on some platforms: FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 9, Cygwin, Interix 3.5, BeOS. @item +This function is only defined as a macro with arguments on some platforms: +MSVC 9. +@item This function is not declared on some platforms: MacOS X 10.3. @end itemize diff --git a/doc/posix-functions/tcdrain.texi b/doc/posix-functions/tcdrain.texi index 1ce249fa2..730ca5d99 100644 --- a/doc/posix-functions/tcdrain.texi +++ b/doc/posix-functions/tcdrain.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @item On some platforms, @code{tcdrain} on a non-tty fails with @code{errno} set to @code{EINVAL} or, on MacOS X, also @code{EOPNOTSUPP} or @code{ENODEV}, rather diff --git a/doc/posix-functions/tcflow.texi b/doc/posix-functions/tcflow.texi index 3e38a0e77..69108c32a 100644 --- a/doc/posix-functions/tcflow.texi +++ b/doc/posix-functions/tcflow.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/tcflush.texi b/doc/posix-functions/tcflush.texi index 2781ecfee..d5e09d8b5 100644 --- a/doc/posix-functions/tcflush.texi +++ b/doc/posix-functions/tcflush.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @item On some platforms, @code{tcflush} of @code{TCIFLUSH} on a non-tty fails with errno set to @code{EINVAL} rather than @code{ENOTTY}. diff --git a/doc/posix-functions/tcgetattr.texi b/doc/posix-functions/tcgetattr.texi index cde63cea8..8d55685e2 100644 --- a/doc/posix-functions/tcgetattr.texi +++ b/doc/posix-functions/tcgetattr.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/tcgetpgrp.texi b/doc/posix-functions/tcgetpgrp.texi index 3f3bb3f2d..b91af82df 100644 --- a/doc/posix-functions/tcgetpgrp.texi +++ b/doc/posix-functions/tcgetpgrp.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, mingw. +Minix 3.1.8, mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/tcgetsid.texi b/doc/posix-functions/tcgetsid.texi index fa93aeaae..46e07ca12 100644 --- a/doc/posix-functions/tcgetsid.texi +++ b/doc/posix-functions/tcgetsid.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.3, FreeBSD 6.0, OpenBSD 4.5, Minix 3.1.8, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.3, FreeBSD 6.0, OpenBSD 4.5, Minix 3.1.8, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item This function is not declared on some platforms: OSF/1 5.1. @@ -24,5 +24,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function always fails on some platforms: -FreeBSD 6.0, Cygwin, mingw, Interix 3.5, BeOS. +FreeBSD 6.0, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/tcsendbreak.texi b/doc/posix-functions/tcsendbreak.texi index ba508aa3e..b6eea5ac3 100644 --- a/doc/posix-functions/tcsendbreak.texi +++ b/doc/posix-functions/tcsendbreak.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/tcsetattr.texi b/doc/posix-functions/tcsetattr.texi index aa139f802..f40f1241b 100644 --- a/doc/posix-functions/tcsetattr.texi +++ b/doc/posix-functions/tcsetattr.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/tcsetpgrp.texi b/doc/posix-functions/tcsetpgrp.texi index 5237cbbe4..7c9184e83 100644 --- a/doc/posix-functions/tcsetpgrp.texi +++ b/doc/posix-functions/tcsetpgrp.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, mingw. +Minix 3.1.8, mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/tdelete.texi b/doc/posix-functions/tdelete.texi index 7e1dc0b3c..60894d08d 100644 --- a/doc/posix-functions/tdelete.texi +++ b/doc/posix-functions/tdelete.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, mingw, BeOS. +Minix 3.1.8, mingw, MSVC 9, BeOS. @item @code{tdelete} returns @code{NULL} when removing the last element of a tree on some platforms: diff --git a/doc/posix-functions/telldir.texi b/doc/posix-functions/telldir.texi index 88b19080b..1b46b057c 100644 --- a/doc/posix-functions/telldir.texi +++ b/doc/posix-functions/telldir.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -BeOS. +MSVC 9, BeOS. @item On platforms where @code{long int} is a 32-bit type, this function may not work correctly on huge directories larger than 2 GB. The fix is to use diff --git a/doc/posix-functions/tfind.texi b/doc/posix-functions/tfind.texi index 3d189932f..848f74747 100644 --- a/doc/posix-functions/tfind.texi +++ b/doc/posix-functions/tfind.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, mingw, BeOS. +Minix 3.1.8, mingw, MSVC 9, BeOS. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/tgamma.texi b/doc/posix-functions/tgamma.texi index a1f36b1f5..a5720df1b 100644 --- a/doc/posix-functions/tgamma.texi +++ b/doc/posix-functions/tgamma.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Interix 3.5, BeOS. +NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/tgammaf.texi b/doc/posix-functions/tgammaf.texi index db5b87e7c..8d631fb86 100644 --- a/doc/posix-functions/tgammaf.texi +++ b/doc/posix-functions/tgammaf.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Interix 3.5, BeOS. +FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/tgammal.texi b/doc/posix-functions/tgammal.texi index babb36869..bdb6111eb 100644 --- a/doc/posix-functions/tgammal.texi +++ b/doc/posix-functions/tgammal.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, Interix 3.5, BeOS. +FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/timer_create.texi b/doc/posix-functions/timer_create.texi index bd0e4fc45..8c2dc6343 100644 --- a/doc/posix-functions/timer_create.texi +++ b/doc/posix-functions/timer_create.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.4, Minix 3.1.8, IRIX 5.3, Solaris 2.4, mingw, Interix 3.5, BeOS, Tandem/NSK. +MacOS X 10.5, FreeBSD 6.4, Minix 3.1.8, IRIX 5.3, Solaris 2.4, mingw, MSVC 9, Interix 3.5, BeOS, Tandem/NSK. @end itemize diff --git a/doc/posix-functions/timer_delete.texi b/doc/posix-functions/timer_delete.texi index 9d37797cc..db06131c2 100644 --- a/doc/posix-functions/timer_delete.texi +++ b/doc/posix-functions/timer_delete.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.4, Minix 3.1.8, IRIX 5.3, Solaris 2.4, mingw, Interix 3.5, BeOS, Tandem/NSK. +MacOS X 10.5, FreeBSD 6.4, Minix 3.1.8, IRIX 5.3, Solaris 2.4, mingw, MSVC 9, Interix 3.5, BeOS, Tandem/NSK. @end itemize diff --git a/doc/posix-functions/timer_getoverrun.texi b/doc/posix-functions/timer_getoverrun.texi index 20b84a254..6fd40ab46 100644 --- a/doc/posix-functions/timer_getoverrun.texi +++ b/doc/posix-functions/timer_getoverrun.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, Minix 3.1.8, IRIX 5.3, Solaris 2.4, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, Minix 3.1.8, IRIX 5.3, Solaris 2.4, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/timer_gettime.texi b/doc/posix-functions/timer_gettime.texi index bf26a0139..a2c23ae38 100644 --- a/doc/posix-functions/timer_gettime.texi +++ b/doc/posix-functions/timer_gettime.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.4, Minix 3.1.8, IRIX 5.3, mingw, Interix 3.5, BeOS, Tandem/NSK. +MacOS X 10.5, FreeBSD 6.4, Minix 3.1.8, IRIX 5.3, mingw, MSVC 9, Interix 3.5, BeOS, Tandem/NSK. @end itemize diff --git a/doc/posix-functions/timer_settime.texi b/doc/posix-functions/timer_settime.texi index ef04a0aee..5c36db4c8 100644 --- a/doc/posix-functions/timer_settime.texi +++ b/doc/posix-functions/timer_settime.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.5, FreeBSD 6.4, Minix 3.1.8, IRIX 5.3, Solaris 2.4, mingw, Interix 3.5, BeOS, Tandem/NSK. +MacOS X 10.5, FreeBSD 6.4, Minix 3.1.8, IRIX 5.3, Solaris 2.4, mingw, MSVC 9, Interix 3.5, BeOS, Tandem/NSK. @end itemize diff --git a/doc/posix-functions/times.texi b/doc/posix-functions/times.texi index 6ca6eedee..343413662 100644 --- a/doc/posix-functions/times.texi +++ b/doc/posix-functions/times.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/tmpfile.texi b/doc/posix-functions/tmpfile.texi index 69aa9a4ec..9dccde19d 100644 --- a/doc/posix-functions/tmpfile.texi +++ b/doc/posix-functions/tmpfile.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function often fails for trivial reasons on some platforms: -mingw. +mingw, MSVC 9. @item On platforms where @code{off_t} is a 32-bit type, @code{tmpfile} may not work correctly to create files larger than 2 GB. (Cf. @code{AC_SYS_LARGEFILE}.) diff --git a/doc/posix-functions/tolower_l.texi b/doc/posix-functions/tolower_l.texi index ad08f82d0..a590a3af3 100644 --- a/doc/posix-functions/tolower_l.texi +++ b/doc/posix-functions/tolower_l.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/toupper_l.texi b/doc/posix-functions/toupper_l.texi index 3682d1f98..6b60747e6 100644 --- a/doc/posix-functions/toupper_l.texi +++ b/doc/posix-functions/toupper_l.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/towctrans.texi b/doc/posix-functions/towctrans.texi index 9e1aa949f..b0c739ce2 100644 --- a/doc/posix-functions/towctrans.texi +++ b/doc/posix-functions/towctrans.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, HP-UX 11.00, IRIX 6.5, Solaris 2.5.1, mingw, Interix 3.5. +Minix 3.1.8, HP-UX 11.00, IRIX 6.5, Solaris 2.5.1, mingw, MSVC 9, Interix 3.5. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/towctrans_l.texi b/doc/posix-functions/towctrans_l.texi index 853c46bdc..e94bad71f 100644 --- a/doc/posix-functions/towctrans_l.texi +++ b/doc/posix-functions/towctrans_l.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item On AIX and Windows platforms, @code{wchar_t} is a 16-bit type and therefore cannot accommodate all Unicode characters. diff --git a/doc/posix-functions/towlower_l.texi b/doc/posix-functions/towlower_l.texi index 665a2ee95..a8188e78e 100644 --- a/doc/posix-functions/towlower_l.texi +++ b/doc/posix-functions/towlower_l.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item On AIX and Windows platforms, @code{wchar_t} is a 16-bit type and therefore cannot accommodate all Unicode characters. diff --git a/doc/posix-functions/towupper_l.texi b/doc/posix-functions/towupper_l.texi index 5b94e3e83..6bd2579d1 100644 --- a/doc/posix-functions/towupper_l.texi +++ b/doc/posix-functions/towupper_l.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item On AIX and Windows platforms, @code{wchar_t} is a 16-bit type and therefore cannot accommodate all Unicode characters. diff --git a/doc/posix-functions/trunc.texi b/doc/posix-functions/trunc.texi index 3379cb6f5..b797a7703 100644 --- a/doc/posix-functions/trunc.texi +++ b/doc/posix-functions/trunc.texi @@ -10,7 +10,7 @@ Portability problems fixed by either Gnulib module @code{trunc} or @code{trunc-i @itemize @item This function is missing on some platforms: -FreeBSD 5.2.1, NetBSD 3.0, OpenBSD 3.8, Solaris 9, Interix 3.5. +FreeBSD 5.2.1, NetBSD 3.0, OpenBSD 3.8, Solaris 9, MSVC 9, Interix 3.5. @item This function is not declared (without @code{-D_GNU_SOURCE}) on some platforms: glibc 2.8. diff --git a/doc/posix-functions/truncate.texi b/doc/posix-functions/truncate.texi index 55e7f1a43..a21f09893 100644 --- a/doc/posix-functions/truncate.texi +++ b/doc/posix-functions/truncate.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @item On platforms where @code{off_t} is a 32-bit type, this function is not applicable to arbitrary lengths for files larger than 2 GB. The fix is to diff --git a/doc/posix-functions/truncf.texi b/doc/posix-functions/truncf.texi index cd8545d91..1698e1624 100644 --- a/doc/posix-functions/truncf.texi +++ b/doc/posix-functions/truncf.texi @@ -10,7 +10,7 @@ Portability problems fixed by either Gnulib module @code{truncf} or @code{truncf @itemize @item This function is missing on some platforms: -FreeBSD 5.2.1, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, Solaris 9, Interix 3.5. +FreeBSD 5.2.1, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, Solaris 9, MSVC 9, Interix 3.5. @item This function is not declared (without @code{-D_GNU_SOURCE}) on some platforms: glibc 2.8. diff --git a/doc/posix-functions/truncl.texi b/doc/posix-functions/truncl.texi index a5baacd8a..3fef37789 100644 --- a/doc/posix-functions/truncl.texi +++ b/doc/posix-functions/truncl.texi @@ -10,7 +10,7 @@ Portability problems fixed by either Gnulib module @code{truncl} or @code{truncl @itemize @item This function is missing on some platforms: -FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 9, Cygwin, Interix 3.5, BeOS. +FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 9, Cygwin, MSVC 9, Interix 3.5, BeOS. @item This function is not declared (without @code{-D_GNU_SOURCE}) on some platforms: glibc 2.8. diff --git a/doc/posix-functions/tsearch.texi b/doc/posix-functions/tsearch.texi index 3ab9b8a60..25103c45a 100644 --- a/doc/posix-functions/tsearch.texi +++ b/doc/posix-functions/tsearch.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, mingw, BeOS. +Minix 3.1.8, mingw, MSVC 9, BeOS. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/ttyname.texi b/doc/posix-functions/ttyname.texi index b385214fa..a8368be86 100644 --- a/doc/posix-functions/ttyname.texi +++ b/doc/posix-functions/ttyname.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/ttyname_r.texi b/doc/posix-functions/ttyname_r.texi index 358311747..92532469d 100644 --- a/doc/posix-functions/ttyname_r.texi +++ b/doc/posix-functions/ttyname_r.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -NetBSD 3.0, Minix 3.1.8, mingw, BeOS. +NetBSD 3.0, Minix 3.1.8, mingw, MSVC 9, BeOS. @item This function is not declared unless @code{_REENTRANT} is defined, on some platforms: diff --git a/doc/posix-functions/twalk.texi b/doc/posix-functions/twalk.texi index d981291ae..3adcb1b50 100644 --- a/doc/posix-functions/twalk.texi +++ b/doc/posix-functions/twalk.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, mingw, BeOS. +Minix 3.1.8, mingw, MSVC 9, BeOS. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/ulimit.texi b/doc/posix-functions/ulimit.texi index 3ce0a402c..d3f9d0e98 100644 --- a/doc/posix-functions/ulimit.texi +++ b/doc/posix-functions/ulimit.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -OpenBSD 3.8, Minix 3.1.8, Cygwin, mingw, BeOS. +OpenBSD 3.8, Minix 3.1.8, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-functions/uname.texi b/doc/posix-functions/uname.texi index 432b20dc5..5c3aa7481 100644 --- a/doc/posix-functions/uname.texi +++ b/doc/posix-functions/uname.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/unlinkat.texi b/doc/posix-functions/unlinkat.texi index 50a53f859..6bb943623 100644 --- a/doc/posix-functions/unlinkat.texi +++ b/doc/posix-functions/unlinkat.texi @@ -4,14 +4,14 @@ POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/unlinkat.html} -Gnulib module: openat +Gnulib module: unlinkat Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, -AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. But the replacement function is not safe to be used in libraries and is not multithread-safe. @item Some systems mistakenly succeed on @code{unlinkat(fd,"file/",flag)}: diff --git a/doc/posix-functions/unlockpt.texi b/doc/posix-functions/unlockpt.texi index 37725e1db..f15e3f80b 100644 --- a/doc/posix-functions/unlockpt.texi +++ b/doc/posix-functions/unlockpt.texi @@ -10,9 +10,15 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.3, OpenBSD 3.8, Minix 3.1.8, mingw, BeOS. +MacOS X 10.3, OpenBSD 3.8, Minix 3.1.8, mingw, MSVC 9, BeOS. @end itemize Portability problems not fixed by Gnulib: @itemize +@item +This function is not declared on some platforms: +IRIX 5.3. +@item +This function reports success for invalid file descriptors on some platforms: +NetBSD 5.1, Cygwin 1.7.9. @end itemize diff --git a/doc/posix-functions/unsetenv.texi b/doc/posix-functions/unsetenv.texi index 2c43b1e53..33f4d1f8a 100644 --- a/doc/posix-functions/unsetenv.texi +++ b/doc/posix-functions/unsetenv.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -AIX 5.1, HP-UX 11.23, IRIX 6.5, Solaris 9, mingw, BeOS. +AIX 5.1, HP-UX 11.23, IRIX 6.5, Solaris 9, mingw, MSVC 9, BeOS. @item This function is not declared on some platforms: OSF/1 5.1. diff --git a/doc/posix-functions/uselocale.texi b/doc/posix-functions/uselocale.texi index 1afcc6580..6cba29249 100644 --- a/doc/posix-functions/uselocale.texi +++ b/doc/posix-functions/uselocale.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/utime.texi b/doc/posix-functions/utime.texi index 1379d8e9a..9cfe37379 100644 --- a/doc/posix-functions/utime.texi +++ b/doc/posix-functions/utime.texi @@ -26,5 +26,5 @@ instead. On some platforms, the prototype for @code{utime} omits @code{const} for the second argument. Fortunately, the argument is not modified, so it is safe to cast away const: -mingw. +mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/utimensat.texi b/doc/posix-functions/utimensat.texi index c6a91b30d..3d69c6f8b 100644 --- a/doc/posix-functions/utimensat.texi +++ b/doc/posix-functions/utimensat.texi @@ -11,7 +11,7 @@ Portability problems fixed by Gnulib: @item This function is missing on some platforms: glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, -AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.5.x, mingw, +AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. However, the replacement function may end up truncating timestamps to less resolution than supported by the file system. Furthermore, the @@ -34,6 +34,10 @@ Linux kernel 2.6.25. When using @code{UTIME_OMIT} for the modification time, but specifying an access time, some systems fail to update the change time: Linux kernel 2.6.32. +@item +Out-of-range values of @code{tv_nsec} do not lead to a failure on some +platforms: +Linux kernel 2.6.22.19 on hppa. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/utimes.texi b/doc/posix-functions/utimes.texi index e12afe2f6..0db82c974 100644 --- a/doc/posix-functions/utimes.texi +++ b/doc/posix-functions/utimes.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, mingw, Interix 3.5, BeOS. +Minix 3.1.8, mingw, MSVC 9, Interix 3.5, BeOS. @item The declaration of this function lacks @code{const} in the second argument on some platforms: diff --git a/doc/posix-functions/vdprintf.texi b/doc/posix-functions/vdprintf.texi index 33f5afbfb..5101ee4c7 100644 --- a/doc/posix-functions/vdprintf.texi +++ b/doc/posix-functions/vdprintf.texi @@ -11,7 +11,7 @@ Portability problems fixed by either Gnulib module @code{vdprintf} or @code{vdpr @item This function is missing on some platforms: MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, Interix 3.5. +IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5. @end itemize Portability problems fixed by Gnulib module @code{vdprintf-posix}: diff --git a/doc/posix-functions/vfprintf.texi b/doc/posix-functions/vfprintf.texi index 31f075330..2159b43f3 100644 --- a/doc/posix-functions/vfprintf.texi +++ b/doc/posix-functions/vfprintf.texi @@ -11,23 +11,26 @@ Portability problems fixed by Gnulib module @code{vfprintf-posix}: @item This function does not support size specifiers as in C99 (@code{hh}, @code{ll}, @code{j}, @code{t}, @code{z}) on some platforms: -AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 1.5.24, mingw, BeOS. +AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 1.5.24, mingw, MSVC 9, BeOS. @item printf of @samp{long double} numbers is unsupported on some platforms: -mingw, BeOS. +mingw, MSVC 9, BeOS. @item printf @code{"%f"}, @code{"%e"}, @code{"%g"} of Infinity and NaN yields an incorrect result on some platforms: -AIX 5.2, OSF/1 5.1, Solaris 11 2010-11, mingw. +AIX 5.2, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9. @item This function does not support the @samp{a} and @samp{A} directives on some platforms: glibc-2.3.6, MacOS X 10.5, NetBSD 5.0, OpenBSD 4.0, AIX 5.2, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, BeOS. +IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9, BeOS. @item This function does not support the @samp{F} directive on some platforms: NetBSD 3.0, AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, -Cygwin 1.5.x, mingw, BeOS. +Cygwin 1.5.x, mingw, MSVC 9, BeOS. +@item +This function does not support the @samp{n} directive on some platforms: +MSVC 9. @item This function does not support the @samp{ls} directive on some platforms: OpenBSD 4.0, IRIX 6.5, Solaris 2.6, Cygwin 1.5.x, Haiku. @@ -38,10 +41,10 @@ Solaris 11 2010-11. @item This function does not support format directives that access arguments in an arbitrary order, such as @code{"%2$s"}, on some platforms: -NetBSD 3.0, mingw, BeOS. +NetBSD 3.0, mingw, MSVC 9, BeOS. @item This function doesn't support the @code{'} flag on some platforms: -NetBSD 3.0, Cygwin 1.5.24, mingw. +NetBSD 3.0, Cygwin 1.5.24, mingw, MSVC 9. @item This function behaves incorrectly when a @samp{-} flag and a negative width are specified together, on some platforms: @@ -49,11 +52,11 @@ HP-UX 10.20. @item printf @code{"%010f"} of NaN and Infinity yields an incorrect result (padded with zeroes) on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, AIX 5.2, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, AIX 5.2, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9. @item This function does not support precisions larger than 512 or 1024 in integer, floating-point and pointer output on some platforms: -AIX 7.1, Solaris 10/x86, mingw, BeOS. +AIX 7.1, Solaris 10/x86, mingw, MSVC 9, BeOS. @item This function mishandles large floating point precisions (for example, formatting 1.0 with @samp{"%.511f"}) @@ -70,7 +73,7 @@ Portability problems fixed by Gnulib module @code{stdio} or @code{vfprintf-posix When writing to a non-blocking pipe whose buffer is full, this function fails with @code{errno} being set to @code{ENOSPC} instead of @code{EAGAIN} on some platforms: -mingw. +mingw, MSVC 9. @end itemize Portability problems fixed by Gnulib module @code{stdio} or @code{vfprintf-posix}, together with module @code{sigpipe}: @@ -78,7 +81,7 @@ Portability problems fixed by Gnulib module @code{stdio} or @code{vfprintf-posix @item When writing to a pipe with no readers, this function fails, instead of obeying the current @code{SIGPIPE} handler, on some platforms: -mingw. +mingw, MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/vfscanf.texi b/doc/posix-functions/vfscanf.texi index c7807d846..7b281571b 100644 --- a/doc/posix-functions/vfscanf.texi +++ b/doc/posix-functions/vfscanf.texi @@ -12,7 +12,7 @@ Portability problems fixed by Gnulib module @code{vfscanf}, together with module When reading from a non-blocking pipe whose buffer is empty, this function fails with @code{errno} being set to @code{EINVAL} instead of @code{EAGAIN} on some platforms: -mingw. +mingw, MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/vprintf.texi b/doc/posix-functions/vprintf.texi index 7d35ae0ea..6770c002c 100644 --- a/doc/posix-functions/vprintf.texi +++ b/doc/posix-functions/vprintf.texi @@ -11,23 +11,26 @@ Portability problems fixed by Gnulib module @code{vprintf-posix}: @item This function does not support size specifiers as in C99 (@code{hh}, @code{ll}, @code{j}, @code{t}, @code{z}) on some platforms: -AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 1.5.24, mingw, BeOS. +AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 1.5.24, mingw, MSVC 9, BeOS. @item printf of @samp{long double} numbers is unsupported on some platforms: -mingw, BeOS. +mingw, MSVC 9, BeOS. @item printf @code{"%f"}, @code{"%e"}, @code{"%g"} of Infinity and NaN yields an incorrect result on some platforms: -AIX 5.2, OSF/1 5.1, Solaris 11 2010-11, mingw. +AIX 5.2, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9. @item This function does not support the @samp{a} and @samp{A} directives on some platforms: glibc-2.3.6, MacOS X 10.5, NetBSD 5.0, OpenBSD 4.0, AIX 5.2, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, BeOS. +IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9, BeOS. @item This function does not support the @samp{F} directive on some platforms: NetBSD 3.0, AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, -Cygwin 1.5.x, mingw, BeOS. +Cygwin 1.5.x, mingw, MSVC 9, BeOS. +@item +This function does not support the @samp{n} directive on some platforms: +MSVC 9. @item This function does not support the @samp{ls} directive on some platforms: OpenBSD 4.0, IRIX 6.5, Solaris 2.6, Cygwin 1.5.x, Haiku. @@ -38,10 +41,10 @@ Solaris 11 2010-11. @item This function does not support format directives that access arguments in an arbitrary order, such as @code{"%2$s"}, on some platforms: -NetBSD 3.0, mingw, BeOS. +NetBSD 3.0, mingw, MSVC 9, BeOS. @item This function doesn't support the @code{'} flag on some platforms: -NetBSD 3.0, Cygwin 1.5.24, mingw. +NetBSD 3.0, Cygwin 1.5.24, mingw, MSVC 9. @item This function behaves incorrectly when a @samp{-} flag and a negative width are specified together, on some platforms: @@ -49,11 +52,11 @@ HP-UX 10.20. @item printf @code{"%010f"} of NaN and Infinity yields an incorrect result (padded with zeroes) on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, AIX 5.2, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, AIX 5.2, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9. @item This function does not support precisions larger than 512 or 1024 in integer, floating-point and pointer output on some platforms: -AIX 7.1, Solaris 10/x86, mingw, BeOS. +AIX 7.1, Solaris 10/x86, mingw, MSVC 9, BeOS. @item This function mishandles large floating point precisions (for example, formatting 1.0 with @samp{"%.511f"}) @@ -70,7 +73,7 @@ Portability problems fixed by Gnulib module @code{stdio} or @code{vprintf-posix} When writing to a non-blocking pipe whose buffer is full, this function fails with @code{errno} being set to @code{ENOSPC} instead of @code{EAGAIN} on some platforms: -mingw. +mingw, MSVC 9. @end itemize Portability problems fixed by Gnulib module @code{stdio} or @code{vprintf-posix}, together with module @code{sigpipe}: @@ -78,7 +81,7 @@ Portability problems fixed by Gnulib module @code{stdio} or @code{vprintf-posix} @item When writing to a pipe with no readers, this function fails, instead of obeying the current @code{SIGPIPE} handler, on some platforms: -mingw. +mingw, MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/vscanf.texi b/doc/posix-functions/vscanf.texi index feff03ac5..4fea5bed3 100644 --- a/doc/posix-functions/vscanf.texi +++ b/doc/posix-functions/vscanf.texi @@ -12,7 +12,7 @@ Portability problems fixed by Gnulib module @code{vscanf}, together with module When reading from a non-blocking pipe whose buffer is empty, this function fails with @code{errno} being set to @code{EINVAL} instead of @code{EAGAIN} on some platforms: -mingw. +mingw, MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/vsnprintf.texi b/doc/posix-functions/vsnprintf.texi index ca6e0927e..967a9956d 100644 --- a/doc/posix-functions/vsnprintf.texi +++ b/doc/posix-functions/vsnprintf.texi @@ -14,7 +14,7 @@ IRIX 5.3, OSF/1 4.0, Solaris 2.5.1. @item This function does not support format directives that access arguments in an arbitrary order, such as @code{"%2$s"}, on some platforms: -NetBSD 3.0, mingw, BeOS. +NetBSD 3.0, mingw, MSVC 9, BeOS. @item This function overwrites memory even when a size argument of 1 is passed on some platforms: @@ -22,7 +22,7 @@ Linux libc5, BeOS. @item This function does not return a byte count as specified in C99 on some platforms: -HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, mingw. +HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, mingw, MSVC 9. @end itemize Portability problems fixed by Gnulib module @code{vsnprintf-posix}: @@ -30,23 +30,23 @@ Portability problems fixed by Gnulib module @code{vsnprintf-posix}: @item This function does not support size specifiers as in C99 (@code{hh}, @code{ll}, @code{j}, @code{t}, @code{z}) on some platforms: -AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 1.5.24, mingw, BeOS. +AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 1.5.24, mingw, MSVC 9, BeOS. @item printf of @samp{long double} numbers is unsupported on some platforms: -mingw, BeOS. +mingw, MSVC 9, BeOS. @item printf @code{"%f"}, @code{"%e"}, @code{"%g"} of Infinity and NaN yields an incorrect result on some platforms: -AIX 5.2, OSF/1 5.1, Solaris 11 2010-11, mingw. +AIX 5.2, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9. @item This function does not support the @samp{a} and @samp{A} directives on some platforms: glibc-2.3.6, MacOS X 10.5, NetBSD 5.0, OpenBSD 4.0, AIX 5.2, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, BeOS. +IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9, BeOS. @item This function does not support the @samp{F} directive on some platforms: NetBSD 3.0, AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, -Cygwin 1.5.x, mingw, BeOS. +Cygwin 1.5.x, mingw, MSVC 9, BeOS. @item This function does not support the @samp{ls} directive on some platforms: OpenBSD 4.0, IRIX 6.5, Solaris 2.6, Cygwin 1.5.x, Haiku. @@ -56,7 +56,7 @@ on some platforms: Solaris 11 2010-11. @item This function doesn't support the @code{'} flag on some platforms: -NetBSD 3.0, Cygwin 1.5.24, mingw. +NetBSD 3.0, Cygwin 1.5.24, mingw, MSVC 9. @item This function behaves incorrectly when a @samp{-} flag and a negative width are specified together, on some platforms: @@ -64,11 +64,11 @@ HP-UX 10.20. @item printf @code{"%010f"} of NaN and Infinity yields an incorrect result (padded with zeroes) on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, AIX 5.2, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, AIX 5.2, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9. @item This function does not support precisions larger than 512 or 1024 in integer, floating-point and pointer output on some platforms: -AIX 7.1, Solaris 10/x86, mingw, BeOS. +AIX 7.1, Solaris 10/x86, mingw, MSVC 9, BeOS. @item This function mishandles large floating point precisions (for example, formatting 1.0 with @samp{"%.511f"}) @@ -79,10 +79,10 @@ This function can crash in out-of-memory conditions on some platforms: MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0. @item This function does not truncate the result as specified in C99 on some platforms: -mingw. +mingw, MSVC 9. @item This function does not fully support the @samp{n} directive on some platforms: -HP-UX 11, mingw. +HP-UX 11, mingw, MSVC 9. @item This function overwrites memory even when a zero size argument is passed on some platforms: diff --git a/doc/posix-functions/vsprintf.texi b/doc/posix-functions/vsprintf.texi index 0c37dd597..f86356629 100644 --- a/doc/posix-functions/vsprintf.texi +++ b/doc/posix-functions/vsprintf.texi @@ -11,23 +11,26 @@ Portability problems fixed by Gnulib: @item This function does not support size specifiers as in C99 (@code{hh}, @code{ll}, @code{j}, @code{t}, @code{z}) on some platforms: -AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 1.5.24, mingw, BeOS. +AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 1.5.24, mingw, MSVC 9, BeOS. @item printf of @samp{long double} numbers is unsupported on some platforms: -mingw, BeOS. +mingw, MSVC 9, BeOS. @item printf @code{"%f"}, @code{"%e"}, @code{"%g"} of Infinity and NaN yields an incorrect result on some platforms: -AIX 5.2, OSF/1 5.1, Solaris 11 2010-11, mingw. +AIX 5.2, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9. @item This function does not support the @samp{a} and @samp{A} directives on some platforms: glibc-2.3.6, MacOS X 10.5, NetBSD 5.0, OpenBSD 4.0, AIX 5.2, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, BeOS. +IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9, BeOS. @item This function does not support the @samp{F} directive on some platforms: NetBSD 3.0, AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, -Cygwin 1.5.x, mingw, BeOS. +Cygwin 1.5.x, mingw, MSVC 9, BeOS. +@item +This function does not support the @samp{n} directive on some platforms: +MSVC 9. @item This function does not support the @samp{ls} directive on some platforms: OpenBSD 4.0, IRIX 6.5, Solaris 2.6, Cygwin 1.5.x, Haiku. @@ -38,10 +41,10 @@ Solaris 11 2010-11. @item This function does not support format directives that access arguments in an arbitrary order, such as @code{"%2$s"}, on some platforms: -NetBSD 3.0, mingw, BeOS. +NetBSD 3.0, mingw, MSVC 9, BeOS. @item This function doesn't support the @code{'} flag on some platforms: -NetBSD 3.0, Cygwin 1.5.24, mingw. +NetBSD 3.0, Cygwin 1.5.24, mingw, MSVC 9. @item This function behaves incorrectly when a @samp{-} flag and a negative width are specified together, on some platforms: @@ -49,11 +52,11 @@ HP-UX 10.20. @item printf @code{"%010f"} of NaN and Infinity yields an incorrect result (padded with zeroes) on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, AIX 5.2, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, AIX 5.2, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9. @item This function does not support precisions larger than 512 or 1024 in integer, floating-point and pointer output on some platforms: -AIX 7.1, Solaris 10/x86, mingw, BeOS. +AIX 7.1, Solaris 10/x86, mingw, MSVC 9, BeOS. @item This function mishandles large floating point precisions (for example, formatting 1.0 with @samp{"%.511f"}) diff --git a/doc/posix-functions/vsscanf.texi b/doc/posix-functions/vsscanf.texi index fa57800dd..319d4027f 100644 --- a/doc/posix-functions/vsscanf.texi +++ b/doc/posix-functions/vsscanf.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Solaris 8. +Solaris 8, MSVC 9. @item On Windows platforms (excluding Cygwin), this function does not set @code{errno} upon failure. diff --git a/doc/posix-functions/vswscanf.texi b/doc/posix-functions/vswscanf.texi index e0ab23263..34a451610 100644 --- a/doc/posix-functions/vswscanf.texi +++ b/doc/posix-functions/vswscanf.texi @@ -15,7 +15,7 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, -Solaris 8, Cygwin 1.5.x, Interix 3.5, BeOS. +Solaris 8, Cygwin 1.5.x, MSVC 9, Interix 3.5, BeOS. @item On AIX and Windows platforms, @code{wchar_t} is a 16-bit type and therefore cannot accommodate all Unicode characters. diff --git a/doc/posix-functions/wait.texi b/doc/posix-functions/wait.texi index 0e10b2641..2c474742a 100644 --- a/doc/posix-functions/wait.texi +++ b/doc/posix-functions/wait.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @end itemize diff --git a/doc/posix-functions/waitid.texi b/doc/posix-functions/waitid.texi index 76d2ce72f..efcf89188 100644 --- a/doc/posix-functions/waitid.texi +++ b/doc/posix-functions/waitid.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.4, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.4, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item As of 2005, no system is known on which @code{waitid} with flag @code{WNOWAIT} works correctly. diff --git a/doc/posix-functions/waitpid.texi b/doc/posix-functions/waitpid.texi index 9c68150d8..bd5f8397a 100644 --- a/doc/posix-functions/waitpid.texi +++ b/doc/posix-functions/waitpid.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/wcpcpy.texi b/doc/posix-functions/wcpcpy.texi index df20a6fae..a6bcf21e4 100644 --- a/doc/posix-functions/wcpcpy.texi +++ b/doc/posix-functions/wcpcpy.texi @@ -11,7 +11,7 @@ Portability problems fixed by Gnulib: @item This function is missing on some platforms: MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 4.3.2, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. @item This function is not declared (without @code{-D_GNU_SOURCE}) on some platforms: glibc 2.13. diff --git a/doc/posix-functions/wcpncpy.texi b/doc/posix-functions/wcpncpy.texi index 4a76b1533..abe34232b 100644 --- a/doc/posix-functions/wcpncpy.texi +++ b/doc/posix-functions/wcpncpy.texi @@ -11,7 +11,7 @@ Portability problems fixed by Gnulib: @item This function is missing on some platforms: MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 4.3.2, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. @item This function is not declared (without @code{-D_GNU_SOURCE}) on some platforms: glibc 2.13. diff --git a/doc/posix-functions/wcscasecmp.texi b/doc/posix-functions/wcscasecmp.texi index 2b18a9a98..0920b6d80 100644 --- a/doc/posix-functions/wcscasecmp.texi +++ b/doc/posix-functions/wcscasecmp.texi @@ -11,7 +11,7 @@ Portability problems fixed by Gnulib: @item This function is missing on some platforms: MacOS X 10.5, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, AIX 4.3.2, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.5.x, mingw. +IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.5.x, mingw, MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/wcscasecmp_l.texi b/doc/posix-functions/wcscasecmp_l.texi index 5d1d73cf1..0c2c0dc82 100644 --- a/doc/posix-functions/wcscasecmp_l.texi +++ b/doc/posix-functions/wcscasecmp_l.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item On AIX and Windows platforms, @code{wchar_t} is a 16-bit type and therefore cannot accommodate all Unicode characters. diff --git a/doc/posix-functions/wcscoll_l.texi b/doc/posix-functions/wcscoll_l.texi index 590eeba9f..a541038bb 100644 --- a/doc/posix-functions/wcscoll_l.texi +++ b/doc/posix-functions/wcscoll_l.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item On AIX and Windows platforms, @code{wchar_t} is a 16-bit type and therefore cannot accommodate all Unicode characters. diff --git a/doc/posix-functions/wcsncasecmp.texi b/doc/posix-functions/wcsncasecmp.texi index 0c841b5e7..3ad7527de 100644 --- a/doc/posix-functions/wcsncasecmp.texi +++ b/doc/posix-functions/wcsncasecmp.texi @@ -11,7 +11,7 @@ Portability problems fixed by Gnulib: @item This function is missing on some platforms: MacOS X 10.5, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, AIX 4.3.2, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.5.x, mingw, BeOS. +IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.5.x, mingw, MSVC 9, BeOS. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/wcsncasecmp_l.texi b/doc/posix-functions/wcsncasecmp_l.texi index 3a01a6689..252b90000 100644 --- a/doc/posix-functions/wcsncasecmp_l.texi +++ b/doc/posix-functions/wcsncasecmp_l.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on all non-glibc platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item On AIX and Windows platforms, @code{wchar_t} is a 16-bit type and therefore cannot accommodate all Unicode characters. diff --git a/doc/posix-functions/wcsnrtombs.texi b/doc/posix-functions/wcsnrtombs.texi index 1f7f4ca69..0c13dbb3e 100644 --- a/doc/posix-functions/wcsnrtombs.texi +++ b/doc/posix-functions/wcsnrtombs.texi @@ -11,7 +11,7 @@ Portability problems fixed by Gnulib: @item This function is missing on some platforms: MacOS X 10.3, FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 4.3.2, -HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/wcstof.texi b/doc/posix-functions/wcstof.texi index ace02fc10..02c4cf566 100644 --- a/doc/posix-functions/wcstof.texi +++ b/doc/posix-functions/wcstof.texi @@ -15,7 +15,7 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 4.3.2, HP-UX 11, IRIX 6.5, OSF/1 5.1, -Solaris 9, Cygwin 1.5.x, Interix 3.5, BeOS. +Solaris 9, Cygwin 1.5.x, MSVC 9, Interix 3.5, BeOS. @item On AIX and Windows platforms, @code{wchar_t} is a 16-bit type and therefore cannot accommodate all Unicode characters. diff --git a/doc/posix-functions/wcstoimax.texi b/doc/posix-functions/wcstoimax.texi index acf1fb4d4..192296d82 100644 --- a/doc/posix-functions/wcstoimax.texi +++ b/doc/posix-functions/wcstoimax.texi @@ -14,8 +14,8 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin -1.5.x, Interix 3.5. +OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, Solaris 9, +Cygwin 1.5.x, MSVC 9, Interix 3.5. @item On AIX and Windows platforms, @code{wchar_t} is a 16-bit type and therefore cannot accommodate all Unicode characters. diff --git a/doc/posix-functions/wcstold.texi b/doc/posix-functions/wcstold.texi index a4422b695..3d9912403 100644 --- a/doc/posix-functions/wcstold.texi +++ b/doc/posix-functions/wcstold.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 4.3.2, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, Interix 3.5, BeOS. +NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 4.3.2, HP-UX 11, IRIX 6.5, OSF/1 4.0, Solaris 9, Cygwin, MSVC 9, Interix 3.5, BeOS. @item On AIX and Windows platforms, @code{wchar_t} is a 16-bit type and therefore cannot accommodate all Unicode characters. diff --git a/doc/posix-functions/wcstoll.texi b/doc/posix-functions/wcstoll.texi index 3d677f5e4..5514d5e85 100644 --- a/doc/posix-functions/wcstoll.texi +++ b/doc/posix-functions/wcstoll.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, HP-UX 11.11, IRIX 5.3, OSF/1 5.1, Solaris 9, Cygwin 1.5.x, Interix 3.5. +Minix 3.1.8, HP-UX 11.11, IRIX 5.3, OSF/1 5.1, Solaris 9, Cygwin 1.5.x, MSVC 9, Interix 3.5. @item On AIX and Windows platforms, @code{wchar_t} is a 16-bit type and therefore cannot accommodate all Unicode characters. diff --git a/doc/posix-functions/wcstoull.texi b/doc/posix-functions/wcstoull.texi index 17e64e7ba..9d907bd74 100644 --- a/doc/posix-functions/wcstoull.texi +++ b/doc/posix-functions/wcstoull.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, HP-UX 11.11, IRIX 5.3, OSF/1 5.1, Solaris 9, Cygwin 1.5.x, Interix 3.5. +Minix 3.1.8, HP-UX 11.11, IRIX 5.3, OSF/1 5.1, Solaris 9, Cygwin 1.5.x, MSVC 9, Interix 3.5. @item On AIX and Windows platforms, @code{wchar_t} is a 16-bit type and therefore cannot accommodate all Unicode characters. diff --git a/doc/posix-functions/wcstoumax.texi b/doc/posix-functions/wcstoumax.texi index e9a9ffb6e..8597bdda7 100644 --- a/doc/posix-functions/wcstoumax.texi +++ b/doc/posix-functions/wcstoumax.texi @@ -15,7 +15,7 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, Solaris 9, -Cygwin 1.5.x, Interix 3.5. +Cygwin 1.5.x, MSVC 9, Interix 3.5. @item On AIX and Windows platforms, @code{wchar_t} is a 16-bit type and therefore cannot accommodate all Unicode characters. diff --git a/doc/posix-functions/wcswidth.texi b/doc/posix-functions/wcswidth.texi index 7ca5d51e4..89ed4119c 100644 --- a/doc/posix-functions/wcswidth.texi +++ b/doc/posix-functions/wcswidth.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -OpenBSD 3.8, Minix 3.1.8, IRIX 5.3, Solaris 2.5.1, mingw, BeOS. +OpenBSD 3.8, Minix 3.1.8, IRIX 5.3, Solaris 2.5.1, mingw, MSVC 9, BeOS. @item This function handles combining characters in UTF-8 locales incorrectly on some platforms: diff --git a/doc/posix-functions/wcsxfrm_l.texi b/doc/posix-functions/wcsxfrm_l.texi index 1d5edf913..213532daa 100644 --- a/doc/posix-functions/wcsxfrm_l.texi +++ b/doc/posix-functions/wcsxfrm_l.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item On AIX and Windows platforms, @code{wchar_t} is a 16-bit type and therefore cannot accommodate all Unicode characters. diff --git a/doc/posix-functions/wctrans.texi b/doc/posix-functions/wctrans.texi index 22d33a7fe..00bd72c57 100644 --- a/doc/posix-functions/wctrans.texi +++ b/doc/posix-functions/wctrans.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, HP-UX 11.00, IRIX 6.5, Solaris 2.5.1, mingw, Interix 3.5. +Minix 3.1.8, HP-UX 11.00, IRIX 6.5, Solaris 2.5.1, mingw, MSVC 9, Interix 3.5. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/wctrans_l.texi b/doc/posix-functions/wctrans_l.texi index 2696ac9a5..92d922ff3 100644 --- a/doc/posix-functions/wctrans_l.texi +++ b/doc/posix-functions/wctrans_l.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item On AIX and Windows platforms, @code{wchar_t} is a 16-bit type and therefore cannot accommodate all Unicode characters. diff --git a/doc/posix-functions/wctype.texi b/doc/posix-functions/wctype.texi index 9c68854a3..dda88fe17 100644 --- a/doc/posix-functions/wctype.texi +++ b/doc/posix-functions/wctype.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, IRIX 5.3, Solaris 2.5.1. +Minix 3.1.8, IRIX 5.3, Solaris 2.5.1, MSVC 9. @item This function is declared in @code{}, not in @code{}, on some platforms: diff --git a/doc/posix-functions/wctype_l.texi b/doc/posix-functions/wctype_l.texi index a9245efda..4c05bc364 100644 --- a/doc/posix-functions/wctype_l.texi +++ b/doc/posix-functions/wctype_l.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @item On AIX and Windows platforms, @code{wchar_t} is a 16-bit type and therefore cannot accommodate all Unicode characters. diff --git a/doc/posix-functions/wcwidth.texi b/doc/posix-functions/wcwidth.texi index 6243ff80b..11e8eed26 100644 --- a/doc/posix-functions/wcwidth.texi +++ b/doc/posix-functions/wcwidth.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -Minix 3.1.8, IRIX 5.3, Solaris 2.5.1, mingw, BeOS. +Minix 3.1.8, IRIX 5.3, Solaris 2.5.1, mingw, MSVC 9, BeOS. @item This function is not declared (without @code{-D_GNU_SOURCE}) on some platforms: glibc 2.8. diff --git a/doc/posix-functions/wmemchr.texi b/doc/posix-functions/wmemchr.texi index ea8ca543a..eb6c8e4af 100644 --- a/doc/posix-functions/wmemchr.texi +++ b/doc/posix-functions/wmemchr.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -HP-UX 11.00, IRIX 6.5, Solaris 2.6, Interix 3.5. +HP-UX 11.00, IRIX 6.5, Solaris 2.6, MSVC 9, Interix 3.5. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/wmemcmp.texi b/doc/posix-functions/wmemcmp.texi index d243dbb9b..64cfecc35 100644 --- a/doc/posix-functions/wmemcmp.texi +++ b/doc/posix-functions/wmemcmp.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -HP-UX 11.00, IRIX 6.5, Solaris 2.6, Interix 3.5. +HP-UX 11.00, IRIX 6.5, Solaris 2.6, MSVC 9, Interix 3.5. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/wmemcpy.texi b/doc/posix-functions/wmemcpy.texi index 7066c9810..26f2822c8 100644 --- a/doc/posix-functions/wmemcpy.texi +++ b/doc/posix-functions/wmemcpy.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -HP-UX 11.00, IRIX 6.5, Solaris 2.6, Interix 3.5. +HP-UX 11.00, IRIX 6.5, Solaris 2.6, MSVC 9, Interix 3.5. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/wmemmove.texi b/doc/posix-functions/wmemmove.texi index ae4a08ecd..c2da3b3f0 100644 --- a/doc/posix-functions/wmemmove.texi +++ b/doc/posix-functions/wmemmove.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -HP-UX 11.00, IRIX 6.5, Solaris 2.6, Interix 3.5. +HP-UX 11.00, IRIX 6.5, Solaris 2.6, MSVC 9, Interix 3.5. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/wmemset.texi b/doc/posix-functions/wmemset.texi index ac7425dff..c3a0e7cfa 100644 --- a/doc/posix-functions/wmemset.texi +++ b/doc/posix-functions/wmemset.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @itemize @item This function is missing on some platforms: -HP-UX 11.00, IRIX 6.5, Solaris 2.6, Interix 3.5. +HP-UX 11.00, IRIX 6.5, Solaris 2.6, MSVC 9, Interix 3.5. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/wordexp.texi b/doc/posix-functions/wordexp.texi index 545f04140..a4c8300ef 100644 --- a/doc/posix-functions/wordexp.texi +++ b/doc/posix-functions/wordexp.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.3, OpenBSD 3.8, Minix 3.1.8, IRIX 5.3, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +MacOS X 10.3, OpenBSD 3.8, Minix 3.1.8, IRIX 5.3, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. @item On some platforms, this function does not set @code{errno} or the stream error indicator on attempts to write to a read-only stream: diff --git a/doc/posix-functions/wordfree.texi b/doc/posix-functions/wordfree.texi index bb8584edd..2b0eb633a 100644 --- a/doc/posix-functions/wordfree.texi +++ b/doc/posix-functions/wordfree.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -MacOS X 10.3, OpenBSD 3.8, Minix 3.1.8, IRIX 5.3, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +MacOS X 10.3, OpenBSD 3.8, Minix 3.1.8, IRIX 5.3, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-functions/write.texi b/doc/posix-functions/write.texi index e10591733..3e8df86ae 100644 --- a/doc/posix-functions/write.texi +++ b/doc/posix-functions/write.texi @@ -9,16 +9,19 @@ Gnulib module: write, nonblocking, sigpipe Portability problems fixed by Gnulib module @code{stdio}, together with module @code{nonblocking}: @itemize @item +This function crashes when invoked with invalid arguments on some platforms: +MSVC 9. +@item When writing to a non-blocking pipe whose buffer is full, this function fails with @code{errno} being set to @code{ENOSPC} instead of @code{EAGAIN} on some platforms: -mingw. +mingw, MSVC 9. @item When writing to a non-blocking pipe on which no reader is currently waiting an amount of bytes that exceeds the pipe buffer's size, then -- even if the pipe's buffer is empty -- this function fails, instead of performing a partial write into the pipe buffer, on some platforms: -mingw. +mingw, MSVC 9. @end itemize Portability problems fixed by Gnulib module @code{stdio}, together with module @code{sigpipe}: @@ -27,7 +30,7 @@ Portability problems fixed by Gnulib module @code{stdio}, together with module @ When writing to a pipe with no readers, this function fails with error @code{EINVAL}, instead of obeying the current @code{SIGPIPE} handler, on some platforms: -mingw. +mingw, MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/writev.texi b/doc/posix-functions/writev.texi index 406ec5895..9be1d8962 100644 --- a/doc/posix-functions/writev.texi +++ b/doc/posix-functions/writev.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: -mingw. +mingw, MSVC 9. @end itemize diff --git a/doc/posix-headers/aio.texi b/doc/posix-headers/aio.texi index 40d42400a..a1679625c 100644 --- a/doc/posix-headers/aio.texi +++ b/doc/posix-headers/aio.texi @@ -13,5 +13,5 @@ Portability problems not fixed by Gnulib: @itemize @item This header file is missing on some platforms: -MacOS X 10.3, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.3, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-headers/arpa_inet.texi b/doc/posix-headers/arpa_inet.texi index 35f3bbc88..f30c29ecd 100644 --- a/doc/posix-headers/arpa_inet.texi +++ b/doc/posix-headers/arpa_inet.texi @@ -8,7 +8,7 @@ Gnulib module: arpa_inet Portability problems fixed by Gnulib: @itemize @item -This header file is missing on some platforms: mingw, BeOS. +This header file is missing on some platforms: mingw, MSVC 9, BeOS. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-headers/complex.texi b/doc/posix-headers/complex.texi index 4d1f731a2..ddfe47328 100644 --- a/doc/posix-headers/complex.texi +++ b/doc/posix-headers/complex.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @item This header file is missing on some platforms: NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, -Cygwin 1.7.7, mingw, Interix 3.5, BeOS. +Cygwin 1.7.7, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-headers/cpio.texi b/doc/posix-headers/cpio.texi index e8c2b0c64..7812e9a2f 100644 --- a/doc/posix-headers/cpio.texi +++ b/doc/posix-headers/cpio.texi @@ -13,5 +13,5 @@ Portability problems not fixed by Gnulib: @itemize @item This header file is missing on some platforms: -MacOS X 10.3, Minix 3.1.8, Cygwin, mingw, BeOS. +MacOS X 10.3, Minix 3.1.8, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-headers/dirent.texi b/doc/posix-headers/dirent.texi index a89b2bf0b..84b407829 100644 --- a/doc/posix-headers/dirent.texi +++ b/doc/posix-headers/dirent.texi @@ -14,4 +14,7 @@ glibc 2.8 and others. Portability problems not fixed by Gnulib: @itemize +@item +This header file is missing on some platforms: +MSVC 9. @end itemize diff --git a/doc/posix-headers/dlfcn.texi b/doc/posix-headers/dlfcn.texi index 266b4dc0f..573a42783 100644 --- a/doc/posix-headers/dlfcn.texi +++ b/doc/posix-headers/dlfcn.texi @@ -13,5 +13,5 @@ Portability problems not fixed by Gnulib: @itemize @item This header file is missing on some platforms: -Minix 3.1.8, mingw, BeOS. +Minix 3.1.8, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-headers/errno.texi b/doc/posix-headers/errno.texi index 9247797bb..799b42ec2 100644 --- a/doc/posix-headers/errno.texi +++ b/doc/posix-headers/errno.texi @@ -10,24 +10,24 @@ Portability problems fixed by Gnulib: @item The macros @code{EOVERFLOW}, @code{ENOLINK}, @code{EMULTIHOP} are not defined on some platforms: -OpenBSD 4.0, OSF/1 5.1, mingw. +OpenBSD 4.0, OSF/1 5.1, mingw, MSVC 9. @item The macro @code{ECANCELED} is not defined on some platforms: -OpenBSD 4.0, Cygwin, mingw. +OpenBSD 4.0, Cygwin, mingw, MSVC 9. @item The macros @code{ENOMSG}, @code{EIDRM}, @code{EPROTO}, @code{EBADMSG}, @code{ENOTSUP} are not defined on some platforms: -OpenBSD 4.0, mingw. +OpenBSD 4.0, mingw, MSVC 9. @item The macro @code{ESTALE} is not defined on some platforms: -mingw, Interix 3.5. +mingw, MSVC 9, Interix 3.5. @item The macro @code{EDQUOT} is not defined on some platforms: -NonStop Kernel, mingw. +NonStop Kernel, mingw, MSVC 9. @item The macros @code{ENETRESET}, @code{ECONNABORTED} are not defined on some platforms: -Minix 3.1.8, mingw. +Minix 3.1.8, mingw, MSVC 9. @item The macros @code{EWOULDBLOCK}, @code{ETXTBSY}, @code{ELOOP}, @code{ENOTSOCK}, @code{EDESTADDRREQ}, @code{EMSGSIZE}, @code{EPROTOTYPE}, @code{ENOPROTOOPT}, @@ -36,7 +36,7 @@ The macros @code{EWOULDBLOCK}, @code{ETXTBSY}, @code{ELOOP}, @code{ENOTSOCK}, @code{ECONNRESET}, @code{ENOBUFS}, @code{EISCONN}, @code{ENOTCONN}, @code{ETIMEDOUT}, @code{ECONNREFUSED}, @code{EHOSTUNREACH}, @code{EALREADY}, @code{EINPROGRESS} are not defined on some platforms: -mingw. +mingw, MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-headers/fcntl.texi b/doc/posix-headers/fcntl.texi index c87e8726d..332fe5ae2 100644 --- a/doc/posix-headers/fcntl.texi +++ b/doc/posix-headers/fcntl.texi @@ -8,6 +8,14 @@ Gnulib module: fcntl-h Portability problems fixed by Gnulib: @itemize @item +The type @code{pid_t} is not defined on some platforms: +MSVC 9. + +@item +The type @code{mode_t} is not defined on some platforms: +MSVC 9. + +@item @samp{O_CLOEXEC}, @samp{O_DIRECTORY}, @samp{O_DSYNC}, @samp{O_NOCTTY}, @samp{O_NOFOLLOW}, @samp{O_RSYNC}, @samp{O_SYNC}, and @samp{O_TTY_INIT} are not defined on some platforms. Gnulib defines @@ -23,6 +31,10 @@ non-zero value; otherwise, the gnulib replacement is 0. Gnulib defines these macros to @samp{O_RDONLY}, which is typically 0. @item +@samp{O_ACCMODE} is not defined on some platforms: +MSVC 9. + +@item The @samp{O_ACCMODE} mask mistakenly omits @samp{O_SEARCH} and @samp{O_EXEC} on some platforms: Cygwin. @@ -40,12 +52,12 @@ on some platforms but not on others. @item @samp{FD_CLOEXEC}, @samp{F_DUPFD}, and @samp{F_GETFD} are not defined on some platforms: -mingw. +mingw, MSVC 9. @item @samp{F_DUPFD_CLOEXEC} is not defined on some platforms: MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, AIX 5.1, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.7.1, mingw, Interix 3.5, +IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.7.1, mingw, MSVC 9, Interix 3.5, BeOS. @item @@ -53,7 +65,7 @@ BeOS. @samp{AT_SYMLINK_FOLLOW}, and @samp{AT_REMOVEDIR} are not defined on many platforms: glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, AIX -5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 8, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 8, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. @item @samp{AT_FDCWD} is defined with a value too large for an @code{int} on some @@ -67,7 +79,7 @@ Portability problems not fixed by Gnulib: @samp{F_SETFD}, @samp{F_GETFL}, @samp{F_SETFL}, @samp{F_GETLK}, @samp{F_SETLK}, @samp{F_SETLOKW}, @samp{F_GETOWN}, and @samp{F_SETOWN} are not defined on some platforms: -mingw. +mingw, MSVC 9. @item @samp{POSIX_FADV_DONTNEED}, @samp{POSIX_FADV_NOREUSE}, diff --git a/doc/posix-headers/fenv.texi b/doc/posix-headers/fenv.texi index 0eb91ea83..c92f7a0bc 100644 --- a/doc/posix-headers/fenv.texi +++ b/doc/posix-headers/fenv.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @item This header file is missing on some platforms: FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, AIX 5.1, IRIX 6.5, OSF/1 5.1, -Cygwin 1.7.7, Interix 3.5, BeOS. +Cygwin 1.7.7, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-headers/float.texi b/doc/posix-headers/float.texi index c222a2342..09f1388a2 100644 --- a/doc/posix-headers/float.texi +++ b/doc/posix-headers/float.texi @@ -8,16 +8,25 @@ Gnulib module: float Portability problems fixed by Gnulib: @itemize @item +The conversion from @code{int} to @code{long double} in incorrect on some +platforms: +glibc 2.7 on Linux/SPARC64. +@item The values of @code{LDBL_*} macros are incorrect on some platforms: On OpenBSD 4.0, MirBSD 10, and BeOS, they are the same as the values of the @code{DBL_*} macros, although @samp{long double} is a larger type than @samp{double}. On FreeBSD/x86 6.4, they represent the incorrect 53-bit precision assumptions in the compiler, not the real 64-bit precision at runtime. -On AIX 7.1 with GCC 4.2 and on IRIX 6.5, they don't reflect the -``double double'' representation of @code{long double} correctly. +On Linux/PowerPC with GCC 4.4, on AIX 7.1 with GCC 4.2, and on IRIX 6.5, +they don't reflect the ``double double'' representation of @code{long double} +correctly. @end itemize Portability problems not fixed by Gnulib: @itemize +@item +The macro @code{FLT_ROUNDS} is a constant expression and does not represent +the current rounding mode on some platforms: +glibc 2.11, HP-UX 11, mingw. @end itemize diff --git a/doc/posix-headers/fmtmsg.texi b/doc/posix-headers/fmtmsg.texi index d00d6153a..f49d1f1c0 100644 --- a/doc/posix-headers/fmtmsg.texi +++ b/doc/posix-headers/fmtmsg.texi @@ -13,5 +13,5 @@ Portability problems not fixed by Gnulib: @itemize @item This header file is missing on some platforms: -MacOS X 10.3, OpenBSD 3.8, Minix 3.1.8, Cygwin, mingw, Interix 3.5, BeOS. +MacOS X 10.3, OpenBSD 3.8, Minix 3.1.8, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-headers/fnmatch.texi b/doc/posix-headers/fnmatch.texi index a55b2226a..b5e9ee49a 100644 --- a/doc/posix-headers/fnmatch.texi +++ b/doc/posix-headers/fnmatch.texi @@ -9,7 +9,7 @@ Portability problems fixed by Gnulib: @itemize @item This header file is missing on some platforms: -mingw, BeOS. +mingw, MSVC 9, BeOS. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-headers/ftw.texi b/doc/posix-headers/ftw.texi index 79e2ec4d5..ced004d9b 100644 --- a/doc/posix-headers/ftw.texi +++ b/doc/posix-headers/ftw.texi @@ -13,5 +13,5 @@ Portability problems not fixed by Gnulib: @itemize @item This header file is missing on some platforms: -MacOS X 10.3, FreeBSD 5.2.1, NetBSD 3.0, Minix 3.1.8, mingw, BeOS. +MacOS X 10.3, FreeBSD 5.2.1, NetBSD 3.0, Minix 3.1.8, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-headers/glob.texi b/doc/posix-headers/glob.texi index ad4efe2a7..39509d1c1 100644 --- a/doc/posix-headers/glob.texi +++ b/doc/posix-headers/glob.texi @@ -9,7 +9,7 @@ Portability problems fixed by Gnulib: @itemize @item This header file is missing on some platforms: -mingw, BeOS. +mingw, MSVC 9, BeOS. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-headers/grp.texi b/doc/posix-headers/grp.texi index 63283391d..d550fed70 100644 --- a/doc/posix-headers/grp.texi +++ b/doc/posix-headers/grp.texi @@ -13,5 +13,5 @@ Portability problems not fixed by Gnulib: @itemize @item This header file is missing on some platforms: -mingw. +mingw, MSVC 9. @end itemize diff --git a/doc/posix-headers/iconv.texi b/doc/posix-headers/iconv.texi index 3eff28ca0..78a1b254d 100644 --- a/doc/posix-headers/iconv.texi +++ b/doc/posix-headers/iconv.texi @@ -16,6 +16,6 @@ Portability problems not fixed by Gnulib: @itemize @item This header file is missing on some platforms: -FreeBSD 6.0, OpenBSD 3.8, Minix 3.1.8, mingw, BeOS, +FreeBSD 6.0, OpenBSD 3.8, Minix 3.1.8, mingw, MSVC 9, BeOS, when GNU libiconv is not installed. @end itemize diff --git a/doc/posix-headers/inttypes.texi b/doc/posix-headers/inttypes.texi index 102c96121..c1720e586 100644 --- a/doc/posix-headers/inttypes.texi +++ b/doc/posix-headers/inttypes.texi @@ -9,7 +9,7 @@ Portability problems fixed by Gnulib: @itemize @item This header file is missing on some platforms: -OSF/1 4.0, Interix 3.5. +OSF/1 4.0, MSVC 9, Interix 3.5. @item This header file is very incomplete on some platforms. @item diff --git a/doc/posix-headers/langinfo.texi b/doc/posix-headers/langinfo.texi index 2c2fad53b..bd974057d 100644 --- a/doc/posix-headers/langinfo.texi +++ b/doc/posix-headers/langinfo.texi @@ -9,7 +9,7 @@ Portability problems fixed by Gnulib: @itemize @item This header file is missing on some platforms: -Minix 3.1.8, mingw, BeOS. +Minix 3.1.8, mingw, MSVC 9, BeOS. @item The constant @code{CODESET} is not defined on some platforms: glibc 2.0.6, OpenBSD 3.8. diff --git a/doc/posix-headers/libgen.texi b/doc/posix-headers/libgen.texi index 742f3e2b5..7667cbbe9 100644 --- a/doc/posix-headers/libgen.texi +++ b/doc/posix-headers/libgen.texi @@ -13,5 +13,5 @@ Portability problems not fixed by Gnulib: @itemize @item This header file is missing on some platforms: -mingw, BeOS. +mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-headers/limits.texi b/doc/posix-headers/limits.texi index 4f18419a4..c7bc7ba72 100644 --- a/doc/posix-headers/limits.texi +++ b/doc/posix-headers/limits.texi @@ -7,13 +7,24 @@ Gnulib module: gethostname Portability problems fixed by Gnulib: @itemize -@item The @code{HOST_NAME_MAX} macro is not defined on some platforms: +@item +The @code{HOST_NAME_MAX} macro is not defined on some platforms: MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, AIX 5.1, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize Portability problems not fixed by Gnulib: @itemize +@item +The macros @code{LLONG_MIN}, @code{LLONG_MAX}, @code{ULLONG_MAX} are not +defined on some platforms: +AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1 with gcc. +@item +The macros @code{WORD_BIT}, @code{LONG_BIT} are not defined on some platforms: +glibc 2.11 without @code{-D_GNU_SOURCE}, Cygwin, mingw, MSVC 9. +@item +The macro @code{SSIZE_MAX} is not defined on some platforms: +MSVC 9. @end itemize For @code{PATH_MAX}, Gnulib provides a module @code{pathmax} with a header diff --git a/doc/posix-headers/locale.texi b/doc/posix-headers/locale.texi index 1073a5c11..5f8dc8cff 100644 --- a/doc/posix-headers/locale.texi +++ b/doc/posix-headers/locale.texi @@ -9,7 +9,7 @@ Portability problems fixed by Gnulib: @itemize @item The definition of @samp{LC_MESSAGES} is missing on some platforms: -mingw. +mingw, MSVC 9. @item The @code{locale_t} type is not defined on some platforms: diff --git a/doc/posix-headers/math.texi b/doc/posix-headers/math.texi index d0de2bae4..d181f76cd 100644 --- a/doc/posix-headers/math.texi +++ b/doc/posix-headers/math.texi @@ -8,6 +8,11 @@ Gnulib module: math Portability problems fixed by Gnulib: @itemize @item +The conversion from @code{int} to @code{long double} in incorrect on some +platforms: +glibc 2.7 on Linux/SPARC64. + +@item The macro @code{NAN} is not defined on some platforms: OpenBSD 4.0, AIX 5.1, IRIX 6.5, OSF/1 5.1. @@ -27,4 +32,7 @@ Portability problems not fixed by Gnulib: @item @code{NAN} is not a compile time constant with some compilers: OSF/1 with Compaq (ex-DEC) C 6.4. +@item +The macro or variable @code{math_errhandling} is not defined on some platforms: +glibc 2.11, OpenBSD 4.9, NetBSD 5.1, UP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin 1.7.9, mingw, MSVC 9. @end itemize diff --git a/doc/posix-headers/monetary.texi b/doc/posix-headers/monetary.texi index 1f25803a5..95170eb14 100644 --- a/doc/posix-headers/monetary.texi +++ b/doc/posix-headers/monetary.texi @@ -13,5 +13,5 @@ Portability problems not fixed by Gnulib: @itemize @item This header file is missing on some platforms: -NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, Cygwin, mingw, BeOS. +NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-headers/mqueue.texi b/doc/posix-headers/mqueue.texi index a05d27531..ae65bcab0 100644 --- a/doc/posix-headers/mqueue.texi +++ b/doc/posix-headers/mqueue.texi @@ -13,6 +13,6 @@ Portability problems not fixed by Gnulib: @itemize @item This header file is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, Cygwin, mingw, Interix 3.5, +MacOS X 10.5, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-headers/ndbm.texi b/doc/posix-headers/ndbm.texi index cc3c1e23c..71590f33e 100644 --- a/doc/posix-headers/ndbm.texi +++ b/doc/posix-headers/ndbm.texi @@ -13,5 +13,5 @@ Portability problems not fixed by Gnulib: @itemize @item This header file is missing on some platforms: -mingw, BeOS. +mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-headers/net_if.texi b/doc/posix-headers/net_if.texi index c688e4cf4..38a52f4ae 100644 --- a/doc/posix-headers/net_if.texi +++ b/doc/posix-headers/net_if.texi @@ -13,5 +13,5 @@ Portability problems not fixed by Gnulib: @itemize @item This header file is missing on some platforms: -mingw, Interix 3.5, BeOS. +mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-headers/netdb.texi b/doc/posix-headers/netdb.texi index c53dcfb69..2dd3c085f 100644 --- a/doc/posix-headers/netdb.texi +++ b/doc/posix-headers/netdb.texi @@ -9,7 +9,7 @@ Portability problems fixed by Gnulib: @itemize @item This header file is missing on some platforms: -mingw, BeOS. +mingw, MSVC 9, BeOS. @item This header file is incomplete on some platforms: diff --git a/doc/posix-headers/netinet_in.texi b/doc/posix-headers/netinet_in.texi index 5c5687191..23262e245 100644 --- a/doc/posix-headers/netinet_in.texi +++ b/doc/posix-headers/netinet_in.texi @@ -9,7 +9,7 @@ Portability problems fixed by Gnulib: @itemize @item This header file is missing on some platforms: -mingw, BeOS. +mingw, MSVC 9, BeOS. @item This header file is not self-contained on some platforms (it requires @code{} to be included first): diff --git a/doc/posix-headers/netinet_tcp.texi b/doc/posix-headers/netinet_tcp.texi index ea924a6e9..f3297dee0 100644 --- a/doc/posix-headers/netinet_tcp.texi +++ b/doc/posix-headers/netinet_tcp.texi @@ -13,5 +13,5 @@ Portability problems not fixed by Gnulib: @itemize @item This header file is missing on some platforms: -mingw, BeOS. +mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-headers/nl_types.texi b/doc/posix-headers/nl_types.texi index 55c61abc2..a3528842b 100644 --- a/doc/posix-headers/nl_types.texi +++ b/doc/posix-headers/nl_types.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @item This header file is missing on some platforms: MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, BeOS. +IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-headers/poll.texi b/doc/posix-headers/poll.texi index d3ca4af02..b212a368b 100644 --- a/doc/posix-headers/poll.texi +++ b/doc/posix-headers/poll.texi @@ -9,9 +9,12 @@ Portability problems fixed by Gnulib: @itemize @item This header file is missing on some platforms: -mingw, BeOS. +mingw, MSVC 9, BeOS. @end itemize Portability problems not fixed by Gnulib: @itemize +@item +This header file does not defined @code{nfds_t} on some platforms: +IRIX 5.3. @end itemize diff --git a/doc/posix-headers/pthread.texi b/doc/posix-headers/pthread.texi index c5827c942..5fb1d2e5d 100644 --- a/doc/posix-headers/pthread.texi +++ b/doc/posix-headers/pthread.texi @@ -13,5 +13,5 @@ Portability problems not fixed by Gnulib: @itemize @item This header file is missing on some platforms: -Minix 3.1.8, mingw, BeOS. +Minix 3.1.8, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-headers/pwd.texi b/doc/posix-headers/pwd.texi index 344ab96c0..51e1f94d7 100644 --- a/doc/posix-headers/pwd.texi +++ b/doc/posix-headers/pwd.texi @@ -13,5 +13,5 @@ Portability problems not fixed by Gnulib: @itemize @item This header file is missing on some platforms: -mingw. +mingw, MSVC 9. @end itemize diff --git a/doc/posix-headers/regex.texi b/doc/posix-headers/regex.texi index 4fcdd6907..e0494fc42 100644 --- a/doc/posix-headers/regex.texi +++ b/doc/posix-headers/regex.texi @@ -9,7 +9,7 @@ Portability problems fixed by Gnulib: @itemize @item This header file is missing on some platforms: -mingw. +mingw, MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-headers/sched.texi b/doc/posix-headers/sched.texi index 038983c11..8dacddf4a 100644 --- a/doc/posix-headers/sched.texi +++ b/doc/posix-headers/sched.texi @@ -9,7 +9,10 @@ Portability problems fixed by Gnulib: @itemize @item This header file is missing on some platforms: -Minix 3.1.8, mingw, BeOS. +Minix 3.1.8, mingw, MSVC 9, BeOS. +@item +This header file does not define the type @code{pid_t} on some platforms: +glibc 2.11, MacOS X 10.5. @item @code{struct sched_param} is not defined on some platforms: Haiku. diff --git a/doc/posix-headers/semaphore.texi b/doc/posix-headers/semaphore.texi index ac997de05..adc363b9b 100644 --- a/doc/posix-headers/semaphore.texi +++ b/doc/posix-headers/semaphore.texi @@ -13,5 +13,5 @@ Portability problems not fixed by Gnulib: @itemize @item This header file is missing on some platforms: -Minix 3.1.8, mingw, BeOS. +Minix 3.1.8, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-headers/signal.texi b/doc/posix-headers/signal.texi index f2878d4ca..99ad79e76 100644 --- a/doc/posix-headers/signal.texi +++ b/doc/posix-headers/signal.texi @@ -3,7 +3,7 @@ POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/basedefs/signal.h.html} -Gnulib module: signal +Gnulib module: signal-h Portability problems fixed by Gnulib: @itemize @@ -12,19 +12,25 @@ Portability problems fixed by Gnulib: platforms: AIX. @item +@code{sigset_t} is missing on some platforms: +MSVC 9. +@item @code{sigset_t} is only declared in on some platforms: mingw. @item @code{struct sigaction} and @code{siginfo_t} are missing on some platforms: -mingw. +mingw, MSVC 9. @item @code{struct sigaction} lacks the @code{sa_sigaction} member on some platforms: Irix 5.3, Interix 3.5. @item +The type @code{pid_t} is not defined on some platforms: +MSVC 9. +@item The signal @code{SIGPIPE} is not defined on some platforms: -mingw. +mingw, MSVC 9. @item The macro @code{SA_NODEFER} is not defined on some platforms: Interix 3.5. @@ -36,14 +42,14 @@ NonStop. The type @code{sighandler_t} (a GNU extension) is not defined on most non-glibc platforms: MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, AIX 5.1, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize Portability problems not fixed by Gnulib: @itemize @item Many signals are not defined on some platforms: -mingw. +mingw, MSVC 9. @item The macros @code{SIGRTMIN} and @code{SIGRTMAX} expand to an expression of type @code{long} instead of @code{int} on some platforms: diff --git a/doc/posix-headers/spawn.texi b/doc/posix-headers/spawn.texi index fe2ddbd28..9bcbd3e16 100644 --- a/doc/posix-headers/spawn.texi +++ b/doc/posix-headers/spawn.texi @@ -10,7 +10,7 @@ Portability problems fixed by Gnulib: @item This header file is missing on some platforms: MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +IRIX 6.5, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-headers/stdalign.texi b/doc/posix-headers/stdalign.texi new file mode 100644 index 000000000..bebc70d46 --- /dev/null +++ b/doc/posix-headers/stdalign.texi @@ -0,0 +1,53 @@ +@node stdalign.h +@section @file{stdalign.h} + +POSIX specification:@* Not in POSIX yet, but we expect it will be. +ISO C1X @url{http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf} +sections 6.5.3.4, 6.7.5, 7.15. +C++0X @url{http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3242.pdf} +section 18.10. + +Gnulib module: stdalign + +Portability problems fixed by Gnulib: +@itemize +@item +This header file is missing on most circa-2011 platforms. +@item +Clang 3.0's @code{} does not define @code{alignof}/@code{_Alignof}. +@end itemize + +Portability problems not fixed by Gnulib: +@itemize +@item +@code{_Alignas} and @code{alignas} are not always supported; +on platforms lacking support, the +macro @code{__alignas_is_defined} is not defined. +Supported compilers include GCC, IBM C, Sun C 5.11 and later, +and MSVC 7.0 and later. +@item +Some compilers do not support alignment via +@code{alignas}/@code{_Alignas} of @code{auto} variables (i.e., +variables on the stack). They diagnose and ignore the alignment: Sun +C 5.11. +@item +Some linkers do not support operands of @code{_Alignas}/@code{alignas} +that are greater than 8: mingw. +@item +Some compilers require the operand of @code{_Alignas}/@code{alignas} +to be a single integer constant, not an expression: MSVC 7.0 through +at least 10.0. +@item +The Sun C 5.11 compiler sometimes mishandles the alignment of multiple +external variables that are declared close together with +@code{_Alignas}/@code{alignas}. This compiler bug causes the Gnulib +module @code{stdalign-tests} to fail. The Sun Studio Developer Bug +Report Review Team assigned the internal review ID 2125432 (dated +2011-11-01) to this issue. +@item +@code{} must be #included before @samp{_Alignas} and +@samp{_Alignof} can be used. +@item +You cannot assume that @code{_Alignas} and @code{_Alignof} are reserved words; +they might be macros. +@end itemize diff --git a/doc/posix-headers/stdint.texi b/doc/posix-headers/stdint.texi index a9c36dff8..3730166ca 100644 --- a/doc/posix-headers/stdint.texi +++ b/doc/posix-headers/stdint.texi @@ -9,7 +9,7 @@ Portability problems fixed by Gnulib: @itemize @item This header file is missing on some platforms: -OpenBSD 3.8, AIX 5.1, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, Interix 3.5, BeOS. +OpenBSD 3.8, AIX 5.1, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, MSVC 9, Interix 3.5, BeOS. @item This header file is very incomplete on some platforms. @item diff --git a/doc/posix-headers/stdio.texi b/doc/posix-headers/stdio.texi index e4157a792..892290f86 100644 --- a/doc/posix-headers/stdio.texi +++ b/doc/posix-headers/stdio.texi @@ -12,7 +12,7 @@ The type @code{off_t} is missing on some platforms: glibc 2.8, eglibc 2.11.2 and others. @item The type @code{ssize_t} is missing on some platforms: -glibc 2.8, MacOS X 10.5, Solaris 10, and others. +glibc 2.8, MacOS X 10.5, Solaris 10, MSVC 9, and others. @item The type @code{va_list} is missing on some platforms: glibc 2.8, OpenBSD 4.0, Solaris 11 2010-11, and others. diff --git a/doc/posix-headers/strings.texi b/doc/posix-headers/strings.texi index 7a4619e4e..63713eede 100644 --- a/doc/posix-headers/strings.texi +++ b/doc/posix-headers/strings.texi @@ -15,6 +15,9 @@ Minix 3.1.8. Portability problems not fixed by Gnulib: @itemize @item +This header file is missing on some platforms: +MSVC 9. +@item This header file defines symbols, such as @samp{index}, often used for variables, making debugging harder. @end itemize diff --git a/doc/posix-headers/stropts.texi b/doc/posix-headers/stropts.texi index c30f693ea..57bd00608 100644 --- a/doc/posix-headers/stropts.texi +++ b/doc/posix-headers/stropts.texi @@ -13,5 +13,5 @@ Portability problems not fixed by Gnulib: @itemize @item This header file is missing on some platforms: -MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, Cygwin, mingw, BeOS. +MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-headers/sys_ipc.texi b/doc/posix-headers/sys_ipc.texi index 74b9201de..eb8e4c73e 100644 --- a/doc/posix-headers/sys_ipc.texi +++ b/doc/posix-headers/sys_ipc.texi @@ -13,5 +13,5 @@ Portability problems not fixed by Gnulib: @itemize @item This header file is missing on some platforms: -mingw, BeOS. +mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-headers/sys_mman.texi b/doc/posix-headers/sys_mman.texi index 0c597ca97..21a523699 100644 --- a/doc/posix-headers/sys_mman.texi +++ b/doc/posix-headers/sys_mman.texi @@ -13,5 +13,5 @@ Portability problems not fixed by Gnulib: @itemize @item This header file is missing on some platforms: -mingw, BeOS. +mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-headers/sys_msg.texi b/doc/posix-headers/sys_msg.texi index e680ba02d..c4ff411c3 100644 --- a/doc/posix-headers/sys_msg.texi +++ b/doc/posix-headers/sys_msg.texi @@ -13,5 +13,5 @@ Portability problems not fixed by Gnulib: @itemize @item This header file is missing on some platforms: -MacOS X 10.3, Minix 3.1.8, mingw, BeOS. +MacOS X 10.3, Minix 3.1.8, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-headers/sys_resource.texi b/doc/posix-headers/sys_resource.texi index 9f6baa5c5..bcd9cc53e 100644 --- a/doc/posix-headers/sys_resource.texi +++ b/doc/posix-headers/sys_resource.texi @@ -13,7 +13,7 @@ Portability problems not fixed by Gnulib: @itemize @item This header file is missing on some platforms: -mingw. +mingw, MSVC 9. @item On some platforms, this header file requires that and diff --git a/doc/posix-headers/sys_select.texi b/doc/posix-headers/sys_select.texi index 2f7cf63e2..71d80a81d 100644 --- a/doc/posix-headers/sys_select.texi +++ b/doc/posix-headers/sys_select.texi @@ -9,7 +9,7 @@ Portability problems fixed by Gnulib: @itemize @item This header file is missing on some platforms: -HP-UX 11.11, NonStop Kernel, mingw, BeOS. +HP-UX 11.11, NonStop Kernel, mingw, MSVC 9, BeOS. @item This header file is not self-contained on some platforms: it requires @code{} to be included first. diff --git a/doc/posix-headers/sys_sem.texi b/doc/posix-headers/sys_sem.texi index 5b704e7ab..c8deba896 100644 --- a/doc/posix-headers/sys_sem.texi +++ b/doc/posix-headers/sys_sem.texi @@ -13,5 +13,5 @@ Portability problems not fixed by Gnulib: @itemize @item This header file is missing on some platforms: -mingw, BeOS. +mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-headers/sys_shm.texi b/doc/posix-headers/sys_shm.texi index b04912c45..ef3f5b4e0 100644 --- a/doc/posix-headers/sys_shm.texi +++ b/doc/posix-headers/sys_shm.texi @@ -13,5 +13,5 @@ Portability problems not fixed by Gnulib: @itemize @item This header file is missing on some platforms: -mingw, BeOS. +mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-headers/sys_socket.texi b/doc/posix-headers/sys_socket.texi index 72fd68870..4aa224ab7 100644 --- a/doc/posix-headers/sys_socket.texi +++ b/doc/posix-headers/sys_socket.texi @@ -9,7 +9,7 @@ Portability problems fixed by Gnulib: @itemize @item This header file is missing on some platforms: -mingw. +mingw, MSVC 9. @item This header file is not self-contained on some platforms: it requires @code{} to be included first. diff --git a/doc/posix-headers/sys_stat.texi b/doc/posix-headers/sys_stat.texi index e4979aaab..47b29f793 100644 --- a/doc/posix-headers/sys_stat.texi +++ b/doc/posix-headers/sys_stat.texi @@ -8,7 +8,11 @@ Gnulib module: sys_stat Portability problems fixed by Gnulib: @itemize @item -Some macros, such as @code{S_IFMT}, are missing on some platforms. +The type @code{mode_t} is not defined on some platforms: +MSVC 9. +@item +Some macros, such as @code{S_IFMT} or @code{S_IFIFO}, are missing on some +platforms. @item The macros @code{S_ISBLK}, @code{S_ISCHR}, @code{S_ISDIR}, @code{S_ISFIFO}, @code{S_ISLNK}, @code{S_ISREG}, @code{S_ISSOCK} are broken on some platforms. @@ -16,7 +20,8 @@ The macros @code{S_ISBLK}, @code{S_ISCHR}, @code{S_ISDIR}, @code{S_ISFIFO}, Some platforms define macros, such as @code{S_ISDOOR}, that are not defined on other platforms. @item -The functions @code{lstat} and @code{mkdir} are not declared on mingw. +The functions @code{lstat} and @code{mkdir} are not declared on some platforms: +mingw, MSVC 9. @item The macros @code{UTIME_NOW} and @code{UTIME_OMIT} are missing on some platforms. @@ -28,4 +33,7 @@ On some platforms, @code{struct stat} does not include @code{st_atim}, Portability problems not fixed by Gnulib: @itemize +@item +The macro @code{S_IFBLK} is missing on some platforms: +MSVC 9. @end itemize diff --git a/doc/posix-headers/sys_statvfs.texi b/doc/posix-headers/sys_statvfs.texi index 0141dbdd4..b4179e3c4 100644 --- a/doc/posix-headers/sys_statvfs.texi +++ b/doc/posix-headers/sys_statvfs.texi @@ -13,5 +13,5 @@ Portability problems not fixed by Gnulib: @itemize @item This header file is missing on some platforms: -MacOS X 10.3, OpenBSD 3.8, mingw. +MacOS X 10.3, OpenBSD 3.8, mingw, MSVC 9. @end itemize diff --git a/doc/posix-headers/sys_time.texi b/doc/posix-headers/sys_time.texi index 77fcd46c5..f935087d2 100644 --- a/doc/posix-headers/sys_time.texi +++ b/doc/posix-headers/sys_time.texi @@ -8,7 +8,8 @@ Gnulib module: sys_time Portability problems fixed by Gnulib: @itemize @item -This header file is missing on some platforms. +This header file is missing on some platforms: +MSVC 9. @item @samp{struct timeval} is not defined on some platforms. @end itemize diff --git a/doc/posix-headers/sys_times.texi b/doc/posix-headers/sys_times.texi index 454ef0e00..d3755924e 100644 --- a/doc/posix-headers/sys_times.texi +++ b/doc/posix-headers/sys_times.texi @@ -9,7 +9,7 @@ Portability problems fixed by Gnulib: @itemize @item This header file is missing on some platforms: -mingw. +mingw, MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-headers/sys_types.texi b/doc/posix-headers/sys_types.texi index 58a5fd679..35d24c0c7 100644 --- a/doc/posix-headers/sys_types.texi +++ b/doc/posix-headers/sys_types.texi @@ -3,10 +3,22 @@ POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/basedefs/sys_types.h.html} -Gnulib module: --- +Gnulib module: sys_types Portability problems fixed by Gnulib: @itemize +@item +The type @code{pid_t} is not defined on some platforms: +MSVC 9. +@item +The type @code{size_t} is not defined in this file on some platforms: +MSVC 9. +@item +The type @code{ssize_t} is not defined on some platforms: +MSVC 9. +@item +The type @code{mode_t} is not defined on some platforms: +MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-headers/sys_uio.texi b/doc/posix-headers/sys_uio.texi index 1f8c8a2c8..0440efe20 100644 --- a/doc/posix-headers/sys_uio.texi +++ b/doc/posix-headers/sys_uio.texi @@ -9,7 +9,7 @@ Portability problems fixed by Gnulib: @itemize @item This header file is missing on some platforms: -mingw. +mingw, MSVC 9. @item This header file is not self-contained (it requires @code{} to be included first) on some platforms: diff --git a/doc/posix-headers/sys_un.texi b/doc/posix-headers/sys_un.texi index 14729507b..78c848e86 100644 --- a/doc/posix-headers/sys_un.texi +++ b/doc/posix-headers/sys_un.texi @@ -13,5 +13,5 @@ Portability problems not fixed by Gnulib: @itemize @item This header file is missing on some platforms: -mingw, BeOS. +mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-headers/sys_utsname.texi b/doc/posix-headers/sys_utsname.texi index 0759d262c..4362038ab 100644 --- a/doc/posix-headers/sys_utsname.texi +++ b/doc/posix-headers/sys_utsname.texi @@ -9,7 +9,7 @@ Portability problems fixed by Gnulib: @itemize @item This header file is missing on some platforms: -mingw. +mingw, MSVC 9. @item This header file is not self-contained on some platforms: Minix 3.1.8. diff --git a/doc/posix-headers/sys_wait.texi b/doc/posix-headers/sys_wait.texi index 6ffed3060..e80c2a9a3 100644 --- a/doc/posix-headers/sys_wait.texi +++ b/doc/posix-headers/sys_wait.texi @@ -9,7 +9,7 @@ Portability problems fixed by Gnulib: @itemize @item This header file is missing on some platforms: -mingw. +mingw, MSVC 9. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-headers/syslog.texi b/doc/posix-headers/syslog.texi index 0e25f4348..7ef54df4c 100644 --- a/doc/posix-headers/syslog.texi +++ b/doc/posix-headers/syslog.texi @@ -13,5 +13,5 @@ Portability problems not fixed by Gnulib: @itemize @item This header file is missing on some platforms: -mingw, BeOS. +mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-headers/tar.texi b/doc/posix-headers/tar.texi index 5531a8eab..80e520458 100644 --- a/doc/posix-headers/tar.texi +++ b/doc/posix-headers/tar.texi @@ -13,5 +13,5 @@ Portability problems not fixed by Gnulib: @itemize @item This header file is missing on some platforms: -Cygwin, mingw, BeOS. +Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-headers/termios.texi b/doc/posix-headers/termios.texi index ba38b1c43..11d4d99bb 100644 --- a/doc/posix-headers/termios.texi +++ b/doc/posix-headers/termios.texi @@ -9,7 +9,7 @@ Portability problems fixed by Gnulib: @itemize @item This header file is missing on some platforms: -mingw. +mingw, MSVC 9. @end itemize Portability problems not fixed by Gnulib: @@ -17,5 +17,5 @@ Portability problems not fixed by Gnulib: @item The types @code{struct termios}, @code{cc_t}, @code{speed_t}, @code{tcflag_t} are not defined on some platforms: -mingw. +mingw, MSVC 9. @end itemize diff --git a/doc/posix-headers/tgmath.texi b/doc/posix-headers/tgmath.texi index 96dcf168f..4d9c1e1b2 100644 --- a/doc/posix-headers/tgmath.texi +++ b/doc/posix-headers/tgmath.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @item This header file is missing on some platforms: MacOS X 10.5, FreeBSD 5.2.1, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +IRIX 6.5, OSF/1 5.1, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-headers/trace.texi b/doc/posix-headers/trace.texi index 5b39fce72..35e6a52a9 100644 --- a/doc/posix-headers/trace.texi +++ b/doc/posix-headers/trace.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @item This header file is missing on some platforms: MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, -IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS. +IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/posix-headers/ucontext.texi b/doc/posix-headers/ucontext.texi index f09a03943..45b05e6b5 100644 --- a/doc/posix-headers/ucontext.texi +++ b/doc/posix-headers/ucontext.texi @@ -13,5 +13,5 @@ Portability problems not fixed by Gnulib: @itemize @item This header file is missing on some platforms: -OpenBSD 3.8, Cygwin, mingw, BeOS. +OpenBSD 3.8, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-headers/ulimit.texi b/doc/posix-headers/ulimit.texi index b8429f7fb..9a3e12c47 100644 --- a/doc/posix-headers/ulimit.texi +++ b/doc/posix-headers/ulimit.texi @@ -13,5 +13,5 @@ Portability problems not fixed by Gnulib: @itemize @item This header file is missing on some platforms: -OpenBSD 3.8, Minix 3.1.8, Cygwin, mingw, BeOS. +OpenBSD 3.8, Minix 3.1.8, Cygwin, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-headers/unistd.texi b/doc/posix-headers/unistd.texi index 41e743aa0..7beb4c25e 100644 --- a/doc/posix-headers/unistd.texi +++ b/doc/posix-headers/unistd.texi @@ -8,7 +8,8 @@ Gnulib module: unistd Portability problems fixed by Gnulib: @itemize @item -This header file is missing on some platforms: msvc. +This header file is missing on some platforms: +MSVC 9. @item The SEEK_* macros are not defined in this file on some platforms: mingw. diff --git a/doc/posix-headers/utime.texi b/doc/posix-headers/utime.texi index cf7a98ff0..cdeb019ea 100644 --- a/doc/posix-headers/utime.texi +++ b/doc/posix-headers/utime.texi @@ -12,6 +12,6 @@ Portability problems fixed by Gnulib: Portability problems not fixed by Gnulib: @itemize @item -This header file is missing on some platforms. Use @code{} +This header file is missing on some platforms: MSVC 9. Use @code{} if @code{} is missing. @end itemize diff --git a/doc/posix-headers/utmpx.texi b/doc/posix-headers/utmpx.texi index 5a0e2152e..138c585b8 100644 --- a/doc/posix-headers/utmpx.texi +++ b/doc/posix-headers/utmpx.texi @@ -13,5 +13,5 @@ Portability problems not fixed by Gnulib: @itemize @item This header file is missing on some platforms: -MacOS X 10.3, FreeBSD 6.0, OpenBSD 3.8, Minix 3.1.8, mingw, BeOS. +MacOS X 10.3, FreeBSD 6.0, OpenBSD 3.8, Minix 3.1.8, mingw, MSVC 9, BeOS. @end itemize diff --git a/doc/posix-headers/wchar.texi b/doc/posix-headers/wchar.texi index 4fc867e85..1478244a3 100644 --- a/doc/posix-headers/wchar.texi +++ b/doc/posix-headers/wchar.texi @@ -16,6 +16,9 @@ OSF/1 with Desktop Toolkit C, BSD/OS 4.0.1. @item The type @code{wint_t} and macro @code{WEOF} are missing on some platforms: IRIX 5.3. +@item +The type @code{wint_t} is incorrect on some platforms: +MSVC 9. @item Some platforms provide a @code{NULL} macro that cannot be used in arbitrary diff --git a/doc/posix-headers/wctype.texi b/doc/posix-headers/wctype.texi index 38c239cb7..6d2e31926 100644 --- a/doc/posix-headers/wctype.texi +++ b/doc/posix-headers/wctype.texi @@ -17,6 +17,9 @@ Solaris 2.5, OSF/1 with Desktop Toolkit C, BSD/OS 4.0.1. The type @code{wint_t} and macro @code{WEOF} are missing on some platforms: IRIX 5.3. @item +The type @code{wint_t} is incorrect on some platforms: +MSVC 9. +@item The functions @code{isw*} are missing on some platforms: FreeBSD 4.11. @item diff --git a/doc/posix-headers/wordexp.texi b/doc/posix-headers/wordexp.texi index 0d153206b..e65e5eaba 100644 --- a/doc/posix-headers/wordexp.texi +++ b/doc/posix-headers/wordexp.texi @@ -13,5 +13,5 @@ Portability problems not fixed by Gnulib: @itemize @item This header file is missing on some platforms: -MacOS X 10.3, OpenBSD 3.8, Minix 3.1.8, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. +MacOS X 10.3, OpenBSD 3.8, Minix 3.1.8, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. @end itemize diff --git a/doc/standards.texi b/doc/standards.texi index 38d2c21f6..bd81464bb 100644 --- a/doc/standards.texi +++ b/doc/standards.texi @@ -3,7 +3,7 @@ @setfilename standards.info @settitle GNU Coding Standards @c This date is automagically updated when you save this file: -@set lastupdate August 1, 2011 +@set lastupdate December 10, 2011 @c %**end of header @dircategory GNU organization @@ -578,7 +578,7 @@ prohibited. How silly! GCC implements many extensions, some of which were later adopted as part of the standard. If you want these constructs to give an error message as ``required'' by the standard, you must specify @samp{--pedantic}, which was implemented only so that -we can say ``GCC is a 100% implementation of the standard,'' not +we can say ``GCC is a 100% implementation of the standard'', not because there is any reason to actually use it. POSIX.2 specifies that @samp{df} and @samp{du} must output sizes by @@ -594,7 +594,7 @@ options with ordinary arguments. This minor incompatibility with POSIX is never a problem in practice, and it is very useful. In particular, don't reject a new feature, or remove an old one, -merely because a standard says it is ``forbidden'' or ``deprecated.'' +merely because a standard says it is ``forbidden'' or ``deprecated''. @node Semantics @@ -611,11 +611,10 @@ are silently truncated''. This is not acceptable in a GNU utility. Utilities reading files should not drop NUL characters, or any other nonprinting characters @emph{including those with codes above 0177}. The only sensible exceptions would be utilities specifically intended -for interface to certain types of terminals or printers -that can't handle those characters. -Whenever possible, try to make programs work properly with -sequences of bytes that represent multibyte characters, using encodings -such as UTF-8 and others. +for interface to certain types of terminals or printers that can't +handle those characters. Whenever possible, try to make programs work +properly with sequences of bytes that represent multibyte characters; +UTF-8 is the most important. @cindex error messages Check every system call for an error return, unless you know you wish @@ -766,10 +765,13 @@ If you want to mention the column number, use one of these formats: @noindent Line numbers should start from 1 at the beginning of the file, and -column numbers should start from 1 at the beginning of the line. (Both -of these conventions are chosen for compatibility.) Calculate column -numbers assuming that space and all ASCII printing characters have -equal width, and assuming tab stops every 8 columns. +column numbers should start from 1 at the beginning of the line. +(Both of these conventions are chosen for compatibility.) Calculate +column numbers assuming that space and all ASCII printing characters +have equal width, and assuming tab stops every 8 columns. For +non-ASCII characters, Unicode character widths should be used when in +a UTF-8 locale; GNU libc and GNU gnulib provide suitable +@code{wcwidth} functions. The error message can also give both the starting and ending positions of the erroneous text. There are several formats so that you can @@ -3170,11 +3172,12 @@ contexts, unless there is good reason to do something else because of the application domain. For example, if source code deals with the French Revolutionary calendar, it is OK if its literal strings contain accented characters in month names like ``Flor@'eal''. Also, it is OK -to use non-ASCII characters to represent proper names of contributors in -change logs (@pxref{Change Logs}). +(but not required) to use non-ASCII characters to represent proper +names of contributors in change logs (@pxref{Change Logs}). -If you need to use non-ASCII characters, you should normally stick with -one encoding, as one cannot in general mix encodings reliably. +If you need to use non-ASCII characters, you should normally stick +with one encoding, certainly within a single file. UTF-8 is likely to +be the best choice. @node Quote Characters @@ -3205,8 +3208,7 @@ this time: there are no true left or right quote characters in Latin1; the @samp{`} character we use was standardized there as a grave accent. Moreover, Latin1 is still not universally usable. -Unicode contains the unambiguous quote characters required, and its -common encoding UTF-8 is upward compatible with Latin1. However, +Unicode contains the unambiguous quote characters required. However, Unicode and UTF-8 are not universally well-supported, either. This may change over the next few years, and then we will revisit @@ -3226,10 +3228,11 @@ doing the job in another way using @code{read} and @code{write}. The reason this precaution is needed is that the GNU kernel (the HURD) provides a user-extensible file system, in which there can be many -different kinds of ``ordinary files.'' Many of them support +different kinds of ``ordinary files''. Many of them support @code{mmap}, but some do not. It is important to make programs handle all these kinds of files. + @node Documentation @chapter Documenting Programs @cindex documentation @@ -4162,7 +4165,7 @@ things in the GNU system even if they are free---they are outside the scope of what a software distribution needs to include. Referring to a web site that describes or recommends a non-free -program is promoting that program, so please do not make links (or +program is promoting that program, so please do not make links to (or mention by name) web sites that contain such material. This policy is relevant particularly for the web pages for a GNU package. diff --git a/gnulib-tool b/gnulib-tool index daacb0263..69ff2a164 100755 --- a/gnulib-tool +++ b/gnulib-tool @@ -348,10 +348,22 @@ func_emit_copyright_notice () q }' < "$self_abspathname" echo "#" - echo "# This file is free software, distributed under the terms of the GNU" - echo "# General Public License. As a special exception to the GNU General" - echo "# Public License, this file may be distributed as part of a program" - echo "# that contains a configuration script generated by Autoconf, under" + echo "# This file is free software; you can redistribute it and/or modify" + echo "# it under the terms of the GNU General Public License as published by" + echo "# the Free Software Foundation; either version 3 of the License, or" + echo "# (at your option) any later version." + echo "#" + echo "# This file is distributed in the hope that it will be useful," + echo "# but WITHOUT ANY WARRANTY; without even the implied warranty of" + echo "# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the" + echo "# GNU General Public License for more details." + echo "#" + echo "# You should have received a copy of the GNU General Public License" + echo "# along with this file. If not, see ." + echo "#" + echo "# As a special exception to the GNU General Public License," + echo "# this file may be distributed as part of a program that" + echo "# contains a configuration script generated by Autoconf, under" echo "# the same distribution terms as the rest of that program." echo "#" echo "# Generated by gnulib-tool." @@ -2718,7 +2730,7 @@ func_modules_transitive_closure () ;; esac done - if $inc; then + if $inc && func_acceptable "$dep"; then func_append inmodules " $dep" if test "$cond_dependencies" = true; then escaped_dep=`echo "$dep" | sed -e "$sed_escape_dependency"` @@ -3840,6 +3852,8 @@ func_emit_initmacro_done () # - local_gnulib_dir from --local-dir # - modcache true or false, from --cache-modules/--no-cache-modules # - sed_replace_build_aux sed expression that replaces reference to build-aux +# - sed_replace_include_guard_prefix +# sed expression for resolving ${gl_include_guard_prefix} # - module the module name # - toplevel true or false. 'false' means a subordinate use of # gnulib-tool. @@ -3862,6 +3876,7 @@ func_emit_autoconf_snippet () func_get_autoconf_snippet "$module" \ | sed -e '/^$/d;' -e "s/^/$indentation/" \ -e "$sed_replace_build_aux" \ + -e "$sed_replace_include_guard_prefix" \ | { if $disable_libtool; then sed -e 's/\$gl_cond_libtool/false/g' \ -e 's/gl_libdeps/gltests_libdeps/g' \ @@ -3891,6 +3906,8 @@ func_emit_autoconf_snippet () # - local_gnulib_dir from --local-dir # - modcache true or false, from --cache-modules/--no-cache-modules # - sed_replace_build_aux sed expression that replaces reference to build-aux +# - sed_replace_include_guard_prefix +# sed expression for resolving ${gl_include_guard_prefix} # - modules the list of modules. # - verifier one of func_verify_module, func_verify_nontests_module, # func_verify_tests_module. It selects the subset of @@ -3909,6 +3926,7 @@ func_emit_autoconf_snippets () disable_libtool="$4" disable_gettext="$5" if test "$cond_dependencies" = true; then + for m in $modules; do echo $m; done | LC_ALL=C sort -u > "$tmp"/modules # Emit the autoconf code for the unconditional modules. for module in $1; do eval $verifier @@ -3945,12 +3963,14 @@ func_emit_autoconf_snippets () func_emit_autoconf_snippet " " echo " $shellvar=true" deps=`func_get_dependencies $module | sed -e "$sed_dependencies_without_conditions"` + # Intersect $deps with the modules list $1. + deps=`for m in $deps; do echo $m; done | LC_ALL=C sort -u | LC_ALL=C join - "$tmp"/modules` for dep in $deps; do if func_cond_module_p "$dep"; then func_module_shellfunc_name "$dep" func_cond_module_condition "$module" "$dep" if test "$condition" != true; then - echo ' if $condition; then' + echo " if $condition; then" echo " $shellfunc" echo ' fi' else @@ -3975,6 +3995,8 @@ func_emit_autoconf_snippets () : else deps=`func_get_dependencies $module | sed -e "$sed_dependencies_without_conditions"` + # Intersect $deps with the modules list $1. + deps=`for m in $deps; do echo $m; done | LC_ALL=C sort -u | LC_ALL=C join - "$tmp"/modules` for dep in $deps; do if func_cond_module_p "$dep"; then func_module_shellfunc_name "$dep" @@ -5448,7 +5470,16 @@ s,//*$,/,' echo " - mention \"${val}\" in ${var} in ${dir}Makefile.am," fi done - echo " - invoke ${macro_prefix}_EARLY in $configure_ac, right after AC_PROG_CC," + if grep '^ *AC_PROG_CC_STDC' "$configure_ac" > /dev/null; then + position_early_after=AC_PROG_CC_STDC + else + if grep '^ *AC_PROG_CC_C99' "$configure_ac" > /dev/null; then + position_early_after=AC_PROG_CC_C99 + else + position_early_after=AC_PROG_CC + fi + fi + echo " - invoke ${macro_prefix}_EARLY in $configure_ac, right after $position_early_after," echo " - invoke ${macro_prefix}_INIT in $configure_ac." } @@ -6486,6 +6517,9 @@ s/\([.*$]\)/[\1]/g' ;; extract-dependencies ) + if test -n "$avoidlist"; then + func_fatal_error "cannot combine --avoid and --extract-dependencies" + fi for module do func_verify_module diff --git a/lib/accept.c b/lib/accept.c index 5591fa50a..01faf5420 100644 --- a/lib/accept.c +++ b/lib/accept.c @@ -31,12 +31,22 @@ int rpl_accept (int fd, struct sockaddr *addr, socklen_t *addrlen) { - SOCKET fh = accept (FD_TO_SOCKET (fd), addr, addrlen); - if (fh == INVALID_SOCKET) + SOCKET sock = FD_TO_SOCKET (fd); + + if (sock == INVALID_SOCKET) { - set_winsock_errno (); + errno = EBADF; return -1; } else - return SOCKET_TO_FD (fh); + { + SOCKET fh = accept (sock, addr, addrlen); + if (fh == INVALID_SOCKET) + { + set_winsock_errno (); + return -1; + } + else + return SOCKET_TO_FD (fh); + } } diff --git a/lib/accept4.c b/lib/accept4.c index 1e7e7f452..4e1ef1a53 100644 --- a/lib/accept4.c +++ b/lib/accept4.c @@ -23,6 +23,7 @@ #include #include #include "binary-io.h" +#include "msvc-nothrow.h" #ifndef SOCK_CLOEXEC # define SOCK_CLOEXEC 0 diff --git a/lib/acl-internal.h b/lib/acl-internal.h index b50966647..7a105c8de 100644 --- a/lib/acl-internal.h +++ b/lib/acl-internal.h @@ -133,12 +133,6 @@ rpl_acl_set_fd (int fd, acl_t acl) # endif /* Linux-specific */ -# ifndef HAVE_ACL_EXTENDED_FILE_NOFOLLOW -# define HAVE_ACL_EXTENDED_FILE_NOFOLLOW false -# define acl_extended_file_nofollow(name) (-1) -# endif - -/* Linux-specific */ # ifndef HAVE_ACL_FROM_MODE # define HAVE_ACL_FROM_MODE false # define acl_from_mode(mode) (NULL) @@ -146,7 +140,7 @@ rpl_acl_set_fd (int fd, acl_t acl) /* Set to 1 if a file's mode is implicit by the ACL. Set to 0 if a file's mode is stored independently from the ACL. */ -# if HAVE_ACL_COPY_EXT_NATIVE && HAVE_ACL_CREATE_ENTRY_NP /* MacOS X */ +# if (HAVE_ACL_COPY_EXT_NATIVE && HAVE_ACL_CREATE_ENTRY_NP) || defined __sgi /* MacOS X, IRIX */ # define MODE_INSIDE_ACL 0 # else # define MODE_INSIDE_ACL 1 @@ -183,13 +177,11 @@ extern int acl_access_nontrivial (acl_t); # define MODE_INSIDE_ACL 1 # endif -# if !defined ACL_NO_TRIVIAL /* Solaris <= 10, Cygwin */ - /* Return 1 if the given ACL is non-trivial. Return 0 if it is trivial, i.e. equivalent to a simple stat() mode. */ extern int acl_nontrivial (int count, aclent_t *entries); -# ifdef ACE_GETACL /* Solaris 10 */ +# ifdef ACE_GETACL /* Solaris 10 */ /* Test an ACL retrieved with ACE_GETACL. Return 1 if the given ACL, consisting of COUNT entries, is non-trivial. @@ -199,19 +191,33 @@ extern int acl_ace_nontrivial (int count, ace_t *entries); /* Definitions for when the built executable is executed on Solaris 10 (newer version) or Solaris 11. */ /* For a_type. */ -# define ACE_ACCESS_ALLOWED_ACE_TYPE 0 /* replaces ALLOW */ -# define ACE_ACCESS_DENIED_ACE_TYPE 1 /* replaces DENY */ +# define OLD_ALLOW 0 +# define OLD_DENY 1 +# define NEW_ACE_ACCESS_ALLOWED_ACE_TYPE 0 /* replaces ALLOW */ +# define NEW_ACE_ACCESS_DENIED_ACE_TYPE 1 /* replaces DENY */ /* For a_flags. */ -# define NEW_ACE_OWNER 0x1000 -# define NEW_ACE_GROUP 0x2000 -# define NEW_ACE_IDENTIFIER_GROUP 0x0040 -# define ACE_EVERYONE 0x4000 +# define OLD_ACE_OWNER 0x0100 +# define OLD_ACE_GROUP 0x0200 +# define OLD_ACE_OTHER 0x0400 +# define NEW_ACE_OWNER 0x1000 +# define NEW_ACE_GROUP 0x2000 +# define NEW_ACE_IDENTIFIER_GROUP 0x0040 +# define NEW_ACE_EVERYONE 0x4000 /* For a_access_mask. */ -# define NEW_ACE_READ_DATA 0x001 /* corresponds to 'r' */ -# define NEW_ACE_WRITE_DATA 0x002 /* corresponds to 'w' */ -# define NEW_ACE_EXECUTE 0x004 /* corresponds to 'x' */ - -# endif +# define NEW_ACE_READ_DATA 0x001 /* corresponds to 'r' */ +# define NEW_ACE_WRITE_DATA 0x002 /* corresponds to 'w' */ +# define NEW_ACE_APPEND_DATA 0x004 +# define NEW_ACE_READ_NAMED_ATTRS 0x008 +# define NEW_ACE_WRITE_NAMED_ATTRS 0x010 +# define NEW_ACE_EXECUTE 0x020 +# define NEW_ACE_DELETE_CHILD 0x040 +# define NEW_ACE_READ_ATTRIBUTES 0x080 +# define NEW_ACE_WRITE_ATTRIBUTES 0x100 +# define NEW_ACE_DELETE 0x10000 +# define NEW_ACE_READ_ACL 0x20000 +# define NEW_ACE_WRITE_ACL 0x40000 +# define NEW_ACE_WRITE_OWNER 0x80000 +# define NEW_ACE_SYNCHRONIZE 0x100000 # endif diff --git a/lib/acosf.c b/lib/acosf.c new file mode 100644 index 000000000..25c9262e9 --- /dev/null +++ b/lib/acosf.c @@ -0,0 +1,26 @@ +/* Inverse cosine function. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include + +float +acosf (float x) +{ + return (float) acos ((double) x); +} diff --git a/lib/acosl.c b/lib/acosl.c index 260a4370e..c86463137 100644 --- a/lib/acosl.c +++ b/lib/acosl.c @@ -14,6 +14,16 @@ /* Specification. */ #include +#if HAVE_SAME_LONG_DOUBLE_AS_DOUBLE + +long double +acosl (long double x) +{ + return acos (x); +} + +#else + /* Long double expansions contributed by Stephen L. Moshier @@ -186,6 +196,8 @@ acosl (long double x) return 2 * asinl (sqrtl ((1 - x) / 2)); } +#endif + #if 0 int main (void) diff --git a/lib/alignof.h b/lib/alignof.h index 9b8e00dbc..bff393092 100644 --- a/lib/alignof.h +++ b/lib/alignof.h @@ -20,8 +20,11 @@ #include -/* Determine the alignment of a structure slot (field) of a given type, +/* alignof_slot (TYPE) + Determine the alignment of a structure slot (field) of a given type, at compile time. Note that the result depends on the ABI. + This is the same as alignof (TYPE) and _Alignof (TYPE), defined in + if __alignof_is_defined is 1. Note: The result cannot be used as a value for an 'enum' constant, due to bugs in HP-UX 10.20 cc and AIX 3.2.5 xlc. */ #if defined __cplusplus @@ -31,7 +34,8 @@ # define alignof_slot(type) offsetof (struct { char __slot1; type __slot2; }, __slot2) #endif -/* Determine the good alignment of an object of the given type at compile time. +/* alignof_type (TYPE) + Determine the good alignment of an object of the given type at compile time. Note that this is not necessarily the same as alignof_slot(type). For example, with GNU C on x86 platforms: alignof_type(double) = 8, but - when -malign-double is not specified: alignof_slot(double) = 4, @@ -44,10 +48,4 @@ # define alignof_type alignof_slot #endif -/* alignof is an alias for alignof_slot semantics, since that's what most - callers need. - Note: The result cannot be used as a value for an 'enum' constant, - due to bugs in HP-UX 10.20 cc and AIX 3.2.5 xlc. */ -#define alignof alignof_slot - #endif /* _ALIGNOF_H */ diff --git a/lib/argmatch.h b/lib/argmatch.h index f87729dd6..b1a119368 100644 --- a/lib/argmatch.h +++ b/lib/argmatch.h @@ -40,7 +40,7 @@ to the same values in VALLIST). */ ptrdiff_t argmatch (char const *arg, char const *const *arglist, - char const *vallist, size_t valsize); + char const *vallist, size_t valsize) _GL_ATTRIBUTE_PURE; # define ARGMATCH(Arg, Arglist, Vallist) \ argmatch (Arg, Arglist, (char const *) (Vallist), sizeof *(Vallist)) @@ -93,7 +93,8 @@ ptrdiff_t __xargmatch_internal (char const *context, char const *argmatch_to_argument (char const *value, char const *const *arglist, - char const *vallist, size_t valsize); + char const *vallist, size_t valsize) + _GL_ATTRIBUTE_PURE; # define ARGMATCH_TO_ARGUMENT(Value, Arglist, Vallist) \ argmatch_to_argument (Value, Arglist, \ diff --git a/lib/argp-help.c b/lib/argp-help.c index 0cc583858..ec7fcda60 100644 --- a/lib/argp-help.c +++ b/lib/argp-help.c @@ -891,7 +891,8 @@ hol_append (struct hol *hol, struct hol *more) /* Fix up the short options pointers from HOL. */ for (e = entries, left = hol->num_entries; left > 0; e++, left--) - e->short_options += (short_options - hol->short_options); + e->short_options = + short_options + (e->short_options - hol->short_options); /* Now add the short options from MORE, fixing up its entries too. */ diff --git a/lib/argp-parse.c b/lib/argp-parse.c index 5cab8cec3..64360beac 100644 --- a/lib/argp-parse.c +++ b/lib/argp-parse.c @@ -21,6 +21,7 @@ #endif #include +#include #include #include #include @@ -42,7 +43,6 @@ #include "argp.h" #include "argp-namefrob.h" -#define alignof(type) offsetof (struct { char c; type x; }, x) #define alignto(n, d) ((((n) + (d) - 1) / (d)) * (d)) /* Getopt return values. */ diff --git a/lib/argv-iter.h b/lib/argv-iter.h index 9f76f2896..73db77d1e 100644 --- a/lib/argv-iter.h +++ b/lib/argv-iter.h @@ -37,6 +37,6 @@ struct argv_iterator *argv_iter_init_stream (FILE *fp) char *argv_iter (struct argv_iterator *, enum argv_iter_err *) _GL_ARG_NONNULL ((1, 2)); size_t argv_iter_n_args (struct argv_iterator const *) - _GL_ARG_NONNULL ((1)); + _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1)); void argv_iter_free (struct argv_iterator *) _GL_ARG_NONNULL ((1)); diff --git a/lib/arpa_inet.in.h b/lib/arpa_inet.in.h index b042d6de8..bf1831623 100644 --- a/lib/arpa_inet.in.h +++ b/lib/arpa_inet.in.h @@ -58,7 +58,6 @@ #if @GNULIB_INET_NTOP@ -# if !@HAVE_DECL_INET_NTOP@ /* Converts an internet address from internal format to a printable, presentable format. AF is an internet address family, such as AF_INET or AF_INET6. @@ -74,16 +73,31 @@ For more details, see the POSIX:2001 specification . */ +# if @REPLACE_INET_NTOP@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef inet_ntop +# define inet_ntop rpl_inet_ntop +# endif +_GL_FUNCDECL_RPL (inet_ntop, const char *, + (int af, const void *restrict src, + char *restrict dst, socklen_t cnt) + _GL_ARG_NONNULL ((2, 3))); +_GL_CXXALIAS_RPL (inet_ntop, const char *, + (int af, const void *restrict src, + char *restrict dst, socklen_t cnt)); +# else +# if !@HAVE_DECL_INET_NTOP@ _GL_FUNCDECL_SYS (inet_ntop, const char *, (int af, const void *restrict src, char *restrict dst, socklen_t cnt) _GL_ARG_NONNULL ((2, 3))); -# endif +# endif /* Need to cast, because on NonStop Kernel, the fourth parameter is size_t cnt. */ _GL_CXXALIAS_SYS_CAST (inet_ntop, const char *, (int af, const void *restrict src, char *restrict dst, socklen_t cnt)); +# endif _GL_CXXALIASWARN (inet_ntop); #elif defined GNULIB_POSIXCHECK # undef inet_ntop @@ -94,13 +108,25 @@ _GL_WARN_ON_USE (inet_ntop, "inet_ntop is unportable - " #endif #if @GNULIB_INET_PTON@ -# if !@HAVE_DECL_INET_PTON@ +# if @REPLACE_INET_PTON@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef inet_pton +# define inet_pton rpl_inet_pton +# endif +_GL_FUNCDECL_RPL (inet_pton, int, + (int af, const char *restrict src, void *restrict dst) + _GL_ARG_NONNULL ((2, 3))); +_GL_CXXALIAS_RPL (inet_pton, int, + (int af, const char *restrict src, void *restrict dst)); +# else +# if !@HAVE_DECL_INET_PTON@ _GL_FUNCDECL_SYS (inet_pton, int, (int af, const char *restrict src, void *restrict dst) _GL_ARG_NONNULL ((2, 3))); -# endif +# endif _GL_CXXALIAS_SYS (inet_pton, int, (int af, const char *restrict src, void *restrict dst)); +# endif _GL_CXXALIASWARN (inet_pton); #elif defined GNULIB_POSIXCHECK # undef inet_pton diff --git a/lib/asinf.c b/lib/asinf.c new file mode 100644 index 000000000..82f1d346d --- /dev/null +++ b/lib/asinf.c @@ -0,0 +1,26 @@ +/* Inverse sine function. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include + +float +asinf (float x) +{ + return (float) asin ((double) x); +} diff --git a/lib/asinl.c b/lib/asinl.c index cda04c8ae..6e4368db2 100644 --- a/lib/asinl.c +++ b/lib/asinl.c @@ -14,6 +14,16 @@ /* Specification. */ #include +#if HAVE_SAME_LONG_DOUBLE_AS_DOUBLE + +long double +asinl (long double x) +{ + return asin (x); +} + +#else + /* Long double expansions contributed by Stephen L. Moshier @@ -188,6 +198,8 @@ asinl (long double x) return t * sign; } +#endif + #if 0 int main (void) diff --git a/lib/at-func.c b/lib/at-func.c index 52868bcb9..5d1cd146c 100644 --- a/lib/at-func.c +++ b/lib/at-func.c @@ -1,4 +1,4 @@ -/* Define an at-style functions like fstatat, unlinkat, fchownat, etc. +/* Define at-style functions like fstatat, unlinkat, fchownat, etc. Copyright (C) 2006, 2009-2011 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify diff --git a/lib/at-func2.c b/lib/at-func2.c index da691fef2..0983a77f3 100644 --- a/lib/at-func2.c +++ b/lib/at-func2.c @@ -1,4 +1,4 @@ -/* Define an at-style functions like linkat or renameat. +/* Define 2-FD at-style functions like linkat or renameat. Copyright (C) 2006, 2009-2011 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify diff --git a/lib/atan2f.c b/lib/atan2f.c new file mode 100644 index 000000000..09771f6a3 --- /dev/null +++ b/lib/atan2f.c @@ -0,0 +1,26 @@ +/* Angle of a point in the plane. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include + +float +atan2f (float y, float x) +{ + return (float) atan2 ((double) y, (double) x); +} diff --git a/lib/atanf.c b/lib/atanf.c new file mode 100644 index 000000000..f8bd4f19e --- /dev/null +++ b/lib/atanf.c @@ -0,0 +1,26 @@ +/* Inverse tangent function. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include + +float +atanf (float x) +{ + return (float) atan ((double) x); +} diff --git a/lib/atanl.c b/lib/atanl.c index 22a882d4d..4d09c2f20 100644 --- a/lib/atanl.c +++ b/lib/atanl.c @@ -18,6 +18,16 @@ /* Specification. */ #include +#if HAVE_SAME_LONG_DOUBLE_AS_DOUBLE + +long double +atanl (long double x) +{ + return atan (x); +} + +#else + /* s_atanl.c * * Inverse circular tangent for 128-bit long double precision @@ -222,3 +232,5 @@ atanl (long double x) else return u; } + +#endif diff --git a/lib/base32.c b/lib/base32.c new file mode 100644 index 000000000..45af45c4b --- /dev/null +++ b/lib/base32.c @@ -0,0 +1,588 @@ +/* base32.c -- Encode binary data using printable characters. + Copyright (C) 1999-2001, 2004-2006, 2009-2011 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +/* Adapted from Simon Josefsson's base64 code by Gijs van Tulder. + * + * See also RFC 4648 . + * + * Be careful with error checking. Here is how you would typically + * use these functions: + * + * bool ok = base32_decode_alloc (in, inlen, &out, &outlen); + * if (!ok) + * FAIL: input was not valid base32 + * if (out == NULL) + * FAIL: memory allocation error + * OK: data in OUT/OUTLEN + * + * size_t outlen = base32_encode_alloc (in, inlen, &out); + * if (out == NULL && outlen == 0 && inlen != 0) + * FAIL: input too long + * if (out == NULL) + * FAIL: memory allocation error + * OK: data in OUT/OUTLEN. + * + */ + +#include + +/* Get prototype. */ +#include "base32.h" + +/* Get malloc. */ +#include + +/* Get UCHAR_MAX. */ +#include + +#include + +/* C89 compliant way to cast 'char' to 'unsigned char'. */ +static inline unsigned char +to_uchar (char ch) +{ + return ch; +} + +/* Base32 encode IN array of size INLEN into OUT array of size OUTLEN. + If OUTLEN is less than BASE32_LENGTH(INLEN), write as many bytes as + possible. If OUTLEN is larger than BASE32_LENGTH(INLEN), also zero + terminate the output buffer. */ +void +base32_encode (const char *restrict in, size_t inlen, + char *restrict out, size_t outlen) +{ + static const char b32str[32] = + "ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"; + + while (inlen && outlen) + { + *out++ = b32str[(to_uchar (in[0]) >> 3) & 0x1f]; + if (!--outlen) + break; + *out++ = b32str[((to_uchar (in[0]) << 2) + + (--inlen ? to_uchar (in[1]) >> 6 : 0)) + & 0x1f]; + if (!--outlen) + break; + *out++ = + (inlen + ? b32str[(to_uchar (in[1]) >> 1) & 0x1f] + : '='); + if (!--outlen) + break; + *out++ = + (inlen + ? b32str[((to_uchar (in[1]) << 4) + + (--inlen ? to_uchar (in[2]) >> 4 : 0)) + & 0x1f] + : '='); + if (!--outlen) + break; + *out++ = + (inlen + ? b32str[((to_uchar (in[2]) << 1) + + (--inlen ? to_uchar (in[3]) >> 7 : 0)) + & 0x1f] + : '='); + if (!--outlen) + break; + *out++ = + (inlen + ? b32str[(to_uchar (in[3]) >> 2) & 0x1f] + : '='); + if (!--outlen) + break; + *out++ = + (inlen + ? b32str[((to_uchar (in[3]) << 3) + + (--inlen ? to_uchar (in[4]) >> 5 : 0)) + & 0x1f] + : '='); + if (!--outlen) + break; + *out++ = inlen ? b32str[to_uchar (in[4]) & 0x1f] : '='; + if (!--outlen) + break; + if (inlen) + inlen--; + if (inlen) + in += 5; + } + + if (outlen) + *out = '\0'; +} + +/* Allocate a buffer and store zero terminated base32 encoded data + from array IN of size INLEN, returning BASE32_LENGTH(INLEN), i.e., + the length of the encoded data, excluding the terminating zero. On + return, the OUT variable will hold a pointer to newly allocated + memory that must be deallocated by the caller. If output string + length would overflow, 0 is returned and OUT is set to NULL. If + memory allocation failed, OUT is set to NULL, and the return value + indicates length of the requested memory block, i.e., + BASE32_LENGTH(inlen) + 1. */ +size_t +base32_encode_alloc (const char *in, size_t inlen, char **out) +{ + size_t outlen = 1 + BASE32_LENGTH (inlen); + + /* Check for overflow in outlen computation. + * + * If there is no overflow, outlen >= inlen. + * + * TODO Is this a sufficient check? (See the notes in base64.c.) + */ + if (inlen > outlen) + { + *out = NULL; + return 0; + } + + *out = malloc (outlen); + if (!*out) + return outlen; + + base32_encode (in, inlen, *out, outlen); + + return outlen - 1; +} + +/* With this approach this file works independent of the charset used + (think EBCDIC). However, it does assume that the characters in the + Base32 alphabet (A-Z2-7) are encoded in 0..255. POSIX + 1003.1-2001 require that char and unsigned char are 8-bit + quantities, though, taking care of that problem. But this may be a + potential problem on non-POSIX C99 platforms. + + IBM C V6 for AIX mishandles "#define B32(x) ...'x'...", so use "_" + as the formal parameter rather than "x". */ +#define B32(_) \ + ((_) == 'A' ? 0 \ + : (_) == 'B' ? 1 \ + : (_) == 'C' ? 2 \ + : (_) == 'D' ? 3 \ + : (_) == 'E' ? 4 \ + : (_) == 'F' ? 5 \ + : (_) == 'G' ? 6 \ + : (_) == 'H' ? 7 \ + : (_) == 'I' ? 8 \ + : (_) == 'J' ? 9 \ + : (_) == 'K' ? 10 \ + : (_) == 'L' ? 11 \ + : (_) == 'M' ? 12 \ + : (_) == 'N' ? 13 \ + : (_) == 'O' ? 14 \ + : (_) == 'P' ? 15 \ + : (_) == 'Q' ? 16 \ + : (_) == 'R' ? 17 \ + : (_) == 'S' ? 18 \ + : (_) == 'T' ? 19 \ + : (_) == 'U' ? 20 \ + : (_) == 'V' ? 21 \ + : (_) == 'W' ? 22 \ + : (_) == 'X' ? 23 \ + : (_) == 'Y' ? 24 \ + : (_) == 'Z' ? 25 \ + : (_) == '2' ? 26 \ + : (_) == '3' ? 27 \ + : (_) == '4' ? 28 \ + : (_) == '5' ? 29 \ + : (_) == '6' ? 30 \ + : (_) == '7' ? 31 \ + : -1) + +static const signed char b32[0x100] = { + B32 (0), B32 (1), B32 (2), B32 (3), + B32 (4), B32 (5), B32 (6), B32 (7), + B32 (8), B32 (9), B32 (10), B32 (11), + B32 (12), B32 (13), B32 (14), B32 (15), + B32 (16), B32 (17), B32 (18), B32 (19), + B32 (20), B32 (21), B32 (22), B32 (23), + B32 (24), B32 (25), B32 (26), B32 (27), + B32 (28), B32 (29), B32 (30), B32 (31), + B32 (32), B32 (33), B32 (34), B32 (35), + B32 (36), B32 (37), B32 (38), B32 (39), + B32 (40), B32 (41), B32 (42), B32 (43), + B32 (44), B32 (45), B32 (46), B32 (47), + B32 (48), B32 (49), B32 (50), B32 (51), + B32 (52), B32 (53), B32 (54), B32 (55), + B32 (56), B32 (57), B32 (58), B32 (59), + B32 (60), B32 (61), B32 (62), B32 (63), + B32 (32), B32 (65), B32 (66), B32 (67), + B32 (68), B32 (69), B32 (70), B32 (71), + B32 (72), B32 (73), B32 (74), B32 (75), + B32 (76), B32 (77), B32 (78), B32 (79), + B32 (80), B32 (81), B32 (82), B32 (83), + B32 (84), B32 (85), B32 (86), B32 (87), + B32 (88), B32 (89), B32 (90), B32 (91), + B32 (92), B32 (93), B32 (94), B32 (95), + B32 (96), B32 (97), B32 (98), B32 (99), + B32 (100), B32 (101), B32 (102), B32 (103), + B32 (104), B32 (105), B32 (106), B32 (107), + B32 (108), B32 (109), B32 (110), B32 (111), + B32 (112), B32 (113), B32 (114), B32 (115), + B32 (116), B32 (117), B32 (118), B32 (119), + B32 (120), B32 (121), B32 (122), B32 (123), + B32 (124), B32 (125), B32 (126), B32 (127), + B32 (128), B32 (129), B32 (130), B32 (131), + B32 (132), B32 (133), B32 (134), B32 (135), + B32 (136), B32 (137), B32 (138), B32 (139), + B32 (140), B32 (141), B32 (142), B32 (143), + B32 (144), B32 (145), B32 (146), B32 (147), + B32 (148), B32 (149), B32 (150), B32 (151), + B32 (152), B32 (153), B32 (154), B32 (155), + B32 (156), B32 (157), B32 (158), B32 (159), + B32 (160), B32 (161), B32 (162), B32 (163), + B32 (132), B32 (165), B32 (166), B32 (167), + B32 (168), B32 (169), B32 (170), B32 (171), + B32 (172), B32 (173), B32 (174), B32 (175), + B32 (176), B32 (177), B32 (178), B32 (179), + B32 (180), B32 (181), B32 (182), B32 (183), + B32 (184), B32 (185), B32 (186), B32 (187), + B32 (188), B32 (189), B32 (190), B32 (191), + B32 (192), B32 (193), B32 (194), B32 (195), + B32 (196), B32 (197), B32 (198), B32 (199), + B32 (200), B32 (201), B32 (202), B32 (203), + B32 (204), B32 (205), B32 (206), B32 (207), + B32 (208), B32 (209), B32 (210), B32 (211), + B32 (212), B32 (213), B32 (214), B32 (215), + B32 (216), B32 (217), B32 (218), B32 (219), + B32 (220), B32 (221), B32 (222), B32 (223), + B32 (224), B32 (225), B32 (226), B32 (227), + B32 (228), B32 (229), B32 (230), B32 (231), + B32 (232), B32 (233), B32 (234), B32 (235), + B32 (236), B32 (237), B32 (238), B32 (239), + B32 (240), B32 (241), B32 (242), B32 (243), + B32 (244), B32 (245), B32 (246), B32 (247), + B32 (248), B32 (249), B32 (250), B32 (251), + B32 (252), B32 (253), B32 (254), B32 (255) +}; + +#if UCHAR_MAX == 255 +# define uchar_in_range(c) true +#else +# define uchar_in_range(c) ((c) <= 255) +#endif + +/* Return true if CH is a character from the Base32 alphabet, and + false otherwise. Note that '=' is padding and not considered to be + part of the alphabet. */ +bool +isbase32 (char ch) +{ + return uchar_in_range (to_uchar (ch)) && 0 <= b32[to_uchar (ch)]; +} + +/* Initialize decode-context buffer, CTX. */ +void +base32_decode_ctx_init (struct base32_decode_context *ctx) +{ + ctx->i = 0; +} + +/* If CTX->i is 0 or 8, there are eight or more bytes in [*IN..IN_END), and + none of those eight is a newline, then return *IN. Otherwise, copy up to + 4 - CTX->i non-newline bytes from that range into CTX->buf, starting at + index CTX->i and setting CTX->i to reflect the number of bytes copied, + and return CTX->buf. In either case, advance *IN to point to the byte + after the last one processed, and set *N_NON_NEWLINE to the number of + verified non-newline bytes accessible through the returned pointer. */ +static inline char * +get_8 (struct base32_decode_context *ctx, + char const *restrict *in, char const *restrict in_end, + size_t *n_non_newline) +{ + if (ctx->i == 8) + ctx->i = 0; + + if (ctx->i == 0) + { + char const *t = *in; + if (8 <= in_end - *in && memchr (t, '\n', 8) == NULL) + { + /* This is the common case: no newline. */ + *in += 8; + *n_non_newline = 8; + return (char *) t; + } + } + + { + /* Copy non-newline bytes into BUF. */ + char const *p = *in; + while (p < in_end) + { + char c = *p++; + if (c != '\n') + { + ctx->buf[ctx->i++] = c; + if (ctx->i == 8) + break; + } + } + + *in = p; + *n_non_newline = ctx->i; + return ctx->buf; + } +} + +#define return_false \ + do \ + { \ + *outp = out; \ + return false; \ + } \ + while (false) + +/* Decode eight bytes of base32-encoded data, IN, of length INLEN + into the output buffer, *OUT, of size *OUTLEN bytes. Return true if + decoding is successful, false otherwise. If *OUTLEN is too small, + as many bytes as possible are written to *OUT. On return, advance + *OUT to point to the byte after the last one written, and decrement + *OUTLEN to reflect the number of bytes remaining in *OUT. */ +static inline bool +decode_8 (char const *restrict in, size_t inlen, + char *restrict *outp, size_t *outleft) +{ + char *out = *outp; + if (inlen < 8) + return false; + + if (!isbase32 (in[0]) || !isbase32 (in[1]) ) + return false; + + if (*outleft) + { + *out++ = ((b32[to_uchar (in[0])] << 3) + | (b32[to_uchar (in[1])] >> 2)); + --*outleft; + } + + if (in[2] == '=') + { + if (in[3] != '=' || in[4] != '=' || in[5] != '=' + || in[6] != '=' || in[7] != '=') + return_false; + } + else + { + if (!isbase32 (in[2]) || !isbase32 (in[3])) + return_false; + + if (*outleft) + { + *out++ = ((b32[to_uchar (in[1])] << 6) + | (b32[to_uchar (in[2])] << 1) + | (b32[to_uchar (in[3])] >> 4)); + --*outleft; + } + + if (in[4] == '=') + { + if (in[5] != '=' || in[6] != '=' || in[7] != '=') + return_false; + } + else + { + if (!isbase32 (in[4])) + return_false; + + if (*outleft) + { + *out++ = ((b32[to_uchar (in[3])] << 4) + | (b32[to_uchar (in[4])] >> 1)); + --*outleft; + } + + if (in[5] == '=') + { + if (in[6] != '=' || in[7] != '=') + return_false; + } + else + { + if (!isbase32 (in[5]) || !isbase32 (in[6])) + return_false; + + if (*outleft) + { + *out++ = ((b32[to_uchar (in[4])] << 7) + | (b32[to_uchar (in[5])] << 2) + | (b32[to_uchar (in[6])] >> 3)); + --*outleft; + } + + if (in[7] != '=') + { + if (!isbase32 (in[7])) + return_false; + + if (*outleft) + { + *out++ = ((b32[to_uchar (in[6])] << 5) + | (b32[to_uchar (in[7])])); + --*outleft; + } + } + } + } + } + + *outp = out; + return true; +} + +/* Decode base32-encoded input array IN of length INLEN to output array + OUT that can hold *OUTLEN bytes. The input data may be interspersed + with newlines. Return true if decoding was successful, i.e. if the + input was valid base32 data, false otherwise. If *OUTLEN is too + small, as many bytes as possible will be written to OUT. On return, + *OUTLEN holds the length of decoded bytes in OUT. Note that as soon + as any non-alphabet, non-newline character is encountered, decoding + is stopped and false is returned. If INLEN is zero, then process + only whatever data is stored in CTX. + + Initially, CTX must have been initialized via base32_decode_ctx_init. + Subsequent calls to this function must reuse whatever state is recorded + in that buffer. It is necessary for when a octuple of base32 input + bytes spans two input buffers. + + If CTX is NULL then newlines are treated as garbage and the input + buffer is processed as a unit. */ + +bool +base32_decode_ctx (struct base32_decode_context *ctx, + const char *restrict in, size_t inlen, + char *restrict out, size_t *outlen) +{ + size_t outleft = *outlen; + bool ignore_newlines = ctx != NULL; + bool flush_ctx = false; + unsigned int ctx_i = 0; + + if (ignore_newlines) + { + ctx_i = ctx->i; + flush_ctx = inlen == 0; + } + + + while (true) + { + size_t outleft_save = outleft; + if (ctx_i == 0 && !flush_ctx) + { + while (true) + { + /* Save a copy of outleft, in case we need to re-parse this + block of four bytes. */ + outleft_save = outleft; + if (!decode_8 (in, inlen, &out, &outleft)) + break; + + in += 8; + inlen -= 8; + } + } + + if (inlen == 0 && !flush_ctx) + break; + + /* Handle the common case of 72-byte wrapped lines. + This also handles any other multiple-of-8-byte wrapping. */ + if (inlen && *in == '\n' && ignore_newlines) + { + ++in; + --inlen; + continue; + } + + /* Restore OUT and OUTLEFT. */ + out -= outleft_save - outleft; + outleft = outleft_save; + + { + char const *in_end = in + inlen; + char const *non_nl; + + if (ignore_newlines) + non_nl = get_8 (ctx, &in, in_end, &inlen); + else + non_nl = in; /* Might have nl in this case. */ + + /* If the input is empty or consists solely of newlines (0 non-newlines), + then we're done. Likewise if there are fewer than 8 bytes when not + flushing context and not treating newlines as garbage. */ + if (inlen == 0 || (inlen < 8 && !flush_ctx && ignore_newlines)) + { + inlen = 0; + break; + } + if (!decode_8 (non_nl, inlen, &out, &outleft)) + break; + + inlen = in_end - in; + } + } + + *outlen -= outleft; + + return inlen == 0; +} + +/* Allocate an output buffer in *OUT, and decode the base32 encoded + data stored in IN of size INLEN to the *OUT buffer. On return, the + size of the decoded data is stored in *OUTLEN. OUTLEN may be NULL, + if the caller is not interested in the decoded length. *OUT may be + NULL to indicate an out of memory error, in which case *OUTLEN + contains the size of the memory block needed. The function returns + true on successful decoding and memory allocation errors. (Use the + *OUT and *OUTLEN parameters to differentiate between successful + decoding and memory error.) The function returns false if the + input was invalid, in which case *OUT is NULL and *OUTLEN is + undefined. */ +bool +base32_decode_alloc_ctx (struct base32_decode_context *ctx, + const char *in, size_t inlen, char **out, + size_t *outlen) +{ + /* This may allocate a few bytes too many, depending on input, + but it's not worth the extra CPU time to compute the exact size. + The exact size is 5 * inlen / 8, minus one or more bytes if the + input is padded with one or more "=". + Dividing before multiplying avoids the possibility of overflow. */ + size_t needlen = 5 * (inlen / 8) + 5; + + *out = malloc (needlen); + if (!*out) + return true; + + if (!base32_decode_ctx (ctx, in, inlen, *out, &needlen)) + { + free (*out); + *out = NULL; + return false; + } + + if (outlen) + *outlen = needlen; + + return true; +} diff --git a/lib/base32.h b/lib/base32.h new file mode 100644 index 000000000..8768686f5 --- /dev/null +++ b/lib/base32.h @@ -0,0 +1,61 @@ +/* base32.h -- Encode binary data using printable characters. + Copyright (C) 2004-2006, 2009-2011 Free Software Foundation, Inc. + Adapted from Simon Josefsson's base64 code by Gijs van Tulder. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +#ifndef BASE32_H +# define BASE32_H + +/* Get size_t. */ +# include + +/* Get bool. */ +# include + +/* This uses that the expression (n+(k-1))/k means the smallest + integer >= n/k, i.e., the ceiling of n/k. */ +# define BASE32_LENGTH(inlen) ((((inlen) + 4) / 5) * 8) + +struct base32_decode_context +{ + unsigned int i; + char buf[8]; +}; + +extern bool isbase32 (char ch); + +extern void base32_encode (const char *restrict in, size_t inlen, + char *restrict out, size_t outlen); + +extern size_t base32_encode_alloc (const char *in, size_t inlen, char **out); + +extern void base32_decode_ctx_init (struct base32_decode_context *ctx); + +extern bool base32_decode_ctx (struct base32_decode_context *ctx, + const char *restrict in, size_t inlen, + char *restrict out, size_t *outlen); + +extern bool base32_decode_alloc_ctx (struct base32_decode_context *ctx, + const char *in, size_t inlen, + char **out, size_t *outlen); + +#define base32_decode(in, inlen, out, outlen) \ + base32_decode_ctx (NULL, in, inlen, out, outlen) + +#define base32_decode_alloc(in, inlen, out, outlen) \ + base32_decode_alloc_ctx (NULL, in, inlen, out, outlen) + +#endif /* BASE32_H */ diff --git a/lib/base64.h b/lib/base64.h index 98f962f4a..1d65edc6e 100644 --- a/lib/base64.h +++ b/lib/base64.h @@ -35,7 +35,7 @@ struct base64_decode_context char buf[4]; }; -extern bool isbase64 (char ch); +extern bool isbase64 (char ch) _GL_ATTRIBUTE_CONST; extern void base64_encode (const char *restrict in, size_t inlen, char *restrict out, size_t outlen); diff --git a/lib/bcopy.c b/lib/bcopy.c index 50a09f876..c3e8caa1c 100644 --- a/lib/bcopy.c +++ b/lib/bcopy.c @@ -3,6 +3,8 @@ In the public domain. By David MacKenzie . */ +#include + #include void diff --git a/lib/bind.c b/lib/bind.c index e6d959dce..baaea59b6 100644 --- a/lib/bind.c +++ b/lib/bind.c @@ -32,9 +32,18 @@ int rpl_bind (int fd, const struct sockaddr *sockaddr, socklen_t len) { SOCKET sock = FD_TO_SOCKET (fd); - int r = bind (sock, sockaddr, len); - if (r < 0) - set_winsock_errno (); - return r; + if (sock == INVALID_SOCKET) + { + errno = EBADF; + return -1; + } + else + { + int r = bind (sock, sockaddr, len); + if (r < 0) + set_winsock_errno (); + + return r; + } } diff --git a/lib/c-ctype.h b/lib/c-ctype.h index ed8859ed3..078bd9a01 100644 --- a/lib/c-ctype.h +++ b/lib/c-ctype.h @@ -118,23 +118,23 @@ extern "C" { if (c_isalpha (*s)) ... */ -extern bool c_isascii (int c); /* not locale dependent */ - -extern bool c_isalnum (int c); -extern bool c_isalpha (int c); -extern bool c_isblank (int c); -extern bool c_iscntrl (int c); -extern bool c_isdigit (int c); -extern bool c_islower (int c); -extern bool c_isgraph (int c); -extern bool c_isprint (int c); -extern bool c_ispunct (int c); -extern bool c_isspace (int c); -extern bool c_isupper (int c); -extern bool c_isxdigit (int c); - -extern int c_tolower (int c); -extern int c_toupper (int c); +extern bool c_isascii (int c) _GL_ATTRIBUTE_CONST; /* not locale dependent */ + +extern bool c_isalnum (int c) _GL_ATTRIBUTE_CONST; +extern bool c_isalpha (int c) _GL_ATTRIBUTE_CONST; +extern bool c_isblank (int c) _GL_ATTRIBUTE_CONST; +extern bool c_iscntrl (int c) _GL_ATTRIBUTE_CONST; +extern bool c_isdigit (int c) _GL_ATTRIBUTE_CONST; +extern bool c_islower (int c) _GL_ATTRIBUTE_CONST; +extern bool c_isgraph (int c) _GL_ATTRIBUTE_CONST; +extern bool c_isprint (int c) _GL_ATTRIBUTE_CONST; +extern bool c_ispunct (int c) _GL_ATTRIBUTE_CONST; +extern bool c_isspace (int c) _GL_ATTRIBUTE_CONST; +extern bool c_isupper (int c) _GL_ATTRIBUTE_CONST; +extern bool c_isxdigit (int c) _GL_ATTRIBUTE_CONST; + +extern int c_tolower (int c) _GL_ATTRIBUTE_CONST; +extern int c_toupper (int c) _GL_ATTRIBUTE_CONST; #if defined __GNUC__ && defined __OPTIMIZE__ && !defined __OPTIMIZE_SIZE__ && !defined NO_C_CTYPE_MACROS diff --git a/lib/c-strcase.h b/lib/c-strcase.h index 66a549209..df2f0705f 100644 --- a/lib/c-strcase.h +++ b/lib/c-strcase.h @@ -40,12 +40,13 @@ extern "C" { /* Compare strings S1 and S2, ignoring case, returning less than, equal to or greater than zero if S1 is lexicographically less than, equal to or greater than S2. */ -extern int c_strcasecmp (const char *s1, const char *s2); +extern int c_strcasecmp (const char *s1, const char *s2) _GL_ATTRIBUTE_PURE; /* Compare no more than N characters of strings S1 and S2, ignoring case, returning less than, equal to or greater than zero if S1 is lexicographically less than, equal to or greater than S2. */ -extern int c_strncasecmp (const char *s1, const char *s2, size_t n); +extern int c_strncasecmp (const char *s1, const char *s2, size_t n) + _GL_ATTRIBUTE_PURE; #ifdef __cplusplus diff --git a/lib/ceil.c b/lib/ceil.c index b30902cbf..4e0354e1c 100644 --- a/lib/ceil.c +++ b/lib/ceil.c @@ -16,7 +16,9 @@ /* Written by Bruno Haible , 2007. */ -#include +#if ! defined USE_LONG_DOUBLE +# include +#endif /* Specification. */ #include diff --git a/lib/ceill.c b/lib/ceill.c index 54a4b50c5..6181c91d4 100644 --- a/lib/ceill.c +++ b/lib/ceill.c @@ -16,5 +16,22 @@ /* Written by Bruno Haible , 2007. */ -#define USE_LONG_DOUBLE -#include "ceil.c" +#include + +#if HAVE_SAME_LONG_DOUBLE_AS_DOUBLE + +/* Specification. */ +# include + +long double +ceill (long double x) +{ + return ceil (x); +} + +#else + +# define USE_LONG_DOUBLE +# include "ceil.c" + +#endif diff --git a/lib/chdir-long.c b/lib/chdir-long.c index 96b750cb4..af41b121d 100644 --- a/lib/chdir-long.c +++ b/lib/chdir-long.c @@ -83,7 +83,7 @@ cdb_advance_fd (struct cd_buf *cdb, char const *dir) } /* Return a pointer to the first non-slash in S. */ -static inline char * +static inline char * _GL_ATTRIBUTE_PURE find_non_slash (char const *s) { size_t n_slash = strspn (s, "/"); diff --git a/lib/close.c b/lib/close.c index 2c41c75b8..c2197fe0a 100644 --- a/lib/close.c +++ b/lib/close.c @@ -19,18 +19,45 @@ /* Specification. */ #include +#include + #include "fd-hook.h" +#include "msvc-inval.h" + +#undef close + +#if HAVE_MSVC_INVALID_PARAMETER_HANDLER +static int +close_nothrow (int fd) +{ + int result; + + TRY_MSVC_INVAL + { + result = close (fd); + } + CATCH_MSVC_INVAL + { + result = -1; + errno = EBADF; + } + DONE_MSVC_INVAL; + + return result; +} +#else +# define close_nothrow close +#endif /* Override close() to call into other gnulib modules. */ int rpl_close (int fd) -#undef close { #if WINDOWS_SOCKETS - int retval = execute_all_close_hooks (close, fd); + int retval = execute_all_close_hooks (close_nothrow, fd); #else - int retval = close (fd); + int retval = close_nothrow (fd); #endif #if REPLACE_FCHDIR diff --git a/lib/closedir.c b/lib/closedir.c new file mode 100644 index 000000000..0fdce1805 --- /dev/null +++ b/lib/closedir.c @@ -0,0 +1,67 @@ +/* Stop reading the entries of a directory. + Copyright (C) 2006-2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include + +#if REPLACE_FCHDIR +# include +#endif + +#if HAVE_CLOSEDIR + +/* Override closedir(), to keep track of the open file descriptors. + Needed because there is a function dirfd(). */ + +#else + +# include + +# include "dirent-private.h" + +#endif + +int +closedir (DIR *dirp) +{ +# if REPLACE_FCHDIR + int fd = dirfd (dirp); +# endif + int retval; + +#if HAVE_CLOSEDIR +# undef closedir + + retval = closedir (dirp); + +#else + + if (dirp->current != INVALID_HANDLE_VALUE) + FindClose (dirp->current); + free (dirp); + + retval = 0; + +#endif + +#if REPLACE_FCHDIR + if (retval >= 0) + _gl_unregister_fd (fd); +#endif + return retval; +} diff --git a/lib/connect.c b/lib/connect.c index ea03e77bc..afd13b9f8 100644 --- a/lib/connect.c +++ b/lib/connect.c @@ -32,16 +32,25 @@ int rpl_connect (int fd, const struct sockaddr *sockaddr, socklen_t len) { SOCKET sock = FD_TO_SOCKET (fd); - int r = connect (sock, sockaddr, len); - if (r < 0) - { - /* EINPROGRESS is not returned by WinSock 2.0; for backwards - compatibility, connect(2) uses EWOULDBLOCK. */ - if (WSAGetLastError () == WSAEWOULDBLOCK) - WSASetLastError (WSAEINPROGRESS); - set_winsock_errno (); + if (sock == INVALID_SOCKET) + { + errno = EBADF; + return -1; + } + else + { + int r = connect (sock, sockaddr, len); + if (r < 0) + { + /* EINPROGRESS is not returned by WinSock 2.0; for backwards + compatibility, connect(2) uses EWOULDBLOCK. */ + if (WSAGetLastError () == WSAEWOULDBLOCK) + WSASetLastError (WSAEINPROGRESS); + + set_winsock_errno (); + } + + return r; } - - return r; } diff --git a/lib/copy-acl.c b/lib/copy-acl.c index 4f2ea06a6..1532cb81a 100644 --- a/lib/copy-acl.c +++ b/lib/copy-acl.c @@ -45,7 +45,7 @@ qcopy_acl (const char *src_name, int source_desc, const char *dst_name, #if USE_ACL && HAVE_ACL_GET_FILE /* POSIX 1003.1e (draft 17 -- abandoned) specific version. */ /* Linux, FreeBSD, MacOS X, IRIX, Tru64 */ -# if MODE_INSIDE_ACL +# if !HAVE_ACL_TYPE_EXTENDED /* Linux, FreeBSD, IRIX, Tru64 */ acl_t acl; @@ -87,7 +87,7 @@ qcopy_acl (const char *src_name, int source_desc, const char *dst_name, else acl_free (acl); - if (mode & (S_ISUID | S_ISGID | S_ISVTX)) + if (!MODE_INSIDE_ACL || (mode & (S_ISUID | S_ISGID | S_ISVTX))) { /* We did not call chmod so far, and either the mode and the ACL are separate or special bits are to be set which don't fit into ACLs. */ @@ -115,13 +115,9 @@ qcopy_acl (const char *src_name, int source_desc, const char *dst_name, } return 0; -# else /* !MODE_INSIDE_ACL */ +# else /* HAVE_ACL_TYPE_EXTENDED */ /* MacOS X */ -# if !HAVE_ACL_TYPE_EXTENDED -# error Must have ACL_TYPE_EXTENDED -# endif - /* On MacOS X, acl_get_file (name, ACL_TYPE_ACCESS) and acl_get_file (name, ACL_TYPE_DEFAULT) always return NULL / EINVAL. You have to use @@ -181,57 +177,20 @@ qcopy_acl (const char *src_name, int source_desc, const char *dst_name, #elif USE_ACL && defined GETACL /* Solaris, Cygwin, not HP-UX */ -# if defined ACL_NO_TRIVIAL - /* Solaris 10 (newer version), which has additional API declared in - (acl_t) and implemented in libsec (acl_set, acl_trivial, - acl_fromtext, ...). */ - - int ret; - acl_t *aclp = NULL; - ret = (source_desc < 0 - ? acl_get (src_name, ACL_NO_TRIVIAL, &aclp) - : facl_get (source_desc, ACL_NO_TRIVIAL, &aclp)); - if (ret != 0 && errno != ENOSYS) - return -2; - - ret = qset_acl (dst_name, dest_desc, mode); - if (ret != 0) - return -1; - - if (aclp) - { - ret = (dest_desc < 0 - ? acl_set (dst_name, aclp) - : facl_set (dest_desc, aclp)); - if (ret != 0) - { - int saved_errno = errno; - - acl_free (aclp); - errno = saved_errno; - return -1; - } - acl_free (aclp); - } - - return 0; - -# else /* Solaris, Cygwin, general case */ - /* Solaris 2.5 through Solaris 10, Cygwin, and contemporaneous versions of Unixware. The acl() call returns the access and default ACL both at once. */ -# ifdef ACE_GETACL +# ifdef ACE_GETACL int ace_count; ace_t *ace_entries; -# endif +# endif int count; aclent_t *entries; int did_chmod; int saved_errno; int ret; -# ifdef ACE_GETACL +# ifdef ACE_GETACL /* Solaris also has a different variant of ACLs, used in ZFS and NFSv4 file systems (whereas the other ones are used in UFS file systems). There is an API @@ -284,7 +243,7 @@ qcopy_acl (const char *src_name, int source_desc, const char *dst_name, /* Huh? The number of ACL entries changed since the last call. Repeat. */ } -# endif +# endif for (;;) { @@ -327,9 +286,9 @@ qcopy_acl (const char *src_name, int source_desc, const char *dst_name, } /* Is there an ACL of either kind? */ -# ifdef ACE_GETACL +# ifdef ACE_GETACL if (ace_count == 0) -# endif +# endif if (count == 0) return qset_acl (dst_name, dest_desc, mode); @@ -367,7 +326,7 @@ qcopy_acl (const char *src_name, int source_desc, const char *dst_name, } free (entries); -# ifdef ACE_GETACL +# ifdef ACE_GETACL if (ace_count > 0) { ret = (dest_desc != -1 @@ -382,7 +341,7 @@ qcopy_acl (const char *src_name, int source_desc, const char *dst_name, } } free (ace_entries); -# endif +# endif if (MODE_INSIDE_ACL && did_chmod <= ((mode & (S_ISUID | S_ISGID | S_ISVTX)) ? 1 : 0)) @@ -404,8 +363,6 @@ qcopy_acl (const char *src_name, int source_desc, const char *dst_name, } return 0; -# endif - #elif USE_ACL && HAVE_GETACL /* HP-UX */ int count; diff --git a/lib/copysign.c b/lib/copysign.c new file mode 100644 index 000000000..548024576 --- /dev/null +++ b/lib/copysign.c @@ -0,0 +1,26 @@ +/* Copy sign into another 'double' number. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include + +double +copysign (double x, double y) +{ + return (signbit (x) != signbit (y) ? - x : x); +} diff --git a/lib/copysignf.c b/lib/copysignf.c new file mode 100644 index 000000000..82409d4d9 --- /dev/null +++ b/lib/copysignf.c @@ -0,0 +1,26 @@ +/* Copy sign into another 'float' number. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include + +float +copysignf (float x, float y) +{ + return (signbit (x) != signbit (y) ? - x : x); +} diff --git a/lib/copysignl.c b/lib/copysignl.c new file mode 100644 index 000000000..443257760 --- /dev/null +++ b/lib/copysignl.c @@ -0,0 +1,72 @@ +/* Copy sign into another 'long double' number. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include + +#if HAVE_SAME_LONG_DOUBLE_AS_DOUBLE + +long double +copysignl (long double x, long double y) +{ + return copysign (x, y); +} + +#else + +# if defined __hpux && !defined __GNUC__ + +# include + +/* HP cc on HP-UX 10.20 has a bug with the constant expression -0.0L. */ +static long double +compute_minus_zerol (void) +{ + return -LDBL_MIN * LDBL_MIN; +} +# define minus_zerol compute_minus_zerol () + +/* HP cc on HP-UX 11 has a bug: When x is a positive zero, - x comes out + as a positive zero, rather than as a minus zero. Work around it. */ +static long double +unary_minus (long double x) +{ + if (x == 0.0L) + { + if (signbit (x)) + return 0.0L; + else + return minus_zerol; + } + else + return - x; +} + +# endif + +long double +copysignl (long double x, long double y) +{ +# if defined __hpux && !defined __GNUC__ + return (signbit (x) != signbit (y) ? unary_minus (x) : x); +# else + return (signbit (x) != signbit (y) ? - x : x); +# endif +} + +#endif diff --git a/lib/cosf.c b/lib/cosf.c new file mode 100644 index 000000000..e9156a9e9 --- /dev/null +++ b/lib/cosf.c @@ -0,0 +1,26 @@ +/* Cosine function. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include + +float +cosf (float x) +{ + return (float) cos ((double) x); +} diff --git a/lib/coshf.c b/lib/coshf.c new file mode 100644 index 000000000..c9775d7ad --- /dev/null +++ b/lib/coshf.c @@ -0,0 +1,26 @@ +/* Hyperbolic cosine function. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include + +float +coshf (float x) +{ + return (float) cosh ((double) x); +} diff --git a/lib/cosl.c b/lib/cosl.c index d23c15f02..a3eaf3947 100644 --- a/lib/cosl.c +++ b/lib/cosl.c @@ -18,6 +18,16 @@ /* Specification. */ #include +#if HAVE_SAME_LONG_DOUBLE_AS_DOUBLE + +long double +cosl (long double x) +{ + return cos (x); +} + +#else + /* sinl(x) * Return sine function of x. * @@ -49,7 +59,7 @@ * TRIG(x) returns trig(x) nearly rounded */ -#include "trigl.h" +# include "trigl.h" long double cosl (long double x) @@ -88,6 +98,8 @@ cosl (long double x) } } +#endif + #if 0 int main (void) diff --git a/lib/di-set.c b/lib/di-set.c index 4730e750a..2f7844882 100644 --- a/lib/di-set.c +++ b/lib/di-set.c @@ -233,7 +233,7 @@ di_set_insert (struct di_set *dis, dev_t dev, ino_t ino) return -1; /* Put I into the inode set. */ - return hash_insert0 (ino_set, (void const *) i, NULL); + return hash_insert_if_absent (ino_set, (void const *) i, NULL); } /* Look up the DEV,INO pair in the set DIS. diff --git a/lib/dirent-private.h b/lib/dirent-private.h new file mode 100644 index 000000000..74632ff39 --- /dev/null +++ b/lib/dirent-private.h @@ -0,0 +1,40 @@ +/* Private details of the DIR type. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#ifndef _DIRENT_PRIVATE_H +#define _DIRENT_PRIVATE_H 1 + +#define WIN32_LEAN_AND_MEAN +#include + +struct gl_directory +{ + /* Status, or error code to produce in next readdir() call. + -2 means the end of the directory is already reached, + -1 means the entry was already filled by FindFirstFile, + 0 means the entry needs to be filled using FindNextFile. + A positive value is an error code. */ + int status; + /* Handle, reading the directory, at current position. */ + HANDLE current; + /* Found directory entry. */ + WIN32_FIND_DATA entry; + /* Argument to pass to FindFirstFile. It consists of the absolutized + directory name, followed by a directory separator and the wildcards. */ + char dir_name_mask[1]; +}; + +#endif /* _DIRENT_PRIVATE_H */ diff --git a/lib/dirent.in.h b/lib/dirent.in.h index ebbc42551..cbcf841df 100644 --- a/lib/dirent.in.h +++ b/lib/dirent.in.h @@ -22,7 +22,9 @@ @PRAGMA_COLUMNS@ /* The include_next requires a split double-inclusion guard. */ -#@INCLUDE_NEXT@ @NEXT_DIRENT_H@ +#if @HAVE_DIRENT_H@ +# @INCLUDE_NEXT@ @NEXT_DIRENT_H@ +#endif #ifndef _@GUARD_PREFIX@_DIRENT_H #define _@GUARD_PREFIX@_DIRENT_H @@ -30,6 +32,29 @@ /* Get ino_t. Needed on some systems, including glibc 2.8. */ #include +#if !@HAVE_DIRENT_H@ +/* Define types DIR and 'struct dirent'. */ +# if !GNULIB_defined_struct_dirent +struct dirent +{ + char d_type; + char d_name[1]; +}; +/* Possible values for 'd_type'. */ +# define DT_UNKNOWN 0 +# define DT_FIFO 1 /* FIFO */ +# define DT_CHR 2 /* character device */ +# define DT_DIR 4 /* directory */ +# define DT_BLK 6 /* block device */ +# define DT_REG 8 /* regular file */ +# define DT_LNK 10 /* symbolic link */ +# define DT_SOCK 12 /* socket */ +# define DT_WHT 14 /* whiteout */ +typedef struct gl_directory DIR; +# define GNULIB_defined_struct_dirent 1 +# endif +#endif + /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ /* The definition of _GL_ARG_NONNULL is copied here. */ @@ -39,16 +64,79 @@ /* Declare overridden functions. */ -#if @REPLACE_CLOSEDIR@ -# if !(defined __cplusplus && defined GNULIB_NAMESPACE) -# define closedir rpl_closedir +#if @GNULIB_OPENDIR@ +# if @REPLACE_OPENDIR@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef opendir +# define opendir rpl_opendir +# endif +_GL_FUNCDECL_RPL (opendir, DIR *, (const char *dir_name) _GL_ARG_NONNULL ((1))); +_GL_CXXALIAS_RPL (opendir, DIR *, (const char *dir_name)); +# else +# if !@HAVE_OPENDIR@ +_GL_FUNCDECL_SYS (opendir, DIR *, (const char *dir_name) _GL_ARG_NONNULL ((1))); +# endif +_GL_CXXALIAS_SYS (opendir, DIR *, (const char *dir_name)); +# endif +_GL_CXXALIASWARN (opendir); +#elif defined GNULIB_POSIXCHECK +# undef opendir +# if HAVE_RAW_DECL_OPENDIR +_GL_WARN_ON_USE (opendir, "opendir is not portable - " + "use gnulib module opendir for portability"); +# endif +#endif + +#if @GNULIB_READDIR@ +# if !@HAVE_READDIR@ +_GL_FUNCDECL_SYS (readdir, struct dirent *, (DIR *dirp) _GL_ARG_NONNULL ((1))); +# endif +_GL_CXXALIAS_SYS (readdir, struct dirent *, (DIR *dirp)); +_GL_CXXALIASWARN (readdir); +#elif defined GNULIB_POSIXCHECK +# undef readdir +# if HAVE_RAW_DECL_READDIR +_GL_WARN_ON_USE (readdir, "readdir is not portable - " + "use gnulib module readdir for portability"); +# endif +#endif + +#if @GNULIB_REWINDDIR@ +# if !@HAVE_REWINDDIR@ +_GL_FUNCDECL_SYS (rewinddir, void, (DIR *dirp) _GL_ARG_NONNULL ((1))); +# endif +_GL_CXXALIAS_SYS (rewinddir, void, (DIR *dirp)); +_GL_CXXALIASWARN (rewinddir); +#elif defined GNULIB_POSIXCHECK +# undef rewinddir +# if HAVE_RAW_DECL_REWINDDIR +_GL_WARN_ON_USE (rewinddir, "rewinddir is not portable - " + "use gnulib module rewinddir for portability"); # endif -_GL_FUNCDECL_RPL (closedir, int, (DIR *) _GL_ARG_NONNULL ((1))); -_GL_CXXALIAS_RPL (closedir, int, (DIR *)); -#else -_GL_CXXALIAS_SYS (closedir, int, (DIR *)); #endif + +#if @GNULIB_CLOSEDIR@ +# if @REPLACE_CLOSEDIR@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef closedir +# define closedir rpl_closedir +# endif +_GL_FUNCDECL_RPL (closedir, int, (DIR *dirp) _GL_ARG_NONNULL ((1))); +_GL_CXXALIAS_RPL (closedir, int, (DIR *dirp)); +# else +# if !@HAVE_CLOSEDIR@ +_GL_FUNCDECL_SYS (closedir, int, (DIR *dirp) _GL_ARG_NONNULL ((1))); +# endif +_GL_CXXALIAS_SYS (closedir, int, (DIR *dirp)); +# endif _GL_CXXALIASWARN (closedir); +#elif defined GNULIB_POSIXCHECK +# undef closedir +# if HAVE_RAW_DECL_CLOSEDIR +_GL_WARN_ON_USE (closedir, "closedir is not portable - " + "use gnulib module closedir for portability"); +# endif +#endif #if @GNULIB_DIRFD@ /* Return the file descriptor associated with the given directory stream, @@ -109,17 +197,6 @@ _GL_WARN_ON_USE (fdopendir, "fdopendir is unportable - " # endif #endif -#if @REPLACE_OPENDIR@ -# if !(defined __cplusplus && defined GNULIB_NAMESPACE) -# define opendir rpl_opendir -# endif -_GL_FUNCDECL_RPL (opendir, DIR *, (const char *) _GL_ARG_NONNULL ((1))); -_GL_CXXALIAS_RPL (opendir, DIR *, (const char *)); -#else -_GL_CXXALIAS_SYS (opendir, DIR *, (const char *)); -#endif -_GL_CXXALIASWARN (opendir); - #if @GNULIB_SCANDIR@ /* Scan the directory DIR, calling FILTER on each directory entry. Entries for which FILTER returns nonzero are individually malloc'd, diff --git a/lib/dirname.h b/lib/dirname.h index 2ef988244..ba9c56e41 100644 --- a/lib/dirname.h +++ b/lib/dirname.h @@ -37,9 +37,9 @@ char *dir_name (char const *file); # endif char *mdir_name (char const *file); -size_t base_len (char const *file); -size_t dir_len (char const *file); -char *last_component (char const *file); +size_t base_len (char const *file) _GL_ATTRIBUTE_PURE; +size_t dir_len (char const *file) _GL_ATTRIBUTE_PURE; +char *last_component (char const *file) _GL_ATTRIBUTE_PURE; bool strip_trailing_slashes (char *file); diff --git a/lib/dup.c b/lib/dup.c new file mode 100644 index 000000000..4a75a0cf6 --- /dev/null +++ b/lib/dup.c @@ -0,0 +1,61 @@ +/* Duplicate an open file descriptor. + + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include + +#include + +#include "msvc-inval.h" + +#undef dup + +#if HAVE_MSVC_INVALID_PARAMETER_HANDLER +static inline int +dup_nothrow (int fd) +{ + int result; + + TRY_MSVC_INVAL + { + result = dup (fd); + } + CATCH_MSVC_INVAL + { + result = -1; + errno = EBADF; + } + DONE_MSVC_INVAL; + + return result; +} +#else +# define dup_nothrow dup +#endif + +int +rpl_dup (int fd) +{ + int result = dup_nothrow (fd); +#if REPLACE_FCHDIR + if (result >= 0) + result = _gl_register_dup (fd, result); +#endif + return result; +} diff --git a/lib/dup2.c b/lib/dup2.c index e00dc7b2e..790c98a2e 100644 --- a/lib/dup2.c +++ b/lib/dup2.c @@ -25,21 +25,26 @@ #include #include -#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ -/* Get declarations of the Win32 API functions. */ -# define WIN32_LEAN_AND_MEAN -# include -#endif - #if HAVE_DUP2 # undef dup2 -int -rpl_dup2 (int fd, int desired_fd) +# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ + +/* Get declarations of the Win32 API functions. */ +# define WIN32_LEAN_AND_MEAN +# include + +# include "msvc-inval.h" + +/* Get _get_osfhandle. */ +# include "msvc-nothrow.h" + +static int +ms_windows_dup2 (int fd, int desired_fd) { int result; -# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ + /* If fd is closed, mingw hangs on dup2 (fd, fd). If fd is open, dup2 (fd, fd) returns 0, but all further attempts to use fd in future dup2 calls will hang. */ @@ -52,6 +57,7 @@ rpl_dup2 (int fd, int desired_fd) } return fd; } + /* Wine 1.0.1 return 0 when desired_fd is negative but not -1: http://bugs.winehq.org/show_bug.cgi?id=21289 */ if (desired_fd < 0) @@ -59,26 +65,45 @@ rpl_dup2 (int fd, int desired_fd) errno = EBADF; return -1; } -# elif !defined __linux__ - /* On Haiku, dup2 (fd, fd) mistakenly clears FD_CLOEXEC. */ - if (fd == desired_fd) - return fcntl (fd, F_GETFL) == -1 ? -1 : fd; -# endif - result = dup2 (fd, desired_fd); -# ifdef __linux__ - /* Correct a Linux return value. - - */ - if (fd == desired_fd && result == (unsigned int) -EBADF) + + TRY_MSVC_INVAL + { + result = dup2 (fd, desired_fd); + } + CATCH_MSVC_INVAL { errno = EBADF; result = -1; } -# endif + DONE_MSVC_INVAL; + if (result == 0) result = desired_fd; - /* Correct a cygwin 1.5.x errno value. */ - else if (result == -1 && errno == EMFILE) + + return result; +} + +# define dup2 ms_windows_dup2 + +# endif + +int +rpl_dup2 (int fd, int desired_fd) +{ + int result; + +# ifdef F_GETFL + /* On Linux kernels 2.6.26-2.6.29, dup2 (fd, fd) returns -EBADF. + On Cygwin 1.5.x, dup2 (1, 1) returns 0. + On Haiku, dup2 (fd, fd) mistakenly clears FD_CLOEXEC. */ + if (fd == desired_fd) + return fcntl (fd, F_GETFL) == -1 ? -1 : fd; +# endif + + result = dup2 (fd, desired_fd); + + /* Correct an errno value on FreeBSD 6.1 and Cygwin 1.5.x. */ + if (result == -1 && errno == EMFILE) errno = EBADF; # if REPLACE_FCHDIR if (fd != desired_fd && result != -1) diff --git a/lib/errno.in.h b/lib/errno.in.h index 0bf579211..8022c0aaa 100644 --- a/lib/errno.in.h +++ b/lib/errno.in.h @@ -33,50 +33,106 @@ /* On native Windows platforms, many macros are not defined. */ # if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ -/* POSIX says that EAGAIN and EWOULDBLOCK may have the same value. */ -# define EWOULDBLOCK EAGAIN - -/* Values >= 100 seem safe to use. */ -# define ETXTBSY 100 -# define GNULIB_defined_ETXTBSY 1 +/* These are the same values as defined by MSVC 10, for interoperability. */ + +# ifndef ENOMSG +# define ENOMSG 122 +# define GNULIB_defined_ENOMSG 1 +# endif + +# ifndef EIDRM +# define EIDRM 111 +# define GNULIB_defined_EIDRM 1 +# endif + +# ifndef ENOLINK +# define ENOLINK 121 +# define GNULIB_defined_ENOLINK 1 +# endif + +# ifndef EPROTO +# define EPROTO 134 +# define GNULIB_defined_EPROTO 1 +# endif + +# ifndef EBADMSG +# define EBADMSG 104 +# define GNULIB_defined_EBADMSG 1 +# endif + +# ifndef EOVERFLOW +# define EOVERFLOW 132 +# define GNULIB_defined_EOVERFLOW 1 +# endif + +# ifndef ENOTSUP +# define ENOTSUP 129 +# define GNULIB_defined_ENOTSUP 1 +# endif + +# ifndef ENETRESET +# define ENETRESET 117 +# define GNULIB_defined_ENETRESET 1 +# endif + +# ifndef ECONNABORTED +# define ECONNABORTED 106 +# define GNULIB_defined_ECONNABORTED 1 +# endif + +# ifndef ECANCELED +# define ECANCELED 105 +# define GNULIB_defined_ECANCELED 1 +# endif + +# ifndef EINPROGRESS +# define EINPROGRESS 112 +# define EALREADY 103 +# define ENOTSOCK 128 +# define EDESTADDRREQ 109 +# define EMSGSIZE 115 +# define EPROTOTYPE 136 +# define ENOPROTOOPT 123 +# define EPROTONOSUPPORT 135 +# define EOPNOTSUPP 130 +# define EAFNOSUPPORT 102 +# define EADDRINUSE 100 +# define EADDRNOTAVAIL 101 +# define ENETDOWN 116 +# define ENETUNREACH 118 +# define ECONNRESET 108 +# define ENOBUFS 119 +# define EISCONN 113 +# define ENOTCONN 126 +# define ETIMEDOUT 138 +# define ECONNREFUSED 107 +# define ELOOP 114 +# define EHOSTUNREACH 110 +# define EWOULDBLOCK 140 +# define ETXTBSY 139 +# define ENODATA 120 /* not required by POSIX */ +# define ENOSR 124 /* not required by POSIX */ +# define ENOSTR 125 /* not required by POSIX */ +# define ENOTRECOVERABLE 127 /* not required by POSIX */ +# define EOWNERDEAD 133 /* not required by POSIX */ +# define ETIME 137 /* not required by POSIX */ +# define EOTHER 131 /* not required by POSIX */ +# define GNULIB_defined_ESOCK 1 +# endif /* These are intentionally the same values as the WSA* error numbers, defined in . */ -# define EINPROGRESS 10036 -# define EALREADY 10037 -# define ENOTSOCK 10038 -# define EDESTADDRREQ 10039 -# define EMSGSIZE 10040 -# define EPROTOTYPE 10041 -# define ENOPROTOOPT 10042 -# define EPROTONOSUPPORT 10043 # define ESOCKTNOSUPPORT 10044 /* not required by POSIX */ -# define EOPNOTSUPP 10045 # define EPFNOSUPPORT 10046 /* not required by POSIX */ -# define EAFNOSUPPORT 10047 -# define EADDRINUSE 10048 -# define EADDRNOTAVAIL 10049 -# define ENETDOWN 10050 -# define ENETUNREACH 10051 -# define ENETRESET 10052 -# define ECONNABORTED 10053 -# define ECONNRESET 10054 -# define ENOBUFS 10055 -# define EISCONN 10056 -# define ENOTCONN 10057 # define ESHUTDOWN 10058 /* not required by POSIX */ # define ETOOMANYREFS 10059 /* not required by POSIX */ -# define ETIMEDOUT 10060 -# define ECONNREFUSED 10061 -# define ELOOP 10062 # define EHOSTDOWN 10064 /* not required by POSIX */ -# define EHOSTUNREACH 10065 # define EPROCLIM 10067 /* not required by POSIX */ # define EUSERS 10068 /* not required by POSIX */ # define EDQUOT 10069 # define ESTALE 10070 # define EREMOTE 10071 /* not required by POSIX */ -# define GNULIB_defined_ESOCK 1 +# define GNULIB_defined_EWINSOCK 1 # endif diff --git a/lib/error.c b/lib/error.c index 7482baacf..5ebe8bff2 100644 --- a/lib/error.c +++ b/lib/error.c @@ -92,6 +92,8 @@ extern void __error_at_line (int status, int errnum, const char *file_name, /* Get declarations of the Win32 API functions. */ # define WIN32_LEAN_AND_MEAN # include +/* Get _get_osfhandle. */ +# include "msvc-nothrow.h" # endif /* The gnulib override of fcntl is not needed in this file. */ diff --git a/lib/euidaccess.c b/lib/euidaccess.c index 417835474..b12eb467a 100644 --- a/lib/euidaccess.c +++ b/lib/euidaccess.c @@ -74,7 +74,7 @@ int euidaccess (const char *file, int mode) { -#if HAVE_FACCESSAT /* glibc */ +#if HAVE_FACCESSAT /* glibc, AIX 7, Solaris 11, Cygwin 1.7 */ return faccessat (AT_FDCWD, file, mode, AT_EACCESS); #elif defined EFF_ONLY_OK /* IRIX, OSF/1, Interix */ return access (file, mode | EFF_ONLY_OK); diff --git a/lib/exclude.h b/lib/exclude.h index 0a314a99f..63e94d323 100644 --- a/lib/exclude.h +++ b/lib/exclude.h @@ -39,7 +39,7 @@ struct exclude; -bool fnmatch_pattern_has_wildcards (const char *, int); +bool fnmatch_pattern_has_wildcards (const char *, int) _GL_ATTRIBUTE_PURE; struct exclude *new_exclude (void); void free_exclude (struct exclude *); diff --git a/lib/expf.c b/lib/expf.c new file mode 100644 index 000000000..a16dbea31 --- /dev/null +++ b/lib/expf.c @@ -0,0 +1,26 @@ +/* Exponential function. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include + +float +expf (float x) +{ + return (float) exp ((double) x); +} diff --git a/lib/expl.c b/lib/expl.c index 3f438925f..49fdefae6 100644 --- a/lib/expl.c +++ b/lib/expl.c @@ -23,16 +23,26 @@ /* Specification. */ #include -#include +#if HAVE_SAME_LONG_DOUBLE_AS_DOUBLE + +long double +expl (long double x) +{ + return exp (x); +} + +#else + +# include static const long double C[] = { /* Chebyshev polynom coeficients for (exp(x)-1)/x */ -#define P1 C[0] -#define P2 C[1] -#define P3 C[2] -#define P4 C[3] -#define P5 C[4] -#define P6 C[5] +# define P1 C[0] +# define P2 C[1] +# define P3 C[2] +# define P4 C[3] +# define P5 C[4] +# define P6 C[5] 0.5L, 1.66666666666666666666666666666666683E-01L, 4.16666666666666666666654902320001674E-02L, @@ -41,19 +51,19 @@ static const long double C[] = { 1.98412698413981650382436541785404286E-04L, /* Smallest integer x for which e^x overflows. */ -#define himark C[6] +# define himark C[6] 11356.523406294143949491931077970765L, /* Largest integer x for which e^x underflows. */ -#define lomark C[7] +# define lomark C[7] -11433.4627433362978788372438434526231L, /* very small number */ -#define TINY C[8] +# define TINY C[8] 1.0e-4900L, /* 2^16383 */ -#define TWO16383 C[9] +# define TWO16383 C[9] 5.94865747678615882542879663314003565E+4931L}; long double @@ -118,6 +128,8 @@ expl (long double x) return TWO16383*x; } +#endif + #if 0 int main (void) diff --git a/lib/fabsf.c b/lib/fabsf.c new file mode 100644 index 000000000..4c0f970fd --- /dev/null +++ b/lib/fabsf.c @@ -0,0 +1,26 @@ +/* Absolute value. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include + +float +fabsf (float x) +{ + return (float) fabs ((double) x); +} diff --git a/lib/fchdir.c b/lib/fchdir.c index 6dd704f62..a3623ed36 100644 --- a/lib/fchdir.c +++ b/lib/fchdir.c @@ -197,69 +197,6 @@ _gl_directory_name (int fd) return NULL; } -#if REPLACE_OPEN_DIRECTORY -/* Return stat information about FD in STATBUF. Needed when - rpl_open() used a dummy file to work around an open() that can't - normally visit directories. */ -# undef fstat -int -rpl_fstat (int fd, struct stat *statbuf) -{ - if (0 <= fd && fd < dirs_allocated && dirs[fd].name != NULL) - return stat (dirs[fd].name, statbuf); - return fstat (fd, statbuf); -} -#endif - -/* Override opendir() and closedir(), to keep track of the open file - descriptors. Needed because there is a function dirfd(). */ - -int -rpl_closedir (DIR *dp) -#undef closedir -{ - int fd = dirfd (dp); - int retval = closedir (dp); - - if (retval >= 0) - _gl_unregister_fd (fd); - return retval; -} - -DIR * -rpl_opendir (const char *filename) -#undef opendir -{ - DIR *dp; - - dp = opendir (filename); - if (dp != NULL) - { - int fd = dirfd (dp); - if (0 <= fd && _gl_register_fd (fd, filename) != fd) - { - int saved_errno = errno; - closedir (dp); - errno = saved_errno; - return NULL; - } - } - return dp; -} - -/* Override dup(), to keep track of open file descriptors. */ - -int -rpl_dup (int oldfd) -#undef dup -{ - int newfd = dup (oldfd); - - if (0 <= newfd) - newfd = _gl_register_dup (oldfd, newfd); - return newfd; -} - /* Implement fchdir() in terms of chdir(). */ diff --git a/lib/fclose.c b/lib/fclose.c index 27f683658..3abe2e85c 100644 --- a/lib/fclose.c +++ b/lib/fclose.c @@ -23,12 +23,37 @@ #include #include "freading.h" +#include "msvc-inval.h" + +#undef fclose + +#if HAVE_MSVC_INVALID_PARAMETER_HANDLER +static int +fclose_nothrow (FILE *fp) +{ + int result; + + TRY_MSVC_INVAL + { + result = fclose (fp); + } + CATCH_MSVC_INVAL + { + result = EOF; + errno = EBADF; + } + DONE_MSVC_INVAL; + + return result; +} +#else +# define fclose_nothrow fclose +#endif /* Override fclose() to call the overridden fflush() or close(). */ int rpl_fclose (FILE *fp) -#undef fclose { int saved_errno = 0; int fd; @@ -37,7 +62,7 @@ rpl_fclose (FILE *fp) /* Don't change behavior on memstreams. */ fd = fileno (fp); if (fd < 0) - return fclose (fp); + return fclose_nothrow (fp); /* We only need to flush the file if it is not reading or if it is seekable. This only guarantees the file position of input files @@ -55,7 +80,8 @@ rpl_fclose (FILE *fp) if (close (fd) < 0 && saved_errno == 0) saved_errno = errno; - fclose (fp); /* will fail with errno = EBADF, if we did not lose a race */ + fclose_nothrow (fp); /* will fail with errno = EBADF, + if we did not lose a race */ #else /* !WINDOWS_SOCKETS */ /* Call fclose() and invoke all hooks of the overridden close(). */ @@ -64,12 +90,12 @@ rpl_fclose (FILE *fp) /* Note about multithread-safety: There is a race condition here as well. Some other thread could open fd between our calls to fclose and _gl_unregister_fd. */ - result = fclose (fp); + result = fclose_nothrow (fp); if (result == 0) _gl_unregister_fd (fd); # else /* No race condition here. */ - result = fclose (fp); + result = fclose_nothrow (fp); # endif #endif /* !WINDOWS_SOCKETS */ diff --git a/lib/fcntl.c b/lib/fcntl.c index d6a328c1c..92e32eebb 100644 --- a/lib/fcntl.c +++ b/lib/fcntl.c @@ -37,6 +37,9 @@ # define WIN32_LEAN_AND_MEAN # include +/* Get _get_osfhandle. */ +# include "msvc-nothrow.h" + /* Upper bound on getdtablesize(). See lib/getdtablesize.c. */ # define OPEN_MAX_MAX 0x10000 diff --git a/lib/fdatasync.c b/lib/fdatasync.c new file mode 100644 index 000000000..3d26793f6 --- /dev/null +++ b/lib/fdatasync.c @@ -0,0 +1,27 @@ +/* Emulate fdatasync on platforms that lack it. + + Copyright (C) 2011 Free Software Foundation, Inc. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include +#include + +int +fdatasync (int fd) +{ + /* This does more work than strictly necessary, but is the best we + can do portably. */ + return fsync (fd); +} diff --git a/lib/fdopen.c b/lib/fdopen.c new file mode 100644 index 000000000..50c889b17 --- /dev/null +++ b/lib/fdopen.c @@ -0,0 +1,69 @@ +/* Open a stream with a given file descriptor. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include + +#include + +#if HAVE_MSVC_INVALID_PARAMETER_HANDLER +# include "msvc-inval.h" +#endif + +#undef fdopen + +#if HAVE_MSVC_INVALID_PARAMETER_HANDLER +static FILE * +fdopen_nothrow (int fd, const char *mode) +{ + FILE *result; + + TRY_MSVC_INVAL + { + result = fdopen (fd, mode); + } + CATCH_MSVC_INVAL + { + result = NULL; + } + DONE_MSVC_INVAL; + + return result; +} +#else +# define fdopen_nothrow fdopen +#endif + +FILE * +rpl_fdopen (int fd, const char *mode) +{ + int saved_errno = errno; + FILE *fp; + + errno = 0; + fp = fdopen_nothrow (fd, mode); + if (fp == NULL) + { + if (errno == 0) + errno = EBADF; + } + else + errno = saved_errno; + + return fp; +} diff --git a/lib/ffs.c b/lib/ffs.c index b037d47a1..34916f52b 100644 --- a/lib/ffs.c +++ b/lib/ffs.c @@ -16,6 +16,9 @@ /* Written by Eric Blake. */ +#include + +/* Specification. */ #include #include diff --git a/lib/ffsl.c b/lib/ffsl.c index 0b93796ac..ee99ba7e0 100644 --- a/lib/ffsl.c +++ b/lib/ffsl.c @@ -1,3 +1,4 @@ #define FUNC ffsl #define TYPE long int +#define GCC_BUILTIN __builtin_ffsl #include "ffsl.h" diff --git a/lib/ffsl.h b/lib/ffsl.h index eb7fead56..ab994b7e2 100644 --- a/lib/ffsl.h +++ b/lib/ffsl.h @@ -19,6 +19,9 @@ /* This file is meant to be included by ffsl.c and ffsll.c, after they have defined FUNC and TYPE. */ +#include + +/* Specification. */ #include #include @@ -31,17 +34,34 @@ int FUNC (TYPE i) { - int result = 0; +#if (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) && defined GCC_BUILTIN + return GCC_BUILTIN (i); +#else unsigned TYPE j = i; + /* Split j into chunks, and look at one chunk after the other. */ + enum { chunk_bits = CHAR_BIT * sizeof (unsigned int) }; + /* The number of chunks is ceil (sizeof (TYPE) / sizeof (unsigned int)) + = (sizeof (TYPE) - 1) / sizeof (unsigned int) + 1. */ + enum { chunk_count = (sizeof (TYPE) - 1) / sizeof (unsigned int) + 1 }; - /* GCC has __builtin_ffs, but it is limited to int. */ - if (!i) - return 0; - while (1) + if (chunk_count > 1) { + size_t k; + + /* It is tempting to write if (!j) here, but if we do this, + Solaris 10/x86 "cc -O" miscompiles the code. */ + if (!i) + return 0; + /* Unroll the first loop round. k = 0. */ if ((unsigned int) j) - return result + ffs ((unsigned int) j); - j >>= CHAR_BIT * sizeof (unsigned int); - result += CHAR_BIT * sizeof (unsigned int); + return ffs ((unsigned int) j); + /* Generic loop. */ + for (k = 1; k < chunk_count - 1; k++) + if ((unsigned int) (j >> (k * chunk_bits)) != 0) + return k * chunk_bits + ffs ((unsigned int) (j >> (k * chunk_bits))); } + /* Last loop round. k = chunk_count - 1. */ + return (chunk_count - 1) * chunk_bits + + ffs ((unsigned int) (j >> ((chunk_count - 1) * chunk_bits))); +#endif } diff --git a/lib/ffsll.c b/lib/ffsll.c index d056d7c26..f0e9425ee 100644 --- a/lib/ffsll.c +++ b/lib/ffsll.c @@ -1,3 +1,4 @@ #define FUNC ffsll #define TYPE long long int +#define GCC_BUILTIN __builtin_ffsll #include "ffsl.h" diff --git a/lib/file-has-acl.c b/lib/file-has-acl.c index 2ee6ba210..4ff2808a4 100644 --- a/lib/file-has-acl.c +++ b/lib/file-has-acl.c @@ -120,8 +120,6 @@ acl_access_nontrivial (acl_t acl) #elif USE_ACL && HAVE_FACL && defined GETACL /* Solaris, Cygwin, not HP-UX */ -# if !defined ACL_NO_TRIVIAL /* Solaris <= 10, Cygwin */ - /* Test an ACL retrieved with GETACL. Return 1 if the given ACL, consisting of COUNT entries, is non-trivial. Return 0 if it is trivial, i.e. equivalent to a simple stat() mode. */ @@ -148,7 +146,7 @@ acl_nontrivial (int count, aclent_t *entries) return 0; } -# ifdef ACE_GETACL +# ifdef ACE_GETACL /* Test an ACL retrieved with ACE_GETACL. Return 1 if the given ACL, consisting of COUNT entries, is non-trivial. @@ -167,7 +165,7 @@ acl_ace_nontrivial (int count, ace_t *entries) int old_convention = 0; for (i = 0; i < count; i++) - if (entries[i].a_flags & (ACE_OWNER | ACE_GROUP | ACE_OTHER)) + if (entries[i].a_flags & (OLD_ACE_OWNER | OLD_ACE_GROUP | OLD_ACE_OTHER)) { old_convention = 1; break; @@ -183,34 +181,123 @@ acl_ace_nontrivial (int count, ace_t *entries) If ace->a_flags = ACE_OWNER, ace->a_who is the st_uid from stat(). If ace->a_flags = ACE_GROUP, ace->a_who is the st_gid from stat(). We don't need to check ace->a_who in these cases. */ - if (!(ace->a_type == ALLOW - && (ace->a_flags == ACE_OWNER - || ace->a_flags == ACE_GROUP - || ace->a_flags == ACE_OTHER))) + if (!(ace->a_type == OLD_ALLOW + && (ace->a_flags == OLD_ACE_OWNER + || ace->a_flags == OLD_ACE_GROUP + || ace->a_flags == OLD_ACE_OTHER))) return 1; } else - /* Running on Solaris 10 (newer version) or Solaris 11. */ - for (i = 0; i < count; i++) - { - ace_t *ace = &entries[i]; + { + /* Running on Solaris 10 (newer version) or Solaris 11. */ + unsigned int access_masks[6] = + { + 0, /* owner@ deny */ + 0, /* owner@ allow */ + 0, /* group@ deny */ + 0, /* group@ allow */ + 0, /* everyone@ deny */ + 0 /* everyone@ allow */ + }; + + for (i = 0; i < count; i++) + { + ace_t *ace = &entries[i]; + unsigned int index1; + unsigned int index2; + + if (ace->a_type == NEW_ACE_ACCESS_ALLOWED_ACE_TYPE) + index1 = 1; + else if (ace->a_type == NEW_ACE_ACCESS_DENIED_ACE_TYPE) + index1 = 0; + else + return 1; - if (!(ace->a_type == ACE_ACCESS_ALLOWED_ACE_TYPE - && (ace->a_flags == NEW_ACE_OWNER - || ace->a_flags - == (NEW_ACE_GROUP | NEW_ACE_IDENTIFIER_GROUP) - || ace->a_flags == ACE_EVERYONE) - && (ace->a_access_mask - & ~(NEW_ACE_READ_DATA | NEW_ACE_WRITE_DATA | NEW_ACE_EXECUTE)) - == 0)) - return 1; - } + if (ace->a_flags == NEW_ACE_OWNER) + index2 = 0; + else if (ace->a_flags == (NEW_ACE_GROUP | NEW_ACE_IDENTIFIER_GROUP)) + index2 = 2; + else if (ace->a_flags == NEW_ACE_EVERYONE) + index2 = 4; + else + return 1; + + access_masks[index1 + index2] |= ace->a_access_mask; + } + + /* The same bit shouldn't be both allowed and denied. */ + if (access_masks[0] & access_masks[1]) + return 1; + if (access_masks[2] & access_masks[3]) + return 1; + if (access_masks[4] & access_masks[5]) + return 1; + + /* Check minimum masks. */ + if ((NEW_ACE_WRITE_NAMED_ATTRS + | NEW_ACE_WRITE_ATTRIBUTES + | NEW_ACE_WRITE_ACL + | NEW_ACE_WRITE_OWNER) + & ~ access_masks[1]) + return 1; + access_masks[1] &= ~(NEW_ACE_WRITE_NAMED_ATTRS + | NEW_ACE_WRITE_ATTRIBUTES + | NEW_ACE_WRITE_ACL + | NEW_ACE_WRITE_OWNER); + if ((NEW_ACE_WRITE_NAMED_ATTRS + | NEW_ACE_WRITE_ATTRIBUTES + | NEW_ACE_WRITE_ACL + | NEW_ACE_WRITE_OWNER) + & ~ access_masks[4]) + return 1; + access_masks[4] &= ~(NEW_ACE_WRITE_NAMED_ATTRS + | NEW_ACE_WRITE_ATTRIBUTES + | NEW_ACE_WRITE_ACL + | NEW_ACE_WRITE_OWNER); + if ((NEW_ACE_READ_NAMED_ATTRS + | NEW_ACE_READ_ATTRIBUTES + | NEW_ACE_READ_ACL + | NEW_ACE_SYNCHRONIZE) + & ~ access_masks[5]) + return 1; + access_masks[5] &= ~(NEW_ACE_READ_NAMED_ATTRS + | NEW_ACE_READ_ATTRIBUTES + | NEW_ACE_READ_ACL + | NEW_ACE_SYNCHRONIZE); + + /* Check the allowed or denied bits. */ + if ((access_masks[0] | access_masks[1]) + != (NEW_ACE_READ_DATA + | NEW_ACE_WRITE_DATA | NEW_ACE_APPEND_DATA + | NEW_ACE_EXECUTE)) + return 1; + if ((access_masks[2] | access_masks[3]) + != (NEW_ACE_READ_DATA + | NEW_ACE_WRITE_DATA | NEW_ACE_APPEND_DATA + | NEW_ACE_EXECUTE)) + return 1; + if ((access_masks[4] | access_masks[5]) + != (NEW_ACE_READ_DATA + | NEW_ACE_WRITE_DATA | NEW_ACE_APPEND_DATA + | NEW_ACE_EXECUTE)) + return 1; + + /* Check that the NEW_ACE_WRITE_DATA and NEW_ACE_APPEND_DATA bits are + either both allowed or both denied. */ + if (((access_masks[0] & NEW_ACE_WRITE_DATA) != 0) + != ((access_masks[0] & NEW_ACE_APPEND_DATA) != 0)) + return 1; + if (((access_masks[2] & NEW_ACE_WRITE_DATA) != 0) + != ((access_masks[2] & NEW_ACE_APPEND_DATA) != 0)) + return 1; + if (((access_masks[4] & NEW_ACE_WRITE_DATA) != 0) + != ((access_masks[4] & NEW_ACE_APPEND_DATA) != 0)) + return 1; + } return 0; } -# endif - # endif #elif USE_ACL && HAVE_GETACL /* HP-UX */ @@ -352,7 +439,8 @@ acl_nontrivial (int count, struct acl *entries) /* Return 1 if NAME has a nontrivial access control list, 0 if NAME only has no or a base access control list, and -1 (setting errno) - on error. SB must be set to the stat buffer of FILE. */ + on error. SB must be set to the stat buffer of NAME, obtained + through stat() or lstat(). */ int file_has_acl (char const *name, struct stat const *sb) @@ -366,20 +454,12 @@ file_has_acl (char const *name, struct stat const *sb) /* Linux, FreeBSD, MacOS X, IRIX, Tru64 */ int ret; - if (HAVE_ACL_EXTENDED_FILE || HAVE_ACL_EXTENDED_FILE_NOFOLLOW) /* Linux */ + if (HAVE_ACL_EXTENDED_FILE) /* Linux */ { -# if HAVE_ACL_EXTENDED_FILE_NOFOLLOW - /* acl_extended_file_nofollow() uses lgetxattr() in order to prevent - unnecessary mounts, but it returns the same result as we already - know that NAME is not a symbolic link at this point (modulo the - TOCTTOU race condition). */ - ret = acl_extended_file_nofollow (name); -# else /* On Linux, acl_extended_file is an optimized function: It only makes two calls to getxattr(), one for ACL_TYPE_ACCESS, one for ACL_TYPE_DEFAULT. */ ret = acl_extended_file (name); -# endif } else /* FreeBSD, MacOS X, IRIX, Tru64 */ { @@ -521,9 +601,15 @@ file_has_acl (char const *name, struct stat const *sb) if (count == 0) break; - /* If there are more than 3 entries, there cannot be only the - ACE_OWNER, ACE_GROUP, ACE_OTHER entries. */ - if (count > 3) + /* In the old (original Solaris 10) convention: + If there are more than 3 entries, there cannot be only the + ACE_OWNER, ACE_GROUP, ACE_OTHER entries. + In the newer Solaris 10 and Solaris 11 convention: + If there are more than 6 entries, there cannot be only the + ACE_OWNER, ACE_GROUP, ACE_EVERYONE entries, each once with + NEW_ACE_ACCESS_ALLOWED_ACE_TYPE and once with + NEW_ACE_ACCESS_DENIED_ACE_TYPE. */ + if (count > 6) return 1; entries = (ace_t *) malloc (count * sizeof (ace_t)); @@ -653,6 +739,8 @@ file_has_acl (char const *name, struct stat const *sb) type.u64 = ACL_ANY; if (aclx_get (name, 0, &type, aclbuf, &aclsize, &mode) >= 0) break; + if (errno == ENOSYS) + return 0; if (errno != ENOSPC) { if (acl != aclbuf) @@ -717,7 +805,12 @@ file_has_acl (char const *name, struct stat const *sb) count = acl ((char *) name, ACL_CNT, NACLENTRIES, NULL); if (count < 0) - return -1; + { + if (errno == ENOSYS || errno == ENOTSUP) + break; + else + return -1; + } if (count == 0) return 0; diff --git a/lib/file-type.h b/lib/file-type.h index 0d1b9a483..d7c66e968 100644 --- a/lib/file-type.h +++ b/lib/file-type.h @@ -24,6 +24,6 @@ # include # include -char const *file_type (struct stat const *); +char const *file_type (struct stat const *) _GL_ATTRIBUTE_PURE; #endif /* FILE_TYPE_H */ diff --git a/lib/filenamecat-lgpl.c b/lib/filenamecat-lgpl.c index 8cb2da43d..26d1c735f 100644 --- a/lib/filenamecat-lgpl.c +++ b/lib/filenamecat-lgpl.c @@ -34,7 +34,7 @@ /* Return the longest suffix of F that is a relative file name. If it has no such suffix, return the empty string. */ -static char const * +static char const * _GL_ATTRIBUTE_PURE longest_relative_suffix (char const *f) { for (f += FILE_SYSTEM_PREFIX_LEN (f); ISSLASH (*f); f++) diff --git a/lib/filevercmp.c b/lib/filevercmp.c index f6ed2481f..fd9e9f429 100644 --- a/lib/filevercmp.c +++ b/lib/filevercmp.c @@ -80,7 +80,7 @@ order (unsigned char c) section on the `Version' control field. This version of the code implements that from s5.6.12 of Debian Policy v3.8.0.1 http://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Version */ -static int +static int _GL_ATTRIBUTE_PURE verrevcmp (const char *s1, size_t s1_len, const char *s2, size_t s2_len) { size_t s1_pos = 0; diff --git a/lib/float.c b/lib/float.c index c453d6d19..b05b40c2d 100644 --- a/lib/float.c +++ b/lib/float.c @@ -20,7 +20,7 @@ /* Specification. */ #include -#if (defined _ARCH_PPC || defined _POWER) && defined _AIX && (LDBL_MANT_DIG == 106) && defined __GNUC__ +#if (defined _ARCH_PPC || defined _POWER) && (defined _AIX || defined __linux__) && (LDBL_MANT_DIG == 106) && defined __GNUC__ const union gl_long_double_union gl_LDBL_MAX = { { DBL_MAX, DBL_MAX / (double)134217728UL / (double)134217728UL } }; #elif defined __i386__ diff --git a/lib/float.in.h b/lib/float.in.h index 57b7bc93a..d5b22584f 100644 --- a/lib/float.in.h +++ b/lib/float.in.h @@ -109,7 +109,8 @@ extern const union gl_long_double_union gl_LDBL_MAX; #endif /* On AIX 7.1 with gcc 4.2, the values of LDBL_MIN_EXP, LDBL_MIN, LDBL_MAX are - wrong. */ + wrong. + On Linux/PowerPC with gcc 4.4, the value of LDBL_MAX is wrong. */ #if (defined _ARCH_PPC || defined _POWER) && defined _AIX && (LDBL_MANT_DIG == 106) && defined __GNUC__ # undef LDBL_MIN_EXP # define LDBL_MIN_EXP DBL_MIN_EXP @@ -117,6 +118,8 @@ extern const union gl_long_double_union gl_LDBL_MAX; # define LDBL_MIN_10_EXP DBL_MIN_10_EXP # undef LDBL_MIN # define LDBL_MIN 2.22507385850720138309023271733240406422e-308L /* DBL_MIN = 2^-1022 */ +#endif +#if (defined _ARCH_PPC || defined _POWER) && (defined _AIX || defined __linux__) && (LDBL_MANT_DIG == 106) && defined __GNUC__ # undef LDBL_MAX /* LDBL_MAX is represented as { 0x7FEFFFFF, 0xFFFFFFFF, 0x7C8FFFFF, 0xFFFFFFFF }. It is not easy to define: @@ -170,5 +173,16 @@ extern const union gl_long_double_union gl_LDBL_MAX; # endif #endif +#if @REPLACE_ITOLD@ +/* Pull in a function that fixes the 'int' to 'long double' conversion + of glibc 2.7. */ +extern +# ifdef __cplusplus +"C" +# endif +void _Qp_itoq (long double *, int); +static void (*_gl_float_fix_itold) (long double *, int) = _Qp_itoq; +#endif + #endif /* _@GUARD_PREFIX@_FLOAT_H */ #endif /* _@GUARD_PREFIX@_FLOAT_H */ diff --git a/lib/flock.c b/lib/flock.c index 8f018e50c..439ff434a 100644 --- a/lib/flock.c +++ b/lib/flock.c @@ -26,15 +26,15 @@ #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ -/* _get_osfhandle */ -# include - /* LockFileEx */ # define WIN32_LEAN_AND_MEAN # include # include +/* _get_osfhandle */ +# include "msvc-nothrow.h" + /* Determine the current size of a file. Because the other braindead * APIs we'll call need lower/upper 32 bit pairs, keep the file size * like that too. diff --git a/lib/floor.c b/lib/floor.c index df5e6ddcc..71a5b304f 100644 --- a/lib/floor.c +++ b/lib/floor.c @@ -16,7 +16,9 @@ /* Written by Bruno Haible , 2007. */ -#include +#if ! defined USE_LONG_DOUBLE +# include +#endif /* Specification. */ #include diff --git a/lib/floorl.c b/lib/floorl.c index bf5044fa0..aa62294b9 100644 --- a/lib/floorl.c +++ b/lib/floorl.c @@ -16,5 +16,22 @@ /* Written by Bruno Haible , 2007. */ -#define USE_LONG_DOUBLE -#include "floor.c" +#include + +#if HAVE_SAME_LONG_DOUBLE_AS_DOUBLE + +/* Specification. */ +# include + +long double +floorl (long double x) +{ + return floor (x); +} + +#else + +# define USE_LONG_DOUBLE +# include "floor.c" + +#endif diff --git a/lib/fma.c b/lib/fma.c new file mode 100644 index 000000000..d80466305 --- /dev/null +++ b/lib/fma.c @@ -0,0 +1,887 @@ +/* Fused multiply-add. + Copyright (C) 2007, 2009, 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2011. */ + +#if ! defined USE_LONG_DOUBLE +# include +#endif + +/* Specification. */ +#include + +#include +#include + +#if HAVE_FEGETROUND +# include +#endif + +#include "float+.h" +#include "integer_length.h" +#include "verify.h" + +#ifdef USE_LONG_DOUBLE +# define FUNC fmal +# define DOUBLE long double +# define FREXP frexpl +# define LDEXP ldexpl +# define MIN_EXP LDBL_MIN_EXP +# define MANT_BIT LDBL_MANT_BIT +# define L_(literal) literal##L +#elif ! defined USE_FLOAT +# define FUNC fma +# define DOUBLE double +# define FREXP frexp +# define LDEXP ldexp +# define MIN_EXP DBL_MIN_EXP +# define MANT_BIT DBL_MANT_BIT +# define L_(literal) literal +#else /* defined USE_FLOAT */ +# define FUNC fmaf +# define DOUBLE float +# define FREXP frexpf +# define LDEXP ldexpf +# define MIN_EXP FLT_MIN_EXP +# define MANT_BIT FLT_MANT_BIT +# define L_(literal) literal##f +#endif + +#undef MAX +#define MAX(a,b) ((a) > (b) ? (a) : (b)) + +#undef MIN +#define MIN(a,b) ((a) < (b) ? (a) : (b)) + +/* It is possible to write an implementation of fused multiply-add with + floating-point operations alone. See + Sylvie Boldo, Guillaume Melquiond: + Emulation of FMA and correctly-rounded sums: proved algorithms using + rounding to odd. + + But is it complicated. + Here we take the simpler (and probably slower) approach of doing + multi-precision arithmetic. */ + +/* We use the naming conventions of GNU gmp, but vastly simpler (and slower) + algorithms. */ + +typedef unsigned int mp_limb_t; +#define GMP_LIMB_BITS 32 +verify (sizeof (mp_limb_t) * CHAR_BIT == GMP_LIMB_BITS); + +typedef unsigned long long mp_twolimb_t; +#define GMP_TWOLIMB_BITS 64 +verify (sizeof (mp_twolimb_t) * CHAR_BIT == GMP_TWOLIMB_BITS); + +/* Number of limbs needed for a single DOUBLE. */ +#define NLIMBS1 ((MANT_BIT + GMP_LIMB_BITS - 1) / GMP_LIMB_BITS) + +/* Number of limbs needed for the accumulator. */ +#define NLIMBS3 (3 * NLIMBS1 + 1) + +/* Assuming 0.5 <= x < 1.0: + Convert the mantissa (x * 2^DBL_MANT_BIT) to a sequence of limbs. */ +static void +decode (DOUBLE x, mp_limb_t limbs[NLIMBS1]) +{ + /* I'm not sure whether it's safe to cast a 'double' value between + 2^31 and 2^32 to 'unsigned int', therefore play safe and cast only + 'double' values between 0 and 2^31 (to 'unsigned int' or 'int', + doesn't matter). + So, we split the MANT_BIT bits of x into a number of chunks of + at most 31 bits. */ + enum { chunk_count = (MANT_BIT - 1) / 31 + 1 }; + /* Variables used for storing the bits limb after limb. */ + mp_limb_t *p = limbs + NLIMBS1 - 1; + mp_limb_t accu = 0; + unsigned int bits_needed = MANT_BIT - (NLIMBS1 - 1) * GMP_LIMB_BITS; + /* The bits bits_needed-1...0 need to be ORed into the accu. + 1 <= bits_needed <= GMP_LIMB_BITS. */ + /* Unroll the first 4 loop rounds. */ + if (chunk_count > 0) + { + /* Here we still have MANT_BIT-0*31 bits to extract from x. */ + enum { chunk_bits = MIN (31, MANT_BIT - 0 * 31) }; /* > 0, <= 31 */ + mp_limb_t d; + x *= (mp_limb_t) 1 << chunk_bits; + d = (int) x; /* 0 <= d < 2^chunk_bits. */ + x -= d; + if (!(x >= L_(0.0) && x < L_(1.0))) + abort (); + if (bits_needed < chunk_bits) + { + /* store bits_needed bits */ + accu |= d >> (chunk_bits - bits_needed); + *p = accu; + if (p == limbs) + goto done; + p--; + /* hold (chunk_bits - bits_needed) bits */ + accu = d << (GMP_LIMB_BITS - (chunk_bits - bits_needed)); + bits_needed = GMP_LIMB_BITS - (chunk_bits - bits_needed); + } + else + { + /* store chunk_bits bits */ + accu |= d << (bits_needed - chunk_bits); + bits_needed -= chunk_bits; + if (bits_needed == 0) + { + *p = accu; + if (p == limbs) + goto done; + p--; + accu = 0; + bits_needed = GMP_LIMB_BITS; + } + } + } + if (chunk_count > 1) + { + /* Here we still have MANT_BIT-1*31 bits to extract from x. */ + enum { chunk_bits = MIN (31, MAX (MANT_BIT - 1 * 31, 0)) }; /* > 0, <= 31 */ + mp_limb_t d; + x *= (mp_limb_t) 1 << chunk_bits; + d = (int) x; /* 0 <= d < 2^chunk_bits. */ + x -= d; + if (!(x >= L_(0.0) && x < L_(1.0))) + abort (); + if (bits_needed < chunk_bits) + { + /* store bits_needed bits */ + accu |= d >> (chunk_bits - bits_needed); + *p = accu; + if (p == limbs) + goto done; + p--; + /* hold (chunk_bits - bits_needed) bits */ + accu = d << (GMP_LIMB_BITS - (chunk_bits - bits_needed)); + bits_needed = GMP_LIMB_BITS - (chunk_bits - bits_needed); + } + else + { + /* store chunk_bits bits */ + accu |= d << (bits_needed - chunk_bits); + bits_needed -= chunk_bits; + if (bits_needed == 0) + { + *p = accu; + if (p == limbs) + goto done; + p--; + accu = 0; + bits_needed = GMP_LIMB_BITS; + } + } + } + if (chunk_count > 2) + { + /* Here we still have MANT_BIT-2*31 bits to extract from x. */ + enum { chunk_bits = MIN (31, MAX (MANT_BIT - 2 * 31, 0)) }; /* > 0, <= 31 */ + mp_limb_t d; + x *= (mp_limb_t) 1 << chunk_bits; + d = (int) x; /* 0 <= d < 2^chunk_bits. */ + x -= d; + if (!(x >= L_(0.0) && x < L_(1.0))) + abort (); + if (bits_needed < chunk_bits) + { + /* store bits_needed bits */ + accu |= d >> (chunk_bits - bits_needed); + *p = accu; + if (p == limbs) + goto done; + p--; + /* hold (chunk_bits - bits_needed) bits */ + accu = d << (GMP_LIMB_BITS - (chunk_bits - bits_needed)); + bits_needed = GMP_LIMB_BITS - (chunk_bits - bits_needed); + } + else + { + /* store chunk_bits bits */ + accu |= d << (bits_needed - chunk_bits); + bits_needed -= chunk_bits; + if (bits_needed == 0) + { + *p = accu; + if (p == limbs) + goto done; + p--; + accu = 0; + bits_needed = GMP_LIMB_BITS; + } + } + } + if (chunk_count > 3) + { + /* Here we still have MANT_BIT-3*31 bits to extract from x. */ + enum { chunk_bits = MIN (31, MAX (MANT_BIT - 3 * 31, 0)) }; /* > 0, <= 31 */ + mp_limb_t d; + x *= (mp_limb_t) 1 << chunk_bits; + d = (int) x; /* 0 <= d < 2^chunk_bits. */ + x -= d; + if (!(x >= L_(0.0) && x < L_(1.0))) + abort (); + if (bits_needed < chunk_bits) + { + /* store bits_needed bits */ + accu |= d >> (chunk_bits - bits_needed); + *p = accu; + if (p == limbs) + goto done; + p--; + /* hold (chunk_bits - bits_needed) bits */ + accu = d << (GMP_LIMB_BITS - (chunk_bits - bits_needed)); + bits_needed = GMP_LIMB_BITS - (chunk_bits - bits_needed); + } + else + { + /* store chunk_bits bits */ + accu |= d << (bits_needed - chunk_bits); + bits_needed -= chunk_bits; + if (bits_needed == 0) + { + *p = accu; + if (p == limbs) + goto done; + p--; + accu = 0; + bits_needed = GMP_LIMB_BITS; + } + } + } + if (chunk_count > 4) + { + /* Here we still have MANT_BIT-4*31 bits to extract from x. */ + /* Generic loop. */ + size_t k; + for (k = 4; k < chunk_count; k++) + { + size_t chunk_bits = MIN (31, MANT_BIT - k * 31); /* > 0, <= 31 */ + mp_limb_t d; + x *= (mp_limb_t) 1 << chunk_bits; + d = (int) x; /* 0 <= d < 2^chunk_bits. */ + x -= d; + if (!(x >= L_(0.0) && x < L_(1.0))) + abort (); + if (bits_needed < chunk_bits) + { + /* store bits_needed bits */ + accu |= d >> (chunk_bits - bits_needed); + *p = accu; + if (p == limbs) + goto done; + p--; + /* hold (chunk_bits - bits_needed) bits */ + accu = d << (GMP_LIMB_BITS - (chunk_bits - bits_needed)); + bits_needed = GMP_LIMB_BITS - (chunk_bits - bits_needed); + } + else + { + /* store chunk_bits bits */ + accu |= d << (bits_needed - chunk_bits); + bits_needed -= chunk_bits; + if (bits_needed == 0) + { + *p = accu; + if (p == limbs) + goto done; + p--; + accu = 0; + bits_needed = GMP_LIMB_BITS; + } + } + } + } + /* We shouldn't get here. */ + abort (); + + done: ; +#ifndef USE_LONG_DOUBLE /* On FreeBSD 6.1/x86, 'long double' numbers sometimes + have excess precision. */ + if (!(x == L_(0.0))) + abort (); +#endif +} + +/* Multiply two sequences of limbs. */ +static void +multiply (mp_limb_t xlimbs[NLIMBS1], mp_limb_t ylimbs[NLIMBS1], + mp_limb_t prod_limbs[2 * NLIMBS1]) +{ + size_t k, i, j; + enum { len1 = NLIMBS1 }; + enum { len2 = NLIMBS1 }; + + for (k = len2; k > 0; ) + prod_limbs[--k] = 0; + for (i = 0; i < len1; i++) + { + mp_limb_t digit1 = xlimbs[i]; + mp_twolimb_t carry = 0; + for (j = 0; j < len2; j++) + { + mp_limb_t digit2 = ylimbs[j]; + carry += (mp_twolimb_t) digit1 * (mp_twolimb_t) digit2; + carry += prod_limbs[i + j]; + prod_limbs[i + j] = (mp_limb_t) carry; + carry = carry >> GMP_LIMB_BITS; + } + prod_limbs[i + len2] = (mp_limb_t) carry; + } +} + +DOUBLE +FUNC (DOUBLE x, DOUBLE y, DOUBLE z) +{ + if (isfinite (x) && isfinite (y)) + { + if (isfinite (z)) + { + /* x, y, z are all finite. */ + if (x == L_(0.0) || y == L_(0.0)) + return z; + if (z == L_(0.0)) + return x * y; + /* x, y, z are all non-zero. + The result is x * y + z. */ + { + int e; /* exponent of x * y + z */ + int sign; + mp_limb_t sum[NLIMBS3]; + size_t sum_len; + + { + int xys; /* sign of x * y */ + int zs; /* sign of z */ + int xye; /* sum of exponents of x and y */ + int ze; /* exponent of z */ + mp_limb_t summand1[NLIMBS3]; + size_t summand1_len; + mp_limb_t summand2[NLIMBS3]; + size_t summand2_len; + + { + mp_limb_t zlimbs[NLIMBS1]; + mp_limb_t xylimbs[2 * NLIMBS1]; + + { + DOUBLE xn; /* normalized part of x */ + DOUBLE yn; /* normalized part of y */ + DOUBLE zn; /* normalized part of z */ + int xe; /* exponent of x */ + int ye; /* exponent of y */ + mp_limb_t xlimbs[NLIMBS1]; + mp_limb_t ylimbs[NLIMBS1]; + + xys = 0; + xn = x; + if (x < 0) + { + xys = 1; + xn = - x; + } + yn = y; + if (y < 0) + { + xys = 1 - xys; + yn = - y; + } + + zs = 0; + zn = z; + if (z < 0) + { + zs = 1; + zn = - z; + } + + /* xn, yn, zn are all positive. + The result is (-1)^xys * xn * yn + (-1)^zs * zn. */ + xn = FREXP (xn, &xe); + yn = FREXP (yn, &ye); + zn = FREXP (zn, &ze); + xye = xe + ye; + /* xn, yn, zn are all < 1.0 and >= 0.5. + The result is + (-1)^xys * 2^xye * xn * yn + (-1)^zs * 2^ze * zn. */ + if (xye < ze - MANT_BIT) + { + /* 2^xye * xn * yn < 2^xye <= 2^(ze-MANT_BIT-1) */ + return z; + } + if (xye - 2 * MANT_BIT > ze) + { + /* 2^ze * zn < 2^ze <= 2^(xye-2*MANT_BIT-1). + We cannot simply do + return x * y; + because it would round differently: A round-to-even + in the multiplication can be a round-up or round-down + here, due to z. So replace z with a value that doesn't + require the use of long bignums but that rounds the + same way. */ + zn = L_(0.5); + ze = xye - 2 * MANT_BIT - 1; + } + /* Convert mantissas of xn, yn, zn to limb sequences: + xlimbs = 2^MANT_BIT * xn + ylimbs = 2^MANT_BIT * yn + zlimbs = 2^MANT_BIT * zn */ + decode (xn, xlimbs); + decode (yn, ylimbs); + decode (zn, zlimbs); + /* Multiply the mantissas of xn and yn: + xylimbs = xlimbs * ylimbs */ + multiply (xlimbs, ylimbs, xylimbs); + } + /* The result is + (-1)^xys * 2^(xye-2*MANT_BIT) * xylimbs + + (-1)^zs * 2^(ze-MANT_BIT) * zlimbs. + Compute + e = min (xye-2*MANT_BIT, ze-MANT_BIT) + then + summand1 = 2^(xye-2*MANT_BIT-e) * xylimbs + summand2 = 2^(ze-MANT_BIT-e) * zlimbs */ + e = MIN (xye - 2 * MANT_BIT, ze - MANT_BIT); + if (e == xye - 2 * MANT_BIT) + { + /* Simply copy the limbs of xylimbs. */ + size_t i; + for (i = 0; i < 2 * NLIMBS1; i++) + summand1[i] = xylimbs[i]; + summand1_len = 2 * NLIMBS1; + } + else + { + size_t ediff = xye - 2 * MANT_BIT - e; + /* Left shift the limbs of xylimbs by ediff bits. */ + size_t ldiff = ediff / GMP_LIMB_BITS; + size_t shift = ediff % GMP_LIMB_BITS; + size_t i; + for (i = 0; i < ldiff; i++) + summand1[i] = 0; + if (shift > 0) + { + mp_limb_t carry = 0; + for (i = 0; i < 2 * NLIMBS1; i++) + { + summand1[ldiff + i] = (xylimbs[i] << shift) | carry; + carry = xylimbs[i] >> (GMP_LIMB_BITS - shift); + } + summand1[ldiff + 2 * NLIMBS1] = carry; + summand1_len = ldiff + 2 * NLIMBS1 + 1; + } + else + { + for (i = 0; i < 2 * NLIMBS1; i++) + summand1[ldiff + i] = xylimbs[i]; + summand1_len = ldiff + 2 * NLIMBS1; + } + /* Estimation of needed array size: + ediff = (xye - 2 * MANT_BIT) - (ze - MANT_BIT) <= MANT_BIT + 1 + therefore + summand1_len + = (ediff + GMP_LIMB_BITS - 1) / GMP_LIMB_BITS + 2 * NLIMBS1 + <= (MANT_BIT + GMP_LIMB_BITS) / GMP_LIMB_BITS + 2 * NLIMBS1 + <= 3 * NLIMBS1 + 1 + = NLIMBS3 */ + if (!(summand1_len <= NLIMBS3)) + abort (); + } + if (e == ze - MANT_BIT) + { + /* Simply copy the limbs of zlimbs. */ + size_t i; + for (i = 0; i < NLIMBS1; i++) + summand2[i] = zlimbs[i]; + summand2_len = NLIMBS1; + } + else + { + size_t ediff = ze - MANT_BIT - e; + /* Left shift the limbs of zlimbs by ediff bits. */ + size_t ldiff = ediff / GMP_LIMB_BITS; + size_t shift = ediff % GMP_LIMB_BITS; + size_t i; + for (i = 0; i < ldiff; i++) + summand2[i] = 0; + if (shift > 0) + { + mp_limb_t carry = 0; + for (i = 0; i < NLIMBS1; i++) + { + summand2[ldiff + i] = (zlimbs[i] << shift) | carry; + carry = zlimbs[i] >> (GMP_LIMB_BITS - shift); + } + summand2[ldiff + NLIMBS1] = carry; + summand2_len = ldiff + NLIMBS1 + 1; + } + else + { + for (i = 0; i < NLIMBS1; i++) + summand2[ldiff + i] = zlimbs[i]; + summand2_len = ldiff + NLIMBS1; + } + /* Estimation of needed array size: + ediff = (ze - MANT_BIT) - (xye - 2 * MANT_BIT) <= 2 * MANT_BIT + therefore + summand2_len + = (ediff + GMP_LIMB_BITS - 1) / GMP_LIMB_BITS + NLIMBS1 + <= (2 * MANT_BIT + GMP_LIMB_BITS - 1) / GMP_LIMB_BITS + NLIMBS1 + <= 3 * NLIMBS1 + 1 + = NLIMBS3 */ + if (!(summand2_len <= NLIMBS3)) + abort (); + } + } + /* The result is + (-1)^xys * 2^e * summand1 + (-1)^zs * 2^e * summand2. */ + if (xys == zs) + { + /* Perform an addition. */ + size_t i; + mp_limb_t carry; + + sign = xys; + carry = 0; + for (i = 0; i < MIN (summand1_len, summand2_len); i++) + { + mp_limb_t digit1 = summand1[i]; + mp_limb_t digit2 = summand2[i]; + sum[i] = digit1 + digit2 + carry; + carry = (carry + ? digit1 >= (mp_limb_t)-1 - digit2 + : digit1 > (mp_limb_t)-1 - digit2); + } + if (summand1_len > summand2_len) + for (; i < summand1_len; i++) + { + mp_limb_t digit1 = summand1[i]; + sum[i] = carry + digit1; + carry = carry && digit1 == (mp_limb_t)-1; + } + else + for (; i < summand2_len; i++) + { + mp_limb_t digit2 = summand2[i]; + sum[i] = carry + digit2; + carry = carry && digit2 == (mp_limb_t)-1; + } + if (carry) + sum[i++] = carry; + sum_len = i; + } + else + { + /* Perform a subtraction. */ + /* Compare summand1 and summand2 by magnitude. */ + while (summand1[summand1_len - 1] == 0) + summand1_len--; + while (summand2[summand2_len - 1] == 0) + summand2_len--; + if (summand1_len > summand2_len) + sign = xys; + else if (summand1_len < summand2_len) + sign = zs; + else + { + size_t i = summand1_len; + for (;;) + { + --i; + if (summand1[i] > summand2[i]) + { + sign = xys; + break; + } + if (summand1[i] < summand2[i]) + { + sign = zs; + break; + } + if (i == 0) + /* summand1 and summand2 are equal. */ + return L_(0.0); + } + } + if (sign == xys) + { + /* Compute summand1 - summand2. */ + size_t i; + mp_limb_t carry; + + carry = 0; + for (i = 0; i < summand2_len; i++) + { + mp_limb_t digit1 = summand1[i]; + mp_limb_t digit2 = summand2[i]; + sum[i] = digit1 - digit2 - carry; + carry = (carry ? digit1 <= digit2 : digit1 < digit2); + } + for (; i < summand1_len; i++) + { + mp_limb_t digit1 = summand1[i]; + sum[i] = digit1 - carry; + carry = carry && digit1 == 0; + } + if (carry) + abort (); + sum_len = summand1_len; + } + else + { + /* Compute summand2 - summand1. */ + size_t i; + mp_limb_t carry; + + carry = 0; + for (i = 0; i < summand1_len; i++) + { + mp_limb_t digit1 = summand1[i]; + mp_limb_t digit2 = summand2[i]; + sum[i] = digit2 - digit1 - carry; + carry = (carry ? digit2 <= digit1 : digit2 < digit1); + } + for (; i < summand2_len; i++) + { + mp_limb_t digit2 = summand2[i]; + sum[i] = digit2 - carry; + carry = carry && digit2 == 0; + } + if (carry) + abort (); + sum_len = summand2_len; + } + } + } + /* The result is + (-1)^sign * 2^e * sum. */ + /* Now perform the rounding to MANT_BIT mantissa bits. */ + while (sum[sum_len - 1] == 0) + sum_len--; + /* Here we know that the most significant limb, sum[sum_len - 1], is + non-zero. */ + { + /* How many bits the sum has. */ + unsigned int sum_bits = + integer_length (sum[sum_len - 1]) + (sum_len - 1) * GMP_LIMB_BITS; + /* How many bits to keep when rounding. */ + unsigned int keep_bits; + /* How many bits to round off. */ + unsigned int roundoff_bits; + if (e + (int) sum_bits >= MIN_EXP) + /* 2^e * sum >= 2^(MIN_EXP-1). + result will be a normalized number. */ + keep_bits = MANT_BIT; + else if (e + (int) sum_bits >= MIN_EXP - MANT_BIT) + /* 2^e * sum >= 2^(MIN_EXP-MANT_BIT-1). + result will be a denormalized number or rounded to zero. */ + keep_bits = e + (int) sum_bits - (MIN_EXP + MANT_BIT); + else + /* 2^e * sum < 2^(MIN_EXP-MANT_BIT-1). Round to zero. */ + return L_(0.0); + /* Note: 0 <= keep_bits <= MANT_BIT. */ + if (sum_bits <= keep_bits) + { + /* Nothing to do. */ + roundoff_bits = 0; + keep_bits = sum_bits; + } + else + { + int round_up; + roundoff_bits = sum_bits - keep_bits; /* > 0, <= sum_bits */ + { +#if HAVE_FEGETROUND && defined FE_TOWARDZERO + /* Cf. */ + int rounding_mode = fegetround (); + if (rounding_mode == FE_TOWARDZERO) + round_up = 0; + else if (rounding_mode == FE_DOWNWARD) + round_up = sign; + else if (rounding_mode == FE_UPWARD) + round_up = !sign; +#else + /* Cf. */ + int rounding_mode = FLT_ROUNDS; + if (rounding_mode == 0) /* toward zero */ + round_up = 0; + else if (rounding_mode == 3) /* toward negative infinity */ + round_up = sign; + else if (rounding_mode == 2) /* toward positive infinity */ + round_up = !sign; +#endif + else + { + /* Round to nearest. */ + round_up = 0; + /* Test bit (roundoff_bits-1). */ + if ((sum[(roundoff_bits - 1) / GMP_LIMB_BITS] + >> ((roundoff_bits - 1) % GMP_LIMB_BITS)) & 1) + { + /* Test bits roundoff_bits-1 .. 0. */ + bool halfway = + ((sum[(roundoff_bits - 1) / GMP_LIMB_BITS] + & (((mp_limb_t) 1 << ((roundoff_bits - 1) % GMP_LIMB_BITS)) - 1)) + == 0); + if (halfway) + { + int i; + for (i = (roundoff_bits - 1) / GMP_LIMB_BITS - 1; i >= 0; i--) + if (sum[i] != 0) + { + halfway = false; + break; + } + } + if (halfway) + /* Round to even. Test bit roundoff_bits. */ + round_up = ((sum[roundoff_bits / GMP_LIMB_BITS] + >> (roundoff_bits % GMP_LIMB_BITS)) & 1); + else + /* Round up. */ + round_up = 1; + } + } + } + /* Perform the rounding. */ + { + size_t i = roundoff_bits / GMP_LIMB_BITS; + { + size_t j = i; + while (j > 0) + sum[--j] = 0; + } + if (round_up) + { + /* Round up. */ + sum[i] = + (sum[i] + | (((mp_limb_t) 1 << (roundoff_bits % GMP_LIMB_BITS)) - 1)) + + 1; + if (sum[i] == 0) + { + /* Propagate carry. */ + while (i < sum_len - 1) + { + ++i; + sum[i] += 1; + if (sum[i] != 0) + break; + } + } + /* sum[i] is the most significant limb that was + incremented. */ + if (i == sum_len - 1 && (sum[i] & (sum[i] - 1)) == 0) + { + /* Through the carry, one more bit is needed. */ + if (sum[i] != 0) + sum_bits += 1; + else + { + /* Instead of requiring one more limb of memory, + perform a shift by one bit, and adjust the + exponent. */ + sum[i] = (mp_limb_t) 1 << (GMP_LIMB_BITS - 1); + e += 1; + } + /* The bit sequence has the form 1000...000. */ + keep_bits = 1; + } + } + else + { + /* Round down. */ + sum[i] &= ((mp_limb_t) -1 << (roundoff_bits % GMP_LIMB_BITS)); + if (i == sum_len - 1 && sum[i] == 0) + /* The entire sum has become zero. */ + return L_(0.0); + } + } + } + /* The result is + (-1)^sign * 2^e * sum + and here we know that + 2^(sum_bits-1) <= sum < 2^sum_bits, + and sum is a multiple of 2^(sum_bits-keep_bits), where + 0 < keep_bits <= MANT_BIT and keep_bits <= sum_bits. + (If keep_bits was initially 0, the rounding either returned zero + or produced a bit sequence of the form 1000...000, setting + keep_bits to 1.) */ + { + /* Split the keep_bits bits into chunks of at most 32 bits. */ + unsigned int chunk_count = (keep_bits - 1) / GMP_LIMB_BITS + 1; + /* 1 <= chunk_count <= ceil (sum_bits / GMP_LIMB_BITS) = sum_len. */ + static const DOUBLE chunk_multiplier = /* 2^-GMP_LIMB_BITS */ + L_(1.0) / ((DOUBLE) (1 << (GMP_LIMB_BITS / 2)) + * (DOUBLE) (1 << ((GMP_LIMB_BITS + 1) / 2))); + unsigned int shift = sum_bits % GMP_LIMB_BITS; + DOUBLE fsum; + if (MANT_BIT <= GMP_LIMB_BITS) + { + /* Since keep_bits <= MANT_BIT <= GMP_LIMB_BITS, + chunk_count is 1. No need for a loop. */ + if (shift == 0) + fsum = (DOUBLE) sum[sum_len - 1]; + else + fsum = (DOUBLE) + ((sum[sum_len - 1] << (GMP_LIMB_BITS - shift)) + | (sum_len >= 2 ? sum[sum_len - 2] >> shift : 0)); + } + else + { + int k; + k = chunk_count - 1; + if (shift == 0) + { + /* First loop round. */ + fsum = (DOUBLE) sum[sum_len - k - 1]; + /* General loop. */ + while (--k >= 0) + { + fsum *= chunk_multiplier; + fsum += (DOUBLE) sum[sum_len - k - 1]; + } + } + else + { + /* First loop round. */ + fsum = (DOUBLE) + ((sum[sum_len - k - 1] << (GMP_LIMB_BITS - shift)) + | (sum_len >= k + 2 ? sum[sum_len - k - 2] >> shift : 0)); + /* General loop. */ + while (--k >= 0) + { + fsum *= chunk_multiplier; + fsum += (DOUBLE) + ((sum[sum_len - k - 1] << (GMP_LIMB_BITS - shift)) + | (sum[sum_len - k - 2] >> shift)); + } + } + } + fsum = LDEXP (fsum, e + (int) sum_bits - GMP_LIMB_BITS); + return (sign ? - fsum : fsum); + } + } + } + } + else + return z; + } + else + return (x * y) + z; +} diff --git a/lib/fmaf.c b/lib/fmaf.c new file mode 100644 index 000000000..d1f531059 --- /dev/null +++ b/lib/fmaf.c @@ -0,0 +1,20 @@ +/* Fused multiply-add. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2011. */ + +#define USE_FLOAT +#include "fma.c" diff --git a/lib/fmal.c b/lib/fmal.c new file mode 100644 index 000000000..91d6dd9b8 --- /dev/null +++ b/lib/fmal.c @@ -0,0 +1,37 @@ +/* Fused multiply-add. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2011. */ + +#include + +#if HAVE_SAME_LONG_DOUBLE_AS_DOUBLE + +/* Specification. */ +# include + +long double +fmal (long double x, long double y, long double z) +{ + return fma (x, y, z); +} + +#else + +# define USE_LONG_DOUBLE +# include "fma.c" + +#endif diff --git a/lib/fmodf.c b/lib/fmodf.c new file mode 100644 index 000000000..35a8a233c --- /dev/null +++ b/lib/fmodf.c @@ -0,0 +1,26 @@ +/* Remainder. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include + +float +fmodf (float x, float y) +{ + return (float) fmod ((double) x, (double) y); +} diff --git a/lib/fnmatch.c b/lib/fnmatch.c index 346e1c6b2..bd25b4ca3 100644 --- a/lib/fnmatch.c +++ b/lib/fnmatch.c @@ -168,7 +168,6 @@ static int posixly_correct; # endif # endif # define MEMCHR(S, C, N) memchr (S, C, N) -# define STRCOLL(S1, S2) strcoll (S1, S2) # include "fnmatch_loop.c" @@ -196,7 +195,6 @@ static int posixly_correct; # endif # endif # define MEMCHR(S, C, N) wmemchr (S, C, N) -# define STRCOLL(S1, S2) wcscoll (S1, S2) # define WIDE_CHAR_VERSION 1 # undef IS_CHAR_CLASS diff --git a/lib/fnmatch_loop.c b/lib/fnmatch_loop.c index 8334491d4..f35c10f9e 100644 --- a/lib/fnmatch_loop.c +++ b/lib/fnmatch_loop.c @@ -1214,7 +1214,6 @@ EXT (INT opt, const CHAR *pattern, const CHAR *string, const CHAR *string_end, #undef END #undef MEMPCPY #undef MEMCHR -#undef STRCOLL #undef STRLEN #undef STRCAT #undef L_ diff --git a/lib/fopen.c b/lib/fopen.c index 33412fbce..e9ba6bba1 100644 --- a/lib/fopen.c +++ b/lib/fopen.c @@ -33,7 +33,9 @@ orig_fopen (const char *filename, const char *mode) } /* Specification. */ -#include +/* Write "stdio.h" here, not , otherwise OSF/1 5.1 DTK cc eliminates + this include because of the preliminary #include above. */ +#include "stdio.h" #include #include diff --git a/lib/freadahead.h b/lib/freadahead.h index af03b8995..0ddb826a4 100644 --- a/lib/freadahead.h +++ b/lib/freadahead.h @@ -31,7 +31,7 @@ extern "C" { STREAM must not be wide-character oriented. */ -extern size_t freadahead (FILE *stream); +extern size_t freadahead (FILE *stream) _GL_ATTRIBUTE_PURE; #ifdef __cplusplus } diff --git a/lib/freopen.c b/lib/freopen.c index bae064684..7069ec98f 100644 --- a/lib/freopen.c +++ b/lib/freopen.c @@ -33,7 +33,9 @@ orig_freopen (const char *filename, const char *mode, FILE *stream) } /* Specification. */ -#include +/* Write "stdio.h" here, not , otherwise OSF/1 5.1 DTK cc eliminates + this include because of the preliminary #include above. */ +#include "stdio.h" #include diff --git a/lib/frexp.c b/lib/frexp.c index 0f0d41ad8..26bdec9a7 100644 --- a/lib/frexp.c +++ b/lib/frexp.c @@ -17,7 +17,9 @@ /* Written by Paolo Bonzini , 2003, and Bruno Haible , 2007. */ -#include +#if ! defined USE_LONG_DOUBLE +# include +#endif /* Specification. */ #include diff --git a/lib/frexpf.c b/lib/frexpf.c new file mode 100644 index 000000000..2bd5f51ec --- /dev/null +++ b/lib/frexpf.c @@ -0,0 +1,26 @@ +/* Split a float into fraction and mantissa. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include + +float +frexpf (float x, int *expptr) +{ + return (float) frexp ((double) x, expptr); +} diff --git a/lib/frexpl.c b/lib/frexpl.c index ea635a46b..c468937ae 100644 --- a/lib/frexpl.c +++ b/lib/frexpl.c @@ -14,5 +14,22 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -#define USE_LONG_DOUBLE -#include "frexp.c" +#include + +#if HAVE_SAME_LONG_DOUBLE_AS_DOUBLE + +/* Specification. */ +# include + +long double +frexpl (long double x, int *expptr) +{ + return frexp (x, expptr); +} + +#else + +# define USE_LONG_DOUBLE +# include "frexp.c" + +#endif diff --git a/lib/fstat.c b/lib/fstat.c new file mode 100644 index 000000000..db5b17c1e --- /dev/null +++ b/lib/fstat.c @@ -0,0 +1,82 @@ +/* fstat() replacement. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* If the user's config.h happens to include , let it include only + the system's here, so that orig_fstat doesn't recurse to + rpl_fstat. */ +#define __need_system_sys_stat_h +#include + +/* Get the original definition of fstat. It might be defined as a macro. */ +#include +#include +#undef __need_system_sys_stat_h + +static inline int +orig_fstat (int fd, struct stat *buf) +{ + return fstat (fd, buf); +} + +/* Specification. */ +/* Write "sys/stat.h" here, not , otherwise OSF/1 5.1 DTK cc + eliminates this include because of the preliminary #include + above. */ +#include "sys/stat.h" + +#include +#include + +#if HAVE_MSVC_INVALID_PARAMETER_HANDLER +# include "msvc-inval.h" +#endif + +#if HAVE_MSVC_INVALID_PARAMETER_HANDLER +static inline int +fstat_nothrow (int fd, struct stat *buf) +{ + int result; + + TRY_MSVC_INVAL + { + result = orig_fstat (fd, buf); + } + CATCH_MSVC_INVAL + { + result = -1; + errno = EBADF; + } + DONE_MSVC_INVAL; + + return result; +} +#else +# define fstat_nothrow orig_fstat +#endif + +int +rpl_fstat (int fd, struct stat *buf) +{ +#if REPLACE_FCHDIR && REPLACE_OPEN_DIRECTORY + /* Handle the case when rpl_open() used a dummy file descriptor to work + around an open() that can't normally visit directories. */ + const char *name = _gl_directory_name (fd); + if (name != NULL) + return stat (name, buf); +#endif + + return fstat_nothrow (fd, buf); +} diff --git a/lib/fstatat.c b/lib/fstatat.c index 326ce215a..e59be91d0 100644 --- a/lib/fstatat.c +++ b/lib/fstatat.c @@ -36,13 +36,16 @@ orig_fstatat (int fd, char const *filename, struct stat *buf, int flags) } #endif -#include +/* Write "sys/stat.h" here, not , otherwise OSF/1 5.1 DTK cc + eliminates this include because of the preliminary #include + above. */ +#include "sys/stat.h" #include #include #include -#if HAVE_FSTATAT && !FSTATAT_ZERO_FLAG_BROKEN +#if HAVE_FSTATAT && HAVE_WORKING_FSTATAT_ZERO_FLAG # ifndef LSTAT_FOLLOWS_SLASHED_SYMLINK # define LSTAT_FOLLOWS_SLASHED_SYMLINK 0 @@ -87,7 +90,7 @@ rpl_fstatat (int fd, char const *file, struct stat *st, int flag) return result; } -#else /* !HAVE_FSTATAT || FSTATAT_ZERO_FLAG_BROKEN */ +#else /* ! (HAVE_FSTATAT && HAVE_WORKING_FSTATAT_ZERO_FLAG) */ /* On mingw, the gnulib defines `stat' as a function-like macro; but using it in AT_FUNC_F2 causes compilation failure @@ -115,11 +118,7 @@ stat_func (char const *name, struct stat *st) then give a diagnostic and exit nonzero. Otherwise, this function works just like Solaris' fstatat. */ -# if FSTATAT_ZERO_FLAG_BROKEN -# define AT_FUNC_NAME rpl_fstatat -# else -# define AT_FUNC_NAME fstatat -# endif +# define AT_FUNC_NAME fstatat # define AT_FUNC_F1 lstat # define AT_FUNC_F2 stat_func # define AT_FUNC_USE_F1_COND AT_SYMLINK_NOFOLLOW diff --git a/lib/fsync.c b/lib/fsync.c index f0fc8e5d3..325f2167f 100644 --- a/lib/fsync.c +++ b/lib/fsync.c @@ -27,15 +27,15 @@ #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ -/* _get_osfhandle */ -# include - /* FlushFileBuffers */ # define WIN32_LEAN_AND_MEAN # include # include +/* Get _get_osfhandle. */ +# include "msvc-nothrow.h" + int fsync (int fd) { diff --git a/lib/ftruncate.c b/lib/ftruncate.c index 33b69d810..ae1e85890 100644 --- a/lib/ftruncate.c +++ b/lib/ftruncate.c @@ -1,4 +1,4 @@ -/* ftruncate emulations that work on some System V's. +/* ftruncate emulations for native Windows. This file is in the public domain. */ #include @@ -6,67 +6,33 @@ /* Specification. */ #include -#include -#include +#if HAVE_CHSIZE -#ifdef F_CHSIZE +# include +# include -int -ftruncate (int fd, off_t length) -{ - return fcntl (fd, F_CHSIZE, length); -} - -#else /* not F_CHSIZE */ -# ifdef F_FREESP - -/* By William Kucharski . */ - -# include -# include - -int -ftruncate (int fd, off_t length) +# if HAVE_MSVC_INVALID_PARAMETER_HANDLER +# include "msvc-inval.h" +static inline int +chsize_nothrow (int fd, long length) { - struct flock fl; - struct stat filebuf; - - if (fstat (fd, &filebuf) < 0) - return -1; + int result; - if (filebuf.st_size < length) + TRY_MSVC_INVAL { - /* Extend file length. */ - if (lseek (fd, (length - 1), SEEK_SET) < 0) - return -1; - - /* Write a "0" byte. */ - if (write (fd, "", 1) != 1) - return -1; + result = chsize (fd, length); } - else + CATCH_MSVC_INVAL { - - /* Truncate length. */ - - fl.l_whence = 0; - fl.l_len = 0; - fl.l_start = length; - fl.l_type = F_WRLCK; /* write lock on file space */ - - /* This relies on the *undocumented* F_FREESP argument to fcntl, - which truncates the file so that it ends at the position - indicated by fl.l_start. Will minor miracles never cease? */ - - if (fcntl (fd, F_FREESP, &fl) < 0) - return -1; + result = -1; + errno = EBADF; } + DONE_MSVC_INVAL; - return 0; + return result; } - -# else /* not F_CHSIZE nor F_FREESP */ -# if HAVE_CHSIZE /* native Windows, e.g. mingw */ +# define chsize chsize_nothrow +# endif int ftruncate (int fd, off_t length) @@ -74,17 +40,4 @@ ftruncate (int fd, off_t length) return chsize (fd, length); } -# else /* not F_CHSIZE nor F_FREESP nor HAVE_CHSIZE */ - -# include - -int -ftruncate (int fd, off_t length) -{ - errno = EIO; - return -1; -} - -# endif /* not HAVE_CHSIZE */ -# endif /* not F_FREESP */ -#endif /* not F_CHSIZE */ +#endif diff --git a/lib/fts.c b/lib/fts.c index e3829f324..ccd1980ed 100644 --- a/lib/fts.c +++ b/lib/fts.c @@ -229,11 +229,6 @@ static int fts_safe_changedir (FTS *, FTSENT *, int, const char *) #define ISSET(opt) (sp->fts_options & (opt)) #define SET(opt) (sp->fts_options |= (opt)) -/* FIXME: make this a function */ -#define RESTORE_INITIAL_CWD(sp) \ - (fd_ring_clear (&((sp)->fts_fd_ring)), \ - FCHDIR ((sp), (ISSET (FTS_CWDFD) ? AT_FDCWD : (sp)->fts_rfd))) - /* FIXME: FTS_NOCHDIR is now misnamed. Call it FTS_USE_FULL_RELATIVE_FILE_NAMES instead. */ #define FCHDIR(sp, fd) \ @@ -349,6 +344,18 @@ cwd_advance_fd (FTS *sp, int fd, bool chdir_down_one) sp->fts_cwd_fd = fd; } +/* Restore the initial, pre-traversal, "working directory". + In FTS_CWDFD mode, we merely call cwd_advance_fd, otherwise, + we may actually change the working directory. + Return 0 upon success. Upon failure, set errno and return nonzero. */ +static int +restore_initial_cwd (FTS *sp) +{ + int fail = FCHDIR (sp, ISSET (FTS_CWDFD) ? AT_FDCWD : sp->fts_rfd); + fd_ring_clear (&(sp->fts_fd_ring)); + return fail; +} + /* Open the directory DIR if possible, and return a file descriptor. Return -1 and set errno on failure. It doesn't matter whether the file descriptor has read or write access. */ @@ -948,7 +955,7 @@ next: tmp = p; * root. */ if (p->fts_level == FTS_ROOTLEVEL) { - if (RESTORE_INITIAL_CWD(sp)) { + if (restore_initial_cwd(sp)) { SET(FTS_STOP); return (NULL); } @@ -1055,7 +1062,7 @@ cd_dot_dot: * one level, via "..". */ if (p->fts_level == FTS_ROOTLEVEL) { - if (RESTORE_INITIAL_CWD(sp)) { + if (restore_initial_cwd(sp)) { p->fts_errno = errno; SET(FTS_STOP); } @@ -1579,7 +1586,7 @@ mem1: saved_errno = errno; */ if (!continue_readdir && descend && (type == BCHILD || !nitems) && (cur->fts_level == FTS_ROOTLEVEL - ? RESTORE_INITIAL_CWD(sp) + ? restore_initial_cwd(sp) : fts_safe_changedir(sp, cur->fts_parent, -1, ".."))) { cur->fts_info = FTS_ERR; SET(FTS_STOP); @@ -1981,7 +1988,7 @@ fts_padjust (FTS *sp, FTSENT *head) } static size_t -internal_function +internal_function _GL_ATTRIBUTE_PURE fts_maxarglen (char * const *argv) { size_t len, max; diff --git a/lib/gc.h b/lib/gc.h index d5147486e..a63ea3e05 100644 --- a/lib/gc.h +++ b/lib/gc.h @@ -1,5 +1,5 @@ /* gc.h --- Header file for implementation agnostic crypto wrapper API. - * Copyright (C) 2002, 2003, 2004, 2005, 2007, 2008 Simon Josefsson + * Copyright (C) 2002-2005, 2007-2008, 2011 Free Software Foundation, Inc. * * This file is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published diff --git a/lib/getcwd.c b/lib/getcwd.c index cf155214a..9b8171cc0 100644 --- a/lib/getcwd.c +++ b/lib/getcwd.c @@ -27,9 +27,10 @@ #include /* For AT_FDCWD on Solaris 9. */ -/* If this host provides the openat function, then enable - code below to make getcwd more efficient and robust. */ -#ifdef HAVE_OPENAT +/* If this host provides the openat function or if we're using the + gnulib replacement function, then enable code below to make getcwd + more efficient and robust. */ +#if defined HAVE_OPENAT || defined GNULIB_OPENAT # define HAVE_OPENAT_SUPPORT 1 #else # define HAVE_OPENAT_SUPPORT 0 @@ -134,7 +135,7 @@ __getcwd (char *buf, size_t size) size_t allocated = size; size_t used; -#if HAVE_RAW_DECL_GETCWD +#if HAVE_RAW_DECL_GETCWD && HAVE_MINIMALLY_WORKING_GETCWD /* If AT_FDCWD is not defined, the algorithm below is O(N**2) and this is much slower than the system getcwd (at least on GNU/Linux). So trust the system getcwd's results unless they @@ -142,7 +143,12 @@ __getcwd (char *buf, size_t size) Use the system getcwd even if we have openat support, since the system getcwd works even when a parent is unreadable, while the - openat-based approach does not. */ + openat-based approach does not. + + But on AIX 5.1..7.1, the system getcwd is not even minimally + working: If the current directory name is slightly longer than + PATH_MAX, it omits the first directory component and returns + this wrong result with errno = 0. */ # undef getcwd dir = getcwd (buf, size); diff --git a/lib/getdtablesize.c b/lib/getdtablesize.c index 60e7f5af1..a07c4a2ea 100644 --- a/lib/getdtablesize.c +++ b/lib/getdtablesize.c @@ -24,6 +24,29 @@ #include +#include "msvc-inval.h" + +#if HAVE_MSVC_INVALID_PARAMETER_HANDLER +static inline int +_setmaxstdio_nothrow (int newmax) +{ + int result; + + TRY_MSVC_INVAL + { + result = _setmaxstdio (newmax); + } + CATCH_MSVC_INVAL + { + result = -1; + } + DONE_MSVC_INVAL; + + return result; +} +# define _setmaxstdio _setmaxstdio_nothrow +#endif + /* Cache for the previous getdtablesize () result. */ static int dtablesize; diff --git a/lib/getpeername.c b/lib/getpeername.c index 9e540a1fd..abe5a40b6 100644 --- a/lib/getpeername.c +++ b/lib/getpeername.c @@ -32,9 +32,18 @@ int rpl_getpeername (int fd, struct sockaddr *addr, socklen_t *addrlen) { SOCKET sock = FD_TO_SOCKET (fd); - int r = getpeername (sock, addr, addrlen); - if (r < 0) - set_winsock_errno (); - return r; + if (sock == INVALID_SOCKET) + { + errno = EBADF; + return -1; + } + else + { + int r = getpeername (sock, addr, addrlen); + if (r < 0) + set_winsock_errno (); + + return r; + } } diff --git a/lib/getsockname.c b/lib/getsockname.c index 1eabd9496..1c494bb98 100644 --- a/lib/getsockname.c +++ b/lib/getsockname.c @@ -32,9 +32,18 @@ int rpl_getsockname (int fd, struct sockaddr *addr, socklen_t *addrlen) { SOCKET sock = FD_TO_SOCKET (fd); - int r = getsockname (sock, addr, addrlen); - if (r < 0) - set_winsock_errno (); - return r; + if (sock == INVALID_SOCKET) + { + errno = EBADF; + return -1; + } + else + { + int r = getsockname (sock, addr, addrlen); + if (r < 0) + set_winsock_errno (); + + return r; + } } diff --git a/lib/getsockopt.c b/lib/getsockopt.c index d82ea5ff2..22176649d 100644 --- a/lib/getsockopt.c +++ b/lib/getsockopt.c @@ -37,32 +37,43 @@ int rpl_getsockopt (int fd, int level, int optname, void *optval, socklen_t *optlen) { - int r; SOCKET sock = FD_TO_SOCKET (fd); - if (level == SOL_SOCKET && (optname == SO_RCVTIMEO || optname == SO_SNDTIMEO)) + if (sock == INVALID_SOCKET) { - int milliseconds; - int milliseconds_len = sizeof (int); - struct timeval tv; - size_t n; - r = getsockopt (sock, level, optname, (char *) &milliseconds, - &milliseconds_len); - tv.tv_sec = milliseconds / 1000; - tv.tv_usec = (milliseconds - 1000 * tv.tv_sec) * 1000; - n = sizeof (struct timeval); - if (n > *optlen) - n = *optlen; - memcpy (optval, &tv, n); - *optlen = n; + errno = EBADF; + return -1; } else { - r = getsockopt (sock, level, optname, optval, optlen); - } + int r; + + if (level == SOL_SOCKET + && (optname == SO_RCVTIMEO || optname == SO_SNDTIMEO)) + { + int milliseconds; + int milliseconds_len = sizeof (int); + struct timeval tv; + size_t n; - if (r < 0) - set_winsock_errno (); + r = getsockopt (sock, level, optname, (char *) &milliseconds, + &milliseconds_len); + tv.tv_sec = milliseconds / 1000; + tv.tv_usec = (milliseconds - 1000 * tv.tv_sec) * 1000; + n = sizeof (struct timeval); + if (n > *optlen) + n = *optlen; + memcpy (optval, &tv, n); + *optlen = n; + } + else + { + r = getsockopt (sock, level, optname, optval, optlen); + } - return r; + if (r < 0) + set_winsock_errno (); + + return r; + } } diff --git a/lib/gettext.h b/lib/gettext.h index 65777e638..1ddd68a70 100644 --- a/lib/gettext.h +++ b/lib/gettext.h @@ -185,7 +185,7 @@ npgettext_aux (const char *domain, #include #define _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS \ - (((__GNUC__ >= 3 || __GNUG__ >= 2) && !__STRICT_ANSI__) \ + (((__GNUC__ >= 3 || __GNUG__ >= 2) && !defined __STRICT_ANSI__) \ /* || __STDC_VERSION__ >= 199901L */ ) #if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS diff --git a/lib/glob.c b/lib/glob.c index 85419ccfa..fddd02d1e 100644 --- a/lib/glob.c +++ b/lib/glob.c @@ -145,10 +145,8 @@ # define __stat64(fname, buf) stat (fname, buf) # define __fxstatat64(_, d, f, st, flag) fstatat (d, f, st, flag) # define struct_stat64 struct stat -# define __stat(fname, buf) stat (fname, buf) # define __alloca alloca # define __readdir readdir -# define __readdir64 readdir64 # define __glob_pattern_p glob_pattern_p #endif /* _LIBC */ diff --git a/lib/glthread/cond.h b/lib/glthread/cond.h index dc976468a..e2050458a 100644 --- a/lib/glthread/cond.h +++ b/lib/glthread/cond.h @@ -271,6 +271,7 @@ extern int glthread_cond_timedwait_multithreaded (gl_cond_t *cond, gl_lock_t *lo #if USE_WIN32_THREADS +# define WIN32_LEAN_AND_MEAN /* avoid including junk */ # include # ifdef __cplusplus diff --git a/lib/glthread/lock.h b/lib/glthread/lock.h index 20954133a..f764d141b 100644 --- a/lib/glthread/lock.h +++ b/lib/glthread/lock.h @@ -616,6 +616,7 @@ extern int glthread_once_singlethreaded (gl_once_t *once_control); #if USE_WIN32_THREADS +# define WIN32_LEAN_AND_MEAN /* avoid including junk */ # include # ifdef __cplusplus diff --git a/lib/glthread/thread.h b/lib/glthread/thread.h index 3d7f7601d..be13ed972 100644 --- a/lib/glthread/thread.h +++ b/lib/glthread/thread.h @@ -292,6 +292,7 @@ typedef thread_t gl_thread_t; #if USE_WIN32_THREADS +# define WIN32_LEAN_AND_MEAN /* avoid including junk */ # include # ifdef __cplusplus diff --git a/lib/glthread/tls.h b/lib/glthread/tls.h index 0ef32c017..4f3998690 100644 --- a/lib/glthread/tls.h +++ b/lib/glthread/tls.h @@ -222,6 +222,7 @@ extern void *glthread_tls_get_multithreaded (thread_key_t key); #if USE_WIN32_THREADS +# define WIN32_LEAN_AND_MEAN /* avoid including junk */ # include /* ------------------------- gl_tls_key_t datatype ------------------------- */ diff --git a/lib/glthread/yield.h b/lib/glthread/yield.h index 6911d02f2..04823151c 100644 --- a/lib/glthread/yield.h +++ b/lib/glthread/yield.h @@ -91,6 +91,7 @@ extern "C" { #if USE_WIN32_THREADS +# define WIN32_LEAN_AND_MEAN /* avoid including junk */ # include # ifdef __cplusplus diff --git a/lib/grantpt.c b/lib/grantpt.c index 985e31d5f..b757044ca 100644 --- a/lib/grantpt.c +++ b/lib/grantpt.c @@ -21,6 +21,7 @@ #include #include +#include #include #include #include @@ -46,6 +47,13 @@ int grantpt (int fd) { +#if defined __OpenBSD__ + /* On OpenBSD, master and slave of a pseudo-terminal are allocated together, + through an ioctl on /dev/ptm. There is no need for grantpt(). */ + if (fcntl (fd, F_GETFD) < 0) + return -1; + return 0; +#else /* This function is most often called from a process without 'root' credentials. Use the helper program. */ int retval = -1; @@ -56,20 +64,20 @@ grantpt (int fd) { /* This is executed in the child process. */ -#if HAVE_SETRLIMIT && defined RLIMIT_CORE +# if HAVE_SETRLIMIT && defined RLIMIT_CORE /* Disable core dumps. */ struct rlimit rl = { 0, 0 }; __setrlimit (RLIMIT_CORE, &rl); -#endif +# endif /* We pass the master pseudo terminal as file descriptor PTY_FILENO. */ if (fd != PTY_FILENO) if (__dup2 (fd, PTY_FILENO) < 0) _exit (FAIL_EBADF); -#ifdef CLOSE_ALL_FDS +# ifdef CLOSE_ALL_FDS CLOSE_ALL_FDS (); -#endif +# endif execle (_PATH_PT_CHOWN, strrchr (_PATH_PT_CHOWN, '/') + 1, NULL, NULL); _exit (FAIL_EXEC); @@ -111,4 +119,5 @@ grantpt (int fd) cleanup: return retval; +#endif } diff --git a/lib/hash-pjw.h b/lib/hash-pjw.h index 80c183864..36b776ae2 100644 --- a/lib/hash-pjw.h +++ b/lib/hash-pjw.h @@ -20,4 +20,4 @@ and return the hash code modulo TABLESIZE. The result is platform dependent: it depends on the size of the 'size_t' type and on the signedness of the 'char' type. */ -extern size_t hash_pjw (void const *x, size_t tablesize); +extern size_t hash_pjw (void const *x, size_t tablesize) _GL_ATTRIBUTE_PURE; diff --git a/lib/hash-triple.h b/lib/hash-triple.h index 51863c9df..0658d8170 100644 --- a/lib/hash-triple.h +++ b/lib/hash-triple.h @@ -13,10 +13,12 @@ struct F_triple dev_t st_dev; }; -extern size_t triple_hash (void const *x, size_t table_size); -extern size_t triple_hash_no_name (void const *x, size_t table_size); +extern size_t triple_hash (void const *x, size_t table_size) _GL_ATTRIBUTE_PURE; +extern size_t triple_hash_no_name (void const *x, size_t table_size) + _GL_ATTRIBUTE_PURE; extern bool triple_compare (void const *x, void const *y); -extern bool triple_compare_ino_str (void const *x, void const *y); +extern bool triple_compare_ino_str (void const *x, void const *y) + _GL_ATTRIBUTE_PURE; extern void triple_free (void *x); #endif diff --git a/lib/hash.c b/lib/hash.c index 4d76f765e..0ee32d04d 100644 --- a/lib/hash.c +++ b/lib/hash.c @@ -113,8 +113,8 @@ struct hash_table 1.0). The growth threshold defaults to 0.8, and the growth factor defaults to 1.414, meaning that the table will have doubled its size every second time 80% of the buckets get used. */ -#define DEFAULT_GROWTH_THRESHOLD 0.8 -#define DEFAULT_GROWTH_FACTOR 1.414 +#define DEFAULT_GROWTH_THRESHOLD 0.8f +#define DEFAULT_GROWTH_FACTOR 1.414f /* If a deletion empties a bucket and causes the ratio of used buckets to table size to become smaller than the shrink threshold (a number between @@ -122,8 +122,8 @@ struct hash_table number greater than the shrink threshold but smaller than 1.0). The shrink threshold and factor default to 0.0 and 1.0, meaning that the table never shrinks. */ -#define DEFAULT_SHRINK_THRESHOLD 0.0 -#define DEFAULT_SHRINK_FACTOR 1.0 +#define DEFAULT_SHRINK_THRESHOLD 0.0f +#define DEFAULT_SHRINK_FACTOR 1.0f /* Use this to initialize or reset a TUNING structure to some sensible values. */ @@ -440,7 +440,7 @@ hash_string (const char *string, size_t n_buckets) /* Return true if CANDIDATE is a prime number. CANDIDATE should be an odd number at least equal to 11. */ -static bool +static bool _GL_ATTRIBUTE_CONST is_prime (size_t candidate) { size_t divisor = 3; @@ -459,7 +459,7 @@ is_prime (size_t candidate) /* Round a given CANDIDATE number up to the nearest prime, and return that prime. Primes lower than 10 are merely skipped. */ -static size_t +static size_t _GL_ATTRIBUTE_CONST next_prime (size_t candidate) { /* Skip small primes. */ @@ -540,7 +540,7 @@ check_tuning (Hash_table *table) TUNING, or return 0 if there is no possible way to allocate that many entries. */ -static size_t +static size_t _GL_ATTRIBUTE_PURE compute_bucket_size (size_t candidate, const Hash_tuning *tuning) { if (!tuning->is_n_buckets) @@ -1018,7 +1018,9 @@ hash_rehash (Hash_table *table, size_t candidate) return false; } -/* Return -1 upon memory allocation failure. +/* Insert ENTRY into hash TABLE if there is not already a matching entry. + + Return -1 upon memory allocation failure. Return 1 if insertion succeeded. Return 0 if there is already a matching entry in the table, and in that case, if MATCHED_ENT is non-NULL, set *MATCHED_ENT @@ -1030,10 +1032,11 @@ hash_rehash (Hash_table *table, size_t candidate) hash_insert, the only way to distinguish those cases is to compare the return value and ENTRY. That works only when you can have two different ENTRY values that point to data that compares "equal". Thus, - when the ENTRY value is a simple scalar, you must use hash_insert0. - ENTRY must not be NULL. */ + when the ENTRY value is a simple scalar, you must use + hash_insert_if_absent. ENTRY must not be NULL. */ int -hash_insert0 (Hash_table *table, void const *entry, void const **matched_ent) +hash_insert_if_absent (Hash_table *table, void const *entry, + void const **matched_ent) { void *data; struct hash_entry *bucket; @@ -1113,6 +1116,14 @@ hash_insert0 (Hash_table *table, void const *entry, void const **matched_ent) return 1; } +/* hash_insert0 is the deprecated name for hash_insert_if_absent. + . */ +int +hash_insert0 (Hash_table *table, void const *entry, void const **matched_ent) +{ + return hash_insert_if_absent (table, entry, matched_ent); +} + /* If ENTRY matches an entry already in the hash table, return the pointer to the entry from the table. Otherwise, insert ENTRY and return ENTRY. Return NULL if the storage required for insertion cannot be allocated. @@ -1123,7 +1134,7 @@ void * hash_insert (Hash_table *table, void const *entry) { void const *matched_ent; - int err = hash_insert0 (table, entry, &matched_ent); + int err = hash_insert_if_absent (table, entry, &matched_ent); return (err == -1 ? NULL : (void *) (err == 0 ? matched_ent : entry)); diff --git a/lib/hash.h b/lib/hash.h index 9f694be55..541abc4fa 100644 --- a/lib/hash.h +++ b/lib/hash.h @@ -35,6 +35,16 @@ # define _GL_ATTRIBUTE_WUR /* empty */ # endif +# ifndef _GL_ATTRIBUTE_DEPRECATED +/* The __attribute__((__deprecated__)) feature + is available in gcc versions 3.1 and newer. */ +# if __GNUC__ < 3 || (__GNUC__ == 3 && __GNUC_MINOR__ < 1) +# define _GL_ATTRIBUTE_DEPRECATED /* empty */ +# else +# define _GL_ATTRIBUTE_DEPRECATED __attribute__ ((__deprecated__)) +# endif +# endif + typedef size_t (*Hash_hasher) (const void *, size_t); typedef bool (*Hash_comparator) (const void *, const void *); typedef void (*Hash_data_freer) (void *); @@ -59,22 +69,22 @@ struct hash_table; typedef struct hash_table Hash_table; /* Information and lookup. */ -size_t hash_get_n_buckets (const Hash_table *); -size_t hash_get_n_buckets_used (const Hash_table *); -size_t hash_get_n_entries (const Hash_table *); -size_t hash_get_max_bucket_length (const Hash_table *); -bool hash_table_ok (const Hash_table *); +size_t hash_get_n_buckets (const Hash_table *) _GL_ATTRIBUTE_PURE; +size_t hash_get_n_buckets_used (const Hash_table *) _GL_ATTRIBUTE_PURE; +size_t hash_get_n_entries (const Hash_table *) _GL_ATTRIBUTE_PURE; +size_t hash_get_max_bucket_length (const Hash_table *) _GL_ATTRIBUTE_PURE; +bool hash_table_ok (const Hash_table *) _GL_ATTRIBUTE_PURE; void hash_print_statistics (const Hash_table *, FILE *); void *hash_lookup (const Hash_table *, const void *); /* Walking. */ -void *hash_get_first (const Hash_table *); +void *hash_get_first (const Hash_table *) _GL_ATTRIBUTE_PURE; void *hash_get_next (const Hash_table *, const void *); size_t hash_get_entries (const Hash_table *, void **, size_t); size_t hash_do_for_each (const Hash_table *, Hash_processor, void *); /* Allocation and clean-up. */ -size_t hash_string (const char *, size_t); +size_t hash_string (const char *, size_t) _GL_ATTRIBUTE_PURE; void hash_reset_tuning (Hash_tuning *); Hash_table *hash_initialize (size_t, const Hash_tuning *, Hash_hasher, Hash_comparator, @@ -85,8 +95,13 @@ void hash_free (Hash_table *); /* Insertion and deletion. */ bool hash_rehash (Hash_table *, size_t) _GL_ATTRIBUTE_WUR; void *hash_insert (Hash_table *, const void *) _GL_ATTRIBUTE_WUR; -int hash_insert0 (Hash_table *table, const void *entry, - const void **matched_ent); + +/* Deprecate this interface. It has been renamed to hash_insert_if_absent. */ +int hash_insert0 (Hash_table *table, /* FIXME: remove in 2013 */ + const void *entry, + const void **matched_ent) _GL_ATTRIBUTE_DEPRECATED; +int hash_insert_if_absent (Hash_table *table, const void *entry, + const void **matched_ent); void *hash_delete (Hash_table *, const void *); #endif diff --git a/lib/i-ring.h b/lib/i-ring.h index f0700b693..ae81f683e 100644 --- a/lib/i-ring.h +++ b/lib/i-ring.h @@ -41,4 +41,4 @@ typedef struct I_ring I_ring; void i_ring_init (I_ring *ir, int ir_default_val); int i_ring_push (I_ring *ir, int val); int i_ring_pop (I_ring *ir); -bool i_ring_empty (I_ring const *ir); +bool i_ring_empty (I_ring const *ir) _GL_ATTRIBUTE_PURE; diff --git a/lib/inet_ntop.c b/lib/inet_ntop.c index 5602a29e7..6b801747b 100644 --- a/lib/inet_ntop.c +++ b/lib/inet_ntop.c @@ -38,12 +38,25 @@ /* Specification. */ #include -#include -#include -#include +#if HAVE_DECL_INET_NTOP -#define NS_IN6ADDRSZ 16 -#define NS_INT16SZ 2 +# undef inet_ntop + +const char * +rpl_inet_ntop (int af, const void *restrict src, + char *restrict dst, socklen_t cnt) +{ + return inet_ntop (af, src, dst, cnt); +} + +#else + +# include +# include +# include + +# define NS_IN6ADDRSZ 16 +# define NS_INT16SZ 2 /* * WARNING: Don't even consider trying to compile this on a system where @@ -52,9 +65,9 @@ typedef int verify_int_size[4 <= sizeof (int) ? 1 : -1]; static const char *inet_ntop4 (const unsigned char *src, char *dst, socklen_t size); -#if HAVE_IPV6 +# if HAVE_IPV6 static const char *inet_ntop6 (const unsigned char *src, char *dst, socklen_t size); -#endif +# endif /* char * @@ -71,15 +84,15 @@ inet_ntop (int af, const void *restrict src, { switch (af) { -#if HAVE_IPV4 +# if HAVE_IPV4 case AF_INET: return (inet_ntop4 (src, dst, cnt)); -#endif +# endif -#if HAVE_IPV6 +# if HAVE_IPV6 case AF_INET6: return (inet_ntop6 (src, dst, cnt)); -#endif +# endif default: errno = EAFNOSUPPORT; @@ -118,7 +131,7 @@ inet_ntop4 (const unsigned char *src, char *dst, socklen_t size) return strcpy (dst, tmp); } -#if HAVE_IPV6 +# if HAVE_IPV6 /* const char * * inet_ntop6(src, dst, size) @@ -231,4 +244,6 @@ inet_ntop6 (const unsigned char *src, char *dst, socklen_t size) return strcpy (dst, tmp); } +# endif + #endif diff --git a/lib/inet_pton.c b/lib/inet_pton.c index 8b38e8091..cb1a872e9 100644 --- a/lib/inet_pton.c +++ b/lib/inet_pton.c @@ -37,13 +37,25 @@ /* Specification. */ #include -#include -#include -#include +#if HAVE_DECL_INET_PTON -#define NS_INADDRSZ 4 -#define NS_IN6ADDRSZ 16 -#define NS_INT16SZ 2 +# undef inet_pton + +int +rpl_inet_pton (int af, const char *restrict src, void *restrict dst) +{ + return inet_pton (af, src, dst); +} + +#else + +# include +# include +# include + +# define NS_INADDRSZ 4 +# define NS_IN6ADDRSZ 16 +# define NS_INT16SZ 2 /* * WARNING: Don't even consider trying to compile this on a system where @@ -51,9 +63,9 @@ */ static int inet_pton4 (const char *src, unsigned char *dst); -#if HAVE_IPV6 +# if HAVE_IPV6 static int inet_pton6 (const char *src, unsigned char *dst); -#endif +# endif /* int * inet_pton(af, src, dst) @@ -74,10 +86,10 @@ inet_pton (int af, const char *restrict src, void *restrict dst) case AF_INET: return (inet_pton4 (src, dst)); -#if HAVE_IPV6 +# if HAVE_IPV6 case AF_INET6: return (inet_pton6 (src, dst)); -#endif +# endif default: errno = EAFNOSUPPORT; @@ -141,7 +153,7 @@ inet_pton4 (const char *restrict src, unsigned char *restrict dst) return (1); } -#if HAVE_IPV6 +# if HAVE_IPV6 /* int * inet_pton6(src, dst) @@ -250,4 +262,7 @@ inet_pton6 (const char *restrict src, unsigned char *restrict dst) memcpy (dst, tmp, NS_IN6ADDRSZ); return (1); } + +# endif + #endif diff --git a/lib/integer_length.c b/lib/integer_length.c new file mode 100644 index 000000000..e5ab6650d --- /dev/null +++ b/lib/integer_length.c @@ -0,0 +1,141 @@ +/* integer_length - find most significant bit in an 'unsigned int'. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2011. */ + +#include + +/* Specification. */ +#include "integer_length.h" + +#include + +#include "float+.h" + +#define NBITS (sizeof (unsigned int) * CHAR_BIT) + +int +integer_length (unsigned int x) +{ +#if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) + if (x == 0) + return 0; + else + return NBITS - __builtin_clz (x); +#else +# if defined DBL_EXPBIT0_WORD && defined DBL_EXPBIT0_BIT + if (NBITS <= DBL_MANT_BIT) + { + /* Use 'double' operations. + Assumes an IEEE 754 'double' implementation. */ +# define DBL_EXP_MASK ((DBL_MAX_EXP - DBL_MIN_EXP) | 7) +# define DBL_EXP_BIAS (DBL_EXP_MASK / 2 - 1) +# define NWORDS \ + ((sizeof (double) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) + typedef union { double value; unsigned int word[NWORDS]; } + memory_double; + + if (x == 0) + return 0; + else + { + memory_double m; + unsigned int exponent; + + if (1) + { + /* Use a single integer to floating-point conversion. */ + m.value = x; + } + else + { + /* Use a single floating-point subtraction. */ + /* 2^(DBL_MANT_DIG-1). */ + static const double TWO_DBL_MANT_DIG = + /* Assume DBL_MANT_DIG <= 5 * 31. + Use the identity + n = floor(n/5) + floor((n+1)/5) + ... + floor((n+4)/5). */ + (double) (1U << ((DBL_MANT_DIG - 1) / 5)) + * (double) (1U << ((DBL_MANT_DIG - 1 + 1) / 5)) + * (double) (1U << ((DBL_MANT_DIG - 1 + 2) / 5)) + * (double) (1U << ((DBL_MANT_DIG - 1 + 3) / 5)) + * (double) (1U << ((DBL_MANT_DIG - 1 + 4) / 5)); + + /* Construct 2^(DBL_MANT_DIG-1) + x by hand. */ + m.word[DBL_EXPBIT0_WORD] = + (DBL_MANT_DIG + DBL_EXP_BIAS) << DBL_EXPBIT0_BIT; + m.word[1 - DBL_EXPBIT0_WORD] = x; + + /* Subtract 2^(DBL_MANT_DIG-1). */ + m.value = m.value - TWO_DBL_MANT_DIG; + } + + exponent = + (m.word[DBL_EXPBIT0_WORD] >> DBL_EXPBIT0_BIT) & DBL_EXP_MASK; + return exponent - DBL_EXP_BIAS; + } + } + else +# endif + if (NBITS == 32) + { + /* 6 comparisons. */ + if (x != 0) + { + int result = 1; + if (x >= 0x10000) + { + x = x >> 16; + result += 16; + } + if (x >= 0x100) + { + x = x >> 8; + result += 8; + } + if (x >= 0x10) + { + x = x >> 4; + result += 4; + } + if (x >= 0x4) + { + x = x >> 2; + result += 2; + } + if (x >= 0x2) + { + x = x >> 1; + result += 1; + } + return result; + } + else + return 0; + } + else + { + /* Naive loop. + Works for any value of NBITS. */ + int j; + + for (j = NBITS - 1; j >= 0; j--) + if (x & (1U << j)) + return j + 1; + return 0; + } +#endif +} diff --git a/lib/integer_length.h b/lib/integer_length.h new file mode 100644 index 000000000..d51130f95 --- /dev/null +++ b/lib/integer_length.h @@ -0,0 +1,49 @@ +/* integer_length - find most significant bit in an unsigned integer. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2011. */ + +#ifndef _INTEGER_LENGTH_H +#define _INTEGER_LENGTH_H + +#ifdef __cplusplus +extern "C" { +#endif + +/* These functions return the minimum number of bits required to represent + the given unsigned integer. + For non-zero values, this is the position of the most significant bit + that is set, plus one. For zero, it is 0. */ + +/* Returns the integer length of x. + The result is >= 0, <= sizeof (unsigned int) * CHAR_BIT. */ +extern int integer_length (unsigned int x); + +/* Returns the integer length of x. + The result is >= 0, <= sizeof (unsigned long) * CHAR_BIT. */ +extern int integer_length_l (unsigned long x); + +#if HAVE_UNSIGNED_LONG_LONG_INT +/* Returns the integer length of x. + The result is >= 0, <= sizeof (unsigned long long) * CHAR_BIT. */ +extern int integer_length_ll (unsigned long long x); +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* _INTEGER_LENGTH_H */ diff --git a/lib/integer_length_l.c b/lib/integer_length_l.c new file mode 100644 index 000000000..483e02338 --- /dev/null +++ b/lib/integer_length_l.c @@ -0,0 +1,81 @@ +/* integer_length_l - find most significant bit in an 'unsigned long'. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2011. */ + +#include + +/* Specification. */ +#include "integer_length.h" + +#include +#include + +#undef MIN +#define MIN(a,b) ((a) < (b) ? (a) : (b)) + +#ifdef USE_LONG_LONG +# define FUNC integer_length_ll +# define TYPE unsigned long long +# define GCC_BUILTIN __builtin_clzll +#else +# define FUNC integer_length_l +# define TYPE unsigned long +# define GCC_BUILTIN __builtin_clzl +#endif + +#define NBITS (sizeof (TYPE) * CHAR_BIT) + +/* Modify shift count to be in bounds, even in dead code, otherwise GCC + emits warnings "right shift count >= width of type". */ +#define MSC(i) MIN (i, NBITS - 1) + +int +FUNC (TYPE x) +{ +#if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) + if (x == 0) + return 0; + else + return NBITS - GCC_BUILTIN (x); +#else + /* Split x into chunks, and look at one chunk after the other. */ + if (sizeof (TYPE) > 2 * sizeof (unsigned int)) + { + /* Generic loop. */ + size_t i; + + for (i = (sizeof (TYPE) - 1) / sizeof (unsigned int); i >= 2; i--) + { + unsigned int y = x >> (i * sizeof (unsigned int) * CHAR_BIT); + if (y != 0) + return i * sizeof (unsigned int) * CHAR_BIT + integer_length (y); + } + } + + /* Unrolled the last 2 loop rounds. */ + /* i = 1 */ + if (sizeof (TYPE) > 1 * sizeof (unsigned int)) + { + unsigned int y = x >> MSC (1 * sizeof (unsigned int) * CHAR_BIT); + if (y != 0) + return 1 * sizeof (unsigned int) * CHAR_BIT + integer_length (y); + } + + /* i = 0 */ + return integer_length ((unsigned int) x); +#endif +} diff --git a/lib/integer_length_ll.c b/lib/integer_length_ll.c new file mode 100644 index 000000000..c3804867b --- /dev/null +++ b/lib/integer_length_ll.c @@ -0,0 +1,20 @@ +/* integer_length_ll - find most significant bit in an 'unsigned long long'. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2011. */ + +#define USE_LONG_LONG +#include "integer_length_l.c" diff --git a/lib/isapipe.c b/lib/isapipe.c index a5349b116..f6e16d16f 100644 --- a/lib/isapipe.c +++ b/lib/isapipe.c @@ -26,12 +26,12 @@ #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ /* Windows platforms. */ -/* Get _get_osfhandle. */ -# include - /* Get GetFileType. */ # include +/* Get _get_osfhandle. */ +# include "msvc-nothrow.h" + int isapipe (int fd) { diff --git a/lib/isnan.c b/lib/isnan.c index d9c653dea..db0c685b1 100644 --- a/lib/isnan.c +++ b/lib/isnan.c @@ -21,7 +21,7 @@ /* Specification. */ #ifdef USE_LONG_DOUBLE /* Specification found in math.h or isnanl-nolibm.h. */ -extern int rpl_isnanl (long double x); +extern int rpl_isnanl (long double x) _GL_ATTRIBUTE_CONST; #elif ! defined USE_FLOAT /* Specification found in math.h or isnand-nolibm.h. */ extern int rpl_isnand (double x); @@ -83,7 +83,7 @@ int FUNC (DOUBLE x) { #ifdef KNOWN_EXPBIT0_LOCATION -# if defined USE_LONG_DOUBLE && ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) +# if defined USE_LONG_DOUBLE && ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) && !HAVE_SAME_LONG_DOUBLE_AS_DOUBLE /* Special CPU dependent code is needed to treat bit patterns outside the IEEE 754 specification (such as Pseudo-NaNs, Pseudo-Infinities, Pseudo-Zeroes, Unnormalized Numbers, and Pseudo-Denormals) as NaNs. @@ -117,17 +117,20 @@ FUNC (DOUBLE x) # else /* Be careful to not do any floating-point operation on x, such as x == x, because x may be a signaling NaN. */ -# if defined __TINYC__ || defined __SUNPRO_C || defined __DECC \ - || (defined __sgi && !defined __GNUC__) || defined __ICC - /* The Sun C 5.0, Intel ICC 10.0, and Compaq (ex-DEC) 6.4 compilers don't - recognize the initializers as constant expressions. The latter compiler - also fails when constant-folding 0.0 / 0.0 even when constant-folding is - not required. The SGI MIPSpro C compiler complains about "floating-point - operation result is out of range". */ +# if defined __SUNPRO_C || defined __ICC || defined _MSC_VER \ + || defined __DECC || defined __TINYC__ \ + || (defined __sgi && !defined __GNUC__) + /* The Sun C 5.0, Intel ICC 10.0, Microsoft Visual C/C++ 9.0, Compaq (ex-DEC) + 6.4, and TinyCC compilers don't recognize the initializers as constant + expressions. The Compaq compiler also fails when constant-folding + 0.0 / 0.0 even when constant-folding is not required. The Microsoft + Visual C/C++ compiler also fails when constant-folding 1.0 / 0.0 even + when constant-folding is not required. The SGI MIPSpro C compiler + complains about "floating-point operation result is out of range". */ static DOUBLE zero = L_(0.0); memory_double nan; - DOUBLE plus_inf = L_(1.0) / L_(0.0); - DOUBLE minus_inf = -L_(1.0) / L_(0.0); + DOUBLE plus_inf = L_(1.0) / zero; + DOUBLE minus_inf = -L_(1.0) / zero; nan.value = zero / zero; # else static memory_double nan = { L_(0.0) / L_(0.0) }; @@ -154,7 +157,7 @@ FUNC (DOUBLE x) the signaling NaNs, handle only the quiet NaNs. */ if (x == x) { -# if defined USE_LONG_DOUBLE && ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) +# if defined USE_LONG_DOUBLE && ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) && !HAVE_SAME_LONG_DOUBLE_AS_DOUBLE /* Detect any special bit patterns that pass ==; see comment above. */ memory_double m1; memory_double m2; diff --git a/lib/itold.c b/lib/itold.c new file mode 100644 index 000000000..0236f3398 --- /dev/null +++ b/lib/itold.c @@ -0,0 +1,28 @@ +/* Replacement for 'int' to 'long double' conversion routine. + Copyright (C) 2011 Free Software Foundation, Inc. + Written by Bruno Haible , 2011. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include + +void +_Qp_itoq (long double *result, int a) +{ + /* Convert from 'int' to 'double', then from 'double' to 'long double'. */ + *result = (double) a; +} diff --git a/lib/ldexpf.c b/lib/ldexpf.c new file mode 100644 index 000000000..0460d1a0a --- /dev/null +++ b/lib/ldexpf.c @@ -0,0 +1,31 @@ +/* Multiply a 'float' by a power of 2. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include + +/* Avoid some warnings from "gcc -Wshadow". + This file doesn't use the exp() function. */ +#undef exp +#define exp exponent + +float +ldexpf (float x, int exp) +{ + return (float) ldexp ((double) x, exp); +} diff --git a/lib/ldexpl.c b/lib/ldexpl.c index 4389f761b..7fb3a7dd5 100644 --- a/lib/ldexpl.c +++ b/lib/ldexpl.c @@ -23,8 +23,18 @@ /* Specification. */ #include -#include -#include "fpucw.h" +#if HAVE_SAME_LONG_DOUBLE_AS_DOUBLE + +long double +ldexpl (long double x, int exp) +{ + return ldexp (x, exp); +} + +#else + +# include +# include "fpucw.h" long double ldexpl (long double x, int exp) @@ -65,6 +75,8 @@ ldexpl (long double x, int exp) return x; } +#endif + #if 0 int main (void) diff --git a/lib/linkat.c b/lib/linkat.c index 77b634599..7b6d0dda6 100644 --- a/lib/linkat.c +++ b/lib/linkat.c @@ -23,7 +23,6 @@ #include #include #include -#include #include #include #include diff --git a/lib/listen.c b/lib/listen.c index 938aa7546..b7d070e64 100644 --- a/lib/listen.c +++ b/lib/listen.c @@ -32,9 +32,18 @@ int rpl_listen (int fd, int backlog) { SOCKET sock = FD_TO_SOCKET (fd); - int r = listen (sock, backlog); - if (r < 0) - set_winsock_errno (); - return r; + if (sock == INVALID_SOCKET) + { + errno = EBADF; + return -1; + } + else + { + int r = listen (sock, backlog); + if (r < 0) + set_winsock_errno (); + + return r; + } } diff --git a/lib/log10f.c b/lib/log10f.c new file mode 100644 index 000000000..ad50c535d --- /dev/null +++ b/lib/log10f.c @@ -0,0 +1,26 @@ +/* Base 10 logarithmic function. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include + +float +log10f (float x) +{ + return (float) log10 ((double) x); +} diff --git a/lib/logf.c b/lib/logf.c new file mode 100644 index 000000000..684e9f31d --- /dev/null +++ b/lib/logf.c @@ -0,0 +1,26 @@ +/* Natural logarithmic function. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include + +float +logf (float x) +{ + return (float) log ((double) x); +} diff --git a/lib/logl.c b/lib/logl.c index de46bd357..42c50cb1a 100644 --- a/lib/logl.c +++ b/lib/logl.c @@ -18,6 +18,16 @@ /* Specification. */ #include +#if HAVE_SAME_LONG_DOUBLE_AS_DOUBLE + +long double +logl (long double x) +{ + return log (x); +} + +#else + /* logll.c * * Natural logarithm for 128-bit long double precision. @@ -122,7 +132,7 @@ static const long double logtbl[92] = { -2.7902661731604211834685052867305795169688E-4L, -1.2335696813916860754951146082826952093496E-4L, -3.0677461025892873184042490943581654591817E-5L, -#define ZERO logtbl[38] +# define ZERO logtbl[38] 0.0000000000000000000000000000000000000000E0L, -3.0359557945051052537099938863236321874198E-5L, -1.2081346403474584914595395755316412213151E-4L, @@ -259,3 +269,5 @@ logl (long double x) y += e * ln2a; return y; } + +#endif diff --git a/lib/lseek.c b/lib/lseek.c index e6c21369d..134e8b7d9 100644 --- a/lib/lseek.c +++ b/lib/lseek.c @@ -24,6 +24,8 @@ /* Windows platforms. */ /* Get GetFileType. */ # include +/* Get _get_osfhandle. */ +# include "msvc-nothrow.h" #else # include #endif diff --git a/lib/lstat.c b/lib/lstat.c index 29fc6d25f..d786288f2 100644 --- a/lib/lstat.c +++ b/lib/lstat.c @@ -42,7 +42,10 @@ orig_lstat (const char *filename, struct stat *buf) } /* Specification. */ -# include +/* Write "sys/stat.h" here, not , otherwise OSF/1 5.1 DTK cc + eliminates this include because of the preliminary #include + above. */ +# include "sys/stat.h" # include # include diff --git a/lib/math.in.h b/lib/math.in.h index d6308cbb9..6b5966aec 100644 --- a/lib/math.in.h +++ b/lib/math.in.h @@ -35,6 +35,44 @@ /* The definition of _GL_WARN_ON_USE is copied here. */ +#ifdef __cplusplus +/* Helper macros to define type-generic function FUNC as overloaded functions, + rather than as macros like in C. POSIX declares these with an argument of + real-floating (that is, one of float, double, or long double). */ +# define _GL_MATH_CXX_REAL_FLOATING_DECL_1(func) \ +static inline int \ +_gl_cxx_ ## func ## f (float f) \ +{ \ + return func (f); \ +} \ +static inline int \ +_gl_cxx_ ## func ## d (double d) \ +{ \ + return func (d); \ +} \ +static inline int \ +_gl_cxx_ ## func ## l (long double l) \ +{ \ + return func (l); \ +} +# define _GL_MATH_CXX_REAL_FLOATING_DECL_2(func) \ +inline int \ +func (float f) \ +{ \ + return _gl_cxx_ ## func ## f (f); \ +} \ +inline int \ +func (double d) \ +{ \ + return _gl_cxx_ ## func ## d (d); \ +} \ +inline int \ +func (long double l) \ +{ \ + return _gl_cxx_ ## func ## l (l); \ +} +#endif + /* Helper macros to define a portability warning for the classification macro FUNC called with VALUE. POSIX declares the classification macros with an argument of real-floating (that is, @@ -67,6 +105,14 @@ _GL_WARN_ON_USE (rpl_ ## func ## l, #func " is unportable - " \ : rpl_ ## func ## l (value)) +#if @REPLACE_ITOLD@ +/* Pull in a function that fixes the 'int' to 'long double' conversion + of glibc 2.7. */ +_GL_EXTERN_C void _Qp_itoq (long double *, int); +static void (*_gl_math_fix_itold) (long double *, int) = _Qp_itoq; +#endif + + /* POSIX allows platforms that don't support NAN. But all major machines in the past 15 years have supported something close to IEEE NaN, so we define this unconditionally. We also must define @@ -75,8 +121,9 @@ _GL_WARN_ON_USE (rpl_ ## func ## l, #func " is unportable - " \ #if !defined NAN || @REPLACE_NAN@ # if !GNULIB_defined_NAN # undef NAN - /* The Compaq (ex-DEC) C 6.4 compiler chokes on the expression 0.0 / 0.0. */ -# ifdef __DECC + /* The Compaq (ex-DEC) C 6.4 compiler and the Microsoft MSVC 9 compiler + choke on the expression 0.0 / 0.0. */ +# if defined __DECC || defined _MSC_VER static float _NaN () { @@ -99,45 +146,21 @@ _NaN () #endif -/* Write x as - x = mantissa * 2^exp - where - If x finite and nonzero: 0.5 <= |mantissa| < 1.0. - If x is zero: mantissa = x, exp = 0. - If x is infinite or NaN: mantissa = x, exp unspecified. - Store exp in *EXPPTR and return mantissa. */ -#if @GNULIB_FREXP@ -# if @REPLACE_FREXP@ -# if !(defined __cplusplus && defined GNULIB_NAMESPACE) -# define frexp rpl_frexp -# endif -_GL_FUNCDECL_RPL (frexp, double, (double x, int *expptr) _GL_ARG_NONNULL ((2))); -_GL_CXXALIAS_RPL (frexp, double, (double x, int *expptr)); -# else -_GL_CXXALIAS_SYS (frexp, double, (double x, int *expptr)); +#if @GNULIB_ACOSF@ +# if !@HAVE_ACOSF@ +# undef acosf +_GL_FUNCDECL_SYS (acosf, float, (float x)); # endif -_GL_CXXALIASWARN (frexp); +_GL_CXXALIAS_SYS (acosf, float, (float x)); +_GL_CXXALIASWARN (acosf); #elif defined GNULIB_POSIXCHECK -# undef frexp -/* Assume frexp is always declared. */ -_GL_WARN_ON_USE (frexp, "frexp is unportable - " - "use gnulib module frexp for portability"); -#endif - - -#if @GNULIB_LOGB@ -# if !@HAVE_DECL_LOGB@ -_GL_EXTERN_C double logb (double x); -# endif -#elif defined GNULIB_POSIXCHECK -# undef logb -# if HAVE_RAW_DECL_LOGB -_GL_WARN_ON_USE (logb, "logb is unportable - " - "use gnulib module logb for portability"); +# undef acosf +# if HAVE_RAW_DECL_ACOSF +_GL_WARN_ON_USE (acosf, "acosf is unportable - " + "use gnulib module acosf for portability"); # endif #endif - #if @GNULIB_ACOSL@ # if !@HAVE_ACOSL@ || !@HAVE_DECL_ACOSL@ _GL_FUNCDECL_SYS (acosl, long double, (long double x)); @@ -153,6 +176,21 @@ _GL_WARN_ON_USE (acosl, "acosl is unportable - " #endif +#if @GNULIB_ASINF@ +# if !@HAVE_ASINF@ +# undef asinf +_GL_FUNCDECL_SYS (asinf, float, (float x)); +# endif +_GL_CXXALIAS_SYS (asinf, float, (float x)); +_GL_CXXALIASWARN (asinf); +#elif defined GNULIB_POSIXCHECK +# undef asinf +# if HAVE_RAW_DECL_ASINF +_GL_WARN_ON_USE (asinf, "asinf is unportable - " + "use gnulib module asinf for portability"); +# endif +#endif + #if @GNULIB_ASINL@ # if !@HAVE_ASINL@ || !@HAVE_DECL_ASINL@ _GL_FUNCDECL_SYS (asinl, long double, (long double x)); @@ -168,6 +206,21 @@ _GL_WARN_ON_USE (asinl, "asinl is unportable - " #endif +#if @GNULIB_ATANF@ +# if !@HAVE_ATANF@ +# undef atanf +_GL_FUNCDECL_SYS (atanf, float, (float x)); +# endif +_GL_CXXALIAS_SYS (atanf, float, (float x)); +_GL_CXXALIASWARN (atanf); +#elif defined GNULIB_POSIXCHECK +# undef atanf +# if HAVE_RAW_DECL_ATANF +_GL_WARN_ON_USE (atanf, "atanf is unportable - " + "use gnulib module atanf for portability"); +# endif +#endif + #if @GNULIB_ATANL@ # if !@HAVE_ATANL@ || !@HAVE_DECL_ATANL@ _GL_FUNCDECL_SYS (atanl, long double, (long double x)); @@ -183,9 +236,26 @@ _GL_WARN_ON_USE (atanl, "atanl is unportable - " #endif +#if @GNULIB_ATAN2F@ +# if !@HAVE_ATAN2F@ +# undef atan2f +_GL_FUNCDECL_SYS (atan2f, float, (float y, float x)); +# endif +_GL_CXXALIAS_SYS (atan2f, float, (float y, float x)); +_GL_CXXALIASWARN (atan2f); +#elif defined GNULIB_POSIXCHECK +# undef atan2f +# if HAVE_RAW_DECL_ATAN2F +_GL_WARN_ON_USE (atan2f, "atan2f is unportable - " + "use gnulib module atan2f for portability"); +# endif +#endif + + #if @GNULIB_CEILF@ # if @REPLACE_CEILF@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef ceilf # define ceilf rpl_ceilf # endif _GL_FUNCDECL_RPL (ceilf, float, (float x)); @@ -221,6 +291,7 @@ _GL_CXXALIASWARN (ceil); #if @GNULIB_CEILL@ # if @REPLACE_CEILL@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef ceill # define ceill rpl_ceill # endif _GL_FUNCDECL_RPL (ceill, long double, (long double x)); @@ -241,6 +312,64 @@ _GL_WARN_ON_USE (ceill, "ceill is unportable - " #endif +#if @GNULIB_COPYSIGNF@ +# if !@HAVE_COPYSIGNF@ +_GL_FUNCDECL_SYS (copysignf, float, (float x, float y)); +# endif +_GL_CXXALIAS_SYS (copysignf, float, (float x, float y)); +_GL_CXXALIASWARN (copysignf); +#elif defined GNULIB_POSIXCHECK +# undef copysignf +# if HAVE_RAW_DECL_COPYSIGNF +_GL_WARN_ON_USE (copysignf, "copysignf is unportable - " + "use gnulib module copysignf for portability"); +# endif +#endif + +#if @GNULIB_COPYSIGN@ +# if !@HAVE_COPYSIGN@ +_GL_FUNCDECL_SYS (copysign, double, (double x, double y)); +# endif +_GL_CXXALIAS_SYS (copysign, double, (double x, double y)); +_GL_CXXALIASWARN (copysign); +#elif defined GNULIB_POSIXCHECK +# undef copysign +# if HAVE_RAW_DECL_COPYSIGN +_GL_WARN_ON_USE (copysign, "copysign is unportable - " + "use gnulib module copysign for portability"); +# endif +#endif + +#if @GNULIB_COPYSIGNL@ +# if !@HAVE_COPYSIGNL@ +_GL_FUNCDECL_SYS (copysignl, long double, (long double x, long double y)); +# endif +_GL_CXXALIAS_SYS (copysignl, long double, (long double x, long double y)); +_GL_CXXALIASWARN (copysignl); +#elif defined GNULIB_POSIXCHECK +# undef copysignl +# if HAVE_RAW_DECL_COPYSIGNL +_GL_WARN_ON_USE (copysign, "copysignl is unportable - " + "use gnulib module copysignl for portability"); +# endif +#endif + + +#if @GNULIB_COSF@ +# if !@HAVE_COSF@ +# undef cosf +_GL_FUNCDECL_SYS (cosf, float, (float x)); +# endif +_GL_CXXALIAS_SYS (cosf, float, (float x)); +_GL_CXXALIASWARN (cosf); +#elif defined GNULIB_POSIXCHECK +# undef cosf +# if HAVE_RAW_DECL_COSF +_GL_WARN_ON_USE (cosf, "cosf is unportable - " + "use gnulib module cosf for portability"); +# endif +#endif + #if @GNULIB_COSL@ # if !@HAVE_COSL@ || !@HAVE_DECL_COSL@ _GL_FUNCDECL_SYS (cosl, long double, (long double x)); @@ -256,6 +385,37 @@ _GL_WARN_ON_USE (cosl, "cosl is unportable - " #endif +#if @GNULIB_COSHF@ +# if !@HAVE_COSHF@ +# undef coshf +_GL_FUNCDECL_SYS (coshf, float, (float x)); +# endif +_GL_CXXALIAS_SYS (coshf, float, (float x)); +_GL_CXXALIASWARN (coshf); +#elif defined GNULIB_POSIXCHECK +# undef coshf +# if HAVE_RAW_DECL_COSHF +_GL_WARN_ON_USE (coshf, "coshf is unportable - " + "use gnulib module coshf for portability"); +# endif +#endif + + +#if @GNULIB_EXPF@ +# if !@HAVE_EXPF@ +# undef expf +_GL_FUNCDECL_SYS (expf, float, (float x)); +# endif +_GL_CXXALIAS_SYS (expf, float, (float x)); +_GL_CXXALIASWARN (expf); +#elif defined GNULIB_POSIXCHECK +# undef expf +# if HAVE_RAW_DECL_EXPF +_GL_WARN_ON_USE (expf, "expf is unportable - " + "use gnulib module expf for portability"); +# endif +#endif + #if @GNULIB_EXPL@ # if !@HAVE_EXPL@ || !@HAVE_DECL_EXPL@ _GL_FUNCDECL_SYS (expl, long double, (long double x)); @@ -271,9 +431,26 @@ _GL_WARN_ON_USE (expl, "expl is unportable - " #endif +#if @GNULIB_FABSF@ +# if !@HAVE_FABSF@ +# undef fabsf +_GL_FUNCDECL_SYS (fabsf, float, (float x)); +# endif +_GL_CXXALIAS_SYS (fabsf, float, (float x)); +_GL_CXXALIASWARN (fabsf); +#elif defined GNULIB_POSIXCHECK +# undef fabsf +# if HAVE_RAW_DECL_FABSF +_GL_WARN_ON_USE (fabsf, "fabsf is unportable - " + "use gnulib module fabsf for portability"); +# endif +#endif + + #if @GNULIB_FLOORF@ # if @REPLACE_FLOORF@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef floorf # define floorf rpl_floorf # endif _GL_FUNCDECL_RPL (floorf, float, (float x)); @@ -309,6 +486,7 @@ _GL_CXXALIASWARN (floor); #if @GNULIB_FLOORL@ # if @REPLACE_FLOORL@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef floorl # define floorl rpl_floorl # endif _GL_FUNCDECL_RPL (floorl, long double, (long double x)); @@ -329,6 +507,152 @@ _GL_WARN_ON_USE (floorl, "floorl is unportable - " #endif +#if @GNULIB_FMAF@ +# if @REPLACE_FMAF@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef fmaf +# define fmaf rpl_fmaf +# endif +_GL_FUNCDECL_RPL (fmaf, float, (float x, float y, float z)); +_GL_CXXALIAS_RPL (fmaf, float, (float x, float y, float z)); +# else +# if !@HAVE_FMAF@ +_GL_FUNCDECL_SYS (fmaf, float, (float x, float y, float z)); +# endif +_GL_CXXALIAS_SYS (fmaf, float, (float x, float y, float z)); +# endif +_GL_CXXALIASWARN (fmaf); +#elif defined GNULIB_POSIXCHECK +# undef fmaf +# if HAVE_RAW_DECL_FMAF +_GL_WARN_ON_USE (fmaf, "fmaf is unportable - " + "use gnulib module fmaf for portability"); +# endif +#endif + +#if @GNULIB_FMA@ +# if @REPLACE_FMA@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef fma +# define fma rpl_fma +# endif +_GL_FUNCDECL_RPL (fma, double, (double x, double y, double z)); +_GL_CXXALIAS_RPL (fma, double, (double x, double y, double z)); +# else +# if !@HAVE_FMA@ +_GL_FUNCDECL_SYS (fma, double, (double x, double y, double z)); +# endif +_GL_CXXALIAS_SYS (fma, double, (double x, double y, double z)); +# endif +_GL_CXXALIASWARN (fma); +#elif defined GNULIB_POSIXCHECK +# undef fma +# if HAVE_RAW_DECL_FMA +_GL_WARN_ON_USE (fma, "fma is unportable - " + "use gnulib module fma for portability"); +# endif +#endif + +#if @GNULIB_FMAL@ +# if @REPLACE_FMAL@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef fmal +# define fmal rpl_fmal +# endif +_GL_FUNCDECL_RPL (fmal, long double, + (long double x, long double y, long double z)); +_GL_CXXALIAS_RPL (fmal, long double, + (long double x, long double y, long double z)); +# else +# if !@HAVE_FMAL@ +_GL_FUNCDECL_SYS (fmal, long double, + (long double x, long double y, long double z)); +# endif +_GL_CXXALIAS_SYS (fmal, long double, + (long double x, long double y, long double z)); +# endif +_GL_CXXALIASWARN (fmal); +#elif defined GNULIB_POSIXCHECK +# undef fmal +# if HAVE_RAW_DECL_FMAL +_GL_WARN_ON_USE (fmal, "fmal is unportable - " + "use gnulib module fmal for portability"); +# endif +#endif + + +#if @GNULIB_FMODF@ +# if !@HAVE_FMODF@ +# undef fmodf +_GL_FUNCDECL_SYS (fmodf, float, (float x, float y)); +# endif +_GL_CXXALIAS_SYS (fmodf, float, (float x, float y)); +_GL_CXXALIASWARN (fmodf); +#elif defined GNULIB_POSIXCHECK +# undef fmodf +# if HAVE_RAW_DECL_FMODF +_GL_WARN_ON_USE (fmodf, "fmodf is unportable - " + "use gnulib module fmodf for portability"); +# endif +#endif + + +/* Write x as + x = mantissa * 2^exp + where + If x finite and nonzero: 0.5 <= |mantissa| < 1.0. + If x is zero: mantissa = x, exp = 0. + If x is infinite or NaN: mantissa = x, exp unspecified. + Store exp in *EXPPTR and return mantissa. */ +#if @GNULIB_FREXPF@ +# if @REPLACE_FREXPF@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef frexpf +# define frexpf rpl_frexpf +# endif +_GL_FUNCDECL_RPL (frexpf, float, (float x, int *expptr) _GL_ARG_NONNULL ((2))); +_GL_CXXALIAS_RPL (frexpf, float, (float x, int *expptr)); +# else +# if !@HAVE_FREXPF@ +# undef frexpf +_GL_FUNCDECL_SYS (frexpf, float, (float x, int *expptr) _GL_ARG_NONNULL ((2))); +# endif +_GL_CXXALIAS_SYS (frexpf, float, (float x, int *expptr)); +# endif +_GL_CXXALIASWARN (frexpf); +#elif defined GNULIB_POSIXCHECK +# undef frexpf +# if HAVE_RAW_DECL_FREXPF +_GL_WARN_ON_USE (frexpf, "frexpf is unportable - " + "use gnulib module frexpf for portability"); +# endif +#endif + +/* Write x as + x = mantissa * 2^exp + where + If x finite and nonzero: 0.5 <= |mantissa| < 1.0. + If x is zero: mantissa = x, exp = 0. + If x is infinite or NaN: mantissa = x, exp unspecified. + Store exp in *EXPPTR and return mantissa. */ +#if @GNULIB_FREXP@ +# if @REPLACE_FREXP@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# define frexp rpl_frexp +# endif +_GL_FUNCDECL_RPL (frexp, double, (double x, int *expptr) _GL_ARG_NONNULL ((2))); +_GL_CXXALIAS_RPL (frexp, double, (double x, int *expptr)); +# else +_GL_CXXALIAS_SYS (frexp, double, (double x, int *expptr)); +# endif +_GL_CXXALIASWARN (frexp); +#elif defined GNULIB_POSIXCHECK +# undef frexp +/* Assume frexp is always declared. */ +_GL_WARN_ON_USE (frexp, "frexp is unportable - " + "use gnulib module frexp for portability"); +#endif + /* Write x as x = mantissa * 2^exp where @@ -338,6 +662,7 @@ _GL_WARN_ON_USE (floorl, "floorl is unportable - " Store exp in *EXPPTR and return mantissa. */ #if @GNULIB_FREXPL@ && @REPLACE_FREXPL@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef frexpl # define frexpl rpl_frexpl # endif _GL_FUNCDECL_RPL (frexpl, long double, @@ -365,8 +690,25 @@ _GL_WARN_ON_USE (frexpl, "frexpl is unportable - " /* Return x * 2^exp. */ +#if @GNULIB_LDEXPF@ +# if !@HAVE_LDEXPF@ +# undef ldexpf +_GL_FUNCDECL_SYS (ldexpf, float, (float x, int exp)); +# endif +_GL_CXXALIAS_SYS (ldexpf, float, (float x, int exp)); +_GL_CXXALIASWARN (ldexpf); +#elif defined GNULIB_POSIXCHECK +# undef ldexpf +# if HAVE_RAW_DECL_LDEXPF +_GL_WARN_ON_USE (ldexpf, "ldexpf is unportable - " + "use gnulib module ldexpf for portability"); +# endif +#endif + +/* Return x * 2^exp. */ #if @GNULIB_LDEXPL@ && @REPLACE_LDEXPL@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef ldexpl # define ldexpl rpl_ldexpl # endif _GL_FUNCDECL_RPL (ldexpl, long double, (long double x, int exp)); @@ -391,6 +733,34 @@ _GL_WARN_ON_USE (ldexpl, "ldexpl is unportable - " #endif +#if @GNULIB_LOGB@ +# if !@HAVE_DECL_LOGB@ +_GL_EXTERN_C double logb (double x); +# endif +#elif defined GNULIB_POSIXCHECK +# undef logb +# if HAVE_RAW_DECL_LOGB +_GL_WARN_ON_USE (logb, "logb is unportable - " + "use gnulib module logb for portability"); +# endif +#endif + + +#if @GNULIB_LOGF@ +# if !@HAVE_LOGF@ +# undef logf +_GL_FUNCDECL_SYS (logf, float, (float x)); +# endif +_GL_CXXALIAS_SYS (logf, float, (float x)); +_GL_CXXALIASWARN (logf); +#elif defined GNULIB_POSIXCHECK +# undef logf +# if HAVE_RAW_DECL_LOGF +_GL_WARN_ON_USE (logf, "logf is unportable - " + "use gnulib module logf for portability"); +# endif +#endif + #if @GNULIB_LOGL@ # if !@HAVE_LOGL@ || !@HAVE_DECL_LOGL@ _GL_FUNCDECL_SYS (logl, long double, (long double x)); @@ -406,6 +776,97 @@ _GL_WARN_ON_USE (logl, "logl is unportable - " #endif +#if @GNULIB_LOG10F@ +# if !@HAVE_LOG10F@ +# undef log10f +_GL_FUNCDECL_SYS (log10f, float, (float x)); +# endif +_GL_CXXALIAS_SYS (log10f, float, (float x)); +_GL_CXXALIASWARN (log10f); +#elif defined GNULIB_POSIXCHECK +# undef log10f +# if HAVE_RAW_DECL_LOG10F +_GL_WARN_ON_USE (log10f, "log10f is unportable - " + "use gnulib module log10f for portability"); +# endif +#endif + + +#if @GNULIB_MODFF@ +# if !@HAVE_MODFF@ +# undef modff +_GL_FUNCDECL_SYS (modff, float, (float x, float *iptr) _GL_ARG_NONNULL ((2))); +# endif +_GL_CXXALIAS_SYS (modff, float, (float x, float *iptr)); +_GL_CXXALIASWARN (modff); +#elif defined GNULIB_POSIXCHECK +# undef modff +# if HAVE_RAW_DECL_MODFF +_GL_WARN_ON_USE (modff, "modff is unportable - " + "use gnulib module modff for portability"); +# endif +#endif + + +#if @GNULIB_POWF@ +# if !@HAVE_POWF@ +# undef powf +_GL_FUNCDECL_SYS (powf, float, (float x, float y)); +# endif +_GL_CXXALIAS_SYS (powf, float, (float x, float y)); +_GL_CXXALIASWARN (powf); +#elif defined GNULIB_POSIXCHECK +# undef powf +# if HAVE_RAW_DECL_POWF +_GL_WARN_ON_USE (powf, "powf is unportable - " + "use gnulib module powf for portability"); +# endif +#endif + + +#if @GNULIB_RINTF@ +# if !@HAVE_RINTF@ +_GL_FUNCDECL_SYS (rintf, float, (float x)); +# endif +_GL_CXXALIAS_SYS (rintf, float, (float x)); +_GL_CXXALIASWARN (rintf); +#elif defined GNULIB_POSIXCHECK +# undef rintf +# if HAVE_RAW_DECL_RINTF +_GL_WARN_ON_USE (rintf, "rintf is unportable - " + "use gnulib module rintf for portability"); +# endif +#endif + +#if @GNULIB_RINT@ +# if !@HAVE_RINT@ +_GL_FUNCDECL_SYS (rint, double, (double x)); +# endif +_GL_CXXALIAS_SYS (rint, double, (double x)); +_GL_CXXALIASWARN (rint); +#elif defined GNULIB_POSIXCHECK +# undef rint +# if HAVE_RAW_DECL_RINT +_GL_WARN_ON_USE (rint, "rint is unportable - " + "use gnulib module rint for portability"); +# endif +#endif + +#if @GNULIB_RINTL@ +# if !@HAVE_RINTL@ +_GL_FUNCDECL_SYS (rintl, long double, (long double x)); +# endif +_GL_CXXALIAS_SYS (rintl, long double, (long double x)); +_GL_CXXALIASWARN (rintl); +#elif defined GNULIB_POSIXCHECK +# undef rintl +# if HAVE_RAW_DECL_RINTL +_GL_WARN_ON_USE (rintl, "rintl is unportable - " + "use gnulib module rintl for portability"); +# endif +#endif + + #if @GNULIB_ROUNDF@ # if @REPLACE_ROUNDF@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) @@ -476,6 +937,21 @@ _GL_WARN_ON_USE (roundl, "roundl is unportable - " #endif +#if @GNULIB_SINF@ +# if !@HAVE_SINF@ +# undef sinf +_GL_FUNCDECL_SYS (sinf, float, (float x)); +# endif +_GL_CXXALIAS_SYS (sinf, float, (float x)); +_GL_CXXALIASWARN (sinf); +#elif defined GNULIB_POSIXCHECK +# undef sinf +# if HAVE_RAW_DECL_SINF +_GL_WARN_ON_USE (sinf, "sinf is unportable - " + "use gnulib module sinf for portability"); +# endif +#endif + #if @GNULIB_SINL@ # if !@HAVE_SINL@ || !@HAVE_DECL_SINL@ _GL_FUNCDECL_SYS (sinl, long double, (long double x)); @@ -491,6 +967,37 @@ _GL_WARN_ON_USE (sinl, "sinl is unportable - " #endif +#if @GNULIB_SINHF@ +# if !@HAVE_SINHF@ +# undef sinhf +_GL_FUNCDECL_SYS (sinhf, float, (float x)); +# endif +_GL_CXXALIAS_SYS (sinhf, float, (float x)); +_GL_CXXALIASWARN (sinhf); +#elif defined GNULIB_POSIXCHECK +# undef sinhf +# if HAVE_RAW_DECL_SINHF +_GL_WARN_ON_USE (sinhf, "sinhf is unportable - " + "use gnulib module sinhf for portability"); +# endif +#endif + + +#if @GNULIB_SQRTF@ +# if !@HAVE_SQRTF@ +# undef sqrtf +_GL_FUNCDECL_SYS (sqrtf, float, (float x)); +# endif +_GL_CXXALIAS_SYS (sqrtf, float, (float x)); +_GL_CXXALIASWARN (sqrtf); +#elif defined GNULIB_POSIXCHECK +# undef sqrtf +# if HAVE_RAW_DECL_SQRTF +_GL_WARN_ON_USE (sqrtf, "sqrtf is unportable - " + "use gnulib module sqrtf for portability"); +# endif +#endif + #if @GNULIB_SQRTL@ # if !@HAVE_SQRTL@ || !@HAVE_DECL_SQRTL@ _GL_FUNCDECL_SYS (sqrtl, long double, (long double x)); @@ -506,6 +1013,21 @@ _GL_WARN_ON_USE (sqrtl, "sqrtl is unportable - " #endif +#if @GNULIB_TANF@ +# if !@HAVE_TANF@ +# undef tanf +_GL_FUNCDECL_SYS (tanf, float, (float x)); +# endif +_GL_CXXALIAS_SYS (tanf, float, (float x)); +_GL_CXXALIASWARN (tanf); +#elif defined GNULIB_POSIXCHECK +# undef tanf +# if HAVE_RAW_DECL_TANF +_GL_WARN_ON_USE (tanf, "tanf is unportable - " + "use gnulib module tanf for portability"); +# endif +#endif + #if @GNULIB_TANL@ # if !@HAVE_TANL@ || !@HAVE_DECL_TANL@ _GL_FUNCDECL_SYS (tanl, long double, (long double x)); @@ -521,6 +1043,22 @@ _GL_WARN_ON_USE (tanl, "tanl is unportable - " #endif +#if @GNULIB_TANHF@ +# if !@HAVE_TANHF@ +# undef tanhf +_GL_FUNCDECL_SYS (tanhf, float, (float x)); +# endif +_GL_CXXALIAS_SYS (tanhf, float, (float x)); +_GL_CXXALIASWARN (tanhf); +#elif defined GNULIB_POSIXCHECK +# undef tanhf +# if HAVE_RAW_DECL_TANHF +_GL_WARN_ON_USE (tanhf, "tanhf is unportable - " + "use gnulib module tanhf for portability"); +# endif +#endif + + #if @GNULIB_TRUNCF@ # if @REPLACE_TRUNCF@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) @@ -589,6 +1127,10 @@ _GL_WARN_ON_USE (truncl, "truncl is unportable - " #endif +/* Definitions of function-like macros come here, after the function + declarations. */ + + #if @GNULIB_ISFINITE@ # if @REPLACE_ISFINITE@ _GL_EXTERN_C int gl_isfinitef (float x); @@ -600,6 +1142,13 @@ _GL_EXTERN_C int gl_isfinitel (long double x); sizeof (x) == sizeof (double) ? gl_isfinited (x) : \ gl_isfinitef (x)) # endif +# ifdef __cplusplus +# ifdef isfinite +_GL_MATH_CXX_REAL_FLOATING_DECL_1 (isfinite) +# undef isfinite +_GL_MATH_CXX_REAL_FLOATING_DECL_2 (isfinite) +# endif +# endif #elif defined GNULIB_POSIXCHECK # if defined isfinite _GL_WARN_REAL_FLOATING_DECL (isfinite); @@ -620,6 +1169,13 @@ _GL_EXTERN_C int gl_isinfl (long double x); sizeof (x) == sizeof (double) ? gl_isinfd (x) : \ gl_isinff (x)) # endif +# ifdef __cplusplus +# ifdef isinf +_GL_MATH_CXX_REAL_FLOATING_DECL_1 (isinf) +# undef isinf +_GL_MATH_CXX_REAL_FLOATING_DECL_2 (isinf) +# endif +# endif #elif defined GNULIB_POSIXCHECK # if defined isinf _GL_WARN_REAL_FLOATING_DECL (isinf); @@ -690,7 +1246,7 @@ _GL_EXTERN_C int isnand (double x); /* Test whether X is a NaN. */ # undef isnanl # define isnanl rpl_isnanl -_GL_EXTERN_C int isnanl (long double x); +_GL_EXTERN_C int isnanl (long double x) _GL_ATTRIBUTE_CONST; # endif #endif @@ -716,7 +1272,7 @@ _GL_EXTERN_C int rpl_isnand (double x); # if @HAVE_ISNANL@ && __GNUC__ >= 4 # define gl_isnan_l(x) __builtin_isnanl ((long double)(x)) # else -_GL_EXTERN_C int rpl_isnanl (long double x); +_GL_EXTERN_C int rpl_isnanl (long double x) _GL_ATTRIBUTE_CONST; # define gl_isnan_l(x) rpl_isnanl (x) # endif # undef isnan @@ -731,9 +1287,17 @@ _GL_EXTERN_C int rpl_isnanl (long double x); sizeof (x) == sizeof (double) ? __builtin_isnan ((double)(x)) : \ __builtin_isnanf ((float)(x))) # endif +# ifdef __cplusplus +# ifdef isnan +_GL_MATH_CXX_REAL_FLOATING_DECL_1 (isnan) +# undef isnan +_GL_MATH_CXX_REAL_FLOATING_DECL_2 (isnan) +# endif +# else /* Ensure isnan is a macro. */ -# ifndef isnan -# define isnan isnan +# ifndef isnan +# define isnan isnan +# endif # endif #elif defined GNULIB_POSIXCHECK # if defined isnan @@ -758,7 +1322,7 @@ _GL_WARN_REAL_FLOATING_DECL (isnan); _GL_EXTERN_C int gl_signbitf (float arg); _GL_EXTERN_C int gl_signbitd (double arg); _GL_EXTERN_C int gl_signbitl (long double arg); -# if __GNUC__ >= 2 && !__STRICT_ANSI__ +# if __GNUC__ >= 2 && !defined __STRICT_ANSI__ # define _GL_NUM_UINT_WORDS(type) \ ((sizeof (type) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) # if defined FLT_SIGNBIT_WORD && defined FLT_SIGNBIT_BIT && !defined gl_signbitf @@ -797,6 +1361,13 @@ _GL_EXTERN_C int gl_signbitl (long double arg); sizeof (x) == sizeof (double) ? gl_signbitd (x) : \ gl_signbitf (x)) # endif +# ifdef __cplusplus +# ifdef signbit +_GL_MATH_CXX_REAL_FLOATING_DECL_1 (signbit) +# undef signbit +_GL_MATH_CXX_REAL_FLOATING_DECL_2 (signbit) +# endif +# endif #elif defined GNULIB_POSIXCHECK # if defined signbit _GL_WARN_REAL_FLOATING_DECL (signbit); diff --git a/lib/md4.c b/lib/md4.c index aaa82e286..6807a830d 100644 --- a/lib/md4.c +++ b/lib/md4.c @@ -24,8 +24,8 @@ #include "md4.h" -#include -#include +#include +#include #include #include #include @@ -239,14 +239,7 @@ md4_process_bytes (const void *buffer, size_t len, struct md4_ctx *ctx) if (len >= 64) { #if !_STRING_ARCH_unaligned - /* To check alignment gcc has an appropriate operator. Other - compilers don't. */ -# if __GNUC__ >= 2 -# define UNALIGNED_P(p) (((uintptr_t) p) % __alignof__ (uint32_t) != 0) -# else -# define alignof(type) offsetof (struct { char c; type x; }, x) -# define UNALIGNED_P(p) (((size_t) p) % alignof (uint32_t) != 0) -# endif +# define UNALIGNED_P(p) ((uintptr_t) (p) % alignof (uint32_t) != 0) if (UNALIGNED_P (buffer)) while (len > 64) { diff --git a/lib/md5.c b/lib/md5.c index d37ca722c..7d575ac6e 100644 --- a/lib/md5.c +++ b/lib/md5.c @@ -24,7 +24,8 @@ #include "md5.h" -#include +#include +#include #include #include #include @@ -254,8 +255,7 @@ md5_process_bytes (const void *buffer, size_t len, struct md5_ctx *ctx) if (len >= 64) { #if !_STRING_ARCH_unaligned -# define alignof(type) offsetof (struct { char c; type x; }, x) -# define UNALIGNED_P(p) (((size_t) p) % alignof (uint32_t) != 0) +# define UNALIGNED_P(p) ((uintptr_t) (p) % alignof (uint32_t) != 0) if (UNALIGNED_P (buffer)) while (len > 64) { diff --git a/lib/memcasecmp.h b/lib/memcasecmp.h index d2e14ac15..502b856eb 100644 --- a/lib/memcasecmp.h +++ b/lib/memcasecmp.h @@ -19,4 +19,4 @@ #include -int memcasecmp (const void *vs1, const void *vs2, size_t n); +int memcasecmp (const void *vs1, const void *vs2, size_t n) _GL_ATTRIBUTE_PURE; diff --git a/lib/memchr2.h b/lib/memchr2.h index e5752237b..c34acbddc 100644 --- a/lib/memchr2.h +++ b/lib/memchr2.h @@ -24,7 +24,8 @@ extern "C" { char) that occurs within N bytes of the memory region S. If neither byte appears, return NULL. */ -extern void *memchr2 (void const *s, int c1, int c2, size_t n); +extern void *memchr2 (void const *s, int c1, int c2, size_t n) + _GL_ATTRIBUTE_PURE; #ifdef __cplusplus } diff --git a/lib/memcmp2.h b/lib/memcmp2.h index cbe6e8ce6..21552b297 100644 --- a/lib/memcmp2.h +++ b/lib/memcmp2.h @@ -29,7 +29,8 @@ extern "C" { This function's result is locale independent, unlike memcoll()'s. Return a negative number if S1 < S2, a positive number if S1 > S2, or 0 if S1 and S2 have the same contents. */ -extern int memcmp2 (const char *s1, size_t n1, const char *s2, size_t n2); +extern int memcmp2 (const char *s1, size_t n1, const char *s2, size_t n2) + _GL_ATTRIBUTE_PURE; #ifdef __cplusplus diff --git a/lib/memset.c b/lib/memset.c index 1f05cd918..f16bf2ea2 100644 --- a/lib/memset.c +++ b/lib/memset.c @@ -15,6 +15,8 @@ along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ +#include + #include void * diff --git a/lib/modff.c b/lib/modff.c new file mode 100644 index 000000000..1b2554cd1 --- /dev/null +++ b/lib/modff.c @@ -0,0 +1,29 @@ +/* Get signed integer and fractional parts of a floating-point number. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include + +float +modff (float x, float *iptr) +{ + double i; + double frac = modf ((double) x, &i); + *iptr = (float) i; + return (float) frac; +} diff --git a/lib/msvc-inval.c b/lib/msvc-inval.c new file mode 100644 index 000000000..31dbeea44 --- /dev/null +++ b/lib/msvc-inval.c @@ -0,0 +1,130 @@ +/* Invalid parameter handler for MSVC runtime libraries. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +#include + +/* Specification. */ +#include "msvc-inval.h" + +#if HAVE_MSVC_INVALID_PARAMETER_HANDLER \ + && !(MSVC_INVALID_PARAMETER_HANDLING == SANE_LIBRARY_HANDLING) + +/* Get _invalid_parameter_handler type and _set_invalid_parameter_handler + declaration. */ +# include + +# if MSVC_INVALID_PARAMETER_HANDLING == DEFAULT_HANDLING + +static void cdecl +gl_msvc_invalid_parameter_handler (const wchar_t *expression, + const wchar_t *function, + const wchar_t *file, + unsigned int line, + uintptr_t dummy) +{ +} + +# else + +/* Get declarations of the Win32 API functions. */ +# define WIN32_LEAN_AND_MEAN +# include + +# if defined _MSC_VER + +static void cdecl +gl_msvc_invalid_parameter_handler (const wchar_t *expression, + const wchar_t *function, + const wchar_t *file, + unsigned int line, + uintptr_t dummy) +{ + RaiseException (STATUS_GNULIB_INVALID_PARAMETER, 0, 0, NULL); +} + +# else + +/* An index to thread-local storage. */ +static DWORD tls_index; +static int tls_initialized /* = 0 */; + +/* Used as a fallback only. */ +static struct gl_msvc_inval_per_thread not_per_thread; + +struct gl_msvc_inval_per_thread * +gl_msvc_inval_current (void) +{ + if (!tls_initialized) + { + tls_index = TlsAlloc (); + tls_initialized = 1; + } + if (tls_index == TLS_OUT_OF_INDEXES) + /* TlsAlloc had failed. */ + return ¬_per_thread; + else + { + struct gl_msvc_inval_per_thread *pointer = + (struct gl_msvc_inval_per_thread *) TlsGetValue (tls_index); + if (pointer == NULL) + { + /* First call. Allocate a new 'struct gl_msvc_inval_per_thread'. */ + pointer = + (struct gl_msvc_inval_per_thread *) + malloc (sizeof (struct gl_msvc_inval_per_thread)); + if (pointer == NULL) + /* Could not allocate memory. Use the global storage. */ + pointer = ¬_per_thread; + TlsSetValue (tls_index, pointer); + } + return pointer; + } +} + +static void cdecl +gl_msvc_invalid_parameter_handler (const wchar_t *expression, + const wchar_t *function, + const wchar_t *file, + unsigned int line, + uintptr_t dummy) +{ + struct gl_msvc_inval_per_thread *current = gl_msvc_inval_current (); + if (current->restart_valid) + longjmp (current->restart, 1); + else + /* An invalid parameter notification from outside the gnulib code. + Give the caller a chance to intervene. */ + RaiseException (STATUS_GNULIB_INVALID_PARAMETER, 0, 0, NULL); +} + +# endif + +# endif + +static int gl_msvc_inval_initialized /* = 0 */; + +void +gl_msvc_inval_ensure_handler (void) +{ + if (gl_msvc_inval_initialized == 0) + { + _set_invalid_parameter_handler (gl_msvc_invalid_parameter_handler); + gl_msvc_inval_initialized = 1; + } +} + +#endif diff --git a/lib/msvc-inval.h b/lib/msvc-inval.h new file mode 100644 index 000000000..5ebc29faf --- /dev/null +++ b/lib/msvc-inval.h @@ -0,0 +1,223 @@ +/* Invalid parameter handler for MSVC runtime libraries. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +#ifndef _MSVC_INVAL_H +#define _MSVC_INVAL_H + +/* With MSVC runtime libraries with the "invalid parameter handler" concept, + functions like fprintf(), dup2(), or close() crash when the caller passes + an invalid argument. But POSIX wants error codes (such as EINVAL or EBADF) + instead. + This file defines macros that turn such an invalid parameter notification + into a non-local exit. An error code can then be produced at the target + of this exit. You can thus write code like + + TRY_MSVC_INVAL + { + + } + CATCH_MSVC_INVAL + { + + } + DONE_MSVC_INVAL; + + This entire block expands to a single statement. + + The handling of invalid parameters can be done in three ways: + + * The default way, which is reasonable for programs (not libraries): + AC_DEFINE([MSVC_INVALID_PARAMETER_HANDLING], [DEFAULT_HANDLING]) + + * The way for libraries that make "hairy" calls (like close(-1), or + fclose(fp) where fileno(fp) is closed, or simply getdtablesize()): + AC_DEFINE([MSVC_INVALID_PARAMETER_HANDLING], [HAIRY_LIBRARY_HANDLING]) + + * The way for libraries that make no "hairy" calls: + AC_DEFINE([MSVC_INVALID_PARAMETER_HANDLING], [SANE_LIBRARY_HANDLING]) + */ + +#define DEFAULT_HANDLING 0 +#define HAIRY_LIBRARY_HANDLING 1 +#define SANE_LIBRARY_HANDLING 2 + +#if HAVE_MSVC_INVALID_PARAMETER_HANDLER \ + && !(MSVC_INVALID_PARAMETER_HANDLING == SANE_LIBRARY_HANDLING) +/* A native Windows platform with the "invalid parameter handler" concept, + and either DEFAULT_HANDLING or HAIRY_LIBRARY_HANDLING. */ + +# if MSVC_INVALID_PARAMETER_HANDLING == DEFAULT_HANDLING +/* Default handling. */ + +# ifdef __cplusplus +extern "C" { +# endif + +/* Ensure that the invalid parameter handler in installed that just returns. + Because we assume no other part of the program installs a different + invalid parameter handler, this solution is multithread-safe. */ +extern void gl_msvc_inval_ensure_handler (void); + +# ifdef __cplusplus +} +# endif + +# define TRY_MSVC_INVAL \ + do \ + { \ + gl_msvc_inval_ensure_handler (); \ + if (1) +# define CATCH_MSVC_INVAL \ + else +# define DONE_MSVC_INVAL \ + } \ + while (0) + +# else +/* Handling for hairy libraries. */ + +# include + +/* Gnulib can define its own status codes, as described in the page + "Raising Software Exceptions" on microsoft.com + . + Our status codes are composed of + - 0xE0000000, mandatory for all user-defined status codes, + - 0x474E550, a API identifier ("GNU"), + - 0, 1, 2, ..., used to distinguish different status codes from the + same API. */ +# define STATUS_GNULIB_INVALID_PARAMETER (0xE0000000 + 0x474E550 + 0) + +# if defined _MSC_VER +/* A compiler that supports __try/__except, as described in the page + "try-except statement" on microsoft.com + . + With __try/__except, we can use the multithread-safe exception handling. */ + +# ifdef __cplusplus +extern "C" { +# endif + +/* Ensure that the invalid parameter handler in installed that raises a + software exception with code STATUS_GNULIB_INVALID_PARAMETER. + Because we assume no other part of the program installs a different + invalid parameter handler, this solution is multithread-safe. */ +extern void gl_msvc_inval_ensure_handler (void); + +# ifdef __cplusplus +} +# endif + +# define TRY_MSVC_INVAL \ + do \ + { \ + gl_msvc_inval_ensure_handler (); \ + __try +# define CATCH_MSVC_INVAL \ + __except (GetExceptionCode () == STATUS_GNULIB_INVALID_PARAMETER \ + ? EXCEPTION_EXECUTE_HANDLER \ + : EXCEPTION_CONTINUE_SEARCH) +# define DONE_MSVC_INVAL \ + } \ + while (0) + +# else +/* Any compiler. + We can only use setjmp/longjmp. */ + +# include + +# ifdef __cplusplus +extern "C" { +# endif + +struct gl_msvc_inval_per_thread +{ + /* The restart that will resume execution at the code between + CATCH_MSVC_INVAL and DONE_MSVC_INVAL. It is enabled only between + TRY_MSVC_INVAL and CATCH_MSVC_INVAL. */ + jmp_buf restart; + + /* Tells whether the contents of restart is valid. */ + int restart_valid; +}; + +/* Ensure that the invalid parameter handler in installed that passes + control to the gl_msvc_inval_restart if it is valid, or raises a + software exception with code STATUS_GNULIB_INVALID_PARAMETER otherwise. + Because we assume no other part of the program installs a different + invalid parameter handler, this solution is multithread-safe. */ +extern void gl_msvc_inval_ensure_handler (void); + +/* Return a pointer to the per-thread data for the current thread. */ +extern struct gl_msvc_inval_per_thread *gl_msvc_inval_current (void); + +# ifdef __cplusplus +} +# endif + +# define TRY_MSVC_INVAL \ + do \ + { \ + struct gl_msvc_inval_per_thread *msvc_inval_current; \ + gl_msvc_inval_ensure_handler (); \ + msvc_inval_current = gl_msvc_inval_current (); \ + /* First, initialize gl_msvc_inval_restart. */ \ + if (setjmp (msvc_inval_current->restart) == 0) \ + { \ + /* Then, mark it as valid. */ \ + msvc_inval_current->restart_valid = 1; +# define CATCH_MSVC_INVAL \ + /* Execution completed. \ + Mark gl_msvc_inval_restart as invalid. */ \ + msvc_inval_current->restart_valid = 0; \ + } \ + else \ + { \ + /* Execution triggered an invalid parameter notification. \ + Mark gl_msvc_inval_restart as invalid. */ \ + msvc_inval_current->restart_valid = 0; +# define DONE_MSVC_INVAL \ + } \ + } \ + while (0) + +# endif + +# endif + +#else +/* A platform that does not need to the invalid parameter handler, + or when SANE_LIBRARY_HANDLING is desired. */ + +/* The braces here avoid GCC warnings like + "warning: suggest explicit braces to avoid ambiguous `else'". */ +# define TRY_MSVC_INVAL \ + do \ + { \ + if (1) +# define CATCH_MSVC_INVAL \ + else +# define DONE_MSVC_INVAL \ + } \ + while (0) + +#endif + +#endif /* _MSVC_INVAL_H */ diff --git a/lib/msvc-nothrow.c b/lib/msvc-nothrow.c new file mode 100644 index 000000000..0af17b202 --- /dev/null +++ b/lib/msvc-nothrow.c @@ -0,0 +1,50 @@ +/* Wrappers that don't throw invalid parameter notifications + with MSVC runtime libraries. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +#include + +/* Specification. */ +#include "msvc-nothrow.h" + +/* Get declarations of the Win32 API functions. */ +#define WIN32_LEAN_AND_MEAN +#include + +#include "msvc-inval.h" + +#undef _get_osfhandle + +#if HAVE_MSVC_INVALID_PARAMETER_HANDLER +intptr_t +_gl_nothrow_get_osfhandle (int fd) +{ + intptr_t result; + + TRY_MSVC_INVAL + { + result = _get_osfhandle (fd); + } + CATCH_MSVC_INVAL + { + result = (intptr_t) INVALID_HANDLE_VALUE; + } + DONE_MSVC_INVAL; + + return result; +} +#endif diff --git a/lib/msvc-nothrow.h b/lib/msvc-nothrow.h new file mode 100644 index 000000000..1ec2888f8 --- /dev/null +++ b/lib/msvc-nothrow.h @@ -0,0 +1,44 @@ +/* Wrappers that don't throw invalid parameter notifications + with MSVC runtime libraries. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +#ifndef _MSVC_NOTHROW_H +#define _MSVC_NOTHROW_H + +/* With MSVC runtime libraries with the "invalid parameter handler" concept, + functions like fprintf(), dup2(), or close() crash when the caller passes + an invalid argument. But POSIX wants error codes (such as EINVAL or EBADF) + instead. + This file defines wrappers that turn such an invalid parameter notification + into an error code. */ + +#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ + +/* Get original declaration of _get_osfhandle. */ +# include + +# if HAVE_MSVC_INVALID_PARAMETER_HANDLER + +/* Override _get_osfhandle. */ +extern intptr_t _gl_nothrow_get_osfhandle (int fd); +# define _get_osfhandle _gl_nothrow_get_osfhandle + +# endif + +#endif + +#endif /* _MSVC_NOTHROW_H */ diff --git a/lib/nonblocking.c b/lib/nonblocking.c index 9f7bce916..c356f3621 100644 --- a/lib/nonblocking.c +++ b/lib/nonblocking.c @@ -32,6 +32,8 @@ # define WIN32_LEAN_AND_MEAN # include +# include "msvc-nothrow.h" + int get_nonblocking_flag (int desc) { diff --git a/lib/obstack.c b/lib/obstack.c index a73d6edb2..47492ccc4 100644 --- a/lib/obstack.c +++ b/lib/obstack.c @@ -87,7 +87,7 @@ enum abort gracefully or use longjump - but shouldn't return. This variable by default points to the internal function `print_and_abort'. */ -static void print_and_abort (void); +static _Noreturn void print_and_abort (void); void (*obstack_alloc_failed_handler) (void) = print_and_abort; /* Exit value used when `print_and_abort' is used. */ diff --git a/lib/open.c b/lib/open.c index ffd3b8ded..8dc36ef1e 100644 --- a/lib/open.c +++ b/lib/open.c @@ -34,7 +34,9 @@ orig_open (const char *filename, int flags, mode_t mode) } /* Specification. */ -#include +/* Write "fcntl.h" here, not , otherwise OSF/1 5.1 DTK cc eliminates + this include because of the preliminary #include above. */ +#include "fcntl.h" #include #include diff --git a/lib/openat.c b/lib/openat.c index cc4b9d073..354ff806c 100644 --- a/lib/openat.c +++ b/lib/openat.c @@ -35,16 +35,18 @@ orig_openat (int fd, char const *filename, int flags, mode_t mode) } #endif +/* Write "fcntl.h" here, not , otherwise OSF/1 5.1 DTK cc eliminates + this include because of the preliminary #include above. */ +#include "fcntl.h" + #include "openat.h" #include +#include #include #include #include - -#include "dosname.h" /* solely for definition of IS_ABSOLUTE_FILE_NAME */ -#include "openat-priv.h" -#include "save-cwd.h" +#include #if HAVE_OPENAT @@ -139,6 +141,10 @@ rpl_openat (int dfd, char const *filename, int flags, ...) #else /* !HAVE_OPENAT */ +# include "dosname.h" /* solely for definition of IS_ABSOLUTE_FILE_NAME */ +# include "openat-priv.h" +# include "save-cwd.h" + /* Replacement for Solaris' openat function. First, try to simulate it via open ("/proc/self/fd/FD/FILE"). diff --git a/lib/openat.h b/lib/openat.h index fb4f4d8bd..eae86ceb6 100644 --- a/lib/openat.h +++ b/lib/openat.h @@ -19,13 +19,10 @@ #ifndef _GL_HEADER_OPENAT #define _GL_HEADER_OPENAT -/* Write "fcntl.h" here, not , otherwise OSF/1 5.1 DTK cc miscompiles - openat.c because that file has a preliminary #include . */ -#include "fcntl.h" +#include #include #include -#include #include #include @@ -49,6 +46,9 @@ _Noreturn void openat_save_fail (int); /* Using these function names makes application code slightly more readable than it would be with fchownat (..., 0) or fchownat (..., AT_SYMLINK_NOFOLLOW). */ + +#if GNULIB_FCHOWNAT + static inline int chownat (int fd, char const *file, uid_t owner, gid_t group) { @@ -61,6 +61,10 @@ lchownat (int fd, char const *file, uid_t owner, gid_t group) return fchownat (fd, file, owner, group, AT_SYMLINK_NOFOLLOW); } +#endif + +#if GNULIB_FCHMODAT + static inline int chmodat (int fd, char const *file, mode_t mode) { @@ -73,6 +77,10 @@ lchmodat (int fd, char const *file, mode_t mode) return fchmodat (fd, file, mode, AT_SYMLINK_NOFOLLOW); } +#endif + +#if GNULIB_FSTATAT + static inline int statat (int fd, char const *name, struct stat *st) { @@ -85,6 +93,8 @@ lstatat (int fd, char const *name, struct stat *st) return fstatat (fd, name, st, AT_SYMLINK_NOFOLLOW); } +#endif + /* For now, there are no wrappers named laccessat or leuidaccessat, since gnulib doesn't support faccessat(,AT_SYMLINK_NOFOLLOW) and since access rights on symlinks are of limited utility. Likewise, diff --git a/lib/opendir.c b/lib/opendir.c new file mode 100644 index 000000000..20ae75e10 --- /dev/null +++ b/lib/opendir.c @@ -0,0 +1,148 @@ +/* Start reading the entries of a directory. + Copyright (C) 2006-2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include + +#include +#include + +#if HAVE_OPENDIR + +/* Override opendir(), to keep track of the open file descriptors. + Needed because there is a function dirfd(). */ + +#else + +# include + +# include "dirent-private.h" +# include "filename.h" + +#endif + +#if REPLACE_FCHDIR +# include +#endif + +DIR * +opendir (const char *dir_name) +{ +#if HAVE_OPENDIR +# undef opendir + DIR *dirp; + + dirp = opendir (dir_name); + if (dirp == NULL) + return NULL; + +#else + + char dir_name_mask[MAX_PATH + 1 + 1 + 1]; + int status; + HANDLE current; + WIN32_FIND_DATA entry; + struct gl_directory *dirp; + + if (dir_name[0] == '\0') + { + errno = ENOENT; + return NULL; + } + + /* Make the dir_name absolute, so that we continue reading the same + directory if the current directory changed between this opendir() + call and a subsequent rewinddir() call. */ + if (!GetFullPathName (dir_name, MAX_PATH, dir_name_mask, NULL)) + { + errno = EINVAL; + return NULL; + } + + /* Append the mask. + "*" and "*.*" appear to be equivalent. */ + { + char *p; + + p = dir_name_mask + strlen (dir_name_mask); + if (p > dir_name_mask && !ISSLASH (p[-1])) + *p++ = '\\'; + *p++ = '*'; + *p = '\0'; + } + + /* Start searching the directory. */ + status = -1; + current = FindFirstFile (dir_name_mask, &entry); + if (current == INVALID_HANDLE_VALUE) + { + switch (GetLastError ()) + { + case ERROR_FILE_NOT_FOUND: + status = -2; + break; + case ERROR_PATH_NOT_FOUND: + errno = ENOENT; + return NULL; + case ERROR_DIRECTORY: + errno = ENOTDIR; + return NULL; + case ERROR_ACCESS_DENIED: + errno = EACCES; + return NULL; + default: + errno = EIO; + return NULL; + } + } + + /* Allocate the result. */ + dirp = + (struct gl_directory *) + malloc (offsetof (struct gl_directory, dir_name_mask[0]) + + strlen (dir_name_mask) + 1); + if (dirp == NULL) + { + if (current != INVALID_HANDLE_VALUE) + FindClose (current); + errno = ENOMEM; + return NULL; + } + dirp->status = status; + dirp->current = current; + if (status == -1) + memcpy (&dirp->entry, &entry, sizeof (WIN32_FIND_DATA)); + strcpy (dirp->dir_name_mask, dir_name_mask); + +#endif + +#if REPLACE_FCHDIR + { + int fd = dirfd (dirp); + if (0 <= fd && _gl_register_fd (fd, dir_name) != fd) + { + int saved_errno = errno; + closedir (dirp); + errno = saved_errno; + return NULL; + } + } +#endif + + return dirp; +} diff --git a/lib/openpty.c b/lib/openpty.c index 748d37211..d9d977394 100644 --- a/lib/openpty.c +++ b/lib/openpty.c @@ -32,9 +32,25 @@ rpl_openpty (int *amaster, int *aslave, char *name, (struct winsize *) winp); } -#else /* AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 10, mingw */ +#elif (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ /* mingw */ + +# include + +int +openpty (int *amaster _GL_UNUSED, int *aslave _GL_UNUSED, + char *name _GL_UNUSED, + struct termios const *termp _GL_UNUSED, + struct winsize const *winp _GL_UNUSED) +{ + /* Mingw lacks pseudo-terminals altogether. */ + errno = ENOSYS; + return -1; +} + +#else /* AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 10 */ # include +# include # include # include # include @@ -59,44 +75,11 @@ openpty (int *amaster, int *aslave, char *name, # else /* AIX 5.1, HP-UX 11, Solaris 10, mingw */ -# if HAVE_POSIX_OPENPT /* Solaris 10 */ - + /* This call uses the 'posix_openpt' module. */ master = posix_openpt (O_RDWR | O_NOCTTY); if (master < 0) return -1; -# else /* AIX 5.1, HP-UX 11, Solaris 9, mingw */ - -# ifdef _AIX /* AIX */ - - master = open ("/dev/ptc", O_RDWR | O_NOCTTY); - if (master < 0) - return -1; - -# else /* HP-UX 11, Solaris 9, mingw */ - - /* HP-UX, Solaris have /dev/ptmx. - HP-UX also has /dev/ptym/clone, but this should not be needed. - Linux also has /dev/ptmx, but Linux already has openpty(). - MacOS X also has /dev/ptmx, but MacOS X already has openpty(). - OSF/1 also has /dev/ptmx and /dev/ptmx_bsd, but OSF/1 already has - openpty(). */ - master = open ("/dev/ptmx", O_RDWR | O_NOCTTY); - if (master < 0) - return -1; - -# endif - -# endif - - /* If all this does not work, we could try to open, one by one: - - On MacOS X: /dev/pty[p-w][0-9a-f] - - On *BSD: /dev/pty[p-sP-S][0-9a-v] - - On AIX: /dev/ptyp[0-9a-f] - - On HP-UX: /dev/pty[p-r][0-9a-f] - - On OSF/1: /dev/pty[p-q][0-9a-f] - - On Solaris: /dev/pty[p-r][0-9a-f] - */ # endif /* This call does not require a dependency to the 'grantpt' module, diff --git a/lib/pagealign_alloc.c b/lib/pagealign_alloc.c index b40d960df..cfd301a98 100644 --- a/lib/pagealign_alloc.c +++ b/lib/pagealign_alloc.c @@ -123,6 +123,9 @@ void * pagealign_alloc (size_t size) { void *ret; + /* We prefer the mmap() approach over the posix_memalign() or malloc() + based approaches, since the latter often waste an entire memory page + per call. */ #if HAVE_MMAP # ifdef HAVE_MAP_ANONYMOUS const int fd = -1; diff --git a/lib/parse-datetime.y b/lib/parse-datetime.y index 23a9a4159..5621adc7c 100644 --- a/lib/parse-datetime.y +++ b/lib/parse-datetime.y @@ -285,8 +285,8 @@ set_hhmmss (parser_control *pc, long int hour, long int minutes, %parse-param { parser_control *pc } %lex-param { parser_control *pc } -/* This grammar has 20 shift/reduce conflicts. */ -%expect 20 +/* This grammar has 31 shift/reduce conflicts. */ +%expect 31 %union { @@ -296,7 +296,8 @@ set_hhmmss (parser_control *pc, long int hour, long int minutes, relative_time rel; } -%token tAGO tDST +%token tAGO +%token tDST %token tYEAR_UNIT tMONTH_UNIT tHOUR_UNIT tMINUTE_UNIT tSEC_UNIT %token tDAY_UNIT tDAY_SHIFT @@ -307,7 +308,7 @@ set_hhmmss (parser_control *pc, long int hour, long int minutes, %token tSNUMBER tUNUMBER %token tSDECIMAL_NUMBER tUDECIMAL_NUMBER -%type o_colon_minutes o_merid +%type o_colon_minutes %type seconds signed_seconds unsigned_seconds %type relunit relunit_snumber dayshift @@ -333,7 +334,9 @@ items: ; item: - time + datetime + { pc->times_seen++; pc->dates_seen++; } + | time { pc->times_seen++; } | local_zone { pc->local_zones_seen++; } @@ -348,35 +351,61 @@ item: | hybrid ; +datetime: + iso_8601_datetime + ; + +iso_8601_datetime: + iso_8601_date 'T' iso_8601_time + ; + time: tUNUMBER tMERIDIAN { set_hhmmss (pc, $1.value, 0, 0, 0); pc->meridian = $2; } - | tUNUMBER ':' tUNUMBER o_merid + | tUNUMBER ':' tUNUMBER tMERIDIAN { set_hhmmss (pc, $1.value, $3.value, 0, 0); pc->meridian = $4; } - | tUNUMBER ':' tUNUMBER tSNUMBER o_colon_minutes + | tUNUMBER ':' tUNUMBER ':' unsigned_seconds tMERIDIAN { - set_hhmmss (pc, $1.value, $3.value, 0, 0); + set_hhmmss (pc, $1.value, $3.value, $5.tv_sec, $5.tv_nsec); + pc->meridian = $6; + } + | iso_8601_time + ; + +iso_8601_time: + tUNUMBER zone_offset + { + set_hhmmss (pc, $1.value, 0, 0, 0); pc->meridian = MER24; - pc->zones_seen++; - pc->time_zone = time_zone_hhmm (pc, $4, $5); } - | tUNUMBER ':' tUNUMBER ':' unsigned_seconds o_merid + | tUNUMBER ':' tUNUMBER o_zone_offset { - set_hhmmss (pc, $1.value, $3.value, $5.tv_sec, $5.tv_nsec); - pc->meridian = $6; + set_hhmmss (pc, $1.value, $3.value, 0, 0); + pc->meridian = MER24; } - | tUNUMBER ':' tUNUMBER ':' unsigned_seconds tSNUMBER o_colon_minutes + | tUNUMBER ':' tUNUMBER ':' unsigned_seconds o_zone_offset { set_hhmmss (pc, $1.value, $3.value, $5.tv_sec, $5.tv_nsec); pc->meridian = MER24; + } + ; + +o_zone_offset: + /* empty */ + | zone_offset + ; + +zone_offset: + tSNUMBER o_colon_minutes + { pc->zones_seen++; - pc->time_zone = time_zone_hhmm (pc, $6, $7); + pc->time_zone = time_zone_hhmm (pc, $1, $2); } ; @@ -393,12 +422,19 @@ local_zone: } ; +/* Note 'T' is a special case, as it is used as the separator in ISO + 8601 date and time of day representation. */ zone: tZONE { pc->time_zone = $1; } + | 'T' + { pc->time_zone = HOUR(7); } | tZONE relunit_snumber { pc->time_zone = $1; apply_relative_time (pc, $2, 1); } + | 'T' relunit_snumber + { pc->time_zone = HOUR(7); + apply_relative_time (pc, $2, 1); } | tZONE tSNUMBER o_colon_minutes { pc->time_zone = $1 + time_zone_hhmm (pc, $2, $3); } | tDAYZONE @@ -456,13 +492,6 @@ date: pc->year = $5; } } - | tUNUMBER tSNUMBER tSNUMBER - { - /* ISO 8601 format. YYYY-MM-DD. */ - pc->year = $1; - pc->month = -$2.value; - pc->day = -$3.value; - } | tUNUMBER tMONTH tSNUMBER { /* e.g. 17-JUN-1992. */ @@ -501,11 +530,22 @@ date: pc->month = $2; pc->year = $3; } + | iso_8601_date + ; + +iso_8601_date: + tUNUMBER tSNUMBER tSNUMBER + { + /* ISO 8601 format. YYYY-MM-DD. */ + pc->year = $1; + pc->month = -$2.value; + pc->day = -$3.value; + } ; rel: relunit tAGO - { apply_relative_time (pc, $1, -1); } + { apply_relative_time (pc, $1, $2); } | relunit { apply_relative_time (pc, $1, 1); } | dayshift @@ -612,13 +652,6 @@ o_colon_minutes: { $$ = $2.value; } ; -o_merid: - /* empty */ - { $$ = MER24; } - | tMERIDIAN - { $$ = $1; } - ; - %% static table const meridian_table[] = @@ -701,7 +734,8 @@ static table const relative_time_table[] = { "TENTH", tORDINAL, 10 }, { "ELEVENTH", tORDINAL, 11 }, { "TWELFTH", tORDINAL, 12 }, - { "AGO", tAGO, 1 }, + { "AGO", tAGO, -1 }, + { "HENCE", tAGO, 1 }, { NULL, 0, 0 } }; @@ -773,7 +807,10 @@ static table const time_zone_table[] = { NULL, 0, 0 } }; -/* Military time zone table. */ +/* Military time zone table. + + Note 'T' is a special case, as it is used as the separator in ISO + 8601 date and time of day representation. */ static table const military_table[] = { { "A", tZONE, -HOUR ( 1) }, @@ -794,7 +831,7 @@ static table const military_table[] = { "Q", tZONE, HOUR ( 4) }, { "R", tZONE, HOUR ( 5) }, { "S", tZONE, HOUR ( 6) }, - { "T", tZONE, HOUR ( 7) }, + { "T", 'T', 0 }, { "U", tZONE, HOUR ( 8) }, { "V", tZONE, HOUR ( 9) }, { "W", tZONE, HOUR (10) }, @@ -868,7 +905,7 @@ to_year (textint textyear) return year; } -static table const * +static table const * _GL_ATTRIBUTE_PURE lookup_zone (parser_control const *pc, char const *name) { table const *tp; diff --git a/lib/pathmax.h b/lib/pathmax.h index a1e458c12..9c3099543 100644 --- a/lib/pathmax.h +++ b/lib/pathmax.h @@ -66,4 +66,19 @@ # define PATH_MAX 1024 # endif +# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +/* The page "Naming Files, Paths, and Namespaces" on msdn.microsoft.com, + section "Maximum Path Length Limitation", + + explains that the maximum size of a filename, including the terminating + NUL byte, is 260 = 3 + 256 + 1. + This is the same value as + - FILENAME_MAX in , + - _MAX_PATH in , + - MAX_PATH in . + Undefine the original value, because mingw's gets it wrong. */ +# undef PATH_MAX +# define PATH_MAX 260 +# endif + #endif /* _PATHMAX_H */ diff --git a/lib/pclose.c b/lib/pclose.c new file mode 100644 index 000000000..b171c218a --- /dev/null +++ b/lib/pclose.c @@ -0,0 +1,28 @@ +/* Close a stream to a sub-process. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include + +/* Native Woe32 API. */ + +int +pclose (FILE *stream) +{ + return _pclose (stream); +} diff --git a/lib/pipe2.c b/lib/pipe2.c index 5420788d1..cd1fe5641 100644 --- a/lib/pipe2.c +++ b/lib/pipe2.c @@ -95,7 +95,9 @@ pipe2 (int fd[2], int flags) goto fail; } # else - verify (O_NONBLOCK == 0); + { + verify (O_NONBLOCK == 0); + } # endif return 0; diff --git a/lib/poll.c b/lib/poll.c index e06456581..b012ba035 100644 --- a/lib/poll.c +++ b/lib/poll.c @@ -43,6 +43,7 @@ # include # include # include +# include "msvc-nothrow.h" #else # include # include diff --git a/lib/popen.c b/lib/popen.c index 64a4f619e..433047996 100644 --- a/lib/popen.c +++ b/lib/popen.c @@ -21,12 +21,14 @@ /* Specification. */ #include -#include -#include -#include -#include +#if HAVE_POPEN -#undef popen +# include +# include +# include +# include + +# undef popen FILE * rpl_popen (const char *filename, const char *mode) @@ -80,3 +82,22 @@ rpl_popen (const char *filename, const char *mode) errno = saved_errno; return result; } + +#else +/* Native Woe32 API. */ + +# include + +FILE * +popen (const char *filename, const char *mode) +{ + /* Use binary mode by default. */ + if (strcmp (mode, "r") == 0) + mode = "rb"; + else if (strcmp (mode, "w") == 0) + mode = "wb"; + + return _popen (filename, mode); +} + +#endif diff --git a/lib/posix_openpt.c b/lib/posix_openpt.c new file mode 100644 index 000000000..137db713f --- /dev/null +++ b/lib/posix_openpt.c @@ -0,0 +1,108 @@ +/* Open the master side of a pseudo-terminal. + Copyright (C) 2010-2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include + +#include +#include +#if defined __OpenBSD__ +# include +# include +#endif + +/* posix_openpt() is already provided on + glibc >= 2.2.1 (but is a stub on GNU/Hurd), + MacOS X >= 10.4, + FreeBSD >= 5.1 (lived in src/lib/libc/stdlib/grantpt.c before 8.0), + NetBSD >= 3.0, + AIX >= 5.2, HP-UX >= 11.31, Solaris >= 10, Cygwin >= 1.7. + Thus, this replacement function is compiled on + MacOS X 10.3, OpenBSD 4.9, Minix 3.1.8, + AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, + Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. + Among these: + - AIX has /dev/ptc. + - HP-UX 10..11, IRIX 6.5, OSF/1 5.1, Solaris 2.6..9, Cygwin 1.5 + have /dev/ptmx. + - HP-UX 10..11 also has /dev/ptym/clone, but this should not be needed. + - OpenBSD 4.9 has /dev/ptm and the PTMGET ioctl. + - Minix 3.1.8 have a list of pseudo-terminal devices in /dev. + - On native Windows, there are no ttys at all. */ + +int +posix_openpt (int flags) +{ + int master; + +#ifdef _AIX /* AIX */ + + master = open ("/dev/ptc", flags); + +#elif (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ /* mingw */ + + /* Mingw lacks pseudo-terminals altogether. */ + master = -1; + errno = ENOSYS; + +#elif defined __OpenBSD__ + + /* On OpenBSD, master and slave of a pseudo-terminal are allocated together, + by opening /dev/ptm and applying the PTMGET ioctl to it. */ + int fd; + struct ptmget data; + + fd = open (PATH_PTMDEV, O_RDWR); + if (fd >= 0) + { + if (ioctl (fd, PTMGET, &data) >= 0) + { + master = data.cfd; + close (data.sfd); + close (fd); + } + else + { + int saved_errno = errno; + close (fd); + errno = saved_errno; + master = -1; + } + } + else + master = -1; + +#else /* MacOS X, Minix, HP-UX, IRIX, OSF/1, Solaris 9, Cygwin 1.5 */ + + /* Most systems that lack posix_openpt() have /dev/ptmx. */ + master = open ("/dev/ptmx", flags); + + /* If all this does not work, we could try to open, one by one: + - On MacOS X: /dev/pty[p-w][0-9a-f] + - On *BSD: /dev/pty[p-sP-S][0-9a-v] + - On Minix: /dev/pty[p-q][0-9a-f] + - On AIX: /dev/ptyp[0-9a-f] + - On HP-UX: /dev/pty[p-r][0-9a-f] + - On OSF/1: /dev/pty[p-q][0-9a-f] + - On Solaris: /dev/pty[p-r][0-9a-f] + */ + +#endif + + return master; +} diff --git a/lib/powf.c b/lib/powf.c new file mode 100644 index 000000000..d5a81b9be --- /dev/null +++ b/lib/powf.c @@ -0,0 +1,26 @@ +/* Power function. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include + +float +powf (float x, float y) +{ + return (float) pow ((double) x, (double) y); +} diff --git a/lib/printf-frexp.c b/lib/printf-frexp.c index 7f7e0ecde..267081cec 100644 --- a/lib/printf-frexp.c +++ b/lib/printf-frexp.c @@ -14,7 +14,9 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -#include +#if ! defined USE_LONG_DOUBLE +# include +#endif /* Specification. */ #ifdef USE_LONG_DOUBLE diff --git a/lib/printf-frexpl.c b/lib/printf-frexpl.c index f19f32168..2de6528bc 100644 --- a/lib/printf-frexpl.c +++ b/lib/printf-frexpl.c @@ -14,5 +14,24 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -#define USE_LONG_DOUBLE -#include "printf-frexp.c" +#include + +#if HAVE_SAME_LONG_DOUBLE_AS_DOUBLE + +/* Specification. */ +# include "printf-frexpl.h" + +# include "printf-frexp.h" + +long double +printf_frexpl (long double x, int *expptr) +{ + return printf_frexp (x, expptr); +} + +#else + +# define USE_LONG_DOUBLE +# include "printf-frexp.c" + +#endif diff --git a/lib/propername.c b/lib/propername.c index b74923de9..31fc96a80 100644 --- a/lib/propername.c +++ b/lib/propername.c @@ -15,6 +15,12 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ +/* Without this pragma, gcc 4.7.0 20111124 mistakenly suggests that + the proper_name function might be candidate for attribute 'const' */ +#if (__GNUC__ == 4 && 6 <= __GNUC_MINOR__) || 4 < __GNUC__ +# pragma GCC diagnostic ignored "-Wsuggest-attribute=const" +#endif + #include /* Specification. */ diff --git a/lib/propername.h b/lib/propername.h index d2a1e3bf0..997c57b23 100644 --- a/lib/propername.h +++ b/lib/propername.h @@ -89,7 +89,7 @@ extern "C" { #endif /* Return the localization of NAME. NAME is written in ASCII. */ -extern const char * proper_name (const char *name); +extern const char * proper_name (const char *name) /* NOT attribute const */; /* Return the localization of a name whose original writing is not ASCII. NAME_UTF8 is the real name, written in UTF-8 with octal or hexadecimal diff --git a/lib/ptsname.c b/lib/ptsname.c index cd2cc5ee9..102a65c90 100644 --- a/lib/ptsname.c +++ b/lib/ptsname.c @@ -18,30 +18,6 @@ #include -#include -#include -#include -#include - -#ifdef _LIBC -# include -#else -# ifndef _PATH_TTY -# define _PATH_TTY "/dev/tty" -# endif -# ifndef _PATH_DEV -# define _PATH_DEV "/dev/" -# endif - -# define __set_errno(e) errno = (e) -# define __isatty isatty -# define __stat stat -# define __ttyname_r ttyname_r - -static int __ptsname_r (int fd, char *buf, size_t buflen); -#endif - - /* Static buffer for `ptsname'. */ static char buffer[64]; @@ -52,48 +28,5 @@ static char buffer[64]; char * ptsname (int fd) { - return __ptsname_r (fd, buffer, sizeof (buffer)) != 0 ? NULL : buffer; -} - - -/* Store at most BUFLEN characters of the pathname of the slave pseudo - terminal associated with the master FD is open on in BUF. - Return 0 on success, otherwise an error number. */ -static int -__ptsname_r (int fd, char *buf, size_t buflen) -{ - int save_errno = errno; - int err; - struct stat st; - - if (buf == NULL) - { - __set_errno (EINVAL); - return EINVAL; - } - - if (!__isatty (fd)) - /* We rely on isatty to set errno properly (i.e. EBADF or ENOTTY). */ - return errno; - - if (buflen < strlen (_PATH_TTY) + 3) - { - __set_errno (ERANGE); - return ERANGE; - } - - err = __ttyname_r (fd, buf, buflen); - if (err != 0) - { - __set_errno (err); - return errno; - } - - buf[sizeof (_PATH_DEV) - 1] = 't'; - - if (__stat (buf, &st) < 0) - return errno; - - __set_errno (save_errno); - return 0; + return ptsname_r (fd, buffer, sizeof (buffer)) != 0 ? NULL : buffer; } diff --git a/lib/ptsname_r.c b/lib/ptsname_r.c new file mode 100644 index 000000000..e7f2d5b9e --- /dev/null +++ b/lib/ptsname_r.c @@ -0,0 +1,85 @@ +/* Determine name of the slave side of a pseudo-terminal. + Copyright (C) 1998, 2002, 2010-2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include + +#include +#include +#include +#include + +#ifdef _LIBC +# include +#else +# ifndef _PATH_TTY +# define _PATH_TTY "/dev/tty" +# endif +# ifndef _PATH_DEV +# define _PATH_DEV "/dev/" +# endif + +# define __set_errno(e) errno = (e) +# define __isatty isatty +# define __stat stat +# define __ttyname_r ttyname_r +# define __ptsname_r ptsname_r + +#endif + + +/* Store at most BUFLEN characters of the pathname of the slave pseudo + terminal associated with the master FD is open on in BUF. + Return 0 on success, otherwise an error number. */ +int +__ptsname_r (int fd, char *buf, size_t buflen) +{ + int save_errno = errno; + int err; + struct stat st; + + if (buf == NULL) + { + __set_errno (EINVAL); + return EINVAL; + } + + if (!__isatty (fd)) + /* We rely on isatty to set errno properly (i.e. EBADF or ENOTTY). */ + return errno; + + if (buflen < strlen (_PATH_TTY) + 3) + { + __set_errno (ERANGE); + return ERANGE; + } + + err = __ttyname_r (fd, buf, buflen); + if (err != 0) + { + __set_errno (err); + return errno; + } + + buf[sizeof (_PATH_DEV) - 1] = 't'; + + if (__stat (buf, &st) < 0) + return errno; + + __set_errno (save_errno); + return 0; +} diff --git a/lib/pty.in.h b/lib/pty.in.h index bba4ba1a6..b24dd1076 100644 --- a/lib/pty.in.h +++ b/lib/pty.in.h @@ -42,6 +42,14 @@ /* Get 'struct termios' and 'struct winsize'. */ #include +#if defined _AIX +# include +#endif +/* Mingw lacks 'struct termios' and 'struct winsize', but a forward + declaration of an opaque type is sufficient to allow compilation of + a stub openpty(). */ +struct termios; +struct winsize; /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ diff --git a/lib/putenv.c b/lib/putenv.c index 68e5fec31..2da33760b 100644 --- a/lib/putenv.c +++ b/lib/putenv.c @@ -34,10 +34,12 @@ #include #include -#if HAVE_GNU_LD -# define environ __environ -#else +#if _LIBC +# if HAVE_GNU_LD +# define environ __environ +# else extern char **environ; +# endif #endif #if _LIBC diff --git a/lib/quotearg.c b/lib/quotearg.c index da8ba1eac..03fbfe797 100644 --- a/lib/quotearg.c +++ b/lib/quotearg.c @@ -17,6 +17,13 @@ /* Written by Paul Eggert */ +/* Without this pragma, gcc 4.7.0 20111124 mistakenly suggests that + the quoting_options_from_style function might be candidate for + attribute 'pure' */ +#if (__GNUC__ == 4 && 6 <= __GNUC_MINOR__) || 4 < __GNUC__ +# pragma GCC diagnostic ignored "-Wsuggest-attribute=pure" +#endif + #include #include "quotearg.h" @@ -165,7 +172,7 @@ set_custom_quoting (struct quoting_options *o, } /* Return quoting options for STYLE, with no extra quoting. */ -static struct quoting_options +static struct quoting_options /* NOT PURE!! */ quoting_options_from_style (enum quoting_style style) { struct quoting_options o = { 0 }; diff --git a/lib/raise.c b/lib/raise.c index 88b8cb2ba..aee33e885 100644 --- a/lib/raise.c +++ b/lib/raise.c @@ -15,16 +15,65 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -/* written by Jim Meyering */ +/* written by Jim Meyering and Bruno Haible */ #include -#include +/* Specification. */ #include -#include + +#if HAVE_RAISE +/* Native Windows platform. */ + +# include + +# include "msvc-inval.h" + +# undef raise + +# if HAVE_MSVC_INVALID_PARAMETER_HANDLER +static inline int +raise_nothrow (int sig) +{ + int result; + + TRY_MSVC_INVAL + { + result = raise (sig); + } + CATCH_MSVC_INVAL + { + result = -1; + errno = EINVAL; + } + DONE_MSVC_INVAL; + + return result; +} +# else +# define raise_nothrow raise +# endif + +#else +/* An old Unix platform. */ + +# include + +# define rpl_raise raise + +#endif int -raise (int sig) +rpl_raise (int sig) { +#if GNULIB_defined_signal_blocking && GNULIB_defined_SIGPIPE + if (sig == SIGPIPE) + return _gl_raise_SIGPIPE (); +#endif + +#if HAVE_RAISE + return raise_nothrow (sig); +#else return kill (getpid (), sig); +#endif } diff --git a/lib/read.c b/lib/read.c index 21b90db67..1bae3893d 100644 --- a/lib/read.c +++ b/lib/read.c @@ -20,23 +20,48 @@ /* Specification. */ #include -/* Replace this function only if module 'nonblocking' is requested. */ -#if GNULIB_NONBLOCKING +#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ -# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +# include +# include -# include -# include +# define WIN32_LEAN_AND_MEAN /* avoid including junk */ +# include -# define WIN32_LEAN_AND_MEAN /* avoid including junk */ -# include +# include "msvc-inval.h" +# include "msvc-nothrow.h" + +# undef read + +# if HAVE_MSVC_INVALID_PARAMETER_HANDLER +static inline ssize_t +read_nothrow (int fd, void *buf, size_t count) +{ + ssize_t result; + + TRY_MSVC_INVAL + { + result = read (fd, buf, count); + } + CATCH_MSVC_INVAL + { + result = -1; + errno = EBADF; + } + DONE_MSVC_INVAL; + + return result; +} +# else +# define read_nothrow read +# endif ssize_t rpl_read (int fd, void *buf, size_t count) -#undef read { - ssize_t ret = read (fd, buf, count); + ssize_t ret = read_nothrow (fd, buf, count); +# if GNULIB_NONBLOCKING if (ret < 0 && GetLastError () == ERROR_NO_DATA) { @@ -52,8 +77,9 @@ rpl_read (int fd, void *buf, size_t count) errno = EAGAIN; } } +# endif + return ret; } -# endif #endif diff --git a/lib/readdir.c b/lib/readdir.c new file mode 100644 index 000000000..04858b008 --- /dev/null +++ b/lib/readdir.c @@ -0,0 +1,98 @@ +/* Read the next entry of a directory. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include + +#include +#include + +#include "dirent-private.h" + +struct dirent * +readdir (DIR *dirp) +{ + char type; + struct dirent *result; + + /* There is no need to add code to produce entries for "." and "..". + According to the POSIX:2008 section "4.12 Pathname Resolution" + + "." and ".." are syntactic entities. + POSIX also says: + "If entries for dot or dot-dot exist, one entry shall be returned + for dot and one entry shall be returned for dot-dot; otherwise, + they shall not be returned." */ + + switch (dirp->status) + { + case -2: + /* End of directory already reached. */ + return NULL; + case -1: + break; + case 0: + if (!FindNextFile (dirp->current, &dirp->entry)) + { + switch (GetLastError ()) + { + case ERROR_NO_MORE_FILES: + dirp->status = -2; + return NULL; + default: + errno = EIO; + return NULL; + } + } + break; + default: + errno = dirp->status; + return NULL; + } + + dirp->status = 0; + + if (dirp->entry.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) + type = DT_DIR; + else if (dirp->entry.dwFileAttributes & FILE_ATTRIBUTE_REPARSE_POINT) + type = DT_LNK; + else if ((dirp->entry.dwFileAttributes + & ~(FILE_ATTRIBUTE_READONLY + | FILE_ATTRIBUTE_HIDDEN + | FILE_ATTRIBUTE_SYSTEM + | FILE_ATTRIBUTE_ARCHIVE + | FILE_ATTRIBUTE_NORMAL + | FILE_ATTRIBUTE_TEMPORARY + | FILE_ATTRIBUTE_SPARSE_FILE + | FILE_ATTRIBUTE_COMPRESSED + | FILE_ATTRIBUTE_NOT_CONTENT_INDEXED + | FILE_ATTRIBUTE_ENCRYPTED)) == 0) + /* Devices like COM1, LPT1, NUL would also have the attributes 0x20 but + they cannot occur here. */ + type = DT_REG; + else + type = DT_UNKNOWN; + + /* Reuse the memory of dirp->entry for the result. */ + result = + (struct dirent *) + ((char *) dirp->entry.cFileName - offsetof (struct dirent, d_name[0])); + result->d_type = type; + + return result; +} diff --git a/lib/recv.c b/lib/recv.c index d99b7a40a..4755f6370 100644 --- a/lib/recv.c +++ b/lib/recv.c @@ -32,9 +32,18 @@ ssize_t rpl_recv (int fd, void *buf, size_t len, int flags) { SOCKET sock = FD_TO_SOCKET (fd); - int r = recv (sock, buf, len, flags); - if (r < 0) - set_winsock_errno (); - return r; + if (sock == INVALID_SOCKET) + { + errno = EBADF; + return -1; + } + else + { + int r = recv (sock, buf, len, flags); + if (r < 0) + set_winsock_errno (); + + return r; + } } diff --git a/lib/recvfrom.c b/lib/recvfrom.c index 5edd1d8b1..5ce2b1274 100644 --- a/lib/recvfrom.c +++ b/lib/recvfrom.c @@ -32,17 +32,27 @@ ssize_t rpl_recvfrom (int fd, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlen) { - int frombufsize = (from != NULL ? *fromlen : 0); SOCKET sock = FD_TO_SOCKET (fd); - int r = recvfrom (sock, buf, len, flags, from, fromlen); - if (r < 0) - set_winsock_errno (); - - /* Winsock recvfrom() only returns a valid 'from' when the socket is - connectionless. POSIX gives a valid 'from' for all types of sockets. */ - else if (from != NULL && *fromlen == frombufsize) - rpl_getpeername (fd, from, fromlen); - - return r; + if (sock == INVALID_SOCKET) + { + errno = EBADF; + return -1; + } + else + { + int frombufsize = (from != NULL ? *fromlen : 0); + int r = recvfrom (sock, buf, len, flags, from, fromlen); + + if (r < 0) + set_winsock_errno (); + + /* Winsock recvfrom() only returns a valid 'from' when the socket is + connectionless. POSIX gives a valid 'from' for all types of + sockets. */ + else if (from != NULL && *fromlen == frombufsize) + rpl_getpeername (fd, from, fromlen); + + return r; + } } diff --git a/lib/regex.h b/lib/regex.h index 27b222613..2a17ff38c 100644 --- a/lib/regex.h +++ b/lib/regex.h @@ -644,7 +644,7 @@ extern int re_exec (const char *); #ifndef _Restrict_arr_ # if ((199901L <= __STDC_VERSION__ \ || ((3 < __GNUC__ || (3 == __GNUC__ && 1 <= __GNUC_MINOR__)) \ - && !__STRICT_ANSI__)) \ + && !defined __STRICT_ANSI__)) \ && !defined __GNUG__) # define _Restrict_arr_ _Restrict_ # else diff --git a/lib/regex_internal.h b/lib/regex_internal.h index d7413b083..20cc83366 100644 --- a/lib/regex_internal.h +++ b/lib/regex_internal.h @@ -334,7 +334,7 @@ typedef struct Idx idx; /* for BACK_REF */ re_context_type ctx_type; /* for ANCHOR */ } opr; -#if __GNUC__ >= 2 && !__STRICT_ANSI__ +#if __GNUC__ >= 2 && !defined __STRICT_ANSI__ re_token_type_t type : 8; #else re_token_type_t type; diff --git a/lib/regexec.c b/lib/regexec.c index 5ad438f21..7776f9b47 100644 --- a/lib/regexec.c +++ b/lib/regexec.c @@ -3985,7 +3985,7 @@ check_node_accept_bytes (const re_dfa_t *dfa, Idx node_idx, # endif /* _LIBC */ { /* match with range expression? */ -#if __GNUC__ >= 2 && ! (__STDC_VERSION__ < 199901L && __STRICT_ANSI__) +#if __GNUC__ >= 2 && ! (__STDC_VERSION__ < 199901L && defined __STRICT_ANSI__) wchar_t cmp_buf[] = {L'\0', L'\0', wc, L'\0', L'\0', L'\0'}; #else wchar_t cmp_buf[] = {L'\0', L'\0', L'\0', L'\0', L'\0', L'\0'}; diff --git a/lib/relocatable.c b/lib/relocatable.c index fa7309844..68ceb71b8 100644 --- a/lib/relocatable.c +++ b/lib/relocatable.c @@ -85,6 +85,19 @@ # define FILE_SYSTEM_PREFIX_LEN(P) 0 #endif +/* Whether to enable the more costly support for relocatable libraries. + It allows libraries to be have been installed with a different original + prefix than the program. But it is quite costly, especially on Cygwin + platforms, see below. Therefore we enable it by default only on native + Win32 platforms. */ +#ifndef ENABLE_COSTLY_RELOCATABLE +# if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ +# define ENABLE_COSTLY_RELOCATABLE 1 +# else +# define ENABLE_COSTLY_RELOCATABLE 0 +# endif +#endif + /* Original installation prefix. */ static char *orig_prefix; static size_t orig_prefix_len; @@ -154,7 +167,7 @@ set_relocation_prefix (const char *orig_prefix_arg, const char *curr_prefix_arg) #endif } -#if !defined IN_LIBRARY || (defined PIC && defined INSTALLDIR) +#if !defined IN_LIBRARY || (defined PIC && defined INSTALLDIR && ENABLE_COSTLY_RELOCATABLE) /* Convenience function: Computes the current installation prefix, based on the original @@ -284,7 +297,7 @@ compute_curr_prefix (const char *orig_installprefix, #endif /* !IN_LIBRARY || PIC */ -#if defined PIC && defined INSTALLDIR +#if defined PIC && defined INSTALLDIR && ENABLE_COSTLY_RELOCATABLE /* Full pathname of shared library, or NULL. */ static char *shared_library_fullname; @@ -330,7 +343,9 @@ find_shared_library_fullname () #if (defined __linux__ && (__GLIBC__ >= 2 || defined __UCLIBC__)) || defined __CYGWIN__ /* Linux has /proc/self/maps. glibc 2 and uClibc have the getline() function. - Cygwin >= 1.5 has /proc/self/maps and the getline() function too. */ + Cygwin >= 1.5 has /proc/self/maps and the getline() function too. + But it is costly: ca. 0.3 ms on Linux, 3 ms on Cygwin 1.5, and 5 ms on + Cygwin 1.7. */ FILE *fp; /* Open the current process' maps file. It describes one VMA per line. */ @@ -403,7 +418,7 @@ get_shared_library_fullname () const char * relocate (const char *pathname) { -#if defined PIC && defined INSTALLDIR +#if defined PIC && defined INSTALLDIR && ENABLE_COSTLY_RELOCATABLE static int initialized; /* Initialization code for a shared library. */ diff --git a/lib/rewinddir.c b/lib/rewinddir.c new file mode 100644 index 000000000..bfb91084b --- /dev/null +++ b/lib/rewinddir.c @@ -0,0 +1,49 @@ +/* Restart reading the entries of a directory from the beginning. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include + +#include + +#include "dirent-private.h" + +void +rewinddir (DIR *dirp) +{ + /* Like in closedir(). */ + if (dirp->current != INVALID_HANDLE_VALUE) + FindClose (dirp->current); + + /* Like in opendir(). */ + dirp->status = -1; + dirp->current = FindFirstFile (dirp->dir_name_mask, &dirp->entry); + if (dirp->current == INVALID_HANDLE_VALUE) + { + switch (GetLastError ()) + { + case ERROR_FILE_NOT_FOUND: + dirp->status = -2; + break; + default: + /* Save the error code for the next readdir() call. */ + dirp->status = ENOENT; + break; + } + } +} diff --git a/lib/rint.c b/lib/rint.c new file mode 100644 index 000000000..7eefe7aab --- /dev/null +++ b/lib/rint.c @@ -0,0 +1,112 @@ +/* Round according to the current rounding mode. + Copyright (C) 2007, 2010-2011 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +#if ! defined USE_LONG_DOUBLE +# include +#endif + +/* Specification. */ +#include + +#include +#include + +#undef MIN + +#ifdef USE_LONG_DOUBLE +# define RINT rintl +# define DOUBLE long double +# define MANT_DIG LDBL_MANT_DIG +# define MIN LDBL_MIN +# define L_(literal) literal##L +#elif ! defined USE_FLOAT +# define RINT rint +# define DOUBLE double +# define MANT_DIG DBL_MANT_DIG +# define MIN DBL_MIN +# define L_(literal) literal +#else /* defined USE_FLOAT */ +# define RINT rintf +# define DOUBLE float +# define MANT_DIG FLT_MANT_DIG +# define MIN FLT_MIN +# define L_(literal) literal##f +#endif + +/* -0.0. See minus-zero.h. */ +#if defined __hpux || defined __sgi || defined __ICC +# define MINUS_ZERO (-MIN * MIN) +#else +# define MINUS_ZERO L_(-0.0) +#endif + +DOUBLE +RINT (DOUBLE x) +{ + /* 2^(MANT_DIG-1). */ + static const DOUBLE TWO_MANT_DIG = + /* Assume MANT_DIG <= 5 * 31. + Use the identity + n = floor(n/5) + floor((n+1)/5) + ... + floor((n+4)/5). */ + (DOUBLE) (1U << ((MANT_DIG - 1) / 5)) + * (DOUBLE) (1U << ((MANT_DIG - 1 + 1) / 5)) + * (DOUBLE) (1U << ((MANT_DIG - 1 + 2) / 5)) + * (DOUBLE) (1U << ((MANT_DIG - 1 + 3) / 5)) + * (DOUBLE) (1U << ((MANT_DIG - 1 + 4) / 5)); + + /* The use of 'volatile' guarantees that excess precision bits are dropped at + each addition step and before the following comparison at the caller's + site. It is necessary on x86 systems where double-floats are not IEEE + compliant by default, to avoid that the results become platform and + compiler option dependent. 'volatile' is a portable alternative to gcc's + -ffloat-store option. */ + volatile DOUBLE z = x; + + /* Consider the current rounding mode, cf. + . + This implementation supports only rounds-to-nearest. */ + if (FLT_ROUNDS != 1) + abort (); + + if (z > L_(0.0)) + { + /* Avoid rounding error for x = 0.5 - 2^(-MANT_DIG-1). */ + if (z < L_(0.5)) + z = L_(0.0); + /* Avoid rounding errors for values near 2^k, where k >= MANT_DIG-1. */ + else if (z < TWO_MANT_DIG) + { + /* Round to the next integer. */ + z += TWO_MANT_DIG; + z -= TWO_MANT_DIG; + } + } + else if (z < L_(0.0)) + { + /* Avoid rounding error for x = -(0.5 - 2^(-MANT_DIG-1)). */ + if (z > - L_(0.5)) + z = MINUS_ZERO; + /* Avoid rounding errors for values near -2^k, where k >= MANT_DIG-1. */ + else if (z > -TWO_MANT_DIG) + { + /* Round to the next integer. */ + z -= TWO_MANT_DIG; + z += TWO_MANT_DIG; + } + } + return z; +} diff --git a/lib/rintf.c b/lib/rintf.c new file mode 100644 index 000000000..948b67953 --- /dev/null +++ b/lib/rintf.c @@ -0,0 +1,19 @@ +/* Round according to the current rounding mode. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +#define USE_FLOAT +#include "rint.c" diff --git a/lib/rintl.c b/lib/rintl.c new file mode 100644 index 000000000..d26935ef8 --- /dev/null +++ b/lib/rintl.c @@ -0,0 +1,36 @@ +/* Round according to the current rounding mode. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +#include + +#if HAVE_SAME_LONG_DOUBLE_AS_DOUBLE + +/* Specification. */ +# include + +long double +rintl (long double x) +{ + return rint (x); +} + +#else + +# define USE_LONG_DOUBLE +# include "rint.c" + +#endif diff --git a/lib/round.c b/lib/round.c index a1dbead44..a6c778e7a 100644 --- a/lib/round.c +++ b/lib/round.c @@ -18,7 +18,9 @@ /* Written by Ben Pfaff , 2007. Based heavily on code by Bruno Haible. */ -#include +#if ! defined USE_LONG_DOUBLE +# include +#endif /* Specification. */ #include diff --git a/lib/roundl.c b/lib/roundl.c index 28f3f6f5c..9cf81db4c 100644 --- a/lib/roundl.c +++ b/lib/roundl.c @@ -15,5 +15,22 @@ with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -#define USE_LONG_DOUBLE -#include "round.c" +#include + +#if HAVE_SAME_LONG_DOUBLE_AS_DOUBLE + +/* Specification. */ +# include + +long double +roundl (long double x) +{ + return round (x); +} + +#else + +# define USE_LONG_DOUBLE +# include "round.c" + +#endif diff --git a/lib/sched.in.h b/lib/sched.in.h index 10405d0d1..fc2e1710f 100644 --- a/lib/sched.in.h +++ b/lib/sched.in.h @@ -29,6 +29,12 @@ #ifndef _@GUARD_PREFIX@_SCHED_H #define _@GUARD_PREFIX@_SCHED_H +/* Get pid_t. + This is needed on glibc 2.11 (see + glibc bug ) + and MacOS X 10.5. */ +#include + #if !@HAVE_STRUCT_SCHED_PARAM@ # if !GNULIB_defined_struct_sched_param diff --git a/lib/select.c b/lib/select.c index 042ab22b5..aee0ac2cd 100644 --- a/lib/select.c +++ b/lib/select.c @@ -27,7 +27,6 @@ /* Native Win32. */ #include -#include #include #include @@ -38,6 +37,8 @@ #include #include +#include "msvc-nothrow.h" + struct bitset { unsigned char in[FD_SETSIZE / CHAR_BIT]; unsigned char out[FD_SETSIZE / CHAR_BIT]; diff --git a/lib/send.c b/lib/send.c index d8a876ec3..cd2148290 100644 --- a/lib/send.c +++ b/lib/send.c @@ -32,9 +32,18 @@ ssize_t rpl_send (int fd, const void *buf, size_t len, int flags) { SOCKET sock = FD_TO_SOCKET (fd); - int r = send (sock, buf, len, flags); - if (r < 0) - set_winsock_errno (); - return r; + if (sock == INVALID_SOCKET) + { + errno = EBADF; + return -1; + } + else + { + int r = send (sock, buf, len, flags); + if (r < 0) + set_winsock_errno (); + + return r; + } } diff --git a/lib/sendto.c b/lib/sendto.c index e301626df..95efab888 100644 --- a/lib/sendto.c +++ b/lib/sendto.c @@ -33,9 +33,18 @@ rpl_sendto (int fd, const void *buf, size_t len, int flags, const struct sockaddr *to, socklen_t tolen) { SOCKET sock = FD_TO_SOCKET (fd); - int r = sendto (sock, buf, len, flags, to, tolen); - if (r < 0) - set_winsock_errno (); - return r; + if (sock == INVALID_SOCKET) + { + errno = EBADF; + return -1; + } + else + { + int r = sendto (sock, buf, len, flags, to, tolen); + if (r < 0) + set_winsock_errno (); + + return r; + } } diff --git a/lib/set-mode-acl.c b/lib/set-mode-acl.c index 5ba86a5bc..d0fc6f876 100644 --- a/lib/set-mode-acl.c +++ b/lib/set-mode-acl.c @@ -57,7 +57,7 @@ qset_acl (char const *name, int desc, mode_t mode) # if HAVE_ACL_GET_FILE /* POSIX 1003.1e draft 17 (abandoned) specific version. */ /* Linux, FreeBSD, MacOS X, IRIX, Tru64 */ -# if MODE_INSIDE_ACL +# if !HAVE_ACL_TYPE_EXTENDED /* Linux, FreeBSD, IRIX, Tru64 */ /* We must also have acl_from_text and acl_delete_def_file. @@ -132,21 +132,17 @@ qset_acl (char const *name, int desc, mode_t mode) if (S_ISDIR (mode) && acl_delete_def_file (name)) return -1; - if (mode & (S_ISUID | S_ISGID | S_ISVTX)) + if (!MODE_INSIDE_ACL || (mode & (S_ISUID | S_ISGID | S_ISVTX))) { - /* We did not call chmod so far, so the special bits have not yet - been set. */ + /* We did not call chmod so far, and either the mode and the ACL are + separate or special bits are to be set which don't fit into ACLs. */ return chmod_or_fchmod (name, desc, mode); } return 0; -# else /* !MODE_INSIDE_ACL */ +# else /* HAVE_ACL_TYPE_EXTENDED */ /* MacOS X */ -# if !HAVE_ACL_TYPE_EXTENDED -# error Must have ACL_TYPE_EXTENDED -# endif - /* On MacOS X, acl_get_file (name, ACL_TYPE_ACCESS) and acl_get_file (name, ACL_TYPE_DEFAULT) always return NULL / EINVAL. You have to use @@ -203,54 +199,9 @@ qset_acl (char const *name, int desc, mode_t mode) # elif HAVE_FACL && defined GETACLCNT /* Solaris, Cygwin, not HP-UX */ -# if defined ACL_NO_TRIVIAL - /* Solaris 10 (newer version), which has additional API declared in - (acl_t) and implemented in libsec (acl_set, acl_trivial, - acl_fromtext, ...). */ + int done_setacl = 0; - acl_t *aclp; - char acl_text[] = "user::---,group::---,mask:---,other:---"; - int ret; - int saved_errno; - - if (mode & S_IRUSR) acl_text[ 6] = 'r'; - if (mode & S_IWUSR) acl_text[ 7] = 'w'; - if (mode & S_IXUSR) acl_text[ 8] = 'x'; - if (mode & S_IRGRP) acl_text[17] = acl_text[26] = 'r'; - if (mode & S_IWGRP) acl_text[18] = acl_text[27] = 'w'; - if (mode & S_IXGRP) acl_text[19] = acl_text[28] = 'x'; - if (mode & S_IROTH) acl_text[36] = 'r'; - if (mode & S_IWOTH) acl_text[37] = 'w'; - if (mode & S_IXOTH) acl_text[38] = 'x'; - - if (acl_fromtext (acl_text, &aclp) != 0) - { - errno = ENOMEM; - return -1; - } - - ret = (desc < 0 ? acl_set (name, aclp) : facl_set (desc, aclp)); - saved_errno = errno; - acl_free (aclp); - if (ret < 0) - { - if (saved_errno == ENOSYS || saved_errno == EOPNOTSUPP) - return chmod_or_fchmod (name, desc, mode); - errno = saved_errno; - return -1; - } - - if (mode & (S_ISUID | S_ISGID | S_ISVTX)) - { - /* We did not call chmod so far, so the special bits have not yet - been set. */ - return chmod_or_fchmod (name, desc, mode); - } - return 0; - -# else /* Solaris, Cygwin, general case */ - -# ifdef ACE_GETACL +# ifdef ACE_GETACL /* Solaris also has a different variant of ACLs, used in ZFS and NFSv4 file systems (whereas the other ones are used in UFS file systems). */ @@ -292,7 +243,7 @@ qset_acl (char const *name, int desc, mode_t mode) convention = 0; for (i = 0; i < count; i++) - if (entries[i].a_flags & (ACE_OWNER | ACE_GROUP | ACE_OTHER)) + if (entries[i].a_flags & (OLD_ACE_OWNER | OLD_ACE_GROUP | OLD_ACE_OTHER)) { convention = 1; break; @@ -308,90 +259,145 @@ qset_acl (char const *name, int desc, mode_t mode) if (convention >= 0) { - ace_t entries[3]; + ace_t entries[6]; + int count; int ret; if (convention) { /* Running on Solaris 10. */ - entries[0].a_type = ALLOW; - entries[0].a_flags = ACE_OWNER; + entries[0].a_type = OLD_ALLOW; + entries[0].a_flags = OLD_ACE_OWNER; entries[0].a_who = 0; /* irrelevant */ entries[0].a_access_mask = (mode >> 6) & 7; - entries[1].a_type = ALLOW; - entries[1].a_flags = ACE_GROUP; + entries[1].a_type = OLD_ALLOW; + entries[1].a_flags = OLD_ACE_GROUP; entries[1].a_who = 0; /* irrelevant */ entries[1].a_access_mask = (mode >> 3) & 7; - entries[2].a_type = ALLOW; - entries[2].a_flags = ACE_OTHER; + entries[2].a_type = OLD_ALLOW; + entries[2].a_flags = OLD_ACE_OTHER; entries[2].a_who = 0; entries[2].a_access_mask = mode & 7; + count = 3; } else { - /* Running on Solaris 10 (newer version) or Solaris 11. */ - entries[0].a_type = ACE_ACCESS_ALLOWED_ACE_TYPE; + /* Running on Solaris 10 (newer version) or Solaris 11. + The details here were found through "/bin/ls -lvd somefiles". */ + entries[0].a_type = NEW_ACE_ACCESS_DENIED_ACE_TYPE; entries[0].a_flags = NEW_ACE_OWNER; entries[0].a_who = 0; /* irrelevant */ - entries[0].a_access_mask = - (mode & 0400 ? NEW_ACE_READ_DATA : 0) - | (mode & 0200 ? NEW_ACE_WRITE_DATA : 0) - | (mode & 0100 ? NEW_ACE_EXECUTE : 0); - entries[1].a_type = ACE_ACCESS_ALLOWED_ACE_TYPE; - entries[1].a_flags = NEW_ACE_GROUP | NEW_ACE_IDENTIFIER_GROUP; + entries[0].a_access_mask = 0; + entries[1].a_type = NEW_ACE_ACCESS_ALLOWED_ACE_TYPE; + entries[1].a_flags = NEW_ACE_OWNER; entries[1].a_who = 0; /* irrelevant */ - entries[1].a_access_mask = - (mode & 0040 ? NEW_ACE_READ_DATA : 0) - | (mode & 0020 ? NEW_ACE_WRITE_DATA : 0) - | (mode & 0010 ? NEW_ACE_EXECUTE : 0); - entries[2].a_type = ACE_ACCESS_ALLOWED_ACE_TYPE; - entries[2].a_flags = ACE_EVERYONE; - entries[2].a_who = 0; - entries[2].a_access_mask = - (mode & 0004 ? NEW_ACE_READ_DATA : 0) - | (mode & 0002 ? NEW_ACE_WRITE_DATA : 0) - | (mode & 0001 ? NEW_ACE_EXECUTE : 0); + entries[1].a_access_mask = NEW_ACE_WRITE_NAMED_ATTRS + | NEW_ACE_WRITE_ATTRIBUTES + | NEW_ACE_WRITE_ACL + | NEW_ACE_WRITE_OWNER; + if (mode & 0400) + entries[1].a_access_mask |= NEW_ACE_READ_DATA; + else + entries[0].a_access_mask |= NEW_ACE_READ_DATA; + if (mode & 0200) + entries[1].a_access_mask |= NEW_ACE_WRITE_DATA | NEW_ACE_APPEND_DATA; + else + entries[0].a_access_mask |= NEW_ACE_WRITE_DATA | NEW_ACE_APPEND_DATA; + if (mode & 0100) + entries[1].a_access_mask |= NEW_ACE_EXECUTE; + else + entries[0].a_access_mask |= NEW_ACE_EXECUTE; + entries[2].a_type = NEW_ACE_ACCESS_DENIED_ACE_TYPE; + entries[2].a_flags = NEW_ACE_GROUP | NEW_ACE_IDENTIFIER_GROUP; + entries[2].a_who = 0; /* irrelevant */ + entries[2].a_access_mask = 0; + entries[3].a_type = NEW_ACE_ACCESS_ALLOWED_ACE_TYPE; + entries[3].a_flags = NEW_ACE_GROUP | NEW_ACE_IDENTIFIER_GROUP; + entries[3].a_who = 0; /* irrelevant */ + entries[3].a_access_mask = 0; + if (mode & 0040) + entries[3].a_access_mask |= NEW_ACE_READ_DATA; + else + entries[2].a_access_mask |= NEW_ACE_READ_DATA; + if (mode & 0020) + entries[3].a_access_mask |= NEW_ACE_WRITE_DATA | NEW_ACE_APPEND_DATA; + else + entries[2].a_access_mask |= NEW_ACE_WRITE_DATA | NEW_ACE_APPEND_DATA; + if (mode & 0010) + entries[3].a_access_mask |= NEW_ACE_EXECUTE; + else + entries[2].a_access_mask |= NEW_ACE_EXECUTE; + entries[4].a_type = NEW_ACE_ACCESS_DENIED_ACE_TYPE; + entries[4].a_flags = NEW_ACE_EVERYONE; + entries[4].a_who = 0; + entries[4].a_access_mask = NEW_ACE_WRITE_NAMED_ATTRS + | NEW_ACE_WRITE_ATTRIBUTES + | NEW_ACE_WRITE_ACL + | NEW_ACE_WRITE_OWNER; + entries[5].a_type = NEW_ACE_ACCESS_ALLOWED_ACE_TYPE; + entries[5].a_flags = NEW_ACE_EVERYONE; + entries[5].a_who = 0; + entries[5].a_access_mask = NEW_ACE_READ_NAMED_ATTRS + | NEW_ACE_READ_ATTRIBUTES + | NEW_ACE_READ_ACL + | NEW_ACE_SYNCHRONIZE; + if (mode & 0004) + entries[5].a_access_mask |= NEW_ACE_READ_DATA; + else + entries[4].a_access_mask |= NEW_ACE_READ_DATA; + if (mode & 0002) + entries[5].a_access_mask |= NEW_ACE_WRITE_DATA | NEW_ACE_APPEND_DATA; + else + entries[4].a_access_mask |= NEW_ACE_WRITE_DATA | NEW_ACE_APPEND_DATA; + if (mode & 0001) + entries[5].a_access_mask |= NEW_ACE_EXECUTE; + else + entries[4].a_access_mask |= NEW_ACE_EXECUTE; + count = 6; } if (desc != -1) - ret = facl (desc, ACE_SETACL, - sizeof (entries) / sizeof (ace_t), entries); + ret = facl (desc, ACE_SETACL, count, entries); else - ret = acl (name, ACE_SETACL, - sizeof (entries) / sizeof (ace_t), entries); + ret = acl (name, ACE_SETACL, count, entries); if (ret < 0 && errno != EINVAL && errno != ENOTSUP) { if (errno == ENOSYS) return chmod_or_fchmod (name, desc, mode); return -1; } + if (ret == 0) + done_setacl = 1; } -# endif +# endif - { - aclent_t entries[3]; - int ret; - - entries[0].a_type = USER_OBJ; - entries[0].a_id = 0; /* irrelevant */ - entries[0].a_perm = (mode >> 6) & 7; - entries[1].a_type = GROUP_OBJ; - entries[1].a_id = 0; /* irrelevant */ - entries[1].a_perm = (mode >> 3) & 7; - entries[2].a_type = OTHER_OBJ; - entries[2].a_id = 0; - entries[2].a_perm = mode & 7; + if (!done_setacl) + { + aclent_t entries[3]; + int ret; - if (desc != -1) - ret = facl (desc, SETACL, sizeof (entries) / sizeof (aclent_t), entries); - else - ret = acl (name, SETACL, sizeof (entries) / sizeof (aclent_t), entries); - if (ret < 0) - { - if (errno == ENOSYS || errno == EOPNOTSUPP) - return chmod_or_fchmod (name, desc, mode); - return -1; - } - } + entries[0].a_type = USER_OBJ; + entries[0].a_id = 0; /* irrelevant */ + entries[0].a_perm = (mode >> 6) & 7; + entries[1].a_type = GROUP_OBJ; + entries[1].a_id = 0; /* irrelevant */ + entries[1].a_perm = (mode >> 3) & 7; + entries[2].a_type = OTHER_OBJ; + entries[2].a_id = 0; + entries[2].a_perm = mode & 7; + + if (desc != -1) + ret = facl (desc, SETACL, + sizeof (entries) / sizeof (aclent_t), entries); + else + ret = acl (name, SETACL, + sizeof (entries) / sizeof (aclent_t), entries); + if (ret < 0) + { + if (errno == ENOSYS || errno == EOPNOTSUPP) + return chmod_or_fchmod (name, desc, mode); + return -1; + } + } if (!MODE_INSIDE_ACL || (mode & (S_ISUID | S_ISGID | S_ISVTX))) { @@ -401,8 +407,6 @@ qset_acl (char const *name, int desc, mode_t mode) } return 0; -# endif - # elif HAVE_GETACL /* HP-UX */ struct stat statbuf; diff --git a/lib/setsockopt.c b/lib/setsockopt.c index a31a10ee9..6a7ca5e32 100644 --- a/lib/setsockopt.c +++ b/lib/setsockopt.c @@ -34,23 +34,32 @@ int rpl_setsockopt (int fd, int level, int optname, const void *optval, socklen_t optlen) { - int r; SOCKET sock = FD_TO_SOCKET (fd); + int r; - if (level == SOL_SOCKET && (optname == SO_RCVTIMEO || optname == SO_SNDTIMEO)) + if (sock == INVALID_SOCKET) { - const struct timeval *tv = optval; - int milliseconds = tv->tv_sec * 1000 + tv->tv_usec / 1000; - optval = &milliseconds; - r = setsockopt (sock, level, optname, optval, sizeof (int)); + errno = EBADF; + return -1; } else { - r = setsockopt (sock, level, optname, optval, optlen); - } + if (level == SOL_SOCKET + && (optname == SO_RCVTIMEO || optname == SO_SNDTIMEO)) + { + const struct timeval *tv = optval; + int milliseconds = tv->tv_sec * 1000 + tv->tv_usec / 1000; + optval = &milliseconds; + r = setsockopt (sock, level, optname, optval, sizeof (int)); + } + else + { + r = setsockopt (sock, level, optname, optval, optlen); + } - if (r < 0) - set_winsock_errno (); + if (r < 0) + set_winsock_errno (); - return r; + return r; + } } diff --git a/lib/sha1.c b/lib/sha1.c index 7ec950e94..828810bb8 100644 --- a/lib/sha1.c +++ b/lib/sha1.c @@ -26,7 +26,8 @@ #include "sha1.h" -#include +#include +#include #include #include @@ -241,8 +242,7 @@ sha1_process_bytes (const void *buffer, size_t len, struct sha1_ctx *ctx) if (len >= 64) { #if !_STRING_ARCH_unaligned -# define alignof(type) offsetof (struct { char c; type x; }, x) -# define UNALIGNED_P(p) (((size_t) p) % alignof (uint32_t) != 0) +# define UNALIGNED_P(p) ((uintptr_t) (p) % alignof (uint32_t) != 0) if (UNALIGNED_P (buffer)) while (len > 64) { diff --git a/lib/sha256.c b/lib/sha256.c index c12554224..aa529c6b6 100644 --- a/lib/sha256.c +++ b/lib/sha256.c @@ -24,7 +24,8 @@ #include "sha256.h" -#include +#include +#include #include #include @@ -373,8 +374,7 @@ sha256_process_bytes (const void *buffer, size_t len, struct sha256_ctx *ctx) if (len >= 64) { #if !_STRING_ARCH_unaligned -# define alignof(type) offsetof (struct { char c; type x; }, x) -# define UNALIGNED_P(p) (((size_t) p) % alignof (uint32_t) != 0) +# define UNALIGNED_P(p) ((uintptr_t) (p) % alignof (uint32_t) != 0) if (UNALIGNED_P (buffer)) while (len > 64) { diff --git a/lib/sha512.c b/lib/sha512.c index c0bed9575..1c5117fa1 100644 --- a/lib/sha512.c +++ b/lib/sha512.c @@ -24,7 +24,8 @@ #include "sha512.h" -#include +#include +#include #include #include @@ -381,8 +382,7 @@ sha512_process_bytes (const void *buffer, size_t len, struct sha512_ctx *ctx) if (len >= 128) { #if !_STRING_ARCH_unaligned -# define alignof(type) offsetof (struct { char c; type x; }, x) -# define UNALIGNED_P(p) (((size_t) p) % alignof (u64) != 0) +# define UNALIGNED_P(p) ((uintptr_t) (p) % alignof (u64) != 0) if (UNALIGNED_P (buffer)) while (len > 128) { diff --git a/lib/shutdown.c b/lib/shutdown.c index 26c49323a..1c302a24f 100644 --- a/lib/shutdown.c +++ b/lib/shutdown.c @@ -32,9 +32,18 @@ int rpl_shutdown (int fd, int how) { SOCKET sock = FD_TO_SOCKET (fd); - int r = shutdown (sock, how); - if (r < 0) - set_winsock_errno (); - return r; + if (sock == INVALID_SOCKET) + { + errno = EBADF; + return -1; + } + else + { + int r = shutdown (sock, how); + if (r < 0) + set_winsock_errno (); + + return r; + } } diff --git a/lib/signal.in.h b/lib/signal.in.h index 93787f753..e18e0b298 100644 --- a/lib/signal.in.h +++ b/lib/signal.in.h @@ -152,9 +152,36 @@ _GL_WARN_ON_USE (pthread_sigmask, "pthread_sigmask is not portable - " #endif +#if @GNULIB_RAISE@ +# if @REPLACE_RAISE@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef raise +# define raise rpl_raise +# endif +_GL_FUNCDECL_RPL (raise, int, (int sig)); +_GL_CXXALIAS_RPL (raise, int, (int sig)); +# else +# if !@HAVE_RAISE@ +_GL_FUNCDECL_SYS (raise, int, (int sig)); +# endif +_GL_CXXALIAS_SYS (raise, int, (int sig)); +# endif +_GL_CXXALIASWARN (raise); +#elif defined GNULIB_POSIXCHECK +# undef raise +/* Assume raise is always declared. */ +_GL_WARN_ON_USE (raise, "raise can crash on native Windows - " + "use gnulib module raise for portability"); +#endif + + #if @GNULIB_SIGPROCMASK@ # if !@HAVE_POSIX_SIGNALBLOCKING@ +# ifndef GNULIB_defined_signal_blocking +# define GNULIB_defined_signal_blocking 1 +# endif + /* Maximum signal number + 1. */ # ifndef NSIG # define NSIG 32 @@ -280,18 +307,10 @@ _GL_CXXALIAS_SYS (signal, _gl_function_taking_int_returning_void_t, # endif _GL_CXXALIASWARN (signal); -/* Raise signal SIG. */ # if !@HAVE_POSIX_SIGNALBLOCKING@ && GNULIB_defined_SIGPIPE -# if !(defined __cplusplus && defined GNULIB_NAMESPACE) -# undef raise -# define raise rpl_raise -# endif -_GL_FUNCDECL_RPL (raise, int, (int sig)); -_GL_CXXALIAS_RPL (raise, int, (int sig)); -# else -_GL_CXXALIAS_SYS (raise, int, (int sig)); +/* Raise signal SIGPIPE. */ +_GL_EXTERN_C int _gl_raise_SIGPIPE (void); # endif -_GL_CXXALIASWARN (raise); #elif defined GNULIB_POSIXCHECK # undef sigaddset diff --git a/lib/sigprocmask.c b/lib/sigprocmask.c index 6780a37b1..d69618935 100644 --- a/lib/sigprocmask.c +++ b/lib/sigprocmask.c @@ -24,6 +24,10 @@ #include #include +#if HAVE_MSVC_INVALID_PARAMETER_HANDLER +# include "msvc-inval.h" +#endif + /* We assume that a platform without POSIX signal blocking functions also does not have the POSIX sigaction() function, only the signal() function. We also assume signal() has SysV semantics, @@ -58,6 +62,28 @@ typedef void (*handler_t) (int); +#if HAVE_MSVC_INVALID_PARAMETER_HANDLER +static inline handler_t +signal_nothrow (int sig, handler_t handler) +{ + handler_t result; + + TRY_MSVC_INVAL + { + result = signal (sig, handler); + } + CATCH_MSVC_INVAL + { + result = SIG_ERR; + errno = EINVAL; + } + DONE_MSVC_INVAL; + + return result; +} +# define signal signal_nothrow +#endif + /* Handling of gnulib defined signals. */ #if GNULIB_defined_SIGPIPE @@ -80,6 +106,7 @@ ext_signal (int sig, handler_t handler) return signal (sig, handler); } } +# undef signal # define signal ext_signal #endif @@ -303,27 +330,20 @@ rpl_signal (int sig, handler_t handler) } #if GNULIB_defined_SIGPIPE -/* Raise the signal SIG. */ +/* Raise the signal SIGPIPE. */ int -rpl_raise (int sig) -# undef raise +_gl_raise_SIGPIPE (void) { - switch (sig) + if (blocked_set & (1U << SIGPIPE)) + pending_array[SIGPIPE] = 1; + else { - case SIGPIPE: - if (blocked_set & (1U << sig)) - pending_array[sig] = 1; - else - { - handler_t handler = SIGPIPE_handler; - if (handler == SIG_DFL) - exit (128 + SIGPIPE); - else if (handler != SIG_IGN) - (*handler) (sig); - } - return 0; - default: /* System defined signal */ - return raise (sig); + handler_t handler = SIGPIPE_handler; + if (handler == SIG_DFL) + exit (128 + SIGPIPE); + else if (handler != SIG_IGN) + (*handler) (SIGPIPE); } + return 0; } #endif diff --git a/lib/sinf.c b/lib/sinf.c new file mode 100644 index 000000000..e6a1d557f --- /dev/null +++ b/lib/sinf.c @@ -0,0 +1,26 @@ +/* Sine function. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include + +float +sinf (float x) +{ + return (float) sin ((double) x); +} diff --git a/lib/sinhf.c b/lib/sinhf.c new file mode 100644 index 000000000..e44f30b99 --- /dev/null +++ b/lib/sinhf.c @@ -0,0 +1,26 @@ +/* Hyperbolic sine function. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include + +float +sinhf (float x) +{ + return (float) sinh ((double) x); +} diff --git a/lib/sinl.c b/lib/sinl.c index b0106b4fa..3949e49e9 100644 --- a/lib/sinl.c +++ b/lib/sinl.c @@ -18,6 +18,16 @@ /* Specification. */ #include +#if HAVE_SAME_LONG_DOUBLE_AS_DOUBLE + +long double +sinl (long double x) +{ + return sin (x); +} + +#else + /* sinl(x) * Return sine function of x. * @@ -49,7 +59,7 @@ * TRIG(x) returns trig(x) nearly rounded */ -#include "trigl.h" +# include "trigl.h" long double sinl (long double x) @@ -88,6 +98,8 @@ sinl (long double x) } } +#endif + #if 0 int main (void) diff --git a/lib/sockets.c b/lib/sockets.c index 53cb66e46..39939b0a3 100644 --- a/lib/sockets.c +++ b/lib/sockets.c @@ -28,6 +28,7 @@ # include # include "fd-hook.h" +# include "msvc-nothrow.h" /* Get set_winsock_errno, FD_TO_SOCKET etc. */ # include "w32sock.h" diff --git a/lib/sockets.h b/lib/sockets.h index 93ae5d280..68bf73126 100644 --- a/lib/sockets.h +++ b/lib/sockets.h @@ -26,8 +26,17 @@ #define SOCKETS_2_1 0x201 #define SOCKETS_2_2 0x202 -int gl_sockets_startup (int version); -int gl_sockets_cleanup (void); +int gl_sockets_startup (int version) +#if !WINDOWS_SOCKETS + _GL_ATTRIBUTE_CONST +#endif + ; + +int gl_sockets_cleanup (void) +#if !WINDOWS_SOCKETS + _GL_ATTRIBUTE_CONST +#endif + ; /* This function is useful it you create a socket using gnulib's Winsock wrappers but needs to pass on the socket handle to some @@ -36,6 +45,8 @@ int gl_sockets_cleanup (void); #include +#include "msvc-nothrow.h" + static inline SOCKET gl_fd_to_handle (int fd) { diff --git a/lib/spawn.in.h b/lib/spawn.in.h index 3c31fd0a5..5cc9acf54 100644 --- a/lib/spawn.in.h +++ b/lib/spawn.in.h @@ -63,7 +63,7 @@ #ifndef _Restrict_arr_ # if ((199901L <= __STDC_VERSION__ \ || ((3 < __GNUC__ || (3 == __GNUC__ && 1 <= __GNUC_MINOR__)) \ - && !__STRICT_ANSI__)) \ + && !defined __STRICT_ANSI__)) \ && !defined __GNUG__) # define _Restrict_arr_ _Restrict_ # else diff --git a/lib/sqrtf.c b/lib/sqrtf.c new file mode 100644 index 000000000..02ec7c276 --- /dev/null +++ b/lib/sqrtf.c @@ -0,0 +1,26 @@ +/* Square root. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include + +float +sqrtf (float x) +{ + return (float) sqrt ((double) x); +} diff --git a/lib/sqrtl.c b/lib/sqrtl.c index 299e70db6..6795d667d 100644 --- a/lib/sqrtl.c +++ b/lib/sqrtl.c @@ -23,7 +23,17 @@ /* Specification. */ #include -#include +#if HAVE_SAME_LONG_DOUBLE_AS_DOUBLE + +long double +sqrtl (long double x) +{ + return sqrt (x); +} + +#else + +# include /* A simple Newton-Raphson method. */ long double @@ -57,3 +67,5 @@ sqrtl (long double x) return y; } + +#endif diff --git a/lib/stat.c b/lib/stat.c index 6c354d1d3..1397aa932 100644 --- a/lib/stat.c +++ b/lib/stat.c @@ -34,7 +34,10 @@ orig_stat (const char *filename, struct stat *buf) } /* Specification. */ -#include +/* Write "sys/stat.h" here, not , otherwise OSF/1 5.1 DTK cc + eliminates this include because of the preliminary #include + above. */ +#include "sys/stat.h" #include #include @@ -43,6 +46,15 @@ orig_stat (const char *filename, struct stat *buf) #include "dosname.h" #include "verify.h" +#if REPLACE_FUNC_STAT_DIR +# include "pathmax.h" + /* The only known systems where REPLACE_FUNC_STAT_DIR is needed also + have a constant PATH_MAX. */ +# ifndef PATH_MAX +# error "Please port this replacement to your platform" +# endif +#endif + /* Store information about NAME into ST. Work around bugs with trailing slashes. Mingw has other bugs (such as st_ino always being 0 on success) which this wrapper does not work around. But @@ -67,11 +79,6 @@ rpl_stat (char const *name, struct stat *st) } #endif /* REPLACE_FUNC_STAT_FILE */ #if REPLACE_FUNC_STAT_DIR - /* The only known systems where REPLACE_FUNC_STAT_DIR is needed also - have a constant PATH_MAX. */ -# ifndef PATH_MAX -# error "Please port this replacement to your platform" -# endif if (result == -1 && errno == ENOENT) { diff --git a/lib/stdalign.in.h b/lib/stdalign.in.h new file mode 100644 index 000000000..37446a771 --- /dev/null +++ b/lib/stdalign.in.h @@ -0,0 +1,89 @@ +/* A substitute for ISO C 1x . + + Copyright 2011 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +/* Written by Paul Eggert and Bruno Haible. */ + +#ifndef _GL_STDALIGN_H +#define _GL_STDALIGN_H + +/* ISO C1X for platforms that lack it. + + References: + ISO C1X + sections 6.5.3.4, 6.7.5, 7.15. + C++0X + section 18.10. */ + +/* alignof (TYPE), also known as _Alignof (TYPE), yields the alignment + requirement of a structure member (i.e., slot or field) that is of + type TYPE, as an integer constant expression. + + This differs from GCC's __alignof__ operator, which can yield a + better-performing alignment for an object of that type. For + example, on x86 with GCC, __alignof__ (double) and __alignof__ + (long long) are 8, whereas alignof (double) and alignof (long long) + are 4 unless the option '-malign-double' is used. + + The result cannot be used as a value for an 'enum' constant, if you + want to be portable to HP-UX 10.20 cc and AIX 3.2.5 xlc. */ +#include +#if defined __cplusplus + template struct __alignof_helper { char __a; __t __b; }; +# define _Alignof(type) offsetof (__alignof_helper, __b) +#else +# define _Alignof(type) offsetof (struct { char __a; type __b; }, __b) +#endif +#define alignof _Alignof +#define __alignof_is_defined 1 + +/* alignas (A), also known as _Alignas (A), aligns a variable or type + to the alignment A, where A is an integer constant expression. For + example: + + int alignas (8) foo; + struct s { int a; int alignas (8) bar; }; + + aligns the address of FOO and the offset of BAR to be multiples of 8. + + A should be a power of two that is at least the type's alignment + and at most the implementation's alignment limit. This limit is + 2**28 on typical GNUish hosts, and 2**13 on MSVC. To be portable + to MSVC through at least version 10.0, A should be an integer + constant, as MSVC does not support expressions such as 1 << 3. + To be portable to Sun C 5.11, do not align auto variables to + anything stricter than their default alignment. + + The following draft C1X requirements are not supported here: + + - If A is zero, alignas has no effect. + - alignas can be used multiple times; the strictest one wins. + - alignas (TYPE) is equivalent to alignas (alignof (TYPE)). + + */ + +#if __GNUC__ || __IBMC__ || __IBMCPP__ || 0x5110 <= __SUNPRO_C +# define _Alignas(a) __attribute__ ((__aligned__ (a))) +#elif 1300 <= _MSC_VER +# define _Alignas(a) __declspec (align (a)) +#endif +#ifdef _Alignas +# define alignas _Alignas +# define __alignas_is_defined 1 +#endif + +#endif /* _GL_STDALIGN_H */ diff --git a/lib/stdio-read.c b/lib/stdio-read.c index d7901dd67..86b1d616d 100644 --- a/lib/stdio-read.c +++ b/lib/stdio-read.c @@ -37,6 +37,8 @@ # define WIN32_LEAN_AND_MEAN /* avoid including junk */ # include +# include "msvc-nothrow.h" + # define CALL_WITH_ERRNO_FIX(RETTYPE, EXPRESSION, FAILED) \ if (ferror (stream)) \ return (EXPRESSION); \ diff --git a/lib/stdio-write.c b/lib/stdio-write.c index a586c3512..02aed456f 100644 --- a/lib/stdio-write.c +++ b/lib/stdio-write.c @@ -39,6 +39,8 @@ # define WIN32_LEAN_AND_MEAN /* avoid including junk */ # include +# include "msvc-nothrow.h" + # if GNULIB_NONBLOCKING # define CLEAR_ERRNO \ errno = 0; diff --git a/lib/stdio.in.h b/lib/stdio.in.h index edf521a8b..ebbf80117 100644 --- a/lib/stdio.in.h +++ b/lib/stdio.in.h @@ -170,6 +170,26 @@ _GL_WARN_ON_USE (fclose, "fclose is not always POSIX compliant - " "use gnulib module fclose for portable POSIX compliance"); #endif +#if @GNULIB_FDOPEN@ +# if @REPLACE_FDOPEN@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef fdopen +# define fdopen rpl_fdopen +# endif +_GL_FUNCDECL_RPL (fdopen, FILE *, (int fd, const char *mode) + _GL_ARG_NONNULL ((2))); +_GL_CXXALIAS_RPL (fdopen, FILE *, (int fd, const char *mode)); +# else +_GL_CXXALIAS_SYS (fdopen, FILE *, (int fd, const char *mode)); +# endif +_GL_CXXALIASWARN (fdopen); +#elif defined GNULIB_POSIXCHECK +# undef fdopen +/* Assume fdopen is always declared. */ +_GL_WARN_ON_USE (fdopen, "fdopen on Win32 platforms is not POSIX compatible - " + "use gnulib module fdopen for portability"); +#endif + #if @GNULIB_FFLUSH@ /* Flush all pending data on STREAM according to POSIX rules. Both output and seekable input streams are supported. @@ -750,6 +770,20 @@ _GL_CXXALIAS_SYS (obstack_vprintf, int, _GL_CXXALIASWARN (obstack_vprintf); #endif +#if @GNULIB_PCLOSE@ +# if !@HAVE_PCLOSE@ +_GL_FUNCDECL_SYS (pclose, int, (FILE *stream) _GL_ARG_NONNULL ((1))); +# endif +_GL_CXXALIAS_SYS (pclose, int, (FILE *stream)); +_GL_CXXALIASWARN (pclose); +#elif defined GNULIB_POSIXCHECK +# undef pclose +# if HAVE_RAW_DECL_PCLOSE +_GL_WARN_ON_USE (pclose, "popen is unportable - " + "use gnulib module pclose for more portability"); +# endif +#endif + #if @GNULIB_PERROR@ /* Print a message to standard error, describing the value of ERRNO, (if STRING is not NULL and not empty) prefixed with STRING and ": ", @@ -781,6 +815,10 @@ _GL_FUNCDECL_RPL (popen, FILE *, (const char *cmd, const char *mode) _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (popen, FILE *, (const char *cmd, const char *mode)); # else +# if !@HAVE_POPEN@ +_GL_FUNCDECL_SYS (popen, FILE *, (const char *cmd, const char *mode) + _GL_ARG_NONNULL ((1, 2))); +# endif _GL_CXXALIAS_SYS (popen, FILE *, (const char *cmd, const char *mode)); # endif _GL_CXXALIASWARN (popen); diff --git a/lib/stdlib.in.h b/lib/stdlib.in.h index 047fac18b..a59cb081e 100644 --- a/lib/stdlib.in.h +++ b/lib/stdlib.in.h @@ -247,7 +247,7 @@ _GL_CXXALIASWARN (grantpt); #elif defined GNULIB_POSIXCHECK # undef grantpt # if HAVE_RAW_DECL_GRANTPT -_GL_WARN_ON_USE (ptsname, "grantpt is not portable - " +_GL_WARN_ON_USE (grantpt, "grantpt is not portable - " "use gnulib module grantpt for portability"); # endif #endif @@ -423,6 +423,22 @@ _GL_WARN_ON_USE (mkstemps, "mkstemps is unportable - " # endif #endif +#if @GNULIB_POSIX_OPENPT@ +/* Return an FD open to the master side of a pseudo-terminal. Flags should + include O_RDWR, and may also include O_NOCTTY. */ +# if !@HAVE_POSIX_OPENPT@ +_GL_FUNCDECL_SYS (posix_openpt, int, (int flags)); +# endif +_GL_CXXALIAS_SYS (posix_openpt, int, (int flags)); +_GL_CXXALIASWARN (posix_openpt); +#elif defined GNULIB_POSIXCHECK +# undef posix_openpt +# if HAVE_RAW_DECL_POSIX_OPENPT +_GL_WARN_ON_USE (posix_openpt, "posix_openpt is not portable - " + "use gnulib module posix_openpt for portability"); +# endif +#endif + #if @GNULIB_PTSNAME@ /* Return the pathname of the pseudo-terminal slave associated with the master FD is open on, or NULL on errors. */ @@ -439,6 +455,32 @@ _GL_WARN_ON_USE (ptsname, "ptsname is not portable - " # endif #endif +#if @GNULIB_PTSNAME_R@ +/* Set the pathname of the pseudo-terminal slave associated with + the master FD is open on and return 0, or set errno and return + non-zero on errors. */ +# if @REPLACE_PTSNAME_R@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef ptsname_r +# define ptsname_r rpl_ptsname_r +# endif +_GL_FUNCDECL_RPL (ptsname_r, int, (int fd, char *buf, size_t len)); +_GL_CXXALIAS_RPL (ptsname_r, int, (int fd, char *buf, size_t len)); +# else +# if !@HAVE_PTSNAME_R@ +_GL_FUNCDECL_SYS (ptsname_r, int, (int fd, char *buf, size_t len)); +# endif +_GL_CXXALIAS_SYS (ptsname_r, int, (int fd, char *buf, size_t len)); +# endif +_GL_CXXALIASWARN (ptsname_r); +#elif defined GNULIB_POSIXCHECK +# undef ptsname_r +# if HAVE_RAW_DECL_PTSNAME_R +_GL_WARN_ON_USE (ptsname_r, "ptsname_r is not portable - " + "use gnulib module ptsname_r for portability"); +# endif +#endif + #if @GNULIB_PUTENV@ # if @REPLACE_PUTENV@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) diff --git a/lib/strerror-override.c b/lib/strerror-override.c index d6ecf2eca..4e2c32b9c 100644 --- a/lib/strerror-override.c +++ b/lib/strerror-override.c @@ -23,7 +23,7 @@ #include -#if GNULIB_defined_ESOCK /* native Windows platforms */ +#if GNULIB_defined_EWINSOCK /* native Windows platforms */ # if HAVE_WINSOCK2_H # include # endif @@ -42,13 +42,7 @@ strerror_override (int errnum) return "Success"; #endif -#if GNULIB_defined_ETXTBSY - case ETXTBSY: - return "Text file busy"; -#endif - -#if GNULIB_defined_ESOCK /* native Windows platforms */ - /* EWOULDBLOCK is the same as EAGAIN. */ +#if GNULIB_defined_ESOCK /* native Windows platforms with older */ case EINPROGRESS: return "Operation now in progress"; case EALREADY: @@ -65,12 +59,8 @@ strerror_override (int errnum) return "Protocol not available"; case EPROTONOSUPPORT: return "Protocol not supported"; - case ESOCKTNOSUPPORT: - return "Socket type not supported"; case EOPNOTSUPP: return "Operation not supported"; - case EPFNOSUPPORT: - return "Protocol family not supported"; case EAFNOSUPPORT: return "Address family not supported by protocol"; case EADDRINUSE: @@ -81,10 +71,6 @@ strerror_override (int errnum) return "Network is down"; case ENETUNREACH: return "Network is unreachable"; - case ENETRESET: - return "Network dropped connection on reset"; - case ECONNABORTED: - return "Software caused connection abort"; case ECONNRESET: return "Connection reset by peer"; case ENOBUFS: @@ -93,20 +79,44 @@ strerror_override (int errnum) return "Transport endpoint is already connected"; case ENOTCONN: return "Transport endpoint is not connected"; - case ESHUTDOWN: - return "Cannot send after transport endpoint shutdown"; - case ETOOMANYREFS: - return "Too many references: cannot splice"; case ETIMEDOUT: return "Connection timed out"; case ECONNREFUSED: return "Connection refused"; case ELOOP: return "Too many levels of symbolic links"; - case EHOSTDOWN: - return "Host is down"; case EHOSTUNREACH: return "No route to host"; + case EWOULDBLOCK: + return "Operation would block"; + case ETXTBSY: + return "Text file busy"; + case ENODATA: + return "No data available"; + case ENOSR: + return "Out of streams resources"; + case ENOSTR: + return "Device not a stream"; + case ENOTRECOVERABLE: + return "State not recoverable"; + case EOWNERDEAD: + return "Owner died"; + case ETIME: + return "Timer expired"; + case EOTHER: + return "Other error"; +#endif +#if GNULIB_defined_EWINSOCK /* native Windows platforms */ + case ESOCKTNOSUPPORT: + return "Socket type not supported"; + case EPFNOSUPPORT: + return "Protocol family not supported"; + case ESHUTDOWN: + return "Cannot send after transport endpoint shutdown"; + case ETOOMANYREFS: + return "Too many references: cannot splice"; + case EHOSTDOWN: + return "Host is down"; case EPROCLIM: return "Too many processes"; case EUSERS: @@ -134,36 +144,36 @@ strerror_override (int errnum) /* WSAEINVAL maps to EINVAL */ /* WSAEMFILE maps to EMFILE */ /* WSAEWOULDBLOCK maps to EWOULDBLOCK */ - /* WSAEINPROGRESS is EINPROGRESS */ - /* WSAEALREADY is EALREADY */ - /* WSAENOTSOCK is ENOTSOCK */ - /* WSAEDESTADDRREQ is EDESTADDRREQ */ - /* WSAEMSGSIZE is EMSGSIZE */ - /* WSAEPROTOTYPE is EPROTOTYPE */ - /* WSAENOPROTOOPT is ENOPROTOOPT */ - /* WSAEPROTONOSUPPORT is EPROTONOSUPPORT */ + /* WSAEINPROGRESS maps to EINPROGRESS */ + /* WSAEALREADY maps to EALREADY */ + /* WSAENOTSOCK maps to ENOTSOCK */ + /* WSAEDESTADDRREQ maps to EDESTADDRREQ */ + /* WSAEMSGSIZE maps to EMSGSIZE */ + /* WSAEPROTOTYPE maps to EPROTOTYPE */ + /* WSAENOPROTOOPT maps to ENOPROTOOPT */ + /* WSAEPROTONOSUPPORT maps to EPROTONOSUPPORT */ /* WSAESOCKTNOSUPPORT is ESOCKTNOSUPPORT */ - /* WSAEOPNOTSUPP is EOPNOTSUPP */ + /* WSAEOPNOTSUPP maps to EOPNOTSUPP */ /* WSAEPFNOSUPPORT is EPFNOSUPPORT */ - /* WSAEAFNOSUPPORT is EAFNOSUPPORT */ - /* WSAEADDRINUSE is EADDRINUSE */ - /* WSAEADDRNOTAVAIL is EADDRNOTAVAIL */ - /* WSAENETDOWN is ENETDOWN */ - /* WSAENETUNREACH is ENETUNREACH */ - /* WSAENETRESET is ENETRESET */ - /* WSAECONNABORTED is ECONNABORTED */ - /* WSAECONNRESET is ECONNRESET */ - /* WSAENOBUFS is ENOBUFS */ - /* WSAEISCONN is EISCONN */ - /* WSAENOTCONN is ENOTCONN */ + /* WSAEAFNOSUPPORT maps to EAFNOSUPPORT */ + /* WSAEADDRINUSE maps to EADDRINUSE */ + /* WSAEADDRNOTAVAIL maps to EADDRNOTAVAIL */ + /* WSAENETDOWN maps to ENETDOWN */ + /* WSAENETUNREACH maps to ENETUNREACH */ + /* WSAENETRESET maps to ENETRESET */ + /* WSAECONNABORTED maps to ECONNABORTED */ + /* WSAECONNRESET maps to ECONNRESET */ + /* WSAENOBUFS maps to ENOBUFS */ + /* WSAEISCONN maps to EISCONN */ + /* WSAENOTCONN maps to ENOTCONN */ /* WSAESHUTDOWN is ESHUTDOWN */ /* WSAETOOMANYREFS is ETOOMANYREFS */ - /* WSAETIMEDOUT is ETIMEDOUT */ - /* WSAECONNREFUSED is ECONNREFUSED */ - /* WSAELOOP is ELOOP */ + /* WSAETIMEDOUT maps to ETIMEDOUT */ + /* WSAECONNREFUSED maps to ECONNREFUSED */ + /* WSAELOOP maps to ELOOP */ /* WSAENAMETOOLONG maps to ENAMETOOLONG */ /* WSAEHOSTDOWN is EHOSTDOWN */ - /* WSAEHOSTUNREACH is EHOSTUNREACH */ + /* WSAEHOSTUNREACH maps to EHOSTUNREACH */ /* WSAENOTEMPTY maps to ENOTEMPTY */ /* WSAEPROCLIM is EPROCLIM */ /* WSAEUSERS is EUSERS */ diff --git a/lib/strerror-override.h b/lib/strerror-override.h index 81e4a5075..09540b957 100644 --- a/lib/strerror-override.h +++ b/lib/strerror-override.h @@ -29,8 +29,8 @@ /* If ERRNUM maps to an errno value defined by gnulib, return a string describing the error. Otherwise return NULL. */ # if REPLACE_STRERROR_0 \ - || GNULIB_defined_ETXTBSY \ || GNULIB_defined_ESOCK \ + || GNULIB_defined_EWINSOCK \ || GNULIB_defined_ENOMSG \ || GNULIB_defined_EIDRM \ || GNULIB_defined_ENOLINK \ diff --git a/lib/strerror_r.c b/lib/strerror_r.c index 2b3f1f267..e6cf99b25 100644 --- a/lib/strerror_r.c +++ b/lib/strerror_r.c @@ -86,6 +86,27 @@ gl_lock_define_initialized(static, strerror_lock) #endif +/* On MSVC, there is no snprintf() function, just a _snprintf(). + It is of lower quality, but sufficient for the simple use here. + We only have to make sure to NUL terminate the result (_snprintf + does not NUL terminate, like strncpy). */ +#if !HAVE_SNPRINTF +static int +local_snprintf (char *buf, size_t buflen, const char *format, ...) +{ + va_list args; + int result; + + va_start (args, format); + result = _vsnprintf (buf, buflen, format, args); + va_end (args); + if (buflen > 0 && (result < 0 || result >= buflen)) + buf[buflen - 1] = '\0'; + return result; +} +# define snprintf local_snprintf +#endif + /* Copy as much of MSG into BUF as possible, without corrupting errno. Return 0 if MSG fit in BUFLEN, otherwise return ERANGE. */ static int diff --git a/lib/strings.in.h b/lib/strings.in.h index a82b2d4c2..7eaf28dfd 100644 --- a/lib/strings.in.h +++ b/lib/strings.in.h @@ -30,11 +30,18 @@ #endif /* The include_next requires a split double-inclusion guard. */ -#@INCLUDE_NEXT@ @NEXT_STRINGS_H@ +#if @HAVE_STRINGS_H@ +# @INCLUDE_NEXT@ @NEXT_STRINGS_H@ +#endif #ifndef _@GUARD_PREFIX@_STRINGS_H #define _@GUARD_PREFIX@_STRINGS_H +#if ! @HAVE_DECL_STRNCASECMP@ +/* Get size_t. */ +# include +#endif + /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ diff --git a/lib/strnlen1.h b/lib/strnlen1.h index 1bb13de60..a0634fecc 100644 --- a/lib/strnlen1.h +++ b/lib/strnlen1.h @@ -28,7 +28,8 @@ extern "C" { /* Find the length of STRING + 1, but scan at most MAXLEN bytes. If no '\0' terminator is found in that many characters, return MAXLEN. */ /* This is the same as strnlen (string, maxlen - 1) + 1. */ -extern size_t strnlen1 (const char *string, size_t maxlen); +extern size_t strnlen1 (const char *string, size_t maxlen) + _GL_ATTRIBUTE_PURE; #ifdef __cplusplus diff --git a/lib/strsignal.c b/lib/strsignal.c index 5a415ca71..7caab1d45 100644 --- a/lib/strsignal.c +++ b/lib/strsignal.c @@ -19,10 +19,12 @@ # include #endif +/* Specification. */ +#include + #include #include #include -#include #ifdef _LIBC # include @@ -54,7 +56,9 @@ extern const char *const _sys_siglist_internal[] attribute_hidden; #else /* !_LIBC */ /* NetBSD declares sys_siglist in unistd.h. */ -# include +# if HAVE_UNISTD_H +# include +# endif # define INTUSE(x) (x) diff --git a/lib/sys_select.in.h b/lib/sys_select.in.h index 7d43c2782..397508aac 100644 --- a/lib/sys_select.in.h +++ b/lib/sys_select.in.h @@ -95,11 +95,15 @@ # include # endif /* On native Windows platforms: - Get the 'fd_set' type. */ -# if @HAVE_WINSOCK2_H@ && !defined _GL_INCLUDING_WINSOCK2_H -# define _GL_INCLUDING_WINSOCK2_H -# include -# undef _GL_INCLUDING_WINSOCK2_H + Get the 'fd_set' type. + Get the close() declaration before we override it. */ +# if @HAVE_WINSOCK2_H@ +# if !defined _GL_INCLUDING_WINSOCK2_H +# define _GL_INCLUDING_WINSOCK2_H +# include +# undef _GL_INCLUDING_WINSOCK2_H +# endif +# include # endif #endif diff --git a/lib/sys_socket.in.h b/lib/sys_socket.in.h index c42497d04..107c180a1 100644 --- a/lib/sys_socket.in.h +++ b/lib/sys_socket.in.h @@ -85,7 +85,7 @@ typedef unsigned short sa_family_t; # endif # endif #else -# include +# include /* Code taken from glibc sysdeps/unix/sysv/linux/bits/socket.h on 2009-05-08, licensed under LGPLv2.1+, plus portability fixes. */ # define __ss_aligntype unsigned long int diff --git a/lib/sys_stat.in.h b/lib/sys_stat.in.h index 53b30811a..9f7bf76ed 100644 --- a/lib/sys_stat.in.h +++ b/lib/sys_stat.in.h @@ -55,10 +55,17 @@ /* The definition of _GL_WARN_ON_USE is copied here. */ /* Before doing "#define mkdir rpl_mkdir" below, we need to include all - headers that may declare mkdir(). */ + headers that may declare mkdir(). Native Windows platforms declare mkdir + in and/or , not in . */ #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ # include /* mingw32, mingw64 */ -# include /* mingw64 */ +# include /* mingw64, MSVC 9 */ +#endif + +#ifndef S_IFIFO +# ifdef _S_IFIFO +# define S_IFIFO _S_IFIFO +# endif #endif #ifndef S_IFMT @@ -312,16 +319,25 @@ _GL_WARN_ON_USE (fchmodat, "fchmodat is not portable - " #endif -#if @REPLACE_FSTAT@ -# if !(defined __cplusplus && defined GNULIB_NAMESPACE) -# define fstat rpl_fstat -# endif +#if @GNULIB_FSTAT@ +# if @REPLACE_FSTAT@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef fstat +# define fstat rpl_fstat +# endif _GL_FUNCDECL_RPL (fstat, int, (int fd, struct stat *buf) _GL_ARG_NONNULL ((2))); _GL_CXXALIAS_RPL (fstat, int, (int fd, struct stat *buf)); -#else +# else _GL_CXXALIAS_SYS (fstat, int, (int fd, struct stat *buf)); -#endif +# endif _GL_CXXALIASWARN (fstat); +#elif defined GNULIB_POSIXCHECK +# undef fstat +# if HAVE_RAW_DECL_FSTAT +_GL_WARN_ON_USE (fstat, "fstat has portability problems - " + "use gnulib module fstat for portability"); +# endif +#endif #if @GNULIB_FSTATAT@ diff --git a/lib/sys_time.in.h b/lib/sys_time.in.h index ce70370b5..1fed8c480 100644 --- a/lib/sys_time.in.h +++ b/lib/sys_time.in.h @@ -40,6 +40,14 @@ # include # endif +/* On native Windows with MSVC: + Get the 'struct timeval' type. */ +# if defined _MSC_VER && @HAVE_WINSOCK2_H@ && !defined _GL_INCLUDING_WINSOCK2_H +# define _GL_INCLUDING_WINSOCK2_H +# include +# undef _GL_INCLUDING_WINSOCK2_H +# endif + /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ /* The definition of _GL_ARG_NONNULL is copied here. */ @@ -98,4 +106,95 @@ _GL_WARN_ON_USE (gettimeofday, "gettimeofday is unportable - " # endif # endif +/* Hide some function declarations from . */ + +# if defined _MSC_VER && @HAVE_WINSOCK2_H@ +# if !defined _@GUARD_PREFIX@_UNISTD_H +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef close +# define close close_used_without_including_unistd_h +# else + _GL_WARN_ON_USE (close, + "close() used without including "); +# endif +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef gethostname +# define gethostname gethostname_used_without_including_unistd_h +# else + _GL_WARN_ON_USE (gethostname, + "gethostname() used without including "); +# endif +# endif +# if !defined _@GUARD_PREFIX@_SYS_SOCKET_H +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef socket +# define socket socket_used_without_including_sys_socket_h +# undef connect +# define connect connect_used_without_including_sys_socket_h +# undef accept +# define accept accept_used_without_including_sys_socket_h +# undef bind +# define bind bind_used_without_including_sys_socket_h +# undef getpeername +# define getpeername getpeername_used_without_including_sys_socket_h +# undef getsockname +# define getsockname getsockname_used_without_including_sys_socket_h +# undef getsockopt +# define getsockopt getsockopt_used_without_including_sys_socket_h +# undef listen +# define listen listen_used_without_including_sys_socket_h +# undef recv +# define recv recv_used_without_including_sys_socket_h +# undef send +# define send send_used_without_including_sys_socket_h +# undef recvfrom +# define recvfrom recvfrom_used_without_including_sys_socket_h +# undef sendto +# define sendto sendto_used_without_including_sys_socket_h +# undef setsockopt +# define setsockopt setsockopt_used_without_including_sys_socket_h +# undef shutdown +# define shutdown shutdown_used_without_including_sys_socket_h +# else + _GL_WARN_ON_USE (socket, + "socket() used without including "); + _GL_WARN_ON_USE (connect, + "connect() used without including "); + _GL_WARN_ON_USE (accept, + "accept() used without including "); + _GL_WARN_ON_USE (bind, + "bind() used without including "); + _GL_WARN_ON_USE (getpeername, + "getpeername() used without including "); + _GL_WARN_ON_USE (getsockname, + "getsockname() used without including "); + _GL_WARN_ON_USE (getsockopt, + "getsockopt() used without including "); + _GL_WARN_ON_USE (listen, + "listen() used without including "); + _GL_WARN_ON_USE (recv, + "recv() used without including "); + _GL_WARN_ON_USE (send, + "send() used without including "); + _GL_WARN_ON_USE (recvfrom, + "recvfrom() used without including "); + _GL_WARN_ON_USE (sendto, + "sendto() used without including "); + _GL_WARN_ON_USE (setsockopt, + "setsockopt() used without including "); + _GL_WARN_ON_USE (shutdown, + "shutdown() used without including "); +# endif +# endif +# if !defined _@GUARD_PREFIX@_SYS_SELECT_H +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef select +# define select select_used_without_including_sys_select_h +# else + _GL_WARN_ON_USE (select, + "select() used without including "); +# endif +# endif +# endif + #endif /* _@GUARD_PREFIX@_SYS_TIME_H */ diff --git a/lib/sys_types.in.h b/lib/sys_types.in.h new file mode 100644 index 000000000..a1d5fda59 --- /dev/null +++ b/lib/sys_types.in.h @@ -0,0 +1,40 @@ +/* Provide a more complete sys/types.h. + + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +#if __GNUC__ >= 3 +@PRAGMA_SYSTEM_HEADER@ +#endif +@PRAGMA_COLUMNS@ + +#ifndef _@GUARD_PREFIX@_SYS_TYPES_H + +/* The include_next requires a split double-inclusion guard. */ +#@INCLUDE_NEXT@ @NEXT_SYS_TYPES_H@ + +#ifndef _@GUARD_PREFIX@_SYS_TYPES_H +#define _@GUARD_PREFIX@_SYS_TYPES_H + +/* MSVC 9 defines size_t in , not in . */ +/* But avoid namespace pollution on glibc systems. */ +#if ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) \ + && ! defined __GLIBC__ +# include +#endif + +#endif /* _@GUARD_PREFIX@_SYS_TYPES_H */ +#endif /* _@GUARD_PREFIX@_SYS_TYPES_H */ diff --git a/lib/sys_uio.in.h b/lib/sys_uio.in.h index e043d02b8..04cf13db9 100644 --- a/lib/sys_uio.in.h +++ b/lib/sys_uio.in.h @@ -37,7 +37,7 @@ #if !@HAVE_SYS_UIO_H@ /* A platform that lacks . */ -/* Get 'ssize_t'. */ +/* Get 'size_t' and 'ssize_t'. */ # include # ifdef __cplusplus diff --git a/lib/tanf.c b/lib/tanf.c new file mode 100644 index 000000000..39e1e1035 --- /dev/null +++ b/lib/tanf.c @@ -0,0 +1,26 @@ +/* Tangent function. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include + +float +tanf (float x) +{ + return (float) tan ((double) x); +} diff --git a/lib/tanhf.c b/lib/tanhf.c new file mode 100644 index 000000000..b7591a0d6 --- /dev/null +++ b/lib/tanhf.c @@ -0,0 +1,26 @@ +/* Hyperbolic tangent function. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include + +float +tanhf (float x) +{ + return (float) tanh ((double) x); +} diff --git a/lib/tanl.c b/lib/tanl.c index 07fbc0945..e5efb0621 100644 --- a/lib/tanl.c +++ b/lib/tanl.c @@ -19,6 +19,16 @@ /* Specification. */ #include +#if HAVE_SAME_LONG_DOUBLE_AS_DOUBLE + +long double +tanl (long double x) +{ + return tan (x); +} + +#else + /* tanl(x) * Return tangent function of x. * @@ -49,7 +59,7 @@ * TRIG(x) returns trig(x) nearly rounded */ -#include "trigl.h" +# include "trigl.h" /* * ==================================================== @@ -208,6 +218,8 @@ tanl (long double x) } } +#endif + #if 0 int main (void) diff --git a/lib/tempname.c b/lib/tempname.c index 139e0c344..130ae97f8 100644 --- a/lib/tempname.c +++ b/lib/tempname.c @@ -67,9 +67,7 @@ # define __gettimeofday gettimeofday # define __mkdir mkdir # define __open open -# define __open64 open # define __lxstat64(version, file, buf) lstat (file, buf) -# define __xstat64(version, file, buf) stat (file, buf) #endif #if ! (HAVE___SECURE_GETENV || _LIBC) diff --git a/lib/trunc.c b/lib/trunc.c index 16403f79b..73a334561 100644 --- a/lib/trunc.c +++ b/lib/trunc.c @@ -16,7 +16,9 @@ /* Written by Bruno Haible , 2007. */ -#include +#if ! defined USE_LONG_DOUBLE +# include +#endif /* Specification. */ #include diff --git a/lib/truncl.c b/lib/truncl.c index aa0d40549..8af2c5c6e 100644 --- a/lib/truncl.c +++ b/lib/truncl.c @@ -16,5 +16,22 @@ /* Written by Bruno Haible , 2007. */ -#define USE_LONG_DOUBLE -#include "trunc.c" +#include + +#if HAVE_SAME_LONG_DOUBLE_AS_DOUBLE + +/* Specification. */ +# include + +long double +truncl (long double x) +{ + return trunc (x); +} + +#else + +# define USE_LONG_DOUBLE +# include "trunc.c" + +#endif diff --git a/lib/unistd.in.h b/lib/unistd.in.h index c1cfb5426..f53f34b7e 100644 --- a/lib/unistd.in.h +++ b/lib/unistd.in.h @@ -75,18 +75,21 @@ #endif /* mingw fails to declare _exit in . */ -/* mingw, BeOS, Haiku declare environ in , not in . */ +/* mingw, MSVC, BeOS, Haiku declare environ in , not in + . */ /* Solaris declares getcwd not only in but also in . */ /* But avoid namespace pollution on glibc systems. */ #ifndef __GLIBC__ # include #endif -/* mingw declares getcwd in , not in . */ -#if ((@GNULIB_GETCWD@ || defined GNULIB_POSIXCHECK) \ +/* Native Windows platforms declare chdir, getcwd, rmdir in + and/or , not in . */ +#if ((@GNULIB_CHDIR@ || @GNULIB_GETCWD@ || @GNULIB_RMDIR@ \ + || defined GNULIB_POSIXCHECK) \ && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)) # include /* mingw32, mingw64 */ -# include /* mingw64 */ +# include /* mingw64, MSVC 9 */ #endif /* AIX and OSF/1 5.1 declare getdomainname in , not in . @@ -98,6 +101,12 @@ # include #endif +/* MSVC defines off_t in . */ +#if !@HAVE_UNISTD_H@ +/* Get off_t. */ +# include +#endif + #if (@GNULIB_READ@ || @GNULIB_WRITE@ \ || @GNULIB_READLINK@ || @GNULIB_READLINKAT@ \ || @GNULIB_PREAD@ || @GNULIB_PWRITE@ || defined GNULIB_POSIXCHECK) @@ -224,12 +233,24 @@ _GL_WARN_ON_USE (access, "the access function is a security risk - " #endif +#if @GNULIB_CHDIR@ +_GL_CXXALIAS_SYS (chdir, int, (const char *file) _GL_ARG_NONNULL ((1))); +_GL_CXXALIASWARN (chdir); +#elif defined GNULIB_POSIXCHECK +# undef chdir +# if HAVE_RAW_DECL_CHDIR +_GL_WARN_ON_USE (chown, "chdir is not always in - " + "use gnulib module chdir for portability"); +# endif +#endif + + #if @GNULIB_CHOWN@ /* Change the owner of FILE to UID (if UID is not -1) and the group of FILE to GID (if GID is not -1). Follow symbolic links. Return 0 if successful, otherwise -1 and errno set. - See the POSIX:2001 specification - . */ + See the POSIX:2008 specification + . */ + See the POSIX:2008 specification + . */ # if @REPLACE_DUP2@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define dup2 rpl_dup2 @@ -426,8 +455,8 @@ _GL_WARN_ON_USE (faccessat, "faccessat is not portable - " /* Change the process' current working directory to the directory on which the given file descriptor is open. Return 0 if successful, otherwise -1 and errno set. - See the POSIX:2001 specification - . */ + See the POSIX:2008 specification + . */ # if ! @HAVE_FCHDIR@ _GL_FUNCDECL_SYS (fchdir, int, (int /*fd*/)); @@ -484,11 +513,30 @@ _GL_WARN_ON_USE (fchownat, "fchownat is not portable - " #endif -#if @GNULIB_FSYNC@ +#if @GNULIB_FDATASYNC@ /* Synchronize changes to a file. Return 0 if successful, otherwise -1 and errno set. - See POSIX:2001 specification - . */ + See POSIX:2008 specification + . */ +# if !@HAVE_FDATASYNC@ || !@HAVE_DECL_FDATASYNC@ +_GL_FUNCDECL_SYS (fdatasync, int, (int fd)); +# endif +_GL_CXXALIAS_SYS (fdatasync, int, (int fd)); +_GL_CXXALIASWARN (fdatasync); +#elif defined GNULIB_POSIXCHECK +# undef fdatasync +# if HAVE_RAW_DECL_FDATASYNC +_GL_WARN_ON_USE (fdatasync, "fdatasync is unportable - " + "use gnulib module fdatasync for portability"); +# endif +#endif + + +#if @GNULIB_FSYNC@ +/* Synchronize changes, including metadata, to a file. + Return 0 if successful, otherwise -1 and errno set. + See POSIX:2008 specification + . */ # if !@HAVE_FSYNC@ _GL_FUNCDECL_SYS (fsync, int, (int fd)); # endif @@ -506,8 +554,8 @@ _GL_WARN_ON_USE (fsync, "fsync is unportable - " #if @GNULIB_FTRUNCATE@ /* Change the size of the file to which FD is opened to become equal to LENGTH. Return 0 if successful, otherwise -1 and errno set. - See the POSIX:2001 specification - . */ + See the POSIX:2008 specification + . */ # if !@HAVE_FTRUNCATE@ _GL_FUNCDECL_SYS (ftruncate, int, (int fd, off_t length)); # endif @@ -527,8 +575,8 @@ _GL_WARN_ON_USE (ftruncate, "ftruncate is unportable - " of BUF. Return BUF if successful, or NULL if the directory couldn't be determined or SIZE was too small. - See the POSIX:2001 specification - . + See the POSIX:2008 specification + . Additionally, the gnulib module 'getcwd' guarantees the following GNU extension: If BUF is NULL, an array is allocated with 'malloc'; the array is SIZE bytes long, unless SIZE == 0, in which case it is as big as @@ -891,8 +939,8 @@ _GL_WARN_ON_USE (group_member, "group_member is unportable - " /* Change the owner of FILE to UID (if UID is not -1) and the group of FILE to GID (if GID is not -1). Do not follow symbolic links. Return 0 if successful, otherwise -1 and errno set. - See the POSIX:2001 specification - . */ + See the POSIX:2008 specification + . */ # if @REPLACE_LCHOWN@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef lchown @@ -921,8 +969,8 @@ _GL_WARN_ON_USE (lchown, "lchown is unportable to pre-POSIX.1-2001 systems - " #if @GNULIB_LINK@ /* Create a new hard link for an existing file. Return 0 if successful, otherwise -1 and errno set. - See POSIX:2001 specification - . */ + See POSIX:2008 specification + . */ # if @REPLACE_LINK@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define link rpl_link @@ -987,8 +1035,8 @@ _GL_WARN_ON_USE (linkat, "linkat is unportable - " #if @GNULIB_LSEEK@ /* Set the offset of FD relative to SEEK_SET, SEEK_CUR, or SEEK_END. Return the new offset if successful, otherwise -1 and errno set. - See the POSIX:2001 specification - . */ + See the POSIX:2008 specification + . */ # if @REPLACE_LSEEK@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define lseek rpl_lseek @@ -1058,8 +1106,9 @@ _GL_WARN_ON_USE (pipe2, "pipe2 is unportable - " #if @GNULIB_PREAD@ /* Read at most BUFSIZE bytes from FD into BUF, starting at OFFSET. Return the number of bytes placed into BUF if successful, otherwise - set errno and return -1. 0 indicates EOF. See the POSIX:2001 - specification . */ + set errno and return -1. 0 indicates EOF. + See the POSIX:2008 specification + . */ # if @REPLACE_PREAD@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef pread @@ -1093,8 +1142,8 @@ _GL_WARN_ON_USE (pread, "pread is unportable - " /* Write at most BUFSIZE bytes from BUF into FD, starting at OFFSET. Return the number of bytes written if successful, otherwise set errno and return -1. 0 indicates nothing written. See the - POSIX:2001 specification - . */ + POSIX:2008 specification + . */ # if @REPLACE_PWRITE@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef pwrite @@ -1126,9 +1175,9 @@ _GL_WARN_ON_USE (pwrite, "pwrite is unportable - " #if @GNULIB_READ@ /* Read up to COUNT bytes from file descriptor FD into the buffer starting - at BUF. See the POSIX:2001 specification - . */ -# if @REPLACE_READ@ && @GNULIB_UNISTD_H_NONBLOCKING@ + at BUF. See the POSIX:2008 specification + . */ +# if @REPLACE_READ@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef read # define read rpl_read @@ -1150,8 +1199,8 @@ _GL_CXXALIASWARN (read); /* Read the contents of the symbolic link FILE and place the first BUFSIZE bytes of it into BUF. Return the number of bytes placed into BUF if successful, otherwise -1 and errno set. - See the POSIX:2001 specification - . */ + See the POSIX:2008 specification + . */ # if @REPLACE_READLINK@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define readlink rpl_readlink @@ -1222,8 +1271,8 @@ _GL_WARN_ON_USE (rmdir, "rmdir is unportable - " #if @GNULIB_SLEEP@ /* Pause the execution of the current thread for N seconds. Returns the number of seconds left to sleep. - See the POSIX:2001 specification - . */ + See the POSIX:2008 specification + . */ # if @REPLACE_SLEEP@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef sleep @@ -1372,7 +1421,7 @@ _GL_WARN_ON_USE (unlinkat, "unlinkat is not portable - " /* Pause the execution of the current thread for N microseconds. Returns 0 on completion, or -1 on range error. See the POSIX:2001 specification - . */ + . */ # if @REPLACE_USLEEP@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef usleep @@ -1398,9 +1447,9 @@ _GL_WARN_ON_USE (usleep, "usleep is unportable - " #if @GNULIB_WRITE@ /* Write up to COUNT bytes starting at BUF to file descriptor FD. - See the POSIX:2001 specification - . */ -# if @REPLACE_WRITE@ && (@GNULIB_UNISTD_H_NONBLOCKING@ || @GNULIB_UNISTD_H_SIGPIPE@) + See the POSIX:2008 specification + . */ +# if @REPLACE_WRITE@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef write # define write rpl_write diff --git a/lib/uniwidth.in.h b/lib/uniwidth.in.h index be99b9726..e80674433 100644 --- a/lib/uniwidth.in.h +++ b/lib/uniwidth.in.h @@ -38,7 +38,11 @@ extern "C" { /* Determine number of column positions required for UC. */ extern int - uc_width (ucs4_t uc, const char *encoding); + uc_width (ucs4_t uc, const char *encoding) +#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) + __attribute__ ((__pure__)) +#endif + ; /* Determine number of column positions required for first N units (or fewer if S ends before this) in S. */ diff --git a/lib/unlockpt.c b/lib/unlockpt.c index e03b31f35..678548705 100644 --- a/lib/unlockpt.c +++ b/lib/unlockpt.c @@ -19,6 +19,7 @@ #include +#include #include int @@ -36,6 +37,8 @@ unlockpt (int fd) #else /* Assume that the slave side of a pseudo-terminal is already unlocked by default. */ + if (fcntl (fd, F_GETFD) < 0) + return -1; return 0; #endif } diff --git a/lib/utimens.c b/lib/utimens.c index c19041140..f7cb8def3 100644 --- a/lib/utimens.c +++ b/lib/utimens.c @@ -180,18 +180,13 @@ fdutimens (int fd, char const *file, struct timespec const timespec[2]) if (adjustment_needed < 0) return -1; - /* Require that at least one of FD or FILE are valid. Works around + /* Require that at least one of FD or FILE are potentially valid, to avoid a Linux bug where futimens (AT_FDCWD, NULL) changes "." rather than failing. */ - if (!file) + if (fd < 0 && !file) { - if (fd < 0) - { - errno = EBADF; - return -1; - } - if (dup2 (fd, fd) != fd) - return -1; + errno = EBADF; + return -1; } /* Some Linux-based NFS clients are buggy, and mishandle time stamps diff --git a/lib/utimensat.c b/lib/utimensat.c index 5a55e64f7..37f0ea89e 100644 --- a/lib/utimensat.c +++ b/lib/utimensat.c @@ -84,6 +84,21 @@ rpl_utimensat (int fd, char const *file, struct timespec const times[2], ts[1] = times[1]; times = ts; } +# ifdef __hppa__ + /* Linux kernel 2.6.22.19 on hppa does not reject invalid tv_nsec + values. */ + else if (times + && ((times[0].tv_nsec != UTIME_NOW + && (times[0].tv_nsec < 0 + || times[0].tv_nsec >= 1000000000)) + || (times[1].tv_nsec != UTIME_NOW + && (times[1].tv_nsec < 0 + || times[1].tv_nsec >= 1000000000)))) + { + errno = EINVAL; + return -1; + } +# endif # endif /* __linux__ */ result = utimensat (fd, file, times, flag); /* Linux kernel 2.6.25 has a bug where it returns EINVAL for diff --git a/lib/vasnprintf.c b/lib/vasnprintf.c index d1eeaa5e0..40789f9eb 100644 --- a/lib/vasnprintf.c +++ b/lib/vasnprintf.c @@ -553,32 +553,61 @@ divide (mpn_t a, mpn_t b, mpn_t *q) size_t s; { mp_limb_t msd = b_ptr[b_len - 1]; /* = b[n-1], > 0 */ - s = 31; - if (msd >= 0x10000) - { - msd = msd >> 16; - s -= 16; - } - if (msd >= 0x100) - { - msd = msd >> 8; - s -= 8; - } - if (msd >= 0x10) - { - msd = msd >> 4; - s -= 4; - } - if (msd >= 0x4) + /* Determine s = GMP_LIMB_BITS - integer_length (msd). + Code copied from gnulib's integer_length.c. */ +# if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) + s = __builtin_clz (msd); +# else +# if defined DBL_EXPBIT0_WORD && defined DBL_EXPBIT0_BIT + if (GMP_LIMB_BITS <= DBL_MANT_BIT) { - msd = msd >> 2; - s -= 2; + /* Use 'double' operations. + Assumes an IEEE 754 'double' implementation. */ +# define DBL_EXP_MASK ((DBL_MAX_EXP - DBL_MIN_EXP) | 7) +# define DBL_EXP_BIAS (DBL_EXP_MASK / 2 - 1) +# define NWORDS \ + ((sizeof (double) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) + union { double value; unsigned int word[NWORDS]; } m; + + /* Use a single integer to floating-point conversion. */ + m.value = msd; + + s = GMP_LIMB_BITS + - (((m.word[DBL_EXPBIT0_WORD] >> DBL_EXPBIT0_BIT) & DBL_EXP_MASK) + - DBL_EXP_BIAS); } - if (msd >= 0x2) + else +# undef NWORDS +# endif { - msd = msd >> 1; - s -= 1; + s = 31; + if (msd >= 0x10000) + { + msd = msd >> 16; + s -= 16; + } + if (msd >= 0x100) + { + msd = msd >> 8; + s -= 8; + } + if (msd >= 0x10) + { + msd = msd >> 4; + s -= 4; + } + if (msd >= 0x4) + { + msd = msd >> 2; + s -= 2; + } + if (msd >= 0x2) + { + msd = msd >> 1; + s -= 1; + } } +# endif } /* 0 <= s < GMP_LIMB_BITS. Copy b, shifting it left by s bits. */ @@ -885,9 +914,9 @@ decode_long_double (long double x, int *ep, mpn_t *mp) y = frexpl (x, &exp); if (!(y >= 0.0L && y < 1.0L)) abort (); - /* x = 2^exp * y = 2^(exp - LDBL_MANT_BIT) * (y * LDBL_MANT_BIT), and the + /* x = 2^exp * y = 2^(exp - LDBL_MANT_BIT) * (y * 2^LDBL_MANT_BIT), and the latter is an integer. */ - /* Convert the mantissa (y * LDBL_MANT_BIT) to a sequence of limbs. + /* Convert the mantissa (y * 2^LDBL_MANT_BIT) to a sequence of limbs. I'm not sure whether it's safe to cast a 'long double' value between 2^31 and 2^32 to 'unsigned int', therefore play safe and cast only 'long double' values between 0 and 2^16 (to 'unsigned int' or 'int', @@ -973,9 +1002,9 @@ decode_double (double x, int *ep, mpn_t *mp) y = frexp (x, &exp); if (!(y >= 0.0 && y < 1.0)) abort (); - /* x = 2^exp * y = 2^(exp - DBL_MANT_BIT) * (y * DBL_MANT_BIT), and the + /* x = 2^exp * y = 2^(exp - DBL_MANT_BIT) * (y * 2^DBL_MANT_BIT), and the latter is an integer. */ - /* Convert the mantissa (y * DBL_MANT_BIT) to a sequence of limbs. + /* Convert the mantissa (y * 2^DBL_MANT_BIT) to a sequence of limbs. I'm not sure whether it's safe to cast a 'double' value between 2^31 and 2^32 to 'unsigned int', therefore play safe and cast only 'double' values between 0 and 2^16 (to 'unsigned int' or 'int', diff --git a/lib/w32sock.h b/lib/w32sock.h index 651a76df6..0b8334e4e 100644 --- a/lib/w32sock.h +++ b/lib/w32sock.h @@ -22,9 +22,12 @@ /* Get O_RDWR and O_BINARY. */ #include -/* Get _get_osfhandle() and _open_osfhandle(). */ +/* Get _open_osfhandle(). */ #include +/* Get _get_osfhandle(). */ +#include "msvc-nothrow.h" + #define FD_TO_SOCKET(fd) ((SOCKET) _get_osfhandle ((fd))) #define SOCKET_TO_FD(fh) (_open_osfhandle ((long) (fh), O_RDWR | O_BINARY)) @@ -45,15 +48,87 @@ set_winsock_errno (void) case WSA_INVALID_PARAMETER: errno = EINVAL; break; - case WSAEWOULDBLOCK: - errno = EWOULDBLOCK; - break; case WSAENAMETOOLONG: errno = ENAMETOOLONG; break; case WSAENOTEMPTY: errno = ENOTEMPTY; break; + case WSAEWOULDBLOCK: + errno = EWOULDBLOCK; + break; + case WSAEINPROGRESS: + errno = EINPROGRESS; + break; + case WSAEALREADY: + errno = EALREADY; + break; + case WSAENOTSOCK: + errno = ENOTSOCK; + break; + case WSAEDESTADDRREQ: + errno = EDESTADDRREQ; + break; + case WSAEMSGSIZE: + errno = EMSGSIZE; + break; + case WSAEPROTOTYPE: + errno = EPROTOTYPE; + break; + case WSAENOPROTOOPT: + errno = ENOPROTOOPT; + break; + case WSAEPROTONOSUPPORT: + errno = EPROTONOSUPPORT; + break; + case WSAEOPNOTSUPP: + errno = EOPNOTSUPP; + break; + case WSAEAFNOSUPPORT: + errno = EAFNOSUPPORT; + break; + case WSAEADDRINUSE: + errno = EADDRINUSE; + break; + case WSAEADDRNOTAVAIL: + errno = EADDRNOTAVAIL; + break; + case WSAENETDOWN: + errno = ENETDOWN; + break; + case WSAENETUNREACH: + errno = ENETUNREACH; + break; + case WSAENETRESET: + errno = ENETRESET; + break; + case WSAECONNABORTED: + errno = ECONNABORTED; + break; + case WSAECONNRESET: + errno = ECONNRESET; + break; + case WSAENOBUFS: + errno = ENOBUFS; + break; + case WSAEISCONN: + errno = EISCONN; + break; + case WSAENOTCONN: + errno = ENOTCONN; + break; + case WSAETIMEDOUT: + errno = ETIMEDOUT; + break; + case WSAECONNREFUSED: + errno = ECONNREFUSED; + break; + case WSAELOOP: + errno = ELOOP; + break; + case WSAEHOSTUNREACH: + errno = EHOSTUNREACH; + break; default: errno = (err > 10000 && err < 10025) ? err - 10000 : err; break; diff --git a/lib/w32spawn.h b/lib/w32spawn.h index 58b0392c4..166737032 100644 --- a/lib/w32spawn.h +++ b/lib/w32spawn.h @@ -19,7 +19,7 @@ #define WIN32_LEAN_AND_MEAN #include -/* Get _get_osfhandle() and _open_osfhandle(). */ +/* Get _open_osfhandle(). */ #include #include @@ -27,6 +27,9 @@ #include #include +/* Get _get_osfhandle(). */ +#include "msvc-nothrow.h" + #include "cloexec.h" #include "xalloc.h" diff --git a/lib/wchar.in.h b/lib/wchar.in.h index f76f371ac..8534acb78 100644 --- a/lib/wchar.in.h +++ b/lib/wchar.in.h @@ -98,6 +98,18 @@ # define WEOF -1 # endif #else +/* MSVC defines wint_t as 'unsigned short' in . + This is too small: ISO C 99 section 7.24.1.(2) says that wint_t must be + "unchanged by default argument promotions". Override it. */ +# if defined _MSC_VER +# if !GNULIB_defined_wint_t +# include +typedef unsigned int rpl_wint_t; +# undef wint_t +# define wint_t rpl_wint_t +# define GNULIB_defined_wint_t 1 +# endif +# endif # ifndef WEOF # define WEOF ((wint_t) -1) # endif diff --git a/lib/wctype.in.h b/lib/wctype.in.h index cb50c5b0e..641e991fb 100644 --- a/lib/wctype.in.h +++ b/lib/wctype.in.h @@ -79,6 +79,18 @@ # define WEOF -1 # endif #else +/* MSVC defines wint_t as 'unsigned short' in . + This is too small: ISO C 99 section 7.24.1.(2) says that wint_t must be + "unchanged by default argument promotions". Override it. */ +# if defined _MSC_VER +# if !GNULIB_defined_wint_t +# include +typedef unsigned int rpl_wint_t; +# undef wint_t +# define wint_t rpl_wint_t +# define GNULIB_defined_wint_t 1 +# endif +# endif # ifndef WEOF # define WEOF ((wint_t) -1) # endif diff --git a/lib/write.c b/lib/write.c index b0ffa94e9..c3537d594 100644 --- a/lib/write.c +++ b/lib/write.c @@ -20,35 +20,58 @@ /* Specification. */ #include -/* Replace this function only if module 'nonblocking' or module 'sigpipe' is - requested. */ -#if GNULIB_NONBLOCKING || GNULIB_SIGPIPE - /* On native Windows platforms, SIGPIPE does not exist. When write() is called on a pipe with no readers, WriteFile() fails with error GetLastError() = ERROR_NO_DATA, and write() in consequence fails with error EINVAL. */ -# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ + +# include +# include +# include + +# define WIN32_LEAN_AND_MEAN /* avoid including junk */ +# include + +# include "msvc-inval.h" +# include "msvc-nothrow.h" -# include -# include -# include +# undef write + +# if HAVE_MSVC_INVALID_PARAMETER_HANDLER +static inline ssize_t +write_nothrow (int fd, const void *buf, size_t count) +{ + ssize_t result; + + TRY_MSVC_INVAL + { + result = write (fd, buf, count); + } + CATCH_MSVC_INVAL + { + result = -1; + errno = EBADF; + } + DONE_MSVC_INVAL; -# define WIN32_LEAN_AND_MEAN /* avoid including junk */ -# include + return result; +} +# else +# define write_nothrow write +# endif ssize_t rpl_write (int fd, const void *buf, size_t count) -#undef write { for (;;) { - ssize_t ret = write (fd, buf, count); + ssize_t ret = write_nothrow (fd, buf, count); if (ret < 0) { -# if GNULIB_NONBLOCKING +# if GNULIB_NONBLOCKING if (errno == ENOSPC) { HANDLE h = (HANDLE) _get_osfhandle (fd); @@ -99,9 +122,9 @@ rpl_write (int fd, const void *buf, size_t count) } } else -# endif +# endif { -# if GNULIB_SIGPIPE +# if GNULIB_SIGPIPE if (GetLastError () == ERROR_NO_DATA && GetFileType ((HANDLE) _get_osfhandle (fd)) == FILE_TYPE_PIPE) @@ -112,12 +135,11 @@ rpl_write (int fd, const void *buf, size_t count) EINVAL to EPIPE. */ errno = EPIPE; } -# endif +# endif } } return ret; } } -# endif #endif diff --git a/lib/xstrtol.c b/lib/xstrtol.c index 97ebd9078..b1fdd4938 100644 --- a/lib/xstrtol.c +++ b/lib/xstrtol.c @@ -43,6 +43,19 @@ #include "intprops.h" +/* xstrtoll.c and xstrtoull.c, which include this file, require that + ULLONG_MAX, LLONG_MAX, LLONG_MIN are defined, but does not + define them on all platforms. */ +#ifndef ULLONG_MAX +# define ULLONG_MAX TYPE_MAXIMUM (unsigned long long) +#endif +#ifndef LLONG_MAX +# define LLONG_MAX TYPE_MAXIMUM (long long int) +#endif +#ifndef LLONG_MIN +# define LLONG_MIN TYPE_MINIMUM (long long int) +#endif + static strtol_error bkm_scale (__strtol_t *x, int scale_factor) { diff --git a/m4/absolute-header.m4 b/m4/absolute-header.m4 index dba8dbfe4..400de5535 100644 --- a/m4/absolute-header.m4 +++ b/m4/absolute-header.m4 @@ -1,4 +1,4 @@ -# absolute-header.m4 serial 13 +# absolute-header.m4 serial 16 dnl Copyright (C) 2006-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -53,6 +53,7 @@ m4_foreach_w([gl_HEADER_NAME], [$1], # - it is silent. AC_DEFUN([gl_ABSOLUTE_HEADER_ONE], [ + AC_REQUIRE([AC_CANONICAL_HOST]) AC_LANG_CONFTEST([AC_LANG_SOURCE([[#include <]]m4_dquote([$1])[[>]])]) dnl AIX "xlc -E" and "cc -E" omit #line directives for header files dnl that contain only a #include of other header files and no @@ -65,15 +66,37 @@ AC_DEFUN([gl_ABSOLUTE_HEADER_ONE], aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac +changequote(,) + case "$host_os" in + mingw*) + dnl For the sake of native Windows compilers (excluding gcc), + dnl treat backslash as a directory separator, like /. + dnl Actually, these compilers use a double-backslash as + dnl directory separator, inside the + dnl # line "filename" + dnl directives. + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + dnl A sed expression that turns a string into a basic regular + dnl expression, for use within "/.../". + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + gl_header_literal_regex=`echo '$1' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' +changequote([,]) dnl eval is necessary to expand gl_absname_cpp. dnl Ultrix and Pyramid sh refuse to redirect output of eval, dnl so use subshell. AS_VAR_SET([gl_cv_absolute_]AS_TR_SH([[$1]]), [`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&AS_MESSAGE_LOG_FD | -sed -n '\#/$1#{ - s#.*"\(.*/$1\)".*#\1# - s#^/[^/]#//&# - p - q -}'`]) + sed -n "$gl_absolute_header_sed"`]) ]) diff --git a/m4/acl.m4 b/m4/acl.m4 index ecf0384a5..d6a448aab 100644 --- a/m4/acl.m4 +++ b/m4/acl.m4 @@ -33,7 +33,7 @@ AC_DEFUN([gl_FUNC_ACL], AC_CHECK_FUNCS( [acl_get_file acl_get_fd acl_set_file acl_set_fd \ acl_free acl_from_mode acl_from_text \ - acl_delete_def_file acl_extended_file acl_extended_file_nofollow \ + acl_delete_def_file acl_extended_file \ acl_delete_fd_np acl_delete_file_np \ acl_copy_ext_native acl_create_entry_np \ acl_to_short_text acl_free_text]) diff --git a/m4/acos.m4 b/m4/acos.m4 new file mode 100644 index 000000000..4c2e13310 --- /dev/null +++ b/m4/acos.m4 @@ -0,0 +1,11 @@ +# acos.m4 serial 1 +dnl Copyright (C) 2011 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_ACOS], +[ + dnl Determine ACOS_LIBM. + gl_COMMON_DOUBLE_MATHFUNC([acos]) +]) diff --git a/m4/acosf.m4 b/m4/acosf.m4 new file mode 100644 index 000000000..0bd6afc81 --- /dev/null +++ b/m4/acosf.m4 @@ -0,0 +1,25 @@ +# acosf.m4 serial 1 +dnl Copyright (C) 2011 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_ACOSF], +[ + AC_REQUIRE([gl_MATH_H_DEFAULTS]) + AC_REQUIRE([gl_FUNC_ACOS]) + + dnl Test whether acosf() exists. Assume that acosf(), if it exists, is + dnl defined in the same library as acos(). + save_LIBS="$LIBS" + LIBS="$LIBS $ACOS_LIBM" + AC_CHECK_FUNCS([acosf]) + LIBS="$save_LIBS" + if test $ac_cv_func_acosf = yes; then + ACOSF_LIBM="$ACOS_LIBM" + else + HAVE_ACOSF=0 + ACOSF_LIBM="$ACOS_LIBM" + fi + AC_SUBST([ACOSF_LIBM]) +]) diff --git a/m4/acosl.m4 b/m4/acosl.m4 index 759be4259..759780233 100644 --- a/m4/acosl.m4 +++ b/m4/acosl.m4 @@ -1,4 +1,4 @@ -# acosl.m4 serial 4 +# acosl.m4 serial 6 dnl Copyright (C) 2010-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -7,6 +7,8 @@ dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_ACOSL], [ AC_REQUIRE([gl_MATH_H_DEFAULTS]) + AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE]) + dnl Persuade glibc to declare acosl(). AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) @@ -51,23 +53,28 @@ AC_DEFUN([gl_FUNC_ACOSL], || test $gl_cv_func_acosl_in_libm = yes; then dnl Also check whether it's declared. dnl MacOS X 10.3 has acosl() in libc but doesn't declare it in . - AC_CHECK_DECL([acosl], , [HAVE_DECL_ACOSL=0], [#include ]) + AC_CHECK_DECL([acosl], , [HAVE_DECL_ACOSL=0], [[#include ]]) else HAVE_DECL_ACOSL=0 HAVE_ACOSL=0 dnl Find libraries needed to link lib/acosl.c. - AC_REQUIRE([gl_FUNC_ASINL]) - AC_REQUIRE([gl_FUNC_SQRTL]) - dnl Append $ASINL_LIBM to ACOSL_LIBM, avoiding gratuitous duplicates. - case " $ACOSL_LIBM " in - *" $ASINL_LIBM "*) ;; - *) ACOSL_LIBM="$ACOSL_LIBM $ASINL_LIBM" ;; - esac - dnl Append $SQRTL_LIBM to ACOSL_LIBM, avoiding gratuitous duplicates. - case " $ACOSL_LIBM " in - *" $SQRTL_LIBM "*) ;; - *) ACOSL_LIBM="$ACOSL_LIBM $SQRTL_LIBM" ;; - esac + if test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 1; then + AC_REQUIRE([gl_FUNC_ACOS]) + ACOSL_LIBM="$ACOS_LIBM" + else + AC_REQUIRE([gl_FUNC_ASINL]) + AC_REQUIRE([gl_FUNC_SQRTL]) + dnl Append $ASINL_LIBM to ACOSL_LIBM, avoiding gratuitous duplicates. + case " $ACOSL_LIBM " in + *" $ASINL_LIBM "*) ;; + *) ACOSL_LIBM="$ACOSL_LIBM $ASINL_LIBM" ;; + esac + dnl Append $SQRTL_LIBM to ACOSL_LIBM, avoiding gratuitous duplicates. + case " $ACOSL_LIBM " in + *" $SQRTL_LIBM "*) ;; + *) ACOSL_LIBM="$ACOSL_LIBM $SQRTL_LIBM" ;; + esac + fi fi AC_SUBST([ACOSL_LIBM]) ]) diff --git a/m4/ansi-c++.m4 b/m4/ansi-c++.m4 index fbb5d6424..34779530d 100644 --- a/m4/ansi-c++.m4 +++ b/m4/ansi-c++.m4 @@ -1,4 +1,4 @@ -# ansi-c++.m4 serial 8 +# ansi-c++.m4 serial 9 dnl Copyright (C) 2002-2003, 2005, 2010-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -84,7 +84,7 @@ AC_DEFUN([gl_PROG_ANSI_CXX], AC_LANG_POP([C++]) AC_MSG_RESULT([$gl_cv_prog_ansicxx_works]) if test $gl_cv_prog_ansicxx_works = no; then - CXX=: + CXX=no else dnl Test for namespaces. dnl We don't bother supporting pre-ANSI-C++ compilers. @@ -105,7 +105,7 @@ EOF AC_LANG_POP([C++]) AC_MSG_RESULT([$gl_cv_prog_ansicxx_namespaces]) if test $gl_cv_prog_ansicxx_namespaces = no; then - CXX=: + CXX=no fi fi fi diff --git a/m4/argp.m4 b/m4/argp.m4 index 4e3940a65..a9963ee6d 100644 --- a/m4/argp.m4 +++ b/m4/argp.m4 @@ -1,4 +1,4 @@ -# argp.m4 serial 12 +# argp.m4 serial 13 dnl Copyright (C) 2003-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -15,13 +15,13 @@ AC_DEFUN([gl_ARGP], [Define if program_invocation_name is declared])], [AC_DEFINE([GNULIB_PROGRAM_INVOCATION_NAME], [1], [Define to 1 to add extern declaration of program_invocation_name to argp.h])], - [#include ]) + [[#include ]]) AC_CHECK_DECL([program_invocation_short_name], [AC_DEFINE([HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME], [1], [Define if program_invocation_short_name is declared])], [AC_DEFINE([GNULIB_PROGRAM_INVOCATION_SHORT_NAME], [1], [Define to 1 to add extern declaration of program_invocation_short_name to argp.h])], - [#include ]) + [[#include ]]) # Check if program_invocation_name and program_invocation_short_name # are defined elsewhere. It is improbable that only one of them will diff --git a/m4/arpa_inet_h.m4 b/m4/arpa_inet_h.m4 index 6dc0fdb58..1df740113 100644 --- a/m4/arpa_inet_h.m4 +++ b/m4/arpa_inet_h.m4 @@ -1,4 +1,4 @@ -# arpa_inet_h.m4 serial 12 +# arpa_inet_h.m4 serial 13 dnl Copyright (C) 2006, 2008-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -52,4 +52,6 @@ AC_DEFUN([gl_ARPA_INET_H_DEFAULTS], dnl Assume proper GNU behavior unless another module says otherwise. HAVE_DECL_INET_NTOP=1; AC_SUBST([HAVE_DECL_INET_NTOP]) HAVE_DECL_INET_PTON=1; AC_SUBST([HAVE_DECL_INET_PTON]) + REPLACE_INET_NTOP=0; AC_SUBST([REPLACE_INET_NTOP]) + REPLACE_INET_PTON=0; AC_SUBST([REPLACE_INET_PTON]) ]) diff --git a/m4/asin.m4 b/m4/asin.m4 new file mode 100644 index 000000000..6fb55b29a --- /dev/null +++ b/m4/asin.m4 @@ -0,0 +1,11 @@ +# asin.m4 serial 1 +dnl Copyright (C) 2011 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_ASIN], +[ + dnl Determine ASIN_LIBM. + gl_COMMON_DOUBLE_MATHFUNC([asin]) +]) diff --git a/m4/asinf.m4 b/m4/asinf.m4 new file mode 100644 index 000000000..ad69aaf18 --- /dev/null +++ b/m4/asinf.m4 @@ -0,0 +1,25 @@ +# asinf.m4 serial 1 +dnl Copyright (C) 2011 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_ASINF], +[ + AC_REQUIRE([gl_MATH_H_DEFAULTS]) + AC_REQUIRE([gl_FUNC_ASIN]) + + dnl Test whether asinf() exists. Assume that asinf(), if it exists, is + dnl defined in the same library as asin(). + save_LIBS="$LIBS" + LIBS="$LIBS $ASIN_LIBM" + AC_CHECK_FUNCS([asinf]) + LIBS="$save_LIBS" + if test $ac_cv_func_asinf = yes; then + ASINF_LIBM="$ASIN_LIBM" + else + HAVE_ASINF=0 + ASINF_LIBM="$ASIN_LIBM" + fi + AC_SUBST([ASINF_LIBM]) +]) diff --git a/m4/asinl.m4 b/m4/asinl.m4 index 882a8d316..cef97a245 100644 --- a/m4/asinl.m4 +++ b/m4/asinl.m4 @@ -1,4 +1,4 @@ -# asinl.m4 serial 4 +# asinl.m4 serial 6 dnl Copyright (C) 2010-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -7,6 +7,8 @@ dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_ASINL], [ AC_REQUIRE([gl_MATH_H_DEFAULTS]) + AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE]) + dnl Persuade glibc to declare asinl(). AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) @@ -51,17 +53,22 @@ AC_DEFUN([gl_FUNC_ASINL], || test $gl_cv_func_asinl_in_libm = yes; then dnl Also check whether it's declared. dnl MacOS X 10.3 has asinl() in libc but doesn't declare it in . - AC_CHECK_DECL([asinl], , [HAVE_DECL_ASINL=0], [#include ]) + AC_CHECK_DECL([asinl], , [HAVE_DECL_ASINL=0], [[#include ]]) else HAVE_DECL_ASINL=0 HAVE_ASINL=0 dnl Find libraries needed to link lib/asinl.c. - AC_REQUIRE([gl_FUNC_SQRTL]) - dnl Append $SQRTL_LIBM to ASINL_LIBM, avoiding gratuitous duplicates. - case " $ASINL_LIBM " in - *" $SQRTL_LIBM "*) ;; - *) ASINL_LIBM="$ASINL_LIBM $SQRTL_LIBM" ;; - esac + if test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 1; then + AC_REQUIRE([gl_FUNC_ASIN]) + ASINL_LIBM="$ASIN_LIBM" + else + AC_REQUIRE([gl_FUNC_SQRTL]) + dnl Append $SQRTL_LIBM to ASINL_LIBM, avoiding gratuitous duplicates. + case " $ASINL_LIBM " in + *" $SQRTL_LIBM "*) ;; + *) ASINL_LIBM="$ASINL_LIBM $SQRTL_LIBM" ;; + esac + fi fi AC_SUBST([ASINL_LIBM]) ]) diff --git a/m4/asm-underscore.m4 b/m4/asm-underscore.m4 index 15c89cca9..db1fe793c 100644 --- a/m4/asm-underscore.m4 +++ b/m4/asm-underscore.m4 @@ -1,4 +1,4 @@ -# asm-underscore.m4 serial 1 +# asm-underscore.m4 serial 2 dnl Copyright (C) 2010-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -17,6 +17,7 @@ AC_DEFUN([gl_ASM_SYMBOL_PREFIX], dnl We don't use GCC's __USER_LABEL_PREFIX__ here, because dnl 1. It works only for GCC. dnl 2. It is incorrectly defined on some platforms, in some GCC versions. + AC_REQUIRE([gl_C_ASM]) AC_CACHE_CHECK( [whether C symbols are prefixed with underscore at the linker level], [gl_cv_prog_as_underscore], @@ -27,8 +28,8 @@ extern "C" int foo (void); int foo(void) { return 0; } EOF # Look for the assembly language name in the .s file. - AC_TRY_COMMAND(${CC-cc} $CFLAGS $CPPFLAGS -S conftest.c) >/dev/null 2>&1 - if grep _foo conftest.s >/dev/null ; then + AC_TRY_COMMAND(${CC-cc} $CFLAGS $CPPFLAGS $gl_c_asm_opt conftest.c) >/dev/null 2>&1 + if grep _foo conftest.$gl_asmext >/dev/null ; then gl_cv_prog_as_underscore=yes else gl_cv_prog_as_underscore=no @@ -46,3 +47,25 @@ EOF ASM_SYMBOL_PREFIX='"'${USER_LABEL_PREFIX}'"' AC_SUBST([ASM_SYMBOL_PREFIX]) ]) + +# gl_C_ASM +# Determines how to produce an assembly language file from C source code. +# Sets the variables: +# gl_asmext - the extension of assembly language output, +# gl_c_asm_opt - the C compiler option that produces assembly language output. + +AC_DEFUN([gl_C_ASM], +[ + AC_EGREP_CPP([MicrosoftCompiler], + [ +#ifdef _MSC_VER +MicrosoftCompiler +#endif + ], + [gl_asmext='asm' + gl_c_asm_opt='-c -Fa' + ], + [gl_asmext='s' + gl_c_asm_opt='-S' + ]) +]) diff --git a/m4/atan.m4 b/m4/atan.m4 new file mode 100644 index 000000000..524a157ed --- /dev/null +++ b/m4/atan.m4 @@ -0,0 +1,11 @@ +# atan.m4 serial 1 +dnl Copyright (C) 2011 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_ATAN], +[ + dnl Determine ATAN_LIBM. + gl_COMMON_DOUBLE_MATHFUNC([atan]) +]) diff --git a/m4/atan2.m4 b/m4/atan2.m4 new file mode 100644 index 000000000..acd9f33c9 --- /dev/null +++ b/m4/atan2.m4 @@ -0,0 +1,11 @@ +# atan2.m4 serial 1 +dnl Copyright (C) 2011 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_ATAN2], +[ + dnl Determine ATAN2_LIBM. + gl_COMMON_DOUBLE_MATHFUNC([atan2]) +]) diff --git a/m4/atan2f.m4 b/m4/atan2f.m4 new file mode 100644 index 000000000..34aeb59bb --- /dev/null +++ b/m4/atan2f.m4 @@ -0,0 +1,25 @@ +# atan2f.m4 serial 1 +dnl Copyright (C) 2011 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_ATAN2F], +[ + AC_REQUIRE([gl_MATH_H_DEFAULTS]) + AC_REQUIRE([gl_FUNC_ATAN2]) + + dnl Test whether atan2f() exists. Assume that atan2f(), if it exists, is + dnl defined in the same library as atan2(). + save_LIBS="$LIBS" + LIBS="$LIBS $ATAN2_LIBM" + AC_CHECK_FUNCS([atan2f]) + LIBS="$save_LIBS" + if test $ac_cv_func_atan2f = yes; then + ATAN2F_LIBM="$ATAN2_LIBM" + else + HAVE_ATAN2F=0 + ATAN2F_LIBM="$ATAN2_LIBM" + fi + AC_SUBST([ATAN2F_LIBM]) +]) diff --git a/m4/atanf.m4 b/m4/atanf.m4 new file mode 100644 index 000000000..e64ba0458 --- /dev/null +++ b/m4/atanf.m4 @@ -0,0 +1,25 @@ +# atanf.m4 serial 1 +dnl Copyright (C) 2011 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_ATANF], +[ + AC_REQUIRE([gl_MATH_H_DEFAULTS]) + AC_REQUIRE([gl_FUNC_ATAN]) + + dnl Test whether atanf() exists. Assume that atanf(), if it exists, is + dnl defined in the same library as atan(). + save_LIBS="$LIBS" + LIBS="$LIBS $ATAN_LIBM" + AC_CHECK_FUNCS([atanf]) + LIBS="$save_LIBS" + if test $ac_cv_func_atanf = yes; then + ATANF_LIBM="$ATAN_LIBM" + else + HAVE_ATANF=0 + ATANF_LIBM="$ATAN_LIBM" + fi + AC_SUBST([ATANF_LIBM]) +]) diff --git a/m4/atanl.m4 b/m4/atanl.m4 index 52914f6ec..330ad773f 100644 --- a/m4/atanl.m4 +++ b/m4/atanl.m4 @@ -1,4 +1,4 @@ -# atanl.m4 serial 4 +# atanl.m4 serial 6 dnl Copyright (C) 2010-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -7,6 +7,8 @@ dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_ATANL], [ AC_REQUIRE([gl_MATH_H_DEFAULTS]) + AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE]) + dnl Persuade glibc to declare atanl(). AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) @@ -51,17 +53,22 @@ AC_DEFUN([gl_FUNC_ATANL], || test $gl_cv_func_atanl_in_libm = yes; then dnl Also check whether it's declared. dnl MacOS X 10.3 has atanl() in libc but doesn't declare it in . - AC_CHECK_DECL([atanl], , [HAVE_DECL_ATANL=0], [#include ]) + AC_CHECK_DECL([atanl], , [HAVE_DECL_ATANL=0], [[#include ]]) else HAVE_DECL_ATANL=0 HAVE_ATANL=0 dnl Find libraries needed to link lib/atanl.c. - AC_REQUIRE([gl_FUNC_ISNANL]) - dnl Append $ISNANL_LIBM to ATANL_LIBM, avoiding gratuitous duplicates. - case " $ATANL_LIBM " in - *" $ISNANL_LIBM "*) ;; - *) ATANL_LIBM="$ATANL_LIBM $ISNANL_LIBM" ;; - esac + if test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 1; then + AC_REQUIRE([gl_FUNC_ATAN]) + ATANL_LIBM="$ATAN_LIBM" + else + AC_REQUIRE([gl_FUNC_ISNANL]) + dnl Append $ISNANL_LIBM to ATANL_LIBM, avoiding gratuitous duplicates. + case " $ATANL_LIBM " in + *" $ISNANL_LIBM "*) ;; + *) ATANL_LIBM="$ATANL_LIBM $ISNANL_LIBM" ;; + esac + fi fi AC_SUBST([ATANL_LIBM]) ]) diff --git a/m4/base32.m4 b/m4/base32.m4 new file mode 100644 index 000000000..efa0ef756 --- /dev/null +++ b/m4/base32.m4 @@ -0,0 +1,16 @@ +# base32.m4 serial 3 +dnl Copyright (C) 2004, 2006, 2009-2011 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_BASE32], +[ + gl_PREREQ_BASE32 +]) + +# Prerequisites of lib/base32.c. +AC_DEFUN([gl_PREREQ_BASE32], [ + AC_REQUIRE([AC_C_INLINE]) + AC_REQUIRE([AC_C_RESTRICT]) +]) diff --git a/m4/c-stack.m4 b/m4/c-stack.m4 index 8d34048e4..e8917e6ad 100644 --- a/m4/c-stack.m4 +++ b/m4/c-stack.m4 @@ -7,7 +7,7 @@ # Written by Paul Eggert. -# serial 13 +# serial 14 AC_DEFUN([AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC], [ @@ -338,7 +338,7 @@ AC_DEFUN([gl_PREREQ_C_STACK], AC_REQUIRE([AC_FUNC_ALLOCA]) AC_CHECK_FUNCS_ONCE([sigaltstack]) - AC_CHECK_DECLS([sigaltstack], , , [#include ]) + AC_CHECK_DECLS([sigaltstack], , , [[#include ]]) AC_CHECK_HEADERS_ONCE([unistd.h ucontext.h]) diff --git a/m4/ceilf.m4 b/m4/ceilf.m4 index 8b74a6d24..59f52f5b0 100644 --- a/m4/ceilf.m4 +++ b/m4/ceilf.m4 @@ -1,4 +1,4 @@ -# ceilf.m4 serial 11 +# ceilf.m4 serial 12 dnl Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -11,7 +11,7 @@ AC_DEFUN([gl_FUNC_CEILF], dnl Persuade glibc to declare ceilf(). AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) dnl Test whether ceilf() is declared. - AC_CHECK_DECLS([ceilf], , , [#include ]) + AC_CHECK_DECLS([ceilf], , , [[#include ]]) if test "$ac_cv_have_decl_ceilf" = yes; then dnl Test whether ceilf() can be used without libm. gl_FUNC_CEILF_LIBS diff --git a/m4/ceill.m4 b/m4/ceill.m4 index 6b5682092..5f56df321 100644 --- a/m4/ceill.m4 +++ b/m4/ceill.m4 @@ -1,4 +1,4 @@ -# ceill.m4 serial 10 +# ceill.m4 serial 12 dnl Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -8,10 +8,13 @@ AC_DEFUN([gl_FUNC_CEILL], [ m4_divert_text([DEFAULTS], [gl_ceill_required=plain]) AC_REQUIRE([gl_MATH_H_DEFAULTS]) + AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE]) + dnl Persuade glibc to declare ceill(). AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) + dnl Test whether ceill() is declared. - AC_CHECK_DECLS([ceill], , , [#include ]) + AC_CHECK_DECLS([ceill], , , [[#include ]]) if test "$ac_cv_have_decl_ceill" = yes; then dnl Test whether ceill() can be used without libm. gl_FUNC_CEILL_LIBS @@ -60,8 +63,13 @@ int main (int argc, char *argv[]) HAVE_DECL_CEILL=0 fi if test $HAVE_DECL_CEILL = 0 || test $REPLACE_CEILL = 1; then - dnl No libraries are needed to link lib/ceill.c. - CEILL_LIBM= + dnl Find libraries needed to link lib/ceill.c. + if test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 1; then + AC_REQUIRE([gl_FUNC_CEIL]) + CEILL_LIBM="$CEIL_LIBM" + else + CEILL_LIBM= + fi fi AC_SUBST([CEILL_LIBM]) ]) diff --git a/m4/chdir-long.m4 b/m4/chdir-long.m4 index 9a343ac98..8c38c04b3 100644 --- a/m4/chdir-long.m4 +++ b/m4/chdir-long.m4 @@ -1,4 +1,4 @@ -#serial 12 +#serial 14 # Use Gnulib's robust chdir function. # It can handle arbitrarily long directory names, which means @@ -15,12 +15,12 @@ dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_CHDIR_LONG], [ + AC_REQUIRE([gl_PATHMAX_SNIPPET_PREREQ]) AC_CACHE_CHECK([whether this system has an arbitrary file name length limit], gl_cv_have_arbitrary_file_name_length_limit, [AC_EGREP_CPP([have_arbitrary_file_name_length_limit], - [#include -#include -#if defined PATH_MAX || defined MAXPATHLEN + gl_PATHMAX_SNIPPET[ +#ifdef PATH_MAX have_arbitrary_file_name_length_limit #endif], gl_cv_have_arbitrary_file_name_length_limit=yes, diff --git a/m4/close.m4 b/m4/close.m4 index cd30d08cf..f860a320c 100644 --- a/m4/close.m4 +++ b/m4/close.m4 @@ -1,4 +1,4 @@ -# close.m4 serial 7 +# close.m4 serial 8 dnl Copyright (C) 2008-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -7,6 +7,10 @@ dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_CLOSE], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) + AC_REQUIRE([gl_MSVC_INVAL]) + if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then + REPLACE_CLOSE=1 + fi m4_ifdef([gl_PREREQ_SYS_H_WINSOCK2], [ gl_PREREQ_SYS_H_WINSOCK2 if test $UNISTD_H_HAVE_WINSOCK2_H = 1; then diff --git a/m4/closedir.m4 b/m4/closedir.m4 new file mode 100644 index 000000000..a57cd5407 --- /dev/null +++ b/m4/closedir.m4 @@ -0,0 +1,25 @@ +# closedir.m4 serial 2 +dnl Copyright (C) 2011 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_CLOSEDIR], +[ + AC_REQUIRE([gl_DIRENT_H_DEFAULTS]) + + AC_CHECK_FUNCS([closedir]) + if test $ac_cv_func_closedir = no; then + HAVE_CLOSEDIR=0 + fi + dnl Replace closedir() for supporting the gnulib-defined fchdir() function, + dnl to keep fchdir's bookkeeping up-to-date. + m4_ifdef([gl_FUNC_FCHDIR], [ + gl_TEST_FCHDIR + if test $HAVE_FCHDIR = 0; then + if test $HAVE_CLOSEDIR = 1; then + REPLACE_CLOSEDIR=1 + fi + fi + ]) +]) diff --git a/m4/copysign.m4 b/m4/copysign.m4 new file mode 100644 index 000000000..15c9bc60c --- /dev/null +++ b/m4/copysign.m4 @@ -0,0 +1,19 @@ +# copysign.m4 serial 1 +dnl Copyright (C) 2011 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_COPYSIGN], +[ + AC_REQUIRE([gl_MATH_H_DEFAULTS]) + + dnl Determine COPYSIGN_LIBM. + gl_MATHFUNC([copysign], [double], [(double, double)]) + if test $gl_cv_func_copysign_no_libm = no \ + && test $gl_cv_func_copysign_in_libm = no; then + HAVE_COPYSIGN=0 + COPYSIGN_LIBM= + fi + AC_SUBST([COPYSIGN_LIBM]) +]) diff --git a/m4/copysignf.m4 b/m4/copysignf.m4 new file mode 100644 index 000000000..00c1fe14b --- /dev/null +++ b/m4/copysignf.m4 @@ -0,0 +1,19 @@ +# copysignf.m4 serial 1 +dnl Copyright (C) 2011 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_COPYSIGNF], +[ + AC_REQUIRE([gl_MATH_H_DEFAULTS]) + + dnl Determine COPYSIGNF_LIBM. + gl_MATHFUNC([copysignf], [float], [(float, float)]) + if test $gl_cv_func_copysignf_no_libm = no \ + && test $gl_cv_func_copysignf_in_libm = no; then + HAVE_COPYSIGNF=0 + COPYSIGNF_LIBM= + fi + AC_SUBST([COPYSIGNF_LIBM]) +]) diff --git a/m4/copysignl.m4 b/m4/copysignl.m4 new file mode 100644 index 000000000..80c7b18af --- /dev/null +++ b/m4/copysignl.m4 @@ -0,0 +1,25 @@ +# copysignl.m4 serial 2 +dnl Copyright (C) 2011 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_COPYSIGNL], +[ + AC_REQUIRE([gl_MATH_H_DEFAULTS]) + AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE]) + + dnl Determine COPYSIGNL_LIBM. + gl_MATHFUNC([copysignl], [long double], [(long double, long double)]) + if test $gl_cv_func_copysignl_no_libm = no \ + && test $gl_cv_func_copysignl_in_libm = no; then + HAVE_COPYSIGNL=0 + if test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 1; then + AC_REQUIRE([gl_FUNC_COPYSIGN]) + COPYSIGNL_LIBM="$COPYSIGN_LIBM" + else + COPYSIGNL_LIBM= + fi + fi + AC_SUBST([COPYSIGNL_LIBM]) +]) diff --git a/m4/cos.m4 b/m4/cos.m4 new file mode 100644 index 000000000..a7ca2baaa --- /dev/null +++ b/m4/cos.m4 @@ -0,0 +1,11 @@ +# cos.m4 serial 1 +dnl Copyright (C) 2011 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_COS], +[ + dnl Determine COS_LIBM. + gl_COMMON_DOUBLE_MATHFUNC([cos]) +]) diff --git a/m4/cosf.m4 b/m4/cosf.m4 new file mode 100644 index 000000000..d552dfc22 --- /dev/null +++ b/m4/cosf.m4 @@ -0,0 +1,25 @@ +# cosf.m4 serial 1 +dnl Copyright (C) 2011 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_COSF], +[ + AC_REQUIRE([gl_MATH_H_DEFAULTS]) + AC_REQUIRE([gl_FUNC_COS]) + + dnl Test whether cosf() exists. Assume that cosf(), if it exists, is + dnl defined in the same library as cos(). + save_LIBS="$LIBS" + LIBS="$LIBS $COS_LIBM" + AC_CHECK_FUNCS([cosf]) + LIBS="$save_LIBS" + if test $ac_cv_func_cosf = yes; then + COSF_LIBM="$COS_LIBM" + else + HAVE_COSF=0 + COSF_LIBM="$COS_LIBM" + fi + AC_SUBST([COSF_LIBM]) +]) diff --git a/m4/cosh.m4 b/m4/cosh.m4 new file mode 100644 index 000000000..5fcf7952f --- /dev/null +++ b/m4/cosh.m4 @@ -0,0 +1,11 @@ +# cosh.m4 serial 1 +dnl Copyright (C) 2011 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_COSH], +[ + dnl Determine COSH_LIBM. + gl_COMMON_DOUBLE_MATHFUNC([cosh]) +]) diff --git a/m4/coshf.m4 b/m4/coshf.m4 new file mode 100644 index 000000000..0bbb3c37b --- /dev/null +++ b/m4/coshf.m4 @@ -0,0 +1,25 @@ +# coshf.m4 serial 1 +dnl Copyright (C) 2011 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_COSHF], +[ + AC_REQUIRE([gl_MATH_H_DEFAULTS]) + AC_REQUIRE([gl_FUNC_COSH]) + + dnl Test whether coshf() exists. Assume that coshf(), if it exists, is + dnl defined in the same library as cosh(). + save_LIBS="$LIBS" + LIBS="$LIBS $COSH_LIBM" + AC_CHECK_FUNCS([coshf]) + LIBS="$save_LIBS" + if test $ac_cv_func_coshf = yes; then + COSHF_LIBM="$COSH_LIBM" + else + HAVE_COSHF=0 + COSHF_LIBM="$COSH_LIBM" + fi + AC_SUBST([COSHF_LIBM]) +]) diff --git a/m4/cosl.m4 b/m4/cosl.m4 index 3cb90029a..946d6643b 100644 --- a/m4/cosl.m4 +++ b/m4/cosl.m4 @@ -1,4 +1,4 @@ -# cosl.m4 serial 4 +# cosl.m4 serial 6 dnl Copyright (C) 2010-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -7,6 +7,8 @@ dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_COSL], [ AC_REQUIRE([gl_MATH_H_DEFAULTS]) + AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE]) + dnl Persuade glibc to declare cosl(). AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) @@ -51,29 +53,34 @@ AC_DEFUN([gl_FUNC_COSL], || test $gl_cv_func_cosl_in_libm = yes; then dnl Also check whether it's declared. dnl MacOS X 10.3 has cosl() in libc but doesn't declare it in . - AC_CHECK_DECL([cosl], , [HAVE_DECL_COSL=0], [#include ]) + AC_CHECK_DECL([cosl], , [HAVE_DECL_COSL=0], [[#include ]]) else HAVE_DECL_COSL=0 HAVE_COSL=0 dnl Find libraries needed to link lib/cosl.c, lib/sincosl.c, lib/trigl.c. - AC_REQUIRE([gl_FUNC_ISNANL]) - AC_REQUIRE([gl_FUNC_FLOOR]) - AC_REQUIRE([gl_FUNC_FLOORL]) - dnl Append $ISNANL_LIBM to COSL_LIBM, avoiding gratuitous duplicates. - case " $COSL_LIBM " in - *" $ISNANL_LIBM "*) ;; - *) COSL_LIBM="$COSL_LIBM $ISNANL_LIBM" ;; - esac - dnl Append $FLOOR_LIBM to COSL_LIBM, avoiding gratuitous duplicates. - case " $COSL_LIBM " in - *" $FLOOR_LIBM "*) ;; - *) COSL_LIBM="$COSL_LIBM $FLOOR_LIBM" ;; - esac - dnl Append $FLOORL_LIBM to COSL_LIBM, avoiding gratuitous duplicates. - case " $COSL_LIBM " in - *" $FLOORL_LIBM "*) ;; - *) COSL_LIBM="$COSL_LIBM $FLOORL_LIBM" ;; - esac + if test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 1; then + AC_REQUIRE([gl_FUNC_COS]) + COSL_LIBM="$COS_LIBM" + else + AC_REQUIRE([gl_FUNC_ISNANL]) + AC_REQUIRE([gl_FUNC_FLOOR]) + AC_REQUIRE([gl_FUNC_FLOORL]) + dnl Append $ISNANL_LIBM to COSL_LIBM, avoiding gratuitous duplicates. + case " $COSL_LIBM " in + *" $ISNANL_LIBM "*) ;; + *) COSL_LIBM="$COSL_LIBM $ISNANL_LIBM" ;; + esac + dnl Append $FLOOR_LIBM to COSL_LIBM, avoiding gratuitous duplicates. + case " $COSL_LIBM " in + *" $FLOOR_LIBM "*) ;; + *) COSL_LIBM="$COSL_LIBM $FLOOR_LIBM" ;; + esac + dnl Append $FLOORL_LIBM to COSL_LIBM, avoiding gratuitous duplicates. + case " $COSL_LIBM " in + *" $FLOORL_LIBM "*) ;; + *) COSL_LIBM="$COSL_LIBM $FLOORL_LIBM" ;; + esac + fi fi AC_SUBST([COSL_LIBM]) ]) diff --git a/m4/dirent_h.m4 b/m4/dirent_h.m4 index fdc2c440d..ab45170b9 100644 --- a/m4/dirent_h.m4 +++ b/m4/dirent_h.m4 @@ -1,4 +1,4 @@ -# dirent_h.m4 serial 14 +# dirent_h.m4 serial 16 dnl Copyright (C) 2008-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -14,11 +14,17 @@ AC_DEFUN([gl_DIRENT_H], dnl is always overridden, because of GNULIB_POSIXCHECK. gl_CHECK_NEXT_HEADERS([dirent.h]) + if test $ac_cv_header_dirent_h = yes; then + HAVE_DIRENT_H=1 + else + HAVE_DIRENT_H=0 + fi + AC_SUBST([HAVE_DIRENT_H]) dnl Check for declarations of anything we want to poison if the dnl corresponding gnulib module is not in use. gl_WARN_ON_USE_PREPARE([[#include - ]], [alphasort dirfd fdopendir scandir]) + ]], [alphasort closedir dirfd fdopendir opendir readdir rewinddir scandir]) ]) AC_DEFUN([gl_DIRENT_MODULE_INDICATOR], @@ -33,18 +39,26 @@ AC_DEFUN([gl_DIRENT_MODULE_INDICATOR], AC_DEFUN([gl_DIRENT_H_DEFAULTS], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) dnl for REPLACE_FCHDIR + GNULIB_OPENDIR=0; AC_SUBST([GNULIB_OPENDIR]) + GNULIB_READDIR=0; AC_SUBST([GNULIB_READDIR]) + GNULIB_REWINDDIR=0; AC_SUBST([GNULIB_REWINDDIR]) + GNULIB_CLOSEDIR=0; AC_SUBST([GNULIB_CLOSEDIR]) GNULIB_DIRFD=0; AC_SUBST([GNULIB_DIRFD]) GNULIB_FDOPENDIR=0; AC_SUBST([GNULIB_FDOPENDIR]) GNULIB_SCANDIR=0; AC_SUBST([GNULIB_SCANDIR]) GNULIB_ALPHASORT=0; AC_SUBST([GNULIB_ALPHASORT]) dnl Assume proper GNU behavior unless another module says otherwise. + HAVE_OPENDIR=1; AC_SUBST([HAVE_OPENDIR]) + HAVE_READDIR=1; AC_SUBST([HAVE_READDIR]) + HAVE_REWINDDIR=1; AC_SUBST([HAVE_REWINDDIR]) + HAVE_CLOSEDIR=1; AC_SUBST([HAVE_CLOSEDIR]) HAVE_DECL_DIRFD=1; AC_SUBST([HAVE_DECL_DIRFD]) HAVE_DECL_FDOPENDIR=1;AC_SUBST([HAVE_DECL_FDOPENDIR]) HAVE_FDOPENDIR=1; AC_SUBST([HAVE_FDOPENDIR]) HAVE_SCANDIR=1; AC_SUBST([HAVE_SCANDIR]) HAVE_ALPHASORT=1; AC_SUBST([HAVE_ALPHASORT]) + REPLACE_OPENDIR=0; AC_SUBST([REPLACE_OPENDIR]) REPLACE_CLOSEDIR=0; AC_SUBST([REPLACE_CLOSEDIR]) REPLACE_DIRFD=0; AC_SUBST([REPLACE_DIRFD]) REPLACE_FDOPENDIR=0; AC_SUBST([REPLACE_FDOPENDIR]) - REPLACE_OPENDIR=0; AC_SUBST([REPLACE_OPENDIR]) ]) diff --git a/m4/dirfd.m4 b/m4/dirfd.m4 index 62dcd8830..ea75e4e7a 100644 --- a/m4/dirfd.m4 +++ b/m4/dirfd.m4 @@ -1,4 +1,4 @@ -# serial 21 -*- Autoconf -*- +# serial 22 -*- Autoconf -*- dnl Find out how to get the file descriptor associated with an open DIR*. @@ -18,8 +18,8 @@ AC_DEFUN([gl_FUNC_DIRFD], AC_CHECK_FUNCS([dirfd]) AC_CHECK_DECLS([dirfd], , , - [#include - #include ]) + [[#include + #include ]]) if test $ac_cv_have_decl_dirfd = no; then HAVE_DECL_DIRFD=0 fi diff --git a/m4/dup.m4 b/m4/dup.m4 new file mode 100644 index 000000000..83d4ecb8f --- /dev/null +++ b/m4/dup.m4 @@ -0,0 +1,27 @@ +# dup.m4 serial 2 +dnl Copyright (C) 2011 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_DUP], +[ + AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) + AC_REQUIRE([gl_MSVC_INVAL]) + if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then + REPLACE_DUP=1 + fi + dnl Replace dup() for supporting the gnulib-defined fchdir() function, + dnl to keep fchdir's bookkeeping up-to-date. + m4_ifdef([gl_FUNC_FCHDIR], [ + gl_TEST_FCHDIR + if test $HAVE_FCHDIR = 0; then + REPLACE_DUP=1 + fi + ]) +]) + +# Prerequisites of lib/dup.c. +AC_DEFUN([gl_PREREQ_DUP], [ + AC_REQUIRE([AC_C_INLINE]) +]) diff --git a/m4/dup2.m4 b/m4/dup2.m4 index 5c2cc9674..15432828f 100644 --- a/m4/dup2.m4 +++ b/m4/dup2.m4 @@ -1,4 +1,4 @@ -#serial 14 +#serial 17 dnl Copyright (C) 2002, 2005, 2007, 2009-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -67,7 +67,12 @@ AC_DEFUN([gl_FUNC_DUP2], m4_ifdef([gl_FUNC_FCHDIR], [ gl_TEST_FCHDIR if test $HAVE_FCHDIR = 0; then - REPLACE_DUP2=1 + if test $HAVE_DUP2 = 1; then + REPLACE_DUP2=1 + fi fi ]) ]) + +# Prerequisites of lib/dup2.c. +AC_DEFUN([gl_PREREQ_DUP2], []) diff --git a/m4/dup3.m4 b/m4/dup3.m4 index 29b8dc0a3..6406312f2 100644 --- a/m4/dup3.m4 +++ b/m4/dup3.m4 @@ -1,4 +1,4 @@ -# dup3.m4 serial 3 +# dup3.m4 serial 4 dnl Copyright (C) 2009-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -22,7 +22,9 @@ dnl dnl to keep fchdir's bookkeeping up-to-date. dnl m4_ifdef([gl_FUNC_FCHDIR], [ dnl gl_TEST_FCHDIR dnl if test $HAVE_FCHDIR = 0; then -dnl REPLACE_DUP3=1 +dnl if test $HAVE_DUP3 = 1; then +dnl REPLACE_DUP3=1 +dnl fi dnl fi dnl ]) ]) diff --git a/m4/environ.m4 b/m4/environ.m4 index 7457ad139..6c7982f9b 100644 --- a/m4/environ.m4 +++ b/m4/environ.m4 @@ -1,4 +1,4 @@ -# environ.m4 serial 5 +# environ.m4 serial 6 dnl Copyright (C) 2001-2004, 2006-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -9,7 +9,16 @@ AC_DEFUN_ONCE([gl_ENVIRON], AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) dnl Persuade glibc to declare environ. AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) - gt_CHECK_VAR_DECL([#include ], environ) + + AC_CHECK_HEADERS_ONCE([unistd.h]) + gt_CHECK_VAR_DECL( + [#if HAVE_UNISTD_H + #include + #endif + /* mingw, BeOS, Haiku declare environ in , not in . */ + #include + ], + [environ]) if test $gt_cv_var_environ_declaration != yes; then HAVE_DECL_ENVIRON=0 fi diff --git a/m4/euidaccess.m4 b/m4/euidaccess.m4 index 5066e62e0..648c63428 100644 --- a/m4/euidaccess.m4 +++ b/m4/euidaccess.m4 @@ -1,4 +1,4 @@ -# euidaccess.m4 serial 13 +# euidaccess.m4 serial 14 dnl Copyright (C) 2002-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -37,7 +37,7 @@ AC_DEFUN([gl_PREREQ_EUIDACCESS], [ AC_CHECK_DECLS_ONCE([setregid]) AC_REQUIRE([AC_FUNC_GETGROUPS]) - # Solaris 9 needs -lgen to get the eaccess function. + # Solaris 9 and 10 need -lgen to get the eaccess function. # Save and restore LIBS so -lgen isn't added to it. Otherwise, *all* # programs in the package would end up linked with that potentially-shared # library, inducing unnecessary run-time overhead. diff --git a/m4/exp.m4 b/m4/exp.m4 new file mode 100644 index 000000000..f6593266b --- /dev/null +++ b/m4/exp.m4 @@ -0,0 +1,11 @@ +# exp.m4 serial 1 +dnl Copyright (C) 2011 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_EXP], +[ + dnl Determine EXP_LIBM. + gl_COMMON_DOUBLE_MATHFUNC([exp]) +]) diff --git a/m4/expf.m4 b/m4/expf.m4 new file mode 100644 index 000000000..0a9b4c9e9 --- /dev/null +++ b/m4/expf.m4 @@ -0,0 +1,25 @@ +# expf.m4 serial 1 +dnl Copyright (C) 2011 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_EXPF], +[ + AC_REQUIRE([gl_MATH_H_DEFAULTS]) + AC_REQUIRE([gl_FUNC_EXP]) + + dnl Test whether expf() exists. Assume that expf(), if it exists, is + dnl defined in the same library as exp(). + save_LIBS="$LIBS" + LIBS="$LIBS $EXP_LIBM" + AC_CHECK_FUNCS([expf]) + LIBS="$save_LIBS" + if test $ac_cv_func_expf = yes; then + EXPF_LIBM="$EXP_LIBM" + else + HAVE_EXPF=0 + EXPF_LIBM="$EXP_LIBM" + fi + AC_SUBST([EXPF_LIBM]) +]) diff --git a/m4/expl.m4 b/m4/expl.m4 index 8f1a9a978..af60829fa 100644 --- a/m4/expl.m4 +++ b/m4/expl.m4 @@ -1,4 +1,4 @@ -# expl.m4 serial 3 +# expl.m4 serial 5 dnl Copyright (C) 2010-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -7,6 +7,8 @@ dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_EXPL], [ AC_REQUIRE([gl_MATH_H_DEFAULTS]) + AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE]) + dnl Persuade glibc to declare expl(). AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) @@ -51,13 +53,18 @@ AC_DEFUN([gl_FUNC_EXPL], || test $gl_cv_func_expl_in_libm = yes; then dnl Also check whether it's declared. dnl MacOS X 10.3 has expl() in libc but doesn't declare it in . - AC_CHECK_DECL([expl], , [HAVE_DECL_EXPL=0], [#include ]) + AC_CHECK_DECL([expl], , [HAVE_DECL_EXPL=0], [[#include ]]) else HAVE_DECL_EXPL=0 HAVE_EXPL=0 dnl Find libraries needed to link lib/expl.c. - AC_REQUIRE([gl_FUNC_FLOORL]) - EXPL_LIBM="$FLOORL_LIBM" + if test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 1; then + AC_REQUIRE([gl_FUNC_EXP]) + EXPL_LIBM="$EXP_LIBM" + else + AC_REQUIRE([gl_FUNC_FLOORL]) + EXPL_LIBM="$FLOORL_LIBM" + fi fi AC_SUBST([EXPL_LIBM]) ]) diff --git a/m4/fabs.m4 b/m4/fabs.m4 new file mode 100644 index 000000000..f4478c583 --- /dev/null +++ b/m4/fabs.m4 @@ -0,0 +1,11 @@ +# fabs.m4 serial 1 +dnl Copyright (C) 2011 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_FABS], +[ + dnl Determine FABS_LIBM. + gl_MATHFUNC([fabs], [double], [(double)]) +]) diff --git a/m4/fabsf.m4 b/m4/fabsf.m4 new file mode 100644 index 000000000..90e46a64b --- /dev/null +++ b/m4/fabsf.m4 @@ -0,0 +1,22 @@ +# fabsf.m4 serial 2 +dnl Copyright (C) 2011 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_FABSF], +[ + AC_REQUIRE([gl_MATH_H_DEFAULTS]) + AC_REQUIRE([gl_FUNC_FABS]) + + dnl Test whether fabsf() exists. We cannot assume that fabsf(), if it + dnl exists, is defined in the same library as fabs(). This is not the case + dnl on FreeBSD, NetBSD, OpenBSD. + gl_MATHFUNC([fabsf], [float], [(float)]) + if test $gl_cv_func_fabsf_no_libm = no \ + && test $gl_cv_func_fabsf_in_libm = no; then + HAVE_FABSF=0 + FABSF_LIBM="$FABS_LIBM" + fi + AC_SUBST([FABSF_LIBM]) +]) diff --git a/m4/faccessat.m4 b/m4/faccessat.m4 index d7ba5acfb..640ae0b3d 100644 --- a/m4/faccessat.m4 +++ b/m4/faccessat.m4 @@ -1,4 +1,4 @@ -# serial 3 +# serial 5 # See if we need to provide faccessat replacement. dnl Copyright (C) 2009-2011 Free Software Foundation, Inc. @@ -10,14 +10,19 @@ dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_FACCESSAT], [ - AC_REQUIRE([gl_FUNC_OPENAT]) - AC_REQUIRE([gl_FUNC_EUIDACCESS]) AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) + + dnl Persuade glibc to declare faccessat(). AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) - AC_CHECK_FUNCS_ONCE([access]) + AC_CHECK_FUNCS_ONCE([faccessat]) if test $ac_cv_func_faccessat = no; then HAVE_FACCESSAT=0 - AC_LIBOBJ([faccessat]) fi ]) + +# Prerequisites of lib/faccessat.m4. +AC_DEFUN([gl_PREREQ_FACCESSAT], +[ + AC_CHECK_FUNCS_ONCE([access]) +]) diff --git a/m4/fchdir.m4 b/m4/fchdir.m4 index a387dbb4f..30e0af163 100644 --- a/m4/fchdir.m4 +++ b/m4/fchdir.m4 @@ -1,4 +1,4 @@ -# fchdir.m4 serial 17 +# fchdir.m4 serial 20 dnl Copyright (C) 2006-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -8,7 +8,6 @@ AC_DEFUN([gl_FUNC_FCHDIR], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) AC_REQUIRE([gl_DIRENT_H_DEFAULTS]) - AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS]) AC_CHECK_DECLS_ONCE([fchdir]) if test $ac_cv_have_decl_fchdir = no; then @@ -24,9 +23,6 @@ AC_DEFUN([gl_FUNC_FCHDIR], dnl We must also replace anything that can manipulate a directory fd, dnl to keep our bookkeeping up-to-date. We don't have to replace dnl fstatat, since no platform has fstatat but lacks fchdir. - REPLACE_OPENDIR=1 - REPLACE_CLOSEDIR=1 - REPLACE_DUP=1 AC_CACHE_CHECK([whether open can visit directories], [gl_cv_func_open_directory_works], [AC_RUN_IFELSE([AC_LANG_PROGRAM([[#include @@ -37,7 +33,6 @@ AC_DEFUN([gl_FUNC_FCHDIR], if test "$gl_cv_func_open_directory_works" != yes; then AC_DEFINE([REPLACE_OPEN_DIRECTORY], [1], [Define to 1 if open() should work around the inability to open a directory.]) - REPLACE_FSTAT=1 fi fi ]) diff --git a/m4/fchmodat.m4 b/m4/fchmodat.m4 new file mode 100644 index 000000000..76d4a720d --- /dev/null +++ b/m4/fchmodat.m4 @@ -0,0 +1,17 @@ +# fchmodat.m4 serial 1 +dnl Copyright (C) 2004-2011 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +# Written by Jim Meyering. + +AC_DEFUN([gl_FUNC_FCHMODAT], +[ + AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS]) + AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) + AC_CHECK_FUNCS_ONCE([fchmodat lchmod]) + if test $ac_cv_func_fchmodat != yes; then + HAVE_FCHMODAT=0 + fi +]) diff --git a/m4/fchownat.m4 b/m4/fchownat.m4 new file mode 100644 index 000000000..37cfdb920 --- /dev/null +++ b/m4/fchownat.m4 @@ -0,0 +1,108 @@ +# fchownat.m4 serial 1 +dnl Copyright (C) 2004-2011 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +# Written by Jim Meyering. + +# If we have the fchownat function, and it has the bug (in glibc-2.4) +# that it dereferences symlinks even with AT_SYMLINK_NOFOLLOW, then +# use the replacement function. +# Also if the fchownat function, like chown, has the trailing slash bug, +# use the replacement function. +# Also use the replacement function if fchownat is simply not available. +AC_DEFUN([gl_FUNC_FCHOWNAT], +[ + AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) + AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) + AC_REQUIRE([gl_FUNC_CHOWN]) + AC_CHECK_FUNC([fchownat], + [gl_FUNC_FCHOWNAT_DEREF_BUG( + [REPLACE_FCHOWNAT=1 + AC_DEFINE([FCHOWNAT_NOFOLLOW_BUG], [1], + [Define to 1 if your platform has fchownat, but it cannot + perform lchown tasks.]) + ]) + gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG( + [REPLACE_FCHOWNAT=1 + AC_DEFINE([FCHOWNAT_EMPTY_FILENAME_BUG], [1], + [Define to 1 if your platform has fchownat, but it does + not reject an empty file name.]) + ]) + if test $REPLACE_CHOWN = 1; then + REPLACE_FCHOWNAT=1 + fi], + [HAVE_FCHOWNAT=0]) +]) + +# gl_FUNC_FCHOWNAT_DEREF_BUG([ACTION-IF-BUGGY[, ACTION-IF-NOT_BUGGY]]) +AC_DEFUN([gl_FUNC_FCHOWNAT_DEREF_BUG], +[ + dnl Persuade glibc's to declare fchownat(). + AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) + + AC_CACHE_CHECK([whether fchownat works with AT_SYMLINK_NOFOLLOW], + gl_cv_func_fchownat_nofollow_works, + [ + gl_dangle=conftest.dangle + # Remove any remnants of a previous test. + rm -f $gl_dangle + # Arrange for deletion of the temporary file this test creates. + ac_clean_files="$ac_clean_files $gl_dangle" + ln -s conftest.no-such $gl_dangle + AC_RUN_IFELSE( + [AC_LANG_SOURCE( + [[ +#include +#include +#include +#include +#include +int +main () +{ + return (fchownat (AT_FDCWD, "$gl_dangle", -1, getgid (), + AT_SYMLINK_NOFOLLOW) != 0 + && errno == ENOENT); +} + ]])], + [gl_cv_func_fchownat_nofollow_works=yes], + [gl_cv_func_fchownat_nofollow_works=no], + [gl_cv_func_fchownat_nofollow_works=no], + ) + ]) + AS_IF([test $gl_cv_func_fchownat_nofollow_works = no], [$1], [$2]) +]) + +# gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG([ACTION-IF-BUGGY[, ACTION-IF-NOT_BUGGY]]) +AC_DEFUN([gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG], +[ + dnl Persuade glibc's to declare fchownat(). + AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) + + AC_CACHE_CHECK([whether fchownat works with an empty file name], + [gl_cv_func_fchownat_empty_filename_works], + [AC_RUN_IFELSE( + [AC_LANG_PROGRAM( + [[#include + #include + ]], + [[int fd; + int ret; + if (mkdir ("conftestdir", 0700) < 0) + return 2; + fd = open ("conftestdir", O_RDONLY); + if (fd < 0) + return 3; + ret = fchownat (fd, "", -1, -1, 0); + close (fd); + rmdir ("conftestdir"); + return ret == 0; + ]])], + [gl_cv_func_fchownat_empty_filename_works=yes], + [gl_cv_func_fchownat_empty_filename_works=no], + [gl_cv_func_fchownat_empty_filename_works="guessing no"]) + ]) + AS_IF([test "$gl_cv_func_fchownat_empty_filename_works" != yes], [$1], [$2]) +]) diff --git a/m4/fcntl-o.m4 b/m4/fcntl-o.m4 index 88db07ec7..bee6edc11 100644 --- a/m4/fcntl-o.m4 +++ b/m4/fcntl-o.m4 @@ -1,4 +1,4 @@ -# fcntl-o.m4 serial 3 +# fcntl-o.m4 serial 4 dnl Copyright (C) 2006, 2009-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -17,12 +17,21 @@ AC_DEFUN([gl_FCNTL_O_FLAGS], m4_ifdef([AC_USE_SYSTEM_EXTENSIONS], [AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])], [AC_REQUIRE([AC_GNU_SOURCE])]) + + AC_CHECK_HEADERS_ONCE([unistd.h]) + AC_CHECK_FUNCS_ONCE([symlink]) AC_CACHE_CHECK([for working fcntl.h], [gl_cv_header_working_fcntl_h], [AC_RUN_IFELSE( [AC_LANG_PROGRAM( [[#include #include - #include + #if HAVE_UNISTD_H + # include + #else /* on Windows with MSVC */ + # include + # include + # defined sleep(n) _sleep ((n) * 1000) + #endif #include #ifndef O_NOATIME #define O_NOATIME 0 @@ -38,6 +47,7 @@ AC_DEFUN([gl_FCNTL_O_FLAGS], ]], [[ int result = !constants; + #if HAVE_SYMLINK { static char const sym[] = "conftest.sym"; if (symlink (".", sym) != 0) @@ -53,6 +63,7 @@ AC_DEFUN([gl_FCNTL_O_FLAGS], } unlink (sym); } + #endif { static char const file[] = "confdefs.h"; int fd = open (file, O_RDONLY | O_NOATIME); diff --git a/m4/fcntl_h.m4 b/m4/fcntl_h.m4 index c466da4df..03a41e670 100644 --- a/m4/fcntl_h.m4 +++ b/m4/fcntl_h.m4 @@ -1,4 +1,4 @@ -# serial 13 +# serial 15 # Configure fcntl.h. dnl Copyright (C) 2006-2007, 2009-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation @@ -13,6 +13,12 @@ AC_DEFUN([gl_FCNTL_H], AC_REQUIRE([gl_FCNTL_O_FLAGS]) gl_NEXT_HEADERS([fcntl.h]) + dnl Ensure the type pid_t gets defined. + AC_REQUIRE([AC_TYPE_PID_T]) + + dnl Ensure the type mode_t gets defined. + AC_REQUIRE([AC_TYPE_MODE_T]) + dnl Check for declarations of anything we want to poison if the dnl corresponding gnulib module is not in use, if it is not common dnl enough to be declared everywhere. diff --git a/m4/fdatasync.m4 b/m4/fdatasync.m4 new file mode 100644 index 000000000..ce3d0c6ba --- /dev/null +++ b/m4/fdatasync.m4 @@ -0,0 +1,32 @@ +# fdatasync.m4 serial 3 +dnl Copyright (C) 2008-2011 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_FDATASYNC], +[ + AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) + + dnl Using AC_CHECK_FUNCS_ONCE would break our subsequent AC_SEARCH_LIBS + AC_CHECK_DECLS_ONCE([fdatasync]) + LIB_FDATASYNC= + AC_SUBST([LIB_FDATASYNC]) + + if test $ac_cv_have_decl_fdatasync = no; then + HAVE_DECL_FDATASYNC=0 + dnl MacOS X 10.7 has fdatasync but does not declare it. + AC_CHECK_FUNCS([fdatasync]) + if test $ac_cv_func_fdatasync = no; then + HAVE_FDATASYNC=0 + fi + else + dnl Solaris <= 2.6 has fdatasync() in libposix4. + dnl Solaris 7..10 has it in librt. + gl_saved_libs=$LIBS + AC_SEARCH_LIBS([fdatasync], [rt posix4], + [test "$ac_cv_search_fdatasync" = "none required" || + LIB_FDATASYNC=$ac_cv_search_fdatasync]) + LIBS=$gl_saved_libs + fi +]) diff --git a/m4/fdopen.m4 b/m4/fdopen.m4 new file mode 100644 index 000000000..8cae2fc27 --- /dev/null +++ b/m4/fdopen.m4 @@ -0,0 +1,49 @@ +# fdopen.m4 serial 2 +dnl Copyright (C) 2011 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_FDOPEN], +[ + AC_REQUIRE([gl_STDIO_H_DEFAULTS]) + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles + AC_REQUIRE([gl_MSVC_INVAL]) + if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then + REPLACE_FDOPEN=1 + else + dnl Test whether fdopen() sets errno when it fails due to a bad fd argument. + AC_CACHE_CHECK([whether fdopen sets errno], [gl_cv_func_fdopen_works], + [ + AC_RUN_IFELSE( + [AC_LANG_SOURCE([[ +#include +#include +int +main (void) +{ + FILE *fp; + errno = 0; + fp = fdopen (-1, "r"); + if (fp != NULL) + return 1; + if (errno == 0) + return 2; + return 0; +}]])], + [gl_cv_func_fdopen_works=yes], + [gl_cv_func_fdopen_works=no], + [case "$host_os" in + mingw*) gl_cv_func_fdopen_works="guessing no" ;; + *) gl_cv_func_fdopen_works="guessing yes" ;; + esac + ]) + ]) + case "$gl_cv_func_fdopen_works" in + *no) REPLACE_FDOPEN=1 ;; + esac + fi +]) + +dnl Prerequisites of lib/fdopen.c. +AC_DEFUN([gl_PREREQ_FDOPEN], []) diff --git a/m4/fdopendir.m4 b/m4/fdopendir.m4 index f0d8cfa67..3ac08b26d 100644 --- a/m4/fdopendir.m4 +++ b/m4/fdopendir.m4 @@ -1,4 +1,4 @@ -# serial 8 +# serial 9 # See if we need to provide fdopendir. dnl Copyright (C) 2009-2011 Free Software Foundation, Inc. @@ -10,7 +10,10 @@ dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_FDOPENDIR], [ + AC_REQUIRE([gl_DIRENT_H_DEFAULTS]) + AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) + dnl FreeBSD 7.3 has the function, but failed to declare it. AC_CHECK_DECLS([fdopendir], [], [HAVE_DECL_FDOPENDIR=0], [[ #include diff --git a/m4/fegetround.m4 b/m4/fegetround.m4 new file mode 100644 index 000000000..37db5c885 --- /dev/null +++ b/m4/fegetround.m4 @@ -0,0 +1,20 @@ +# fegetround.m4 serial 1 +dnl Copyright (C) 2011 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_FEGETROUND], +[ + dnl Determine FEGETROUND_LIBM. + gl_MATHFUNC([fegetround], [int], [(void)], [#include ]) + if test $gl_cv_func_fegetround_no_libm = no \ + && test $gl_cv_func_fegetround_in_libm = no; then + HAVE_FEGETROUND=0 + else + HAVE_FEGETROUND=1 + AC_DEFINE([HAVE_FEGETROUND], [1], + [Define to 1 if you have the 'fegetround' function.]) + fi + AC_SUBST([FEGETROUND_LIBM]) +]) diff --git a/m4/fflush.m4 b/m4/fflush.m4 index a91ee0bea..f74a1f842 100644 --- a/m4/fflush.m4 +++ b/m4/fflush.m4 @@ -1,4 +1,4 @@ -# fflush.m4 serial 12 +# fflush.m4 serial 13 # Copyright (C) 2007-2011 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation @@ -24,13 +24,18 @@ dnl Sets gl_cv_func_fflush_stdin. AC_DEFUN([gl_FUNC_FFLUSH_STDIN], [ + AC_CHECK_HEADERS_ONCE([unistd.h]) AC_CACHE_CHECK([whether fflush works on input streams], [gl_cv_func_fflush_stdin], [echo hello world > conftest.txt AC_RUN_IFELSE([AC_LANG_PROGRAM( [[ #include -#include +#if HAVE_UNISTD_H +# include +#else /* on Windows with MSVC */ +# include +#endif ]], [[FILE *f = fopen ("conftest.txt", "r"); char buffer[10]; int fd; diff --git a/m4/float_h.m4 b/m4/float_h.m4 index 261f1ac3a..0420e0692 100644 --- a/m4/float_h.m4 +++ b/m4/float_h.m4 @@ -1,4 +1,4 @@ -# float_h.m4 serial 7 +# float_h.m4 serial 9 dnl Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -33,17 +33,66 @@ changequote([,])dnl ;; esac ;; + linux*) + case "$host_cpu" in + powerpc*) + FLOAT_H=float.h + ;; + esac + ;; esac case "$host_os" in - aix* | freebsd*) + aix* | freebsd* | linux*) if test -n "$FLOAT_H"; then REPLACE_FLOAT_LDBL=1 fi ;; esac + + dnl Test against glibc-2.7 Linux/SPARC64 bug. + REPLACE_ITOLD=0 + AC_CACHE_CHECK([whether conversion from 'int' to 'long double' works], + [gl_cv_func_itold_works], + [ + AC_RUN_IFELSE( + [AC_LANG_SOURCE([[ +int i = -1; +volatile long double ld; +int main () +{ + ld += i * 1.0L; + if (ld > 0) + return 1; + return 0; +}]])], + [gl_cv_func_itold_works=yes], + [gl_cv_func_itold_works=no], + [case "$host" in + sparc*-*-linux*) + AC_EGREP_CPP([yes], + [#if defined __LP64__ || defined __arch64__ + yes + #endif], + [gl_cv_func_itold_works="guessing no"], + [gl_cv_func_itold_works="guessing yes"]) + ;; + *) gl_cv_func_itold_works="guessing yes" ;; + esac + ]) + ]) + case "$gl_cv_func_itold_works" in + *no) + REPLACE_ITOLD=1 + dnl We add the workaround to but also to , + dnl to increase the chances that the fix function gets pulled in. + FLOAT_H=float.h + ;; + esac + if test -n "$FLOAT_H"; then gl_NEXT_HEADERS([float.h]) fi AC_SUBST([FLOAT_H]) AM_CONDITIONAL([GL_GENERATE_FLOAT_H], [test -n "$FLOAT_H"]) + AC_SUBST([REPLACE_ITOLD]) ]) diff --git a/m4/floorf.m4 b/m4/floorf.m4 index aa76f8cae..83bfc78bc 100644 --- a/m4/floorf.m4 +++ b/m4/floorf.m4 @@ -1,4 +1,4 @@ -# floorf.m4 serial 10 +# floorf.m4 serial 11 dnl Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -11,7 +11,7 @@ AC_DEFUN([gl_FUNC_FLOORF], dnl Persuade glibc to declare floorf(). AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) dnl Test whether floorf() is declared. - AC_CHECK_DECLS([floorf], , , [#include ]) + AC_CHECK_DECLS([floorf], , , [[#include ]]) if test "$ac_cv_have_decl_floorf" = yes; then dnl Test whether floorf() can be used without libm. gl_FUNC_FLOORF_LIBS diff --git a/m4/floorl.m4 b/m4/floorl.m4 index f21285d24..a90c69322 100644 --- a/m4/floorl.m4 +++ b/m4/floorl.m4 @@ -1,4 +1,4 @@ -# floorl.m4 serial 8 +# floorl.m4 serial 10 dnl Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -7,10 +7,13 @@ dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_FLOORL], [ AC_REQUIRE([gl_MATH_H_DEFAULTS]) + AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE]) + dnl Persuade glibc to declare floorl(). AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) + dnl Test whether floorl() is declared. - AC_CHECK_DECLS([floorl], , , [#include ]) + AC_CHECK_DECLS([floorl], , , [[#include ]]) if test "$ac_cv_have_decl_floorl" = yes; then dnl Test whether floorl() can be used without libm. gl_FUNC_FLOORL_LIBS @@ -23,8 +26,13 @@ AC_DEFUN([gl_FUNC_FLOORL], HAVE_DECL_FLOORL=0 fi if test $HAVE_DECL_FLOORL = 0 || test $REPLACE_FLOORL = 1; then - dnl No libraries are needed to link lib/floorl.c. - FLOORL_LIBM= + dnl Find libraries needed to link lib/floorl.c. + if test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 1; then + AC_REQUIRE([gl_FUNC_FLOOR]) + FLOORL_LIBM="$FLOOR_LIBM" + else + FLOORL_LIBM= + fi fi AC_SUBST([FLOORL_LIBM]) ]) diff --git a/m4/fma.m4 b/m4/fma.m4 new file mode 100644 index 000000000..3ce3f9a05 --- /dev/null +++ b/m4/fma.m4 @@ -0,0 +1,166 @@ +# fma.m4 serial 1 +dnl Copyright (C) 2011 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_FMA], +[ + AC_REQUIRE([gl_MATH_H_DEFAULTS]) + + dnl Determine FMA_LIBM. + gl_MATHFUNC([fma], [double], [(double, double, double)]) + if test $gl_cv_func_fma_no_libm = yes \ + || test $gl_cv_func_fma_in_libm = yes; then + gl_FUNC_FMA_WORKS + case "$gl_cv_func_fma_works" in + *no) REPLACE_FMA=1 ;; + esac + else + HAVE_FMA=0 + fi + if test $HAVE_FMA = 0 || test $REPLACE_FMA = 1; then + dnl Find libraries needed to link lib/fmal.c. + AC_REQUIRE([gl_FUNC_FREXP]) + AC_REQUIRE([gl_FUNC_LDEXP]) + AC_REQUIRE([gl_FUNC_FEGETROUND]) + FMA_LIBM= + dnl Append $FREXP_LIBM to FMA_LIBM, avoiding gratuitous duplicates. + case " $FMA_LIBM " in + *" $FREXP_LIBM "*) ;; + *) FMA_LIBM="$FMA_LIBM $FREXP_LIBM" ;; + esac + dnl Append $LDEXP_LIBM to FMA_LIBM, avoiding gratuitous duplicates. + case " $FMA_LIBM " in + *" $LDEXP_LIBM "*) ;; + *) FMA_LIBM="$FMA_LIBM $LDEXP_LIBM" ;; + esac + dnl Append $FEGETROUND_LIBM to FMA_LIBM, avoiding gratuitous duplicates. + case " $FMA_LIBM " in + *" $FEGETROUND_LIBM "*) ;; + *) FMA_LIBM="$FMA_LIBM $FEGETROUND_LIBM" ;; + esac + fi + AC_SUBST([FMA_LIBM]) +]) + +dnl Test whether fma() has any of the 7 known bugs of glibc 2.11.3 on x86_64. +AC_DEFUN([gl_FUNC_FMA_WORKS], +[ + AC_REQUIRE([AC_PROG_CC]) + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles + AC_REQUIRE([gl_FUNC_LDEXP]) + save_LIBS="$LIBS" + LIBS="$LIBS $FMA_LIBM $LDEXP_LIBM" + AC_CACHE_CHECK([whether fma works], [gl_cv_func_fma_works], + [ + AC_RUN_IFELSE( + [AC_LANG_SOURCE([[ +#include +#include +double p0 = 0.0; +int main() +{ + int failed_tests = 0; + /* These tests fail with glibc 2.11.3 on x86_64. */ + { + volatile double x = 1.5; /* 3 * 2^-1 */ + volatile double y = x; + volatile double z = ldexp (1.0, DBL_MANT_DIG + 1); /* 2^54 */ + /* x * y + z with infinite precision: 2^54 + 9 * 2^-2. + Lies between (2^52 + 0) * 2^2 and (2^52 + 1) * 2^2 + and is closer to (2^52 + 1) * 2^2, therefore the rounding + must round up and produce (2^52 + 1) * 2^2. */ + volatile double expected = z + 4.0; + volatile double result = fma (x, y, z); + if (result != expected) + failed_tests |= 1; + } + { + volatile double x = 1.25; /* 2^0 + 2^-2 */ + volatile double y = - x; + volatile double z = ldexp (1.0, DBL_MANT_DIG + 1); /* 2^54 */ + /* x * y + z with infinite precision: 2^54 - 2^0 - 2^-1 - 2^-4. + Lies between (2^53 - 1) * 2^1 and 2^53 * 2^1 + and is closer to (2^53 - 1) * 2^1, therefore the rounding + must round down and produce (2^53 - 1) * 2^1. */ + volatile double expected = (ldexp (1.0, DBL_MANT_DIG) - 1.0) * 2.0; + volatile double result = fma (x, y, z); + if (result != expected) + failed_tests |= 2; + } + { + volatile double x = 1.0 + ldexp (1.0, 1 - DBL_MANT_DIG); /* 2^0 + 2^-52 */ + volatile double y = x; + volatile double z = 4.0; /* 2^2 */ + /* x * y + z with infinite precision: 2^2 + 2^0 + 2^-51 + 2^-104. + Lies between (2^52 + 2^50) * 2^-50 and (2^52 + 2^50 + 1) * 2^-50 + and is closer to (2^52 + 2^50 + 1) * 2^-50, therefore the rounding + must round up and produce (2^52 + 2^50 + 1) * 2^-50. */ + volatile double expected = 4.0 + 1.0 + ldexp (1.0, 3 - DBL_MANT_DIG); + volatile double result = fma (x, y, z); + if (result != expected) + failed_tests |= 4; + } + { + volatile double x = 1.0 + ldexp (1.0, 1 - DBL_MANT_DIG); /* 2^0 + 2^-52 */ + volatile double y = - x; + volatile double z = 8.0; /* 2^3 */ + /* x * y + z with infinite precision: 2^2 + 2^1 + 2^0 - 2^-51 - 2^-104. + Lies between (2^52 + 2^51 + 2^50 - 1) * 2^-50 and + (2^52 + 2^51 + 2^50) * 2^-50 and is closer to + (2^52 + 2^51 + 2^50 - 1) * 2^-50, therefore the rounding + must round down and produce (2^52 + 2^51 + 2^50 - 1) * 2^-50. */ + volatile double expected = 7.0 - ldexp (1.0, 3 - DBL_MANT_DIG); + volatile double result = fma (x, y, z); + if (result != expected) + failed_tests |= 8; + } + { + volatile double x = 1.25; /* 2^0 + 2^-2 */ + volatile double y = - 0.75; /* - 2^0 + 2^-2 */ + volatile double z = ldexp (1.0, DBL_MANT_DIG); /* 2^53 */ + /* x * y + z with infinite precision: 2^53 - 2^0 + 2^-4. + Lies between (2^53 - 2^0) and 2^53 and is closer to (2^53 - 2^0), + therefore the rounding must round down and produce (2^53 - 2^0). */ + volatile double expected = ldexp (1.0, DBL_MANT_DIG) - 1.0; + volatile double result = fma (x, y, z); + if (result != expected) + failed_tests |= 16; + } + if ((DBL_MANT_DIG % 2) == 1) + { + volatile double x = 1.0 + ldexp (1.0, - (DBL_MANT_DIG + 1) / 2); /* 2^0 + 2^-27 */ + volatile double y = 1.0 - ldexp (1.0, - (DBL_MANT_DIG + 1) / 2); /* 2^0 - 2^-27 */ + volatile double z = - ldexp (1.0, DBL_MIN_EXP - DBL_MANT_DIG); /* - 2^-1074 */ + /* x * y + z with infinite precision: 2^0 - 2^-54 - 2^-1074. + Lies between (2^53 - 1) * 2^-53 and 2^53 * 2^-53 and is closer to + (2^53 - 1) * 2^-53, therefore the rounding must round down and + produce (2^53 - 1) * 2^-53. */ + volatile double expected = 1.0 - ldexp (1.0, - DBL_MANT_DIG); + volatile double result = fma (x, y, z); + if (result != expected) + failed_tests |= 32; + } + { + double minus_inf = -1.0 / p0; + volatile double x = ldexp (1.0, DBL_MAX_EXP - 1); + volatile double y = ldexp (1.0, DBL_MAX_EXP - 1); + volatile double z = minus_inf; + volatile double result = fma (x, y, z); + if (!(result == minus_inf)) + failed_tests |= 64; + } + return failed_tests; +}]])], + [gl_cv_func_fma_works=yes], + [gl_cv_func_fma_works=no], + [dnl Guess no, even on glibc systems. + gl_cv_func_fma_works="guessing no" + ]) + ]) + LIBS="$save_LIBS" +]) + +# Prerequisites of lib/fma.c. +AC_DEFUN([gl_PREREQ_FMA], [:]) diff --git a/m4/fmaf.m4 b/m4/fmaf.m4 new file mode 100644 index 000000000..9d6eb3795 --- /dev/null +++ b/m4/fmaf.m4 @@ -0,0 +1,167 @@ +# fmaf.m4 serial 1 +dnl Copyright (C) 2011 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_FMAF], +[ + AC_REQUIRE([gl_MATH_H_DEFAULTS]) + + dnl Determine FMAF_LIBM. + gl_MATHFUNC([fmaf], [float], [(float, float, float)]) + if test $gl_cv_func_fmaf_no_libm = yes \ + || test $gl_cv_func_fmaf_in_libm = yes; then + gl_FUNC_FMAF_WORKS + case "$gl_cv_func_fmaf_works" in + *no) REPLACE_FMAF=1 ;; + esac + else + HAVE_FMAF=0 + fi + if test $HAVE_FMAF = 0 || test $REPLACE_FMAF = 1; then + dnl Find libraries needed to link lib/fmaf.c. + AC_REQUIRE([gl_FUNC_FREXPF]) + AC_REQUIRE([gl_FUNC_LDEXPF]) + AC_REQUIRE([gl_FUNC_FEGETROUND]) + FMAF_LIBM= + dnl Append $FREXPF_LIBM to FMAF_LIBM, avoiding gratuitous duplicates. + case " $FMAF_LIBM " in + *" $FREXPF_LIBM "*) ;; + *) FMAF_LIBM="$FMAF_LIBM $FREXPF_LIBM" ;; + esac + dnl Append $LDEXPF_LIBM to FMAF_LIBM, avoiding gratuitous duplicates. + case " $FMAF_LIBM " in + *" $LDEXPF_LIBM "*) ;; + *) FMAF_LIBM="$FMAF_LIBM $LDEXPF_LIBM" ;; + esac + dnl Append $FEGETROUND_LIBM to FMAF_LIBM, avoiding gratuitous duplicates. + case " $FMAF_LIBM " in + *" $FEGETROUND_LIBM "*) ;; + *) FMAF_LIBM="$FMAF_LIBM $FEGETROUND_LIBM" ;; + esac + fi + AC_SUBST([FMAF_LIBM]) +]) + +dnl Test whether fmaf() has any of the 7 known bugs of glibc 2.11.3 on x86_64. +AC_DEFUN([gl_FUNC_FMAF_WORKS], +[ + AC_REQUIRE([AC_PROG_CC]) + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles + AC_REQUIRE([gl_FUNC_LDEXPF]) + save_LIBS="$LIBS" + LIBS="$LIBS $FMAF_LIBM $LDEXPF_LIBM" + AC_CACHE_CHECK([whether fmaf works], [gl_cv_func_fmaf_works], + [ + AC_RUN_IFELSE( + [AC_LANG_SOURCE([[ +#include +#include +float p0 = 0.0f; +int main() +{ + int failed_tests = 0; + /* These tests fail with glibc 2.11.3 on x86_64. */ + { + volatile float x = 1.5f; /* 3 * 2^-1 */ + volatile float y = x; + volatile float z = ldexpf (1.0f, FLT_MANT_DIG + 1); /* 2^25 */ + /* x * y + z with infinite precision: 2^25 + 9 * 2^-2. + Lies between (2^23 + 0) * 2^2 and (2^23 + 1) * 2^2 + and is closer to (2^23 + 1) * 2^2, therefore the rounding + must round up and produce (2^23 + 1) * 2^2. */ + volatile float expected = z + 4.0f; + volatile float result = fmaf (x, y, z); + if (result != expected) + failed_tests |= 1; + } + { + volatile float x = 1.25f; /* 2^0 + 2^-2 */ + volatile float y = - x; + volatile float z = ldexpf (1.0f, FLT_MANT_DIG + 1); /* 2^25 */ + /* x * y + z with infinite precision: 2^25 - 2^0 - 2^-1 - 2^-4. + Lies between (2^24 - 1) * 2^1 and 2^24 * 2^1 + and is closer to (2^24 - 1) * 2^1, therefore the rounding + must round down and produce (2^24 - 1) * 2^1. */ + volatile float expected = (ldexpf (1.0f, FLT_MANT_DIG) - 1.0f) * 2.0f; + volatile float result = fmaf (x, y, z); + if (result != expected) + failed_tests |= 2; + } + { + volatile float x = 1.0f + ldexpf (1.0f, 1 - FLT_MANT_DIG); /* 2^0 + 2^-23 */ + volatile float y = x; + volatile float z = 4.0f; /* 2^2 */ + /* x * y + z with infinite precision: 2^2 + 2^0 + 2^-22 + 2^-46. + Lies between (2^23 + 2^21) * 2^-21 and (2^23 + 2^21 + 1) * 2^-21 + and is closer to (2^23 + 2^21 + 1) * 2^-21, therefore the rounding + must round up and produce (2^23 + 2^21 + 1) * 2^-21. */ + volatile float expected = 4.0f + 1.0f + ldexpf (1.0f, 3 - FLT_MANT_DIG); + volatile float result = fmaf (x, y, z); + if (result != expected) + failed_tests |= 4; + } + { + volatile float x = 1.0f + ldexpf (1.0f, 1 - FLT_MANT_DIG); /* 2^0 + 2^-23 */ + volatile float y = - x; + volatile float z = 8.0f; /* 2^3 */ + /* x * y + z with infinite precision: 2^2 + 2^1 + 2^0 - 2^-22 - 2^-46. + Lies between (2^23 + 2^22 + 2^21 - 1) * 2^-21 and + (2^23 + 2^22 + 2^21) * 2^-21 and is closer to + (2^23 + 2^22 + 2^21 - 1) * 2^-21, therefore the rounding + must round down and produce (2^23 + 2^22 + 2^21 - 1) * 2^-21. */ + volatile float expected = 7.0f - ldexpf (1.0f, 3 - FLT_MANT_DIG); + volatile float result = fmaf (x, y, z); + if (result != expected) + failed_tests |= 8; + } + { + volatile float x = 1.25f; /* 2^0 + 2^-2 */ + volatile float y = - 0.75f; /* - 2^0 + 2^-2 */ + volatile float z = ldexpf (1.0f, FLT_MANT_DIG); /* 2^24 */ + /* x * y + z with infinite precision: 2^24 - 2^0 + 2^-4. + Lies between (2^24 - 2^0) and 2^24 and is closer to (2^24 - 2^0), + therefore the rounding must round down and produce (2^24 - 2^0). */ + volatile float expected = ldexpf (1.0f, FLT_MANT_DIG) - 1.0f; + volatile float result = fmaf (x, y, z); + if (result != expected) + failed_tests |= 16; + } + if ((FLT_MANT_DIG % 2) == 0) + { + volatile float x = 1.0f + ldexpf (1.0f, - FLT_MANT_DIG / 2); /* 2^0 + 2^-12 */ + volatile float y = x; + volatile float z = ldexpf (1.0f, FLT_MIN_EXP - FLT_MANT_DIG); /* 2^-149 */ + /* x * y + z with infinite precision: 2^0 + 2^-11 + 2^-24 + 2^-149. + Lies between (2^23 + 2^12 + 0) * 2^-23 and (2^23 + 2^12 + 1) * 2^-23 + and is closer to (2^23 + 2^12 + 1) * 2^-23, therefore the rounding + must round up and produce (2^23 + 2^12 + 1) * 2^-23. */ + volatile float expected = + 1.0f + ldexpf (1.0f, 1 - FLT_MANT_DIG / 2) + ldexpf (1.0f, 1 - FLT_MANT_DIG); + volatile float result = fmaf (x, y, z); + if (result != expected) + failed_tests |= 32; + } + { + float minus_inf = -1.0f / p0; + volatile float x = ldexpf (1.0f, FLT_MAX_EXP - 1); + volatile float y = ldexpf (1.0f, FLT_MAX_EXP - 1); + volatile float z = minus_inf; + volatile float result = fmaf (x, y, z); + if (!(result == minus_inf)) + failed_tests |= 64; + } + return failed_tests; +}]])], + [gl_cv_func_fmaf_works=yes], + [gl_cv_func_fmaf_works=no], + [dnl Guess no, even on glibc systems. + gl_cv_func_fmaf_works="guessing no" + ]) + ]) + LIBS="$save_LIBS" +]) + +# Prerequisites of lib/fmaf.c. +AC_DEFUN([gl_PREREQ_FMAF], [:]) diff --git a/m4/fmal.m4 b/m4/fmal.m4 new file mode 100644 index 000000000..9193534d3 --- /dev/null +++ b/m4/fmal.m4 @@ -0,0 +1,365 @@ +# fmal.m4 serial 1 +dnl Copyright (C) 2011 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_FMAL], +[ + AC_REQUIRE([gl_MATH_H_DEFAULTS]) + AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE]) + + dnl Determine FMAL_LIBM. + gl_MATHFUNC([fmal], [long double], [(long double, long double, long double)]) + if test $gl_cv_func_fmal_no_libm = yes \ + || test $gl_cv_func_fmal_in_libm = yes; then + gl_FUNC_FMAL_WORKS + case "$gl_cv_func_fmal_works" in + *no) REPLACE_FMAL=1 ;; + esac + else + HAVE_FMAL=0 + fi + if test $HAVE_FMAL = 0 || test $REPLACE_FMAL = 1; then + dnl Find libraries needed to link lib/fmal.c. + if test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 1; then + AC_REQUIRE([gl_FUNC_FMA]) + FMAL_LIBM="$FMA_LIBM" + else + AC_REQUIRE([gl_FUNC_FREXPL]) + AC_REQUIRE([gl_FUNC_LDEXPL]) + AC_REQUIRE([gl_FUNC_FEGETROUND]) + FMAL_LIBM= + dnl Append $FREXPL_LIBM to FMAL_LIBM, avoiding gratuitous duplicates. + case " $FMAL_LIBM " in + *" $FREXPL_LIBM "*) ;; + *) FMAL_LIBM="$FMAL_LIBM $FREXPL_LIBM" ;; + esac + dnl Append $LDEXPL_LIBM to FMAL_LIBM, avoiding gratuitous duplicates. + case " $FMAL_LIBM " in + *" $LDEXPL_LIBM "*) ;; + *) FMAL_LIBM="$FMAL_LIBM $LDEXPL_LIBM" ;; + esac + dnl Append $FEGETROUND_LIBM to FMAL_LIBM, avoiding gratuitous duplicates. + case " $FMAL_LIBM " in + *" $FEGETROUND_LIBM "*) ;; + *) FMAL_LIBM="$FMAL_LIBM $FEGETROUND_LIBM" ;; + esac + fi + fi + AC_SUBST([FMAL_LIBM]) +]) + +dnl Test whether fmal() has any of the 15 known bugs of glibc 2.11.3 on x86_64. +AC_DEFUN([gl_FUNC_FMAL_WORKS], +[ + AC_REQUIRE([AC_PROG_CC]) + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles + AC_REQUIRE([gl_FUNC_LDEXPL]) + save_LIBS="$LIBS" + LIBS="$LIBS $FMAL_LIBM $LDEXPL_LIBM" + AC_CACHE_CHECK([whether fmal works], [gl_cv_func_fmal_works], + [ + AC_RUN_IFELSE( + [AC_LANG_SOURCE([[ +#include +#include +/* Override the values of , like done in float.in.h. */ +#if defined __i386__ && (defined __BEOS__ || defined __OpenBSD__) +# undef LDBL_MANT_DIG +# define LDBL_MANT_DIG 64 +# undef LDBL_MIN_EXP +# define LDBL_MIN_EXP (-16381) +# undef LDBL_MAX_EXP +# define LDBL_MAX_EXP 16384 +#endif +#if defined __i386__ && defined __FreeBSD__ +# undef LDBL_MANT_DIG +# define LDBL_MANT_DIG 64 +# undef LDBL_MIN_EXP +# define LDBL_MIN_EXP (-16381) +# undef LDBL_MAX_EXP +# define LDBL_MAX_EXP 16384 +#endif +#if (defined _ARCH_PPC || defined _POWER) && defined _AIX && (LDBL_MANT_DIG == 106) && defined __GNUC__ +# undef LDBL_MIN_EXP +# define LDBL_MIN_EXP DBL_MIN_EXP +#endif +#if defined __sgi && (LDBL_MANT_DIG >= 106) +# undef LDBL_MANT_DIG +# define LDBL_MANT_DIG 106 +# if defined __GNUC__ +# undef LDBL_MIN_EXP +# define LDBL_MIN_EXP DBL_MIN_EXP +# endif +#endif +long double p0 = 0.0L; +int main() +{ + int failed_tests = 0; + /* This test fails on glibc 2.11 powerpc. */ + { + volatile long double x = 1.5L; /* 3 * 2^-1 */ + volatile long double y = x; + volatile long double z = ldexpl (1.0L, LDBL_MANT_DIG + 1); /* 2^65 */ + /* x * y + z with infinite precision: 2^65 + 9 * 2^-2. + Lies between (2^63 + 0) * 2^2 and (2^63 + 1) * 2^2 + and is closer to (2^63 + 1) * 2^2, therefore the rounding + must round up and produce (2^63 + 1) * 2^2. */ + volatile long double expected = z + 4.0L; + volatile long double result = fmal (x, y, z); + if (result != expected) + failed_tests |= 1; + } + /* This test fails on glibc 2.11 powerpc. */ + { + volatile long double x = 1.25L; /* 2^0 + 2^-2 */ + volatile long double y = - x; + volatile long double z = ldexpl (1.0L, LDBL_MANT_DIG + 1); /* 2^65 */ + /* x * y + z with infinite precision: 2^65 - 2^0 - 2^-1 - 2^-4. + Lies between (2^64 - 1) * 2^1 and 2^64 * 2^1 + and is closer to (2^64 - 1) * 2^1, therefore the rounding + must round down and produce (2^64 - 1) * 2^1. */ + volatile long double expected = (ldexpl (1.0L, LDBL_MANT_DIG) - 1.0L) * 2.0L; + volatile long double result = fmal (x, y, z); + if (result != expected) + failed_tests |= 1; + } + /* This test fails on glibc 2.11 x86,x86_64,powerpc, glibc 2.7 hppa,sparc, + OSF/1 5.1, mingw. */ + { + volatile long double x = 1.0L + ldexpl (1.0L, 1 - LDBL_MANT_DIG); /* 2^0 + 2^-63 */ + volatile long double y = x; + volatile long double z = 4.0L; /* 2^2 */ + /* x * y + z with infinite precision: 2^2 + 2^0 + 2^-62 + 2^-126. + Lies between (2^63 + 2^61) * 2^-61 and (2^63 + 2^61 + 1) * 2^-61 + and is closer to (2^63 + 2^61 + 1) * 2^-61, therefore the rounding + must round up and produce (2^63 + 2^61 + 1) * 2^-61. */ + volatile long double expected = 4.0L + 1.0L + ldexpl (1.0L, 3 - LDBL_MANT_DIG); + volatile long double result = fmal (x, y, z); + if (result != expected) + failed_tests |= 2; + } + /* This test fails on glibc 2.11 x86,x86_64,powerpc glibc 2.7 hppa,sparc, + OSF/1 5.1, mingw. */ + { + volatile long double x = 1.0L + ldexpl (1.0L, 1 - LDBL_MANT_DIG); /* 2^0 + 2^-63 */ + volatile long double y = - x; + volatile long double z = 8.0L; /* 2^3 */ + /* x * y + z with infinite precision: 2^2 + 2^1 + 2^0 - 2^-62 - 2^-126. + Lies between (2^63 + 2^62 + 2^61 - 1) * 2^-61 and + (2^63 + 2^62 + 2^61) * 2^-61 and is closer to + (2^63 + 2^62 + 2^61 - 1) * 2^-61, therefore the rounding + must round down and produce (2^63 + 2^62 + 2^61 - 1) * 2^-61. */ + volatile long double expected = 7.0L - ldexpl (1.0L, 3 - LDBL_MANT_DIG); + volatile long double result = fmal (x, y, z); + if (result != expected) + failed_tests |= 2; + } + /* This test fails on glibc 2.11 powerpc. */ + { + volatile long double x = 1.25L; /* 2^0 + 2^-2 */ + volatile long double y = - 0.75L; /* - 2^0 + 2^-2 */ + volatile long double z = ldexpl (1.0L, LDBL_MANT_DIG); /* 2^64 */ + /* x * y + z with infinite precision: 2^64 - 2^0 + 2^-4. + Lies between (2^64 - 2^0) and 2^64 and is closer to (2^64 - 2^0), + therefore the rounding must round down and produce (2^64 - 2^0). */ + volatile long double expected = ldexpl (1.0L, LDBL_MANT_DIG) - 1.0L; + volatile long double result = fmal (x, y, z); + if (result != expected) + failed_tests |= 1; + } + if ((LDBL_MANT_DIG % 2) == 1) + { + /* These tests fail on glibc 2.7 hppa,sparc, OSF/1 5.1. */ + { + volatile long double x = 1.0L + ldexpl (1.0L, - (LDBL_MANT_DIG + 1) / 2); /* 2^0 + 2^-27 */ + volatile long double y = 1.0L - ldexpl (1.0L, - (LDBL_MANT_DIG + 1) / 2); /* 2^0 - 2^-27 */ + volatile long double z = - ldexpl (1.0L, LDBL_MIN_EXP - LDBL_MANT_DIG); /* - 2^-1074 */ + /* x * y + z with infinite precision: 2^0 - 2^-54 - 2^-1074. + Lies between (2^53 - 1) * 2^-53 and 2^53 * 2^-53 and is closer to + (2^53 - 1) * 2^-53, therefore the rounding must round down and + produce (2^53 - 1) * 2^-53. */ + volatile long double expected = 1.0L - ldexpl (1.0L, - LDBL_MANT_DIG); + volatile long double result = fmal (x, y, z); + if (result != expected) + failed_tests |= 4; + } + { + volatile long double x = 1.0L + ldexpl (1.0L, - (LDBL_MANT_DIG + 1) / 2); /* 2^0 + 2^-57 */ + volatile long double y = x; + volatile long double z = ldexpl (1.0L, - LDBL_MANT_DIG); /* 2^-113 */ + /* x * y + z with infinite precision: 2^0 + 2^-56 + 2^-113 + 2^-114. + Lies between (2^112 + 2^56) * 2^-112 and (2^112 + 2^56 + 1) * 2^-112 + and is closer to (2^112 + 2^56 + 1) * 2^-112, therefore the rounding + must round up and produce (2^112 + 2^56 + 1) * 2^-112. */ + volatile long double expected = + 1.0L + ldexpl (1.0L, - (LDBL_MANT_DIG - 1) / 2) + ldexpl (1.0L, 1 - LDBL_MANT_DIG); + volatile long double result = fmal (x, y, z); + if (result != expected) + failed_tests |= 4; + } + } + else + { + /* These tests fail on glibc 2.11 x86,x86_64,powerpc, mingw. */ + { + volatile long double x = 1.0L + ldexpl (1.0L, - LDBL_MANT_DIG / 2); /* 2^0 + 2^-32 */ + volatile long double y = x; + volatile long double z = ldexpl (1.0L, LDBL_MIN_EXP - LDBL_MANT_DIG); /* 2^-16445 */ + /* x * y + z with infinite precision: 2^0 + 2^-31 + 2^-64 + 2^-16445. + Lies between (2^63 + 2^32 + 0) * 2^-63 and (2^63 + 2^32 + 1) * 2^-63 + and is closer to (2^63 + 2^32 + 1) * 2^-63, therefore the rounding + must round up and produce (2^63 + 2^32 + 1) * 2^-63. */ + volatile long double expected = + 1.0L + ldexpl (1.0L, 1 - LDBL_MANT_DIG / 2) + ldexpl (1.0L, 1 - LDBL_MANT_DIG); + volatile long double result = fmal (x, y, z); + if (result != expected) + failed_tests |= 8; + } + { + volatile long double x = 1.0L + ldexpl (1.0L, - LDBL_MANT_DIG / 2); /* 2^0 + 2^-32 */ + volatile long double y = x; + volatile long double z = ldexpl (1.0L, - LDBL_MANT_DIG); /* 2^-64 */ + /* x * y + z with infinite precision: 2^0 + 2^-31 + 2^-63. + Rounding must return this value unchanged. */ + volatile long double expected = 1.0L + ldexpl (1.0L, 1 - LDBL_MANT_DIG / 2) + ldexpl (1.0L, 1 - LDBL_MANT_DIG); + volatile long double result = fmal (x, y, z); + if (result != expected) + failed_tests |= 8; + } + { + volatile long double x = 1.0L + ldexpl (1.0L, - LDBL_MANT_DIG / 2); /* 2^0 + 2^-32 */ + volatile long double y = x; + volatile long double z = ldexpl (1.0L, 1 - LDBL_MANT_DIG); /* 2^-63 */ + /* x * y + z with infinite precision: 2^0 + 2^-31 + 2^-63 + 2^-64. + Lies between (2^63 + 2^32 + 1) * 2^-63 and (2^63 + 2^32 + 2) * 2^-63 + and is at the same distance from each. According to the round-to-even + rule, the rounding must round up and produce (2^63 + 2^32 + 2) * 2^-63. */ + volatile long double expected = 1.0L + ldexpl (1.0L, -31) + ldexpl (1.0L, -62); + volatile long double result = fmal (x, y, z); + if (result != expected) + failed_tests |= 8; + } + { + volatile long double x = 1.0L + ldexpl (1.0L, - LDBL_MANT_DIG / 2); /* 2^0 + 2^-32 */ + volatile long double y = x; + volatile long double z = ldexpl (1.0L, LDBL_MANT_DIG / 2 + 1); /* 2^33 */ + /* x * y + z with infinite precision: 2^33 + 2^0 + 2^-31 + 2^-64. + Lies between (2^63 + 2^30) * 2^-30 and (2^63 + 2^30 + 1) * 2^-30 + and is closer to (2^63 + 2^30 + 1) * 2^-30, therefore the rounding + must round up and produce (2^63 + 2^30 + 1) * 2^-30. */ + volatile long double expected = z + 1.0L + ldexp (1.0L, 2 - LDBL_MANT_DIG / 2); + volatile long double result = fmal (x, y, z); + if (result != expected) + failed_tests |= 8; + } + { + volatile long double x = 1.0L + ldexpl (1.0L, - LDBL_MANT_DIG / 2); /* 2^0 + 2^-32 */ + volatile long double y = x; + volatile long double z = - ldexpl (1.0, 1 - LDBL_MANT_DIG); /* - 2^-63 */ + /* x * y + z with infinite precision: 2^0 + 2^-31 - 2^-64. + Lies between (2^63 + 2^32 - 1) * 2^-63 and (2^63 + 2^32) * 2^-63 + and is at the same distance from each. According to the round-to-even + rule, the rounding must round up and produce (2^63 + 2^32) * 2^-63. */ + volatile long double expected = 1.0L + ldexpl (1.0L, 1 - LDBL_MANT_DIG / 2); + volatile long double result = fmal (x, y, z); + if (result != expected) + failed_tests |= 8; + } + { + volatile long double x = 1.0L + ldexpl (1.0L, - LDBL_MANT_DIG / 2); /* 2^0 + 2^-32 */ + volatile long double y = x; + volatile long double z = - 1.0L; /* - 2^0 */ + /* x * y + z with infinite precision: 2^-31 + 2^-64. + Rounding must return this value unchanged. */ + volatile long double expected = ldexpl (1.0L, 1 - LDBL_MANT_DIG / 2) + ldexpl (1.0L, - LDBL_MANT_DIG); + volatile long double result = fmal (x, y, z); + if (result != expected) + failed_tests |= 8; + } + { + volatile long double x = 1.0L + ldexpl (1.0L, - LDBL_MANT_DIG / 2); /* 2^0 + 2^-32 */ + volatile long double y = - x; + volatile long double z = 2.0L; /* 2^1 */ + /* x * y + z with infinite precision: 2^0 - 2^31 - 2^-64. + Rounding must return this value unchanged. */ + volatile long double expected = 1.0L - ldexpl (1.0L, 1 - LDBL_MANT_DIG / 2) - ldexpl (1.0L, - LDBL_MANT_DIG); + volatile long double result = fmal (x, y, z); + if (result != expected) + failed_tests |= 8; + } + { + volatile long double x = 1.0L + ldexpl (1.0L, - LDBL_MANT_DIG / 2); /* 2^0 + 2^-32 */ + volatile long double y = - x; + volatile long double z = ldexpl (1.0L, LDBL_MANT_DIG / 2 + 2); /* 2^34 */ + /* x * y + z with infinite precision: 2^34 - (2^0 + 2^-31 + 2^-64). + Lies between (2^64 - 2^30 - 1) * 2^-30 and (2^64 - 2^30) * 2^-30 + and is closer to (2^64 - 2^30 - 1) * 2^-30, therefore the rounding + must round down and produce (2^64 - 2^30 - 1) * 2^-30. */ + volatile long double expected = z - 1.0L - ldexpl (1.0L, 2 - LDBL_MANT_DIG / 2); + volatile long double result = fmal (x, y, z); + if (result != expected) + failed_tests |= 8; + } + { + volatile long double x = 1.0L + ldexpl (1.0L, - LDBL_MANT_DIG / 2 - 1); /* 2^0 + 2^-33 */ + volatile long double y = 1.0L - ldexpl (1.0L, - LDBL_MANT_DIG / 2 - 1); /* 2^0 - 2^-33 */ + volatile long double z = - ldexpl (1.0L, - LDBL_MANT_DIG - 1); /* 2^-65 */ + /* x * y + z with infinite precision: 2^0 - 2^-65 - 2^-66. + Lies between (2^64 - 1) * 2^-64 and 2^64 * 2^-64 and is closer to + (2^64 - 1) * 2^-64, therefore the rounding must round down and + produce (2^64 - 1) * 2^-64. */ + volatile long double expected = 1.0L - ldexpl (1.0L, - LDBL_MANT_DIG); + volatile long double result = fmal (x, y, z); + if (result != expected) + failed_tests |= 8; + } + { + volatile long double x = 1.0L + ldexpl (1.0L, - LDBL_MANT_DIG / 2 - 1); /* 2^0 + 2^-33 */ + volatile long double y = 1.0L - ldexpl (1.0L, - LDBL_MANT_DIG / 2 - 1); /* 2^0 - 2^-33 */ + volatile long double z = - 1.0L; /* 2^0 */ + /* x * y + z with infinite precision: - 2^-66. + Rounding must return this value unchanged. */ + volatile long double expected = - ldexpl (1.0L, - LDBL_MANT_DIG - 2); + volatile long double result = fmal (x, y, z); + if (result != expected) + failed_tests |= 8; + } + } + /* This test fails on glibc 2.11 x86,x86_64,powerpc, glibc 2.7 hppa,sparc, + FreeBSD 6.4 x86, mingw. */ + { + long double minus_inf = -1.0L / p0; + volatile long double x = ldexpl (1.0L, LDBL_MAX_EXP - 1); + volatile long double y = ldexpl (1.0L, LDBL_MAX_EXP - 1); + volatile long double z = minus_inf; + volatile long double result = fmal (x, y, z); + if (!(result == minus_inf)) + failed_tests |= 16; + } + /* This test fails on glibc 2.11 x86,x86_64,powerpc glibc 2.7 hppa,sparc, + MacOS X 10.5, FreeBSD 6.4 x86, OSF/1 5.1, mingw. */ + { + volatile long double x = ldexpl (1.0L, LDBL_MAX_EXP - 1); + volatile long double y = 2.0L; + volatile long double z = + - ldexpl (ldexpl (1.0L, LDBL_MAX_EXP - 1) - ldexpl (1.0L, LDBL_MAX_EXP - LDBL_MANT_DIG - 1), 1); + volatile long double expected = ldexpl (1.0L, LDBL_MAX_EXP - LDBL_MANT_DIG); + volatile long double result = fmal (x, y, z); + if (result != expected) + failed_tests |= 32; + } + return failed_tests; +}]])], + [gl_cv_func_fmal_works=yes], + [gl_cv_func_fmal_works=no], + [dnl Guess no, even on glibc systems. + gl_cv_func_fmal_works="guessing no" + ]) + ]) + LIBS="$save_LIBS" +]) + +# Prerequisites of lib/fmal.c. +AC_DEFUN([gl_PREREQ_FMAL], [:]) diff --git a/m4/fmod.m4 b/m4/fmod.m4 new file mode 100644 index 000000000..3254b0f43 --- /dev/null +++ b/m4/fmod.m4 @@ -0,0 +1,11 @@ +# fmod.m4 serial 1 +dnl Copyright (C) 2011 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_FMOD], +[ + dnl Determine FMOD_LIBM. + gl_COMMON_DOUBLE_MATHFUNC([fmod]) +]) diff --git a/m4/fmodf.m4 b/m4/fmodf.m4 new file mode 100644 index 000000000..2666d7842 --- /dev/null +++ b/m4/fmodf.m4 @@ -0,0 +1,25 @@ +# fmodf.m4 serial 1 +dnl Copyright (C) 2011 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_FMODF], +[ + AC_REQUIRE([gl_MATH_H_DEFAULTS]) + AC_REQUIRE([gl_FUNC_FMOD]) + + dnl Test whether fmodf() exists. Assume that fmodf(), if it exists, is + dnl defined in the same library as fmod(). + save_LIBS="$LIBS" + LIBS="$LIBS $FMOD_LIBM" + AC_CHECK_FUNCS([fmodf]) + LIBS="$save_LIBS" + if test $ac_cv_func_fmodf = yes; then + FMODF_LIBM="$FMOD_LIBM" + else + HAVE_FMODF=0 + FMODF_LIBM="$FMOD_LIBM" + fi + AC_SUBST([FMODF_LIBM]) +]) diff --git a/m4/fnmatch.m4 b/m4/fnmatch.m4 index 22ba35cf1..150fefe6b 100644 --- a/m4/fnmatch.m4 +++ b/m4/fnmatch.m4 @@ -1,4 +1,4 @@ -# Check for fnmatch - serial 7. +# Check for fnmatch - serial 8. # Copyright (C) 2000-2007, 2009-2011 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation @@ -150,7 +150,7 @@ AC_DEFUN([gl_PREREQ_FNMATCH], [Define to a replacement function name for fnmatch().]) dnl Prerequisites of lib/fnmatch.c. AC_REQUIRE([AC_TYPE_MBSTATE_T]) - AC_CHECK_DECLS([isblank], [], [], [#include ]) + AC_CHECK_DECLS([isblank], [], [], [[#include ]]) AC_CHECK_FUNCS_ONCE([btowc isblank iswctype mbsrtowcs mempcpy wmemchr wmemcpy wmempcpy]) AC_CHECK_HEADERS_ONCE([wctype.h]) ]) diff --git a/m4/free.m4 b/m4/free.m4 index 24bbbb184..76bca667f 100644 --- a/m4/free.m4 +++ b/m4/free.m4 @@ -16,18 +16,24 @@ AC_DEFUN([gl_FUNC_FREE], [ + AC_REQUIRE([AC_CANONICAL_HOST]) AC_CACHE_CHECK([whether free (NULL) is known to work], [gl_cv_func_free], - [AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM( - [[@%:@include ]], - [[@%:@if _POSIX_VERSION < 199009L && \ - (defined unix || defined _unix || defined _unix_ \ - || defined __unix || defined __unix__) - @%:@error "'free (NULL)' is not known to work" - @%:@endif]])], - [gl_cv_func_free=yes], - [gl_cv_func_free=no])]) + [case "$host_os" in + mingw*) gl_cv_func_free=yes ;; + *) + AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[@%:@include ]], + [[@%:@if _POSIX_VERSION < 199009L && \ + (defined unix || defined _unix || defined _unix_ \ + || defined __unix || defined __unix__) + @%:@error "'free (NULL)' is not known to work" + @%:@endif]])], + [gl_cv_func_free=yes], + [gl_cv_func_free=no]) + esac + ]) if test $gl_cv_func_free = no; then AC_DEFINE([free], [rpl_free], diff --git a/m4/frexp.m4 b/m4/frexp.m4 index 125edcdc4..b0bdd106b 100644 --- a/m4/frexp.m4 +++ b/m4/frexp.m4 @@ -1,4 +1,4 @@ -# frexp.m4 serial 11 +# frexp.m4 serial 13 dnl Copyright (C) 2007-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -93,6 +93,7 @@ AC_DEFUN([gl_FUNC_FREXP_WORKS], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles + AC_CHECK_FUNCS_ONCE([alarm]) AC_CACHE_CHECK([whether frexp works], [gl_cv_func_frexp_works], [ AC_RUN_IFELSE( @@ -100,6 +101,9 @@ AC_DEFUN([gl_FUNC_FREXP_WORKS], #include #include #include +#if HAVE_ALARM +# include +#endif /* HP cc on HP-UX 10.20 has a bug with the constant expression -0.0. ICC 10.0 has a bug when optimizing the expression -zero. The expression -DBL_MIN * DBL_MIN does not work when cross-compiling @@ -120,6 +124,11 @@ int main() int i; volatile double x; double zero = 0.0; +#if HAVE_ALARM + /* NeXTstep 3.3 frexp() runs into an endless loop when called on an infinite + number. Let the test fail in this case. */ + alarm (5); +#endif /* Test on denormalized numbers. */ for (i = 1, x = 1.0; i >= DBL_MIN_EXP; i--, x *= 0.5) ; @@ -133,7 +142,7 @@ int main() result |= 1; } /* Test on infinite numbers. */ - x = 1.0 / 0.0; + x = 1.0 / zero; { int exp; double y = frexp (x, &exp); diff --git a/m4/frexpf.m4 b/m4/frexpf.m4 new file mode 100644 index 000000000..d8f58cd0f --- /dev/null +++ b/m4/frexpf.m4 @@ -0,0 +1,93 @@ +# frexpf.m4 serial 3 +dnl Copyright (C) 2011 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_FREXPF], +[ + AC_REQUIRE([gl_MATH_H_DEFAULTS]) + AC_REQUIRE([gl_FUNC_FREXP]) + + dnl Test whether frexpf() exists. We cannot assume that frexpf(), if it + dnl exists, is defined in the same library as frexp(). This is not the case + dnl on NetBSD, OpenBSD. + gl_MATHFUNC([frexpf], [float], [(float, int *)]) + if test $gl_cv_func_frexpf_no_libm = yes \ + || test $gl_cv_func_frexpf_in_libm = yes; then + save_LIBS="$LIBS" + LIBS="$LIBS $FREXPF_LIBM" + gl_FUNC_FREXPF_WORKS + LIBS="$save_LIBS" + case "$gl_cv_func_frexpf_works" in + *yes) ;; + *) REPLACE_FREXPF=1 ;; + esac + else + HAVE_FREXPF=0 + fi + if test $HAVE_FREXPF = 0 || test $REPLACE_FREXPF = 1; then + FREXPF_LIBM="$FREXP_LIBM" + fi + AC_SUBST([FREXPF_LIBM]) +]) + +dnl Test whether frexpf() works also on infinite numbers (this fails e.g. on +dnl IRIX 6.5 and mingw) and on negative zero (this fails e.g. on mingw). +AC_DEFUN([gl_FUNC_FREXPF_WORKS], +[ + AC_REQUIRE([AC_PROG_CC]) + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles + AC_CACHE_CHECK([whether frexpf works], [gl_cv_func_frexpf_works], + [ + AC_RUN_IFELSE( + [AC_LANG_SOURCE([[ +#include +#include +#include +/* HP cc on HP-UX 10.20 has a bug with the constant expression -0.0. + ICC 10.0 has a bug when optimizing the expression -zero. + The expression -FLT_MIN * FLT_MIN does not work when cross-compiling + to PowerPC on MacOS X 10.5. */ +#if defined __hpux || defined __sgi || defined __ICC +static float +compute_minus_zero (void) +{ + return -FLT_MIN * FLT_MIN; +} +# define minus_zero compute_minus_zero () +#else +float minus_zero = -0.0f; +#endif +int main() +{ + int result = 0; + volatile float x; + float zero = 0.0f; + /* Test on infinite numbers. */ + x = 1.0f / zero; + { + int exp; + float y = frexpf (x, &exp); + if (y != x) + result |= 1; + } + /* Test on negative zero. */ + x = minus_zero; + { + int exp; + float y = frexpf (x, &exp); + if (memcmp (&y, &x, sizeof x)) + result |= 2; + } + return result; +}]])], + [gl_cv_func_frexpf_works=yes], + [gl_cv_func_frexpf_works=no], + [case "$host_os" in + irix* | mingw*) gl_cv_func_frexpf_works="guessing no";; + *) gl_cv_func_frexpf_works="guessing yes";; + esac + ]) + ]) +]) diff --git a/m4/frexpl.m4 b/m4/frexpl.m4 index 5843fa2f5..91f2a357b 100644 --- a/m4/frexpl.m4 +++ b/m4/frexpl.m4 @@ -1,4 +1,4 @@ -# frexpl.m4 serial 16 +# frexpl.m4 serial 18 dnl Copyright (C) 2007-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -7,9 +7,10 @@ dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_FREXPL], [ AC_REQUIRE([gl_MATH_H_DEFAULTS]) + AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE]) dnl Check whether it's declared. dnl MacOS X 10.3 has frexpl() in libc but doesn't declare it in . - AC_CHECK_DECL([frexpl], , [HAVE_DECL_FREXPL=0], [#include ]) + AC_CHECK_DECL([frexpl], , [HAVE_DECL_FREXPL=0], [[#include ]]) FREXPL_LIBM= if test $HAVE_DECL_FREXPL = 1; then gl_CHECK_FREXPL_NO_LIBM @@ -40,7 +41,7 @@ AC_DEFUN([gl_FUNC_FREXPL], LIBS="$save_LIBS" case "$gl_cv_func_frexpl_works" in *yes) gl_func_frexpl=yes ;; - *) gl_func_frexpl=no; REPLACE_FREXPL=1; FREXPL_LIBM= ;; + *) gl_func_frexpl=no; REPLACE_FREXPL=1 ;; esac else gl_func_frexpl=no @@ -50,15 +51,25 @@ AC_DEFUN([gl_FUNC_FREXPL], [Define if the frexpl() function is available.]) fi fi + if test $HAVE_DECL_FREXPL = 0 || test $gl_func_frexpl = no; then + dnl Find libraries needed to link lib/frexpl.c. + if test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 1; then + AC_REQUIRE([gl_FUNC_FREXP]) + FREXPL_LIBM="$FREXP_LIBM" + else + FREXPL_LIBM= + fi + fi AC_SUBST([FREXPL_LIBM]) ]) AC_DEFUN([gl_FUNC_FREXPL_NO_LIBM], [ AC_REQUIRE([gl_MATH_H_DEFAULTS]) + AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE]) dnl Check whether it's declared. dnl MacOS X 10.3 has frexpl() in libc but doesn't declare it in . - AC_CHECK_DECL([frexpl], , [HAVE_DECL_FREXPL=0], [#include ]) + AC_CHECK_DECL([frexpl], , [HAVE_DECL_FREXPL=0], [[#include ]]) if test $HAVE_DECL_FREXPL = 1; then gl_CHECK_FREXPL_NO_LIBM if test $gl_cv_func_frexpl_no_libm = yes; then diff --git a/m4/fstat.m4 b/m4/fstat.m4 new file mode 100644 index 000000000..0daea88b8 --- /dev/null +++ b/m4/fstat.m4 @@ -0,0 +1,28 @@ +# fstat.m4 serial 1 +dnl Copyright (C) 2011 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_FSTAT], +[ + AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS]) + AC_REQUIRE([gl_MSVC_INVAL]) + if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then + REPLACE_FSTAT=1 + fi + dnl Replace fstat() for supporting the gnulib-defined open() on directories. + m4_ifdef([gl_FUNC_FCHDIR], [ + gl_TEST_FCHDIR + if test $HAVE_FCHDIR = 0 \ + && test "$gl_cv_func_open_directory_works" != yes; then + REPLACE_FSTAT=1 + fi + ]) +]) + +# Prerequisites of lib/fstat.c. +AC_DEFUN([gl_PREREQ_FSTAT], +[ + AC_REQUIRE([AC_C_INLINE]) +]) diff --git a/m4/fstatat.m4 b/m4/fstatat.m4 new file mode 100644 index 000000000..33b28e3bc --- /dev/null +++ b/m4/fstatat.m4 @@ -0,0 +1,60 @@ +# fstatat.m4 serial 2 +dnl Copyright (C) 2004-2011 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +# Written by Jim Meyering. + +# If we have the fstatat function, and it has the bug (in AIX 7.1) +# that it does not fill in st_size correctly, use the replacement function. +AC_DEFUN([gl_FUNC_FSTATAT], +[ + AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS]) + AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) + AC_REQUIRE([gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK]) + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles + AC_CHECK_FUNCS_ONCE([fstatat]) + + if test $ac_cv_func_fstatat = no; then + HAVE_FSTATAT=0 + else + dnl Test for an AIX 7.1 bug; see + dnl . + AC_CACHE_CHECK([whether fstatat (..., 0) works], + [gl_cv_func_fstatat_zero_flag], + [AC_RUN_IFELSE( + [AC_LANG_SOURCE( + [[ + #include + #include + int + main (void) + { + struct stat a; + return fstatat (AT_FDCWD, ".", &a, 0) != 0; + } + ]])], + [gl_cv_func_fstatat_zero_flag=yes], + [gl_cv_func_fstatat_zero_flag=no], + [case "$host_os" in + aix*) gl_cv_func_fstatat_zero_flag="guessing no";; + *) gl_cv_func_fstatat_zero_flag="guessing yes";; + esac + ]) + ]) + + case $gl_cv_func_fstatat_zero_flag+$gl_cv_func_lstat_dereferences_slashed_symlink in + *yes+yes) ;; + *) REPLACE_FSTATAT=1 + case $gl_cv_func_fstatat_zero_flag in + *yes) + AC_DEFINE([HAVE_WORKING_FSTATAT_ZERO_FLAG], [1], + [Define to 1 if fstatat (..., 0) works. + For example, it does not work in AIX 7.1.]) + ;; + esac + ;; + esac + fi +]) diff --git a/m4/ftruncate.m4 b/m4/ftruncate.m4 index c3c334265..4a47ba429 100644 --- a/m4/ftruncate.m4 +++ b/m4/ftruncate.m4 @@ -1,46 +1,24 @@ -# serial 16 +# serial 18 -# See if we need to emulate a missing ftruncate function using fcntl or chsize. +# See if we need to emulate a missing ftruncate function using chsize. # Copyright (C) 2000-2001, 2003-2007, 2009-2011 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# FIXME: remove this macro, along with all uses of HAVE_FTRUNCATE in 2012, -# if the check below provokes no more reports. So far, the only report -# arose from a test build of this gnulib module, cross-compiling to mingw: -# -# Now (in 2010), MSVC has been raised as a possible target: -# - AC_DEFUN([gl_FUNC_FTRUNCATE], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) - AC_REQUIRE([AC_CANONICAL_HOST]) AC_CHECK_FUNCS_ONCE([ftruncate]) if test $ac_cv_func_ftruncate = no; then HAVE_FTRUNCATE=0 - case "$host_os" in - mingw*) - # Yes, we know mingw lacks ftruncate. - ;; - *) - # If someone lacks ftruncate, make configure fail, and request - # a bug report to inform us about it. - if test x"$SKIP_FTRUNCATE_CHECK" != xyes; then - AC_MSG_FAILURE([Your system lacks the ftruncate function. - Please report this, along with the output of "uname -a", to the - bug-coreutils@gnu.org mailing list. To continue past this point, - rerun configure with SKIP_FTRUNCATE_CHECK=yes. - E.g., ./configure SKIP_FTRUNCATE_CHECK=yes]) - fi - esac fi ]) # Prerequisites of lib/ftruncate.c. AC_DEFUN([gl_PREREQ_FTRUNCATE], [ + AC_REQUIRE([AC_C_INLINE]) AC_CHECK_FUNCS([chsize]) ]) diff --git a/m4/getaddrinfo.m4 b/m4/getaddrinfo.m4 index fe8d14f1e..962e6e8e3 100644 --- a/m4/getaddrinfo.m4 +++ b/m4/getaddrinfo.m4 @@ -1,4 +1,4 @@ -# getaddrinfo.m4 serial 28 +# getaddrinfo.m4 serial 29 dnl Copyright (C) 2004-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -146,7 +146,7 @@ AC_DEFUN([gl_PREREQ_GETADDRINFO], [ AC_CHECK_HEADERS_ONCE([netinet/in.h]) - AC_CHECK_DECLS([getaddrinfo, freeaddrinfo, getnameinfo],,,[ + AC_CHECK_DECLS([getaddrinfo, freeaddrinfo, getnameinfo],,,[[ /* sys/types.h is not needed according to POSIX, but the sys/socket.h in i386-unknown-freebsd4.10 and powerpc-apple-darwin5.5 required it. */ @@ -160,7 +160,7 @@ AC_DEFUN([gl_PREREQ_GETADDRINFO], [ #ifdef HAVE_WS2TCPIP_H #include #endif -]) +]]) if test $ac_cv_have_decl_getaddrinfo = no; then HAVE_DECL_GETADDRINFO=0 fi diff --git a/m4/getcwd-abort-bug.m4 b/m4/getcwd-abort-bug.m4 index fd6820dc6..057cc470b 100644 --- a/m4/getcwd-abort-bug.m4 +++ b/m4/getcwd-abort-bug.m4 @@ -1,4 +1,4 @@ -# serial 4 +# serial 7 # Determine whether getcwd aborts when the length of the working directory # name is unusually large. Any length between 4k and 16k trigger the bug # when using glibc-2.4.90-9 or older. @@ -14,6 +14,8 @@ AC_DEFUN([gl_FUNC_GETCWD_ABORT_BUG], [ AC_CHECK_DECLS_ONCE([getcwd]) + AC_CHECK_HEADERS_ONCE([unistd.h]) + AC_REQUIRE([gl_PATHMAX_SNIPPET_PREREQ]) AC_CHECK_FUNCS([getpagesize]) AC_CACHE_CHECK([whether getcwd aborts when 4k < cwd_length < 16k], gl_cv_func_getcwd_abort_bug, @@ -26,11 +28,16 @@ AC_DEFUN([gl_FUNC_GETCWD_ABORT_BUG], [AC_LANG_SOURCE( [[ #include -#include -#include +#if HAVE_UNISTD_H +# include +#else /* on Windows with MSVC */ +# include +#endif #include #include +]gl_PATHMAX_SNIPPET[ + /* Don't get link errors because mkdir is redefined to rpl_mkdir. */ #undef mkdir @@ -84,7 +91,8 @@ main () results in a failed assertion. */ cwd = getcwd (NULL, 0); if (cwd == NULL) - fail = 4; /* getcwd failed. This is ok, and expected. */ + fail = 4; /* getcwd failed: it refuses to return a string longer + than PATH_MAX. */ free (cwd); /* Call rmdir first, in case the above chdir failed. */ @@ -103,11 +111,18 @@ main () } ]])], [gl_cv_func_getcwd_abort_bug=no], - dnl A "regular" nonzero return does not indicate this bug. - dnl An abort will provoke an exit code of something like 134 (128 + 6). - [test $? -gt 128 \ - && gl_cv_func_getcwd_abort_bug=yes \ - || gl_cv_func_getcwd_abort_bug=no], + [dnl An abort will provoke an exit code of something like 134 (128 + 6). + dnl An exit code of 4 can also occur (in OpenBSD 4.9, NetBSD 5.1 for + dnl example): getcwd (NULL, 0) fails rather than returning a string + dnl longer than PATH_MAX. This may be POSIX compliant (in some + dnl interpretations of POSIX). But gnulib's getcwd module wants to + dnl provide a non-NULL value in this case. + ret=$? + if test $ret -ge 128 || test $ret = 4; then + gl_cv_func_getcwd_abort_bug=yes + else + gl_cv_func_getcwd_abort_bug=no + fi], [gl_cv_func_getcwd_abort_bug=yes]) ]) AS_IF([test $gl_cv_func_getcwd_abort_bug = yes], [$1], [$2]) diff --git a/m4/getcwd-path-max.m4 b/m4/getcwd-path-max.m4 index 475ae96d1..d11a668d0 100644 --- a/m4/getcwd-path-max.m4 +++ b/m4/getcwd-path-max.m4 @@ -1,4 +1,4 @@ -# serial 16 +# serial 19 # Check for several getcwd bugs with long file names. # If so, arrange to compile the wrapper function. @@ -16,7 +16,10 @@ AC_DEFUN([gl_FUNC_GETCWD_PATH_MAX], [ AC_CHECK_DECLS_ONCE([getcwd]) + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) + AC_CHECK_HEADERS_ONCE([unistd.h]) + AC_REQUIRE([gl_PATHMAX_SNIPPET_PREREQ]) AC_CACHE_CHECK([whether getcwd handles long file names properly], gl_cv_func_getcwd_path_max, [# Arrange for deletion of the temporary directory this test creates. @@ -27,13 +30,19 @@ AC_DEFUN([gl_FUNC_GETCWD_PATH_MAX], [[ #include #include -#include +#if HAVE_UNISTD_H +# include +#else +# include +#endif #include #include #include #include #include +]gl_PATHMAX_SNIPPET[ + #ifndef AT_FDCWD # define AT_FDCWD 0 #endif @@ -116,7 +125,12 @@ main () fail = 11; break; } - if (c || ! (errno == ERANGE || is_ENAMETOOLONG (errno))) + if (c) + { + fail = 31; + break; + } + if (! (errno == ERANGE || is_ENAMETOOLONG (errno))) { fail = 21; break; @@ -176,14 +190,12 @@ main () [gl_cv_func_getcwd_path_max=yes], [case $? in 10|11|12) gl_cv_func_getcwd_path_max='no, but it is partly working';; + 31) gl_cv_func_getcwd_path_max='no, it has the AIX bug';; *) gl_cv_func_getcwd_path_max=no;; esac], - [gl_cv_func_getcwd_path_max=no]) + [case "$host_os" in + aix*) gl_cv_func_getcwd_path_max='no, it has the AIX bug';; + *) gl_cv_func_getcwd_path_max=no;; + esac]) ]) - case $gl_cv_func_getcwd_path_max in - no,*) - AC_DEFINE([HAVE_PARTLY_WORKING_GETCWD], [1], - [Define to 1 if getcwd works, except it sometimes fails when it shouldn't, - setting errno to ERANGE, ENAMETOOLONG, or ENOENT.]);; - esac ]) diff --git a/m4/getcwd.m4 b/m4/getcwd.m4 index d3bbe597b..8f3af321e 100644 --- a/m4/getcwd.m4 +++ b/m4/getcwd.m4 @@ -6,15 +6,20 @@ # with or without modifications, as long as this notice is preserved. # Written by Paul Eggert. -# serial 8 +# serial 11 AC_DEFUN([gl_FUNC_GETCWD_NULL], [ AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles + AC_CHECK_HEADERS_ONCE([unistd.h]) AC_CACHE_CHECK([whether getcwd (NULL, 0) allocates memory for result], [gl_cv_func_getcwd_null], [AC_RUN_IFELSE([AC_LANG_PROGRAM([[ -# include +# if HAVE_UNISTD_H +# include +# else /* on Windows with MSVC */ +# include +# endif # ifndef getcwd char *getcwd (); # endif @@ -103,20 +108,43 @@ AC_DEFUN([gl_FUNC_GETCWD], AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles gl_abort_bug=no - case $gl_cv_func_getcwd_null,$host_os in - *,mingw*) - gl_cv_func_getcwd_path_max=yes;; - yes,*) - gl_FUNC_GETCWD_PATH_MAX - gl_FUNC_GETCWD_ABORT_BUG([gl_abort_bug=yes]);; + case "$host_os" in + mingw*) + gl_cv_func_getcwd_path_max=yes + ;; + *) + gl_FUNC_GETCWD_PATH_MAX + case "$gl_cv_func_getcwd_null" in + *yes) + gl_FUNC_GETCWD_ABORT_BUG([gl_abort_bug=yes]) + ;; + esac + ;; esac - - case $gl_cv_func_getcwd_null,$gl_cv_func_getcwd_posix_signature$gl_cv_func_getcwd_path_max,$gl_abort_bug in - *yes,yes,yes,no) ;; - *) - dnl Full replacement lib/getcwd.c, overrides LGPL replacement. - REPLACE_GETCWD=1;; + dnl Define HAVE_MINIMALLY_WORKING_GETCWD and HAVE_PARTLY_WORKING_GETCWD + dnl if appropriate. + case "$gl_cv_func_getcwd_path_max" in + "no, it has the AIX bug") ;; + *) + AC_DEFINE([HAVE_MINIMALLY_WORKING_GETCWD], [1], + [Define to 1 if getcwd minimally works, that is, its result can be + trusted when it succeeds.]) + ;; esac + case "$gl_cv_func_getcwd_path_max" in + "no, but it is partly working") + AC_DEFINE([HAVE_PARTLY_WORKING_GETCWD], [1], + [Define to 1 if getcwd works, except it sometimes fails when it + shouldn't, setting errno to ERANGE, ENAMETOOLONG, or ENOENT.]) + ;; + esac + + if { case "$gl_cv_func_getcwd_null" in *yes) false;; *) true;; esac; } \ + || test $gl_cv_func_getcwd_posix_signature != yes \ + || test "$gl_cv_func_getcwd_path_max" != yes \ + || test $gl_abort_bug = yes; then + REPLACE_GETCWD=1 + fi ]) # Prerequisites of lib/getcwd.c, when full replacement is in effect. diff --git a/m4/getdomainname.m4 b/m4/getdomainname.m4 index 542e4cead..07b60a680 100644 --- a/m4/getdomainname.m4 +++ b/m4/getdomainname.m4 @@ -1,4 +1,4 @@ -# getdomainname.m4 serial 8 +# getdomainname.m4 serial 9 dnl Copyright (C) 2002-2003, 2008-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -45,15 +45,15 @@ AC_DEFUN([gl_FUNC_GETDOMAINNAME], dnl - It's int getdomainname(char *, int) on MacOS X, FreeBSD, AIX, IRIX, dnl OSF/1. AC_CHECK_DECLS([getdomainname], , , - [#include - #ifdef HAVE_SYS_SOCKET_H - #include - #endif - #ifdef HAVE_NETDB_H - #include - #endif - #include - ]) + [[#include + #ifdef HAVE_SYS_SOCKET_H + #include + #endif + #ifdef HAVE_NETDB_H + #include + #endif + #include + ]]) AC_CACHE_CHECK([for getdomainname's second argument type], [gl_cv_decl_getdomainname_argtype2], [if test $ac_cv_have_decl_getdomainname; then diff --git a/m4/getdtablesize.m4 b/m4/getdtablesize.m4 index 40a598bc1..5f0fbf266 100644 --- a/m4/getdtablesize.m4 +++ b/m4/getdtablesize.m4 @@ -1,4 +1,4 @@ -# getdtablesize.m4 serial 2 +# getdtablesize.m4 serial 3 dnl Copyright (C) 2008-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -12,3 +12,8 @@ AC_DEFUN([gl_FUNC_GETDTABLESIZE], HAVE_GETDTABLESIZE=0 fi ]) + +# Prerequisites of lib/getdtablesize.c. +AC_DEFUN([gl_PREREQ_GETDTABLESIZE], [ + AC_REQUIRE([AC_C_INLINE]) +]) diff --git a/m4/gethrxtime.m4 b/m4/gethrxtime.m4 index 76979c1c3..4d1530aa9 100644 --- a/m4/gethrxtime.m4 +++ b/m4/gethrxtime.m4 @@ -1,4 +1,4 @@ -# gethrxtime.m4 serial 10 +# gethrxtime.m4 serial 11 dnl Copyright (C) 2005-2006, 2008-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -11,7 +11,7 @@ AC_DEFUN([gl_GETHRXTIME], AC_REQUIRE([gl_ARITHMETIC_HRTIME_T]) AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) AC_REQUIRE([gl_XTIME]) - AC_CHECK_DECLS([gethrtime], [], [], [#include ]) + AC_CHECK_DECLS([gethrtime], [], [], [[#include ]]) LIB_GETHRXTIME= if test $ac_cv_have_decl_gethrtime = no \ || test $gl_cv_arithmetic_hrtime_t = no; then diff --git a/m4/getloadavg.m4 b/m4/getloadavg.m4 index b75e05fa0..b16f40de0 100644 --- a/m4/getloadavg.m4 +++ b/m4/getloadavg.m4 @@ -7,7 +7,7 @@ # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -#serial 4 +#serial 5 # Autoconf defines AC_FUNC_GETLOADAVG, but that is obsolescent. # New applications should use gl_GETLOADAVG instead. @@ -91,10 +91,10 @@ else HAVE_SYS_LOADAVG_H=0 fi AC_CHECK_DECL([getloadavg], [], [HAVE_DECL_GETLOADAVG=0], - [#if HAVE_SYS_LOADAVG_H - # include - #endif - #include ]) + [[#if HAVE_SYS_LOADAVG_H + # include + #endif + #include ]]) ])# gl_GETLOADAVG diff --git a/m4/getopt.m4 b/m4/getopt.m4 index 047a3db02..8ec6e7945 100644 --- a/m4/getopt.m4 +++ b/m4/getopt.m4 @@ -1,4 +1,4 @@ -# getopt.m4 serial 38 +# getopt.m4 serial 39 dnl Copyright (C) 2002-2006, 2008-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -25,8 +25,6 @@ AC_DEFUN([gl_FUNC_GETOPT_POSIX], if test $REPLACE_GETOPT = 1; then dnl Arrange for getopt.h to be created. gl_GETOPT_SUBSTITUTE_HEADER - dnl Arrange for unistd.h to include getopt.h. - GNULIB_UNISTD_H_GETOPT=1 fi ]) diff --git a/m4/getpass.m4 b/m4/getpass.m4 index 64cee1ea8..13e55f683 100644 --- a/m4/getpass.m4 +++ b/m4/getpass.m4 @@ -1,4 +1,4 @@ -# getpass.m4 serial 13 +# getpass.m4 serial 14 dnl Copyright (C) 2002-2003, 2005-2006, 2009-2011 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation @@ -45,10 +45,10 @@ AC_DEFUN([gl_PREREQ_GETPASS], [ AC_CHECK_HEADERS_ONCE([stdio_ext.h termios.h]) AC_CHECK_FUNCS_ONCE([__fsetlocking tcgetattr tcsetattr]) AC_CHECK_DECLS([__fsetlocking],,, - [#include - #if HAVE_STDIO_EXT_H - #include - #endif]) + [[#include + #if HAVE_STDIO_EXT_H + #include + #endif]]) AC_CHECK_DECLS_ONCE([fflush_unlocked]) AC_CHECK_DECLS_ONCE([flockfile]) AC_CHECK_DECLS_ONCE([fputs_unlocked]) diff --git a/m4/gnulib-common.m4 b/m4/gnulib-common.m4 index 9dc8fbe8e..8621dec2e 100644 --- a/m4/gnulib-common.m4 +++ b/m4/gnulib-common.m4 @@ -1,4 +1,4 @@ -# gnulib-common.m4 serial 29 +# gnulib-common.m4 serial 31 dnl Copyright (C) 2007-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -18,7 +18,7 @@ AC_DEFUN([gl_COMMON_BODY], [ # if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__) \ || 0x5110 <= __SUNPRO_C) # define _Noreturn __attribute__ ((__noreturn__)) -# elif 1200 <= _MSC_VER +# elif defined _MSC_VER && 1200 <= _MSC_VER # define _Noreturn __declspec (noreturn) # else # define _Noreturn @@ -211,8 +211,33 @@ m4_ifndef([AS_VAR_IF], [m4_define([AS_VAR_IF], [AS_IF([test x"AS_VAR_GET([$1])" = x""$2], [$3], [$4])])]) +# gl_PROG_CC_C99 +# Modifies the value of the shell variable CC in an attempt to make $CC +# understand ISO C99 source code. +# This is like AC_PROG_CC_C99, except that +# - AC_PROG_CC_C99 did not exist in Autoconf versions < 2.60, +# - AC_PROG_CC_C99 does not mix well with AC_PROG_CC_STDC +# , +# but many more packages use AC_PROG_CC_STDC than AC_PROG_CC_C99 +# . +# Remaining problems: +# - When AC_PROG_CC_STDC is invoked twice, it adds the C99 enabling options +# to CC twice +# . +# - AC_PROG_CC_STDC is likely to change when C1X is an ISO standard. +AC_DEFUN([gl_PROG_CC_C99], +[ + dnl Change that version number to the minimum Autoconf version that supports + dnl mixing AC_PROG_CC_C99 calls with AC_PROG_CC_STDC calls. + m4_version_prereq([9.0], + [AC_REQUIRE([AC_PROG_CC_C99])], + [AC_REQUIRE([AC_PROG_CC_STDC])]) +]) + # gl_PROG_AR_RANLIB # Determines the values for AR, ARFLAGS, RANLIB that fit with the compiler. +# The user can set the variables AR, ARFLAGS, RANLIB if he wants to override +# the values. AC_DEFUN([gl_PROG_AR_RANLIB], [ dnl Minix 3 comes with two toolchains: The Amsterdam Compiler Kit compiler @@ -220,24 +245,47 @@ AC_DEFUN([gl_PROG_AR_RANLIB], dnl library formats. In particular, the GNU binutils programs ar, ranlib dnl produce libraries that work only with gcc, not with cc. AC_REQUIRE([AC_PROG_CC]) - AC_EGREP_CPP([Amsterdam], + AC_CACHE_CHECK([for Minix Amsterdam compiler], [gl_cv_c_amsterdam_compiler], [ + AC_EGREP_CPP([Amsterdam], + [ #ifdef __ACK__ Amsterdam #endif - ], - [AR='cc -c.a' - ARFLAGS='-o' - RANLIB=':' - ], - [dnl Use the Automake-documented default values for AR and ARFLAGS. - AR='ar' - ARFLAGS='cru' - dnl Use the ranlib program if it is available. - AC_PROG_RANLIB + ], + [gl_cv_c_amsterdam_compiler=yes], + [gl_cv_c_amsterdam_compiler=no]) ]) + if test -z "$AR"; then + if test $gl_cv_c_amsterdam_compiler = yes; then + AR='cc -c.a' + if test -z "$ARFLAGS"; then + ARFLAGS='-o' + fi + else + dnl Use the Automake-documented default values for AR and ARFLAGS, + dnl but prefer ${host}-ar over ar (useful for cross-compiling). + AC_CHECK_TOOL([AR], [ar], [ar]) + if test -z "$ARFLAGS"; then + ARFLAGS='cru' + fi + fi + else + if test -z "$ARFLAGS"; then + ARFLAGS='cru' + fi + fi AC_SUBST([AR]) AC_SUBST([ARFLAGS]) + if test -z "$RANLIB"; then + if test $gl_cv_c_amsterdam_compiler = yes; then + RANLIB=':' + else + dnl Use the ranlib program if it is available. + AC_PROG_RANLIB + fi + fi + AC_SUBST([RANLIB]) ]) # AC_PROG_MKDIR_P diff --git a/m4/iconv.m4 b/m4/iconv.m4 index 085cd068f..98fcd64d3 100644 --- a/m4/iconv.m4 +++ b/m4/iconv.m4 @@ -1,4 +1,4 @@ -# iconv.m4 serial 17 (gettext-0.18.2) +# iconv.m4 serial 18 (gettext-0.18.2) dnl Copyright (C) 2000-2002, 2007-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -242,7 +242,7 @@ extern #ifdef __cplusplus "C" #endif -#if defined(__STDC__) || defined(__cplusplus) +#if defined(__STDC__) || defined(_MSC_VER) || defined(__cplusplus) size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); #else size_t iconv(); diff --git a/m4/include_next.m4 b/m4/include_next.m4 index ebf081a11..8a1fab66d 100644 --- a/m4/include_next.m4 +++ b/m4/include_next.m4 @@ -1,4 +1,4 @@ -# include_next.m4 serial 20 +# include_next.m4 serial 23 dnl Copyright (C) 2006-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -207,17 +207,41 @@ dnl until we can assume autoconf 2.64 or newer. aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac +changequote(,) + case "$host_os" in + mingw*) + dnl For the sake of native Windows compilers (excluding gcc), + dnl treat backslash as a directory separator, like /. + dnl Actually, these compilers use a double-backslash as + dnl directory separator, inside the + dnl # line "filename" + dnl directives. + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + dnl A sed expression that turns a string into a basic regular + dnl expression, for use within "/.../". + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' +changequote([,]) + gl_header_literal_regex=`echo ']m4_defn([gl_HEADER_NAME])[' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ +changequote(,)dnl + s|^/[^/]|//&| +changequote([,])dnl + p + q + }' dnl eval is necessary to expand gl_absname_cpp. dnl Ultrix and Pyramid sh refuse to redirect output of eval, dnl so use subshell. AS_VAR_SET(gl_next_header, ['"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&AS_MESSAGE_LOG_FD | - sed -n '\#/]m4_defn([gl_HEADER_NAME])[#{ - s#.*"\(.*/]m4_defn([gl_HEADER_NAME])[\)".*#\1# - s#^/[^/]#//&# - p - q - }'`'"']) + sed -n "$gl_absolute_header_sed"`'"']) m4_if([$2], [check], [else AS_VAR_SET(gl_next_header, ['<'gl_HEADER_NAME'>']) diff --git a/m4/inet_ntop.m4 b/m4/inet_ntop.m4 index 45be497be..4936fa382 100644 --- a/m4/inet_ntop.m4 +++ b/m4/inet_ntop.m4 @@ -1,4 +1,4 @@ -# inet_ntop.m4 serial 15 +# inet_ntop.m4 serial 19 dnl Copyright (C) 2005-2006, 2008-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -6,39 +6,60 @@ dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_INET_NTOP], [ + AC_REQUIRE([gl_ARPA_INET_H_DEFAULTS]) + dnl Persuade Solaris to declare inet_ntop. AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) + AC_REQUIRE([AC_C_RESTRICT]) + dnl Most platforms that provide inet_ntop define it in libc. dnl Solaris 8..10 provide inet_ntop in libnsl instead. + dnl Solaris 2.6..7 provide inet_ntop in libresolv instead. + dnl Native Windows provides it in -lws2_32 instead, with a declaration in + dnl , and it uses stdcall calling convention, not cdecl + dnl (hence we cannot use AC_CHECK_FUNCS, AC_SEARCH_LIBS to find it). HAVE_INET_NTOP=1 - gl_save_LIBS=$LIBS - AC_SEARCH_LIBS([inet_ntop], [nsl], [], - [AC_CHECK_FUNCS([inet_ntop]) - if test $ac_cv_func_inet_ntop = no; then - HAVE_INET_NTOP=0 - fi - ]) - LIBS=$gl_save_LIBS - INET_NTOP_LIB= - if test "$ac_cv_search_inet_ntop" != "no" && - test "$ac_cv_search_inet_ntop" != "none required"; then - INET_NTOP_LIB="$ac_cv_search_inet_ntop" - fi - AC_SUBST([INET_NTOP_LIB]) + gl_PREREQ_SYS_H_WINSOCK2 + if test $HAVE_WINSOCK2_H = 1; then + AC_CHECK_DECLS([inet_ntop],,, [[#include ]]) + if test $ac_cv_have_decl_inet_ntop = yes; then + dnl It needs to be overridden, because the stdcall calling convention + dnl is not compliant with POSIX. + REPLACE_INET_NTOP=1 + INET_NTOP_LIB="-lws2_32" + else + HAVE_DECL_INET_NTOP=0 + HAVE_INET_NTOP=0 + fi + else + gl_save_LIBS=$LIBS + AC_SEARCH_LIBS([inet_ntop], [nsl resolv], [], + [AC_CHECK_FUNCS([inet_ntop]) + if test $ac_cv_func_inet_ntop = no; then + HAVE_INET_NTOP=0 + fi + ]) + LIBS=$gl_save_LIBS + + if test "$ac_cv_search_inet_ntop" != "no" \ + && test "$ac_cv_search_inet_ntop" != "none required"; then + INET_NTOP_LIB="$ac_cv_search_inet_ntop" + fi - AC_CHECK_HEADERS_ONCE([netdb.h]) - AC_CHECK_DECLS([inet_ntop],,, - [#include - #if HAVE_NETDB_H - # include - #endif - ]) - if test $ac_cv_have_decl_inet_ntop = no; then - HAVE_DECL_INET_NTOP=0 - AC_REQUIRE([AC_C_RESTRICT]) + AC_CHECK_HEADERS_ONCE([netdb.h]) + AC_CHECK_DECLS([inet_ntop],,, + [[#include + #if HAVE_NETDB_H + # include + #endif + ]]) + if test $ac_cv_have_decl_inet_ntop = no; then + HAVE_DECL_INET_NTOP=0 + fi fi + AC_SUBST([INET_NTOP_LIB]) ]) # Prerequisites of lib/inet_ntop.c. diff --git a/m4/inet_pton.m4 b/m4/inet_pton.m4 index 9fc64df4e..e64da7b01 100644 --- a/m4/inet_pton.m4 +++ b/m4/inet_pton.m4 @@ -1,4 +1,4 @@ -# inet_pton.m4 serial 13 +# inet_pton.m4 serial 17 dnl Copyright (C) 2006, 2008-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -6,39 +6,60 @@ dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_INET_PTON], [ + AC_REQUIRE([gl_ARPA_INET_H_DEFAULTS]) + dnl Persuade Solaris to declare inet_pton. AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) + AC_REQUIRE([AC_C_RESTRICT]) + dnl Most platforms that provide inet_pton define it in libc. dnl Solaris 8..10 provide inet_pton in libnsl instead. + dnl Solaris 2.6..7 provide inet_pton in libresolv instead. + dnl Native Windows provides it in -lws2_32 instead, with a declaration in + dnl , and it uses stdcall calling convention, not cdecl + dnl (hence we cannot use AC_CHECK_FUNCS, AC_SEARCH_LIBS to find it). HAVE_INET_PTON=1 - gl_save_LIBS=$LIBS - AC_SEARCH_LIBS([inet_pton], [nsl], [], - [AC_CHECK_FUNCS([inet_pton]) - if test $ac_cv_func_inet_pton = no; then - HAVE_INET_PTON=0 - fi - ]) - LIBS=$gl_save_LIBS - INET_PTON_LIB= - if test "$ac_cv_search_inet_pton" != "no" && - test "$ac_cv_search_inet_pton" != "none required"; then - INET_PTON_LIB="$ac_cv_search_inet_pton" - fi - AC_SUBST([INET_PTON_LIB]) + gl_PREREQ_SYS_H_WINSOCK2 + if test $HAVE_WINSOCK2_H = 1; then + AC_CHECK_DECLS([inet_pton],,, [[#include ]]) + if test $ac_cv_have_decl_inet_pton = yes; then + dnl It needs to be overridden, because the stdcall calling convention + dnl is not compliant with POSIX. + REPLACE_INET_PTON=1 + INET_PTON_LIB="-lws2_32" + else + HAVE_DECL_INET_PTON=0 + HAVE_INET_PTON=0 + fi + else + gl_save_LIBS=$LIBS + AC_SEARCH_LIBS([inet_pton], [nsl resolv], [], + [AC_CHECK_FUNCS([inet_pton]) + if test $ac_cv_func_inet_pton = no; then + HAVE_INET_PTON=0 + fi + ]) + LIBS=$gl_save_LIBS + + if test "$ac_cv_search_inet_pton" != "no" \ + && test "$ac_cv_search_inet_pton" != "none required"; then + INET_PTON_LIB="$ac_cv_search_inet_pton" + fi - AC_CHECK_HEADERS_ONCE([netdb.h]) - AC_CHECK_DECLS([inet_pton],,, - [#include - #if HAVE_NETDB_H - # include - #endif - ]) - if test $ac_cv_have_decl_inet_pton = no; then - HAVE_DECL_INET_PTON=0 - AC_REQUIRE([AC_C_RESTRICT]) + AC_CHECK_HEADERS_ONCE([netdb.h]) + AC_CHECK_DECLS([inet_pton],,, + [[#include + #if HAVE_NETDB_H + # include + #endif + ]]) + if test $ac_cv_have_decl_inet_pton = no; then + HAVE_DECL_INET_PTON=0 + fi fi + AC_SUBST([INET_PTON_LIB]) ]) # Prerequisites of lib/inet_pton.c. diff --git a/m4/isfinite.m4 b/m4/isfinite.m4 index 72dbcc645..661a3cab5 100644 --- a/m4/isfinite.m4 +++ b/m4/isfinite.m4 @@ -1,4 +1,4 @@ -# isfinite.m4 serial 10 +# isfinite.m4 serial 13 dnl Copyright (C) 2007-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -9,7 +9,7 @@ AC_DEFUN([gl_ISFINITE], AC_REQUIRE([gl_MATH_H_DEFAULTS]) dnl Persuade glibc to declare isfinite. AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) - AC_CHECK_DECLS([isfinite], , , [#include ]) + AC_CHECK_DECLS([isfinite], , , [[#include ]]) if test "$ac_cv_have_decl_isfinite" = yes; then gl_CHECK_MATH_LIB([ISFINITE_LIBM], [x = isfinite (x) + isfinite ((float) x);]) @@ -45,6 +45,7 @@ AC_DEFUN([gl_ISFINITEL_WORKS], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([gl_BIGENDIAN]) + AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether isfinite(long double) works], [gl_cv_func_isfinitel_works], [ @@ -87,7 +88,7 @@ int main () result |= 1; } -#if ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) +#if ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) && !HAVE_SAME_LONG_DOUBLE_AS_DOUBLE /* Representation of an 80-bit 'long double' as an initializer for a sequence of 'unsigned int' words. */ # ifdef WORDS_BIGENDIAN @@ -148,7 +149,7 @@ int main () static memory_long_double x = { LDBL80_WORDS (0x0000, 0x83333333, 0x00000000) }; if (isfinite (x.value)) - return |= 64; + result |= 64; } #endif @@ -156,8 +157,8 @@ int main () }]])], [gl_cv_func_isfinitel_works=yes], [gl_cv_func_isfinitel_works=no], [case "$host_cpu" in # Guess no on ia64, x86_64, i386. - ia64 | x86_64 | i*86) gl_cv_func_isnanl_works="guessing no";; - *) gl_cv_func_isnanl_works="guessing yes";; + ia64 | x86_64 | i*86) gl_cv_func_isfinitel_works="guessing no";; + *) gl_cv_func_isfinitel_works="guessing yes";; esac ]) ]) diff --git a/m4/isinf.m4 b/m4/isinf.m4 index 145e37e66..3e4b90055 100644 --- a/m4/isinf.m4 +++ b/m4/isinf.m4 @@ -1,4 +1,4 @@ -# isinf.m4 serial 5 +# isinf.m4 serial 9 dnl Copyright (C) 2007-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -9,7 +9,12 @@ AC_DEFUN([gl_ISINF], AC_REQUIRE([gl_MATH_H_DEFAULTS]) dnl Persuade glibc to declare isinf. AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) - AC_CHECK_DECLS([isinf], , , [#include ]) + AC_CHECK_DECLS([isinf], , , + [[#include + #ifndef isinf + #error "isinf must be a macro, not a function" + #endif + ]]) if test "$ac_cv_have_decl_isinf" = yes; then gl_CHECK_MATH_LIB([ISINF_LIBM], [x = isinf (x) + isinf ((float) x);]) if test "$ISINF_LIBM" != missing; then @@ -30,19 +35,141 @@ AC_DEFUN([gl_ISINF], AC_SUBST([ISINF_LIBM]) ]) -dnl Test whether isinf() correctly returns false for LDBL_MAX. +dnl Test whether isinf() works: +dnl 1) Whether it correctly returns false for LDBL_MAX. +dnl 2) Whether on 'long double' recognizes all numbers which are neither +dnl finite nor infinite. This test fails on OpenBSD/x86, but could also +dnl fail e.g. on i686, x86_64, ia64, because of +dnl - pseudo-denormals on x86_64, +dnl - pseudo-zeroes, unnormalized numbers, and pseudo-denormals on i686, +dnl - pseudo-NaN, pseudo-Infinity, pseudo-zeroes, unnormalized numbers, and +dnl pseudo-denormals on ia64. AC_DEFUN([gl_ISINFL_WORKS], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([gl_BIGENDIAN]) + AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether isinf(long double) works], [gl_cv_func_isinfl_works], [ - AC_RUN_IFELSE([AC_LANG_PROGRAM([[#include - #include ]], - [[return !!isinf(LDBL_MAX);]])], - [gl_cv_func_isinfl_works=yes], - [gl_cv_func_isinfl_works=no], - [gl_cv_func_isinfl_works="guessing no"]) + AC_RUN_IFELSE( + [AC_LANG_SOURCE([[ +#include +#include +#include +#define NWORDS \ + ((sizeof (long double) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) +typedef union { unsigned int word[NWORDS]; long double value; } + memory_long_double; +/* On Irix 6.5, gcc 3.4.3 can't compute compile-time NaN, and needs the + runtime type conversion. */ +#ifdef __sgi +static long double NaNl () +{ + double zero = 0.0; + return zero / zero; +} +#else +# define NaNl() (0.0L / 0.0L) +#endif +int main () +{ + int result = 0; + + if (isinf (LDBL_MAX)) + result |= 1; + + { + memory_long_double m; + unsigned int i; + + /* The isinf macro should be immune against changes in the sign bit and + in the mantissa bits. The xor operation twiddles a bit that can only be + a sign bit or a mantissa bit (since the exponent never extends to + bit 31). */ + m.value = NaNl (); + m.word[NWORDS / 2] ^= (unsigned int) 1 << (sizeof (unsigned int) * CHAR_BIT - 1); + for (i = 0; i < NWORDS; i++) + m.word[i] |= 1; + if (isinf (m.value)) + result |= 2; + } + +#if ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) && !HAVE_SAME_LONG_DOUBLE_AS_DOUBLE +/* Representation of an 80-bit 'long double' as an initializer for a sequence + of 'unsigned int' words. */ +# ifdef WORDS_BIGENDIAN +# define LDBL80_WORDS(exponent,manthi,mantlo) \ + { ((unsigned int) (exponent) << 16) | ((unsigned int) (manthi) >> 16), \ + ((unsigned int) (manthi) << 16) | (unsigned int) (mantlo) >> 16), \ + (unsigned int) (mantlo) << 16 \ + } +# else +# define LDBL80_WORDS(exponent,manthi,mantlo) \ + { mantlo, manthi, exponent } +# endif + { /* Quiet NaN. */ + static memory_long_double x = + { LDBL80_WORDS (0xFFFF, 0xC3333333, 0x00000000) }; + if (isinf (x.value)) + result |= 2; + } + { + /* Signalling NaN. */ + static memory_long_double x = + { LDBL80_WORDS (0xFFFF, 0x83333333, 0x00000000) }; + if (isinf (x.value)) + result |= 2; + } + /* The isinf macro should recognize Pseudo-NaNs, Pseudo-Infinities, + Pseudo-Zeroes, Unnormalized Numbers, and Pseudo-Denormals, as defined in + Intel IA-64 Architecture Software Developer's Manual, Volume 1: + Application Architecture. + Table 5-2 "Floating-Point Register Encodings" + Figure 5-6 "Memory to Floating-Point Register Data Translation" + */ + { /* Pseudo-NaN. */ + static memory_long_double x = + { LDBL80_WORDS (0xFFFF, 0x40000001, 0x00000000) }; + if (isinf (x.value)) + result |= 4; + } + { /* Pseudo-Infinity. */ + static memory_long_double x = + { LDBL80_WORDS (0xFFFF, 0x00000000, 0x00000000) }; + if (isinf (x.value)) + result |= 8; + } + { /* Pseudo-Zero. */ + static memory_long_double x = + { LDBL80_WORDS (0x4004, 0x00000000, 0x00000000) }; + if (isinf (x.value)) + result |= 16; + } + { /* Unnormalized number. */ + static memory_long_double x = + { LDBL80_WORDS (0x4000, 0x63333333, 0x00000000) }; + if (isinf (x.value)) + result |= 32; + } + { /* Pseudo-Denormal. */ + static memory_long_double x = + { LDBL80_WORDS (0x0000, 0x83333333, 0x00000000) }; + if (isinf (x.value)) + result |= 64; + } +#endif + + return result; +}]])], [gl_cv_func_isinfl_works=yes], [gl_cv_func_isinfl_works=no], + [ + case "$host" in + # Guess no on OpenBSD ia64, x86_64, i386. + ia64-*-openbsd* | x86_64-*-openbsd* | i*86-*-openbsd*) + gl_cv_func_isinfl_works="guessing no";; + *) + gl_cv_func_isinfl_works="guessing yes";; + esac + ]) ]) ]) diff --git a/m4/isnand.m4 b/m4/isnand.m4 index 2b18b0ac6..48f1a4807 100644 --- a/m4/isnand.m4 +++ b/m4/isnand.m4 @@ -1,4 +1,4 @@ -# isnand.m4 serial 10 +# isnand.m4 serial 11 dnl Copyright (C) 2007-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -43,7 +43,7 @@ AC_DEFUN([gl_FUNC_ISNAND_NO_LIBM], dnl Prerequisites of replacement isnand definition. It does not need -lm. AC_DEFUN([gl_PREREQ_ISNAND], [ - gl_DOUBLE_EXPONENT_LOCATION + AC_REQUIRE([gl_DOUBLE_EXPONENT_LOCATION]) ]) dnl Test whether isnand() can be used with libm. diff --git a/m4/isnanl.m4 b/m4/isnanl.m4 index c79308b03..daabe2a4b 100644 --- a/m4/isnanl.m4 +++ b/m4/isnanl.m4 @@ -1,4 +1,4 @@ -# isnanl.m4 serial 16 +# isnanl.m4 serial 17 dnl Copyright (C) 2007-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -56,6 +56,7 @@ dnl Prerequisites of replacement isnanl definition. It does not need -lm. AC_DEFUN([gl_PREREQ_ISNANL], [ gl_LONG_DOUBLE_EXPONENT_LOCATION + AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE]) ]) dnl Test whether isnanl() can be used without libm. @@ -116,6 +117,7 @@ AC_DEFUN([gl_FUNC_ISNANL_WORKS], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([gl_BIGENDIAN]) + AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether isnanl works], [gl_cv_func_isnanl_works], [ @@ -169,7 +171,7 @@ int main () result |= 1; } -#if ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) +#if ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) && !HAVE_SAME_LONG_DOUBLE_AS_DOUBLE /* Representation of an 80-bit 'long double' as an initializer for a sequence of 'unsigned int' words. */ # ifdef WORDS_BIGENDIAN diff --git a/m4/largefile.m4 b/m4/largefile.m4 index 6986244b3..d83fea123 100644 --- a/m4/largefile.m4 +++ b/m4/largefile.m4 @@ -19,8 +19,8 @@ m4_define([_AC_SYS_LARGEFILE_TEST_INCLUDES], incorrectly reject 9223372036854775807. */ @%:@define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) int off_t_is_large[[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]];[]dnl + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]];[]dnl ]) @@ -58,7 +58,7 @@ rm -rf conftest*[]dnl # http://www.unix-systems.org/version2/whatsnew/lfs20mar.html AC_DEFUN([AC_SYS_LARGEFILE], [AC_ARG_ENABLE(largefile, - [ --disable-largefile omit support for large files]) + [ --disable-largefile omit support for large files]) if test "$enable_largefile" != no; then AC_CACHE_CHECK([for special C compiler options needed for large files], @@ -67,13 +67,13 @@ if test "$enable_largefile" != no; then if test "$GCC" != yes; then ac_save_CC=$CC while :; do - # IRIX 6.2 and later do not support large files by default, - # so use the C compiler's -n32 option if that helps. - AC_LANG_CONFTEST([AC_LANG_PROGRAM([_AC_SYS_LARGEFILE_TEST_INCLUDES])]) - AC_COMPILE_IFELSE([], [break]) - CC="$CC -n32" - AC_COMPILE_IFELSE([], [ac_cv_sys_largefile_CC=' -n32'; break]) - break + # IRIX 6.2 and later do not support large files by default, + # so use the C compiler's -n32 option if that helps. + AC_LANG_CONFTEST([AC_LANG_PROGRAM([_AC_SYS_LARGEFILE_TEST_INCLUDES])]) + AC_COMPILE_IFELSE([], [break]) + CC="$CC -n32" + AC_COMPILE_IFELSE([], [ac_cv_sys_largefile_CC=' -n32'; break]) + break done CC=$ac_save_CC rm -f conftest.$ac_ext diff --git a/m4/ldexpf.m4 b/m4/ldexpf.m4 new file mode 100644 index 000000000..eaafdc528 --- /dev/null +++ b/m4/ldexpf.m4 @@ -0,0 +1,22 @@ +# ldexpf.m4 serial 1 +dnl Copyright (C) 2011 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_LDEXPF], +[ + AC_REQUIRE([gl_MATH_H_DEFAULTS]) + AC_REQUIRE([gl_FUNC_LDEXP]) + + dnl Test whether ldexpf() exists. We cannot assume that ldexpf(), if it + dnl exists, is defined in the same library as ldexp(). This is not the case + dnl on FreeBSD, NetBSD, OpenBSD. + gl_MATHFUNC([ldexpf], [float], [(float, int)]) + if test $gl_cv_func_ldexpf_no_libm = no \ + && test $gl_cv_func_ldexpf_in_libm = no; then + HAVE_LDEXPF=0 + LDEXPF_LIBM="$LDEXP_LIBM" + fi + AC_SUBST([LDEXPF_LIBM]) +]) diff --git a/m4/ldexpl.m4 b/m4/ldexpl.m4 index 76101f336..f5d15fd67 100644 --- a/m4/ldexpl.m4 +++ b/m4/ldexpl.m4 @@ -1,4 +1,4 @@ -# ldexpl.m4 serial 12 +# ldexpl.m4 serial 14 dnl Copyright (C) 2007-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -7,10 +7,11 @@ dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_LDEXPL], [ AC_REQUIRE([gl_MATH_H_DEFAULTS]) + AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE]) AC_REQUIRE([gl_FUNC_ISNANL]) dnl for ISNANL_LIBM dnl Check whether it's declared. dnl MacOS X 10.3 has ldexpl() in libc but doesn't declare it in . - AC_CHECK_DECL([ldexpl], , [HAVE_DECL_LDEXPL=0], [#include ]) + AC_CHECK_DECL([ldexpl], , [HAVE_DECL_LDEXPL=0], [[#include ]]) LDEXPL_LIBM= if test $HAVE_DECL_LDEXPL = 1; then gl_CHECK_LDEXPL_NO_LIBM @@ -53,7 +54,12 @@ AC_DEFUN([gl_FUNC_LDEXPL], fi if test $HAVE_DECL_LDEXPL = 0 || test $gl_func_ldexpl = no; then dnl Find libraries needed to link lib/ldexpl.c. - LDEXPL_LIBM="$ISNANL_LIBM" + if test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 1; then + AC_REQUIRE([gl_FUNC_LDEXP]) + LDEXPL_LIBM="$LDEXP_LIBM" + else + LDEXPL_LIBM="$ISNANL_LIBM" + fi fi AC_SUBST([LDEXPL_LIBM]) ]) diff --git a/m4/log.m4 b/m4/log.m4 new file mode 100644 index 000000000..f434763d9 --- /dev/null +++ b/m4/log.m4 @@ -0,0 +1,11 @@ +# log.m4 serial 1 +dnl Copyright (C) 2011 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_LOG], +[ + dnl Determine LOG_LIBM. + gl_COMMON_DOUBLE_MATHFUNC([log]) +]) diff --git a/m4/log10.m4 b/m4/log10.m4 new file mode 100644 index 000000000..8f0bc3474 --- /dev/null +++ b/m4/log10.m4 @@ -0,0 +1,11 @@ +# log10.m4 serial 1 +dnl Copyright (C) 2011 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_LOG10], +[ + dnl Determine LOG10_LIBM. + gl_COMMON_DOUBLE_MATHFUNC([log10]) +]) diff --git a/m4/log10f.m4 b/m4/log10f.m4 new file mode 100644 index 000000000..ab29a0fa6 --- /dev/null +++ b/m4/log10f.m4 @@ -0,0 +1,25 @@ +# log10f.m4 serial 1 +dnl Copyright (C) 2011 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_LOG10F], +[ + AC_REQUIRE([gl_MATH_H_DEFAULTS]) + AC_REQUIRE([gl_FUNC_LOG10]) + + dnl Test whether log10f() exists. Assume that log10f(), if it exists, is + dnl defined in the same library as log10(). + save_LIBS="$LIBS" + LIBS="$LIBS $LOG10_LIBM" + AC_CHECK_FUNCS([log10f]) + LIBS="$save_LIBS" + if test $ac_cv_func_log10f = yes; then + LOG10F_LIBM="$LOG10_LIBM" + else + HAVE_LOG10F=0 + LOG10F_LIBM="$LOG10_LIBM" + fi + AC_SUBST([LOG10F_LIBM]) +]) diff --git a/m4/logb.m4 b/m4/logb.m4 index 972d38f7c..7d57baf6a 100644 --- a/m4/logb.m4 +++ b/m4/logb.m4 @@ -1,4 +1,4 @@ -# logb.m4 serial 3 +# logb.m4 serial 4 dnl Copyright (C) 2010-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -8,7 +8,7 @@ AC_DEFUN([gl_FUNC_LOGB], [ AC_REQUIRE([gl_MATH_H_DEFAULTS]) dnl Test whether logb() is declared. - AC_CHECK_DECLS([logb], , , [#include ]) + AC_CHECK_DECLS([logb], , , [[#include ]]) if test "$ac_cv_have_decl_logb" != yes; then HAVE_DECL_LOGB=0 fi diff --git a/m4/logf.m4 b/m4/logf.m4 new file mode 100644 index 000000000..f4173f0b0 --- /dev/null +++ b/m4/logf.m4 @@ -0,0 +1,25 @@ +# logf.m4 serial 1 +dnl Copyright (C) 2011 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_LOGF], +[ + AC_REQUIRE([gl_MATH_H_DEFAULTS]) + AC_REQUIRE([gl_FUNC_LOG]) + + dnl Test whether logf() exists. Assume that logf(), if it exists, is + dnl defined in the same library as log(). + save_LIBS="$LIBS" + LIBS="$LIBS $LOG_LIBM" + AC_CHECK_FUNCS([logf]) + LIBS="$save_LIBS" + if test $ac_cv_func_logf = yes; then + LOGF_LIBM="$LOG_LIBM" + else + HAVE_LOGF=0 + LOGF_LIBM="$LOG_LIBM" + fi + AC_SUBST([LOGF_LIBM]) +]) diff --git a/m4/logl.m4 b/m4/logl.m4 index dfc301a92..f17e5e5f3 100644 --- a/m4/logl.m4 +++ b/m4/logl.m4 @@ -1,4 +1,4 @@ -# logl.m4 serial 4 +# logl.m4 serial 6 dnl Copyright (C) 2010-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -7,6 +7,8 @@ dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_LOGL], [ AC_REQUIRE([gl_MATH_H_DEFAULTS]) + AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE]) + dnl Persuade glibc to declare logl(). AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) @@ -51,29 +53,34 @@ AC_DEFUN([gl_FUNC_LOGL], || test $gl_cv_func_logl_in_libm = yes; then dnl Also check whether it's declared. dnl MacOS X 10.3 has logl() in libc but doesn't declare it in . - AC_CHECK_DECL([logl], , [HAVE_DECL_LOGL=0], [#include ]) + AC_CHECK_DECL([logl], , [HAVE_DECL_LOGL=0], [[#include ]]) else HAVE_DECL_LOGL=0 HAVE_LOGL=0 dnl Find libraries needed to link lib/logl.c. - AC_REQUIRE([gl_FUNC_FREXPL]) - AC_REQUIRE([gl_FUNC_ISNANL]) - AC_REQUIRE([gl_FUNC_FLOORL]) - dnl Append $FREXPL_LIBM to LOGL_LIBM, avoiding gratuitous duplicates. - case " $LOGL_LIBM " in - *" $FREXPL_LIBM "*) ;; - *) LOGL_LIBM="$LOGL_LIBM $FREXPL_LIBM" ;; - esac - dnl Append $ISNANL_LIBM to LOGL_LIBM, avoiding gratuitous duplicates. - case " $LOGL_LIBM " in - *" $ISNANL_LIBM "*) ;; - *) LOGL_LIBM="$LOGL_LIBM $ISNANL_LIBM" ;; - esac - dnl Append $FLOORL_LIBM to LOGL_LIBM, avoiding gratuitous duplicates. - case " $LOGL_LIBM " in - *" $FLOORL_LIBM "*) ;; - *) LOGL_LIBM="$LOGL_LIBM $FLOORL_LIBM" ;; - esac + if test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 1; then + AC_REQUIRE([gl_FUNC_LOG]) + LOGL_LIBM="$LOG_LIBM" + else + AC_REQUIRE([gl_FUNC_FREXPL]) + AC_REQUIRE([gl_FUNC_ISNANL]) + AC_REQUIRE([gl_FUNC_FLOORL]) + dnl Append $FREXPL_LIBM to LOGL_LIBM, avoiding gratuitous duplicates. + case " $LOGL_LIBM " in + *" $FREXPL_LIBM "*) ;; + *) LOGL_LIBM="$LOGL_LIBM $FREXPL_LIBM" ;; + esac + dnl Append $ISNANL_LIBM to LOGL_LIBM, avoiding gratuitous duplicates. + case " $LOGL_LIBM " in + *" $ISNANL_LIBM "*) ;; + *) LOGL_LIBM="$LOGL_LIBM $ISNANL_LIBM" ;; + esac + dnl Append $FLOORL_LIBM to LOGL_LIBM, avoiding gratuitous duplicates. + case " $LOGL_LIBM " in + *" $FLOORL_LIBM "*) ;; + *) LOGL_LIBM="$LOGL_LIBM $FLOORL_LIBM" ;; + esac + fi fi AC_SUBST([LOGL_LIBM]) ]) diff --git a/m4/lseek.m4 b/m4/lseek.m4 index b45488445..73c40698c 100644 --- a/m4/lseek.m4 +++ b/m4/lseek.m4 @@ -1,4 +1,4 @@ -# lseek.m4 serial 7 +# lseek.m4 serial 8 dnl Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -8,12 +8,18 @@ AC_DEFUN([gl_FUNC_LSEEK], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) AC_REQUIRE([AC_PROG_CC]) + AC_CHECK_HEADERS_ONCE([unistd.h]) AC_CACHE_CHECK([whether lseek detects pipes], [gl_cv_func_lseek_pipe], [if test $cross_compiling = no; then AC_LINK_IFELSE([AC_LANG_PROGRAM([[ #include /* for off_t */ #include /* for SEEK_CUR */ -#include ]], [[ +#if HAVE_UNISTD_H +# include +#else /* on Windows with MSVC */ +# include +#endif +]], [[ /* Exit with success only if stdin is seekable. */ return lseek (0, (off_t)0, SEEK_CUR) < 0; ]])], diff --git a/m4/manywarnings.m4 b/m4/manywarnings.m4 index 67db064a9..be68659a3 100644 --- a/m4/manywarnings.m4 +++ b/m4/manywarnings.m4 @@ -1,4 +1,4 @@ -# manywarnings.m4 serial 1 +# manywarnings.m4 serial 3 dnl Copyright (C) 2008-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -30,9 +30,9 @@ AC_DEFUN([gl_MANYWARN_COMPLEMENT], # gl_MANYWARN_ALL_GCC(VARIABLE) # ----------------------------- -# Add all documented GCC (currently as per version 4.4) warning -# parameters to variable VARIABLE. Note that you need to test them -# using gl_WARN_ADD if you want to make sure your gcc understands it. +# Add all documented GCC warning parameters to variable VARIABLE. +# Note that you need to test them using gl_WARN_ADD if you want to +# make sure your gcc understands it. AC_DEFUN([gl_MANYWARN_ALL_GCC], [ dnl First, check if -Wno-missing-field-initializers is needed. @@ -148,6 +148,32 @@ AC_DEFUN([gl_MANYWARN_ALL_GCC], ; do gl_manywarn_set="$gl_manywarn_set $gl_manywarn_item" done + # More warnings from gcc 4.6.2 --help=warnings. + for gl_manywarn_item in \ + -Wabi \ + -Wcpp \ + -Wdeprecated \ + -Wdeprecated-declarations \ + -Wdiv-by-zero \ + -Wdouble-promotion \ + -Wendif-labels \ + -Wextra \ + -Wformat-contains-nul \ + -Wformat-extra-args \ + -Wformat-zero-length \ + -Wformat=2 \ + -Wmultichar \ + -Wnormalized=nfc \ + -Woverflow \ + -Wpointer-to-int-cast \ + -Wpragmas \ + -Wsuggest-attribute=const \ + -Wsuggest-attribute=noreturn \ + -Wsuggest-attribute=pure \ + -Wtrampolines \ + ; do + gl_manywarn_set="$gl_manywarn_set $gl_manywarn_item" + done # Disable the missing-field-initializers warning if needed if test "$gl_cv_cc_nomfi_needed" = yes; then diff --git a/m4/math_h.m4 b/m4/math_h.m4 index 7b46aeef8..e58a9e908 100644 --- a/m4/math_h.m4 +++ b/m4/math_h.m4 @@ -1,4 +1,4 @@ -# math_h.m4 serial 25 +# math_h.m4 serial 56 dnl Copyright (C) 2007-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -38,9 +38,13 @@ AC_DEFUN([gl_MATH_H], dnl Check for declarations of anything we want to poison if the dnl corresponding gnulib module is not in use. - gl_WARN_ON_USE_PREPARE([[#include - ]], [acosl asinl atanl ceilf ceill cosl expl floorf floorl frexpl - ldexpl logb logl round roundf roundl sinl sqrtl tanl trunc truncf truncl]) + gl_WARN_ON_USE_PREPARE([[#include ]], + [acosf acosl asinf asinl atanf atanl + ceilf ceill copysign copysignf copysignl cosf cosl coshf + expf expl fabsf floorf floorl fma fmaf fmal fmodf frexpf frexpl + ldexpf ldexpl logb logf logl log10f modff powf + rint rintf rintl round roundf roundl sinf sinl sinhf sqrtf sqrtl + tanf tanl tanhf trunc truncf truncl]) ]) AC_DEFUN([gl_MATH_MODULE_INDICATOR], @@ -54,51 +58,109 @@ AC_DEFUN([gl_MATH_MODULE_INDICATOR], AC_DEFUN([gl_MATH_H_DEFAULTS], [ - GNULIB_ACOSL=0; AC_SUBST([GNULIB_ACOSL]) - GNULIB_ASINL=0; AC_SUBST([GNULIB_ASINL]) - GNULIB_ATANL=0; AC_SUBST([GNULIB_ATANL]) - GNULIB_CEIL=0; AC_SUBST([GNULIB_CEIL]) - GNULIB_CEILF=0; AC_SUBST([GNULIB_CEILF]) - GNULIB_CEILL=0; AC_SUBST([GNULIB_CEILL]) - GNULIB_COSL=0; AC_SUBST([GNULIB_COSL]) - GNULIB_EXPL=0; AC_SUBST([GNULIB_EXPL]) - GNULIB_FLOOR=0; AC_SUBST([GNULIB_FLOOR]) - GNULIB_FLOORF=0; AC_SUBST([GNULIB_FLOORF]) - GNULIB_FLOORL=0; AC_SUBST([GNULIB_FLOORL]) - GNULIB_FREXP=0; AC_SUBST([GNULIB_FREXP]) - GNULIB_FREXPL=0; AC_SUBST([GNULIB_FREXPL]) - GNULIB_ISFINITE=0; AC_SUBST([GNULIB_ISFINITE]) - GNULIB_ISINF=0; AC_SUBST([GNULIB_ISINF]) - GNULIB_ISNAN=0; AC_SUBST([GNULIB_ISNAN]) - GNULIB_ISNANF=0; AC_SUBST([GNULIB_ISNANF]) - GNULIB_ISNAND=0; AC_SUBST([GNULIB_ISNAND]) - GNULIB_ISNANL=0; AC_SUBST([GNULIB_ISNANL]) - GNULIB_LDEXPL=0; AC_SUBST([GNULIB_LDEXPL]) - GNULIB_LOGB=0; AC_SUBST([GNULIB_LOGB]) - GNULIB_LOGL=0; AC_SUBST([GNULIB_LOGL]) - GNULIB_ROUND=0; AC_SUBST([GNULIB_ROUND]) - GNULIB_ROUNDF=0; AC_SUBST([GNULIB_ROUNDF]) - GNULIB_ROUNDL=0; AC_SUBST([GNULIB_ROUNDL]) - GNULIB_SIGNBIT=0; AC_SUBST([GNULIB_SIGNBIT]) - GNULIB_SINL=0; AC_SUBST([GNULIB_SINL]) - GNULIB_SQRTL=0; AC_SUBST([GNULIB_SQRTL]) - GNULIB_TANL=0; AC_SUBST([GNULIB_TANL]) - GNULIB_TRUNC=0; AC_SUBST([GNULIB_TRUNC]) - GNULIB_TRUNCF=0; AC_SUBST([GNULIB_TRUNCF]) - GNULIB_TRUNCL=0; AC_SUBST([GNULIB_TRUNCL]) + GNULIB_ACOSF=0; AC_SUBST([GNULIB_ACOSF]) + GNULIB_ACOSL=0; AC_SUBST([GNULIB_ACOSL]) + GNULIB_ASINF=0; AC_SUBST([GNULIB_ASINF]) + GNULIB_ASINL=0; AC_SUBST([GNULIB_ASINL]) + GNULIB_ATANF=0; AC_SUBST([GNULIB_ATANF]) + GNULIB_ATANL=0; AC_SUBST([GNULIB_ATANL]) + GNULIB_ATAN2F=0; AC_SUBST([GNULIB_ATAN2F]) + GNULIB_CEIL=0; AC_SUBST([GNULIB_CEIL]) + GNULIB_CEILF=0; AC_SUBST([GNULIB_CEILF]) + GNULIB_CEILL=0; AC_SUBST([GNULIB_CEILL]) + GNULIB_COPYSIGN=0; AC_SUBST([GNULIB_COPYSIGN]) + GNULIB_COPYSIGNF=0; AC_SUBST([GNULIB_COPYSIGNF]) + GNULIB_COPYSIGNL=0; AC_SUBST([GNULIB_COPYSIGNL]) + GNULIB_COSF=0; AC_SUBST([GNULIB_COSF]) + GNULIB_COSL=0; AC_SUBST([GNULIB_COSL]) + GNULIB_COSHF=0; AC_SUBST([GNULIB_COSHF]) + GNULIB_EXPF=0; AC_SUBST([GNULIB_EXPF]) + GNULIB_EXPL=0; AC_SUBST([GNULIB_EXPL]) + GNULIB_FABSF=0; AC_SUBST([GNULIB_FABSF]) + GNULIB_FLOOR=0; AC_SUBST([GNULIB_FLOOR]) + GNULIB_FLOORF=0; AC_SUBST([GNULIB_FLOORF]) + GNULIB_FLOORL=0; AC_SUBST([GNULIB_FLOORL]) + GNULIB_FMA=0; AC_SUBST([GNULIB_FMA]) + GNULIB_FMAF=0; AC_SUBST([GNULIB_FMAF]) + GNULIB_FMAL=0; AC_SUBST([GNULIB_FMAL]) + GNULIB_FMODF=0; AC_SUBST([GNULIB_FMODF]) + GNULIB_FREXPF=0; AC_SUBST([GNULIB_FREXPF]) + GNULIB_FREXP=0; AC_SUBST([GNULIB_FREXP]) + GNULIB_FREXPL=0; AC_SUBST([GNULIB_FREXPL]) + GNULIB_ISFINITE=0; AC_SUBST([GNULIB_ISFINITE]) + GNULIB_ISINF=0; AC_SUBST([GNULIB_ISINF]) + GNULIB_ISNAN=0; AC_SUBST([GNULIB_ISNAN]) + GNULIB_ISNANF=0; AC_SUBST([GNULIB_ISNANF]) + GNULIB_ISNAND=0; AC_SUBST([GNULIB_ISNAND]) + GNULIB_ISNANL=0; AC_SUBST([GNULIB_ISNANL]) + GNULIB_LDEXPF=0; AC_SUBST([GNULIB_LDEXPF]) + GNULIB_LDEXPL=0; AC_SUBST([GNULIB_LDEXPL]) + GNULIB_LOGB=0; AC_SUBST([GNULIB_LOGB]) + GNULIB_LOGF=0; AC_SUBST([GNULIB_LOGF]) + GNULIB_LOGL=0; AC_SUBST([GNULIB_LOGL]) + GNULIB_LOG10F=0; AC_SUBST([GNULIB_LOG10F]) + GNULIB_MODFF=0; AC_SUBST([GNULIB_MODFF]) + GNULIB_POWF=0; AC_SUBST([GNULIB_POWF]) + GNULIB_RINT=0; AC_SUBST([GNULIB_RINT]) + GNULIB_RINTF=0; AC_SUBST([GNULIB_RINTF]) + GNULIB_RINTL=0; AC_SUBST([GNULIB_RINTL]) + GNULIB_ROUND=0; AC_SUBST([GNULIB_ROUND]) + GNULIB_ROUNDF=0; AC_SUBST([GNULIB_ROUNDF]) + GNULIB_ROUNDL=0; AC_SUBST([GNULIB_ROUNDL]) + GNULIB_SIGNBIT=0; AC_SUBST([GNULIB_SIGNBIT]) + GNULIB_SINF=0; AC_SUBST([GNULIB_SINF]) + GNULIB_SINL=0; AC_SUBST([GNULIB_SINL]) + GNULIB_SINHF=0; AC_SUBST([GNULIB_SINHF]) + GNULIB_SQRTF=0; AC_SUBST([GNULIB_SQRTF]) + GNULIB_SQRTL=0; AC_SUBST([GNULIB_SQRTL]) + GNULIB_TANF=0; AC_SUBST([GNULIB_TANF]) + GNULIB_TANL=0; AC_SUBST([GNULIB_TANL]) + GNULIB_TANHF=0; AC_SUBST([GNULIB_TANHF]) + GNULIB_TRUNC=0; AC_SUBST([GNULIB_TRUNC]) + GNULIB_TRUNCF=0; AC_SUBST([GNULIB_TRUNCF]) + GNULIB_TRUNCL=0; AC_SUBST([GNULIB_TRUNCL]) dnl Assume proper GNU behavior unless another module says otherwise. + HAVE_ACOSF=1; AC_SUBST([HAVE_ACOSF]) HAVE_ACOSL=1; AC_SUBST([HAVE_ACOSL]) + HAVE_ASINF=1; AC_SUBST([HAVE_ASINF]) HAVE_ASINL=1; AC_SUBST([HAVE_ASINL]) + HAVE_ATANF=1; AC_SUBST([HAVE_ATANF]) HAVE_ATANL=1; AC_SUBST([HAVE_ATANL]) + HAVE_ATAN2F=1; AC_SUBST([HAVE_ATAN2F]) + HAVE_COPYSIGN=1; AC_SUBST([HAVE_COPYSIGN]) + HAVE_COPYSIGNF=1; AC_SUBST([HAVE_COPYSIGNF]) + HAVE_COPYSIGNL=1; AC_SUBST([HAVE_COPYSIGNL]) + HAVE_COSF=1; AC_SUBST([HAVE_COSF]) HAVE_COSL=1; AC_SUBST([HAVE_COSL]) + HAVE_COSHF=1; AC_SUBST([HAVE_COSHF]) + HAVE_EXPF=1; AC_SUBST([HAVE_EXPF]) HAVE_EXPL=1; AC_SUBST([HAVE_EXPL]) + HAVE_FABSF=1; AC_SUBST([HAVE_FABSF]) + HAVE_FMA=1; AC_SUBST([HAVE_FMA]) + HAVE_FMAF=1; AC_SUBST([HAVE_FMAF]) + HAVE_FMAL=1; AC_SUBST([HAVE_FMAL]) + HAVE_FMODF=1; AC_SUBST([HAVE_FMODF]) + HAVE_FREXPF=1; AC_SUBST([HAVE_FREXPF]) HAVE_ISNANF=1; AC_SUBST([HAVE_ISNANF]) HAVE_ISNAND=1; AC_SUBST([HAVE_ISNAND]) HAVE_ISNANL=1; AC_SUBST([HAVE_ISNANL]) + HAVE_LDEXPF=1; AC_SUBST([HAVE_LDEXPF]) + HAVE_LOGF=1; AC_SUBST([HAVE_LOGF]) HAVE_LOGL=1; AC_SUBST([HAVE_LOGL]) + HAVE_LOG10F=1; AC_SUBST([HAVE_LOG10F]) + HAVE_MODFF=1; AC_SUBST([HAVE_MODFF]) + HAVE_POWF=1; AC_SUBST([HAVE_POWF]) + HAVE_RINT=1; AC_SUBST([HAVE_RINT]) + HAVE_RINTF=1; AC_SUBST([HAVE_RINTF]) + HAVE_RINTL=1; AC_SUBST([HAVE_RINTL]) + HAVE_SINF=1; AC_SUBST([HAVE_SINF]) HAVE_SINL=1; AC_SUBST([HAVE_SINL]) + HAVE_SINHF=1; AC_SUBST([HAVE_SINHF]) + HAVE_SQRTF=1; AC_SUBST([HAVE_SQRTF]) HAVE_SQRTL=1; AC_SUBST([HAVE_SQRTL]) + HAVE_TANF=1; AC_SUBST([HAVE_TANF]) HAVE_TANL=1; AC_SUBST([HAVE_TANL]) + HAVE_TANHF=1; AC_SUBST([HAVE_TANHF]) HAVE_DECL_ACOSL=1; AC_SUBST([HAVE_DECL_ACOSL]) HAVE_DECL_ASINL=1; AC_SUBST([HAVE_DECL_ASINL]) HAVE_DECL_ATANL=1; AC_SUBST([HAVE_DECL_ATANL]) @@ -127,6 +189,10 @@ AC_DEFUN([gl_MATH_H_DEFAULTS], REPLACE_FLOOR=0; AC_SUBST([REPLACE_FLOOR]) REPLACE_FLOORF=0; AC_SUBST([REPLACE_FLOORF]) REPLACE_FLOORL=0; AC_SUBST([REPLACE_FLOORL]) + REPLACE_FMA=0; AC_SUBST([REPLACE_FMA]) + REPLACE_FMAF=0; AC_SUBST([REPLACE_FMAF]) + REPLACE_FMAL=0; AC_SUBST([REPLACE_FMAL]) + REPLACE_FREXPF=0; AC_SUBST([REPLACE_FREXPF]) REPLACE_FREXP=0; AC_SUBST([REPLACE_FREXP]) REPLACE_FREXPL=0; AC_SUBST([REPLACE_FREXPL]) REPLACE_HUGE_VAL=0; AC_SUBST([REPLACE_HUGE_VAL]) @@ -144,3 +210,34 @@ AC_DEFUN([gl_MATH_H_DEFAULTS], REPLACE_TRUNCF=0; AC_SUBST([REPLACE_TRUNCF]) REPLACE_TRUNCL=0; AC_SUBST([REPLACE_TRUNCL]) ]) + +# gl_LONG_DOUBLE_VS_DOUBLE +# determines whether 'long double' and 'double' have the same representation. +# Sets variable HAVE_SAME_LONG_DOUBLE_AS_DOUBLE to 0 or 1, and defines +# HAVE_SAME_LONG_DOUBLE_AS_DOUBLE accordingly. +# The currently known platforms where this is the case are: +# Linux/HPPA, Minix 3.1.8, AIX 5, AIX 6 and 7 with xlc, MSVC 9. +AC_DEFUN([gl_LONG_DOUBLE_VS_DOUBLE], +[ + AC_CACHE_CHECK([whether long double and double are the same], + [gl_cv_long_double_equals_double], + [AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([[#include ]], + [[typedef int check[sizeof (long double) == sizeof (double) + && LDBL_MANT_DIG == DBL_MANT_DIG + && LDBL_MAX_EXP == DBL_MAX_EXP + && LDBL_MIN_EXP == DBL_MIN_EXP + ? 1 : -1]; + ]])], + [gl_cv_long_double_equals_double=yes], + [gl_cv_long_double_equals_double=no]) + ]) + if test $gl_cv_long_double_equals_double = yes; then + AC_DEFINE([HAVE_SAME_LONG_DOUBLE_AS_DOUBLE], [1], + [Define to 1 if 'long double' and 'double' have the same representation.]) + HAVE_SAME_LONG_DOUBLE_AS_DOUBLE=1 + else + HAVE_SAME_LONG_DOUBLE_AS_DOUBLE=0 + fi + AC_SUBST([HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]) +]) diff --git a/m4/mathfunc.m4 b/m4/mathfunc.m4 index 40a27b4b2..c75e7b939 100644 --- a/m4/mathfunc.m4 +++ b/m4/mathfunc.m4 @@ -1,11 +1,11 @@ -# mathfunc.m4 serial 6 +# mathfunc.m4 serial 10 dnl Copyright (C) 2010-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. -# gl_MATHFUNC(FUNC, RETTYPE, PARAMTYPES) -# -------------------------------------------------- +# gl_MATHFUNC(FUNC, RETTYPE, PARAMTYPES [, INCLUDES] [, EXTRA-CODE]) +# ------------------------------------------------------------------ # tests whether the function FUNC is available in libc or libm. # RETTYPE is the return type. PARAMTYPES is a parameter list, with parentheses. # It sets FUNC_LIBM to empty or "-lm" accordingly. @@ -13,12 +13,42 @@ dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_MATHFUNC], [ dnl We need the RETTYPE and PARAMTYPES in order to force linking with the - dnl function. With gcc >= 4.3 on glibc/x86_64, calls to the 'fabs' function - dnl are inlined by the compiler, therefore linking of these calls does not - dnl require -lm, but taking the function pointer of 'fabs' does. + dnl function. + dnl 1) With gcc >= 4.3 on glibc/x86_64, calls to the 'fabs' function + dnl are inlined by the compiler, therefore linking of these calls does + dnl not require -lm, but taking the function pointer of 'fabs' does. + dnl 2) On MSVC 9, many math functions exist only as macros with arguments, + dnl whereas the function pointer is undefined. + dnl On the other hand, taking just the function pointer is not enough. + dnl 1) On AIX 7.1, when 'long double' is 128 bit large ("xlc -qldbl128" or + dnl "xlc -qlongdouble" or "gcc -mlong-double-128") many math functions + dnl exist as macros with arguments, that may reference libm or even + dnl completely undefined functions such as __rint128. + dnl 2) In AIX 7.1 with gcc 4.2, when optimization is turned on, calls to + dnl rint() with simple arguments are turned into rintf() calls by the + dnl compiler. But while rint() is resides in libc, rintf() is in libm. m4_pushdef([func], [$1]) m4_pushdef([FUNC], [m4_translit([$1],[abcdefghijklmnopqrstuvwxyz], [ABCDEFGHIJKLMNOPQRSTUVWXYZ])]) + m4_pushdef([ARGS], [m4_bpatsubst( + [m4_bpatsubst( + [m4_bpatsubst( + [m4_bpatsubst( + [m4_bpatsubst( + [m4_bpatsubst( + [m4_bpatsubst( + [m4_bpatsubst( + [m4_bpatsubst( + [$3], + [int \*], [&i_ret])], + [float \*], [&f_ret])], + [double \*], [&d_ret])], + [long double \*], [&l_ret])], + [int], [2])], + [float], [1.618034f])], + [long double], [1.618033988749894848L])], + [double], [1.6180339887])], + [void], [])]) FUNC[]_LIBM= AC_CACHE_CHECK([whether func() can be used without linking with libm], [gl_cv_func_]func[_no_libm], @@ -29,9 +59,14 @@ AC_DEFUN([gl_MATHFUNC], # define __NO_MATH_INLINES 1 /* for glibc */ #endif #include + $4 $2 (*funcptr) $3 = ]func[; - double d_ret;]], - [[$2 y = funcptr ]m4_bpatsubst([m4_bpatsubst([m4_bpatsubst([$3], [int], [2])], [double \*], [&d_ret])], [double], [1.6180339887])[; + int i_ret; + float f_ret; + double d_ret; + long double l_ret;]], + [[$2 y = funcptr ]ARGS[ + ]func[ ]ARGS[; + $5 return y < 0.3 || y > 1.7; ]])], [gl_cv_func_]func[_no_libm=yes], @@ -49,9 +84,14 @@ AC_DEFUN([gl_MATHFUNC], # define __NO_MATH_INLINES 1 /* for glibc */ #endif #include + $4 $2 (*funcptr) $3 = ]func[; - double d_ret;]], - [[$2 y = funcptr ]m4_bpatsubst([m4_bpatsubst([m4_bpatsubst([$3], [int], [2])], [double \*], [&d_ret])], [double], [1.6180339887])[; + int i_ret; + float f_ret; + double d_ret; + long double l_ret;]], + [[$2 y = funcptr ]ARGS[ + ]func[ ]ARGS[; + $5 return y < 0.3 || y > 1.7; ]])], [gl_cv_func_]func[_in_libm=yes], @@ -63,6 +103,7 @@ AC_DEFUN([gl_MATHFUNC], fi fi AC_SUBST(FUNC[_LIBM]) + m4_popdef([ARGS]) m4_popdef([FUNC]) m4_popdef([func]) ]) diff --git a/m4/mkdirat.m4 b/m4/mkdirat.m4 new file mode 100644 index 000000000..f21f7e7a2 --- /dev/null +++ b/m4/mkdirat.m4 @@ -0,0 +1,23 @@ +# mkdirat.m4 serial 1 +dnl Copyright (C) 2004-2011 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +# Written by Jim Meyering. + +AC_DEFUN([gl_FUNC_MKDIRAT], +[ + AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS]) + AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) + AC_CHECK_FUNCS_ONCE([mkdirat]) + if test $ac_cv_func_mkdirat != yes; then + HAVE_MKDIRAT=0 + fi +]) + +# Prerequisite of mkdirat's declaration and of lib/mkdirat.c. +AC_DEFUN([gl_PREREQ_MKDIRAT], +[ + AC_REQUIRE([AC_TYPE_MODE_T]) +]) diff --git a/m4/modf.m4 b/m4/modf.m4 new file mode 100644 index 000000000..03ee50b27 --- /dev/null +++ b/m4/modf.m4 @@ -0,0 +1,11 @@ +# modf.m4 serial 1 +dnl Copyright (C) 2011 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_MODF], +[ + dnl Determine MODF_LIBM. + gl_MATHFUNC([modf], [double], [(double, double *)]) +]) diff --git a/m4/modff.m4 b/m4/modff.m4 new file mode 100644 index 000000000..faf58e353 --- /dev/null +++ b/m4/modff.m4 @@ -0,0 +1,22 @@ +# modff.m4 serial 2 +dnl Copyright (C) 2011 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_MODFF], +[ + AC_REQUIRE([gl_MATH_H_DEFAULTS]) + AC_REQUIRE([gl_FUNC_MODF]) + + dnl Test whether modff() exists. We cannot assume that modff(), if it + dnl exists, is defined in the same library as modf(). This is not the case + dnl on FreeBSD, NetBSD, OpenBSD. + gl_MATHFUNC([modff], [float], [(float, float *)]) + if test $gl_cv_func_modff_no_libm = no \ + && test $gl_cv_func_modff_in_libm = no; then + HAVE_MODFF=0 + MODFF_LIBM="$MODF_LIBM" + fi + AC_SUBST([MODFF_LIBM]) +]) diff --git a/m4/msvc-inval.m4 b/m4/msvc-inval.m4 new file mode 100644 index 000000000..fb797f055 --- /dev/null +++ b/m4/msvc-inval.m4 @@ -0,0 +1,19 @@ +# msvc-inval.m4 serial 1 +dnl Copyright (C) 2011 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_MSVC_INVAL], +[ + AC_CHECK_FUNCS_ONCE([_set_invalid_parameter_handler]) + if test $ac_cv_func__set_invalid_parameter_handler = yes; then + HAVE_MSVC_INVALID_PARAMETER_HANDLER=1 + AC_DEFINE([HAVE_MSVC_INVALID_PARAMETER_HANDLER], [1], + [Define to 1 on MSVC platforms that have the "invalid parameter handler" + concept.]) + else + HAVE_MSVC_INVALID_PARAMETER_HANDLER=0 + fi + AC_SUBST([HAVE_MSVC_INVALID_PARAMETER_HANDLER]) +]) diff --git a/m4/msvc-nothrow.m4 b/m4/msvc-nothrow.m4 new file mode 100644 index 000000000..b2f6bb49a --- /dev/null +++ b/m4/msvc-nothrow.m4 @@ -0,0 +1,10 @@ +# msvc-nothrow.m4 serial 1 +dnl Copyright (C) 2011 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_MSVC_NOTHROW], +[ + AC_REQUIRE([gl_MSVC_INVAL]) +]) diff --git a/m4/nocrash.m4 b/m4/nocrash.m4 index 0cc0d53eb..60aad9529 100644 --- a/m4/nocrash.m4 +++ b/m4/nocrash.m4 @@ -1,4 +1,4 @@ -# nocrash.m4 serial 2 +# nocrash.m4 serial 3 dnl Copyright (C) 2005, 2009-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -79,6 +79,34 @@ nocrash_init (void) } } } +#elif (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +/* Avoid a crash on native Windows. */ +#define WIN32_LEAN_AND_MEAN +#include +#include +static LONG WINAPI +exception_filter (EXCEPTION_POINTERS *ExceptionInfo) +{ + switch (ExceptionInfo->ExceptionRecord->ExceptionCode) + { + case EXCEPTION_ACCESS_VIOLATION: + case EXCEPTION_IN_PAGE_ERROR: + case EXCEPTION_STACK_OVERFLOW: + case EXCEPTION_GUARD_PAGE: + case EXCEPTION_PRIV_INSTRUCTION: + case EXCEPTION_ILLEGAL_INSTRUCTION: + case EXCEPTION_DATATYPE_MISALIGNMENT: + case EXCEPTION_ARRAY_BOUNDS_EXCEEDED: + case EXCEPTION_NONCONTINUABLE_EXCEPTION: + exit (1); + } + return EXCEPTION_CONTINUE_SEARCH; +} +static void +nocrash_init (void) +{ + SetUnhandledExceptionFilter ((LPTOP_LEVEL_EXCEPTION_FILTER) exception_filter); +} #else /* Avoid a crash on POSIX systems. */ #include diff --git a/m4/onceonly.m4 b/m4/onceonly.m4 index 223071a23..254217c68 100644 --- a/m4/onceonly.m4 +++ b/m4/onceonly.m4 @@ -1,9 +1,22 @@ -# onceonly.m4 serial 7 +# onceonly.m4 serial 8 dnl Copyright (C) 2002-2003, 2005-2006, 2008-2011 Free Software Foundation, dnl Inc. -dnl This file is free software, distributed under the terms of the GNU -dnl General Public License. As a special exception to the GNU General -dnl Public License, this file may be distributed as part of a program +dnl +dnl This file is free software; you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation; either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This file is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this file. If not, see . +dnl +dnl As a special exception to the GNU General Public License, +dnl this file may be distributed as part of a program dnl that contains a configuration script generated by Autoconf, under dnl the same distribution terms as the rest of that program. diff --git a/m4/openat.m4 b/m4/openat.m4 index 43da4f28c..cf42440f8 100644 --- a/m4/openat.m4 +++ b/m4/openat.m4 @@ -1,4 +1,4 @@ -# serial 37 +# serial 43 # See if we need to use our replacement for Solaris' openat et al functions. dnl Copyright (C) 2004-2011 Free Software Foundation, Inc. @@ -11,192 +11,24 @@ dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_OPENAT], [ AC_REQUIRE([gl_FCNTL_H_DEFAULTS]) - GNULIB_OPENAT=1 - - AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS]) - GNULIB_FCHMODAT=1 - GNULIB_FSTATAT=1 - GNULIB_MKDIRAT=1 - - AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) - GNULIB_FCHOWNAT=1 - GNULIB_UNLINKAT=1 - AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) - AC_CHECK_FUNCS_ONCE([fchmodat lchmod mkdirat openat unlinkat]) + AC_CHECK_FUNCS_ONCE([openat]) AC_REQUIRE([gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK]) - AC_REQUIRE([gl_FUNC_UNLINK]) case $ac_cv_func_openat+$gl_cv_func_lstat_dereferences_slashed_symlink in yes+yes) - # GNU/Hurd has unlinkat, but it has the same bug as unlink. - if test $REPLACE_UNLINK = 1; then - REPLACE_UNLINKAT=1 - fi ;; + ;; yes+*) # Solaris 9 has *at functions, but uniformly mishandles trailing # slash in all of them. REPLACE_OPENAT=1 - REPLACE_UNLINKAT=1 ;; *) HAVE_OPENAT=0 - HAVE_UNLINKAT=0 # No known system with unlinkat but not openat - gl_PREREQ_OPENAT;; + ;; esac - if test $ac_cv_func_fchmodat != yes; then - HAVE_FCHMODAT=0 - fi - if test $ac_cv_func_mkdirat != yes; then - HAVE_MKDIRAT=0 - fi - gl_FUNC_FCHOWNAT - gl_FUNC_FSTATAT -]) - -# gl_FUNC_FCHOWNAT_DEREF_BUG([ACTION-IF-BUGGY[, ACTION-IF-NOT_BUGGY]]) -AC_DEFUN([gl_FUNC_FCHOWNAT_DEREF_BUG], -[ - dnl Persuade glibc's to declare fchownat(). - AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) - - AC_CACHE_CHECK([whether fchownat works with AT_SYMLINK_NOFOLLOW], - gl_cv_func_fchownat_nofollow_works, - [ - gl_dangle=conftest.dangle - # Remove any remnants of a previous test. - rm -f $gl_dangle - # Arrange for deletion of the temporary file this test creates. - ac_clean_files="$ac_clean_files $gl_dangle" - ln -s conftest.no-such $gl_dangle - AC_RUN_IFELSE( - [AC_LANG_SOURCE( - [[ -#include -#include -#include -#include -#include -int -main () -{ - return (fchownat (AT_FDCWD, "$gl_dangle", -1, getgid (), - AT_SYMLINK_NOFOLLOW) != 0 - && errno == ENOENT); -} - ]])], - [gl_cv_func_fchownat_nofollow_works=yes], - [gl_cv_func_fchownat_nofollow_works=no], - [gl_cv_func_fchownat_nofollow_works=no], - ) - ]) - AS_IF([test $gl_cv_func_fchownat_nofollow_works = no], [$1], [$2]) -]) - -# gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG([ACTION-IF-BUGGY[, ACTION-IF-NOT_BUGGY]]) -AC_DEFUN([gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG], -[ - dnl Persuade glibc's to declare fchownat(). - AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) - - AC_CACHE_CHECK([whether fchownat works with an empty file name], - [gl_cv_func_fchownat_empty_filename_works], - [AC_RUN_IFELSE( - [AC_LANG_PROGRAM( - [[#include - #include - ]], - [[int fd; - int ret; - if (mkdir ("conftestdir", 0700) < 0) - return 2; - fd = open ("conftestdir", O_RDONLY); - if (fd < 0) - return 3; - ret = fchownat (fd, "", -1, -1, 0); - close (fd); - rmdir ("conftestdir"); - return ret == 0; - ]])], - [gl_cv_func_fchownat_empty_filename_works=yes], - [gl_cv_func_fchownat_empty_filename_works=no], - [gl_cv_func_fchownat_empty_filename_works="guessing no"]) - ]) - AS_IF([test "$gl_cv_func_fchownat_empty_filename_works" != yes], [$1], [$2]) -]) - -# If we have the fchownat function, and it has the bug (in glibc-2.4) -# that it dereferences symlinks even with AT_SYMLINK_NOFOLLOW, then -# use the replacement function. -# Also if the fchownat function, like chown, has the trailing slash bug, -# use the replacement function. -# Also use the replacement function if fchownat is simply not available. -AC_DEFUN([gl_FUNC_FCHOWNAT], -[ - AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) - AC_REQUIRE([gl_FUNC_CHOWN]) - AC_CHECK_FUNC([fchownat], - [gl_FUNC_FCHOWNAT_DEREF_BUG( - [REPLACE_FCHOWNAT=1 - AC_DEFINE([FCHOWNAT_NOFOLLOW_BUG], [1], - [Define to 1 if your platform has fchownat, but it cannot - perform lchown tasks.]) - ]) - gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG( - [REPLACE_FCHOWNAT=1 - AC_DEFINE([FCHOWNAT_EMPTY_FILENAME_BUG], [1], - [Define to 1 if your platform has fchownat, but it does - not reject an empty file name.]) - ]) - if test $REPLACE_CHOWN = 1; then - REPLACE_FCHOWNAT=1 - fi], - [HAVE_FCHOWNAT=0]) -]) - -# If we have the fstatat function, and it has the bug (in AIX 7.1) -# that it does not fill in st_size correctly, use the replacement function. -AC_DEFUN([gl_FUNC_FSTATAT], -[ - AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS]) - AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) - AC_REQUIRE([gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK]) - AC_CHECK_FUNCS_ONCE([fstatat]) - - if test $ac_cv_func_fstatat = no; then - HAVE_FSTATAT=0 - else - dnl Test for an AIX 7.1 bug; see - dnl . - AC_CACHE_CHECK([whether fstatat (..., 0) works], - [gl_cv_func_fstatat_zero_flag], - [gl_cv_func_fstatat_zero_flag=no - AC_RUN_IFELSE( - [AC_LANG_SOURCE( - [[ - #include - #include - int - main (void) - { - struct stat a; - return fstatat (AT_FDCWD, ".", &a, 0) != 0; - } - ]])], - [gl_cv_func_fstatat_zero_flag=yes])]) - - case $gl_cv_func_fstatat_zero_flag+$gl_cv_func_lstat_dereferences_slashed_symlink in - yes+yes) ;; - *) REPLACE_FSTATAT=1 - if test $gl_cv_func_fstatat_zero_flag != yes; then - AC_DEFINE([FSTATAT_ZERO_FLAG_BROKEN], [1], - [Define to 1 if fstatat (..., 0) does not work, - as in AIX 7.1.]) - fi - ;; - esac - fi ]) +# Prerequisites of lib/openat.c. AC_DEFUN([gl_PREREQ_OPENAT], [ AC_REQUIRE([AC_C_INLINE]) diff --git a/m4/opendir.m4 b/m4/opendir.m4 new file mode 100644 index 000000000..043dee4fb --- /dev/null +++ b/m4/opendir.m4 @@ -0,0 +1,25 @@ +# opendir.m4 serial 2 +dnl Copyright (C) 2011 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_OPENDIR], +[ + AC_REQUIRE([gl_DIRENT_H_DEFAULTS]) + + AC_CHECK_FUNCS([opendir]) + if test $ac_cv_func_opendir = no; then + HAVE_OPENDIR=0 + fi + dnl Replace opendir() for supporting the gnulib-defined fchdir() function, + dnl to keep fchdir's bookkeeping up-to-date. + m4_ifdef([gl_FUNC_FCHDIR], [ + gl_TEST_FCHDIR + if test $HAVE_FCHDIR = 0; then + if test $HAVE_OPENDIR = 1; then + REPLACE_OPENDIR=1 + fi + fi + ]) +]) diff --git a/m4/pathmax.m4 b/m4/pathmax.m4 index 0856722c3..4913fa06c 100644 --- a/m4/pathmax.m4 +++ b/m4/pathmax.m4 @@ -1,4 +1,4 @@ -# pathmax.m4 serial 9 +# pathmax.m4 serial 10 dnl Copyright (C) 2002-2003, 2005-2006, 2009-2011 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation @@ -10,3 +10,33 @@ AC_DEFUN([gl_PATHMAX], dnl Prerequisites of lib/pathmax.h. AC_CHECK_HEADERS_ONCE([sys/param.h]) ]) + +# Expands to a piece of C program that defines PATH_MAX in the same way as +# "pathmax.h" will do. +AC_DEFUN([gl_PATHMAX_SNIPPET], [[ +/* Arrange to define PATH_MAX, like "pathmax.h" does. */ +#if HAVE_UNISTD_H +# include +#endif +#include +#if defined HAVE_SYS_PARAM_H && !defined PATH_MAX && !defined MAXPATHLEN +# include +#endif +#if !defined PATH_MAX && defined MAXPATHLEN +# define PATH_MAX MAXPATHLEN +#endif +#ifdef __hpux +# undef PATH_MAX +# define PATH_MAX 1024 +#endif +#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +# undef PATH_MAX +# define PATH_MAX 260 +#endif +]]) + +# Prerequisites of gl_PATHMAX_SNIPPET. +AC_DEFUN([gl_PATHMAX_SNIPPET_PREREQ], +[ + AC_CHECK_HEADERS_ONCE([unistd.h sys/param.h]) +]) diff --git a/m4/pclose.m4 b/m4/pclose.m4 new file mode 100644 index 000000000..871c3fabe --- /dev/null +++ b/m4/pclose.m4 @@ -0,0 +1,20 @@ +# pclose.m4 serial 1 +dnl Copyright (C) 2011 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_PCLOSE], +[ + AC_REQUIRE([gl_STDIO_H_DEFAULTS]) + AC_CHECK_FUNCS_ONCE([pclose]) + if test $ac_cv_func_pclose = no; then + HAVE_PCLOSE=0 + fi +]) + +# Prerequisites of lib/pclose.c. +AC_DEFUN([gl_PREREQ_PCLOSE], +[ + : +]) diff --git a/m4/perror.m4 b/m4/perror.m4 index 86e20207f..cb17ba38b 100644 --- a/m4/perror.m4 +++ b/m4/perror.m4 @@ -1,4 +1,4 @@ -# perror.m4 serial 3 +# perror.m4 serial 6 dnl Copyright (C) 2008-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -27,6 +27,8 @@ AC_DEFUN([gl_FUNC_PERROR], [AC_LANG_PROGRAM( [[#include #include + #include + #include ]], [[char *str = strerror (-1); if (!getenv("CONFTEST_OUTPUT")) return 0; @@ -34,9 +36,10 @@ AC_DEFUN([gl_FUNC_PERROR], puts (str); errno = -1; perror (""); + return 0; ]])], - [CONFTEST_OUTPUT=1 ./conftest$EXEEXT >conftest.txt1 2>conftest.txt2 - if cmp conftest.txt1 conftest.txt2 >/dev/null; then + [if CONFTEST_OUTPUT=1 ./conftest$EXEEXT >conftest.txt1 2>conftest.txt2 \ + && cmp conftest.txt1 conftest.txt2 >/dev/null; then gl_cv_func_perror_works=yes else gl_cv_func_perror_works=no @@ -44,12 +47,17 @@ AC_DEFUN([gl_FUNC_PERROR], rm -rf conftest.txt1 conftest.txt2], [gl_cv_func_perror_works=no], [dnl Guess no when cross-compiling. - gl_cv_func_perror_works="guessing no"])]) - if test "$gl_cv_func_perror_works" != yes; then - REPLACE_PERROR=1 - fi ;; - *) dnl The system's perror() probably inherits the bugs in the - dnl system's strerror_r(). Replace it. - REPLACE_PERROR=1 ;; + gl_cv_func_perror_works="guessing no" + ]) + ]) + if test "$gl_cv_func_perror_works" != yes; then + REPLACE_PERROR=1 + fi + ;; + *) + dnl The system's perror() probably inherits the bugs in the + dnl system's strerror_r(). Replace it. + REPLACE_PERROR=1 + ;; esac ]) diff --git a/m4/poll.m4 b/m4/poll.m4 index e489df7a0..91a494c59 100644 --- a/m4/poll.m4 +++ b/m4/poll.m4 @@ -1,4 +1,4 @@ -# poll.m4 serial 14 +# poll.m4 serial 16 dnl Copyright (c) 2003, 2005-2007, 2009-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -7,7 +7,8 @@ dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_POLL], [ AC_REQUIRE([gl_POLL_H]) - if test "$ac_cv_header_poll_h" = no; then + AC_REQUIRE([gl_SOCKETS]) + if test $ac_cv_header_poll_h = no; then ac_cv_func_poll=no gl_cv_func_poll=no else @@ -68,6 +69,31 @@ This is MacOSX or AIX AC_DEFINE([HAVE_POLL], [1], [Define to 1 if you have the 'poll' function and it works.]) fi + + dnl Determine the needed libraries. + LIB_POLL="$LIBSOCKET" + if test $HAVE_POLL = 0 || test $REPLACE_POLL = 1; then + case "$host_os" in + mingw*) + dnl On the MSVC platform, the function MsgWaitForMultipleObjects + dnl (used in lib/poll.c) requires linking with -luser32. On mingw, + dnl it is implicit. + AC_LINK_IFELSE( + [AC_LANG_SOURCE([[ +#define WIN32_LEAN_AND_MEAN +#include +int +main () +{ + MsgWaitForMultipleObjects (0, NULL, 0, 0, 0); + return 0; +}]])], + [], + [LIB_POLL="$LIB_POLL -luser32"]) + ;; + esac + fi + AC_SUBST([LIB_POLL]) ]) # Prerequisites of lib/poll.c. diff --git a/m4/popen.m4 b/m4/popen.m4 index c45298145..c958f1950 100644 --- a/m4/popen.m4 +++ b/m4/popen.m4 @@ -1,4 +1,4 @@ -# popen.m4 serial 4 +# popen.m4 serial 5 dnl Copyright (C) 2009-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -7,26 +7,35 @@ dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_POPEN], [ AC_REQUIRE([gl_STDIO_H_DEFAULTS]) - AC_CACHE_CHECK([whether popen works with closed stdin], - [gl_cv_func_popen_works], - [ - AC_RUN_IFELSE([AC_LANG_PROGRAM([[#include -]], [int result = 0; - FILE *child; - fclose (stdin); - fclose (stdout); - child = popen ("echo a", "r"); - if (fgetc (child) != 'a') - result |= 1; - if (pclose (child) != 0) - result |= 2; - return result; -])], [gl_cv_func_popen_works=yes], [gl_cv_func_popen_works=no], - dnl For now, only cygwin 1.5 or older is known to be broken. - [gl_cv_func_popen_works='guessing yes']) - ]) - if test "$gl_cv_func_popen_works" = no; then - REPLACE_POPEN=1 + AC_CHECK_FUNCS_ONCE([popen]) + if test $ac_cv_func_popen = no; then + HAVE_POPEN=0 + else + AC_CACHE_CHECK([whether popen works with closed stdin], + [gl_cv_func_popen_works], + [ + AC_RUN_IFELSE( + [AC_LANG_PROGRAM( + [[#include ]], + [[int result = 0; + FILE *child; + fclose (stdin); + fclose (stdout); + child = popen ("echo a", "r"); + if (fgetc (child) != 'a') + result |= 1; + if (pclose (child) != 0) + result |= 2; + return result; + ]])], + [gl_cv_func_popen_works=yes], + [gl_cv_func_popen_works=no], + dnl For now, only cygwin 1.5 or older is known to be broken. + [gl_cv_func_popen_works='guessing yes']) + ]) + if test "$gl_cv_func_popen_works" = no; then + REPLACE_POPEN=1 + fi fi ]) diff --git a/m4/posix_openpt.m4 b/m4/posix_openpt.m4 new file mode 100644 index 000000000..b853bb691 --- /dev/null +++ b/m4/posix_openpt.m4 @@ -0,0 +1,19 @@ +# posix_openpt.m4 serial 2 +dnl Copyright (C) 2011 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_POSIX_OPENPT], +[ + AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) + + dnl Persuade Solaris to declare posix_openpt(). + AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) + + AC_CHECK_FUNCS_ONCE([posix_openpt]) + if test $ac_cv_func_posix_openpt != yes; then + dnl The system does not have posix_openpt. + HAVE_POSIX_OPENPT=0 + fi +]) diff --git a/m4/pow.m4 b/m4/pow.m4 new file mode 100644 index 000000000..a4959739e --- /dev/null +++ b/m4/pow.m4 @@ -0,0 +1,11 @@ +# pow.m4 serial 1 +dnl Copyright (C) 2011 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_POW], +[ + dnl Determine POW_LIBM. + gl_COMMON_DOUBLE_MATHFUNC([pow]) +]) diff --git a/m4/powf.m4 b/m4/powf.m4 new file mode 100644 index 000000000..947573ebe --- /dev/null +++ b/m4/powf.m4 @@ -0,0 +1,25 @@ +# powf.m4 serial 1 +dnl Copyright (C) 2011 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_POWF], +[ + AC_REQUIRE([gl_MATH_H_DEFAULTS]) + AC_REQUIRE([gl_FUNC_POW]) + + dnl Test whether powf() exists. Assume that powf(), if it exists, is + dnl defined in the same library as pow(). + save_LIBS="$LIBS" + LIBS="$LIBS $POW_LIBM" + AC_CHECK_FUNCS([powf]) + LIBS="$save_LIBS" + if test $ac_cv_func_powf = yes; then + POWF_LIBM="$POW_LIBM" + else + HAVE_POWF=0 + POWF_LIBM="$POW_LIBM" + fi + AC_SUBST([POWF_LIBM]) +]) diff --git a/m4/printf-frexpl.m4 b/m4/printf-frexpl.m4 index 9c13d4e7f..e15628aa8 100644 --- a/m4/printf-frexpl.m4 +++ b/m4/printf-frexpl.m4 @@ -1,4 +1,4 @@ -# printf-frexpl.m4 serial 7 +# printf-frexpl.m4 serial 9 dnl Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -9,6 +9,8 @@ dnl Check how to define printf_frexpl() without linking with libm. AC_DEFUN([gl_FUNC_PRINTF_FREXPL], [ AC_REQUIRE([gl_MATH_H_DEFAULTS]) + AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE]) + dnl Subset of gl_FUNC_FREXPL_NO_LIBM. gl_CHECK_FREXPL_NO_LIBM if test $gl_cv_func_frexpl_no_libm = yes; then @@ -27,7 +29,7 @@ AC_DEFUN([gl_FUNC_PRINTF_FREXPL], [Define if the frexpl function is available in libc.]) dnl Also check whether it's declared. dnl MacOS X 10.3 has frexpl() in libc but doesn't declare it in . - AC_CHECK_DECL([frexpl], , [HAVE_DECL_FREXPL=0], [#include ]) + AC_CHECK_DECL([frexpl], , [HAVE_DECL_FREXPL=0], [[#include ]]) fi gl_CHECK_LDEXPL_NO_LIBM @@ -39,7 +41,7 @@ AC_DEFUN([gl_FUNC_PRINTF_FREXPL], [Define if the ldexpl function is available in libc.]) dnl Also check whether it's declared. dnl MacOS X 10.3 has ldexpl() in libc but doesn't declare it in . - AC_CHECK_DECL([ldexpl], , [HAVE_DECL_LDEXPL=0], [#include ]) + AC_CHECK_DECL([ldexpl], , [HAVE_DECL_LDEXPL=0], [[#include ]]) ;; esac fi diff --git a/m4/printf.m4 b/m4/printf.m4 index 1538d23fd..0814c91fe 100644 --- a/m4/printf.m4 +++ b/m4/printf.m4 @@ -1,4 +1,4 @@ -# printf.m4 serial 43 +# printf.m4 serial 46 dnl Copyright (C) 2003, 2007-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -178,28 +178,28 @@ static double zero = 0.0; int main () { int result = 0; - if (sprintf (buf, "%f", 1.0 / 0.0) < 0 + if (sprintf (buf, "%f", 1.0 / zero) < 0 || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) result |= 1; - if (sprintf (buf, "%f", -1.0 / 0.0) < 0 + if (sprintf (buf, "%f", -1.0 / zero) < 0 || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) result |= 1; if (sprintf (buf, "%f", zero / zero) < 0 || !strisnan (buf, 0, strlen (buf))) result |= 2; - if (sprintf (buf, "%e", 1.0 / 0.0) < 0 + if (sprintf (buf, "%e", 1.0 / zero) < 0 || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) result |= 4; - if (sprintf (buf, "%e", -1.0 / 0.0) < 0 + if (sprintf (buf, "%e", -1.0 / zero) < 0 || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) result |= 4; if (sprintf (buf, "%e", zero / zero) < 0 || !strisnan (buf, 0, strlen (buf))) result |= 8; - if (sprintf (buf, "%g", 1.0 / 0.0) < 0 + if (sprintf (buf, "%g", 1.0 / zero) < 0 || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) result |= 16; - if (sprintf (buf, "%g", -1.0 / 0.0) < 0 + if (sprintf (buf, "%g", -1.0 / zero) < 0 || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) result |= 16; if (sprintf (buf, "%g", zero / zero) < 0 @@ -251,6 +251,7 @@ AC_DEFUN([gl_PRINTF_INFINITE_LONG_DOUBLE], AC_REQUIRE([gl_PRINTF_LONG_DOUBLE]) AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([gl_BIGENDIAN]) + AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles dnl The user can set or unset the variable gl_printf_safe to indicate dnl that he wishes a safe handling of non-IEEE-754 'long double' values. @@ -294,34 +295,34 @@ int main () { int result = 0; nocrash_init(); - if (sprintf (buf, "%Lf", 1.0L / 0.0L) < 0 + if (sprintf (buf, "%Lf", 1.0L / zeroL) < 0 || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) result |= 1; - if (sprintf (buf, "%Lf", -1.0L / 0.0L) < 0 + if (sprintf (buf, "%Lf", -1.0L / zeroL) < 0 || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) result |= 1; if (sprintf (buf, "%Lf", zeroL / zeroL) < 0 || !strisnan (buf, 0, strlen (buf))) result |= 1; - if (sprintf (buf, "%Le", 1.0L / 0.0L) < 0 + if (sprintf (buf, "%Le", 1.0L / zeroL) < 0 || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) result |= 1; - if (sprintf (buf, "%Le", -1.0L / 0.0L) < 0 + if (sprintf (buf, "%Le", -1.0L / zeroL) < 0 || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) result |= 1; if (sprintf (buf, "%Le", zeroL / zeroL) < 0 || !strisnan (buf, 0, strlen (buf))) result |= 1; - if (sprintf (buf, "%Lg", 1.0L / 0.0L) < 0 + if (sprintf (buf, "%Lg", 1.0L / zeroL) < 0 || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) result |= 1; - if (sprintf (buf, "%Lg", -1.0L / 0.0L) < 0 + if (sprintf (buf, "%Lg", -1.0L / zeroL) < 0 || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) result |= 1; if (sprintf (buf, "%Lg", zeroL / zeroL) < 0 || !strisnan (buf, 0, strlen (buf))) result |= 1; -#if CHECK_PRINTF_SAFE && ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) +#if CHECK_PRINTF_SAFE && ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) && !HAVE_SAME_LONG_DOUBLE_AS_DOUBLE /* Representation of an 80-bit 'long double' as an initializer for a sequence of 'unsigned int' words. */ # ifdef WORDS_BIGENDIAN @@ -478,6 +479,7 @@ AC_DEFUN([gl_PRINTF_DIRECTIVE_A], #include #include static char buf[100]; +static double zero = 0.0; int main () { int result = 0; @@ -502,7 +504,7 @@ int main () result |= 4; /* This catches a FreeBSD 6.1 bug. See */ - if (sprintf (buf, "%010a %d", 1.0 / 0.0, 33, 44, 55) < 0 + if (sprintf (buf, "%010a %d", 1.0 / zero, 33, 44, 55) < 0 || buf[0] == '0') result |= 8; /* This catches a MacOS X 10.3.9 (Darwin 7.9) bug. */ @@ -562,13 +564,14 @@ AC_DEFUN([gl_PRINTF_DIRECTIVE_F], #include #include static char buf[100]; +static double zero = 0.0; int main () { int result = 0; if (sprintf (buf, "%F %d", 1234567.0, 33, 44, 55) < 0 || strcmp (buf, "1234567.000000 33") != 0) result |= 1; - if (sprintf (buf, "%F", 1.0 / 0.0) < 0 + if (sprintf (buf, "%F", 1.0 / zero) < 0 || (strcmp (buf, "INF") != 0 && strcmp (buf, "INFINITY") != 0)) result |= 2; /* This catches a Cygwin 1.5.x bug. */ @@ -615,12 +618,27 @@ AC_DEFUN([gl_PRINTF_DIRECTIVE_N], AC_RUN_IFELSE( [AC_LANG_SOURCE([[ #include +#include #include +#ifdef _MSC_VER +/* See page about "Parameter Validation" on msdn.microsoft.com. */ +static void cdecl +invalid_parameter_handler (const wchar_t *expression, + const wchar_t *function, + const wchar_t *file, unsigned int line, + uintptr_t dummy) +{ + exit (1); +} +#endif static char fmtstring[10]; static char buf[100]; int main () { int count = -1; +#ifdef _MSC_VER + _set_invalid_parameter_handler (invalid_parameter_handler); +#endif /* Copy the format string. Some systems (glibc with _FORTIFY_SOURCE=2) support %n in format strings in read-only memory but not in writable memory. */ @@ -636,7 +654,8 @@ int main () [ changequote(,)dnl case "$host_os" in - *) gl_cv_func_printf_directive_n="guessing yes";; + mingw*) gl_cv_func_printf_directive_n="guessing no";; + *) gl_cv_func_printf_directive_n="guessing yes";; esac changequote([,])dnl ]) @@ -862,9 +881,10 @@ AC_DEFUN([gl_PRINTF_FLAG_ZERO], #include #include static char buf[100]; +static double zero = 0.0; int main () { - if (sprintf (buf, "%010f", 1.0 / 0.0, 33, 44, 55) < 0 + if (sprintf (buf, "%010f", 1.0 / zero, 33, 44, 55) < 0 || (strcmp (buf, " inf") != 0 && strcmp (buf, " infinity") != 0)) return 1; @@ -1076,6 +1096,7 @@ AC_DEFUN([gl_SNPRINTF_TRUNCATION_C99], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles + AC_REQUIRE([gl_SNPRINTF_PRESENCE]) AC_CACHE_CHECK([whether snprintf truncates the result as in C99], [gl_cv_func_snprintf_truncation_c99], [ @@ -1083,11 +1104,25 @@ AC_DEFUN([gl_SNPRINTF_TRUNCATION_C99], [AC_LANG_SOURCE([[ #include #include +#if HAVE_SNPRINTF +# define my_snprintf snprintf +#else +# include +static int my_snprintf (char *buf, int size, const char *format, ...) +{ + va_list args; + int ret; + va_start (args, format); + ret = vsnprintf (buf, size, format, args); + va_end (args); + return ret; +} +#endif static char buf[100]; int main () { strcpy (buf, "ABCDEF"); - snprintf (buf, 3, "%d %d", 4567, 89); + my_snprintf (buf, 3, "%d %d", 4567, 89); if (memcmp (buf, "45\0DEF", 6) != 0) return 1; return 0; @@ -1157,6 +1192,7 @@ AC_DEFUN_ONCE([gl_SNPRINTF_RETVAL_C99], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles + AC_REQUIRE([gl_SNPRINTF_PRESENCE]) AC_CACHE_CHECK([whether snprintf returns a byte count as in C99], [gl_cv_func_snprintf_retval_c99], [ @@ -1164,15 +1200,29 @@ AC_DEFUN_ONCE([gl_SNPRINTF_RETVAL_C99], [AC_LANG_SOURCE([[ #include #include +#if HAVE_SNPRINTF +# define my_snprintf snprintf +#else +# include +static int my_snprintf (char *buf, int size, const char *format, ...) +{ + va_list args; + int ret; + va_start (args, format); + ret = vsnprintf (buf, size, format, args); + va_end (args); + return ret; +} +#endif static char buf[100]; int main () { strcpy (buf, "ABCDEF"); - if (snprintf (buf, 3, "%d %d", 4567, 89) != 7) + if (my_snprintf (buf, 3, "%d %d", 4567, 89) != 7) return 1; - if (snprintf (buf, 0, "%d %d", 4567, 89) != 7) + if (my_snprintf (buf, 0, "%d %d", 4567, 89) != 7) return 2; - if (snprintf (NULL, 0, "%d %d", 4567, 89) != 7) + if (my_snprintf (NULL, 0, "%d %d", 4567, 89) != 7) return 3; return 0; }]])], @@ -1221,6 +1271,7 @@ AC_DEFUN([gl_SNPRINTF_DIRECTIVE_N], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles + AC_REQUIRE([gl_SNPRINTF_PRESENCE]) AC_CACHE_CHECK([whether snprintf fully supports the 'n' directive], [gl_cv_func_snprintf_directive_n], [ @@ -1228,6 +1279,20 @@ AC_DEFUN([gl_SNPRINTF_DIRECTIVE_N], [AC_LANG_SOURCE([[ #include #include +#if HAVE_SNPRINTF +# define my_snprintf snprintf +#else +# include +static int my_snprintf (char *buf, int size, const char *format, ...) +{ + va_list args; + int ret; + va_start (args, format); + ret = vsnprintf (buf, size, format, args); + va_end (args); + return ret; +} +#endif static char fmtstring[10]; static char buf[100]; int main () @@ -1237,7 +1302,7 @@ int main () support %n in format strings in read-only memory but not in writable memory. */ strcpy (fmtstring, "%d %n"); - snprintf (buf, 4, fmtstring, 12345, &count, 33, 44, 55); + my_snprintf (buf, 4, fmtstring, 12345, &count, 33, 44, 55); if (count != 6) return 1; return 0; @@ -1289,16 +1354,31 @@ dnl Result is gl_cv_func_snprintf_size1. AC_DEFUN([gl_SNPRINTF_SIZE1], [ AC_REQUIRE([AC_PROG_CC]) + AC_REQUIRE([gl_SNPRINTF_PRESENCE]) AC_CACHE_CHECK([whether snprintf respects a size of 1], [gl_cv_func_snprintf_size1], [ AC_RUN_IFELSE( [AC_LANG_SOURCE([[ #include +#if HAVE_SNPRINTF +# define my_snprintf snprintf +#else +# include +static int my_snprintf (char *buf, int size, const char *format, ...) +{ + va_list args; + int ret; + va_start (args, format); + ret = vsnprintf (buf, size, format, args); + va_end (args); + return ret; +} +#endif int main() { static char buf[8] = { 'D', 'E', 'A', 'D', 'B', 'E', 'E', 'F' }; - snprintf (buf, 1, "%d", 12345); + my_snprintf (buf, 1, "%d", 12345); return buf[1] != 'E'; }]])], [gl_cv_func_snprintf_size1=yes], @@ -1484,5 +1564,6 @@ dnl NetBSD 3.0 . . . . # # . ? # # ? # . # . dnl Haiku . . . # # # . # . . . . . ? . . ? . . . dnl BeOS # # . # # # . ? # . ? . # ? . . ? . . . dnl old mingw / msvcrt # # # # # # . . # # . # # ? . # # # . . +dnl MSVC 9 # # # # # # # . # # . # # ? # # # # . . dnl mingw 2009-2011 . # . # . . . . # # . . . ? . . . . . . dnl mingw-w64 2011 # # # # # # . . # # . # # ? . # # # . . diff --git a/m4/pthread.m4 b/m4/pthread.m4 index b60dbc850..1ac8027dd 100644 --- a/m4/pthread.m4 +++ b/m4/pthread.m4 @@ -1,4 +1,4 @@ -# pthread.m4 serial 2 +# pthread.m4 serial 3 dnl Copyright (C) 2009-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -38,12 +38,31 @@ AC_DEFUN([gl_PTHREAD_CHECK], LIB_PTHREAD= if test $ac_cv_header_pthread_h = yes; then - gl_saved_libs=$LIBS - AC_SEARCH_LIBS([pthread_join], [pthread], - [if test "$ac_cv_search_pthread_join" != "none required"; then - LIB_PTHREAD="$ac_cv_search_pthread_join" - fi]) - LIBS="$gl_saved_libs" + dnl We cannot use AC_SEARCH_LIBS here, because on OSF/1 5.1 pthread_join + dnl is defined as a macro which expands to __phread_join, and libpthread + dnl contains a definition for __phread_join but none for pthread_join. + AC_CACHE_CHECK([for library containing pthread_join], + [gl_cv_search_pthread_join], + [gl_saved_libs="$LIBS" + gl_cv_search_pthread_join= + AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [[#include ]], + [[pthread_join (pthread_self (), (void **) 0);]])], + [gl_cv_search_pthread_join="none required"]) + if test -z "$gl_cv_search_pthread_join"; then + LIBS="-lpthread $gl_saved_libs" + AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [[#include ]], + [[pthread_join (pthread_self (), (void **) 0);]])], + [gl_cv_search_pthread_join="-lpthread"]) + fi + LIBS="$gl_saved_libs" + ]) + if test "$gl_cv_search_pthread_join" != "none required"; then + LIB_PTHREAD="$gl_cv_search_pthread_join" + fi fi AC_SUBST([LIB_PTHREAD]) diff --git a/m4/pthread_sigmask.m4 b/m4/pthread_sigmask.m4 index f06bc119f..673914022 100644 --- a/m4/pthread_sigmask.m4 +++ b/m4/pthread_sigmask.m4 @@ -1,4 +1,4 @@ -# pthread_sigmask.m4 serial 12 +# pthread_sigmask.m4 serial 13 dnl Copyright (C) 2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -6,6 +6,8 @@ dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_PTHREAD_SIGMASK], [ + AC_REQUIRE([gl_SIGNAL_H_DEFAULTS]) + AC_CHECK_FUNCS_ONCE([pthread_sigmask]) LIB_PTHREAD_SIGMASK= diff --git a/m4/ptsname_r.m4 b/m4/ptsname_r.m4 new file mode 100644 index 000000000..695fe791b --- /dev/null +++ b/m4/ptsname_r.m4 @@ -0,0 +1,50 @@ +# ptsname_r.m4 serial 2 +dnl Copyright (C) 2010-2011 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_PTSNAME_R], +[ + AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) + + dnl Persuade glibc to declare ptsname_r(). + AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) + + AC_CHECK_FUNCS_ONCE([ptsname_r]) + if test $ac_cv_func_ptsname_r = no; then + HAVE_PTSNAME_R=0 + else + dnl On OSF/1 5.1, the type of the third argument is 'int', not 'size_t', + dnl and the declaration is missing if _REENTRANT is not defined. + AC_CACHE_CHECK([whether ptsname_r has the same signature as in glibc], + [gl_cv_func_ptsname_r_signature_ok], + [AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[#include + #include + /* Test whether ptsname_r is declared at all. */ + int (*f) (int, char *, size_t) = ptsname_r; + /* Test whether it has the same declaration as in glibc. */ + #undef ptsname_r + extern + #ifdef __cplusplus + "C" + #endif + int ptsname_r (int, char *, size_t); + ]], + [[return f (0, NULL, 0);]]) + ], + [gl_cv_func_ptsname_r_signature_ok=yes], + [gl_cv_func_ptsname_r_signature_ok=no]) + ]) + if test $gl_cv_func_ptsname_r_signature_ok = no; then + REPLACE_PTSNAME_R=1 + fi + fi +]) + +# Prerequisites of lib/ptsname.c. +AC_DEFUN([gl_PREREQ_PTSNAME_R], [ + : +]) diff --git a/m4/raise.m4 b/m4/raise.m4 new file mode 100644 index 000000000..0ceed775a --- /dev/null +++ b/m4/raise.m4 @@ -0,0 +1,36 @@ +# raise.m4 serial 2 +dnl Copyright (C) 2011 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_RAISE], +[ + AC_REQUIRE([gl_SIGNAL_H_DEFAULTS]) + AC_REQUIRE([AC_CANONICAL_HOST]) + AC_REQUIRE([gl_MSVC_INVAL]) + AC_CHECK_FUNCS([raise]) + if test $ac_cv_func_raise = no; then + HAVE_RAISE=0 + else + if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then + REPLACE_RAISE=1 + fi + m4_ifdef([gl_SIGNALBLOCKING], [ + gl_SIGNALBLOCKING + if test $HAVE_POSIX_SIGNALBLOCKING = 0; then + m4_ifdef([gl_SIGNAL_SIGPIPE], [ + gl_SIGNAL_SIGPIPE + if test $gl_cv_header_signal_h_SIGPIPE != yes; then + REPLACE_RAISE=1 + fi + ], [:]) + fi + ]) + fi +]) + +# Prerequisites of lib/raise.c. +AC_DEFUN([gl_PREREQ_RAISE], [ + AC_REQUIRE([AC_C_INLINE]) +]) diff --git a/m4/read.m4 b/m4/read.m4 index 310e5ebcf..5d484b6f0 100644 --- a/m4/read.m4 +++ b/m4/read.m4 @@ -1,4 +1,4 @@ -# read.m4 serial 2 +# read.m4 serial 3 dnl Copyright (C) 2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -7,6 +7,10 @@ dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_READ], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) + AC_REQUIRE([gl_MSVC_INVAL]) + if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then + REPLACE_READ=1 + fi dnl This ifdef is just an optimization, to avoid performing a configure dnl check whose result is not used. It does not make the test of dnl GNULIB_UNISTD_H_NONBLOCKING or GNULIB_NONBLOCKING redundant. @@ -17,3 +21,9 @@ AC_DEFUN([gl_FUNC_READ], fi ]) ]) + +# Prerequisites of lib/read.c. +AC_DEFUN([gl_PREREQ_READ], +[ + AC_REQUIRE([AC_C_INLINE]) +]) diff --git a/m4/readdir.m4 b/m4/readdir.m4 new file mode 100644 index 000000000..cfeed0890 --- /dev/null +++ b/m4/readdir.m4 @@ -0,0 +1,15 @@ +# readdir.m4 serial 1 +dnl Copyright (C) 2011 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_READDIR], +[ + AC_REQUIRE([gl_DIRENT_H_DEFAULTS]) + + AC_CHECK_FUNCS([readdir]) + if test $ac_cv_func_readdir = no; then + HAVE_READDIR=0 + fi +]) diff --git a/m4/readline.m4 b/m4/readline.m4 index a5ab06783..b7ce9e478 100644 --- a/m4/readline.m4 +++ b/m4/readline.m4 @@ -72,7 +72,7 @@ AC_DEFUN([gl_FUNC_READLINE], AC_SUBST([LIBREADLINE]) AC_SUBST([LTLIBREADLINE]) - AC_CHECK_HEADERS([readline/readline.h]) + AC_CHECK_HEADERS([readline/readline.h readline/history.h]) ]) # Prerequisites of lib/readline.c. diff --git a/m4/readutmp.m4 b/m4/readutmp.m4 index 81b22ed27..8774b2025 100644 --- a/m4/readutmp.m4 +++ b/m4/readutmp.m4 @@ -1,4 +1,4 @@ -# readutmp.m4 serial 18 +# readutmp.m4 serial 19 dnl Copyright (C) 2002-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -14,13 +14,13 @@ AC_DEFUN([gl_READUTMP], dnl Prerequisites of lib/readutmp.h and lib/readutmp.c. AC_REQUIRE([AC_C_INLINE]) AC_CHECK_FUNCS_ONCE([utmpname utmpxname]) - AC_CHECK_DECLS([getutent],,,[ + AC_CHECK_DECLS([getutent],,,[[ /* is a prerequisite of on FreeBSD 8.0, OpenBSD 4.6. */ #include #ifdef HAVE_UTMP_H # include #endif -]) +]]) utmp_includes="\ AC_INCLUDES_DEFAULT #ifdef HAVE_UTMPX_H diff --git a/m4/regex.m4 b/m4/regex.m4 index e48fab0e5..fa46253b4 100644 --- a/m4/regex.m4 +++ b/m4/regex.m4 @@ -1,4 +1,4 @@ -# serial 59 +# serial 60 # Copyright (C) 1996-2001, 2003-2011 Free Software Foundation, Inc. # @@ -219,5 +219,5 @@ AC_DEFUN([gl_PREREQ_REGEX], AC_REQUIRE([AC_TYPE_MBSTATE_T]) AC_CHECK_HEADERS([libintl.h]) AC_CHECK_FUNCS_ONCE([isblank iswctype wcscoll]) - AC_CHECK_DECLS([isblank], [], [], [#include ]) + AC_CHECK_DECLS([isblank], [], [], [[#include ]]) ]) diff --git a/m4/rename.m4 b/m4/rename.m4 index c938b0d00..af8d584e9 100644 --- a/m4/rename.m4 +++ b/m4/rename.m4 @@ -1,4 +1,4 @@ -# serial 24 +# serial 25 # Copyright (C) 2001, 2003, 2005-2006, 2009-2011 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation @@ -110,37 +110,42 @@ AC_DEFUN([gl_FUNC_RENAME], dnl NetBSD 1.6 and cygwin 1.5.x mistakenly reduce hard link count dnl on rename("h1","h2"). dnl This bug requires stat'ting targets prior to attempting rename. + AC_CHECK_FUNCS_ONCE([link]) AC_CACHE_CHECK([whether rename manages hard links correctly], [gl_cv_func_rename_link_works], - [rm -rf conftest.f conftest.f1 - if touch conftest.f && ln conftest.f conftest.f1 && - set x `ls -i conftest.f conftest.f1` && test "$2" = "$4"; then - AC_RUN_IFELSE( - [AC_LANG_PROGRAM([[ -# include -# include -# include - ]], - [[int result = 0; - if (rename ("conftest.f", "conftest.f1")) - result |= 1; - if (unlink ("conftest.f1")) - result |= 2; - if (rename ("conftest.f", "conftest.f")) - result |= 4; - if (rename ("conftest.f1", "conftest.f1") == 0) - result |= 8; - return result; - ]])], - [gl_cv_func_rename_link_works=yes], - [gl_cv_func_rename_link_works=no], - dnl When crosscompiling, assume rename is broken. - [gl_cv_func_rename_link_works="guessing no"]) - else - gl_cv_func_rename_link_works="guessing no" - fi - rm -rf conftest.f conftest.f1 - ]) + [if test $ac_cv_func_link = yes; then + rm -rf conftest.f conftest.f1 + if touch conftest.f && ln conftest.f conftest.f1 && + set x `ls -i conftest.f conftest.f1` && test "$2" = "$4"; then + AC_RUN_IFELSE( + [AC_LANG_PROGRAM([[ +# include +# include +# include + ]], + [[int result = 0; + if (rename ("conftest.f", "conftest.f1")) + result |= 1; + if (unlink ("conftest.f1")) + result |= 2; + if (rename ("conftest.f", "conftest.f")) + result |= 4; + if (rename ("conftest.f1", "conftest.f1") == 0) + result |= 8; + return result; + ]])], + [gl_cv_func_rename_link_works=yes], + [gl_cv_func_rename_link_works=no], + dnl When crosscompiling, assume rename is broken. + [gl_cv_func_rename_link_works="guessing no"]) + else + gl_cv_func_rename_link_works="guessing no" + fi + rm -rf conftest.f conftest.f1 + else + gl_cv_func_rename_link_works=yes + fi + ]) if test "x$gl_cv_func_rename_link_works" != xyes; then REPLACE_RENAME=1 AC_DEFINE([RENAME_HARD_LINK_BUG], [1], diff --git a/m4/rewinddir.m4 b/m4/rewinddir.m4 new file mode 100644 index 000000000..b9b6b3d0b --- /dev/null +++ b/m4/rewinddir.m4 @@ -0,0 +1,15 @@ +# rewinddir.m4 serial 1 +dnl Copyright (C) 2011 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_REWINDDIR], +[ + AC_REQUIRE([gl_DIRENT_H_DEFAULTS]) + + AC_CHECK_FUNCS([rewinddir]) + if test $ac_cv_func_rewinddir = no; then + HAVE_REWINDDIR=0 + fi +]) diff --git a/m4/rint.m4 b/m4/rint.m4 new file mode 100644 index 000000000..410db8bdd --- /dev/null +++ b/m4/rint.m4 @@ -0,0 +1,23 @@ +# rint.m4 serial 4 +dnl Copyright (C) 2011 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_RINT], +[ + AC_REQUIRE([gl_MATH_H_DEFAULTS]) + + dnl Determine RINT_LIBM. + dnl The reason for the extra code is: + dnl In AIX 7.1 with gcc 4.2, when optimization is turned on, calls to + dnl rint() with simple arguments are turned into rintf() calls by the + dnl compiler. But while rint() is resides in libc, rintf() is in libm. + gl_MATHFUNC([rint], [double], [(double)], [], [y += rint (2.0);]) + if test $gl_cv_func_rint_no_libm = no \ + && test $gl_cv_func_rint_in_libm = no; then + HAVE_RINT=0 + RINT_LIBM= + fi + AC_SUBST([RINT_LIBM]) +]) diff --git a/m4/rintf.m4 b/m4/rintf.m4 new file mode 100644 index 000000000..bb5f04614 --- /dev/null +++ b/m4/rintf.m4 @@ -0,0 +1,19 @@ +# rintf.m4 serial 2 +dnl Copyright (C) 2011 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_RINTF], +[ + AC_REQUIRE([gl_MATH_H_DEFAULTS]) + + dnl Determine RINTF_LIBM. + gl_MATHFUNC([rintf], [float], [(float)]) + if test $gl_cv_func_rintf_no_libm = no \ + && test $gl_cv_func_rintf_in_libm = no; then + HAVE_RINTF=0 + RINTF_LIBM= + fi + AC_SUBST([RINTF_LIBM]) +]) diff --git a/m4/rintl.m4 b/m4/rintl.m4 new file mode 100644 index 000000000..bb88ee806 --- /dev/null +++ b/m4/rintl.m4 @@ -0,0 +1,26 @@ +# rintl.m4 serial 3 +dnl Copyright (C) 2011 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_RINTL], +[ + AC_REQUIRE([gl_MATH_H_DEFAULTS]) + AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE]) + + dnl Determine RINTL_LIBM. + gl_MATHFUNC([rintl], [long double], [(long double)]) + if test $gl_cv_func_rintl_no_libm = no \ + && test $gl_cv_func_rintl_in_libm = no; then + HAVE_RINTL=0 + dnl Find libraries needed to link lib/rintl.c. + if test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 1; then + AC_REQUIRE([gl_FUNC_RINT]) + RINTL_LIBM="$RINT_LIBM" + else + RINTL_LIBM= + fi + fi + AC_SUBST([RINTL_LIBM]) +]) diff --git a/m4/rmdir.m4 b/m4/rmdir.m4 index 5284c7ef0..0b1a65cc9 100644 --- a/m4/rmdir.m4 +++ b/m4/rmdir.m4 @@ -1,4 +1,4 @@ -# rmdir.m4 serial 11 +# rmdir.m4 serial 12 dnl Copyright (C) 2002, 2005, 2009-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -8,6 +8,7 @@ AC_DEFUN([gl_FUNC_RMDIR], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) dnl Detect cygwin 1.5.x bug. + AC_CHECK_HEADERS_ONCE([unistd.h]) AC_CACHE_CHECK([whether rmdir works], [gl_cv_func_rmdir_works], [mkdir conftest.dir touch conftest.file @@ -15,7 +16,11 @@ AC_DEFUN([gl_FUNC_RMDIR], [AC_LANG_PROGRAM( [[#include #include - #include + #if HAVE_UNISTD_H + # include + #else /* on Windows with MSVC */ + # include + #endif ]], [[int result = 0; if (!rmdir ("conftest.file/")) result |= 1; diff --git a/m4/round.m4 b/m4/round.m4 index 9f6691f41..e64208ed9 100644 --- a/m4/round.m4 +++ b/m4/round.m4 @@ -1,4 +1,4 @@ -# round.m4 serial 12 +# round.m4 serial 13 dnl Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -10,7 +10,7 @@ AC_DEFUN([gl_FUNC_ROUND], AC_REQUIRE([gl_MATH_H_DEFAULTS]) dnl Persuade glibc to declare round(). AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) - AC_CHECK_DECLS([round], , , [#include ]) + AC_CHECK_DECLS([round], , , [[#include ]]) if test "$ac_cv_have_decl_round" = yes; then gl_CHECK_MATH_LIB([ROUND_LIBM], [x = round (x);]) if test "$ROUND_LIBM" != missing; then diff --git a/m4/roundf.m4 b/m4/roundf.m4 index 9c21340ca..f8e7f3e21 100644 --- a/m4/roundf.m4 +++ b/m4/roundf.m4 @@ -1,4 +1,4 @@ -# roundf.m4 serial 13 +# roundf.m4 serial 14 dnl Copyright (C) 2007-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -10,7 +10,7 @@ AC_DEFUN([gl_FUNC_ROUNDF], AC_REQUIRE([gl_MATH_H_DEFAULTS]) dnl Persuade glibc to declare roundf(). AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) - AC_CHECK_DECLS([roundf], , , [#include ]) + AC_CHECK_DECLS([roundf], , , [[#include ]]) if test "$ac_cv_have_decl_roundf" = yes; then gl_CHECK_MATH_LIB([ROUNDF_LIBM], [x = roundf (x);]) if test "$ROUNDF_LIBM" != missing; then @@ -96,7 +96,7 @@ int main (int argc, char *argv[]) fi if test $HAVE_DECL_ROUNDF = 0 || test $REPLACE_ROUNDF = 1; then dnl Find libraries needed to link lib/roundf.c. - AC_CHECK_DECLS([ceilf, floorf], , , [#include ]) + AC_CHECK_DECLS([ceilf, floorf], , , [[#include ]]) if test "$ac_cv_have_decl_floorf" = yes \ && test "$ac_cv_have_decl_ceilf" = yes; then gl_FUNC_FLOORF_LIBS diff --git a/m4/roundl.m4 b/m4/roundl.m4 index 9d0d381c7..fcabe9ee0 100644 --- a/m4/roundl.m4 +++ b/m4/roundl.m4 @@ -1,4 +1,4 @@ -# roundl.m4 serial 11 +# roundl.m4 serial 13 dnl Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -8,9 +8,12 @@ AC_DEFUN([gl_FUNC_ROUNDL], [ m4_divert_text([DEFAULTS], [gl_roundl_required=plain]) AC_REQUIRE([gl_MATH_H_DEFAULTS]) + AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE]) + dnl Persuade glibc to declare roundl(). AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) - AC_CHECK_DECLS([roundl], , , [#include ]) + + AC_CHECK_DECLS([roundl], , , [[#include ]]) if test "$ac_cv_have_decl_roundl" = yes; then gl_CHECK_MATH_LIB([ROUNDL_LIBM], [x = roundl (x);]) if test "$ROUNDL_LIBM" = missing; then @@ -61,30 +64,35 @@ int main (int argc, char *argv[]) fi if test $HAVE_DECL_ROUNDL = 0 || test $REPLACE_ROUNDL = 1; then dnl Find libraries needed to link lib/roundl.c. - AC_CHECK_DECLS([ceill, floorl], , , [#include ]) - if test "$ac_cv_have_decl_floorl" = yes \ - && test "$ac_cv_have_decl_ceill" = yes; then - gl_FUNC_FLOORL_LIBS - gl_FUNC_CEILL_LIBS - if test "$FLOORL_LIBM" != '?' && test "$CEILL_LIBM" != '?'; then - AC_DEFINE([HAVE_FLOORL_AND_CEILL], [1], - [Define if the both the floorl() and ceill() functions exist.]) - ROUNDL_LIBM= - dnl Append $FLOORL_LIBM to ROUNDL_LIBM, avoiding gratuitous duplicates. - case " $ROUNDL_LIBM " in - *" $FLOORL_LIBM "*) ;; - *) ROUNDL_LIBM="$ROUNDL_LIBM $FLOORL_LIBM" ;; - esac - dnl Append $CEILL_LIBM to ROUNDL_LIBM, avoiding gratuitous duplicates. - case " $ROUNDL_LIBM " in - *" $CEILL_LIBM "*) ;; - *) ROUNDL_LIBM="$ROUNDL_LIBM $CEILL_LIBM" ;; - esac + if test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 1; then + AC_REQUIRE([gl_FUNC_ROUND]) + ROUNDL_LIBM="$ROUND_LIBM" + else + AC_CHECK_DECLS([ceill, floorl], , , [[#include ]]) + if test "$ac_cv_have_decl_floorl" = yes \ + && test "$ac_cv_have_decl_ceill" = yes; then + gl_FUNC_FLOORL_LIBS + gl_FUNC_CEILL_LIBS + if test "$FLOORL_LIBM" != '?' && test "$CEILL_LIBM" != '?'; then + AC_DEFINE([HAVE_FLOORL_AND_CEILL], [1], + [Define if the both the floorl() and ceill() functions exist.]) + ROUNDL_LIBM= + dnl Append $FLOORL_LIBM to ROUNDL_LIBM, avoiding gratuitous duplicates. + case " $ROUNDL_LIBM " in + *" $FLOORL_LIBM "*) ;; + *) ROUNDL_LIBM="$ROUNDL_LIBM $FLOORL_LIBM" ;; + esac + dnl Append $CEILL_LIBM to ROUNDL_LIBM, avoiding gratuitous duplicates. + case " $ROUNDL_LIBM " in + *" $CEILL_LIBM "*) ;; + *) ROUNDL_LIBM="$ROUNDL_LIBM $CEILL_LIBM" ;; + esac + else + ROUNDL_LIBM= + fi else ROUNDL_LIBM= fi - else - ROUNDL_LIBM= fi fi AC_SUBST([ROUNDL_LIBM]) diff --git a/m4/sched_h.m4 b/m4/sched_h.m4 index 9cff89195..28b6dbd5b 100644 --- a/m4/sched_h.m4 +++ b/m4/sched_h.m4 @@ -1,4 +1,4 @@ -# sched_h.m4 serial 4 +# sched_h.m4 serial 6 dnl Copyright (C) 2008-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -13,6 +13,7 @@ AC_DEFUN([gl_SCHED_H], #include struct sched_param a; int b[] = { SCHED_FIFO, SCHED_RR, SCHED_OTHER }; + pid_t t1; ]])], [SCHED_H=''], [SCHED_H='sched.h' @@ -30,6 +31,9 @@ AC_DEFUN([gl_SCHED_H], [HAVE_STRUCT_SCHED_PARAM=1], [HAVE_STRUCT_SCHED_PARAM=0], [#include ]) AC_SUBST([HAVE_STRUCT_SCHED_PARAM]) + + dnl Ensure the type pid_t gets defined. + AC_REQUIRE([AC_TYPE_PID_T]) ]) AC_SUBST([SCHED_H]) AM_CONDITIONAL([GL_GENERATE_SCHED_H], [test -n "$SCHED_H"]) diff --git a/m4/select.m4 b/m4/select.m4 index d9c3465b1..a58f0ac3a 100644 --- a/m4/select.m4 +++ b/m4/select.m4 @@ -1,4 +1,4 @@ -# select.m4 serial 5 +# select.m4 serial 6 dnl Copyright (C) 2009-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -47,4 +47,29 @@ changequote([,])dnl *) REPLACE_SELECT=1 ;; esac fi + + dnl Determine the needed libraries. + LIB_SELECT="$LIBSOCKET" + if test $REPLACE_SELECT = 1; then + case "$host_os" in + mingw*) + dnl On the MSVC platform, the function MsgWaitForMultipleObjects + dnl (used in lib/select.c) requires linking with -luser32. On mingw, + dnl it is implicit. + AC_LINK_IFELSE( + [AC_LANG_SOURCE([[ +#define WIN32_LEAN_AND_MEAN +#include +int +main () +{ + MsgWaitForMultipleObjects (0, NULL, 0, 0, 0); + return 0; +}]])], + [], + [LIB_SELECT="$LIB_SELECT -luser32"]) + ;; + esac + fi + AC_SUBST([LIB_SELECT]) ]) diff --git a/m4/setenv.m4 b/m4/setenv.m4 index 8927a6cac..bc215a6d4 100644 --- a/m4/setenv.m4 +++ b/m4/setenv.m4 @@ -1,4 +1,4 @@ -# setenv.m4 serial 24 +# setenv.m4 serial 25 dnl Copyright (C) 2001-2004, 2006-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -77,11 +77,7 @@ extern #ifdef __cplusplus "C" #endif -#if defined(__STDC__) || defined(__cplusplus) int unsetenv (const char *name); -#else -int unsetenv(); -#endif ]], [[]])], [gt_cv_func_unsetenv_ret='int'], diff --git a/m4/signal_h.m4 b/m4/signal_h.m4 index b9536fb0e..5cf54a062 100644 --- a/m4/signal_h.m4 +++ b/m4/signal_h.m4 @@ -1,4 +1,4 @@ -# signal_h.m4 serial 16 +# signal_h.m4 serial 18 dnl Copyright (C) 2007-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -17,6 +17,9 @@ AC_DEFUN([gl_SIGNAL_H], #include ]]) + dnl Ensure the type pid_t gets defined. + AC_REQUIRE([AC_TYPE_PID_T]) + AC_REQUIRE([AC_TYPE_UID_T]) dnl Persuade glibc to define sighandler_t. @@ -59,12 +62,14 @@ AC_DEFUN([gl_SIGNAL_MODULE_INDICATOR], AC_DEFUN([gl_SIGNAL_H_DEFAULTS], [ GNULIB_PTHREAD_SIGMASK=0; AC_SUBST([GNULIB_PTHREAD_SIGMASK]) + GNULIB_RAISE=0; AC_SUBST([GNULIB_RAISE]) GNULIB_SIGNAL_H_SIGPIPE=0; AC_SUBST([GNULIB_SIGNAL_H_SIGPIPE]) GNULIB_SIGPROCMASK=0; AC_SUBST([GNULIB_SIGPROCMASK]) GNULIB_SIGACTION=0; AC_SUBST([GNULIB_SIGACTION]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_POSIX_SIGNALBLOCKING=1; AC_SUBST([HAVE_POSIX_SIGNALBLOCKING]) HAVE_PTHREAD_SIGMASK=1; AC_SUBST([HAVE_PTHREAD_SIGMASK]) + HAVE_RAISE=1; AC_SUBST([HAVE_RAISE]) HAVE_SIGSET_T=1; AC_SUBST([HAVE_SIGSET_T]) HAVE_SIGINFO_T=1; AC_SUBST([HAVE_SIGINFO_T]) HAVE_SIGACTION=1; AC_SUBST([HAVE_SIGACTION]) @@ -74,4 +79,5 @@ AC_DEFUN([gl_SIGNAL_H_DEFAULTS], AC_SUBST([HAVE_TYPE_VOLATILE_SIG_ATOMIC_T]) HAVE_SIGHANDLER_T=1; AC_SUBST([HAVE_SIGHANDLER_T]) REPLACE_PTHREAD_SIGMASK=0; AC_SUBST([REPLACE_PTHREAD_SIGMASK]) + REPLACE_RAISE=0; AC_SUBST([REPLACE_RAISE]) ]) diff --git a/m4/signalblocking.m4 b/m4/signalblocking.m4 index 15b74253b..eda856d04 100644 --- a/m4/signalblocking.m4 +++ b/m4/signalblocking.m4 @@ -1,4 +1,4 @@ -# signalblocking.m4 serial 12 +# signalblocking.m4 serial 13 dnl Copyright (C) 2001-2002, 2006-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -22,4 +22,6 @@ AC_DEFUN([gl_SIGNALBLOCKING], ]) # Prerequisites of lib/sigprocmask.c. -AC_DEFUN([gl_PREREQ_SIGPROCMASK], [:]) +AC_DEFUN([gl_PREREQ_SIGPROCMASK], [ + AC_REQUIRE([AC_C_INLINE]) +]) diff --git a/m4/signbit.m4 b/m4/signbit.m4 index 696a9b6e1..bbeb1f48c 100644 --- a/m4/signbit.m4 +++ b/m4/signbit.m4 @@ -1,4 +1,4 @@ -# signbit.m4 serial 10 +# signbit.m4 serial 11 dnl Copyright (C) 2007-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -65,7 +65,7 @@ AC_DEFUN([gl_SIGNBIT], gl_LONG_DOUBLE_SIGN_LOCATION if test "$gl_cv_cc_float_signbit" = unknown; then dnl Test whether copysignf() is declared. - AC_CHECK_DECLS([copysignf], , , [#include ]) + AC_CHECK_DECLS([copysignf], , , [[#include ]]) if test "$ac_cv_have_decl_copysignf" = yes; then dnl Test whether copysignf() can be used without libm. AC_CACHE_CHECK([whether copysignf can be used without linking with libm], @@ -87,7 +87,7 @@ AC_DEFUN([gl_SIGNBIT], fi if test "$gl_cv_cc_double_signbit" = unknown; then dnl Test whether copysign() is declared. - AC_CHECK_DECLS([copysign], , , [#include ]) + AC_CHECK_DECLS([copysign], , , [[#include ]]) if test "$ac_cv_have_decl_copysign" = yes; then dnl Test whether copysign() can be used without libm. AC_CACHE_CHECK([whether copysign can be used without linking with libm], @@ -109,7 +109,7 @@ AC_DEFUN([gl_SIGNBIT], fi if test "$gl_cv_cc_long_double_signbit" = unknown; then dnl Test whether copysignl() is declared. - AC_CHECK_DECLS([copysignl], , , [#include ]) + AC_CHECK_DECLS([copysignl], , , [[#include ]]) if test "$ac_cv_have_decl_copysignl" = yes; then dnl Test whether copysignl() can be used without libm. AC_CACHE_CHECK([whether copysignl can be used without linking with libm], diff --git a/m4/sin.m4 b/m4/sin.m4 new file mode 100644 index 000000000..c991badf2 --- /dev/null +++ b/m4/sin.m4 @@ -0,0 +1,11 @@ +# sin.m4 serial 1 +dnl Copyright (C) 2011 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_SIN], +[ + dnl Determine SIN_LIBM. + gl_COMMON_DOUBLE_MATHFUNC([sin]) +]) diff --git a/m4/sinf.m4 b/m4/sinf.m4 new file mode 100644 index 000000000..dbe84ea00 --- /dev/null +++ b/m4/sinf.m4 @@ -0,0 +1,25 @@ +# sinf.m4 serial 1 +dnl Copyright (C) 2011 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_SINF], +[ + AC_REQUIRE([gl_MATH_H_DEFAULTS]) + AC_REQUIRE([gl_FUNC_SIN]) + + dnl Test whether sinf() exists. Assume that sinf(), if it exists, is + dnl defined in the same library as sin(). + save_LIBS="$LIBS" + LIBS="$LIBS $SIN_LIBM" + AC_CHECK_FUNCS([sinf]) + LIBS="$save_LIBS" + if test $ac_cv_func_sinf = yes; then + SINF_LIBM="$SIN_LIBM" + else + HAVE_SINF=0 + SINF_LIBM="$SIN_LIBM" + fi + AC_SUBST([SINF_LIBM]) +]) diff --git a/m4/sinh.m4 b/m4/sinh.m4 new file mode 100644 index 000000000..0528c5bc4 --- /dev/null +++ b/m4/sinh.m4 @@ -0,0 +1,11 @@ +# sinh.m4 serial 1 +dnl Copyright (C) 2011 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_SINH], +[ + dnl Determine SINH_LIBM. + gl_COMMON_DOUBLE_MATHFUNC([sinh]) +]) diff --git a/m4/sinhf.m4 b/m4/sinhf.m4 new file mode 100644 index 000000000..99d43b975 --- /dev/null +++ b/m4/sinhf.m4 @@ -0,0 +1,25 @@ +# sinhf.m4 serial 1 +dnl Copyright (C) 2011 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_SINHF], +[ + AC_REQUIRE([gl_MATH_H_DEFAULTS]) + AC_REQUIRE([gl_FUNC_SINH]) + + dnl Test whether sinhf() exists. Assume that sinhf(), if it exists, is + dnl defined in the same library as sinh(). + save_LIBS="$LIBS" + LIBS="$LIBS $SINH_LIBM" + AC_CHECK_FUNCS([sinhf]) + LIBS="$save_LIBS" + if test $ac_cv_func_sinhf = yes; then + SINHF_LIBM="$SINH_LIBM" + else + HAVE_SINHF=0 + SINHF_LIBM="$SINH_LIBM" + fi + AC_SUBST([SINHF_LIBM]) +]) diff --git a/m4/sinl.m4 b/m4/sinl.m4 index 5666cab79..277dfddce 100644 --- a/m4/sinl.m4 +++ b/m4/sinl.m4 @@ -1,4 +1,4 @@ -# sinl.m4 serial 4 +# sinl.m4 serial 6 dnl Copyright (C) 2010-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -7,6 +7,8 @@ dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_SINL], [ AC_REQUIRE([gl_MATH_H_DEFAULTS]) + AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE]) + dnl Persuade glibc to declare sinl(). AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) @@ -51,29 +53,34 @@ AC_DEFUN([gl_FUNC_SINL], || test $gl_cv_func_sinl_in_libm = yes; then dnl Also check whether it's declared. dnl MacOS X 10.3 has sinl() in libc but doesn't declare it in . - AC_CHECK_DECL([sinl], , [HAVE_DECL_SINL=0], [#include ]) + AC_CHECK_DECL([sinl], , [HAVE_DECL_SINL=0], [[#include ]]) else HAVE_DECL_SINL=0 HAVE_SINL=0 dnl Find libraries needed to link lib/sinl.c, lib/sincosl.c, lib/trigl.c. - AC_REQUIRE([gl_FUNC_ISNANL]) - AC_REQUIRE([gl_FUNC_FLOOR]) - AC_REQUIRE([gl_FUNC_FLOORL]) - dnl Append $ISNANL_LIBM to SINL_LIBM, avoiding gratuitous duplicates. - case " $SINL_LIBM " in - *" $ISNANL_LIBM "*) ;; - *) SINL_LIBM="$SINL_LIBM $ISNANL_LIBM" ;; - esac - dnl Append $FLOOR_LIBM to SINL_LIBM, avoiding gratuitous duplicates. - case " $SINL_LIBM " in - *" $FLOOR_LIBM "*) ;; - *) SINL_LIBM="$SINL_LIBM $FLOOR_LIBM" ;; - esac - dnl Append $FLOORL_LIBM to SINL_LIBM, avoiding gratuitous duplicates. - case " $SINL_LIBM " in - *" $FLOORL_LIBM "*) ;; - *) SINL_LIBM="$SINL_LIBM $FLOORL_LIBM" ;; - esac + if test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 1; then + AC_REQUIRE([gl_FUNC_SIN]) + SINL_LIBM="$SIN_LIBM" + else + AC_REQUIRE([gl_FUNC_ISNANL]) + AC_REQUIRE([gl_FUNC_FLOOR]) + AC_REQUIRE([gl_FUNC_FLOORL]) + dnl Append $ISNANL_LIBM to SINL_LIBM, avoiding gratuitous duplicates. + case " $SINL_LIBM " in + *" $ISNANL_LIBM "*) ;; + *) SINL_LIBM="$SINL_LIBM $ISNANL_LIBM" ;; + esac + dnl Append $FLOOR_LIBM to SINL_LIBM, avoiding gratuitous duplicates. + case " $SINL_LIBM " in + *" $FLOOR_LIBM "*) ;; + *) SINL_LIBM="$SINL_LIBM $FLOOR_LIBM" ;; + esac + dnl Append $FLOORL_LIBM to SINL_LIBM, avoiding gratuitous duplicates. + case " $SINL_LIBM " in + *" $FLOORL_LIBM "*) ;; + *) SINL_LIBM="$SINL_LIBM $FLOORL_LIBM" ;; + esac + fi fi AC_SUBST([SINL_LIBM]) ]) diff --git a/m4/sleep.m4 b/m4/sleep.m4 index 37f19a9e4..74362e49b 100644 --- a/m4/sleep.m4 +++ b/m4/sleep.m4 @@ -1,4 +1,4 @@ -# sleep.m4 serial 5 +# sleep.m4 serial 6 dnl Copyright (C) 2007-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -12,7 +12,7 @@ AC_DEFUN([gl_FUNC_SLEEP], dnl _sleep() in MSVCRT. It has a different signature than POSIX sleep(): dnl it takes the number of milliseconds as argument and returns void. dnl mingw does not declare this function. - AC_CHECK_DECLS([sleep], , , [#include ]) + AC_CHECK_DECLS([sleep], , , [[#include ]]) AC_CHECK_FUNCS_ONCE([sleep]) if test $ac_cv_have_decl_sleep != yes; then HAVE_SLEEP=0 diff --git a/m4/spawn_h.m4 b/m4/spawn_h.m4 index 4903b6a4a..5f0df9a62 100644 --- a/m4/spawn_h.m4 +++ b/m4/spawn_h.m4 @@ -1,4 +1,4 @@ -# spawn_h.m4 serial 13 +# spawn_h.m4 serial 15 dnl Copyright (C) 2008-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -31,6 +31,12 @@ AC_DEFUN([gl_SPAWN_H], fi AC_SUBST([HAVE_SPAWN_H]) + dnl Ensure the type pid_t gets defined. + AC_REQUIRE([AC_TYPE_PID_T]) + + dnl Ensure the type mode_t gets defined. + AC_REQUIRE([AC_TYPE_MODE_T]) + AC_REQUIRE([gl_HAVE_POSIX_SPAWN]) AC_REQUIRE([AC_C_RESTRICT]) diff --git a/m4/sqrtf.m4 b/m4/sqrtf.m4 new file mode 100644 index 000000000..962a9261f --- /dev/null +++ b/m4/sqrtf.m4 @@ -0,0 +1,25 @@ +# sqrtf.m4 serial 1 +dnl Copyright (C) 2011 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_SQRTF], +[ + AC_REQUIRE([gl_MATH_H_DEFAULTS]) + AC_REQUIRE([gl_FUNC_SQRT]) + + dnl Test whether sqrtf() exists. Assume that sqrtf(), if it exists, is + dnl defined in the same library as sqrt(). + save_LIBS="$LIBS" + LIBS="$LIBS $SQRT_LIBM" + AC_CHECK_FUNCS([sqrtf]) + LIBS="$save_LIBS" + if test $ac_cv_func_sqrtf = yes; then + SQRTF_LIBM="$SQRT_LIBM" + else + HAVE_SQRTF=0 + SQRTF_LIBM="$SQRT_LIBM" + fi + AC_SUBST([SQRTF_LIBM]) +]) diff --git a/m4/sqrtl.m4 b/m4/sqrtl.m4 index 87ffc3719..5f095307b 100644 --- a/m4/sqrtl.m4 +++ b/m4/sqrtl.m4 @@ -1,4 +1,4 @@ -# sqrtl.m4 serial 4 +# sqrtl.m4 serial 6 dnl Copyright (C) 2010-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -7,6 +7,8 @@ dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_SQRTL], [ AC_REQUIRE([gl_MATH_H_DEFAULTS]) + AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE]) + dnl Persuade glibc to declare sqrtl(). AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) @@ -51,35 +53,40 @@ AC_DEFUN([gl_FUNC_SQRTL], || test $gl_cv_func_sqrtl_in_libm = yes; then dnl Also check whether it's declared. dnl MacOS X 10.3 has sqrtl() in libc but doesn't declare it in . - AC_CHECK_DECL([sqrtl], , [HAVE_DECL_SQRTL=0], [#include ]) + AC_CHECK_DECL([sqrtl], , [HAVE_DECL_SQRTL=0], [[#include ]]) else HAVE_DECL_SQRTL=0 HAVE_SQRTL=0 dnl Find libraries needed to link lib/sqrtl.c. - AC_REQUIRE([gl_FUNC_ISNANL]) - AC_REQUIRE([gl_FUNC_FREXPL]) - AC_REQUIRE([gl_FUNC_LDEXPL]) - AC_REQUIRE([gl_FUNC_SQRT]) - dnl Append $ISNANL_LIBM to SQRTL_LIBM, avoiding gratuitous duplicates. - case " $SQRTL_LIBM " in - *" $ISNANL_LIBM "*) ;; - *) SQRTL_LIBM="$SQRTL_LIBM $ISNANL_LIBM" ;; - esac - dnl Append $FREXPL_LIBM to SQRTL_LIBM, avoiding gratuitous duplicates. - case " $SQRTL_LIBM " in - *" $FREXPL_LIBM "*) ;; - *) SQRTL_LIBM="$SQRTL_LIBM $FREXPL_LIBM" ;; - esac - dnl Append $LDEXPL_LIBM to SQRTL_LIBM, avoiding gratuitous duplicates. - case " $SQRTL_LIBM " in - *" $LDEXPL_LIBM "*) ;; - *) SQRTL_LIBM="$SQRTL_LIBM $LDEXPL_LIBM" ;; - esac - dnl Append $SQRT_LIBM to SQRTL_LIBM, avoiding gratuitous duplicates. - case " $SQRTL_LIBM " in - *" $SQRT_LIBM "*) ;; - *) SQRTL_LIBM="$SQRTL_LIBM $SQRT_LIBM" ;; - esac + if test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 1; then + AC_REQUIRE([gl_FUNC_SQRT]) + SQRTL_LIBM="$SQRT_LIBM" + else + AC_REQUIRE([gl_FUNC_ISNANL]) + AC_REQUIRE([gl_FUNC_FREXPL]) + AC_REQUIRE([gl_FUNC_LDEXPL]) + AC_REQUIRE([gl_FUNC_SQRT]) + dnl Append $ISNANL_LIBM to SQRTL_LIBM, avoiding gratuitous duplicates. + case " $SQRTL_LIBM " in + *" $ISNANL_LIBM "*) ;; + *) SQRTL_LIBM="$SQRTL_LIBM $ISNANL_LIBM" ;; + esac + dnl Append $FREXPL_LIBM to SQRTL_LIBM, avoiding gratuitous duplicates. + case " $SQRTL_LIBM " in + *" $FREXPL_LIBM "*) ;; + *) SQRTL_LIBM="$SQRTL_LIBM $FREXPL_LIBM" ;; + esac + dnl Append $LDEXPL_LIBM to SQRTL_LIBM, avoiding gratuitous duplicates. + case " $SQRTL_LIBM " in + *" $LDEXPL_LIBM "*) ;; + *) SQRTL_LIBM="$SQRTL_LIBM $LDEXPL_LIBM" ;; + esac + dnl Append $SQRT_LIBM to SQRTL_LIBM, avoiding gratuitous duplicates. + case " $SQRTL_LIBM " in + *" $SQRT_LIBM "*) ;; + *) SQRTL_LIBM="$SQRTL_LIBM $SQRT_LIBM" ;; + esac + fi fi AC_SUBST([SQRTL_LIBM]) ]) diff --git a/m4/stdalign.m4 b/m4/stdalign.m4 new file mode 100644 index 000000000..2641dce51 --- /dev/null +++ b/m4/stdalign.m4 @@ -0,0 +1,37 @@ +# Check for stdalign.h that conforms to C1x. + +dnl Copyright 2011 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +# Prepare for substituting if it is not supported. + +AC_DEFUN([gl_STDALIGN_H], +[ + AC_CACHE_CHECK([for working stdalign.h], + [gl_cv_header_working_stdalign_h], + [AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[#include + int align_int = alignof (int) + _Alignof (double); + + /* Test _Alignas only on platforms where gnulib can help. */ + #if \ + (__GNUC__ || __IBMC__ || __IBMCPP__ \ + || 0x5110 <= __SUNPRO_C || 1300 <= _MSC_VER) + int alignas (8) alignas_int = 1; + #endif + ]])], + [gl_cv_header_working_stdalign_h=yes], + [gl_cv_header_working_stdalign_h=no])]) + + if test $gl_cv_header_working_stdalign_h = yes; then + STDALIGN_H='' + else + STDALIGN_H='stdalign.h' + fi + + AC_SUBST([STDALIGN_H]) + AM_CONDITIONAL([GL_GENERATE_STDALIGN_H], [test -n "$STDALIGN_H"]) +]) diff --git a/m4/stdint.m4 b/m4/stdint.m4 index c75e95722..092161c99 100644 --- a/m4/stdint.m4 +++ b/m4/stdint.m4 @@ -466,6 +466,14 @@ AC_DEFUN([gl_STDINT_TYPE_PROPERTIES], fi gl_INTEGER_TYPE_SUFFIX([sig_atomic_t wchar_t wint_t], [gl_STDINT_INCLUDES]) + + dnl If wint_t is smaller than 'int', it cannot satisfy the ISO C 99 + dnl requirement that wint_t is "unchanged by default argument promotions". + dnl In this case gnulib's and override wint_t. + dnl Set the variable BITSIZEOF_WINT_T accordingly. + if test $BITSIZEOF_WINT_T -lt 32; then + BITSIZEOF_WINT_T=32 + fi ]) dnl Autoconf >= 2.61 has AC_COMPUTE_INT built-in. diff --git a/m4/stdio_h.m4 b/m4/stdio_h.m4 index a8326f3c3..39bf80e2a 100644 --- a/m4/stdio_h.m4 +++ b/m4/stdio_h.m4 @@ -1,4 +1,4 @@ -# stdio_h.m4 serial 37 +# stdio_h.m4 serial 40 dnl Copyright (C) 2007-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -74,7 +74,7 @@ AC_DEFUN([gl_STDIO_H], dnl corresponding gnulib module is not in use, and which is not dnl guaranteed by C89. gl_WARN_ON_USE_PREPARE([[#include - ]], [dprintf fpurge fseeko ftello getdelim getline popen renameat + ]], [dprintf fpurge fseeko ftello getdelim getline pclose popen renameat snprintf tmpfile vdprintf vsnprintf]) ]) @@ -91,6 +91,7 @@ AC_DEFUN([gl_STDIO_H_DEFAULTS], [ GNULIB_DPRINTF=0; AC_SUBST([GNULIB_DPRINTF]) GNULIB_FCLOSE=0; AC_SUBST([GNULIB_FCLOSE]) + GNULIB_FDOPEN=0; AC_SUBST([GNULIB_FDOPEN]) GNULIB_FFLUSH=0; AC_SUBST([GNULIB_FFLUSH]) GNULIB_FGETC=0; AC_SUBST([GNULIB_FGETC]) GNULIB_FGETS=0; AC_SUBST([GNULIB_FGETS]) @@ -115,6 +116,7 @@ AC_DEFUN([gl_STDIO_H_DEFAULTS], GNULIB_GETS=0; AC_SUBST([GNULIB_GETS]) GNULIB_OBSTACK_PRINTF=0; AC_SUBST([GNULIB_OBSTACK_PRINTF]) GNULIB_OBSTACK_PRINTF_POSIX=0; AC_SUBST([GNULIB_OBSTACK_PRINTF_POSIX]) + GNULIB_PCLOSE=0; AC_SUBST([GNULIB_PCLOSE]) GNULIB_PERROR=0; AC_SUBST([GNULIB_PERROR]) GNULIB_POPEN=0; AC_SUBST([GNULIB_POPEN]) GNULIB_PRINTF=0; AC_SUBST([GNULIB_PRINTF]) @@ -153,11 +155,14 @@ AC_DEFUN([gl_STDIO_H_DEFAULTS], HAVE_DPRINTF=1; AC_SUBST([HAVE_DPRINTF]) HAVE_FSEEKO=1; AC_SUBST([HAVE_FSEEKO]) HAVE_FTELLO=1; AC_SUBST([HAVE_FTELLO]) + HAVE_PCLOSE=1; AC_SUBST([HAVE_PCLOSE]) + HAVE_POPEN=1; AC_SUBST([HAVE_POPEN]) HAVE_RENAMEAT=1; AC_SUBST([HAVE_RENAMEAT]) HAVE_VASPRINTF=1; AC_SUBST([HAVE_VASPRINTF]) HAVE_VDPRINTF=1; AC_SUBST([HAVE_VDPRINTF]) REPLACE_DPRINTF=0; AC_SUBST([REPLACE_DPRINTF]) REPLACE_FCLOSE=0; AC_SUBST([REPLACE_FCLOSE]) + REPLACE_FDOPEN=0; AC_SUBST([REPLACE_FDOPEN]) REPLACE_FFLUSH=0; AC_SUBST([REPLACE_FFLUSH]) REPLACE_FOPEN=0; AC_SUBST([REPLACE_FOPEN]) REPLACE_FPRINTF=0; AC_SUBST([REPLACE_FPRINTF]) diff --git a/m4/stdlib_h.m4 b/m4/stdlib_h.m4 index 25fdada0d..0a8a9e563 100644 --- a/m4/stdlib_h.m4 +++ b/m4/stdlib_h.m4 @@ -1,4 +1,4 @@ -# stdlib_h.m4 serial 37 +# stdlib_h.m4 serial 39 dnl Copyright (C) 2007-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -19,10 +19,10 @@ AC_DEFUN([gl_STDLIB_H], #if HAVE_RANDOM_H # include #endif - ]], [_Exit atoll canonicalize_file_name getloadavg getsubopt grantpt mkdtemp - mkostemp mkostemps mkstemp mkstemps ptsname random_r initstat_r srandom_r - setstate_r realpath rpmatch setenv strtod strtoll strtoull unlockpt - unsetenv]) + ]], [_Exit atoll canonicalize_file_name getloadavg getsubopt grantpt + initstate_r mkdtemp mkostemp mkostemps mkstemp mkstemps posix_openpt + ptsname ptsname_r random_r realpath rpmatch setenv setstate_r srandom_r + strtod strtoll strtoull unlockpt unsetenv]) ]) AC_DEFUN([gl_STDLIB_MODULE_INDICATOR], @@ -50,7 +50,9 @@ AC_DEFUN([gl_STDLIB_H_DEFAULTS], GNULIB_MKOSTEMPS=0; AC_SUBST([GNULIB_MKOSTEMPS]) GNULIB_MKSTEMP=0; AC_SUBST([GNULIB_MKSTEMP]) GNULIB_MKSTEMPS=0; AC_SUBST([GNULIB_MKSTEMPS]) + GNULIB_POSIX_OPENPT=0; AC_SUBST([GNULIB_POSIX_OPENPT]) GNULIB_PTSNAME=0; AC_SUBST([GNULIB_PTSNAME]) + GNULIB_PTSNAME_R=0; AC_SUBST([GNULIB_PTSNAME_R]) GNULIB_PUTENV=0; AC_SUBST([GNULIB_PUTENV]) GNULIB_RANDOM_R=0; AC_SUBST([GNULIB_RANDOM_R]) GNULIB_REALLOC_POSIX=0; AC_SUBST([GNULIB_REALLOC_POSIX]) @@ -76,7 +78,9 @@ AC_DEFUN([gl_STDLIB_H_DEFAULTS], HAVE_MKOSTEMPS=1; AC_SUBST([HAVE_MKOSTEMPS]) HAVE_MKSTEMP=1; AC_SUBST([HAVE_MKSTEMP]) HAVE_MKSTEMPS=1; AC_SUBST([HAVE_MKSTEMPS]) + HAVE_POSIX_OPENPT=1; AC_SUBST([HAVE_POSIX_OPENPT]) HAVE_PTSNAME=1; AC_SUBST([HAVE_PTSNAME]) + HAVE_PTSNAME_R=1; AC_SUBST([HAVE_PTSNAME_R]) HAVE_RANDOM_H=1; AC_SUBST([HAVE_RANDOM_H]) HAVE_RANDOM_R=1; AC_SUBST([HAVE_RANDOM_R]) HAVE_REALPATH=1; AC_SUBST([HAVE_REALPATH]) @@ -95,6 +99,7 @@ AC_DEFUN([gl_STDLIB_H_DEFAULTS], REPLACE_MALLOC=0; AC_SUBST([REPLACE_MALLOC]) REPLACE_MBTOWC=0; AC_SUBST([REPLACE_MBTOWC]) REPLACE_MKSTEMP=0; AC_SUBST([REPLACE_MKSTEMP]) + REPLACE_PTSNAME_R=0; AC_SUBST([REPLACE_PTSNAME_R]) REPLACE_PUTENV=0; AC_SUBST([REPLACE_PUTENV]) REPLACE_REALLOC=0; AC_SUBST([REPLACE_REALLOC]) REPLACE_REALPATH=0; AC_SUBST([REPLACE_REALPATH]) diff --git a/m4/strerror_r.m4 b/m4/strerror_r.m4 index 0c5cc6968..1d4a653d2 100644 --- a/m4/strerror_r.m4 +++ b/m4/strerror_r.m4 @@ -1,4 +1,4 @@ -# strerror_r.m4 serial 13 +# strerror_r.m4 serial 14 dnl Copyright (C) 2002, 2007-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -43,6 +43,7 @@ AC_DEFUN([gl_PREREQ_STRERROR_R], [ dnl glibc >= 2.3.4 and cygwin 1.7.9 have a function __xpg_strerror_r. AC_CHECK_FUNCS_ONCE([__xpg_strerror_r]) AC_CHECK_FUNCS_ONCE([catgets]) + AC_CHECK_FUNCS_ONCE([snprintf]) ]) # Detect if strerror_r works, but without affecting whether a replacement diff --git a/m4/strings_h.m4 b/m4/strings_h.m4 index 12ca5eb4a..481f8f334 100644 --- a/m4/strings_h.m4 +++ b/m4/strings_h.m4 @@ -1,5 +1,5 @@ # Configure a replacement for . -# serial 5 +# serial 6 # Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation @@ -16,7 +16,14 @@ AC_DEFUN([gl_HEADER_STRINGS_H], AC_DEFUN([gl_HEADER_STRINGS_H_BODY], [ AC_REQUIRE([gl_HEADER_STRINGS_H_DEFAULTS]) + gl_CHECK_NEXT_HEADERS([strings.h]) + if test $ac_cv_header_strings_h = yes; then + HAVE_STRINGS_H=1 + else + HAVE_STRINGS_H=0 + fi + AC_SUBST([HAVE_STRINGS_H]) dnl Check for declarations of anything we want to poison if the dnl corresponding gnulib module is not in use. diff --git a/m4/strsignal.m4 b/m4/strsignal.m4 index f5c70ef1c..f4b014335 100644 --- a/m4/strsignal.m4 +++ b/m4/strsignal.m4 @@ -1,4 +1,4 @@ -# strsignal.m4 serial 6 +# strsignal.m4 serial 8 dnl Copyright (C) 2008-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -53,6 +53,7 @@ AC_DEFUN([gl_FUNC_STRSIGNAL], # Prerequisites of lib/strsignal.c. AC_DEFUN([gl_PREREQ_STRSIGNAL], [ + AC_CHECK_HEADERS_ONCE([unistd.h]) AC_REQUIRE([AC_DECL_SYS_SIGLIST]) - AC_CHECK_DECLS([_sys_siglist], [], [], [#include ]) + AC_CHECK_DECLS([_sys_siglist], [], [], [[#include ]]) ]) diff --git a/m4/sys_stat_h.m4 b/m4/sys_stat_h.m4 index fc419129e..83ebac613 100644 --- a/m4/sys_stat_h.m4 +++ b/m4/sys_stat_h.m4 @@ -1,4 +1,4 @@ -# sys_stat_h.m4 serial 24 -*- Autoconf -*- +# sys_stat_h.m4 serial 26 -*- Autoconf -*- dnl Copyright (C) 2006-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -19,6 +19,9 @@ AC_DEFUN([gl_HEADER_SYS_STAT_H], gl_CHECK_NEXT_HEADERS([sys/stat.h]) + dnl Ensure the type mode_t gets defined. + AC_REQUIRE([AC_TYPE_MODE_T]) + dnl Define types that are supposed to be defined in or dnl . AC_CHECK_TYPE([nlink_t], [], @@ -30,7 +33,7 @@ AC_DEFUN([gl_HEADER_SYS_STAT_H], dnl Check for declarations of anything we want to poison if the dnl corresponding gnulib module is not in use. gl_WARN_ON_USE_PREPARE([[#include - ]], [fchmodat fstatat futimens lchmod lstat mkdirat mkfifo mkfifoat + ]], [fchmodat fstat fstatat futimens lchmod lstat mkdirat mkfifo mkfifoat mknod mknodat stat utimensat]) ]) # gl_HEADER_SYS_STAT_H @@ -47,6 +50,7 @@ AC_DEFUN([gl_SYS_STAT_H_DEFAULTS], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) dnl for REPLACE_FCHDIR GNULIB_FCHMODAT=0; AC_SUBST([GNULIB_FCHMODAT]) + GNULIB_FSTAT=0; AC_SUBST([GNULIB_FSTAT]) GNULIB_FSTATAT=0; AC_SUBST([GNULIB_FSTATAT]) GNULIB_FUTIMENS=0; AC_SUBST([GNULIB_FUTIMENS]) GNULIB_LCHMOD=0; AC_SUBST([GNULIB_LCHMOD]) diff --git a/m4/sys_time_h.m4 b/m4/sys_time_h.m4 index 3a3adc8c4..064e0deeb 100644 --- a/m4/sys_time_h.m4 +++ b/m4/sys_time_h.m4 @@ -1,5 +1,5 @@ # Configure a replacement for . -# serial 6 +# serial 7 # Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation @@ -27,6 +27,9 @@ AC_DEFUN([gl_HEADER_SYS_TIME_H_BODY], HAVE_SYS_TIME_H=0 fi + dnl On native Windows with MSVC, 'struct timeval' is defined in + dnl only. So include that header in the list. + gl_PREREQ_SYS_H_WINSOCK2 AC_CACHE_CHECK([for struct timeval], [gl_cv_sys_struct_timeval], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( @@ -34,6 +37,9 @@ AC_DEFUN([gl_HEADER_SYS_TIME_H_BODY], #include #endif #include + #if HAVE_WINSOCK2_H + # include + #endif ]], [[static struct timeval x; x.tv_sec = x.tv_usec;]])], [gl_cv_sys_struct_timeval=yes], diff --git a/m4/sys_types_h.m4 b/m4/sys_types_h.m4 new file mode 100644 index 000000000..62113df49 --- /dev/null +++ b/m4/sys_types_h.m4 @@ -0,0 +1,21 @@ +# sys_types_h.m4 serial 2 +dnl Copyright (C) 2011 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_SYS_TYPES_H], +[ + AC_REQUIRE([gl_SYS_TYPES_H_DEFAULTS]) + gl_NEXT_HEADERS([sys/types.h]) + + dnl Ensure the type pid_t gets defined. + AC_REQUIRE([AC_TYPE_PID_T]) + + dnl Ensure the type mode_t gets defined. + AC_REQUIRE([AC_TYPE_MODE_T]) +]) + +AC_DEFUN([gl_SYS_TYPES_H_DEFAULTS], +[ +]) diff --git a/m4/sys_wait_h.m4 b/m4/sys_wait_h.m4 index e3b147c4f..7cb76c27c 100644 --- a/m4/sys_wait_h.m4 +++ b/m4/sys_wait_h.m4 @@ -1,4 +1,4 @@ -# sys_wait_h.m4 serial 5 +# sys_wait_h.m4 serial 6 dnl Copyright (C) 2008-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -11,6 +11,9 @@ AC_DEFUN([gl_SYS_WAIT_H], dnl is always overridden, because of GNULIB_POSIXCHECK. gl_CHECK_NEXT_HEADERS([sys/wait.h]) + dnl Ensure the type pid_t gets defined. + AC_REQUIRE([AC_TYPE_PID_T]) + dnl Check for declarations of anything we want to poison if the dnl corresponding gnulib module is not in use. gl_WARN_ON_USE_PREPARE([[#include ]], diff --git a/m4/tan.m4 b/m4/tan.m4 new file mode 100644 index 000000000..22ebed7e7 --- /dev/null +++ b/m4/tan.m4 @@ -0,0 +1,11 @@ +# tan.m4 serial 1 +dnl Copyright (C) 2011 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_TAN], +[ + dnl Determine TAN_LIBM. + gl_COMMON_DOUBLE_MATHFUNC([tan]) +]) diff --git a/m4/tanf.m4 b/m4/tanf.m4 new file mode 100644 index 000000000..37f48743b --- /dev/null +++ b/m4/tanf.m4 @@ -0,0 +1,25 @@ +# tanf.m4 serial 1 +dnl Copyright (C) 2011 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_TANF], +[ + AC_REQUIRE([gl_MATH_H_DEFAULTS]) + AC_REQUIRE([gl_FUNC_TAN]) + + dnl Test whether tanf() exists. Assume that tanf(), if it exists, is + dnl defined in the same library as tan(). + save_LIBS="$LIBS" + LIBS="$LIBS $TAN_LIBM" + AC_CHECK_FUNCS([tanf]) + LIBS="$save_LIBS" + if test $ac_cv_func_tanf = yes; then + TANF_LIBM="$TAN_LIBM" + else + HAVE_TANF=0 + TANF_LIBM="$TAN_LIBM" + fi + AC_SUBST([TANF_LIBM]) +]) diff --git a/m4/tanh.m4 b/m4/tanh.m4 new file mode 100644 index 000000000..39f41440f --- /dev/null +++ b/m4/tanh.m4 @@ -0,0 +1,11 @@ +# tanh.m4 serial 1 +dnl Copyright (C) 2011 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_TANH], +[ + dnl Determine TANH_LIBM. + gl_COMMON_DOUBLE_MATHFUNC([tanh]) +]) diff --git a/m4/tanhf.m4 b/m4/tanhf.m4 new file mode 100644 index 000000000..2608f97ee --- /dev/null +++ b/m4/tanhf.m4 @@ -0,0 +1,25 @@ +# tanhf.m4 serial 1 +dnl Copyright (C) 2011 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_TANHF], +[ + AC_REQUIRE([gl_MATH_H_DEFAULTS]) + AC_REQUIRE([gl_FUNC_TANH]) + + dnl Test whether tanhf() exists. Assume that tanhf(), if it exists, is + dnl defined in the same library as tanh(). + save_LIBS="$LIBS" + LIBS="$LIBS $TANH_LIBM" + AC_CHECK_FUNCS([tanhf]) + LIBS="$save_LIBS" + if test $ac_cv_func_tanhf = yes; then + TANHF_LIBM="$TANH_LIBM" + else + HAVE_TANHF=0 + TANHF_LIBM="$TANH_LIBM" + fi + AC_SUBST([TANHF_LIBM]) +]) diff --git a/m4/tanl.m4 b/m4/tanl.m4 index 5f3f73eb7..0a1ab2212 100644 --- a/m4/tanl.m4 +++ b/m4/tanl.m4 @@ -1,4 +1,4 @@ -# tanl.m4 serial 4 +# tanl.m4 serial 6 dnl Copyright (C) 2010-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -7,6 +7,8 @@ dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_TANL], [ AC_REQUIRE([gl_MATH_H_DEFAULTS]) + AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE]) + dnl Persuade glibc to declare tanl(). AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) @@ -51,29 +53,34 @@ AC_DEFUN([gl_FUNC_TANL], || test $gl_cv_func_tanl_in_libm = yes; then dnl Also check whether it's declared. dnl MacOS X 10.3 has tanl() in libc but doesn't declare it in . - AC_CHECK_DECL([tanl], , [HAVE_DECL_TANL=0], [#include ]) + AC_CHECK_DECL([tanl], , [HAVE_DECL_TANL=0], [[#include ]]) else HAVE_DECL_TANL=0 HAVE_TANL=0 dnl Find libraries needed to link lib/tanl.c, lib/trigl.c. - AC_REQUIRE([gl_FUNC_ISNANL]) - AC_REQUIRE([gl_FUNC_FLOOR]) - AC_REQUIRE([gl_FUNC_FLOORL]) - dnl Append $ISNANL_LIBM to TANL_LIBM, avoiding gratuitous duplicates. - case " $TANL_LIBM " in - *" $ISNANL_LIBM "*) ;; - *) TANL_LIBM="$TANL_LIBM $ISNANL_LIBM" ;; - esac - dnl Append $FLOOR_LIBM to TANL_LIBM, avoiding gratuitous duplicates. - case " $TANL_LIBM " in - *" $FLOOR_LIBM "*) ;; - *) TANL_LIBM="$TANL_LIBM $FLOOR_LIBM" ;; - esac - dnl Append $FLOORL_LIBM to TANL_LIBM, avoiding gratuitous duplicates. - case " $TANL_LIBM " in - *" $FLOORL_LIBM "*) ;; - *) TANL_LIBM="$TANL_LIBM $FLOORL_LIBM" ;; - esac + if test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 1; then + AC_REQUIRE([gl_FUNC_TAN]) + TANL_LIBM="$TAN_LIBM" + else + AC_REQUIRE([gl_FUNC_ISNANL]) + AC_REQUIRE([gl_FUNC_FLOOR]) + AC_REQUIRE([gl_FUNC_FLOORL]) + dnl Append $ISNANL_LIBM to TANL_LIBM, avoiding gratuitous duplicates. + case " $TANL_LIBM " in + *" $ISNANL_LIBM "*) ;; + *) TANL_LIBM="$TANL_LIBM $ISNANL_LIBM" ;; + esac + dnl Append $FLOOR_LIBM to TANL_LIBM, avoiding gratuitous duplicates. + case " $TANL_LIBM " in + *" $FLOOR_LIBM "*) ;; + *) TANL_LIBM="$TANL_LIBM $FLOOR_LIBM" ;; + esac + dnl Append $FLOORL_LIBM to TANL_LIBM, avoiding gratuitous duplicates. + case " $TANL_LIBM " in + *" $FLOORL_LIBM "*) ;; + *) TANL_LIBM="$TANL_LIBM $FLOORL_LIBM" ;; + esac + fi fi AC_SUBST([TANL_LIBM]) ]) diff --git a/m4/termios_h.m4 b/m4/termios_h.m4 index 2b799efb4..33a2358f6 100644 --- a/m4/termios_h.m4 +++ b/m4/termios_h.m4 @@ -1,4 +1,4 @@ -# termios_h.m4 serial 3 +# termios_h.m4 serial 4 dnl Copyright (C) 2010-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -15,6 +15,9 @@ AC_DEFUN([gl_TERMIOS_H], HAVE_TERMIOS_H=0 fi + dnl Ensure the type pid_t gets defined. + AC_REQUIRE([AC_TYPE_PID_T]) + dnl Check for declarations of anything we want to poison if the dnl corresponding gnulib module is not in use, and which is not dnl guaranteed by C89. diff --git a/m4/time_h.m4 b/m4/time_h.m4 index 615da1cfd..3454b23fa 100644 --- a/m4/time_h.m4 +++ b/m4/time_h.m4 @@ -2,7 +2,7 @@ # Copyright (C) 2000-2001, 2003-2007, 2009-2011 Free Software Foundation, Inc. -# serial 4 +# serial 6 # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff --git a/m4/trunc.m4 b/m4/trunc.m4 index 62311015b..e7a1af1eb 100644 --- a/m4/trunc.m4 +++ b/m4/trunc.m4 @@ -1,4 +1,4 @@ -# trunc.m4 serial 7 +# trunc.m4 serial 8 dnl Copyright (C) 2007, 2010-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -11,7 +11,7 @@ AC_DEFUN([gl_FUNC_TRUNC], dnl Persuade glibc to declare trunc(). AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) dnl Test whether trunc() is declared. - AC_CHECK_DECLS([trunc], , , [#include ]) + AC_CHECK_DECLS([trunc], , , [[#include ]]) if test "$ac_cv_have_decl_trunc" = yes; then dnl Test whether trunc() can be used without libm. TRUNC_LIBM=? diff --git a/m4/truncf.m4 b/m4/truncf.m4 index 67f8bb6b0..346f0c8bb 100644 --- a/m4/truncf.m4 +++ b/m4/truncf.m4 @@ -1,4 +1,4 @@ -# truncf.m4 serial 6 +# truncf.m4 serial 8 dnl Copyright (C) 2007, 2010-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -11,7 +11,7 @@ AC_DEFUN([gl_FUNC_TRUNCF], dnl Persuade glibc to declare truncf(). AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) dnl Test whether truncf() is declared. - AC_CHECK_DECLS([truncf], , , [#include ]) + AC_CHECK_DECLS([truncf], , , [[#include ]]) if test "$ac_cv_have_decl_truncf" = yes; then dnl Test whether truncf() can be used without libm. TRUNCF_LIBM=? diff --git a/m4/truncl.m4 b/m4/truncl.m4 index c594236af..c4a99719a 100644 --- a/m4/truncl.m4 +++ b/m4/truncl.m4 @@ -1,4 +1,4 @@ -# truncl.m4 serial 8 +# truncl.m4 serial 10 dnl Copyright (C) 2007-2008, 2010-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -8,11 +8,14 @@ AC_DEFUN([gl_FUNC_TRUNCL], [ m4_divert_text([DEFAULTS], [gl_truncl_required=plain]) AC_REQUIRE([gl_MATH_H_DEFAULTS]) + AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles + dnl Persuade glibc to declare truncl(). AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) + dnl Test whether truncl() is declared. - AC_CHECK_DECLS([truncl], , , [#include ]) + AC_CHECK_DECLS([truncl], , , [[#include ]]) if test "$ac_cv_have_decl_truncl" = yes; then dnl Test whether truncl() can be used without libm. TRUNCL_LIBM=? @@ -109,8 +112,13 @@ int main (int argc, char *argv[]) HAVE_DECL_TRUNCL=0 fi if test $HAVE_DECL_TRUNCL = 0 || test $REPLACE_TRUNCL = 1; then - dnl No libraries are needed to link lib/truncl.c. - TRUNCL_LIBM= + dnl Find libraries needed to link lib/truncl.c. + if test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 1; then + AC_REQUIRE([gl_FUNC_TRUNC]) + TRUNCL_LIBM="$TRUNC_LIBM" + else + TRUNCL_LIBM= + fi fi AC_SUBST([TRUNCL_LIBM]) ]) diff --git a/m4/unistd_h.m4 b/m4/unistd_h.m4 index fb6fe0772..b4eca6855 100644 --- a/m4/unistd_h.m4 +++ b/m4/unistd_h.m4 @@ -1,4 +1,4 @@ -# unistd_h.m4 serial 56 +# unistd_h.m4 serial 62 dnl Copyright (C) 2006-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -21,9 +21,15 @@ AC_DEFUN([gl_UNISTD_H], fi AC_SUBST([HAVE_UNISTD_H]) + dnl Ensure the type pid_t gets defined. + AC_REQUIRE([AC_TYPE_PID_T]) + dnl Check for declarations of anything we want to poison if the dnl corresponding gnulib module is not in use. - gl_WARN_ON_USE_PREPARE([[#include + gl_WARN_ON_USE_PREPARE([[ +#if HAVE_UNISTD_H +# include +#endif /* Some systems declare various items in the wrong headers. */ #if !(defined __GLIBC__ && !defined __UCLIBC__) # include @@ -33,8 +39,8 @@ AC_DEFUN([gl_UNISTD_H], # include # endif #endif - ]], [chown dup2 dup3 environ euidaccess faccessat fchdir fchownat - fsync ftruncate getcwd getdomainname getdtablesize getgroups + ]], [chdir chown dup dup2 dup3 environ euidaccess faccessat fchdir fchownat + fdatasync fsync ftruncate getcwd getdomainname getdtablesize getgroups gethostname getlogin getlogin_r getpagesize getusershell setusershell endusershell group_member lchown link linkat lseek pipe pipe2 pread pwrite readlink readlinkat rmdir sleep symlink symlinkat ttyname_r unlink unlinkat @@ -52,8 +58,10 @@ AC_DEFUN([gl_UNISTD_MODULE_INDICATOR], AC_DEFUN([gl_UNISTD_H_DEFAULTS], [ + GNULIB_CHDIR=0; AC_SUBST([GNULIB_CHDIR]) GNULIB_CHOWN=0; AC_SUBST([GNULIB_CHOWN]) GNULIB_CLOSE=0; AC_SUBST([GNULIB_CLOSE]) + GNULIB_DUP=0; AC_SUBST([GNULIB_DUP]) GNULIB_DUP2=0; AC_SUBST([GNULIB_DUP2]) GNULIB_DUP3=0; AC_SUBST([GNULIB_DUP3]) GNULIB_ENVIRON=0; AC_SUBST([GNULIB_ENVIRON]) @@ -61,6 +69,7 @@ AC_DEFUN([gl_UNISTD_H_DEFAULTS], GNULIB_FACCESSAT=0; AC_SUBST([GNULIB_FACCESSAT]) GNULIB_FCHDIR=0; AC_SUBST([GNULIB_FCHDIR]) GNULIB_FCHOWNAT=0; AC_SUBST([GNULIB_FCHOWNAT]) + GNULIB_FDATASYNC=0; AC_SUBST([GNULIB_FDATASYNC]) GNULIB_FSYNC=0; AC_SUBST([GNULIB_FSYNC]) GNULIB_FTRUNCATE=0; AC_SUBST([GNULIB_FTRUNCATE]) GNULIB_GETCWD=0; AC_SUBST([GNULIB_GETCWD]) @@ -89,7 +98,6 @@ AC_DEFUN([gl_UNISTD_H_DEFAULTS], GNULIB_SYMLINK=0; AC_SUBST([GNULIB_SYMLINK]) GNULIB_SYMLINKAT=0; AC_SUBST([GNULIB_SYMLINKAT]) GNULIB_TTYNAME_R=0; AC_SUBST([GNULIB_TTYNAME_R]) - GNULIB_UNISTD_H_GETOPT=0; AC_SUBST([GNULIB_UNISTD_H_GETOPT]) GNULIB_UNISTD_H_NONBLOCKING=0; AC_SUBST([GNULIB_UNISTD_H_NONBLOCKING]) GNULIB_UNISTD_H_SIGPIPE=0; AC_SUBST([GNULIB_UNISTD_H_SIGPIPE]) GNULIB_UNLINK=0; AC_SUBST([GNULIB_UNLINK]) @@ -104,6 +112,7 @@ AC_DEFUN([gl_UNISTD_H_DEFAULTS], HAVE_FACCESSAT=1; AC_SUBST([HAVE_FACCESSAT]) HAVE_FCHDIR=1; AC_SUBST([HAVE_FCHDIR]) HAVE_FCHOWNAT=1; AC_SUBST([HAVE_FCHOWNAT]) + HAVE_FDATASYNC=1; AC_SUBST([HAVE_FDATASYNC]) HAVE_FSYNC=1; AC_SUBST([HAVE_FSYNC]) HAVE_FTRUNCATE=1; AC_SUBST([HAVE_FTRUNCATE]) HAVE_GETDTABLESIZE=1; AC_SUBST([HAVE_GETDTABLESIZE]) @@ -128,6 +137,7 @@ AC_DEFUN([gl_UNISTD_H_DEFAULTS], HAVE_USLEEP=1; AC_SUBST([HAVE_USLEEP]) HAVE_DECL_ENVIRON=1; AC_SUBST([HAVE_DECL_ENVIRON]) HAVE_DECL_FCHDIR=1; AC_SUBST([HAVE_DECL_FCHDIR]) + HAVE_DECL_FDATASYNC=1; AC_SUBST([HAVE_DECL_FDATASYNC]) HAVE_DECL_GETDOMAINNAME=1; AC_SUBST([HAVE_DECL_GETDOMAINNAME]) HAVE_DECL_GETLOGIN_R=1; AC_SUBST([HAVE_DECL_GETLOGIN_R]) HAVE_DECL_GETPAGESIZE=1; AC_SUBST([HAVE_DECL_GETPAGESIZE]) diff --git a/m4/unlink.m4 b/m4/unlink.m4 index 49cd3bb80..d6865a9e7 100644 --- a/m4/unlink.m4 +++ b/m4/unlink.m4 @@ -1,4 +1,4 @@ -# unlink.m4 serial 8 +# unlink.m4 serial 9 dnl Copyright (C) 2009-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -8,6 +8,7 @@ AC_DEFUN([gl_FUNC_UNLINK], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) AC_REQUIRE([AC_CANONICAL_HOST]) + AC_CHECK_HEADERS_ONCE([unistd.h]) dnl Detect FreeBSD 7.2, AIX 7.1, Solaris 9 bug. AC_CACHE_CHECK([whether unlink honors trailing slashes], [gl_cv_func_unlink_honors_slashes], @@ -18,7 +19,11 @@ AC_DEFUN([gl_FUNC_UNLINK], fi AC_RUN_IFELSE( [AC_LANG_PROGRAM( - [[#include + [[#if HAVE_UNISTD_H + # include + #else /* on Windows with MSVC */ + # include + #endif #include ]], [[int result = 0; @@ -70,7 +75,12 @@ AC_DEFUN([gl_FUNC_UNLINK], AC_RUN_IFELSE( [AC_LANG_SOURCE([[ #include - #include + #if HAVE_UNISTD_H + # include + #else /* on Windows with MSVC */ + # include + # include + #endif int main () { int result = 0; diff --git a/m4/unlinkat.m4 b/m4/unlinkat.m4 new file mode 100644 index 000000000..724d3cdc6 --- /dev/null +++ b/m4/unlinkat.m4 @@ -0,0 +1,30 @@ +# unlinkat.m4 serial 1 +dnl Copyright (C) 2004-2011 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +# Written by Jim Meyering. + +AC_DEFUN([gl_FUNC_UNLINKAT], +[ + AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) + AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) + AC_CHECK_FUNCS_ONCE([unlinkat]) + AC_REQUIRE([gl_FUNC_UNLINK]) + AC_REQUIRE([gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK]) + if test $ac_cv_func_unlinkat = no; then + HAVE_UNLINKAT=0 + else + if test $gl_cv_func_lstat_dereferences_slashed_symlink != yes; then + # Solaris 9 has *at functions, but uniformly mishandles trailing + # slash in all of them. + REPLACE_UNLINKAT=1 + else + # GNU/Hurd has unlinkat, but it has the same bug as unlink. + if test $REPLACE_UNLINK = 1; then + REPLACE_UNLINKAT=1 + fi + fi + fi +]) diff --git a/m4/valgrind-tests.m4 b/m4/valgrind-tests.m4 index ab9e25a84..0a2a9a832 100644 --- a/m4/valgrind-tests.m4 +++ b/m4/valgrind-tests.m4 @@ -1,4 +1,4 @@ -# valgrind-tests.m4 serial 2 +# valgrind-tests.m4 serial 3 dnl Copyright (C) 2008-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -21,9 +21,12 @@ AC_DEFUN([gl_VALGRIND_TESTS], AC_CHECK_PROGS(VALGRIND, valgrind) fi - if test -n "$VALGRIND" && $VALGRIND -q true > /dev/null 2>&1; then + OPTS="-q --error-exitcode=1 --leak-check=full" + + if test -n "$VALGRIND" \ + && $VALGRIND $OPTS $SHELL -c 'exit 0' > /dev/null 2>&1; then opt_valgrind_tests=yes - VALGRIND="$VALGRIND -q --error-exitcode=1 --leak-check=full" + VALGRIND="$VALGRIND $OPTS" else opt_valgrind_tests=no VALGRIND= diff --git a/m4/vasnprintf.m4 b/m4/vasnprintf.m4 index 32ea985b3..da0a6d9ef 100644 --- a/m4/vasnprintf.m4 +++ b/m4/vasnprintf.m4 @@ -1,4 +1,4 @@ -# vasnprintf.m4 serial 32 +# vasnprintf.m4 serial 34 dnl Copyright (C) 2002-2004, 2006-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -63,7 +63,10 @@ AC_DEFUN_ONCE([gl_PREREQ_VASNPRINTF], AC_CHECK_FUNCS([snprintf strnlen wcslen wcsnlen mbrtowc wcrtomb]) dnl Use the _snprintf function only if it is declared (because on NetBSD it dnl is defined as a weak alias of snprintf; we prefer to use the latter). - AC_CHECK_DECLS([_snprintf], , , [#include ]) + AC_CHECK_DECLS([_snprintf], , , [[#include ]]) + dnl Knowing DBL_EXPBIT0_WORD and DBL_EXPBIT0_BIT enables an optimization + dnl in the code for NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_DOUBLE. + AC_REQUIRE([gl_DOUBLE_EXPONENT_LOCATION]) dnl We can avoid a lot of code by assuming that snprintf's return value dnl conforms to ISO C99. So check that. AC_REQUIRE([gl_SNPRINTF_RETVAL_C99]) diff --git a/m4/vsnprintf-posix.m4 b/m4/vsnprintf-posix.m4 index b5ae66e1a..3b720885a 100644 --- a/m4/vsnprintf-posix.m4 +++ b/m4/vsnprintf-posix.m4 @@ -1,4 +1,4 @@ -# vsnprintf-posix.m4 serial 14 +# vsnprintf-posix.m4 serial 15 dnl Copyright (C) 2007-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -23,7 +23,7 @@ AC_DEFUN([gl_FUNC_VSNPRINTF_POSIX], gl_cv_func_vsnprintf_posix=no AC_CHECK_FUNCS([vsnprintf]) if test $ac_cv_func_vsnprintf = yes; then - dnl Assume that if vsnprintf() exists, snprintf() also exists. + dnl These tests use vsnprintf() if snprintf() does not exist. gl_SNPRINTF_TRUNCATION_C99 gl_SNPRINTF_RETVAL_C99 gl_SNPRINTF_DIRECTIVE_N diff --git a/m4/wctob.m4 b/m4/wctob.m4 index 8175d00e3..85cc6201b 100644 --- a/m4/wctob.m4 +++ b/m4/wctob.m4 @@ -1,4 +1,4 @@ -# wctob.m4 serial 9 +# wctob.m4 serial 10 dnl Copyright (C) 2008-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -104,7 +104,7 @@ int main () if test $REPLACE_WCTOB = 0; then dnl IRIX 6.5 has the wctob() function but does not declare it. - AC_CHECK_DECLS([wctob], [], [], [ + AC_CHECK_DECLS([wctob], [], [], [[ /* Tru64 with Desktop Toolkit C has a bug: must be included before . BSD/OS 4.0.1 has a bug: , and must be included @@ -113,7 +113,7 @@ int main () #include #include #include -]) +]]) if test $ac_cv_have_decl_wctob != yes; then HAVE_DECL_WCTOB=0 fi diff --git a/m4/wcwidth.m4 b/m4/wcwidth.m4 index 8a97e3891..5d4081397 100644 --- a/m4/wcwidth.m4 +++ b/m4/wcwidth.m4 @@ -1,4 +1,4 @@ -# wcwidth.m4 serial 20 +# wcwidth.m4 serial 21 dnl Copyright (C) 2006-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -18,7 +18,7 @@ AC_DEFUN([gl_FUNC_WCWIDTH], AC_CHECK_HEADERS_ONCE([wchar.h]) AC_CHECK_FUNCS_ONCE([wcwidth]) - AC_CHECK_DECLS([wcwidth], [], [], [ + AC_CHECK_DECLS([wcwidth], [], [], [[ /* AIX 3.2.5 declares wcwidth in . */ #include /* Tru64 with Desktop Toolkit C has a bug: must be included before @@ -29,7 +29,7 @@ AC_DEFUN([gl_FUNC_WCWIDTH], #include #include #include -]) +]]) if test $ac_cv_have_decl_wcwidth != yes; then HAVE_DECL_WCWIDTH=0 fi diff --git a/m4/wmemchr.m4 b/m4/wmemchr.m4 index 285304530..082bb8703 100644 --- a/m4/wmemchr.m4 +++ b/m4/wmemchr.m4 @@ -1,4 +1,4 @@ -# wmemchr.m4 serial 2 +# wmemchr.m4 serial 3 dnl Copyright (C) 2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -7,8 +7,26 @@ dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_WMEMCHR], [ AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) - AC_CHECK_FUNCS_ONCE([wmemchr]) - if test $ac_cv_func_wmemchr = no; then + dnl We cannot use AC_CHECK_FUNCS here, because the MSVC 9 header files + dnl provide this function as an inline function definition. + AC_CACHE_CHECK([for wmemchr], [gl_cv_func_wmemchr], + [AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([[ +/* Tru64 with Desktop Toolkit C has a bug: must be included before + . + BSD/OS 4.0.1 has a bug: , and must be included + before . */ +#include +#include +#include +#include +]], + [[return ! wmemchr ((const wchar_t *) 0, (wchar_t) ' ', 0);]]) + ], + [gl_cv_func_wmemchr=yes], + [gl_cv_func_wmemchr=no]) + ]) + if test $gl_cv_func_wmemchr = no; then HAVE_WMEMCHR=0 fi ]) diff --git a/m4/wmemcmp.m4 b/m4/wmemcmp.m4 index ec86e4222..4e6e34171 100644 --- a/m4/wmemcmp.m4 +++ b/m4/wmemcmp.m4 @@ -1,4 +1,4 @@ -# wmemcmp.m4 serial 2 +# wmemcmp.m4 serial 3 dnl Copyright (C) 2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -7,8 +7,26 @@ dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_WMEMCMP], [ AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) - AC_CHECK_FUNCS_ONCE([wmemcmp]) - if test $ac_cv_func_wmemcmp = no; then + dnl We cannot use AC_CHECK_FUNCS here, because the MSVC 9 header files + dnl provide this function as an inline function definition. + AC_CACHE_CHECK([for wmemcmp], [gl_cv_func_wmemcmp], + [AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([[ +/* Tru64 with Desktop Toolkit C has a bug: must be included before + . + BSD/OS 4.0.1 has a bug: , and must be included + before . */ +#include +#include +#include +#include +]], + [[return ! wmemcmp ((const wchar_t *) 0, (const wchar_t *) 0, 0);]]) + ], + [gl_cv_func_wmemcmp=yes], + [gl_cv_func_wmemcmp=no]) + ]) + if test $gl_cv_func_wmemcmp = no; then HAVE_WMEMCMP=0 fi ]) diff --git a/m4/wmemcpy.m4 b/m4/wmemcpy.m4 index 917c6031a..695de4676 100644 --- a/m4/wmemcpy.m4 +++ b/m4/wmemcpy.m4 @@ -1,4 +1,4 @@ -# wmemcpy.m4 serial 2 +# wmemcpy.m4 serial 3 dnl Copyright (C) 2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -7,8 +7,26 @@ dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_WMEMCPY], [ AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) - AC_CHECK_FUNCS_ONCE([wmemcpy]) - if test $ac_cv_func_wmemcpy = no; then + dnl We cannot use AC_CHECK_FUNCS here, because the MSVC 9 header files + dnl provide this function as an inline function definition. + AC_CACHE_CHECK([for wmemcpy], [gl_cv_func_wmemcpy], + [AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([[ +/* Tru64 with Desktop Toolkit C has a bug: must be included before + . + BSD/OS 4.0.1 has a bug: , and must be included + before . */ +#include +#include +#include +#include +]], + [[return ! wmemcpy ((wchar_t *) 0, (const wchar_t *) 0, 0);]]) + ], + [gl_cv_func_wmemcpy=yes], + [gl_cv_func_wmemcpy=no]) + ]) + if test $gl_cv_func_wmemcpy = no; then HAVE_WMEMCPY=0 fi ]) diff --git a/m4/wmemmove.m4 b/m4/wmemmove.m4 index 73884c803..5f1cf0c42 100644 --- a/m4/wmemmove.m4 +++ b/m4/wmemmove.m4 @@ -1,4 +1,4 @@ -# wmemmove.m4 serial 2 +# wmemmove.m4 serial 3 dnl Copyright (C) 2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -7,8 +7,26 @@ dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_WMEMMOVE], [ AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) - AC_CHECK_FUNCS_ONCE([wmemmove]) - if test $ac_cv_func_wmemmove = no; then + dnl We cannot use AC_CHECK_FUNCS here, because the MSVC 9 header files + dnl provide this function as an inline function definition. + AC_CACHE_CHECK([for wmemmove], [gl_cv_func_wmemmove], + [AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([[ +/* Tru64 with Desktop Toolkit C has a bug: must be included before + . + BSD/OS 4.0.1 has a bug: , and must be included + before . */ +#include +#include +#include +#include +]], + [[return ! wmemmove ((wchar_t *) 0, (const wchar_t *) 0, 0);]]) + ], + [gl_cv_func_wmemmove=yes], + [gl_cv_func_wmemmove=no]) + ]) + if test $gl_cv_func_wmemmove = no; then HAVE_WMEMMOVE=0 fi ]) diff --git a/m4/wmemset.m4 b/m4/wmemset.m4 index 9674c1242..9218226e0 100644 --- a/m4/wmemset.m4 +++ b/m4/wmemset.m4 @@ -1,4 +1,4 @@ -# wmemset.m4 serial 2 +# wmemset.m4 serial 3 dnl Copyright (C) 2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -7,8 +7,26 @@ dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_WMEMSET], [ AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) - AC_CHECK_FUNCS_ONCE([wmemset]) - if test $ac_cv_func_wmemset = no; then + dnl We cannot use AC_CHECK_FUNCS here, because the MSVC 9 header files + dnl provide this function as an inline function definition. + AC_CACHE_CHECK([for wmemset], [gl_cv_func_wmemset], + [AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([[ +/* Tru64 with Desktop Toolkit C has a bug: must be included before + . + BSD/OS 4.0.1 has a bug: , and must be included + before . */ +#include +#include +#include +#include +]], + [[return ! wmemset ((wchar_t *) 0, (wchar_t) ' ', 0);]]) + ], + [gl_cv_func_wmemset=yes], + [gl_cv_func_wmemset=no]) + ]) + if test $gl_cv_func_wmemset = no; then HAVE_WMEMSET=0 fi ]) diff --git a/m4/write.m4 b/m4/write.m4 index c39d3d07a..4cfff0e98 100644 --- a/m4/write.m4 +++ b/m4/write.m4 @@ -1,4 +1,4 @@ -# write.m4 serial 3 +# write.m4 serial 4 dnl Copyright (C) 2008-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -7,6 +7,10 @@ dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_WRITE], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) + AC_REQUIRE([gl_MSVC_INVAL]) + if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then + REPLACE_WRITE=1 + fi dnl This ifdef is just an optimization, to avoid performing a configure dnl check whose result is not used. It does not make the test of dnl GNULIB_UNISTD_H_SIGPIPE or GNULIB_SIGPIPE redundant. @@ -23,3 +27,9 @@ AC_DEFUN([gl_FUNC_WRITE], fi ]) ]) + +# Prerequisites of lib/write.c. +AC_DEFUN([gl_PREREQ_WRITE], +[ + AC_REQUIRE([AC_C_INLINE]) +]) diff --git a/modules/accept b/modules/accept index fb46f98a8..059a56d29 100644 --- a/modules/accept +++ b/modules/accept @@ -7,7 +7,9 @@ lib/w32sock.h Depends-on: sys_socket +socketlib errno [test "$ac_cv_header_winsock2_h" = yes] +msvc-nothrow [test "$ac_cv_header_winsock2_h" = yes] configure.ac: AC_REQUIRE([gl_HEADER_SYS_SOCKET]) @@ -21,6 +23,9 @@ Makefile.am: Include: +Link: +$(LIBSOCKET) + License: LGPLv2+ diff --git a/modules/accept-tests b/modules/accept-tests new file mode 100644 index 000000000..a03be0abb --- /dev/null +++ b/modules/accept-tests @@ -0,0 +1,15 @@ +Files: +tests/test-accept.c +tests/signature.h +tests/macros.h + +Depends-on: +netinet_in +sockets + +configure.ac: + +Makefile.am: +TESTS += test-accept +check_PROGRAMS += test-accept +test_accept_LDADD = $(LDADD) @LIBSOCKET@ diff --git a/modules/accept4 b/modules/accept4 index 009575c4e..e9319763c 100644 --- a/modules/accept4 +++ b/modules/accept4 @@ -12,6 +12,7 @@ accept fcntl-h binary-io extensions +msvc-nothrow configure.ac: gl_FUNC_ACCEPT4 @@ -23,6 +24,9 @@ lib_SOURCES += accept4.c Include: +Link: +$(LIBSOCKET) + License: LGPL diff --git a/modules/accept4-tests b/modules/accept4-tests new file mode 100644 index 000000000..ad8f5fcd8 --- /dev/null +++ b/modules/accept4-tests @@ -0,0 +1,17 @@ +Files: +tests/test-accept4.c +tests/signature.h +tests/macros.h + +Depends-on: +fcntl-h +netinet_in +binary-io +sockets + +configure.ac: + +Makefile.am: +TESTS += test-accept4 +check_PROGRAMS += test-accept4 +test_accept4_LDADD = $(LDADD) @LIBSOCKET@ diff --git a/modules/acl b/modules/acl index f5913c213..434a634d5 100644 --- a/modules/acl +++ b/modules/acl @@ -12,6 +12,7 @@ m4/acl.m4 Depends-on: error +fstat gettext-h quote sys_stat diff --git a/modules/acl-tests b/modules/acl-tests index 3ab99972c..36908b311 100644 --- a/modules/acl-tests +++ b/modules/acl-tests @@ -1,7 +1,13 @@ Files: tests/test-file-has-acl.sh +tests/test-file-has-acl-1.sh +tests/test-file-has-acl-2.sh tests/test-set-mode-acl.sh +tests/test-set-mode-acl-1.sh +tests/test-set-mode-acl-2.sh tests/test-copy-acl.sh +tests/test-copy-acl-1.sh +tests/test-copy-acl-2.sh tests/test-file-has-acl.c tests/test-set-mode-acl.c tests/test-copy-acl.c @@ -18,7 +24,10 @@ configure.ac: AC_CHECK_DECLS_ONCE([alarm]) Makefile.am: -TESTS += test-file-has-acl.sh test-set-mode-acl.sh test-copy-acl.sh +TESTS += \ + test-file-has-acl.sh test-file-has-acl-1.sh test-file-has-acl-2.sh \ + test-set-mode-acl.sh test-set-mode-acl-1.sh test-set-mode-acl-2.sh \ + test-copy-acl.sh test-copy-acl-1.sh test-copy-acl-2.sh TESTS_ENVIRONMENT += USE_ACL=$(USE_ACL) check_PROGRAMS += test-file-has-acl test-set-mode-acl test-copy-acl test-sameacls test_file_has_acl_LDADD = $(LDADD) $(LIB_ACL) diff --git a/modules/acos b/modules/acos index cceee873c..1ddb3fc77 100644 --- a/modules/acos +++ b/modules/acos @@ -2,12 +2,13 @@ Description: acos() function: inverse cosine function. Files: +m4/acos.m4 m4/mathfunc.m4 Depends-on: configure.ac: -gl_COMMON_DOUBLE_MATHFUNC([acos]) +gl_FUNC_ACOS Makefile.am: diff --git a/modules/acosf b/modules/acosf new file mode 100644 index 000000000..aa61b0365 --- /dev/null +++ b/modules/acosf @@ -0,0 +1,31 @@ +Description: +acosf() function: inverse cosine function. + +Files: +lib/acosf.c +m4/acosf.m4 + +Depends-on: +math +acos [test $HAVE_ACOSF = 0] + +configure.ac: +gl_FUNC_ACOSF +if test $HAVE_ACOSF = 0; then + AC_LIBOBJ([acosf]) +fi +gl_MATH_MODULE_INDICATOR([acosf]) + +Makefile.am: + +Include: + + +Link: +$(ACOSF_LIBM) + +License: +LGPL + +Maintainer: +Bruno Haible diff --git a/modules/acosf-tests b/modules/acosf-tests new file mode 100644 index 000000000..a151fbde7 --- /dev/null +++ b/modules/acosf-tests @@ -0,0 +1,13 @@ +Files: +tests/test-acosf.c +tests/signature.h +tests/macros.h + +Depends-on: + +configure.ac: + +Makefile.am: +TESTS += test-acosf +check_PROGRAMS += test-acosf +test_acosf_LDADD = $(LDADD) @ACOSF_LIBM@ diff --git a/modules/acosl b/modules/acosl index 65152ad3a..2ca9ebe87 100644 --- a/modules/acosl +++ b/modules/acosl @@ -8,8 +8,9 @@ m4/acosl.m4 Depends-on: math extensions -asinl [test $HAVE_ACOSL = 0] -sqrtl [test $HAVE_ACOSL = 0] +acos [test $HAVE_ACOSL = 0 && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 1] +asinl [test $HAVE_ACOSL = 0 && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 0] +sqrtl [test $HAVE_ACOSL = 0 && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 0] configure.ac: gl_FUNC_ACOSL diff --git a/modules/areadlinkat b/modules/areadlinkat index 8c621d575..a9668cf96 100644 --- a/modules/areadlinkat +++ b/modules/areadlinkat @@ -4,11 +4,21 @@ Reading symbolic links without size limitation, relative to fd. Files: lib/areadlink.h lib/areadlinkat.c +lib/at-func.c Depends-on: areadlink careadlinkat readlinkat +at-internal +dosname +errno +extensions +fchdir +fcntl-h +openat-die +openat-h +save-cwd configure.ac: gl_MODULE_INDICATOR([areadlinkat]) diff --git a/modules/areadlinkat-with-size b/modules/areadlinkat-with-size index 162defe5e..2cdd9595f 100644 --- a/modules/areadlinkat-with-size +++ b/modules/areadlinkat-with-size @@ -4,11 +4,22 @@ Read a symbolic link, without size limitations, relative to fd. Files: lib/areadlink.h lib/areadlinkat-with-size.c +lib/at-func.c Depends-on: areadlink-with-size stdint readlinkat +at-internal +dosname +errno +extensions +fchdir +fcntl-h +openat-die +openat-h +save-cwd +unistd configure.ac: gl_MODULE_INDICATOR([areadlinkat-with-size]) diff --git a/modules/argp b/modules/argp index fa39580ea..8d496812d 100644 --- a/modules/argp +++ b/modules/argp @@ -35,6 +35,7 @@ strcase extensions vsnprintf sleep +stdalign strerror memchr memmove diff --git a/modules/argv-iter b/modules/argv-iter index 8802e8f84..f7ecaa31b 100644 --- a/modules/argv-iter +++ b/modules/argv-iter @@ -18,7 +18,7 @@ lib_SOURCES += argv-iter.c argv-iter.h Include: "argv-iter.h" -License +License: GPL Maintainer: diff --git a/modules/arpa_inet b/modules/arpa_inet index 6653ed420..005690fef 100644 --- a/modules/arpa_inet +++ b/modules/arpa_inet @@ -36,6 +36,8 @@ arpa/inet.h: arpa_inet.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON -e 's/@''GNULIB_INET_PTON''@/$(GNULIB_INET_PTON)/g' \ -e 's|@''HAVE_DECL_INET_NTOP''@|$(HAVE_DECL_INET_NTOP)|g' \ -e 's|@''HAVE_DECL_INET_PTON''@|$(HAVE_DECL_INET_PTON)|g' \ + -e 's|@''REPLACE_INET_NTOP''@|$(REPLACE_INET_NTOP)|g' \ + -e 's|@''REPLACE_INET_PTON''@|$(REPLACE_INET_PTON)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ diff --git a/modules/asin b/modules/asin index e6c496bc8..ac1145806 100644 --- a/modules/asin +++ b/modules/asin @@ -2,12 +2,13 @@ Description: asin() function: inverse sine function. Files: +m4/asin.m4 m4/mathfunc.m4 Depends-on: configure.ac: -gl_COMMON_DOUBLE_MATHFUNC([asin]) +gl_FUNC_ASIN Makefile.am: diff --git a/modules/asinf b/modules/asinf new file mode 100644 index 000000000..395ff2c27 --- /dev/null +++ b/modules/asinf @@ -0,0 +1,31 @@ +Description: +asinf() function: inverse sine function. + +Files: +lib/asinf.c +m4/asinf.m4 + +Depends-on: +math +asin [test $HAVE_ASINF = 0] + +configure.ac: +gl_FUNC_ASINF +if test $HAVE_ASINF = 0; then + AC_LIBOBJ([asinf]) +fi +gl_MATH_MODULE_INDICATOR([asinf]) + +Makefile.am: + +Include: + + +Link: +$(ASINF_LIBM) + +License: +LGPL + +Maintainer: +Bruno Haible diff --git a/modules/asinf-tests b/modules/asinf-tests new file mode 100644 index 000000000..0e234afff --- /dev/null +++ b/modules/asinf-tests @@ -0,0 +1,13 @@ +Files: +tests/test-asinf.c +tests/signature.h +tests/macros.h + +Depends-on: + +configure.ac: + +Makefile.am: +TESTS += test-asinf +check_PROGRAMS += test-asinf +test_asinf_LDADD = $(LDADD) @ASINF_LIBM@ diff --git a/modules/asinl b/modules/asinl index bc9c071ed..8abb65b85 100644 --- a/modules/asinl +++ b/modules/asinl @@ -8,7 +8,8 @@ m4/asinl.m4 Depends-on: math extensions -sqrtl [test $HAVE_ASINL = 0] +asin [test $HAVE_ASINL = 0 && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 1] +sqrtl [test $HAVE_ASINL = 0 && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 0] configure.ac: gl_FUNC_ASINL diff --git a/modules/at-internal b/modules/at-internal new file mode 100644 index 000000000..524750b65 --- /dev/null +++ b/modules/at-internal @@ -0,0 +1,28 @@ +Description: +Internal functions for dealing with files relative to a directory. + +Files: +lib/openat-priv.h +lib/openat-proc.c + +Depends-on: +errno +fcntl-h +intprops +open +sys_stat +unistd + +configure.ac: +AC_LIBOBJ([openat-proc]) + +Makefile.am: + +Include: +"openat-priv.h" + +License: +GPL + +Maintainer: +Jim Meyering, Eric Blake diff --git a/modules/atan b/modules/atan index 9c5960194..5a82663be 100644 --- a/modules/atan +++ b/modules/atan @@ -2,12 +2,13 @@ Description: atan() function: inverse tangent function. Files: +m4/atan.m4 m4/mathfunc.m4 Depends-on: configure.ac: -gl_COMMON_DOUBLE_MATHFUNC([atan]) +gl_FUNC_ATAN Makefile.am: diff --git a/modules/atan2 b/modules/atan2 index 877cc6bd2..9b4bf56d7 100644 --- a/modules/atan2 +++ b/modules/atan2 @@ -2,12 +2,13 @@ Description: atan2() function: angle of a point in the plane. Files: +m4/atan2.m4 m4/mathfunc.m4 Depends-on: configure.ac: -gl_COMMON_DOUBLE_MATHFUNC([atan2]) +gl_FUNC_ATAN2 Makefile.am: diff --git a/modules/atan2f b/modules/atan2f new file mode 100644 index 000000000..f2d7dc65e --- /dev/null +++ b/modules/atan2f @@ -0,0 +1,31 @@ +Description: +atan2f() function: angle of a point in the plane. + +Files: +lib/atan2f.c +m4/atan2f.m4 + +Depends-on: +math +atan2 [test $HAVE_ATAN2F = 0] + +configure.ac: +gl_FUNC_ATAN2F +if test $HAVE_ATAN2F = 0; then + AC_LIBOBJ([atan2f]) +fi +gl_MATH_MODULE_INDICATOR([atan2f]) + +Makefile.am: + +Include: + + +Link: +$(ATAN2F_LIBM) + +License: +LGPL + +Maintainer: +Bruno Haible diff --git a/modules/atan2f-tests b/modules/atan2f-tests new file mode 100644 index 000000000..6523e8b77 --- /dev/null +++ b/modules/atan2f-tests @@ -0,0 +1,13 @@ +Files: +tests/test-atan2f.c +tests/signature.h +tests/macros.h + +Depends-on: + +configure.ac: + +Makefile.am: +TESTS += test-atan2f +check_PROGRAMS += test-atan2f +test_atan2f_LDADD = $(LDADD) @ATAN2F_LIBM@ diff --git a/modules/atanf b/modules/atanf new file mode 100644 index 000000000..b17a4e621 --- /dev/null +++ b/modules/atanf @@ -0,0 +1,31 @@ +Description: +atanf() function: inverse tangent function. + +Files: +lib/atanf.c +m4/atanf.m4 + +Depends-on: +math +atan [test $HAVE_ATANF = 0] + +configure.ac: +gl_FUNC_ATANF +if test $HAVE_ATANF = 0; then + AC_LIBOBJ([atanf]) +fi +gl_MATH_MODULE_INDICATOR([atanf]) + +Makefile.am: + +Include: + + +Link: +$(ATANF_LIBM) + +License: +LGPL + +Maintainer: +Bruno Haible diff --git a/modules/atanf-tests b/modules/atanf-tests new file mode 100644 index 000000000..265ea2141 --- /dev/null +++ b/modules/atanf-tests @@ -0,0 +1,13 @@ +Files: +tests/test-atanf.c +tests/signature.h +tests/macros.h + +Depends-on: + +configure.ac: + +Makefile.am: +TESTS += test-atanf +check_PROGRAMS += test-atanf +test_atanf_LDADD = $(LDADD) @ATANF_LIBM@ diff --git a/modules/atanl b/modules/atanl index 1fd0d9aae..a600846a3 100644 --- a/modules/atanl +++ b/modules/atanl @@ -8,7 +8,8 @@ m4/atanl.m4 Depends-on: math extensions -isnanl [test $HAVE_ATANL = 0] +atan [test $HAVE_ATANL = 0 && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 1] +isnanl [test $HAVE_ATANL = 0 && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 0] configure.ac: gl_FUNC_ATANL diff --git a/modules/backupfile b/modules/backupfile index c7ab86c4b..dbd26b6d7 100644 --- a/modules/backupfile +++ b/modules/backupfile @@ -9,10 +9,13 @@ m4/backupfile.m4 Depends-on: argmatch +closedir d-ino dirent-safer dirname-lgpl memcmp +opendir +readdir stdbool configure.ac: diff --git a/modules/base32 b/modules/base32 new file mode 100644 index 000000000..20f38cf1a --- /dev/null +++ b/modules/base32 @@ -0,0 +1,26 @@ +Description: +Encode binary data using printable characters (base32). + +Files: +lib/base32.h +lib/base32.c +m4/base32.m4 + +Depends-on: +stdbool +memchr + +configure.ac: +gl_FUNC_BASE32 + +Makefile.am: +lib_SOURCES += base32.h base32.c + +Include: +"base32.h" + +License: +LGPLv2+ + +Maintainer: +TODO diff --git a/modules/base32-tests b/modules/base32-tests new file mode 100644 index 000000000..1422395d8 --- /dev/null +++ b/modules/base32-tests @@ -0,0 +1,11 @@ +Files: +tests/test-base32.c +tests/macros.h + +Depends-on: + +configure.ac: + +Makefile.am: +TESTS += test-base32 +check_PROGRAMS += test-base32 diff --git a/modules/bind b/modules/bind index 5c4595ffd..e46bd267a 100644 --- a/modules/bind +++ b/modules/bind @@ -7,7 +7,9 @@ lib/w32sock.h Depends-on: sys_socket +socketlib errno [test "$ac_cv_header_winsock2_h" = yes] +msvc-nothrow [test "$ac_cv_header_winsock2_h" = yes] configure.ac: AC_REQUIRE([gl_HEADER_SYS_SOCKET]) @@ -21,6 +23,9 @@ Makefile.am: Include: +Link: +$(LIBSOCKET) + License: LGPLv2+ diff --git a/modules/bind-tests b/modules/bind-tests new file mode 100644 index 000000000..9ffb71f5b --- /dev/null +++ b/modules/bind-tests @@ -0,0 +1,16 @@ +Files: +tests/test-bind.c +tests/signature.h +tests/macros.h + +Depends-on: +netinet_in +sockets +inet_pton + +configure.ac: + +Makefile.am: +TESTS += test-bind +check_PROGRAMS += test-bind +test_bind_LDADD = $(LDADD) @LIBSOCKET@ $(INET_PTON_LIB) diff --git a/modules/ceil-tests b/modules/ceil-tests index 2a168b522..4051d1c25 100644 --- a/modules/ceil-tests +++ b/modules/ceil-tests @@ -2,6 +2,7 @@ Files: tests/test-ceil1.c tests/test-ceil2.c tests/minus-zero.h +tests/infinity.h tests/nan.h tests/signature.h tests/macros.h diff --git a/modules/ceilf-tests b/modules/ceilf-tests index 040fd1bbf..6ead40244 100644 --- a/modules/ceilf-tests +++ b/modules/ceilf-tests @@ -2,6 +2,7 @@ Files: tests/test-ceilf1.c tests/test-ceilf2.c tests/minus-zero.h +tests/infinity.h tests/nan.h tests/signature.h tests/macros.h diff --git a/modules/ceill b/modules/ceill index 4ab7f3857..a5d860fc2 100644 --- a/modules/ceill +++ b/modules/ceill @@ -9,7 +9,8 @@ m4/ceill.m4 Depends-on: math extensions -float [test $HAVE_DECL_CEILL = 0 || test $REPLACE_CEILL = 1] +ceil [{ test $HAVE_DECL_CEILL = 0 || test $REPLACE_CEILL = 1; } && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 1] +float [{ test $HAVE_DECL_CEILL = 0 || test $REPLACE_CEILL = 1; } && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 0] configure.ac: gl_FUNC_CEILL diff --git a/modules/ceill-tests b/modules/ceill-tests index 09ae4f32d..d6176c835 100644 --- a/modules/ceill-tests +++ b/modules/ceill-tests @@ -1,6 +1,7 @@ Files: tests/test-ceill.c tests/minus-zero.h +tests/infinity.h tests/nan.h tests/signature.h tests/macros.h diff --git a/modules/chdir b/modules/chdir new file mode 100644 index 000000000..b827339ec --- /dev/null +++ b/modules/chdir @@ -0,0 +1,21 @@ +Description: +chdir() function: switch to another current directory + +Files: + +Depends-on: +unistd + +configure.ac: +gl_UNISTD_MODULE_INDICATOR([chdir]) + +Makefile.am: + +Include: + + +License: +LGPLv2+ + +Maintainer: +Bruno Haible diff --git a/modules/chdir-long b/modules/chdir-long index a456b1385..74d9c33f7 100644 --- a/modules/chdir-long +++ b/modules/chdir-long @@ -5,10 +5,12 @@ Files: lib/chdir-long.h lib/chdir-long.c m4/chdir-long.m4 +m4/pathmax.m4 Depends-on: unistd pathmax +chdir atexit [test $gl_cv_have_arbitrary_file_name_length_limit = yes] fchdir [test $gl_cv_have_arbitrary_file_name_length_limit = yes] fcntl-h [test $gl_cv_have_arbitrary_file_name_length_limit = yes] diff --git a/modules/chdir-safer b/modules/chdir-safer index 095a4086c..7455b3215 100644 --- a/modules/chdir-safer +++ b/modules/chdir-safer @@ -10,6 +10,7 @@ Depends-on: errno fchdir fcntl-h +fstat open same-inode stdbool diff --git a/modules/chdir-tests b/modules/chdir-tests new file mode 100644 index 000000000..5ee0d0c5d --- /dev/null +++ b/modules/chdir-tests @@ -0,0 +1,12 @@ +Files: +tests/test-chdir.c +tests/signature.h +tests/macros.h + +Depends-on: + +configure.ac: + +Makefile.am: +TESTS += test-chdir +check_PROGRAMS += test-chdir diff --git a/modules/chown b/modules/chown index 1c271f054..9c7294b0e 100644 --- a/modules/chown +++ b/modules/chown @@ -8,6 +8,7 @@ m4/chown.m4 Depends-on: unistd +fstat [test $HAVE_CHOWN = 0 || test $REPLACE_CHOWN = 1] open [test $HAVE_CHOWN = 0 || test $REPLACE_CHOWN = 1] stat [test $HAVE_CHOWN = 0 || test $REPLACE_CHOWN = 1] stdbool [test $HAVE_CHOWN = 0 || test $REPLACE_CHOWN = 1] diff --git a/modules/cloexec-tests b/modules/cloexec-tests index 3a76b9e9a..524716c92 100644 --- a/modules/cloexec-tests +++ b/modules/cloexec-tests @@ -4,6 +4,7 @@ tests/macros.h Depends-on: binary-io +msvc-nothrow configure.ac: diff --git a/modules/close b/modules/close index adec0401e..6451ce2f7 100644 --- a/modules/close +++ b/modules/close @@ -8,6 +8,7 @@ m4/close.m4 Depends-on: unistd fd-hook [test $REPLACE_CLOSE = 1] +msvc-inval [test $REPLACE_CLOSE = 1] configure.ac: gl_FUNC_CLOSE diff --git a/modules/close-tests b/modules/close-tests new file mode 100644 index 000000000..571631996 --- /dev/null +++ b/modules/close-tests @@ -0,0 +1,12 @@ +Files: +tests/test-close.c +tests/signature.h +tests/macros.h + +Depends-on: + +configure.ac: + +Makefile.am: +TESTS += test-close +check_PROGRAMS += test-close diff --git a/modules/closedir b/modules/closedir new file mode 100644 index 000000000..1ebff9cca --- /dev/null +++ b/modules/closedir @@ -0,0 +1,28 @@ +Description: +closedir() function: stop reading the entries of a directory + +Files: +lib/closedir.c +lib/dirent-private.h +m4/closedir.m4 + +Depends-on: +dirent + +configure.ac: +gl_FUNC_CLOSEDIR +if test $HAVE_CLOSEDIR = 0 || test $REPLACE_CLOSEDIR = 1; then + AC_LIBOBJ([closedir]) +fi +gl_DIRENT_MODULE_INDICATOR([closedir]) + +Makefile.am: + +Include: + + +License: +LGPL + +Maintainer: +Bruno Haible diff --git a/modules/connect b/modules/connect index c90f09438..c77632ca6 100644 --- a/modules/connect +++ b/modules/connect @@ -7,7 +7,9 @@ lib/w32sock.h Depends-on: sys_socket +socketlib errno [test "$ac_cv_header_winsock2_h" = yes] +msvc-nothrow [test "$ac_cv_header_winsock2_h" = yes] configure.ac: AC_REQUIRE([gl_HEADER_SYS_SOCKET]) @@ -21,6 +23,9 @@ Makefile.am: Include: +Link: +$(LIBSOCKET) + License: LGPLv2+ diff --git a/modules/connect-tests b/modules/connect-tests new file mode 100644 index 000000000..8b3c7105e --- /dev/null +++ b/modules/connect-tests @@ -0,0 +1,16 @@ +Files: +tests/test-connect.c +tests/signature.h +tests/macros.h + +Depends-on: +netinet_in +sockets +inet_pton + +configure.ac: + +Makefile.am: +TESTS += test-connect +check_PROGRAMS += test-connect +test_connect_LDADD = $(LDADD) @LIBSOCKET@ $(INET_PTON_LIB) diff --git a/modules/copy-file b/modules/copy-file index 4ca553e30..6a35db273 100644 --- a/modules/copy-file +++ b/modules/copy-file @@ -10,6 +10,7 @@ Depends-on: acl binary-io error +fstat full-write gettext-h open diff --git a/modules/copy-file-tests b/modules/copy-file-tests index ab7f6324e..cc06a0bb5 100644 --- a/modules/copy-file-tests +++ b/modules/copy-file-tests @@ -1,5 +1,7 @@ Files: tests/test-copy-file.sh +tests/test-copy-file-1.sh +tests/test-copy-file-2.sh tests/test-copy-file.c tests/macros.h @@ -13,7 +15,7 @@ xalloc configure.ac: Makefile.am: -TESTS += test-copy-file.sh +TESTS += test-copy-file.sh test-copy-file-1.sh test-copy-file-2.sh TESTS_ENVIRONMENT += USE_ACL=$(USE_ACL) check_PROGRAMS += test-copy-file test_copy_file_LDADD = $(LDADD) $(LIB_ACL) @LIBINTL@ diff --git a/modules/copysign b/modules/copysign index 5318e8027..656aa5017 100644 --- a/modules/copysign +++ b/modules/copysign @@ -1,13 +1,21 @@ Description: -copysign() function: copy sign. +copysign() function: copy sign into another 'double' number. Files: +lib/copysign.c +m4/copysign.m4 m4/mathfunc.m4 Depends-on: +math +signbit [test $HAVE_COPYSIGN = 0] configure.ac: -gl_MATHFUNC([copysign], [double], [(double, double)]) +gl_FUNC_COPYSIGN +if test $HAVE_COPYSIGN = 0; then + AC_LIBOBJ([copysign]) +fi +gl_MATH_MODULE_INDICATOR([copysign]) Makefile.am: diff --git a/modules/copysignf b/modules/copysignf new file mode 100644 index 000000000..a446046ca --- /dev/null +++ b/modules/copysignf @@ -0,0 +1,32 @@ +Description: +copysignf() function: copy sign into another 'float' number. + +Files: +lib/copysignf.c +m4/copysignf.m4 +m4/mathfunc.m4 + +Depends-on: +math +signbit [test $HAVE_COPYSIGNF = 0] + +configure.ac: +gl_FUNC_COPYSIGNF +if test $HAVE_COPYSIGNF = 0; then + AC_LIBOBJ([copysignf]) +fi +gl_MATH_MODULE_INDICATOR([copysignf]) + +Makefile.am: + +Include: + + +Link: +$(COPYSIGNF_LIBM) + +License: +LGPL + +Maintainer: +Bruno Haible diff --git a/modules/copysignf-tests b/modules/copysignf-tests new file mode 100644 index 000000000..78b042cdf --- /dev/null +++ b/modules/copysignf-tests @@ -0,0 +1,14 @@ +Files: +tests/test-copysignf.c +tests/signature.h +tests/minus-zero.h +tests/macros.h + +Depends-on: + +configure.ac: + +Makefile.am: +TESTS += test-copysignf +check_PROGRAMS += test-copysignf +test_copysignf_LDADD = $(LDADD) @COPYSIGNF_LIBM@ diff --git a/modules/copysignl b/modules/copysignl new file mode 100644 index 000000000..f3d1fd3ef --- /dev/null +++ b/modules/copysignl @@ -0,0 +1,33 @@ +Description: +copysignl() function: copy sign into another 'long double' number. + +Files: +lib/copysignl.c +m4/copysignl.m4 +m4/mathfunc.m4 + +Depends-on: +math +copysign [test $HAVE_COPYSIGNL = 0 && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 1] +signbit [test $HAVE_COPYSIGNL = 0 && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 0] + +configure.ac: +gl_FUNC_COPYSIGNL +if test $HAVE_COPYSIGNL = 0; then + AC_LIBOBJ([copysignl]) +fi +gl_MATH_MODULE_INDICATOR([copysignl]) + +Makefile.am: + +Include: + + +Link: +$(COPYSIGNL_LIBM) + +License: +LGPL + +Maintainer: +Bruno Haible diff --git a/modules/copysignl-tests b/modules/copysignl-tests new file mode 100644 index 000000000..1cb5f829a --- /dev/null +++ b/modules/copysignl-tests @@ -0,0 +1,14 @@ +Files: +tests/test-copysignl.c +tests/signature.h +tests/minus-zero.h +tests/macros.h + +Depends-on: + +configure.ac: + +Makefile.am: +TESTS += test-copysignl +check_PROGRAMS += test-copysignl +test_copysignl_LDADD = $(LDADD) @COPYSIGNL_LIBM@ diff --git a/modules/cos b/modules/cos index eae9a4d28..833727585 100644 --- a/modules/cos +++ b/modules/cos @@ -2,12 +2,13 @@ Description: cos() function: cosine function. Files: +m4/cos.m4 m4/mathfunc.m4 Depends-on: configure.ac: -gl_COMMON_DOUBLE_MATHFUNC([cos]) +gl_FUNC_COS Makefile.am: diff --git a/modules/cosf b/modules/cosf new file mode 100644 index 000000000..b9b9860c9 --- /dev/null +++ b/modules/cosf @@ -0,0 +1,31 @@ +Description: +cosf() function: cosine function. + +Files: +lib/cosf.c +m4/cosf.m4 + +Depends-on: +math +cos [test $HAVE_COSF = 0] + +configure.ac: +gl_FUNC_COSF +if test $HAVE_COSF = 0; then + AC_LIBOBJ([cosf]) +fi +gl_MATH_MODULE_INDICATOR([cosf]) + +Makefile.am: + +Include: + + +Link: +$(COSF_LIBM) + +License: +LGPL + +Maintainer: +Bruno Haible diff --git a/modules/cosf-tests b/modules/cosf-tests new file mode 100644 index 000000000..b8c6b3386 --- /dev/null +++ b/modules/cosf-tests @@ -0,0 +1,13 @@ +Files: +tests/test-cosf.c +tests/signature.h +tests/macros.h + +Depends-on: + +configure.ac: + +Makefile.am: +TESTS += test-cosf +check_PROGRAMS += test-cosf +test_cosf_LDADD = $(LDADD) @COSF_LIBM@ diff --git a/modules/cosh b/modules/cosh index 4fd5c3a90..ec4e049b6 100644 --- a/modules/cosh +++ b/modules/cosh @@ -2,12 +2,13 @@ Description: cosh() function: hyperbolic cosine function. Files: +m4/cosh.m4 m4/mathfunc.m4 Depends-on: configure.ac: -gl_COMMON_DOUBLE_MATHFUNC([cosh]) +gl_FUNC_COSH Makefile.am: diff --git a/modules/coshf b/modules/coshf new file mode 100644 index 000000000..d8a1e4be0 --- /dev/null +++ b/modules/coshf @@ -0,0 +1,31 @@ +Description: +coshf() function: hyperbolic cosine function. + +Files: +lib/coshf.c +m4/coshf.m4 + +Depends-on: +math +cosh [test $HAVE_COSHF = 0] + +configure.ac: +gl_FUNC_COSHF +if test $HAVE_COSHF = 0; then + AC_LIBOBJ([coshf]) +fi +gl_MATH_MODULE_INDICATOR([coshf]) + +Makefile.am: + +Include: + + +Link: +$(COSHF_LIBM) + +License: +LGPL + +Maintainer: +Bruno Haible diff --git a/modules/coshf-tests b/modules/coshf-tests new file mode 100644 index 000000000..ae9327eeb --- /dev/null +++ b/modules/coshf-tests @@ -0,0 +1,13 @@ +Files: +tests/test-coshf.c +tests/signature.h +tests/macros.h + +Depends-on: + +configure.ac: + +Makefile.am: +TESTS += test-coshf +check_PROGRAMS += test-coshf +test_coshf_LDADD = $(LDADD) @COSHF_LIBM@ diff --git a/modules/cosl b/modules/cosl index 65fcbd139..2b7aaeab0 100644 --- a/modules/cosl +++ b/modules/cosl @@ -11,17 +11,20 @@ m4/cosl.m4 Depends-on: math extensions -float [test $HAVE_COSL = 0] -isnanl [test $HAVE_COSL = 0] -floor [test $HAVE_COSL = 0] -floorl [test $HAVE_COSL = 0] +cos [test $HAVE_COSL = 0 && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 1] +float [test $HAVE_COSL = 0 && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 0] +isnanl [test $HAVE_COSL = 0 && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 0] +floor [test $HAVE_COSL = 0 && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 0] +floorl [test $HAVE_COSL = 0 && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 0] configure.ac: gl_FUNC_COSL if test $HAVE_COSL = 0; then AC_LIBOBJ([cosl]) - AC_LIBOBJ([sincosl]) - AC_LIBOBJ([trigl]) + if test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 0; then + AC_LIBOBJ([sincosl]) + AC_LIBOBJ([trigl]) + fi fi gl_MATH_MODULE_INDICATOR([cosl]) diff --git a/modules/crypto/gc-arcfour b/modules/crypto/gc-arcfour index 34a310c60..7df6b954e 100644 --- a/modules/crypto/gc-arcfour +++ b/modules/crypto/gc-arcfour @@ -3,18 +3,13 @@ Generic crypto wrappers for ARCFOUR stream cipher. Files: m4/gc-arcfour.m4 -lib/arcfour.h -lib/arcfour.c Depends-on: -stdint crypto/gc +crypto/arcfour [test "$ac_cv_libgcrypt" != yes] configure.ac: gl_GC_ARCFOUR -if test "$ac_cv_libgcrypt" != yes; then - AC_LIBOBJ([arcfour]) -fi gl_MODULE_INDICATOR([gc-arcfour]) Makefile.am: diff --git a/modules/crypto/gc-arctwo b/modules/crypto/gc-arctwo index 49006679f..bbd9ba910 100644 --- a/modules/crypto/gc-arctwo +++ b/modules/crypto/gc-arctwo @@ -3,20 +3,13 @@ Generic crypto wrappers for ARCTWO block cipher. Files: m4/gc-arctwo.m4 -lib/arctwo.h -lib/arctwo.c -m4/arctwo.m4 Depends-on: -stdint crypto/gc -bitrotate +crypto/arctwo [test "$ac_cv_libgcrypt" != yes] configure.ac: gl_GC_ARCTWO -if test "$ac_cv_libgcrypt" != yes; then - AC_LIBOBJ([arctwo]) -fi gl_MODULE_INDICATOR([gc-arctwo]) Makefile.am: diff --git a/modules/crypto/gc-des b/modules/crypto/gc-des index fd7cb764c..685899dc9 100644 --- a/modules/crypto/gc-des +++ b/modules/crypto/gc-des @@ -3,19 +3,13 @@ Generic crypto wrappers for DES block cipher. Files: m4/gc-des.m4 -lib/des.h -lib/des.c Depends-on: -stdint -stdbool crypto/gc +crypto/des [test "$ac_cv_libgcrypt" != yes] configure.ac: gl_GC_DES -if test "$ac_cv_libgcrypt" != yes; then - AC_LIBOBJ([des]) -fi gl_MODULE_INDICATOR([gc-des]) Makefile.am: diff --git a/modules/crypto/gc-hmac-md5 b/modules/crypto/gc-hmac-md5 index cd1973eeb..109ec5e0f 100644 --- a/modules/crypto/gc-hmac-md5 +++ b/modules/crypto/gc-hmac-md5 @@ -3,26 +3,13 @@ Generic crypto wrappers for HMAC-MD5 functions. Files: m4/gc-hmac-md5.m4 -lib/md5.h -lib/md5.c -m4/md5.m4 -lib/hmac.h -lib/hmac-md5.c -lib/memxor.h -lib/memxor.c -m4/memxor.m4 Depends-on: -stdint crypto/gc +crypto/hmac-md5 [test "$ac_cv_libgcrypt" != yes] configure.ac: gl_GC_HMAC_MD5 -if test "$ac_cv_libgcrypt" != yes; then - AC_LIBOBJ([md5]) - AC_LIBOBJ([hmac-md5]) - AC_LIBOBJ([memxor]) -fi gl_MODULE_INDICATOR([gc-hmac-md5]) Makefile.am: diff --git a/modules/crypto/gc-hmac-sha1 b/modules/crypto/gc-hmac-sha1 index c73351bb1..6235125bb 100644 --- a/modules/crypto/gc-hmac-sha1 +++ b/modules/crypto/gc-hmac-sha1 @@ -3,26 +3,13 @@ Generic crypto wrappers for HMAC-SHA1 functions. Files: m4/gc-hmac-sha1.m4 -lib/sha1.h -lib/sha1.c -m4/sha1.m4 -lib/hmac.h -lib/hmac-sha1.c -lib/memxor.h -lib/memxor.c -m4/memxor.m4 Depends-on: -stdint crypto/gc +crypto/hmac-sha1 [test "$ac_cv_libgcrypt" != yes] configure.ac: gl_GC_HMAC_SHA1 -if test "$ac_cv_libgcrypt" != yes; then - AC_LIBOBJ([sha1]) - AC_LIBOBJ([hmac-sha1]) - AC_LIBOBJ([memxor]) -fi gl_MODULE_INDICATOR([gc-hmac-sha1]) Makefile.am: diff --git a/modules/crypto/gc-md2 b/modules/crypto/gc-md2 index 124054924..5e5beaad1 100644 --- a/modules/crypto/gc-md2 +++ b/modules/crypto/gc-md2 @@ -5,8 +5,6 @@ Files: m4/gc-md2.m4 Depends-on: -stdint -minmax crypto/gc crypto/md2 diff --git a/modules/crypto/gc-md4 b/modules/crypto/gc-md4 index cdc600590..e46589b09 100644 --- a/modules/crypto/gc-md4 +++ b/modules/crypto/gc-md4 @@ -3,19 +3,13 @@ Generic crypto wrappers for MD4 functions. Files: m4/gc-md4.m4 -lib/md4.h -lib/md4.c -m4/md4.m4 Depends-on: -stdint crypto/gc +crypto/md4 [test "$ac_cv_libgcrypt" != yes] configure.ac: gl_GC_MD4 -if test "$ac_cv_libgcrypt" != yes; then - AC_LIBOBJ([md4]) -fi gl_MODULE_INDICATOR([gc-md4]) Makefile.am: diff --git a/modules/crypto/gc-md5 b/modules/crypto/gc-md5 index a1075b869..0d6b272d2 100644 --- a/modules/crypto/gc-md5 +++ b/modules/crypto/gc-md5 @@ -3,19 +3,13 @@ Generic crypto wrappers for MD5 functions. Files: m4/gc-md5.m4 -lib/md5.h -lib/md5.c -m4/md5.m4 Depends-on: -stdint crypto/gc +crypto/md5 [test "$ac_cv_libgcrypt" != yes] configure.ac: gl_GC_MD5 -if test "$ac_cv_libgcrypt" != yes; then - AC_LIBOBJ([md5]) -fi gl_MODULE_INDICATOR([gc-md5]) Makefile.am: diff --git a/modules/crypto/gc-rijndael b/modules/crypto/gc-rijndael index e01e12d33..249f47d0b 100644 --- a/modules/crypto/gc-rijndael +++ b/modules/crypto/gc-rijndael @@ -3,21 +3,13 @@ Generic crypto wrappers for rijndael block cipher. Files: m4/gc-rijndael.m4 -lib/rijndael-alg-fst.c -lib/rijndael-alg-fst.h -lib/rijndael-api-fst.c -lib/rijndael-api-fst.h Depends-on: -stdint crypto/gc +crypto/rijndael [test "$ac_cv_libgcrypt" != yes] configure.ac: gl_GC_RIJNDAEL -if test "$ac_cv_libgcrypt" != yes; then - AC_LIBOBJ([rijndael-alg-fst]) - AC_LIBOBJ([rijndael-api-fst]) -fi gl_MODULE_INDICATOR([gc-rijndael]) Makefile.am: diff --git a/modules/crypto/gc-sha1 b/modules/crypto/gc-sha1 index b9efddaad..f95900558 100644 --- a/modules/crypto/gc-sha1 +++ b/modules/crypto/gc-sha1 @@ -3,19 +3,13 @@ Generic crypto wrappers for SHA-1 functions. Files: m4/gc-sha1.m4 -lib/sha1.h -lib/sha1.c -m4/sha1.m4 Depends-on: -stdint crypto/gc +crypto/sha1 [test "$ac_cv_libgcrypt" != yes] configure.ac: gl_GC_SHA1 -if test "$ac_cv_libgcrypt" != yes; then - AC_LIBOBJ([sha1]) -fi gl_MODULE_INDICATOR([gc-sha1]) Makefile.am: diff --git a/modules/crypto/md4 b/modules/crypto/md4 index 0a4d06169..e0b2b0443 100644 --- a/modules/crypto/md4 +++ b/modules/crypto/md4 @@ -7,6 +7,7 @@ lib/md4.c m4/md4.m4 Depends-on: +stdalign stdint configure.ac: diff --git a/modules/crypto/md5 b/modules/crypto/md5 index 8cad97827..4ae0c57fa 100644 --- a/modules/crypto/md5 +++ b/modules/crypto/md5 @@ -7,6 +7,7 @@ lib/md5.c m4/md5.m4 Depends-on: +stdalign stdint configure.ac: diff --git a/modules/crypto/sha1 b/modules/crypto/sha1 index 2a347b0b3..8d00f312b 100644 --- a/modules/crypto/sha1 +++ b/modules/crypto/sha1 @@ -7,6 +7,7 @@ lib/sha1.c m4/sha1.m4 Depends-on: +stdalign stdint configure.ac: diff --git a/modules/crypto/sha256 b/modules/crypto/sha256 index a5732bd83..f3f1d6460 100644 --- a/modules/crypto/sha256 +++ b/modules/crypto/sha256 @@ -7,6 +7,7 @@ lib/sha256.c m4/sha256.m4 Depends-on: +stdalign stdint configure.ac: diff --git a/modules/crypto/sha512 b/modules/crypto/sha512 index 9d871d46d..a5065c456 100644 --- a/modules/crypto/sha512 +++ b/modules/crypto/sha512 @@ -7,6 +7,7 @@ lib/sha512.c m4/sha512.m4 Depends-on: +stdalign stdint u64 diff --git a/modules/di-set b/modules/di-set index 562db14a4..ef151c457 100644 --- a/modules/di-set +++ b/modules/di-set @@ -17,7 +17,7 @@ lib_SOURCES += di-set.c di-set.h Include: "di-set.h" -License +License: GPL Maintainer: diff --git a/modules/dirent b/modules/dirent index 2e4fbee17..6f615b496 100644 --- a/modules/dirent +++ b/modules/dirent @@ -24,23 +24,32 @@ dirent.h: dirent.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''GUARD_PREFIX''@|${gl_include_guard_prefix}|g' \ + -e 's|@''HAVE_DIRENT_H''@|$(HAVE_DIRENT_H)|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_DIRENT_H''@|$(NEXT_DIRENT_H)|g' \ + -e 's/@''GNULIB_OPENDIR''@/$(GNULIB_OPENDIR)/g' \ + -e 's/@''GNULIB_READDIR''@/$(GNULIB_READDIR)/g' \ + -e 's/@''GNULIB_REWINDDIR''@/$(GNULIB_REWINDDIR)/g' \ + -e 's/@''GNULIB_CLOSEDIR''@/$(GNULIB_CLOSEDIR)/g' \ -e 's/@''GNULIB_DIRFD''@/$(GNULIB_DIRFD)/g' \ -e 's/@''GNULIB_FDOPENDIR''@/$(GNULIB_FDOPENDIR)/g' \ -e 's/@''GNULIB_SCANDIR''@/$(GNULIB_SCANDIR)/g' \ -e 's/@''GNULIB_ALPHASORT''@/$(GNULIB_ALPHASORT)/g' \ + -e 's/@''HAVE_OPENDIR''@/$(HAVE_OPENDIR)/g' \ + -e 's/@''HAVE_READDIR''@/$(HAVE_READDIR)/g' \ + -e 's/@''HAVE_REWINDDIR''@/$(HAVE_REWINDDIR)/g' \ + -e 's/@''HAVE_CLOSEDIR''@/$(HAVE_CLOSEDIR)/g' \ -e 's|@''HAVE_DECL_DIRFD''@|$(HAVE_DECL_DIRFD)|g' \ -e 's|@''HAVE_DECL_FDOPENDIR''@|$(HAVE_DECL_FDOPENDIR)|g' \ -e 's|@''HAVE_FDOPENDIR''@|$(HAVE_FDOPENDIR)|g' \ -e 's|@''HAVE_SCANDIR''@|$(HAVE_SCANDIR)|g' \ -e 's|@''HAVE_ALPHASORT''@|$(HAVE_ALPHASORT)|g' \ + -e 's|@''REPLACE_OPENDIR''@|$(REPLACE_OPENDIR)|g' \ -e 's|@''REPLACE_CLOSEDIR''@|$(REPLACE_CLOSEDIR)|g' \ -e 's|@''REPLACE_DIRFD''@|$(REPLACE_DIRFD)|g' \ -e 's|@''REPLACE_FDOPENDIR''@|$(REPLACE_FDOPENDIR)|g' \ - -e 's|@''REPLACE_OPENDIR''@|$(REPLACE_OPENDIR)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ diff --git a/modules/dirent-safer b/modules/dirent-safer index 4c223808f..b38c58e64 100644 --- a/modules/dirent-safer +++ b/modules/dirent-safer @@ -9,7 +9,9 @@ m4/dirent-safer.m4 Depends-on: dirent +closedir dirfd +opendir unistd-safer configure.ac: diff --git a/modules/dirent-safer-tests b/modules/dirent-safer-tests index d516d5207..4ae8965af 100644 --- a/modules/dirent-safer-tests +++ b/modules/dirent-safer-tests @@ -4,6 +4,8 @@ tests/macros.h Depends-on: dup2 +opendir +closedir configure.ac: diff --git a/modules/dprintf-posix b/modules/dprintf-posix index 2423d6162..c3b257b11 100644 --- a/modules/dprintf-posix +++ b/modules/dprintf-posix @@ -11,6 +11,7 @@ that module occurs among the main modules in lib/. Files: m4/dprintf-posix.m4 m4/printf.m4 +m4/math_h.m4 Depends-on: dprintf diff --git a/modules/dprintf-posix-tests b/modules/dprintf-posix-tests index 219761f77..0c5a6e8cb 100644 --- a/modules/dprintf-posix-tests +++ b/modules/dprintf-posix-tests @@ -4,6 +4,7 @@ tests/test-dprintf-posix.c tests/test-printf-posix.output tests/test-dprintf-posix2.sh tests/test-dprintf-posix2.c +tests/infinity.h tests/signature.h tests/macros.h diff --git a/modules/dprintf-tests b/modules/dprintf-tests new file mode 100644 index 000000000..1a46c833c --- /dev/null +++ b/modules/dprintf-tests @@ -0,0 +1,12 @@ +Files: +tests/test-dprintf.c +tests/signature.h +tests/macros.h + +Depends-on: + +configure.ac: + +Makefile.am: +TESTS += test-dprintf +check_PROGRAMS += test-dprintf diff --git a/modules/dup b/modules/dup new file mode 100644 index 000000000..85f295dd9 --- /dev/null +++ b/modules/dup @@ -0,0 +1,29 @@ +Description: +dup() function: duplicate an open file descriptor. + +Files: +lib/dup.c +m4/dup.m4 + +Depends-on: +unistd +msvc-inval [test $REPLACE_DUP = 1] + +configure.ac: +gl_FUNC_DUP +if test $REPLACE_DUP = 1; then + AC_LIBOBJ([dup]) + gl_PREREQ_DUP +fi +gl_UNISTD_MODULE_INDICATOR([dup]) + +Makefile.am: + +Include: + + +License: +LGPLv2+ + +Maintainer: +Bruno Haible diff --git a/modules/dup-tests b/modules/dup-tests new file mode 100644 index 000000000..36d9f5b75 --- /dev/null +++ b/modules/dup-tests @@ -0,0 +1,12 @@ +Files: +tests/test-dup.c +tests/signature.h +tests/macros.h + +Depends-on: + +configure.ac: + +Makefile.am: +TESTS += test-dup +check_PROGRAMS += test-dup diff --git a/modules/dup2 b/modules/dup2 index f9a1ee3f3..2ad65d1dc 100644 --- a/modules/dup2 +++ b/modules/dup2 @@ -8,11 +8,14 @@ m4/dup2.m4 Depends-on: unistd dup2-obsolete +msvc-inval [test $HAVE_DUP2 = 0 || test $REPLACE_DUP2 = 1] +msvc-nothrow [test $HAVE_DUP2 = 0 || test $REPLACE_DUP2 = 1] configure.ac: gl_FUNC_DUP2 if test $HAVE_DUP2 = 0 || test $REPLACE_DUP2 = 1; then AC_LIBOBJ([dup2]) + gl_PREREQ_DUP2 fi gl_UNISTD_MODULE_INDICATOR([dup2]) diff --git a/modules/dup2-tests b/modules/dup2-tests index a973fd75e..7893b85aa 100644 --- a/modules/dup2-tests +++ b/modules/dup2-tests @@ -5,6 +5,9 @@ tests/macros.h Depends-on: binary-io +close +fcntl-h +msvc-nothrow open configure.ac: diff --git a/modules/dup3-tests b/modules/dup3-tests index 26dd5d89a..03f1cad5e 100644 --- a/modules/dup3-tests +++ b/modules/dup3-tests @@ -4,7 +4,9 @@ tests/signature.h tests/macros.h Depends-on: +msvc-nothrow open +close configure.ac: diff --git a/modules/error b/modules/error index ae12b45ad..f8676176b 100644 --- a/modules/error +++ b/modules/error @@ -14,6 +14,7 @@ m4/error.m4 Depends-on: strerror [test $ac_cv_lib_error_at_line = no] unistd [test $ac_cv_lib_error_at_line = no] +msvc-nothrow [test $ac_cv_lib_error_at_line = no] configure.ac: gl_ERROR diff --git a/modules/exclude-tests b/modules/exclude-tests index 3dd02251a..072a4e6cd 100644 --- a/modules/exclude-tests +++ b/modules/exclude-tests @@ -1,4 +1,5 @@ Files: +tests/init.sh tests/test-exclude.c tests/test-exclude1.sh tests/test-exclude2.sh diff --git a/modules/execute b/modules/execute index a65696bb5..f4584ab1a 100644 --- a/modules/execute +++ b/modules/execute @@ -14,6 +14,7 @@ error fatal-signal wait-process gettext-h +msvc-nothrow spawn posix_spawnp posix_spawn_file_actions_init diff --git a/modules/exp b/modules/exp index f90548a00..b8110dae2 100644 --- a/modules/exp +++ b/modules/exp @@ -2,12 +2,13 @@ Description: exp() function: exponential function. Files: +m4/exp.m4 m4/mathfunc.m4 Depends-on: configure.ac: -gl_COMMON_DOUBLE_MATHFUNC([exp]) +gl_FUNC_EXP Makefile.am: diff --git a/modules/expf b/modules/expf new file mode 100644 index 000000000..857fa25d4 --- /dev/null +++ b/modules/expf @@ -0,0 +1,31 @@ +Description: +expf() function: exponential function. + +Files: +lib/expf.c +m4/expf.m4 + +Depends-on: +math +exp [test $HAVE_EXPF = 0] + +configure.ac: +gl_FUNC_EXPF +if test $HAVE_EXPF = 0; then + AC_LIBOBJ([expf]) +fi +gl_MATH_MODULE_INDICATOR([expf]) + +Makefile.am: + +Include: + + +Link: +$(EXPF_LIBM) + +License: +LGPL + +Maintainer: +Bruno Haible diff --git a/modules/expf-tests b/modules/expf-tests new file mode 100644 index 000000000..ec6d58238 --- /dev/null +++ b/modules/expf-tests @@ -0,0 +1,13 @@ +Files: +tests/test-expf.c +tests/signature.h +tests/macros.h + +Depends-on: + +configure.ac: + +Makefile.am: +TESTS += test-expf +check_PROGRAMS += test-expf +test_expf_LDADD = $(LDADD) @EXPF_LIBM@ diff --git a/modules/expl b/modules/expl index ed377c305..7df4fb653 100644 --- a/modules/expl +++ b/modules/expl @@ -8,8 +8,9 @@ m4/expl.m4 Depends-on: math extensions -float [test $HAVE_EXPL = 0] -floorl [test $HAVE_EXPL = 0] +exp [test $HAVE_EXPL = 0 && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 1] +float [test $HAVE_EXPL = 0 && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 0] +floorl [test $HAVE_EXPL = 0 && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 0] configure.ac: gl_FUNC_EXPL diff --git a/modules/fabs b/modules/fabs index 8b70430e2..15a1355e1 100644 --- a/modules/fabs +++ b/modules/fabs @@ -2,12 +2,13 @@ Description: fabs() function: absolute value. Files: +m4/fabs.m4 m4/mathfunc.m4 Depends-on: configure.ac: -gl_MATHFUNC([fabs], [double], [(double)]) +gl_FUNC_FABS Makefile.am: diff --git a/modules/fabsf b/modules/fabsf new file mode 100644 index 000000000..2b203d154 --- /dev/null +++ b/modules/fabsf @@ -0,0 +1,32 @@ +Description: +fabsf() function: absolute value. + +Files: +lib/fabsf.c +m4/fabsf.m4 +m4/mathfunc.m4 + +Depends-on: +math +fabs [test $HAVE_FABSF = 0] + +configure.ac: +gl_FUNC_FABSF +if test $HAVE_FABSF = 0; then + AC_LIBOBJ([fabsf]) +fi +gl_MATH_MODULE_INDICATOR([fabsf]) + +Makefile.am: + +Include: + + +Link: +$(FABSF_LIBM) + +License: +LGPL + +Maintainer: +Bruno Haible diff --git a/modules/fabsf-tests b/modules/fabsf-tests new file mode 100644 index 000000000..2b8a10de1 --- /dev/null +++ b/modules/fabsf-tests @@ -0,0 +1,13 @@ +Files: +tests/test-fabsf.c +tests/signature.h +tests/macros.h + +Depends-on: + +configure.ac: + +Makefile.am: +TESTS += test-fabsf +check_PROGRAMS += test-fabsf +test_fabsf_LDADD = $(LDADD) @FABSF_LIBM@ diff --git a/modules/faccessat b/modules/faccessat index ce8fa0d89..768ec133f 100644 --- a/modules/faccessat +++ b/modules/faccessat @@ -3,17 +3,29 @@ faccessat() function: check user's permissions for a file. Files: lib/faccessat.c +lib/at-func.c +lib/openat-priv.h m4/faccessat.m4 Depends-on: unistd extensions -fcntl-h +at-internal [test $HAVE_FACCESSAT = 0] +dosname [test $HAVE_FACCESSAT = 0] +errno [test $HAVE_FACCESSAT = 0] +fchdir [test $HAVE_FACCESSAT = 0] +fcntl-h [test $HAVE_FACCESSAT = 0] +openat-die [test $HAVE_FACCESSAT = 0] +openat-h [test $HAVE_FACCESSAT = 0] +save-cwd [test $HAVE_FACCESSAT = 0] euidaccess [test $HAVE_FACCESSAT = 0] -openat [test $HAVE_FACCESSAT = 0] configure.ac: gl_FUNC_FACCESSAT +if test $HAVE_FACCESSAT = 0; then + AC_LIBOBJ([faccessat]) + gl_PREREQ_FACCESSAT +fi gl_MODULE_INDICATOR([faccessat]) gl_UNISTD_MODULE_INDICATOR([faccessat]) diff --git a/modules/faccessat-tests b/modules/faccessat-tests new file mode 100644 index 000000000..144e0968c --- /dev/null +++ b/modules/faccessat-tests @@ -0,0 +1,14 @@ +Files: +tests/test-faccessat.c +tests/signature.h +tests/macros.h + +Depends-on: +fcntl-h + +configure.ac: + +Makefile.am: +TESTS += test-faccessat +check_PROGRAMS += test-faccessat +test_faccessat_LDADD = $(LDADD) $(LIB_EACCESS) @LIBINTL@ diff --git a/modules/fchdir b/modules/fchdir index 7b7cb043b..39a62e520 100644 --- a/modules/fchdir +++ b/modules/fchdir @@ -7,6 +7,7 @@ m4/fchdir.m4 Depends-on: unistd +chdir [test $HAVE_FCHDIR = 0] close [test $HAVE_FCHDIR = 0] dirent [test $HAVE_FCHDIR = 0] dirfd [test $HAVE_FCHDIR = 0] @@ -15,6 +16,7 @@ dup2 [test $HAVE_FCHDIR = 0] fcntl [test $HAVE_FCHDIR = 0] fcntl-h [test $HAVE_FCHDIR = 0] filenamecat-lgpl [test $HAVE_FCHDIR = 0] +fstat [test $HAVE_FCHDIR = 0] getcwd-lgpl [test $HAVE_FCHDIR = 0] malloc-posix [test $HAVE_FCHDIR = 0] open [test $HAVE_FCHDIR = 0] diff --git a/modules/fchdir-tests b/modules/fchdir-tests index 8f82dcee4..89ddf713a 100644 --- a/modules/fchdir-tests +++ b/modules/fchdir-tests @@ -12,3 +12,4 @@ configure.ac: Makefile.am: TESTS += test-fchdir check_PROGRAMS += test-fchdir +test_fchdir_LDADD = $(LDADD) $(LIBINTL) diff --git a/modules/fchmod-tests b/modules/fchmod-tests new file mode 100644 index 000000000..e86678cf6 --- /dev/null +++ b/modules/fchmod-tests @@ -0,0 +1,12 @@ +Files: +tests/test-fchmod.c +tests/signature.h +tests/macros.h + +Depends-on: + +configure.ac: + +Makefile.am: +TESTS += test-fchmod +check_PROGRAMS += test-fchmod diff --git a/modules/fchmodat b/modules/fchmodat new file mode 100644 index 000000000..f81dd8162 --- /dev/null +++ b/modules/fchmodat @@ -0,0 +1,40 @@ +Description: +fchmodat() function: Change access permissions of a file at a directory. + +Files: +lib/fchmodat.c +lib/at-func.c +lib/openat-priv.h +m4/fchmodat.m4 + +Depends-on: +sys_stat +extensions +at-internal [test $HAVE_FCHMODAT = 0] +dosname [test $HAVE_FCHMODAT = 0] +errno [test $HAVE_FCHMODAT = 0] +fchdir [test $HAVE_FCHMODAT = 0] +fcntl-h [test $HAVE_FCHMODAT = 0] +openat-die [test $HAVE_FCHMODAT = 0] +openat-h [test $HAVE_FCHMODAT = 0] +save-cwd [test $HAVE_FCHMODAT = 0] + +configure.ac: +gl_FUNC_FCHMODAT +if test $HAVE_FCHMODAT = 0; then + AC_LIBOBJ([fchmodat]) +fi +AC_REQUIRE([AC_C_INLINE]) dnl because 'inline' is used in lib/openat.h +gl_MODULE_INDICATOR([fchmodat]) dnl for lib/openat.h +gl_SYS_STAT_MODULE_INDICATOR([fchmodat]) + +Makefile.am: + +Include: + + +License: +GPL + +Maintainer: +Jim Meyering, Eric Blake diff --git a/modules/fchmodat-tests b/modules/fchmodat-tests new file mode 100644 index 000000000..a240129fc --- /dev/null +++ b/modules/fchmodat-tests @@ -0,0 +1,13 @@ +Files: +tests/test-fchmodat.c +tests/signature.h +tests/macros.h + +Depends-on: + +configure.ac: + +Makefile.am: +TESTS += test-fchmodat +check_PROGRAMS += test-fchmodat +test_fchmodat_LDADD = $(LDADD) @LIBINTL@ diff --git a/modules/fchown-tests b/modules/fchown-tests new file mode 100644 index 000000000..a57db9485 --- /dev/null +++ b/modules/fchown-tests @@ -0,0 +1,12 @@ +Files: +tests/test-fchown.c +tests/signature.h +tests/macros.h + +Depends-on: + +configure.ac: + +Makefile.am: +TESTS += test-fchown +check_PROGRAMS += test-fchown diff --git a/modules/fchownat b/modules/fchownat new file mode 100644 index 000000000..886b6b36e --- /dev/null +++ b/modules/fchownat @@ -0,0 +1,42 @@ +Description: +fchownat() function: Change the owner of a file at a directory. + +Files: +lib/fchownat.c +lib/at-func.c +lib/openat-priv.h +m4/fchownat.m4 + +Depends-on: +unistd +extensions +at-internal [test $HAVE_FCHOWNAT = 0 || test $REPLACE_FCHOWNAT = 1] +dosname [test $HAVE_FCHOWNAT = 0 || test $REPLACE_FCHOWNAT = 1] +errno [test $HAVE_FCHOWNAT = 0 || test $REPLACE_FCHOWNAT = 1] +fchdir [test $HAVE_FCHOWNAT = 0 || test $REPLACE_FCHOWNAT = 1] +fcntl-h [test $HAVE_FCHOWNAT = 0 || test $REPLACE_FCHOWNAT = 1] +lchown [test $HAVE_FCHOWNAT = 0 || test $REPLACE_FCHOWNAT = 1] +openat-die [test $HAVE_FCHOWNAT = 0 || test $REPLACE_FCHOWNAT = 1] +openat-h [test $HAVE_FCHOWNAT = 0 || test $REPLACE_FCHOWNAT = 1] +save-cwd [test $HAVE_FCHOWNAT = 0 || test $REPLACE_FCHOWNAT = 1] +fstatat [test $REPLACE_FCHOWNAT = 1] + +configure.ac: +gl_FUNC_FCHOWNAT +if test $HAVE_FCHOWNAT = 0 || test $REPLACE_FCHOWNAT = 1; then + AC_LIBOBJ([fchownat]) +fi +AC_REQUIRE([AC_C_INLINE]) dnl because 'inline' is used in lib/openat.h +gl_MODULE_INDICATOR([fchownat]) dnl for lib/openat.h +gl_UNISTD_MODULE_INDICATOR([fchownat]) + +Makefile.am: + +Include: + + +License: +GPL + +Maintainer: +Jim Meyering, Eric Blake diff --git a/modules/fchownat-tests b/modules/fchownat-tests new file mode 100644 index 000000000..1b79d47f5 --- /dev/null +++ b/modules/fchownat-tests @@ -0,0 +1,24 @@ +Files: +tests/nap.h +tests/test-chown.h +tests/test-lchown.h +tests/test-fchownat.c +tests/signature.h +tests/macros.h + +Depends-on: +ignore-value +mgetgroups +openat-h +progname +usleep +stat-time +symlink + +configure.ac: +AC_CHECK_FUNCS_ONCE([getegid]) + +Makefile.am: +TESTS += test-fchownat +check_PROGRAMS += test-fchownat +test_fchownat_LDADD = $(LDADD) @LIBINTL@ diff --git a/modules/fclose b/modules/fclose index 85f63fe44..3ceba909d 100644 --- a/modules/fclose +++ b/modules/fclose @@ -11,6 +11,7 @@ close [test $REPLACE_FCLOSE = 1] fflush [test $REPLACE_FCLOSE = 1] freading [test $REPLACE_FCLOSE = 1] lseek [test $REPLACE_FCLOSE = 1] +msvc-inval [test $REPLACE_FCLOSE = 1] configure.ac: gl_FUNC_FCLOSE diff --git a/modules/fclose-tests b/modules/fclose-tests index 6334f6594..0f36e0d50 100644 --- a/modules/fclose-tests +++ b/modules/fclose-tests @@ -2,6 +2,7 @@ Files: tests/test-fclose.c Depends-on: +fdopen configure.ac: diff --git a/modules/fcntl b/modules/fcntl index 4c30e9e4a..ab7c8ad6b 100644 --- a/modules/fcntl +++ b/modules/fcntl @@ -10,6 +10,7 @@ fcntl-h extensions dup2 [test $HAVE_FCNTL = 0 || test $REPLACE_FCNTL = 1] getdtablesize [test $HAVE_FCNTL = 0 || test $REPLACE_FCNTL = 1] +msvc-nothrow [test $HAVE_FCNTL = 0 || test $REPLACE_FCNTL = 1] configure.ac: gl_FUNC_FCNTL diff --git a/modules/fcntl-tests b/modules/fcntl-tests index 44b040c25..5e34440e7 100644 --- a/modules/fcntl-tests +++ b/modules/fcntl-tests @@ -5,7 +5,9 @@ tests/macros.h Depends-on: binary-io +close getdtablesize +msvc-nothrow stdbool configure.ac: diff --git a/modules/fdatasync b/modules/fdatasync new file mode 100644 index 000000000..62f710d9e --- /dev/null +++ b/modules/fdatasync @@ -0,0 +1,31 @@ +Description: +fdatasync(2) function: synchronize writes to a file. + +Files: +lib/fdatasync.c +m4/fdatasync.m4 + +Depends-on: +fsync [test $HAVE_FDATASYNC = 0] +unistd + +configure.ac: +gl_FUNC_FDATASYNC +if test $HAVE_FDATASYNC = 0; then + AC_LIBOBJ([fdatasync]) +fi +gl_UNISTD_MODULE_INDICATOR([fdatasync]) + +Makefile.am: + +Include: + + +Link: +$(LIB_FDATASYNC) + +License: +LGPLv2+ + +Maintainer: +Eric Blake diff --git a/modules/fdatasync-tests b/modules/fdatasync-tests new file mode 100644 index 000000000..cacfb8a11 --- /dev/null +++ b/modules/fdatasync-tests @@ -0,0 +1,14 @@ +Files: +tests/test-fdatasync.c +tests/signature.h +tests/macros.h + +Depends-on: +errno + +configure.ac: + +Makefile.am: +TESTS += test-fdatasync +check_PROGRAMS += test-fdatasync +test_fdatasync_LDADD = $(LDADD) $(LIB_FDATASYNC) diff --git a/modules/fdopen b/modules/fdopen new file mode 100644 index 000000000..45f47fdbe --- /dev/null +++ b/modules/fdopen @@ -0,0 +1,29 @@ +Description: +fdopen() function: open a stream with a given file descriptor. + +Files: +lib/fdopen.c +m4/fdopen.m4 + +Depends-on: +stdio +msvc-inval [test $REPLACE_FDOPEN = 1] + +configure.ac: +gl_FUNC_FDOPEN +if test $REPLACE_FDOPEN = 1; then + AC_LIBOBJ([fdopen]) + gl_PREREQ_FDOPEN +fi +gl_STDIO_MODULE_INDICATOR([fdopen]) + +Makefile.am: + +Include: + + +License: +LGPLv2+ + +Maintainer: +Bruno Haible diff --git a/modules/fdopen-tests b/modules/fdopen-tests new file mode 100644 index 000000000..043c5daa7 --- /dev/null +++ b/modules/fdopen-tests @@ -0,0 +1,12 @@ +Files: +tests/test-fdopen.c +tests/signature.h +tests/macros.h + +Depends-on: + +configure.ac: + +Makefile.am: +TESTS += test-fdopen +check_PROGRAMS += test-fdopen diff --git a/modules/fdopendir b/modules/fdopendir index a1c25193d..ee9a87539 100644 --- a/modules/fdopendir +++ b/modules/fdopendir @@ -3,16 +3,18 @@ Open a directory stream from a file descriptor. Files: lib/fdopendir.c -lib/openat-priv.h -lib/openat-proc.c m4/fdopendir.m4 Depends-on: dirent extensions +at-internal [test $HAVE_FDOPENDIR = 0] +dup [test $HAVE_FDOPENDIR = 0] errno [test $HAVE_FDOPENDIR = 0] fchdir [test $HAVE_FDOPENDIR = 0] +fstat [test $HAVE_FDOPENDIR = 0] openat-die [test $HAVE_FDOPENDIR = 0] +opendir [test $HAVE_FDOPENDIR = 0] save-cwd [test $HAVE_FDOPENDIR = 0] configure.ac: @@ -20,9 +22,6 @@ gl_FUNC_FDOPENDIR if test $HAVE_FDOPENDIR = 0 || test $REPLACE_FDOPENDIR = 1; then AC_LIBOBJ([fdopendir]) fi -if test $HAVE_FDOPENDIR = 0; then - AC_LIBOBJ([openat-proc]) -fi gl_DIRENT_MODULE_INDICATOR([fdopendir]) gl_MODULE_INDICATOR([fdopendir]) diff --git a/modules/fdopendir-tests b/modules/fdopendir-tests index bee2df7df..9dd53cc49 100644 --- a/modules/fdopendir-tests +++ b/modules/fdopendir-tests @@ -5,6 +5,8 @@ tests/macros.h Depends-on: open +opendir +closedir progname configure.ac: diff --git a/modules/fdutimensat-tests b/modules/fdutimensat-tests index 446762bc1..c4dc5af60 100644 --- a/modules/fdutimensat-tests +++ b/modules/fdutimensat-tests @@ -8,12 +8,16 @@ tests/test-fdutimensat.c tests/macros.h Depends-on: +fcntl-h ignore-value +openat timespec +dup usleep utimecmp configure.ac: +AC_REQUIRE([AC_C_INLINE]) Makefile.am: TESTS += test-fdutimensat diff --git a/modules/fflush-tests b/modules/fflush-tests index a447521f1..33c47c42e 100644 --- a/modules/fflush-tests +++ b/modules/fflush-tests @@ -7,6 +7,7 @@ tests/macros.h Depends-on: binary-io +fdopen fseeko configure.ac: diff --git a/modules/ffsll b/modules/ffsll index 7caf10048..d1f78fb8b 100644 --- a/modules/ffsll +++ b/modules/ffsll @@ -16,7 +16,7 @@ gl_FUNC_FFSLL if test $HAVE_FFSLL = 0; then AC_LIBOBJ([ffsll]) fi -gl_STRING_MODULE_INDICATOR([ffsl]) +gl_STRING_MODULE_INDICATOR([ffsll]) Makefile.am: diff --git a/modules/fgetc-tests b/modules/fgetc-tests new file mode 100644 index 000000000..9e2934d97 --- /dev/null +++ b/modules/fgetc-tests @@ -0,0 +1,15 @@ +Files: +tests/test-fgetc.c +tests/signature.h +tests/macros.h + +Depends-on: +unistd +fdopen +msvc-inval + +configure.ac: + +Makefile.am: +TESTS += test-fgetc +check_PROGRAMS += test-fgetc diff --git a/modules/float b/modules/float index 2a7975003..a24e80d05 100644 --- a/modules/float +++ b/modules/float @@ -4,6 +4,7 @@ A correct . Files: lib/float.in.h lib/float.c +lib/itold.c m4/float_h.m4 Depends-on: @@ -14,6 +15,9 @@ gl_FLOAT_H if test $REPLACE_FLOAT_LDBL = 1; then AC_LIBOBJ([float]) fi +if test $REPLACE_ITOLD = 1; then + AC_LIBOBJ([itold]) +fi Makefile.am: BUILT_SOURCES += $(FLOAT_H) @@ -29,6 +33,7 @@ float.h: float.in.h $(top_builddir)/config.status -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_FLOAT_H''@|$(NEXT_FLOAT_H)|g' \ + -e 's|@''REPLACE_ITOLD''@|$(REPLACE_ITOLD)|g' \ < $(srcdir)/float.in.h; \ } > $@-t && \ mv $@-t $@ diff --git a/modules/flock b/modules/flock index 56ef9b264..73d27c622 100644 --- a/modules/flock +++ b/modules/flock @@ -7,6 +7,7 @@ m4/flock.m4 Depends-on: sys_file +msvc-nothrow [test $HAVE_FLOCK = 0] configure.ac: gl_FUNC_FLOCK diff --git a/modules/floor-tests b/modules/floor-tests index 9d5fbe8bb..c57c3c9ec 100644 --- a/modules/floor-tests +++ b/modules/floor-tests @@ -2,6 +2,7 @@ Files: tests/test-floor1.c tests/test-floor2.c tests/minus-zero.h +tests/infinity.h tests/nan.h tests/signature.h tests/macros.h diff --git a/modules/floorf-tests b/modules/floorf-tests index 3e9c045ef..8e7004368 100644 --- a/modules/floorf-tests +++ b/modules/floorf-tests @@ -2,6 +2,7 @@ Files: tests/test-floorf1.c tests/test-floorf2.c tests/minus-zero.h +tests/infinity.h tests/nan.h tests/signature.h tests/macros.h diff --git a/modules/floorl b/modules/floorl index 9d1bac284..fe6fdb60a 100644 --- a/modules/floorl +++ b/modules/floorl @@ -9,7 +9,8 @@ m4/floorl.m4 Depends-on: math extensions -float [test $HAVE_DECL_FLOORL = 0 || test $REPLACE_FLOORL = 1] +floor [{ test $HAVE_DECL_FLOORL = 0 || test $REPLACE_FLOORL = 1; } && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 1] +float [{ test $HAVE_DECL_FLOORL = 0 || test $REPLACE_FLOORL = 1; } && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 0] configure.ac: gl_FUNC_FLOORL diff --git a/modules/floorl-tests b/modules/floorl-tests index 5273fb5a8..68ef0f56a 100644 --- a/modules/floorl-tests +++ b/modules/floorl-tests @@ -1,6 +1,7 @@ Files: tests/test-floorl.c tests/minus-zero.h +tests/infinity.h tests/nan.h tests/signature.h tests/macros.h diff --git a/modules/fma b/modules/fma new file mode 100644 index 000000000..8c8057a62 --- /dev/null +++ b/modules/fma @@ -0,0 +1,41 @@ +Description: +fma() function: fused multiply-add. + +Files: +lib/fma.c +lib/float+.h +m4/fma.m4 +m4/fegetround.m4 +m4/mathfunc.m4 + +Depends-on: +math +float [test $HAVE_FMA = 0 || test $REPLACE_FMA = 1] +stdbool [test $HAVE_FMA = 0 || test $REPLACE_FMA = 1] +verify [test $HAVE_FMA = 0 || test $REPLACE_FMA = 1] +isfinite [test $HAVE_FMA = 0 || test $REPLACE_FMA = 1] +integer_length [test $HAVE_FMA = 0 || test $REPLACE_FMA = 1] +frexp [test $HAVE_FMA = 0 || test $REPLACE_FMA = 1] +ldexp [test $HAVE_FMA = 0 || test $REPLACE_FMA = 1] + +configure.ac: +gl_FUNC_FMA +if test $HAVE_FMA = 0 || test $REPLACE_FMA = 1; then + AC_LIBOBJ([fma]) + gl_PREREQ_FMA +fi +gl_MATH_MODULE_INDICATOR([fma]) + +Makefile.am: + +Include: + + +Link: +$(FMA_LIBM) + +License: +LGPL + +Maintainer: +Bruno Haible diff --git a/modules/fma-tests b/modules/fma-tests new file mode 100644 index 000000000..b1fbc7e34 --- /dev/null +++ b/modules/fma-tests @@ -0,0 +1,23 @@ +Files: +tests/test-fma1.c +tests/test-fma1.h +tests/test-fma2.c +tests/test-fma2.h +tests/infinity.h +tests/nan.h +tests/signature.h +tests/macros.h +lib/float+.h + +Depends-on: +float +isnand-nolibm +ldexp + +configure.ac: + +Makefile.am: +TESTS += test-fma1 test-fma2 +check_PROGRAMS += test-fma1 test-fma2 +test_fma1_LDADD = $(LDADD) @FMA_LIBM@ +test_fma2_LDADD = $(LDADD) @FMA_LIBM@ @LDEXP_LIBM@ diff --git a/modules/fmaf b/modules/fmaf new file mode 100644 index 000000000..fe80913e4 --- /dev/null +++ b/modules/fmaf @@ -0,0 +1,42 @@ +Description: +fmaf() function: fused multiply-add. + +Files: +lib/fmaf.c +lib/fma.c +lib/float+.h +m4/fmaf.m4 +m4/fegetround.m4 +m4/mathfunc.m4 + +Depends-on: +math +float [test $HAVE_FMAF = 0 || test $REPLACE_FMAF = 1] +stdbool [test $HAVE_FMAF = 0 || test $REPLACE_FMAF = 1] +verify [test $HAVE_FMAF = 0 || test $REPLACE_FMAF = 1] +isfinite [test $HAVE_FMAF = 0 || test $REPLACE_FMAF = 1] +integer_length [test $HAVE_FMAF = 0 || test $REPLACE_FMAF = 1] +frexpf [test $HAVE_FMAF = 0 || test $REPLACE_FMAF = 1] +ldexpf [test $HAVE_FMAF = 0 || test $REPLACE_FMAF = 1] + +configure.ac: +gl_FUNC_FMAF +if test $HAVE_FMAF = 0 || test $REPLACE_FMAF = 1; then + AC_LIBOBJ([fmaf]) + gl_PREREQ_FMAF +fi +gl_MATH_MODULE_INDICATOR([fmaf]) + +Makefile.am: + +Include: + + +Link: +$(FMAF_LIBM) + +License: +LGPL + +Maintainer: +Bruno Haible diff --git a/modules/fmaf-tests b/modules/fmaf-tests new file mode 100644 index 000000000..aa7fd8dad --- /dev/null +++ b/modules/fmaf-tests @@ -0,0 +1,23 @@ +Files: +tests/test-fmaf1.c +tests/test-fma1.h +tests/test-fmaf2.c +tests/test-fma2.h +tests/infinity.h +tests/nan.h +tests/signature.h +tests/macros.h +lib/float+.h + +Depends-on: +float +isnanf-nolibm +ldexpf + +configure.ac: + +Makefile.am: +TESTS += test-fmaf1 test-fmaf2 +check_PROGRAMS += test-fmaf1 test-fmaf2 +test_fmaf1_LDADD = $(LDADD) @FMAF_LIBM@ +test_fmaf2_LDADD = $(LDADD) @FMAF_LIBM@ @LDEXPF_LIBM@ diff --git a/modules/fmal b/modules/fmal new file mode 100644 index 000000000..962632baa --- /dev/null +++ b/modules/fmal @@ -0,0 +1,43 @@ +Description: +fmal() function: fused multiply-add. + +Files: +lib/fmal.c +lib/fma.c +lib/float+.h +m4/fmal.m4 +m4/fegetround.m4 +m4/mathfunc.m4 + +Depends-on: +math +fma [{ test $HAVE_FMAL = 0 || test $REPLACE_FMAL = 1; } && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 1] +float [{ test $HAVE_FMAL = 0 || test $REPLACE_FMAL = 1; } && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 0] +stdbool [{ test $HAVE_FMAL = 0 || test $REPLACE_FMAL = 1; } && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 0] +verify [{ test $HAVE_FMAL = 0 || test $REPLACE_FMAL = 1; } && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 0] +isfinite [{ test $HAVE_FMAL = 0 || test $REPLACE_FMAL = 1; } && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 0] +integer_length [{ test $HAVE_FMAL = 0 || test $REPLACE_FMAL = 1; } && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 0] +frexpl [{ test $HAVE_FMAL = 0 || test $REPLACE_FMAL = 1; } && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 0] +ldexpl [{ test $HAVE_FMAL = 0 || test $REPLACE_FMAL = 1; } && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 0] + +configure.ac: +gl_FUNC_FMAL +if test $HAVE_FMAL = 0 || test $REPLACE_FMAL = 1; then + AC_LIBOBJ([fmal]) + gl_PREREQ_FMAL +fi +gl_MATH_MODULE_INDICATOR([fmal]) + +Makefile.am: + +Include: + + +Link: +$(FMAL_LIBM) + +License: +LGPL + +Maintainer: +Bruno Haible diff --git a/modules/fmal-tests b/modules/fmal-tests new file mode 100644 index 000000000..5f04dc437 --- /dev/null +++ b/modules/fmal-tests @@ -0,0 +1,24 @@ +Files: +tests/test-fmal1.c +tests/test-fma1.h +tests/test-fmal2.c +tests/test-fma2.h +tests/infinity.h +tests/nan.h +tests/signature.h +tests/macros.h +lib/float+.h + +Depends-on: +float +fpucw +isnanl-nolibm +ldexpl + +configure.ac: + +Makefile.am: +TESTS += test-fmal1 test-fmal2 +check_PROGRAMS += test-fmal1 test-fmal2 +test_fmal1_LDADD = $(LDADD) @FMAL_LIBM@ +test_fmal2_LDADD = $(LDADD) @FMAL_LIBM@ @LDEXPL_LIBM@ diff --git a/modules/fmod b/modules/fmod index ae82f4b11..a8659c8b8 100644 --- a/modules/fmod +++ b/modules/fmod @@ -2,12 +2,13 @@ Description: fmod() function: floating-point remainder function. Files: +m4/fmod.m4 m4/mathfunc.m4 Depends-on: configure.ac: -gl_COMMON_DOUBLE_MATHFUNC([fmod]) +gl_FUNC_FMOD Makefile.am: diff --git a/modules/fmodf b/modules/fmodf new file mode 100644 index 000000000..705ce3b93 --- /dev/null +++ b/modules/fmodf @@ -0,0 +1,31 @@ +Description: +fmodf() function: floating-point remainder function. + +Files: +lib/fmodf.c +m4/fmodf.m4 + +Depends-on: +math +fmod [test $HAVE_FMODF = 0] + +configure.ac: +gl_FUNC_FMODF +if test $HAVE_FMODF = 0; then + AC_LIBOBJ([fmodf]) +fi +gl_MATH_MODULE_INDICATOR([fmodf]) + +Makefile.am: + +Include: + + +Link: +$(FMODF_LIBM) + +License: +LGPL + +Maintainer: +Bruno Haible diff --git a/modules/fmodf-tests b/modules/fmodf-tests new file mode 100644 index 000000000..5f9ca3862 --- /dev/null +++ b/modules/fmodf-tests @@ -0,0 +1,13 @@ +Files: +tests/test-fmodf.c +tests/signature.h +tests/macros.h + +Depends-on: + +configure.ac: + +Makefile.am: +TESTS += test-fmodf +check_PROGRAMS += test-fmodf +test_fmodf_LDADD = $(LDADD) @FMODF_LIBM@ diff --git a/modules/fopen b/modules/fopen index 64a7559e6..b975faacf 100644 --- a/modules/fopen +++ b/modules/fopen @@ -9,6 +9,7 @@ Depends-on: stdio largefile unistd [test $REPLACE_FOPEN = 1] +fstat [test $REPLACE_FOPEN = 1] configure.ac: gl_FUNC_FOPEN diff --git a/modules/fprintf-posix b/modules/fprintf-posix index 47e76c5c5..e7bb211e2 100644 --- a/modules/fprintf-posix +++ b/modules/fprintf-posix @@ -11,6 +11,7 @@ Files: lib/fprintf.c m4/fprintf-posix.m4 m4/printf.m4 +m4/math_h.m4 Depends-on: stdio diff --git a/modules/fprintf-posix-tests b/modules/fprintf-posix-tests index d2058aeb2..258e3bfb2 100644 --- a/modules/fprintf-posix-tests +++ b/modules/fprintf-posix-tests @@ -7,6 +7,7 @@ tests/test-fprintf-posix2.sh tests/test-fprintf-posix2.c tests/test-fprintf-posix3.sh tests/test-fprintf-posix3.c +tests/infinity.h tests/signature.h tests/macros.h diff --git a/modules/fputc-tests b/modules/fputc-tests new file mode 100644 index 000000000..6d99adfcf --- /dev/null +++ b/modules/fputc-tests @@ -0,0 +1,15 @@ +Files: +tests/test-fputc.c +tests/signature.h +tests/macros.h + +Depends-on: +unistd +fdopen +msvc-inval + +configure.ac: + +Makefile.am: +TESTS += test-fputc +check_PROGRAMS += test-fputc diff --git a/modules/fread-tests b/modules/fread-tests new file mode 100644 index 000000000..0423ffc29 --- /dev/null +++ b/modules/fread-tests @@ -0,0 +1,15 @@ +Files: +tests/test-fread.c +tests/signature.h +tests/macros.h + +Depends-on: +unistd +fdopen +msvc-inval + +configure.ac: + +Makefile.am: +TESTS += test-fread +check_PROGRAMS += test-fread diff --git a/modules/freopen-tests b/modules/freopen-tests index 95b59152e..55e9d71c7 100644 --- a/modules/freopen-tests +++ b/modules/freopen-tests @@ -4,6 +4,7 @@ tests/signature.h tests/macros.h Depends-on: +fdopen configure.ac: diff --git a/modules/frexp-nolibm-tests b/modules/frexp-nolibm-tests index 82ee57c87..963a52ec4 100644 --- a/modules/frexp-nolibm-tests +++ b/modules/frexp-nolibm-tests @@ -1,6 +1,7 @@ Files: tests/test-frexp.c tests/minus-zero.h +tests/infinity.h tests/nan.h tests/signature.h tests/macros.h diff --git a/modules/frexp-tests b/modules/frexp-tests index 3f669f935..55ddaa4db 100644 --- a/modules/frexp-tests +++ b/modules/frexp-tests @@ -1,6 +1,7 @@ Files: tests/test-frexp.c tests/minus-zero.h +tests/infinity.h tests/nan.h tests/signature.h tests/macros.h diff --git a/modules/frexpf b/modules/frexpf new file mode 100644 index 000000000..efb2db72e --- /dev/null +++ b/modules/frexpf @@ -0,0 +1,32 @@ +Description: +frexpf() function: split a float into its constituents. + +Files: +lib/frexpf.c +m4/frexpf.m4 +m4/mathfunc.m4 + +Depends-on: +math +frexp [test $HAVE_FREXPF = 0 || test $REPLACE_FREXPF = 1] + +configure.ac: +gl_FUNC_FREXPF +if test $HAVE_FREXPF = 0 || test $REPLACE_FREXPF = 1; then + AC_LIBOBJ([frexpf]) +fi +gl_MATH_MODULE_INDICATOR([frexpf]) + +Makefile.am: + +Include: + + +Link: +$(FREXPF_LIBM) + +License: +LGPL + +Maintainer: +Bruno Haible diff --git a/modules/frexpf-tests b/modules/frexpf-tests new file mode 100644 index 000000000..34252a80f --- /dev/null +++ b/modules/frexpf-tests @@ -0,0 +1,18 @@ +Files: +tests/test-frexpf.c +tests/minus-zero.h +tests/infinity.h +tests/nan.h +tests/signature.h +tests/macros.h + +Depends-on: +isnanf-nolibm +signbit + +configure.ac: + +Makefile.am: +TESTS += test-frexpf +check_PROGRAMS += test-frexpf +test_frexpf_LDADD = $(LDADD) @FREXPF_LIBM@ diff --git a/modules/frexpl b/modules/frexpl index 9902aff0e..a06edc566 100644 --- a/modules/frexpl +++ b/modules/frexpl @@ -8,8 +8,9 @@ m4/frexpl.m4 Depends-on: math -isnanl-nolibm [test $HAVE_DECL_FREXPL = 0 || test $gl_func_frexpl = no] -fpucw [test $HAVE_DECL_FREXPL = 0 || test $gl_func_frexpl = no] +frexp [{ test $HAVE_DECL_FREXPL = 0 || test $gl_func_frexpl = no; } && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 1] +isnanl-nolibm [{ test $HAVE_DECL_FREXPL = 0 || test $gl_func_frexpl = no; } && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 0] +fpucw [{ test $HAVE_DECL_FREXPL = 0 || test $gl_func_frexpl = no; } && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 0] configure.ac: gl_FUNC_FREXPL diff --git a/modules/frexpl-nolibm b/modules/frexpl-nolibm index ec1acd2f0..a9614bb47 100644 --- a/modules/frexpl-nolibm +++ b/modules/frexpl-nolibm @@ -9,8 +9,9 @@ m4/frexpl.m4 Depends-on: math -isnanl-nolibm [test $HAVE_DECL_FREXPL = 0 || test $gl_func_frexpl_no_libm = no] -fpucw [test $HAVE_DECL_FREXPL = 0 || test $gl_func_frexpl_no_libm = no] +frexp-nolibm [{ test $HAVE_DECL_FREXPL = 0 || test $gl_func_frexpl_no_libm = no; } && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 1] +isnanl-nolibm [{ test $HAVE_DECL_FREXPL = 0 || test $gl_func_frexpl_no_libm = no; } && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 0] +fpucw [{ test $HAVE_DECL_FREXPL = 0 || test $gl_func_frexpl_no_libm = no; } && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 0] configure.ac: gl_FUNC_FREXPL_NO_LIBM diff --git a/modules/frexpl-nolibm-tests b/modules/frexpl-nolibm-tests index 1648d95ab..ffc6892de 100644 --- a/modules/frexpl-nolibm-tests +++ b/modules/frexpl-nolibm-tests @@ -1,6 +1,7 @@ Files: tests/test-frexpl.c tests/minus-zero.h +tests/infinity.h tests/nan.h tests/signature.h tests/macros.h diff --git a/modules/frexpl-tests b/modules/frexpl-tests index a944634af..098795508 100644 --- a/modules/frexpl-tests +++ b/modules/frexpl-tests @@ -1,6 +1,7 @@ Files: tests/test-frexpl.c tests/minus-zero.h +tests/infinity.h tests/nan.h tests/signature.h tests/macros.h diff --git a/modules/fseeko-tests b/modules/fseeko-tests index d292abb64..22e1e2b47 100644 --- a/modules/fseeko-tests +++ b/modules/fseeko-tests @@ -4,15 +4,18 @@ tests/test-fseeko.sh tests/test-fseeko2.sh tests/test-fseeko3.c tests/test-fseeko3.sh +tests/test-fseeko4.c +tests/test-fseeko4.sh tests/signature.h tests/macros.h m4/ungetc.m4 Depends-on: +fdopen configure.ac: gl_FUNC_UNGETC_WORKS Makefile.am: -TESTS += test-fseeko.sh test-fseeko2.sh test-fseeko3.sh -check_PROGRAMS += test-fseeko test-fseeko3 +TESTS += test-fseeko.sh test-fseeko2.sh test-fseeko3.sh test-fseeko4.sh +check_PROGRAMS += test-fseeko test-fseeko3 test-fseeko4 diff --git a/modules/fstat b/modules/fstat new file mode 100644 index 000000000..5948bad2d --- /dev/null +++ b/modules/fstat @@ -0,0 +1,31 @@ +Description: +fstat() function: return information about an open file. + +Files: +lib/fstat.c +m4/fstat.m4 + +Depends-on: +sys_stat +largefile +unistd [test $REPLACE_STAT = 1] +msvc-inval [test $REPLACE_STAT = 1] + +configure.ac: +gl_FUNC_FSTAT +if test $REPLACE_FSTAT = 1; then + AC_LIBOBJ([fstat]) + gl_PREREQ_FSTAT +fi +gl_SYS_STAT_MODULE_INDICATOR([fstat]) + +Makefile.am: + +Include: + + +License: +LGPLv2+ + +Maintainer: +Bruno Haible diff --git a/modules/fstat-tests b/modules/fstat-tests new file mode 100644 index 000000000..27ebb38bb --- /dev/null +++ b/modules/fstat-tests @@ -0,0 +1,12 @@ +Files: +tests/test-fstat.c +tests/signature.h +tests/macros.h + +Depends-on: + +configure.ac: + +Makefile.am: +TESTS += test-fstat +check_PROGRAMS += test-fstat diff --git a/modules/fstatat b/modules/fstatat new file mode 100644 index 000000000..fa78faf6d --- /dev/null +++ b/modules/fstatat @@ -0,0 +1,42 @@ +Description: +fstatat() function: Return information about a file at a directory. + +Files: +lib/fstatat.c +lib/at-func.c +lib/openat-priv.h +m4/fstatat.m4 +m4/lstat.m4 + +Depends-on: +sys_stat +extensions +at-internal [test $HAVE_FSTATAT = 0 || test $REPLACE_FSTATAT = 1] +dosname [test $HAVE_FSTATAT = 0 || test $REPLACE_FSTATAT = 1] +errno [test $HAVE_FSTATAT = 0 || test $REPLACE_FSTATAT = 1] +fchdir [test $HAVE_FSTATAT = 0 || test $REPLACE_FSTATAT = 1] +fcntl-h [test $HAVE_FSTATAT = 0 || test $REPLACE_FSTATAT = 1] +lstat [test $HAVE_FSTATAT = 0 || test $REPLACE_FSTATAT = 1] +openat-die [test $HAVE_FSTATAT = 0 || test $REPLACE_FSTATAT = 1] +openat-h [test $HAVE_FSTATAT = 0 || test $REPLACE_FSTATAT = 1] +save-cwd [test $HAVE_FSTATAT = 0 || test $REPLACE_FSTATAT = 1] + +configure.ac: +gl_FUNC_FSTATAT +if test $HAVE_FSTATAT = 0 || test $REPLACE_FSTATAT = 1; then + AC_LIBOBJ([fstatat]) +fi +AC_REQUIRE([AC_C_INLINE]) dnl because 'inline' is used in lib/openat.h +gl_MODULE_INDICATOR([fstatat]) dnl for lib/openat.h +gl_SYS_STAT_MODULE_INDICATOR([fstatat]) + +Makefile.am: + +Include: + + +License: +GPL + +Maintainer: +Jim Meyering, Eric Blake diff --git a/modules/fstatat-tests b/modules/fstatat-tests new file mode 100644 index 000000000..25dc55989 --- /dev/null +++ b/modules/fstatat-tests @@ -0,0 +1,20 @@ +Files: +tests/test-fstatat.c +tests/test-lstat.h +tests/test-stat.h +tests/signature.h +tests/macros.h + +Depends-on: +getcwd-lgpl +ignore-value +openat-h +progname +symlink + +configure.ac: + +Makefile.am: +TESTS += test-fstatat +check_PROGRAMS += test-fstatat +test_fstatat_LDADD = $(LDADD) @LIBINTL@ diff --git a/modules/fsync b/modules/fsync index 0092226ca..660eb59bc 100644 --- a/modules/fsync +++ b/modules/fsync @@ -1,5 +1,5 @@ Description: -fsync(2) function: synchronize writes to a file. +fsync(2) function: synchronize writes, including metadata, to a file. Files: lib/fsync.c @@ -7,6 +7,7 @@ m4/fsync.m4 Depends-on: unistd +msvc-nothrow [test $HAVE_FSYNC = 0] configure.ac: gl_FUNC_FSYNC diff --git a/modules/fsync-tests b/modules/fsync-tests index e3df22dbb..3db181be7 100644 --- a/modules/fsync-tests +++ b/modules/fsync-tests @@ -4,6 +4,7 @@ tests/signature.h tests/macros.h Depends-on: +errno configure.ac: diff --git a/modules/ftello-tests b/modules/ftello-tests index 2a668dadf..90d269eae 100644 --- a/modules/ftello-tests +++ b/modules/ftello-tests @@ -3,17 +3,20 @@ tests/test-ftello.c tests/test-ftello.sh tests/test-ftello2.sh tests/test-ftello3.c +tests/test-ftello4.c +tests/test-ftello4.sh tests/signature.h tests/macros.h m4/ungetc.m4 Depends-on: binary-io +fdopen configure.ac: gl_FUNC_UNGETC_WORKS Makefile.am: -TESTS += test-ftello.sh test-ftello2.sh test-ftello3 -check_PROGRAMS += test-ftello test-ftello3 +TESTS += test-ftello.sh test-ftello2.sh test-ftello3 test-ftello4.sh +check_PROGRAMS += test-ftello test-ftello3 test-ftello4 MOSTLYCLEANFILES += t-ftello3.tmp diff --git a/modules/ftruncate b/modules/ftruncate index 6be248c84..097ed9c77 100644 --- a/modules/ftruncate +++ b/modules/ftruncate @@ -1,18 +1,14 @@ Description: ftruncate() function: truncate an open file to a specified length. -Status: -obsolete - -Notice: -This module is obsolete. - Files: lib/ftruncate.c m4/ftruncate.m4 Depends-on: unistd +largefile +msvc-inval [test $HAVE_FTRUNCATE = 0] configure.ac: gl_FUNC_FTRUNCATE diff --git a/modules/ftruncate-tests b/modules/ftruncate-tests new file mode 100644 index 000000000..1423c30cb --- /dev/null +++ b/modules/ftruncate-tests @@ -0,0 +1,13 @@ +Files: +tests/test-ftruncate.c +tests/test-ftruncate.sh +tests/signature.h +tests/macros.h + +Depends-on: + +configure.ac: + +Makefile.am: +TESTS += test-ftruncate.sh +check_PROGRAMS += test-ftruncate diff --git a/modules/fts b/modules/fts index d57b10c12..62c329bfe 100644 --- a/modules/fts +++ b/modules/fts @@ -9,18 +9,24 @@ m4/fts.m4 Depends-on: cloexec +closedir cycle-check d-ino d-type dirent-safer +dup fchdir fcntl-h fcntl-safer +fstat hash i-ring lstat memmove +openat-h openat-safer +opendir +readdir stdbool unistd-safer diff --git a/modules/futimens-tests b/modules/futimens-tests index 356f67e2d..1b72de513 100644 --- a/modules/futimens-tests +++ b/modules/futimens-tests @@ -7,12 +7,15 @@ tests/signature.h tests/macros.h Depends-on: +fcntl-h ignore-value timespec +dup usleep utimecmp configure.ac: +AC_REQUIRE([AC_C_INLINE]) Makefile.am: TESTS += test-futimens diff --git a/modules/fwrite-tests b/modules/fwrite-tests new file mode 100644 index 000000000..1b7bf2f8b --- /dev/null +++ b/modules/fwrite-tests @@ -0,0 +1,15 @@ +Files: +tests/test-fwrite.c +tests/signature.h +tests/macros.h + +Depends-on: +unistd +fdopen +msvc-inval + +configure.ac: + +Makefile.am: +TESTS += test-fwrite +check_PROGRAMS += test-fwrite diff --git a/modules/getcwd b/modules/getcwd index 7189a9d0e..77ad097ca 100644 --- a/modules/getcwd +++ b/modules/getcwd @@ -6,6 +6,7 @@ lib/getcwd.c m4/getcwd-abort-bug.m4 m4/getcwd-path-max.m4 m4/getcwd.m4 +m4/pathmax.m4 Depends-on: unistd @@ -15,6 +16,14 @@ mempcpy [test $REPLACE_GETCWD = 1] d-ino [test $REPLACE_GETCWD = 1] memmove [test $REPLACE_GETCWD = 1] openat [test $REPLACE_GETCWD = 1] +fcntl-h [test $REPLACE_GETCWD = 1] +fdopendir [test $REPLACE_GETCWD = 1] +fstat [test $REPLACE_GETCWD = 1] +fstatat [test $REPLACE_GETCWD = 1] +opendir [test $REPLACE_GETCWD = 1] +readdir [test $REPLACE_GETCWD = 1] +rewinddir [test $REPLACE_GETCWD = 1] +closedir [test $REPLACE_GETCWD = 1] stdbool [test $REPLACE_GETCWD = 1] malloc-posix [test $REPLACE_GETCWD = 1] strdup-posix [test $REPLACE_GETCWD = 1] diff --git a/modules/getcwd-lgpl-tests b/modules/getcwd-lgpl-tests index 07fdf73d5..3fc489866 100644 --- a/modules/getcwd-lgpl-tests +++ b/modules/getcwd-lgpl-tests @@ -10,3 +10,4 @@ configure.ac: Makefile.am: TESTS += test-getcwd-lgpl check_PROGRAMS += test-getcwd-lgpl +test_getcwd_lgpl_LDADD = $(LDADD) $(LIBINTL) diff --git a/modules/getcwd-tests b/modules/getcwd-tests index 34cc5acf6..1cbf0fb4e 100644 --- a/modules/getcwd-tests +++ b/modules/getcwd-tests @@ -1,5 +1,7 @@ Files: tests/test-getcwd.c +tests/test-getcwd.sh +tests/init.sh Depends-on: errno @@ -11,5 +13,6 @@ sys_stat configure.ac: Makefile.am: -TESTS += test-getcwd +TESTS += test-getcwd.sh check_PROGRAMS += test-getcwd +test_getcwd_LDADD = $(LDADD) @LIBINTL@ diff --git a/modules/getdtablesize b/modules/getdtablesize index 3b195c0c8..109be1fda 100644 --- a/modules/getdtablesize +++ b/modules/getdtablesize @@ -7,11 +7,13 @@ m4/getdtablesize.m4 Depends-on: unistd +msvc-inval [test $HAVE_GETDTABLESIZE = 0] configure.ac: gl_FUNC_GETDTABLESIZE if test $HAVE_GETDTABLESIZE = 0; then AC_LIBOBJ([getdtablesize]) + gl_PREREQ_GETDTABLESIZE fi gl_UNISTD_MODULE_INDICATOR([getdtablesize]) diff --git a/modules/gethostname b/modules/gethostname index 42ee838e0..b41dfad9a 100644 --- a/modules/gethostname +++ b/modules/gethostname @@ -11,6 +11,7 @@ unistd sys_socket [test $HAVE_GETHOSTNAME = 0] errno [test $HAVE_GETHOSTNAME = 0] sockets [test $HAVE_GETHOSTNAME = 0] +msvc-nothrow [test $HAVE_GETHOSTNAME = 0] configure.ac: gl_FUNC_GETHOSTNAME diff --git a/modules/getopt-gnu b/modules/getopt-gnu index 6ad3643aa..69fc7de1a 100644 --- a/modules/getopt-gnu +++ b/modules/getopt-gnu @@ -14,7 +14,10 @@ if test $REPLACE_GETOPT = 1; then AC_LIBOBJ([getopt]) AC_LIBOBJ([getopt1]) gl_PREREQ_GETOPT + dnl Arrange for unistd.h to include getopt.h. + GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT=1 fi +AC_SUBST([GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT]) gl_MODULE_INDICATOR_FOR_TESTS([getopt-gnu]) Makefile.am: diff --git a/modules/getopt-posix b/modules/getopt-posix index 89b7a542d..b82d6b27c 100644 --- a/modules/getopt-posix +++ b/modules/getopt-posix @@ -21,7 +21,10 @@ if test $REPLACE_GETOPT = 1; then AC_LIBOBJ([getopt]) AC_LIBOBJ([getopt1]) gl_PREREQ_GETOPT + dnl Arrange for unistd.h to include getopt.h. + GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT=1 fi +AC_SUBST([GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT]) Makefile.am: BUILT_SOURCES += $(GETOPT_H) diff --git a/modules/getpeername b/modules/getpeername index 4cdae38e2..d1ef82272 100644 --- a/modules/getpeername +++ b/modules/getpeername @@ -8,7 +8,9 @@ lib/w32sock.h Depends-on: sys_socket +socketlib errno [test "$ac_cv_header_winsock2_h" = yes] +msvc-nothrow [test "$ac_cv_header_winsock2_h" = yes] configure.ac: AC_REQUIRE([gl_HEADER_SYS_SOCKET]) @@ -22,6 +24,9 @@ Makefile.am: Include: +Link: +$(LIBSOCKET) + License: LGPLv2+ diff --git a/modules/getpeername-tests b/modules/getpeername-tests new file mode 100644 index 000000000..b77f58ad1 --- /dev/null +++ b/modules/getpeername-tests @@ -0,0 +1,15 @@ +Files: +tests/test-getpeername.c +tests/signature.h +tests/macros.h + +Depends-on: +netinet_in +sockets + +configure.ac: + +Makefile.am: +TESTS += test-getpeername +check_PROGRAMS += test-getpeername +test_getpeername_LDADD = $(LDADD) @LIBSOCKET@ diff --git a/modules/getsockname b/modules/getsockname index 223479e40..15cf490ca 100644 --- a/modules/getsockname +++ b/modules/getsockname @@ -8,7 +8,9 @@ lib/w32sock.h Depends-on: sys_socket +socketlib errno [test "$ac_cv_header_winsock2_h" = yes] +msvc-nothrow [test "$ac_cv_header_winsock2_h" = yes] configure.ac: AC_REQUIRE([gl_HEADER_SYS_SOCKET]) @@ -22,6 +24,9 @@ Makefile.am: Include: +Link: +$(LIBSOCKET) + License: LGPLv2+ diff --git a/modules/getsockname-tests b/modules/getsockname-tests new file mode 100644 index 000000000..0134e4c50 --- /dev/null +++ b/modules/getsockname-tests @@ -0,0 +1,15 @@ +Files: +tests/test-getsockname.c +tests/signature.h +tests/macros.h + +Depends-on: +netinet_in +sockets + +configure.ac: + +Makefile.am: +TESTS += test-getsockname +check_PROGRAMS += test-getsockname +test_getsockname_LDADD = $(LDADD) @LIBSOCKET@ diff --git a/modules/getsockopt b/modules/getsockopt index 5b8c18d85..1cd1f2e12 100644 --- a/modules/getsockopt +++ b/modules/getsockopt @@ -7,8 +7,10 @@ lib/w32sock.h Depends-on: sys_socket +socketlib sys_time [test "$ac_cv_header_winsock2_h" = yes] errno [test "$ac_cv_header_winsock2_h" = yes] +msvc-nothrow [test "$ac_cv_header_winsock2_h" = yes] configure.ac: AC_REQUIRE([gl_HEADER_SYS_SOCKET]) @@ -22,6 +24,9 @@ Makefile.am: Include: +Link: +$(LIBSOCKET) + License: LGPLv2+ diff --git a/modules/getsockopt-tests b/modules/getsockopt-tests new file mode 100644 index 000000000..c6e5c16de --- /dev/null +++ b/modules/getsockopt-tests @@ -0,0 +1,15 @@ +Files: +tests/test-getsockopt.c +tests/signature.h +tests/macros.h + +Depends-on: +netinet_in +sockets + +configure.ac: + +Makefile.am: +TESTS += test-getsockopt +check_PROGRAMS += test-getsockopt +test_getsockopt_LDADD = $(LDADD) @LIBSOCKET@ diff --git a/modules/glob b/modules/glob index a731c2723..cef81cc68 100644 --- a/modules/glob +++ b/modules/glob @@ -15,12 +15,15 @@ snippet/arg-nonnull snippet/c++defs snippet/warn-on-use alloca [test -n "$GLOB_H"] +closedir [test -n "$GLOB_H"] d-type [test -n "$GLOB_H"] dirfd [test -n "$GLOB_H"] fnmatch [test -n "$GLOB_H"] getlogin_r [test -n "$GLOB_H"] memchr [test -n "$GLOB_H"] mempcpy [test -n "$GLOB_H"] +opendir [test -n "$GLOB_H"] +readdir [test -n "$GLOB_H"] stdbool [test -n "$GLOB_H"] strdup [test -n "$GLOB_H"] sys_stat [test -n "$GLOB_H"] diff --git a/modules/grantpt b/modules/grantpt index c5e76f025..77c7bc332 100644 --- a/modules/grantpt +++ b/modules/grantpt @@ -3,11 +3,13 @@ grantpt() function: Acquire ownership of the slave side of a pseudo-terminal. Files: lib/grantpt.c +lib/pty-private.h m4/grantpt.m4 Depends-on: stdlib extensions +fcntl-h [test $HAVE_GRANTPT = 0] pt_chown [test $HAVE_GRANTPT = 0] waitpid [test $HAVE_GRANTPT = 0] configmake [test $HAVE_GRANTPT = 0] @@ -26,7 +28,7 @@ Include: License: -LGPL +LGPLv2+ Maintainer: Bruno Haible diff --git a/modules/grantpt-tests b/modules/grantpt-tests new file mode 100644 index 000000000..b1fdae23f --- /dev/null +++ b/modules/grantpt-tests @@ -0,0 +1,12 @@ +Files: +tests/test-grantpt.c +tests/signature.h +tests/macros.h + +Depends-on: + +configure.ac: + +Makefile.am: +TESTS += test-grantpt +check_PROGRAMS += test-grantpt diff --git a/modules/imaxabs-tests b/modules/imaxabs-tests new file mode 100644 index 000000000..5f546542e --- /dev/null +++ b/modules/imaxabs-tests @@ -0,0 +1,12 @@ +Files: +tests/test-imaxabs.c +tests/signature.h +tests/macros.h + +Depends-on: + +configure.ac: + +Makefile.am: +TESTS += test-imaxabs +check_PROGRAMS += test-imaxabs diff --git a/modules/imaxdiv-tests b/modules/imaxdiv-tests new file mode 100644 index 000000000..aa2cc4098 --- /dev/null +++ b/modules/imaxdiv-tests @@ -0,0 +1,12 @@ +Files: +tests/test-imaxdiv.c +tests/signature.h +tests/macros.h + +Depends-on: + +configure.ac: + +Makefile.am: +TESTS += test-imaxdiv +check_PROGRAMS += test-imaxdiv diff --git a/modules/inet_ntop b/modules/inet_ntop index fd4c7f917..275aa3ced 100644 --- a/modules/inet_ntop +++ b/modules/inet_ntop @@ -4,17 +4,18 @@ Convert internet address from internal to printable, presentable format. Files: lib/inet_ntop.c m4/inet_ntop.m4 +m4/sys_socket_h.m4 Depends-on: arpa_inet extensions -sys_socket [test $HAVE_INET_NTOP = 0] -errno [test $HAVE_INET_NTOP = 0] -netinet_in [test $HAVE_INET_NTOP = 0] +sys_socket [test $HAVE_INET_NTOP = 0 || test $REPLACE_INET_NTOP = 1] +errno [test $HAVE_INET_NTOP = 0 || test $REPLACE_INET_NTOP = 1] +netinet_in [test $HAVE_INET_NTOP = 0 || test $REPLACE_INET_NTOP = 1] configure.ac: gl_FUNC_INET_NTOP -if test $HAVE_INET_NTOP = 0; then +if test $HAVE_INET_NTOP = 0 || test $REPLACE_INET_NTOP = 1; then AC_LIBOBJ([inet_ntop]) gl_PREREQ_INET_NTOP fi diff --git a/modules/inet_pton b/modules/inet_pton index 7e64a6662..43cde40c2 100644 --- a/modules/inet_pton +++ b/modules/inet_pton @@ -8,14 +8,14 @@ m4/inet_pton.m4 Depends-on: arpa_inet extensions -c-ctype [test $HAVE_INET_PTON = 0] -sys_socket [test $HAVE_INET_PTON = 0] -errno [test $HAVE_INET_PTON = 0] -netinet_in [test $HAVE_INET_PTON = 0] +c-ctype [test $HAVE_INET_PTON = 0 || test $REPLACE_INET_NTOP = 1] +sys_socket [test $HAVE_INET_PTON = 0 || test $REPLACE_INET_NTOP = 1] +errno [test $HAVE_INET_PTON = 0 || test $REPLACE_INET_NTOP = 1] +netinet_in [test $HAVE_INET_PTON = 0 || test $REPLACE_INET_NTOP = 1] configure.ac: gl_FUNC_INET_PTON -if test $HAVE_INET_PTON = 0; then +if test $HAVE_INET_PTON = 0 || test $REPLACE_INET_NTOP = 1; then AC_LIBOBJ([inet_pton]) gl_PREREQ_INET_PTON fi diff --git a/modules/ino-map b/modules/ino-map index 06ee51d5b..c340d1ef4 100644 --- a/modules/ino-map +++ b/modules/ino-map @@ -17,7 +17,7 @@ lib_SOURCES += ino-map.c ino-map.h Include: "ino-map.h" -License +License: GPL Maintainer: diff --git a/modules/integer_length b/modules/integer_length new file mode 100644 index 000000000..e75777283 --- /dev/null +++ b/modules/integer_length @@ -0,0 +1,28 @@ +Description: +Finds the most significant bit in an 'unsigned int'. + +Files: +lib/integer_length.h +lib/integer_length.c +lib/float+.h +m4/longlong.m4 +m4/exponentd.m4 + +Depends-on: +float + +configure.ac: +AC_REQUIRE([AC_TYPE_UNSIGNED_LONG_LONG_INT]) +AC_REQUIRE([gl_DOUBLE_EXPONENT_LOCATION]) + +Makefile.am: +lib_SOURCES += integer_length.c + +Include: +"integer_length.h" + +License: +LGPLv2+ + +Maintainer: +Bruno Haible diff --git a/modules/integer_length-tests b/modules/integer_length-tests new file mode 100644 index 000000000..e03ef57d2 --- /dev/null +++ b/modules/integer_length-tests @@ -0,0 +1,11 @@ +Files: +tests/test-integer_length.c +tests/macros.h + +Depends-on: + +configure.ac: + +Makefile.am: +TESTS += test-integer_length +check_PROGRAMS += test-integer_length diff --git a/modules/integer_length_l b/modules/integer_length_l new file mode 100644 index 000000000..93a423cc9 --- /dev/null +++ b/modules/integer_length_l @@ -0,0 +1,25 @@ +Description: +Finds the most significant bit in an 'unsigned long'. + +Files: +lib/integer_length.h +lib/integer_length_l.c +m4/longlong.m4 + +Depends-on: +integer_length + +configure.ac: +AC_REQUIRE([AC_TYPE_UNSIGNED_LONG_LONG_INT]) + +Makefile.am: +lib_SOURCES += integer_length_l.c + +Include: +"integer_length.h" + +License: +LGPLv2+ + +Maintainer: +Bruno Haible diff --git a/modules/integer_length_l-tests b/modules/integer_length_l-tests new file mode 100644 index 000000000..8c3e9cbff --- /dev/null +++ b/modules/integer_length_l-tests @@ -0,0 +1,11 @@ +Files: +tests/test-integer_length_l.c +tests/macros.h + +Depends-on: + +configure.ac: + +Makefile.am: +TESTS += test-integer_length_l +check_PROGRAMS += test-integer_length_l diff --git a/modules/integer_length_ll b/modules/integer_length_ll new file mode 100644 index 000000000..9cacf821b --- /dev/null +++ b/modules/integer_length_ll @@ -0,0 +1,26 @@ +Description: +Finds the most significant bit in an 'unsigned long long'. + +Files: +lib/integer_length.h +lib/integer_length_ll.c +lib/integer_length_l.c +m4/longlong.m4 + +Depends-on: +integer_length + +configure.ac: +AC_REQUIRE([AC_TYPE_UNSIGNED_LONG_LONG_INT]) + +Makefile.am: +lib_SOURCES += integer_length_ll.c + +Include: +"integer_length.h" + +License: +LGPLv2+ + +Maintainer: +Bruno Haible diff --git a/modules/integer_length_ll-tests b/modules/integer_length_ll-tests new file mode 100644 index 000000000..be6aaae3f --- /dev/null +++ b/modules/integer_length_ll-tests @@ -0,0 +1,11 @@ +Files: +tests/test-integer_length_ll.c +tests/macros.h + +Depends-on: + +configure.ac: + +Makefile.am: +TESTS += test-integer_length_ll +check_PROGRAMS += test-integer_length_ll diff --git a/modules/ioctl b/modules/ioctl index 9842a53f9..ba4a85a32 100644 --- a/modules/ioctl +++ b/modules/ioctl @@ -11,6 +11,7 @@ sys_ioctl sys_socket [test $HAVE_IOCTL = 0 || test $REPLACE_IOCTL = 1] errno [test $HAVE_IOCTL = 0 || test $REPLACE_IOCTL = 1] fd-hook [test $HAVE_IOCTL = 0 || test $REPLACE_IOCTL = 1] +msvc-nothrow [test $HAVE_IOCTL = 0 || test $REPLACE_IOCTL = 1] configure.ac: gl_FUNC_IOCTL diff --git a/modules/ioctl-tests b/modules/ioctl-tests new file mode 100644 index 000000000..46629567c --- /dev/null +++ b/modules/ioctl-tests @@ -0,0 +1,12 @@ +Files: +tests/test-ioctl.c +tests/signature.h +tests/macros.h + +Depends-on: + +configure.ac: + +Makefile.am: +TESTS += test-ioctl +check_PROGRAMS += test-ioctl diff --git a/modules/isapipe b/modules/isapipe index cc62ea8ce..25a87b19d 100644 --- a/modules/isapipe +++ b/modules/isapipe @@ -10,6 +10,8 @@ Depends-on: stdbool [test $HAVE_ISAPIPE = 0] sys_stat [test $HAVE_ISAPIPE = 0] unistd [test $HAVE_ISAPIPE = 0] +msvc-nothrow [test $HAVE_ISAPIPE = 0] +fstat [test $HAVE_ISAPIPE = 0] configure.ac: gl_ISAPIPE diff --git a/modules/isatty-tests b/modules/isatty-tests new file mode 100644 index 000000000..ce699e3f7 --- /dev/null +++ b/modules/isatty-tests @@ -0,0 +1,13 @@ +Files: +tests/test-isatty.c +tests/signature.h +tests/macros.h + +Depends-on: +unistd + +configure.ac: + +Makefile.am: +TESTS += test-isatty +check_PROGRAMS += test-isatty diff --git a/modules/isfinite-tests b/modules/isfinite-tests index d4940690b..6e650271c 100644 --- a/modules/isfinite-tests +++ b/modules/isfinite-tests @@ -1,5 +1,6 @@ Files: tests/test-isfinite.c +tests/infinity.h tests/macros.h Depends-on: @@ -9,6 +10,7 @@ configure.ac: gl_FLOAT_EXPONENT_LOCATION gl_DOUBLE_EXPONENT_LOCATION gl_LONG_DOUBLE_EXPONENT_LOCATION +AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE]) Makefile.am: TESTS += test-isfinite diff --git a/modules/isinf-tests b/modules/isinf-tests index f577aa9e8..53e9c3160 100644 --- a/modules/isinf-tests +++ b/modules/isinf-tests @@ -3,6 +3,7 @@ m4/exponentf.m4 m4/exponentd.m4 m4/exponentl.m4 tests/test-isinf.c +tests/infinity.h tests/macros.h Depends-on: @@ -12,6 +13,7 @@ configure.ac: gl_FLOAT_EXPONENT_LOCATION gl_DOUBLE_EXPONENT_LOCATION gl_LONG_DOUBLE_EXPONENT_LOCATION +AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE]) Makefile.am: TESTS += test-isinf diff --git a/modules/isnan-tests b/modules/isnan-tests index 1bc2b7217..417e55937 100644 --- a/modules/isnan-tests +++ b/modules/isnan-tests @@ -1,6 +1,7 @@ Files: tests/test-isnan.c tests/minus-zero.h +tests/infinity.h tests/nan.h tests/macros.h @@ -11,6 +12,7 @@ configure.ac: gl_FLOAT_EXPONENT_LOCATION gl_DOUBLE_EXPONENT_LOCATION gl_LONG_DOUBLE_EXPONENT_LOCATION +AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE]) Makefile.am: TESTS += test-isnan diff --git a/modules/isnand-nolibm-tests b/modules/isnand-nolibm-tests index ee6f880d2..d2cbc79f0 100644 --- a/modules/isnand-nolibm-tests +++ b/modules/isnand-nolibm-tests @@ -2,6 +2,7 @@ Files: tests/test-isnand-nolibm.c tests/test-isnand.h tests/minus-zero.h +tests/infinity.h tests/nan.h tests/macros.h diff --git a/modules/isnand-tests b/modules/isnand-tests index a23ba4db6..89d2ae011 100644 --- a/modules/isnand-tests +++ b/modules/isnand-tests @@ -2,6 +2,7 @@ Files: tests/test-isnand.c tests/test-isnand.h tests/minus-zero.h +tests/infinity.h tests/nan.h tests/macros.h diff --git a/modules/isnanf-nolibm-tests b/modules/isnanf-nolibm-tests index ff89c1d6c..88c15d013 100644 --- a/modules/isnanf-nolibm-tests +++ b/modules/isnanf-nolibm-tests @@ -2,6 +2,7 @@ Files: tests/test-isnanf-nolibm.c tests/test-isnanf.h tests/minus-zero.h +tests/infinity.h tests/nan.h tests/macros.h diff --git a/modules/isnanf-tests b/modules/isnanf-tests index ba301df11..86caabe8b 100644 --- a/modules/isnanf-tests +++ b/modules/isnanf-tests @@ -2,6 +2,7 @@ Files: tests/test-isnanf.c tests/test-isnanf.h tests/minus-zero.h +tests/infinity.h tests/nan.h tests/macros.h diff --git a/modules/isnanl-nolibm b/modules/isnanl-nolibm index 5a98e4904..b3884fcfc 100644 --- a/modules/isnanl-nolibm +++ b/modules/isnanl-nolibm @@ -8,6 +8,7 @@ lib/isnan.c lib/float+.h m4/exponentl.m4 m4/isnanl.m4 +m4/math_h.m4 Depends-on: float diff --git a/modules/isnanl-nolibm-tests b/modules/isnanl-nolibm-tests index 78427b436..ddc3c945f 100644 --- a/modules/isnanl-nolibm-tests +++ b/modules/isnanl-nolibm-tests @@ -2,6 +2,7 @@ Files: tests/test-isnanl-nolibm.c tests/test-isnanl.h tests/minus-zero.h +tests/infinity.h tests/nan.h tests/macros.h @@ -10,6 +11,7 @@ float configure.ac: gl_LONG_DOUBLE_EXPONENT_LOCATION +AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE]) Makefile.am: TESTS += test-isnanl-nolibm diff --git a/modules/isnanl-tests b/modules/isnanl-tests index 68411fec1..82a41e910 100644 --- a/modules/isnanl-tests +++ b/modules/isnanl-tests @@ -2,6 +2,7 @@ Files: tests/test-isnanl.c tests/test-isnanl.h tests/minus-zero.h +tests/infinity.h tests/nan.h tests/macros.h @@ -10,6 +11,7 @@ float configure.ac: gl_LONG_DOUBLE_EXPONENT_LOCATION +AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE]) Makefile.am: TESTS += test-isnanl diff --git a/modules/ldexp-tests b/modules/ldexp-tests index e5d796cb1..bd252cf50 100644 --- a/modules/ldexp-tests +++ b/modules/ldexp-tests @@ -1,9 +1,16 @@ Files: tests/test-ldexp.c +tests/test-ldexp.h +tests/minus-zero.h +tests/infinity.h +tests/nan.h tests/signature.h tests/macros.h Depends-on: +isnand-nolibm +signbit +float configure.ac: diff --git a/modules/ldexpf b/modules/ldexpf new file mode 100644 index 000000000..3c1f15c69 --- /dev/null +++ b/modules/ldexpf @@ -0,0 +1,32 @@ +Description: +ldexpf() function: multiply a 'float' by a power of 2. + +Files: +lib/ldexpf.c +m4/ldexpf.m4 +m4/mathfunc.m4 + +Depends-on: +math +ldexp [test $HAVE_LDEXPF = 0] + +configure.ac: +gl_FUNC_LDEXPF +if test $HAVE_LDEXPF = 0; then + AC_LIBOBJ([ldexpf]) +fi +gl_MATH_MODULE_INDICATOR([ldexpf]) + +Makefile.am: + +Include: + + +Link: +$(LDEXPF_LIBM) + +License: +LGPL + +Maintainer: +Bruno Haible diff --git a/modules/ldexpf-tests b/modules/ldexpf-tests new file mode 100644 index 000000000..5de320343 --- /dev/null +++ b/modules/ldexpf-tests @@ -0,0 +1,20 @@ +Files: +tests/test-ldexpf.c +tests/test-ldexp.h +tests/minus-zero.h +tests/infinity.h +tests/nan.h +tests/signature.h +tests/macros.h + +Depends-on: +isnanf-nolibm +signbit +float + +configure.ac: + +Makefile.am: +TESTS += test-ldexpf +check_PROGRAMS += test-ldexpf +test_ldexpf_LDADD = $(LDADD) @LDEXPF_LIBM@ diff --git a/modules/ldexpl b/modules/ldexpl index b6d311734..35e52ab0c 100644 --- a/modules/ldexpl +++ b/modules/ldexpl @@ -7,8 +7,9 @@ m4/ldexpl.m4 Depends-on: math -isnanl [test $HAVE_DECL_LDEXPL = 0 || test $gl_func_ldexpl = no] -fpucw [test $HAVE_DECL_LDEXPL = 0 || test $gl_func_ldexpl = no] +ldexp [{ test $HAVE_DECL_LDEXPL = 0 || test $gl_func_ldexpl = no; } && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 1] +isnanl [{ test $HAVE_DECL_LDEXPL = 0 || test $gl_func_ldexpl = no; } && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 0] +fpucw [{ test $HAVE_DECL_LDEXPL = 0 || test $gl_func_ldexpl = no; } && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 0] configure.ac: gl_FUNC_LDEXPL diff --git a/modules/ldexpl-tests b/modules/ldexpl-tests index 1daeb6fa2..828143e44 100644 --- a/modules/ldexpl-tests +++ b/modules/ldexpl-tests @@ -1,6 +1,8 @@ Files: tests/test-ldexpl.c +tests/test-ldexp.h tests/minus-zero.h +tests/infinity.h tests/nan.h tests/signature.h tests/macros.h diff --git a/modules/linkat b/modules/linkat index 3392e57d6..f31dcf70c 100644 --- a/modules/linkat +++ b/modules/linkat @@ -9,21 +9,25 @@ m4/linkat.m4 Depends-on: unistd extensions -areadlink [test $HAVE_LINKAT = 0 || test $REPLACE_LINKAT = 1] -areadlinkat [test $HAVE_LINKAT = 0 || test $REPLACE_LINKAT = 1] dirname-lgpl [test $HAVE_LINKAT = 0 || test $REPLACE_LINKAT = 1] -dosname [test $HAVE_LINKAT = 0 || test $REPLACE_LINKAT = 1] errno [test $HAVE_LINKAT = 0 || test $REPLACE_LINKAT = 1] fcntl-h [test $HAVE_LINKAT = 0 || test $REPLACE_LINKAT = 1] filenamecat-lgpl [test $HAVE_LINKAT = 0 || test $REPLACE_LINKAT = 1] -getcwd-lgpl [test $HAVE_LINKAT = 0 || test $REPLACE_LINKAT = 1] -openat [test $HAVE_LINKAT = 0 || test $REPLACE_LINKAT = 1] -link [test $HAVE_LINKAT = 0 || test $REPLACE_LINKAT = 1] link-follow [test $HAVE_LINKAT = 0 || test $REPLACE_LINKAT = 1] -lstat [test $HAVE_LINKAT = 0 || test $REPLACE_LINKAT = 1] -same-inode [test $HAVE_LINKAT = 0 || test $REPLACE_LINKAT = 1] -save-cwd [test $HAVE_LINKAT = 0 || test $REPLACE_LINKAT = 1] -symlink [test $HAVE_LINKAT = 0 || test $REPLACE_LINKAT = 1] +areadlink [test $HAVE_LINKAT = 0] +at-internal [test $HAVE_LINKAT = 0] +dosname [test $HAVE_LINKAT = 0] +fstat [test $HAVE_LINKAT = 0] +getcwd-lgpl [test $HAVE_LINKAT = 0] +openat-h [test $HAVE_LINKAT = 0] +openat-die [test $HAVE_LINKAT = 0] +link [test $HAVE_LINKAT = 0] +lstat [test $HAVE_LINKAT = 0] +same-inode [test $HAVE_LINKAT = 0] +save-cwd [test $HAVE_LINKAT = 0] +symlink [test $HAVE_LINKAT = 0] +areadlinkat [test $REPLACE_LINKAT = 1] +fstatat [test $REPLACE_LINKAT = 1] configure.ac: gl_FUNC_LINKAT diff --git a/modules/linkat-tests b/modules/linkat-tests index a65a3824f..92cb43f82 100644 --- a/modules/linkat-tests +++ b/modules/linkat-tests @@ -10,6 +10,7 @@ areadlink-with-size filenamecat-lgpl getcwd-lgpl same-inode +unlinkat configure.ac: diff --git a/modules/listen b/modules/listen index 7c77557d5..baaadc21a 100644 --- a/modules/listen +++ b/modules/listen @@ -7,7 +7,9 @@ lib/w32sock.h Depends-on: sys_socket +socketlib errno [test "$ac_cv_header_winsock2_h" = yes] +msvc-nothrow [test "$ac_cv_header_winsock2_h" = yes] configure.ac: AC_REQUIRE([gl_HEADER_SYS_SOCKET]) @@ -21,6 +23,9 @@ Makefile.am: Include: +Link: +$(LIBSOCKET) + License: LGPLv2+ diff --git a/modules/listen-tests b/modules/listen-tests new file mode 100644 index 000000000..1c0fca4af --- /dev/null +++ b/modules/listen-tests @@ -0,0 +1,14 @@ +Files: +tests/test-listen.c +tests/signature.h +tests/macros.h + +Depends-on: +sockets + +configure.ac: + +Makefile.am: +TESTS += test-listen +check_PROGRAMS += test-listen +test_listen_LDADD = $(LDADD) @LIBSOCKET@ diff --git a/modules/log b/modules/log index cbee37bc8..9f320a37b 100644 --- a/modules/log +++ b/modules/log @@ -2,12 +2,13 @@ Description: log() function: natural logarithmic function. Files: +m4/log.m4 m4/mathfunc.m4 Depends-on: configure.ac: -gl_COMMON_DOUBLE_MATHFUNC([log]) +gl_FUNC_LOG Makefile.am: diff --git a/modules/log10 b/modules/log10 index a0b4c2929..438528845 100644 --- a/modules/log10 +++ b/modules/log10 @@ -2,12 +2,13 @@ Description: log10() function: base 10 logarithmic function. Files: +m4/log10.m4 m4/mathfunc.m4 Depends-on: configure.ac: -gl_COMMON_DOUBLE_MATHFUNC([log10]) +gl_FUNC_LOG10 Makefile.am: diff --git a/modules/log10f b/modules/log10f new file mode 100644 index 000000000..d6c5b8b1c --- /dev/null +++ b/modules/log10f @@ -0,0 +1,31 @@ +Description: +log10f() function: base 10 logarithmic function. + +Files: +lib/log10f.c +m4/log10f.m4 + +Depends-on: +math +log10 [test $HAVE_LOG10F = 0] + +configure.ac: +gl_FUNC_LOG10F +if test $HAVE_LOG10F = 0; then + AC_LIBOBJ([log10f]) +fi +gl_MATH_MODULE_INDICATOR([log10f]) + +Makefile.am: + +Include: + + +Link: +$(LOG10F_LIBM) + +License: +LGPL + +Maintainer: +Bruno Haible diff --git a/modules/log10f-tests b/modules/log10f-tests new file mode 100644 index 000000000..1cd295cd3 --- /dev/null +++ b/modules/log10f-tests @@ -0,0 +1,13 @@ +Files: +tests/test-log10f.c +tests/signature.h +tests/macros.h + +Depends-on: + +configure.ac: + +Makefile.am: +TESTS += test-log10f +check_PROGRAMS += test-log10f +test_log10f_LDADD = $(LDADD) @LOG10F_LIBM@ diff --git a/modules/logf b/modules/logf new file mode 100644 index 000000000..a2e3f256b --- /dev/null +++ b/modules/logf @@ -0,0 +1,31 @@ +Description: +logf() function: natural logarithmic function. + +Files: +lib/logf.c +m4/logf.m4 + +Depends-on: +math +log [test $HAVE_LOGF = 0] + +configure.ac: +gl_FUNC_LOGF +if test $HAVE_LOGF = 0; then + AC_LIBOBJ([logf]) +fi +gl_MATH_MODULE_INDICATOR([logf]) + +Makefile.am: + +Include: + + +Link: +$(LOGF_LIBM) + +License: +LGPL + +Maintainer: +Bruno Haible diff --git a/modules/logf-tests b/modules/logf-tests new file mode 100644 index 000000000..d56c49e54 --- /dev/null +++ b/modules/logf-tests @@ -0,0 +1,13 @@ +Files: +tests/test-logf.c +tests/signature.h +tests/macros.h + +Depends-on: + +configure.ac: + +Makefile.am: +TESTS += test-logf +check_PROGRAMS += test-logf +test_logf_LDADD = $(LDADD) @LOGF_LIBM@ diff --git a/modules/logl b/modules/logl index 8ed3c0f47..1f0a95688 100644 --- a/modules/logl +++ b/modules/logl @@ -8,9 +8,10 @@ m4/logl.m4 Depends-on: math extensions -frexpl [test $HAVE_LOGL = 0] -isnanl [test $HAVE_LOGL = 0] -floorl [test $HAVE_LOGL = 0] +log [test $HAVE_LOGL = 0 && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 1] +frexpl [test $HAVE_LOGL = 0 && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 0] +isnanl [test $HAVE_LOGL = 0 && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 0] +floorl [test $HAVE_LOGL = 0 && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 0] configure.ac: gl_FUNC_LOGL diff --git a/modules/lseek b/modules/lseek index 0fc7923f6..1ec6e2a90 100644 --- a/modules/lseek +++ b/modules/lseek @@ -8,6 +8,8 @@ m4/lseek.m4 Depends-on: unistd largefile +msvc-nothrow [test $REPLACE_LSEEK = 1] +fstat [test $REPLACE_LSEEK = 1] configure.ac: gl_FUNC_LSEEK diff --git a/modules/math b/modules/math index bc3d34c35..5bca0e10f 100644 --- a/modules/math +++ b/modules/math @@ -10,6 +10,7 @@ include_next snippet/arg-nonnull snippet/c++defs snippet/warn-on-use +float configure.ac: gl_MATH_H @@ -27,17 +28,33 @@ math.h: math.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $( -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_AS_FIRST_DIRECTIVE_MATH_H''@|$(NEXT_AS_FIRST_DIRECTIVE_MATH_H)|g' \ + -e 's/@''GNULIB_ACOSF''@/$(GNULIB_ACOSF)/g' \ -e 's/@''GNULIB_ACOSL''@/$(GNULIB_ACOSL)/g' \ + -e 's/@''GNULIB_ASINF''@/$(GNULIB_ASINF)/g' \ -e 's/@''GNULIB_ASINL''@/$(GNULIB_ASINL)/g' \ + -e 's/@''GNULIB_ATANF''@/$(GNULIB_ATANF)/g' \ -e 's/@''GNULIB_ATANL''@/$(GNULIB_ATANL)/g' \ + -e 's/@''GNULIB_ATAN2F''@/$(GNULIB_ATAN2F)/g' \ -e 's/@''GNULIB_CEIL''@/$(GNULIB_CEIL)/g' \ -e 's/@''GNULIB_CEILF''@/$(GNULIB_CEILF)/g' \ -e 's/@''GNULIB_CEILL''@/$(GNULIB_CEILL)/g' \ + -e 's/@''GNULIB_COPYSIGN''@/$(GNULIB_COPYSIGN)/g' \ + -e 's/@''GNULIB_COPYSIGNF''@/$(GNULIB_COPYSIGNF)/g' \ + -e 's/@''GNULIB_COPYSIGNL''@/$(GNULIB_COPYSIGNL)/g' \ + -e 's/@''GNULIB_COSF''@/$(GNULIB_COSF)/g' \ -e 's/@''GNULIB_COSL''@/$(GNULIB_COSL)/g' \ + -e 's/@''GNULIB_COSHF''@/$(GNULIB_COSHF)/g' \ + -e 's/@''GNULIB_EXPF''@/$(GNULIB_EXPF)/g' \ -e 's/@''GNULIB_EXPL''@/$(GNULIB_EXPL)/g' \ + -e 's/@''GNULIB_FABSF''@/$(GNULIB_FABSF)/g' \ -e 's/@''GNULIB_FLOOR''@/$(GNULIB_FLOOR)/g' \ -e 's/@''GNULIB_FLOORF''@/$(GNULIB_FLOORF)/g' \ -e 's/@''GNULIB_FLOORL''@/$(GNULIB_FLOORL)/g' \ + -e 's/@''GNULIB_FMA''@/$(GNULIB_FMA)/g' \ + -e 's/@''GNULIB_FMAF''@/$(GNULIB_FMAF)/g' \ + -e 's/@''GNULIB_FMAL''@/$(GNULIB_FMAL)/g' \ + -e 's/@''GNULIB_FMODF''@/$(GNULIB_FMODF)/g' \ + -e 's/@''GNULIB_FREXPF''@/$(GNULIB_FREXPF)/g' \ -e 's/@''GNULIB_FREXP''@/$(GNULIB_FREXP)/g' \ -e 's/@''GNULIB_FREXPL''@/$(GNULIB_FREXPL)/g' \ -e 's/@''GNULIB_ISFINITE''@/$(GNULIB_ISFINITE)/g' \ @@ -46,32 +63,74 @@ math.h: math.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $( -e 's/@''GNULIB_ISNANF''@/$(GNULIB_ISNANF)/g' \ -e 's/@''GNULIB_ISNAND''@/$(GNULIB_ISNAND)/g' \ -e 's/@''GNULIB_ISNANL''@/$(GNULIB_ISNANL)/g' \ + -e 's/@''GNULIB_LDEXPF''@/$(GNULIB_LDEXPF)/g' \ -e 's/@''GNULIB_LDEXPL''@/$(GNULIB_LDEXPL)/g' \ -e 's/@''GNULIB_LOGB''@/$(GNULIB_LOGB)/g' \ + -e 's/@''GNULIB_LOGF''@/$(GNULIB_LOGF)/g' \ -e 's/@''GNULIB_LOGL''@/$(GNULIB_LOGL)/g' \ + -e 's/@''GNULIB_LOG10F''@/$(GNULIB_LOG10F)/g' \ + -e 's/@''GNULIB_MODFF''@/$(GNULIB_MODFF)/g' \ + -e 's/@''GNULIB_POWF''@/$(GNULIB_POWF)/g' \ + -e 's/@''GNULIB_RINT''@/$(GNULIB_RINT)/g' \ + -e 's/@''GNULIB_RINTF''@/$(GNULIB_RINTF)/g' \ + -e 's/@''GNULIB_RINTL''@/$(GNULIB_RINTL)/g' \ -e 's/@''GNULIB_ROUND''@/$(GNULIB_ROUND)/g' \ -e 's/@''GNULIB_ROUNDF''@/$(GNULIB_ROUNDF)/g' \ -e 's/@''GNULIB_ROUNDL''@/$(GNULIB_ROUNDL)/g' \ -e 's/@''GNULIB_SIGNBIT''@/$(GNULIB_SIGNBIT)/g' \ + -e 's/@''GNULIB_SINF''@/$(GNULIB_SINF)/g' \ -e 's/@''GNULIB_SINL''@/$(GNULIB_SINL)/g' \ + -e 's/@''GNULIB_SINHF''@/$(GNULIB_SINHF)/g' \ + -e 's/@''GNULIB_SQRTF''@/$(GNULIB_SQRTF)/g' \ -e 's/@''GNULIB_SQRTL''@/$(GNULIB_SQRTL)/g' \ + -e 's/@''GNULIB_TANF''@/$(GNULIB_TANF)/g' \ -e 's/@''GNULIB_TANL''@/$(GNULIB_TANL)/g' \ + -e 's/@''GNULIB_TANHF''@/$(GNULIB_TANHF)/g' \ -e 's/@''GNULIB_TRUNC''@/$(GNULIB_TRUNC)/g' \ -e 's/@''GNULIB_TRUNCF''@/$(GNULIB_TRUNCF)/g' \ -e 's/@''GNULIB_TRUNCL''@/$(GNULIB_TRUNCL)/g' \ < $(srcdir)/math.in.h | \ - sed -e 's|@''HAVE_ACOSL''@|$(HAVE_ACOSL)|g' \ + sed -e 's|@''HAVE_ACOSF''@|$(HAVE_ACOSF)|g' \ + -e 's|@''HAVE_ACOSL''@|$(HAVE_ACOSL)|g' \ + -e 's|@''HAVE_ASINF''@|$(HAVE_ASINF)|g' \ -e 's|@''HAVE_ASINL''@|$(HAVE_ASINL)|g' \ + -e 's|@''HAVE_ATANF''@|$(HAVE_ATANF)|g' \ -e 's|@''HAVE_ATANL''@|$(HAVE_ATANL)|g' \ + -e 's|@''HAVE_ATAN2F''@|$(HAVE_ATAN2F)|g' \ + -e 's|@''HAVE_COPYSIGN''@|$(HAVE_COPYSIGN)|g' \ + -e 's|@''HAVE_COPYSIGNF''@|$(HAVE_COPYSIGNF)|g' \ + -e 's|@''HAVE_COPYSIGNL''@|$(HAVE_COPYSIGNL)|g' \ + -e 's|@''HAVE_COSF''@|$(HAVE_COSF)|g' \ -e 's|@''HAVE_COSL''@|$(HAVE_COSL)|g' \ + -e 's|@''HAVE_COSHF''@|$(HAVE_COSHF)|g' \ + -e 's|@''HAVE_EXPF''@|$(HAVE_EXPF)|g' \ -e 's|@''HAVE_EXPL''@|$(HAVE_EXPL)|g' \ + -e 's|@''HAVE_FABSF''@|$(HAVE_FABSF)|g' \ + -e 's|@''HAVE_FMA''@|$(HAVE_FMA)|g' \ + -e 's|@''HAVE_FMAF''@|$(HAVE_FMAF)|g' \ + -e 's|@''HAVE_FMAL''@|$(HAVE_FMAL)|g' \ + -e 's|@''HAVE_FMODF''@|$(HAVE_FMODF)|g' \ + -e 's|@''HAVE_FREXPF''@|$(HAVE_FREXPF)|g' \ -e 's|@''HAVE_ISNANF''@|$(HAVE_ISNANF)|g' \ -e 's|@''HAVE_ISNAND''@|$(HAVE_ISNAND)|g' \ -e 's|@''HAVE_ISNANL''@|$(HAVE_ISNANL)|g' \ + -e 's|@''HAVE_LDEXPF''@|$(HAVE_LDEXPF)|g' \ + -e 's|@''HAVE_LOGF''@|$(HAVE_LOGF)|g' \ -e 's|@''HAVE_LOGL''@|$(HAVE_LOGL)|g' \ + -e 's|@''HAVE_LOG10F''@|$(HAVE_LOG10F)|g' \ + -e 's|@''HAVE_MODFF''@|$(HAVE_MODFF)|g' \ + -e 's|@''HAVE_POWF''@|$(HAVE_POWF)|g' \ + -e 's|@''HAVE_RINT''@|$(HAVE_RINT)|g' \ + -e 's|@''HAVE_RINTF''@|$(HAVE_RINTF)|g' \ + -e 's|@''HAVE_RINTL''@|$(HAVE_RINTL)|g' \ + -e 's|@''HAVE_SINF''@|$(HAVE_SINF)|g' \ -e 's|@''HAVE_SINL''@|$(HAVE_SINL)|g' \ + -e 's|@''HAVE_SINHF''@|$(HAVE_SINHF)|g' \ + -e 's|@''HAVE_SQRTF''@|$(HAVE_SQRTF)|g' \ -e 's|@''HAVE_SQRTL''@|$(HAVE_SQRTL)|g' \ + -e 's|@''HAVE_TANF''@|$(HAVE_TANF)|g' \ -e 's|@''HAVE_TANL''@|$(HAVE_TANL)|g' \ + -e 's|@''HAVE_TANHF''@|$(HAVE_TANHF)|g' \ -e 's|@''HAVE_DECL_ACOSL''@|$(HAVE_DECL_ACOSL)|g' \ -e 's|@''HAVE_DECL_ASINL''@|$(HAVE_DECL_ASINL)|g' \ -e 's|@''HAVE_DECL_ATANL''@|$(HAVE_DECL_ATANL)|g' \ @@ -101,12 +160,17 @@ math.h: math.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $( -e 's|@''REPLACE_FLOOR''@|$(REPLACE_FLOOR)|g' \ -e 's|@''REPLACE_FLOORF''@|$(REPLACE_FLOORF)|g' \ -e 's|@''REPLACE_FLOORL''@|$(REPLACE_FLOORL)|g' \ + -e 's|@''REPLACE_FMA''@|$(REPLACE_FMA)|g' \ + -e 's|@''REPLACE_FMAF''@|$(REPLACE_FMAF)|g' \ + -e 's|@''REPLACE_FMAL''@|$(REPLACE_FMAL)|g' \ + -e 's|@''REPLACE_FREXPF''@|$(REPLACE_FREXPF)|g' \ -e 's|@''REPLACE_FREXP''@|$(REPLACE_FREXP)|g' \ -e 's|@''REPLACE_FREXPL''@|$(REPLACE_FREXPL)|g' \ -e 's|@''REPLACE_HUGE_VAL''@|$(REPLACE_HUGE_VAL)|g' \ -e 's|@''REPLACE_ISFINITE''@|$(REPLACE_ISFINITE)|g' \ -e 's|@''REPLACE_ISINF''@|$(REPLACE_ISINF)|g' \ -e 's|@''REPLACE_ISNAN''@|$(REPLACE_ISNAN)|g' \ + -e 's|@''REPLACE_ITOLD''@|$(REPLACE_ITOLD)|g' \ -e 's|@''REPLACE_LDEXPL''@|$(REPLACE_LDEXPL)|g' \ -e 's|@''REPLACE_NAN''@|$(REPLACE_NAN)|g' \ -e 's|@''REPLACE_ROUND''@|$(REPLACE_ROUND)|g' \ diff --git a/modules/math-c++-tests b/modules/math-c++-tests index 24aa81078..796e3d1a8 100644 --- a/modules/math-c++-tests +++ b/modules/math-c++-tests @@ -16,4 +16,6 @@ if ANSICXX TESTS += test-math-c++ check_PROGRAMS += test-math-c++ test_math_c___SOURCES = test-math-c++.cc test-math-c++2.cc +# These link dependencies are needed on IRIX 6.5 with cc. +test_math_c___LDADD = $(LDADD) $(COPYSIGNL_LIBM) $(RINT_LIBM) $(RINTL_LIBM) endif diff --git a/modules/mkdir-p b/modules/mkdir-p index 562c1e267..fed349069 100644 --- a/modules/mkdir-p +++ b/modules/mkdir-p @@ -11,6 +11,7 @@ m4/mkdir-p.m4 Depends-on: error fcntl-h +fstat gettext-h lchmod lchown diff --git a/modules/mkdirat b/modules/mkdirat new file mode 100644 index 000000000..010892004 --- /dev/null +++ b/modules/mkdirat @@ -0,0 +1,41 @@ +Description: +mkdirat() function: Create a directory relative to a given directory. + +Files: +lib/mkdirat.c +lib/at-func.c +lib/openat-priv.h +m4/mkdirat.m4 + +Depends-on: +sys_stat +extensions +at-internal [test $HAVE_MKDIRAT = 0] +dosname [test $HAVE_MKDIRAT = 0] +errno [test $HAVE_MKDIRAT = 0] +fchdir [test $HAVE_MKDIRAT = 0] +fcntl-h [test $HAVE_MKDIRAT = 0] +mkdir [test $HAVE_MKDIRAT = 0] +openat-die [test $HAVE_MKDIRAT = 0] +openat-h [test $HAVE_MKDIRAT = 0] +save-cwd [test $HAVE_MKDIRAT = 0] +unistd [test $HAVE_MKDIRAT = 0] + +configure.ac: +gl_FUNC_MKDIRAT +if test $HAVE_MKDIRAT = 0; then + AC_LIBOBJ([mkdirat]) + gl_PREREQ_MKDIRAT +fi +gl_SYS_STAT_MODULE_INDICATOR([mkdirat]) + +Makefile.am: + +Include: + + +License: +GPL + +Maintainer: +Jim Meyering, Eric Blake diff --git a/modules/mkdirat-tests b/modules/mkdirat-tests new file mode 100644 index 000000000..103a5acab --- /dev/null +++ b/modules/mkdirat-tests @@ -0,0 +1,17 @@ +Files: +tests/test-mkdirat.c +tests/test-mkdir.h +tests/signature.h +tests/macros.h + +Depends-on: +ignore-value +progname +symlink + +configure.ac: + +Makefile.am: +TESTS += test-mkdirat +check_PROGRAMS += test-mkdirat +test_mkdirat_LDADD = $(LDADD) @LIBINTL@ diff --git a/modules/mkfifoat b/modules/mkfifoat index 6197d64b0..bc0c8e3da 100644 --- a/modules/mkfifoat +++ b/modules/mkfifoat @@ -1,18 +1,26 @@ Description: -mkfifoat() and mknodat(): create named FIFOs relative to a directory +mkfifoat() function and mknodat() function: create named FIFOs relative to a +directory Files: lib/mkfifoat.c lib/mknodat.c +lib/at-func.c m4/mkfifoat.m4 Depends-on: sys_stat extensions -fcntl-h +at-internal [test $HAVE_MKFIFOAT = 0 || test $HAVE_MKNODAT = 0] +dosname [test $HAVE_MKFIFOAT = 0 || test $HAVE_MKNODAT = 0] +errno [test $HAVE_MKFIFOAT = 0 || test $HAVE_MKNODAT = 0] +fchdir [test $HAVE_MKFIFOAT = 0 || test $HAVE_MKNODAT = 0] +fcntl-h [test $HAVE_MKFIFOAT = 0 || test $HAVE_MKNODAT = 0] +openat-die [test $HAVE_MKFIFOAT = 0 || test $HAVE_MKNODAT = 0] +openat-h [test $HAVE_MKFIFOAT = 0 || test $HAVE_MKNODAT = 0] +save-cwd [test $HAVE_MKFIFOAT = 0 || test $HAVE_MKNODAT = 0] mkfifo [test $HAVE_MKFIFOAT = 0] mknod [test $HAVE_MKNODAT = 0] -openat [test $HAVE_MKFIFOAT = 0 || test $HAVE_MKNODAT = 0] configure.ac: gl_FUNC_MKFIFOAT @@ -22,8 +30,8 @@ fi if test $HAVE_MKNODAT = 0; then AC_LIBOBJ([mknodat]) fi -gl_UNISTD_MODULE_INDICATOR([mkfifoat]) -gl_UNISTD_MODULE_INDICATOR([mknodat]) +gl_SYS_STAT_MODULE_INDICATOR([mkfifoat]) +gl_SYS_STAT_MODULE_INDICATOR([mknodat]) Makefile.am: diff --git a/modules/mkfifoat-tests b/modules/mkfifoat-tests index 8be33df05..4c0e23fff 100644 --- a/modules/mkfifoat-tests +++ b/modules/mkfifoat-tests @@ -5,8 +5,10 @@ tests/signature.h tests/macros.h Depends-on: +fstatat ignore-value symlink +unlinkat configure.ac: diff --git a/modules/modf b/modules/modf index 0c5e4677d..c0dffeb76 100644 --- a/modules/modf +++ b/modules/modf @@ -2,12 +2,13 @@ Description: modf() function: get signed integer and fractional parts. Files: +m4/modf.m4 m4/mathfunc.m4 Depends-on: configure.ac: -gl_MATHFUNC([modf], [double], [(double, double *)]) +gl_FUNC_MODF Makefile.am: diff --git a/modules/modff b/modules/modff new file mode 100644 index 000000000..15512136f --- /dev/null +++ b/modules/modff @@ -0,0 +1,32 @@ +Description: +modff() function: get signed integer and fractional parts. + +Files: +lib/modff.c +m4/modff.m4 +m4/mathfunc.m4 + +Depends-on: +math +modf [test $HAVE_MODFF = 0] + +configure.ac: +gl_FUNC_MODFF +if test $HAVE_MODFF = 0; then + AC_LIBOBJ([modff]) +fi +gl_MATH_MODULE_INDICATOR([modff]) + +Makefile.am: + +Include: + + +Link: +$(MODFF_LIBM) + +License: +LGPL + +Maintainer: +Bruno Haible diff --git a/modules/modff-tests b/modules/modff-tests new file mode 100644 index 000000000..9d35b7321 --- /dev/null +++ b/modules/modff-tests @@ -0,0 +1,13 @@ +Files: +tests/test-modff.c +tests/signature.h +tests/macros.h + +Depends-on: + +configure.ac: + +Makefile.am: +TESTS += test-modff +check_PROGRAMS += test-modff +test_modff_LDADD = $(LDADD) @MODFF_LIBM@ diff --git a/modules/msvc-inval b/modules/msvc-inval new file mode 100644 index 000000000..bb86633b6 --- /dev/null +++ b/modules/msvc-inval @@ -0,0 +1,26 @@ +Description: +invalid parameter handler for MSVC runtime libraries + +Files: +lib/msvc-inval.h +lib/msvc-inval.c +m4/msvc-inval.m4 + +Depends-on: + +configure.ac: +gl_MSVC_INVAL +if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then + AC_LIBOBJ([msvc-inval]) +fi + +Makefile.am: + +Include: +"msvc-inval.h" + +License: +LGPLv2+ + +Maintainer: +Bruno Haible diff --git a/modules/msvc-nothrow b/modules/msvc-nothrow new file mode 100644 index 000000000..46d71aae4 --- /dev/null +++ b/modules/msvc-nothrow @@ -0,0 +1,28 @@ +Description: +wrappers that don't throw invalid parameter notifications with MSVC runtime +libraries + +Files: +lib/msvc-nothrow.h +lib/msvc-nothrow.c +m4/msvc-nothrow.m4 + +Depends-on: +msvc-inval + +configure.ac: +gl_MSVC_NOTHROW +if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then + AC_LIBOBJ([msvc-nothrow]) +fi + +Makefile.am: + +Include: +"msvc-nothrow.h" + +License: +LGPLv2+ + +Maintainer: +Bruno Haible diff --git a/modules/nonblocking b/modules/nonblocking index 2d469ebaa..96881f5b5 100644 --- a/modules/nonblocking +++ b/modules/nonblocking @@ -12,6 +12,7 @@ m4/asm-underscore.m4 Depends-on: fcntl-h ioctl +msvc-nothrow stdbool stdio sys_socket diff --git a/modules/obstack-printf-posix b/modules/obstack-printf-posix index df5608777..c2036a847 100644 --- a/modules/obstack-printf-posix +++ b/modules/obstack-printf-posix @@ -10,6 +10,7 @@ that module occurs among the main modules in lib/. Files: m4/obstack-printf.m4 m4/obstack-printf-posix.m4 +m4/math_h.m4 lib/obstack_printf.c Depends-on: diff --git a/modules/open b/modules/open index a504aee9c..398efe47e 100644 --- a/modules/open +++ b/modules/open @@ -9,6 +9,7 @@ m4/mode_t.m4 Depends-on: fcntl-h largefile +fstat [test $REPLACE_OPEN = 1] stat [test $REPLACE_OPEN = 1] configure.ac: diff --git a/modules/openat b/modules/openat index 5b32d8549..784640174 100644 --- a/modules/openat +++ b/modules/openat @@ -1,71 +1,42 @@ Description: -Open a file at a directory. +openat() function: Open a file at a directory. Files: -lib/at-func.c -lib/fchmodat.c -lib/fchownat.c -lib/fstatat.c -lib/mkdirat.c lib/openat.c -lib/openat.h lib/openat-priv.h -lib/openat-proc.c -lib/unlinkat.c m4/openat.m4 +m4/lstat.m4 m4/mode_t.m4 Depends-on: -dosname -errno -extensions -fchdir fcntl-h -fdopendir -gettext-h -intprops +extensions largefile -lchown [test $HAVE_FCHOWNAT = 0 || test $REPLACE_FCHOWNAT = 1] -lstat -mkdir [test $HAVE_MKDIRAT = 0] -open -openat-die -rmdir [test $REPLACE_UNLINKAT = 1] -save-cwd -stdbool -sys_stat -unistd -unlink [test $REPLACE_UNLINKAT = 1] +openat-h [test $HAVE_OPENAT = 0 || test $REPLACE_OPENAT = 1] +stdbool [test $HAVE_OPENAT = 0 || test $REPLACE_OPENAT = 1] +sys_stat [test $HAVE_OPENAT = 0 || test $REPLACE_OPENAT = 1] +fstat [test $REPLACE_OPENAT = 1] +at-internal [test $HAVE_OPENAT = 0] +dosname [test $HAVE_OPENAT = 0] +errno [test $HAVE_OPENAT = 0] +fchdir [test $HAVE_OPENAT = 0] +open [test $HAVE_OPENAT = 0] +openat-die [test $HAVE_OPENAT = 0] +save-cwd [test $HAVE_OPENAT = 0] configure.ac: gl_FUNC_OPENAT -AC_LIBOBJ([openat-proc]) -if test $HAVE_FCHMODAT = 0; then - AC_LIBOBJ([fchmodat]) -fi -if test $ac_cv_func_fstatat = no || test $REPLACE_FSTATAT = 1; then - AC_LIBOBJ([fstatat]) -fi -if test $HAVE_MKDIRAT = 0; then - AC_LIBOBJ([mkdirat]) -fi if test $HAVE_OPENAT = 0 || test $REPLACE_OPENAT = 1; then AC_LIBOBJ([openat]) + gl_PREREQ_OPENAT fi -if test $ac_cv_func_unlinkat = no || test $REPLACE_UNLINKAT = 1; then - AC_LIBOBJ([unlinkat]) -fi -if test $HAVE_FCHOWNAT = 0 || test $REPLACE_FCHOWNAT = 1; then - AC_LIBOBJ([fchownat]) -fi +gl_MODULE_INDICATOR([openat]) dnl for lib/getcwd.c +gl_FCNTL_MODULE_INDICATOR([openat]) Makefile.am: Include: - - -"openat.h" License: GPL diff --git a/modules/openat-die b/modules/openat-die index 76cc44dc1..08bef776f 100644 --- a/modules/openat-die +++ b/modules/openat-die @@ -5,10 +5,10 @@ Files: lib/openat-die.c Depends-on: -openat +openat-h error -gettext-h exitfail +gettext-h configure.ac: diff --git a/modules/openat-h b/modules/openat-h new file mode 100644 index 000000000..2af3b8885 --- /dev/null +++ b/modules/openat-h @@ -0,0 +1,24 @@ +Description: +Declarations of functions related to accessing files relative to a directory. + +Files: +lib/openat.h + +Depends-on: +fcntl-h +stdbool +sys_stat +unistd + +configure.ac: + +Makefile.am: + +Include: +"openat.h" + +License: +GPL + +Maintainer: +Jim Meyering, Eric Blake diff --git a/modules/openat-tests b/modules/openat-tests index b83fb721d..c42d843ce 100644 --- a/modules/openat-tests +++ b/modules/openat-tests @@ -1,39 +1,16 @@ Files: -tests/nap.h -tests/test-chown.h -tests/test-lchown.h -tests/test-lstat.h -tests/test-mkdir.h -tests/test-rmdir.h -tests/test-stat.h -tests/test-unlink.h -tests/test-fchownat.c -tests/test-fstatat.c -tests/test-mkdirat.c tests/test-openat.c -tests/test-unlinkat.c +tests/test-open.h tests/signature.h tests/macros.h Depends-on: -getcwd-lgpl -ignore-value -mgetgroups progname -usleep -stat-time symlink -unlinkdir configure.ac: -AC_CHECK_FUNCS_ONCE([getegid]) Makefile.am: -TESTS += test-fchownat test-fstatat test-mkdirat test-openat test-unlinkat -check_PROGRAMS += test-fchownat test-fstatat test-mkdirat test-openat \ - test-unlinkat -test_fchownat_LDADD = $(LDADD) @LIBINTL@ -test_fstatat_LDADD = $(LDADD) @LIBINTL@ -test_mkdirat_LDADD = $(LDADD) @LIBINTL@ +TESTS += test-openat +check_PROGRAMS += test-openat test_openat_LDADD = $(LDADD) @LIBINTL@ -test_unlinkat_LDADD = $(LDADD) @LIBINTL@ diff --git a/modules/opendir b/modules/opendir new file mode 100644 index 000000000..04a335967 --- /dev/null +++ b/modules/opendir @@ -0,0 +1,32 @@ +Description: +opendir() function: start reading the entries of a directory + +Files: +lib/opendir.c +lib/dirent-private.h +m4/opendir.m4 + +Depends-on: +dirent +largefile +filename [test $HAVE_OPENDIR = 0 || test $REPLACE_OPENDIR = 1] +unistd [test $HAVE_OPENDIR = 0 || test $REPLACE_OPENDIR = 1] +closedir [test $HAVE_OPENDIR = 0 || test $REPLACE_OPENDIR = 1] + +configure.ac: +gl_FUNC_OPENDIR +if test $HAVE_OPENDIR = 0 || test $REPLACE_OPENDIR = 1; then + AC_LIBOBJ([opendir]) +fi +gl_DIRENT_MODULE_INDICATOR([opendir]) + +Makefile.am: + +Include: + + +License: +LGPL + +Maintainer: +Bruno Haible diff --git a/modules/openpty b/modules/openpty index 27a8bfc04..8d174da7c 100644 --- a/modules/openpty +++ b/modules/openpty @@ -8,8 +8,9 @@ m4/pty.m4 Depends-on: pty extensions -fcntl-h -ioctl +fcntl-h [test $HAVE_OPENPTY = 0 || test $REPLACE_OPENPTY = 1] +posix_openpt [test $HAVE_OPENPTY = 0 || test $REPLACE_OPENPTY = 1] +ioctl [test $HAVE_OPENPTY = 0 || test $REPLACE_OPENPTY = 1] configure.ac: gl_FUNC_OPENPTY @@ -27,7 +28,7 @@ Link: $(PTY_LIB) License: -LGPL +LGPLv2+ Maintainer: Simon Josefsson diff --git a/modules/pclose b/modules/pclose new file mode 100644 index 000000000..833186fbb --- /dev/null +++ b/modules/pclose @@ -0,0 +1,28 @@ +Description: +pclose() function: close a stream to a shell command. + +Files: +lib/pclose.c +m4/pclose.m4 + +Depends-on: +stdio + +configure.ac: +gl_FUNC_PCLOSE +if test $HAVE_PCLOSE = 0; then + AC_LIBOBJ([pclose]) + gl_PREREQ_PCLOSE +fi +gl_STDIO_MODULE_INDICATOR([pclose]) + +Makefile.am: + +Include: + + +License: +LGPL + +Maintainer: +Bruno Haible diff --git a/modules/pclose-tests b/modules/pclose-tests new file mode 100644 index 000000000..617382008 --- /dev/null +++ b/modules/pclose-tests @@ -0,0 +1,8 @@ +Files: + +Depends-on: +popen-tests + +configure.ac: + +Makefile.am: diff --git a/modules/perror-tests b/modules/perror-tests index 04adee2e2..5e4180028 100644 --- a/modules/perror-tests +++ b/modules/perror-tests @@ -8,6 +8,7 @@ tests/test-perror.sh Depends-on: dup2 +ftruncate strerror configure.ac: diff --git a/modules/pipe-posix-tests b/modules/pipe-posix-tests index 7afafdc50..3f428a061 100644 --- a/modules/pipe-posix-tests +++ b/modules/pipe-posix-tests @@ -6,6 +6,7 @@ tests/macros.h Depends-on: stdbool binary-io +msvc-nothrow configure.ac: diff --git a/modules/pipe2-tests b/modules/pipe2-tests index 2e6c3f78a..74f9d5f3e 100644 --- a/modules/pipe2-tests +++ b/modules/pipe2-tests @@ -5,6 +5,7 @@ tests/macros.h Depends-on: stdbool +msvc-nothrow configure.ac: diff --git a/modules/poll b/modules/poll index f1f22bfd8..8fa88fd4d 100644 --- a/modules/poll +++ b/modules/poll @@ -9,9 +9,11 @@ Depends-on: poll-h alloca [test $HAVE_POLL = 0 || test $REPLACE_POLL = 1] select [test $HAVE_POLL = 0 || test $REPLACE_POLL = 1] +sockets [test $HAVE_POLL = 0 || test $REPLACE_POLL = 1] sys_select [test $HAVE_POLL = 0 || test $REPLACE_POLL = 1] sys_time [test $HAVE_POLL = 0 || test $REPLACE_POLL = 1] errno [test $HAVE_POLL = 0 || test $REPLACE_POLL = 1] +msvc-nothrow [test $HAVE_POLL = 0 || test $REPLACE_POLL = 1] configure.ac: gl_FUNC_POLL @@ -26,6 +28,9 @@ Makefile.am: Include: +Link: +$(LIB_POLL) + License: LGPLv2+ diff --git a/modules/poll-h-c++-tests b/modules/poll-h-c++-tests index 7ca908c71..8dd6262ba 100644 --- a/modules/poll-h-c++-tests +++ b/modules/poll-h-c++-tests @@ -15,5 +15,5 @@ if ANSICXX TESTS += test-poll-h-c++ check_PROGRAMS += test-poll-h-c++ test_poll_h_c___SOURCES = test-poll-h-c++.cc -test_poll_h_c___LDADD = $(LDADD) @LIBSOCKET@ +test_poll_h_c___LDADD = $(LDADD) $(LIB_POLL) endif diff --git a/modules/poll-tests b/modules/poll-tests index d34107ee8..ab291a090 100644 --- a/modules/poll-tests +++ b/modules/poll-tests @@ -28,4 +28,4 @@ AC_CHECK_HEADERS_ONCE([unistd.h sys/wait.h]) Makefile.am: TESTS += test-poll check_PROGRAMS += test-poll -test_poll_LDADD = $(LDADD) @LIBSOCKET@ $(INET_PTON_LIB) +test_poll_LDADD = $(LDADD) $(LIB_POLL) @LIBSOCKET@ $(INET_PTON_LIB) diff --git a/modules/popen b/modules/popen index 37b3cf6ca..eb4102978 100644 --- a/modules/popen +++ b/modules/popen @@ -7,11 +7,11 @@ m4/popen.m4 Depends-on: stdio -open [test $REPLACE_POPEN = 1] +open [test $HAVE_POPEN = 0 || test $REPLACE_POPEN = 1] configure.ac: gl_FUNC_POPEN -if test $REPLACE_POPEN = 1; then +if test $HAVE_POPEN = 0 || test $REPLACE_POPEN = 1; then AC_LIBOBJ([popen]) gl_PREREQ_POPEN fi diff --git a/modules/popen-safer-tests b/modules/popen-safer-tests index 8b212aed2..2fa7b2d49 100644 --- a/modules/popen-safer-tests +++ b/modules/popen-safer-tests @@ -6,6 +6,7 @@ tests/macros.h Depends-on: dup2 +pclose sys_wait configure.ac: diff --git a/modules/popen-tests b/modules/popen-tests index f3465b62a..25a0e9110 100644 --- a/modules/popen-tests +++ b/modules/popen-tests @@ -6,6 +6,7 @@ tests/macros.h Depends-on: dup2 +pclose sys_wait configure.ac: diff --git a/modules/posix_openpt b/modules/posix_openpt new file mode 100644 index 000000000..5bef9e27a --- /dev/null +++ b/modules/posix_openpt @@ -0,0 +1,28 @@ +Description: +posix_openpt() function: Open the master side of a pseudo-terminal. + +Files: +lib/posix_openpt.c +m4/posix_openpt.m4 + +Depends-on: +extensions +stdlib + +configure.ac: +gl_FUNC_POSIX_OPENPT +if test $HAVE_POSIX_OPENPT = 0; then + AC_LIBOBJ([posix_openpt]) +fi +gl_STDLIB_MODULE_INDICATOR([posix_openpt]) + +Makefile.am: + +Include: + + +License: +LGPLv2+ + +Maintainer: +Eric Blake diff --git a/modules/posix_openpt-tests b/modules/posix_openpt-tests new file mode 100644 index 000000000..9ebf80526 --- /dev/null +++ b/modules/posix_openpt-tests @@ -0,0 +1,15 @@ +Files: +tests/test-posix_openpt.c +tests/signature.h +tests/macros.h + +Depends-on: +grantpt +ptsname +unlockpt + +configure.ac: + +Makefile.am: +TESTS += test-posix_openpt +check_PROGRAMS += test-posix_openpt diff --git a/modules/posix_spawn_file_actions_addclose b/modules/posix_spawn_file_actions_addclose index eef7b63c5..b106e657a 100644 --- a/modules/posix_spawn_file_actions_addclose +++ b/modules/posix_spawn_file_actions_addclose @@ -9,7 +9,8 @@ m4/posix_spawn.m4 Depends-on: spawn -getdtablesize [test $HAVE_POSIX_SPAWN = 0 || test $REPLACE_POSIX_SPAWN = 1] +getdtablesize [test $HAVE_POSIX_SPAWN = 0 || test $REPLACE_POSIX_SPAWN = 1] +posix_spawn_file_actions_init [test $HAVE_POSIX_SPAWN = 0 || test $REPLACE_POSIX_SPAWN = 1] configure.ac: gl_POSIX_SPAWN diff --git a/modules/posix_spawn_file_actions_addclose-tests b/modules/posix_spawn_file_actions_addclose-tests new file mode 100644 index 000000000..716ddb2e8 --- /dev/null +++ b/modules/posix_spawn_file_actions_addclose-tests @@ -0,0 +1,13 @@ +Files: +tests/test-posix_spawn_file_actions_addclose.c +tests/signature.h +tests/macros.h + +Depends-on: +posix_spawn_file_actions_init + +configure.ac: + +Makefile.am: +TESTS += test-posix_spawn_file_actions_addclose +check_PROGRAMS += test-posix_spawn_file_actions_addclose diff --git a/modules/posix_spawn_file_actions_adddup2 b/modules/posix_spawn_file_actions_adddup2 index 1cab62fb9..b7a6188ab 100644 --- a/modules/posix_spawn_file_actions_adddup2 +++ b/modules/posix_spawn_file_actions_adddup2 @@ -9,7 +9,8 @@ m4/posix_spawn.m4 Depends-on: spawn -getdtablesize [test $HAVE_POSIX_SPAWN = 0 || test $REPLACE_POSIX_SPAWN = 1] +getdtablesize [test $HAVE_POSIX_SPAWN = 0 || test $REPLACE_POSIX_SPAWN = 1] +posix_spawn_file_actions_init [test $HAVE_POSIX_SPAWN = 0 || test $REPLACE_POSIX_SPAWN = 1] configure.ac: gl_POSIX_SPAWN diff --git a/modules/posix_spawn_file_actions_adddup2-tests b/modules/posix_spawn_file_actions_adddup2-tests new file mode 100644 index 000000000..32e0fe55e --- /dev/null +++ b/modules/posix_spawn_file_actions_adddup2-tests @@ -0,0 +1,13 @@ +Files: +tests/test-posix_spawn_file_actions_adddup2.c +tests/signature.h +tests/macros.h + +Depends-on: +posix_spawn_file_actions_init + +configure.ac: + +Makefile.am: +TESTS += test-posix_spawn_file_actions_adddup2 +check_PROGRAMS += test-posix_spawn_file_actions_adddup2 diff --git a/modules/posix_spawn_file_actions_addopen b/modules/posix_spawn_file_actions_addopen index 464e6491e..0af24972d 100644 --- a/modules/posix_spawn_file_actions_addopen +++ b/modules/posix_spawn_file_actions_addopen @@ -9,7 +9,8 @@ m4/posix_spawn.m4 Depends-on: spawn -getdtablesize [test $HAVE_POSIX_SPAWN = 0 || test $REPLACE_POSIX_SPAWN = 1] +getdtablesize [test $HAVE_POSIX_SPAWN = 0 || test $REPLACE_POSIX_SPAWN = 1] +posix_spawn_file_actions_init [test $HAVE_POSIX_SPAWN = 0 || test $REPLACE_POSIX_SPAWN = 1] configure.ac: gl_POSIX_SPAWN diff --git a/modules/posix_spawn_file_actions_addopen-tests b/modules/posix_spawn_file_actions_addopen-tests new file mode 100644 index 000000000..d866c02c7 --- /dev/null +++ b/modules/posix_spawn_file_actions_addopen-tests @@ -0,0 +1,13 @@ +Files: +tests/test-posix_spawn_file_actions_addopen.c +tests/signature.h +tests/macros.h + +Depends-on: +posix_spawn_file_actions_init + +configure.ac: + +Makefile.am: +TESTS += test-posix_spawn_file_actions_addopen +check_PROGRAMS += test-posix_spawn_file_actions_addopen diff --git a/modules/posix_spawnp-tests b/modules/posix_spawnp-tests index 49465d856..6363585d2 100644 --- a/modules/posix_spawnp-tests +++ b/modules/posix_spawnp-tests @@ -19,6 +19,7 @@ sigprocmask stdbool unistd sys_wait +dup configure.ac: AC_EGREP_CPP([notposix], [[ diff --git a/modules/pow b/modules/pow index dec50d1bc..a2cb311ab 100644 --- a/modules/pow +++ b/modules/pow @@ -2,12 +2,13 @@ Description: pow() function: power function. Files: +m4/pow.m4 m4/mathfunc.m4 Depends-on: configure.ac: -gl_COMMON_DOUBLE_MATHFUNC([pow]) +gl_FUNC_POW Makefile.am: diff --git a/modules/powf b/modules/powf new file mode 100644 index 000000000..0f31ce2cf --- /dev/null +++ b/modules/powf @@ -0,0 +1,31 @@ +Description: +powf() function: power function. + +Files: +lib/powf.c +m4/powf.m4 + +Depends-on: +math +pow [test $HAVE_POWF = 0] + +configure.ac: +gl_FUNC_POWF +if test $HAVE_POWF = 0; then + AC_LIBOBJ([powf]) +fi +gl_MATH_MODULE_INDICATOR([powf]) + +Makefile.am: + +Include: + + +Link: +$(POWF_LIBM) + +License: +LGPL + +Maintainer: +Bruno Haible diff --git a/modules/powf-tests b/modules/powf-tests new file mode 100644 index 000000000..dea0f657c --- /dev/null +++ b/modules/powf-tests @@ -0,0 +1,13 @@ +Files: +tests/test-powf.c +tests/signature.h +tests/macros.h + +Depends-on: + +configure.ac: + +Makefile.am: +TESTS += test-powf +check_PROGRAMS += test-powf +test_powf_LDADD = $(LDADD) @POWF_LIBM@ diff --git a/modules/printf-frexpl b/modules/printf-frexpl index c23550e1b..c506a6266 100644 --- a/modules/printf-frexpl +++ b/modules/printf-frexpl @@ -11,9 +11,10 @@ m4/frexpl.m4 m4/ldexpl.m4 Depends-on: -float -math -fpucw +printf-frexp [test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 1] +float [test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 0] +math [test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 0] +fpucw [test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 0] configure.ac: gl_FUNC_PRINTF_FREXPL diff --git a/modules/printf-posix-tests b/modules/printf-posix-tests index 8e8ec6de6..8a99cd6cd 100644 --- a/modules/printf-posix-tests +++ b/modules/printf-posix-tests @@ -5,6 +5,7 @@ tests/test-printf-posix.h tests/test-printf-posix.output tests/test-printf-posix2.sh tests/test-printf-posix2.c +tests/infinity.h tests/signature.h tests/macros.h diff --git a/modules/pselect b/modules/pselect index fa69c5369..1ca08edea 100644 --- a/modules/pselect +++ b/modules/pselect @@ -23,7 +23,7 @@ Include: Link: -$(LIBSOCKET) $(LIB_PTHREAD_SIGMASK) +$(LIB_SELECT) $(LIB_PTHREAD_SIGMASK) License: LGPLv2+ diff --git a/modules/pselect-tests b/modules/pselect-tests index 0dccb3634..0c37ff6ab 100644 --- a/modules/pselect-tests +++ b/modules/pselect-tests @@ -30,4 +30,4 @@ AC_CHECK_HEADERS_ONCE([sys/wait.h]) Makefile.am: TESTS += test-pselect check_PROGRAMS += test-pselect -test_pselect_LDADD = $(LDADD) @LIBSOCKET@ @LIB_PTHREAD_SIGMASK@ $(INET_PTON_LIB) +test_pselect_LDADD = $(LDADD) @LIB_SELECT@ @LIBSOCKET@ @LIB_PTHREAD_SIGMASK@ $(INET_PTON_LIB) diff --git a/modules/pt_chown b/modules/pt_chown index 0002ab79a..515df4b72 100644 --- a/modules/pt_chown +++ b/modules/pt_chown @@ -8,20 +8,19 @@ lib/pty-private.h Depends-on: ptsname stdlib +configmake configure.ac: Makefile.am: # TODO: Add rules for installing as setuid root (chown root, chmod a=rx,u+s). -# The next line can be removed once we assume automake >= 1.11. -pkglibexecdir = $(libexecdir)/@PACKAGE@ pkglibexec_PROGRAMS = pt_chown pt_chown_LDADD = libgnu.a Include: License: -LGPL +LGPLv2+ Maintainer: glibc diff --git a/modules/pthread_sigmask b/modules/pthread_sigmask index b9a8f9666..f45125956 100644 --- a/modules/pthread_sigmask +++ b/modules/pthread_sigmask @@ -6,7 +6,7 @@ lib/pthread_sigmask.c m4/pthread_sigmask.m4 Depends-on: -signal +signal-h threadlib sigprocmask [test $HAVE_PTHREAD_SIGMASK = 0 || test $REPLACE_PTHREAD_SIGMASK = 1] diff --git a/modules/ptsname b/modules/ptsname index 985b79ba5..f0ce25600 100644 --- a/modules/ptsname +++ b/modules/ptsname @@ -8,7 +8,7 @@ m4/ptsname.m4 Depends-on: stdlib extensions -ttyname_r [test $HAVE_PTSNAME = 0] +ptsname_r [test $HAVE_PTSNAME = 0] configure.ac: gl_FUNC_PTSNAME @@ -24,7 +24,7 @@ Include: License: -LGPL +LGPLv2+ Maintainer: Bruno Haible diff --git a/modules/ptsname-tests b/modules/ptsname-tests index 344b8a703..e26bc9e5c 100644 --- a/modules/ptsname-tests +++ b/modules/ptsname-tests @@ -7,6 +7,7 @@ Depends-on: same-inode configure.ac: +AC_CHECK_DECLS_ONCE([alarm]) Makefile.am: TESTS += test-ptsname diff --git a/modules/ptsname_r b/modules/ptsname_r new file mode 100644 index 000000000..7520847e1 --- /dev/null +++ b/modules/ptsname_r @@ -0,0 +1,30 @@ +Description: +ptsname_r() function: Determine name of the slave side of a pseudo-terminal. + +Files: +lib/ptsname_r.c +m4/ptsname_r.m4 + +Depends-on: +stdlib +extensions +ttyname_r [test $HAVE_PTSNAME_R = 0 || test $REPLACE_PTSNAME_R = 1] + +configure.ac: +gl_FUNC_PTSNAME_R +if test $HAVE_PTSNAME_R = 0 || test $REPLACE_PTSNAME_R = 1; then + AC_LIBOBJ([ptsname_r]) + gl_PREREQ_PTSNAME_R +fi +gl_STDLIB_MODULE_INDICATOR([ptsname_r]) + +Makefile.am: + +Include: + + +License: +LGPLv2+ + +Maintainer: +Bruno Haible, Eric Blake diff --git a/modules/ptsname_r-tests b/modules/ptsname_r-tests new file mode 100644 index 000000000..50b3f8106 --- /dev/null +++ b/modules/ptsname_r-tests @@ -0,0 +1,14 @@ +Files: +tests/test-ptsname_r.c +tests/signature.h +tests/macros.h + +Depends-on: +same-inode + +configure.ac: +AC_CHECK_DECLS_ONCE([alarm]) + +Makefile.am: +TESTS += test-ptsname_r +check_PROGRAMS += test-ptsname_r diff --git a/modules/putenv b/modules/putenv index 7476af11a..3321a5e95 100644 --- a/modules/putenv +++ b/modules/putenv @@ -7,6 +7,7 @@ m4/putenv.m4 Depends-on: stdlib +environ [test $REPLACE_PUTENV = 1] malloc-posix [test $REPLACE_PUTENV = 1] configure.ac: diff --git a/modules/raise b/modules/raise index 7735dfeac..734e03a93 100644 --- a/modules/raise +++ b/modules/raise @@ -1,19 +1,21 @@ Description: Send a signal to the executing process. -Status: -obsolete - -Notice: -This module is obsolete. - Files: lib/raise.c +m4/raise.m4 Depends-on: +signal-h +msvc-inval [test $HAVE_RAISE = 0 || test $REPLACE_RAISE = 1] configure.ac: -AC_REPLACE_FUNCS(raise) +gl_FUNC_RAISE +if test $HAVE_RAISE = 0 || test $REPLACE_RAISE = 1; then + AC_LIBOBJ([raise]) + gl_PREREQ_RAISE +fi +gl_SIGNAL_MODULE_INDICATOR([raise]) Makefile.am: @@ -24,5 +26,5 @@ License: LGPLv2+ Maintainer: -Jim Meyering +Jim Meyering, Bruno Haible diff --git a/modules/raise-tests b/modules/raise-tests new file mode 100644 index 000000000..257f9e338 --- /dev/null +++ b/modules/raise-tests @@ -0,0 +1,12 @@ +Files: +tests/test-raise.c +tests/signature.h +tests/macros.h + +Depends-on: + +configure.ac: + +Makefile.am: +TESTS += test-raise +check_PROGRAMS += test-raise diff --git a/modules/read b/modules/read index 12d97c75f..baa758b2d 100644 --- a/modules/read +++ b/modules/read @@ -7,11 +7,14 @@ m4/read.m4 Depends-on: unistd +msvc-inval [test $REPLACE_READ = 1] +msvc-nothrow [test $REPLACE_READ = 1] configure.ac: gl_FUNC_READ if test $REPLACE_READ = 1; then AC_LIBOBJ([read]) + gl_PREREQ_READ fi gl_UNISTD_MODULE_INDICATOR([read]) diff --git a/modules/read-file b/modules/read-file index 0f380ca9a..506e88f0a 100644 --- a/modules/read-file +++ b/modules/read-file @@ -7,6 +7,7 @@ lib/read-file.c m4/read-file.m4 Depends-on: +fstat ftello malloc-posix realloc-posix diff --git a/modules/read-tests b/modules/read-tests new file mode 100644 index 000000000..9a138677c --- /dev/null +++ b/modules/read-tests @@ -0,0 +1,14 @@ +Files: +tests/test-read.c +tests/signature.h +tests/macros.h + +Depends-on: +binary-io +open + +configure.ac: + +Makefile.am: +TESTS += test-read +check_PROGRAMS += test-read diff --git a/modules/readdir b/modules/readdir new file mode 100644 index 000000000..487a888a1 --- /dev/null +++ b/modules/readdir @@ -0,0 +1,29 @@ +Description: +readdir() function: read the next entry of a directory + +Files: +lib/readdir.c +lib/dirent-private.h +m4/readdir.m4 + +Depends-on: +dirent +largefile + +configure.ac: +gl_FUNC_READDIR +if test $HAVE_READDIR = 0; then + AC_LIBOBJ([readdir]) +fi +gl_DIRENT_MODULE_INDICATOR([readdir]) + +Makefile.am: + +Include: + + +License: +LGPL + +Maintainer: +Bruno Haible diff --git a/modules/readlinkat b/modules/readlinkat index ea35d8882..f31d3fed4 100644 --- a/modules/readlinkat +++ b/modules/readlinkat @@ -1,15 +1,22 @@ Description: -readlinkat(): read symlinks relative to a directory +readlinkat() function: read symlinks relative to a directory Files: lib/readlinkat.c +lib/at-func.c m4/readlinkat.m4 Depends-on: unistd extensions -fcntl-h -openat [test $HAVE_READLINKAT = 0] +at-internal [test $HAVE_READLINKAT = 0] +dosname [test $HAVE_READLINKAT = 0] +errno [test $HAVE_READLINKAT = 0] +fchdir [test $HAVE_READLINKAT = 0] +fcntl-h [test $HAVE_READLINKAT = 0] +openat-die [test $HAVE_READLINKAT = 0] +openat-h [test $HAVE_READLINKAT = 0] +save-cwd [test $HAVE_READLINKAT = 0] readlink [test $HAVE_READLINKAT = 0] configure.ac: diff --git a/modules/readlinkat-tests b/modules/readlinkat-tests index de23df8dd..1fdaa5982 100644 --- a/modules/readlinkat-tests +++ b/modules/readlinkat-tests @@ -6,7 +6,9 @@ tests/macros.h Depends-on: ignore-value +openat symlinkat +unlinkat configure.ac: diff --git a/modules/recv b/modules/recv index c225917b1..b47d8f532 100644 --- a/modules/recv +++ b/modules/recv @@ -7,7 +7,9 @@ lib/w32sock.h Depends-on: sys_socket +socketlib errno [test "$ac_cv_header_winsock2_h" = yes] +msvc-nothrow [test "$ac_cv_header_winsock2_h" = yes] configure.ac: AC_REQUIRE([gl_HEADER_SYS_SOCKET]) @@ -21,6 +23,9 @@ Makefile.am: Include: +Link: +$(LIBSOCKET) + License: LGPLv2+ diff --git a/modules/recv-tests b/modules/recv-tests new file mode 100644 index 000000000..e53361111 --- /dev/null +++ b/modules/recv-tests @@ -0,0 +1,14 @@ +Files: +tests/test-recv.c +tests/signature.h +tests/macros.h + +Depends-on: +sockets + +configure.ac: + +Makefile.am: +TESTS += test-recv +check_PROGRAMS += test-recv +test_recv_LDADD = $(LDADD) @LIBSOCKET@ diff --git a/modules/recvfrom b/modules/recvfrom index 9a6d833cc..2b051b461 100644 --- a/modules/recvfrom +++ b/modules/recvfrom @@ -7,8 +7,10 @@ lib/w32sock.h Depends-on: sys_socket +socketlib errno [test "$ac_cv_header_winsock2_h" = yes] getpeername [test "$ac_cv_header_winsock2_h" = yes] +msvc-nothrow [test "$ac_cv_header_winsock2_h" = yes] configure.ac: AC_REQUIRE([gl_HEADER_SYS_SOCKET]) @@ -22,6 +24,9 @@ Makefile.am: Include: +Link: +$(LIBSOCKET) + License: LGPLv2+ diff --git a/modules/recvfrom-tests b/modules/recvfrom-tests new file mode 100644 index 000000000..ac209427f --- /dev/null +++ b/modules/recvfrom-tests @@ -0,0 +1,15 @@ +Files: +tests/test-recvfrom.c +tests/signature.h +tests/macros.h + +Depends-on: +netinet_in +sockets + +configure.ac: + +Makefile.am: +TESTS += test-recvfrom +check_PROGRAMS += test-recvfrom +test_recvfrom_LDADD = $(LDADD) @LIBSOCKET@ diff --git a/modules/rename b/modules/rename index 52ca382d3..582d63083 100644 --- a/modules/rename +++ b/modules/rename @@ -8,6 +8,7 @@ m4/rename.m4 Depends-on: stdio canonicalize-lgpl [test $REPLACE_RENAME = 1] +chdir [test $REPLACE_RENAME = 1] dirname-lgpl [test $REPLACE_RENAME = 1] lstat [test $REPLACE_RENAME = 1] rmdir [test $REPLACE_RENAME = 1] diff --git a/modules/rename-tests b/modules/rename-tests index 339ecdf57..b3cd9733b 100644 --- a/modules/rename-tests +++ b/modules/rename-tests @@ -11,6 +11,9 @@ link stdbool symlink sys_stat +opendir +readdir +closedir configure.ac: diff --git a/modules/renameat b/modules/renameat index 6e1012a32..ca03f9aa1 100644 --- a/modules/renameat +++ b/modules/renameat @@ -10,18 +10,25 @@ Depends-on: stdio extensions fcntl-h -dosname [test $HAVE_RENAMEAT = 0 || test $REPLACE_RENAMEAT = 1] filenamecat-lgpl [test $HAVE_RENAMEAT = 0 || test $REPLACE_RENAMEAT = 1] -getcwd-lgpl [test $HAVE_RENAMEAT = 0 || test $REPLACE_RENAMEAT = 1] -openat [test $HAVE_RENAMEAT = 0 || test $REPLACE_RENAMEAT = 1] -rename [test $HAVE_RENAMEAT = 0 || test $REPLACE_RENAMEAT = 1] -same-inode [test $HAVE_RENAMEAT = 0 || test $REPLACE_RENAMEAT = 1] -save-cwd [test $HAVE_RENAMEAT = 0 || test $REPLACE_RENAMEAT = 1] +openat-h [test $HAVE_RENAMEAT = 0 || test $REPLACE_RENAMEAT = 1] +fstatat [test $REPLACE_RENAMEAT = 1] +stdbool [test $REPLACE_RENAMEAT = 1] +at-internal [test $HAVE_RENAMEAT = 0] +dosname [test $HAVE_RENAMEAT = 0] +fstat [test $HAVE_RENAMEAT = 0] +getcwd-lgpl [test $HAVE_RENAMEAT = 0] +openat-die [test $HAVE_RENAMEAT = 0] +rename [test $HAVE_RENAMEAT = 0] +same-inode [test $HAVE_RENAMEAT = 0] +save-cwd [test $HAVE_RENAMEAT = 0] configure.ac: gl_FUNC_RENAMEAT if test $HAVE_RENAMEAT = 0 || test $REPLACE_RENAMEAT = 1; then AC_LIBOBJ([renameat]) +fi +if test $HAVE_RENAMEAT = 0; then AC_LIBOBJ([at-func2]) fi gl_STDIO_MODULE_INDICATOR([renameat]) diff --git a/modules/renameat-tests b/modules/renameat-tests index 187928c05..970ebd7ba 100644 --- a/modules/renameat-tests +++ b/modules/renameat-tests @@ -8,6 +8,9 @@ Depends-on: ignore-value filenamecat getcwd-lgpl +opendir +readdir +closedir configure.ac: diff --git a/modules/rewinddir b/modules/rewinddir new file mode 100644 index 000000000..050cfe8cc --- /dev/null +++ b/modules/rewinddir @@ -0,0 +1,30 @@ +Description: +rewinddir() function: restart reading the entries of a directory from the +beginning + +Files: +lib/rewinddir.c +lib/dirent-private.h +m4/rewinddir.m4 + +Depends-on: +dirent +largefile + +configure.ac: +gl_FUNC_REWINDDIR +if test $HAVE_REWINDDIR = 0; then + AC_LIBOBJ([rewinddir]) +fi +gl_DIRENT_MODULE_INDICATOR([rewinddir]) + +Makefile.am: + +Include: + + +License: +LGPL + +Maintainer: +Bruno Haible diff --git a/modules/rint b/modules/rint index 276c9263f..08cdc4ca4 100644 --- a/modules/rint +++ b/modules/rint @@ -1,13 +1,20 @@ Description: -rint() function: round to nearest integer. +rint() function: round according to the current rounding mode. Files: +lib/rint.c +m4/rint.m4 m4/mathfunc.m4 Depends-on: +math configure.ac: -gl_MATHFUNC([rint], [double], [(double)]) +gl_FUNC_RINT +if test $HAVE_RINT = 0; then + AC_LIBOBJ([rint]) +fi +gl_MATH_MODULE_INDICATOR([rint]) Makefile.am: diff --git a/modules/rint-tests b/modules/rint-tests index 315fda379..bb69767a0 100644 --- a/modules/rint-tests +++ b/modules/rint-tests @@ -1,9 +1,13 @@ Files: tests/test-rint.c +tests/minus-zero.h +tests/infinity.h +tests/nan.h tests/signature.h tests/macros.h Depends-on: +isnand-nolibm configure.ac: diff --git a/modules/rintf b/modules/rintf new file mode 100644 index 000000000..92b93a399 --- /dev/null +++ b/modules/rintf @@ -0,0 +1,32 @@ +Description: +rintf() function: round according to the current rounding mode. + +Files: +lib/rintf.c +lib/rint.c +m4/rintf.m4 +m4/mathfunc.m4 + +Depends-on: +math + +configure.ac: +gl_FUNC_RINTF +if test $HAVE_RINTF = 0; then + AC_LIBOBJ([rintf]) +fi +gl_MATH_MODULE_INDICATOR([rintf]) + +Makefile.am: + +Include: + + +Link: +$(RINTF_LIBM) + +License: +LGPL + +Maintainer: +Bruno Haible diff --git a/modules/rintf-tests b/modules/rintf-tests new file mode 100644 index 000000000..1b5a9c1a4 --- /dev/null +++ b/modules/rintf-tests @@ -0,0 +1,17 @@ +Files: +tests/test-rintf.c +tests/minus-zero.h +tests/infinity.h +tests/nan.h +tests/signature.h +tests/macros.h + +Depends-on: +isnanf-nolibm + +configure.ac: + +Makefile.am: +TESTS += test-rintf +check_PROGRAMS += test-rintf +test_rintf_LDADD = $(LDADD) @RINTF_LIBM@ diff --git a/modules/rintl b/modules/rintl new file mode 100644 index 000000000..dac26185f --- /dev/null +++ b/modules/rintl @@ -0,0 +1,33 @@ +Description: +rintl() function: round according to the current rounding mode. + +Files: +lib/rintl.c +lib/rint.c +m4/rintl.m4 +m4/mathfunc.m4 + +Depends-on: +math +rint [test $HAVE_RINTL = 0 && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 1] + +configure.ac: +gl_FUNC_RINTL +if test $HAVE_RINTL = 0; then + AC_LIBOBJ([rintl]) +fi +gl_MATH_MODULE_INDICATOR([rintl]) + +Makefile.am: + +Include: + + +Link: +$(RINTL_LIBM) + +License: +LGPL + +Maintainer: +Bruno Haible diff --git a/modules/rintl-tests b/modules/rintl-tests new file mode 100644 index 000000000..3a1d80dd9 --- /dev/null +++ b/modules/rintl-tests @@ -0,0 +1,19 @@ +Files: +tests/test-rintl.c +tests/minus-zero.h +tests/infinity.h +tests/nan.h +tests/signature.h +tests/macros.h + +Depends-on: +fpucw +isnanl-nolibm +float + +configure.ac: + +Makefile.am: +TESTS += test-rintl +check_PROGRAMS += test-rintl +test_rintl_LDADD = $(LDADD) @RINTL_LIBM@ diff --git a/modules/round-tests b/modules/round-tests index 9e154c8cc..2c4b37bf6 100644 --- a/modules/round-tests +++ b/modules/round-tests @@ -2,6 +2,7 @@ Files: tests/test-round1.c tests/test-round2.c tests/minus-zero.h +tests/infinity.h tests/nan.h tests/signature.h tests/macros.h diff --git a/modules/roundf-tests b/modules/roundf-tests index 7ee4178f3..cd8af3020 100644 --- a/modules/roundf-tests +++ b/modules/roundf-tests @@ -3,6 +3,7 @@ tests/test-roundf1.c tests/test-round2.c tests/test-roundf2.c tests/minus-zero.h +tests/infinity.h tests/nan.h tests/signature.h tests/macros.h diff --git a/modules/roundl b/modules/roundl index 91671f441..3b5c96288 100644 --- a/modules/roundl +++ b/modules/roundl @@ -12,7 +12,8 @@ m4/ceill.m4 Depends-on: math extensions -float [test $HAVE_DECL_ROUNDL = 0 || test $REPLACE_ROUNDL = 1] +round [{ test $HAVE_DECL_ROUNDL = 0 || test $REPLACE_ROUNDL = 1; } && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 1] +float [{ test $HAVE_DECL_ROUNDL = 0 || test $REPLACE_ROUNDL = 1; } && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 0] configure.ac: gl_FUNC_ROUNDL diff --git a/modules/roundl-tests b/modules/roundl-tests index f9bd46727..7e7aca3b9 100644 --- a/modules/roundl-tests +++ b/modules/roundl-tests @@ -1,6 +1,7 @@ Files: tests/test-roundl.c tests/minus-zero.h +tests/infinity.h tests/nan.h tests/signature.h tests/macros.h diff --git a/modules/savedir b/modules/savedir index 1415eeb5e..f17ab0a9d 100644 --- a/modules/savedir +++ b/modules/savedir @@ -7,8 +7,11 @@ lib/savedir.c m4/savedir.m4 Depends-on: +closedir dirent-safer fdopendir +opendir +readdir xalloc configure.ac: diff --git a/modules/savewd b/modules/savewd index 1e95b4127..9a7b8c72c 100644 --- a/modules/savewd +++ b/modules/savewd @@ -7,6 +7,7 @@ lib/savewd.c m4/savewd.m4 Depends-on: +chdir dosname errno fchdir diff --git a/modules/scandir b/modules/scandir index 54b57dfc1..71ef4654c 100644 --- a/modules/scandir +++ b/modules/scandir @@ -6,9 +6,12 @@ lib/scandir.c m4/scandir.m4 Depends-on: +closedir dirent extensions largefile +opendir +readdir configure.ac: gl_FUNC_SCANDIR diff --git a/modules/select b/modules/select index 5969a4eaf..7b25a8bc9 100644 --- a/modules/select +++ b/modules/select @@ -9,6 +9,7 @@ Depends-on: sys_select alloca [test $REPLACE_SELECT = 1] sockets [test $REPLACE_SELECT = 1] +msvc-nothrow [test $REPLACE_SELECT = 1] configure.ac: gl_FUNC_SELECT @@ -23,7 +24,7 @@ Include: Link: -$(LIBSOCKET) +$(LIB_SELECT) License: LGPLv2+ diff --git a/modules/select-tests b/modules/select-tests index a3b13db2d..bd7b73137 100644 --- a/modules/select-tests +++ b/modules/select-tests @@ -36,6 +36,6 @@ Makefile.am: TESTS += test-select test-select-in.sh test-select-out.sh # test-select-stdin has to be run by hand. check_PROGRAMS += test-select test-select-fd test-select-stdin -test_select_LDADD = $(LDADD) @LIBSOCKET@ $(INET_PTON_LIB) -test_select_fd_LDADD = $(LDADD) @LIBSOCKET@ -test_select_stdin_LDADD = $(LDADD) @LIBSOCKET@ +test_select_LDADD = $(LDADD) @LIB_SELECT@ @LIBSOCKET@ $(INET_PTON_LIB) +test_select_fd_LDADD = $(LDADD) @LIB_SELECT@ +test_select_stdin_LDADD = $(LDADD) @LIB_SELECT@ diff --git a/modules/selinux-at b/modules/selinux-at index 925219d11..62dd6e682 100644 --- a/modules/selinux-at +++ b/modules/selinux-at @@ -2,12 +2,22 @@ Description: openat-style fd-relative functions for SE Linux Files: -lib/selinux-at.c lib/selinux-at.h +lib/selinux-at.c +lib/at-func.c Depends-on: -openat selinux-h +at-internal +dosname +errno +extensions +fchdir +fcntl-h +openat-die +openat-h +save-cwd +unistd configure.ac: AC_CHECK_HEADERS([selinux/flask.h]) diff --git a/modules/send b/modules/send index 8a07da9d4..5e115c3f8 100644 --- a/modules/send +++ b/modules/send @@ -7,7 +7,9 @@ lib/w32sock.h Depends-on: sys_socket +socketlib errno [test "$ac_cv_header_winsock2_h" = yes] +msvc-nothrow [test "$ac_cv_header_winsock2_h" = yes] configure.ac: AC_REQUIRE([gl_HEADER_SYS_SOCKET]) @@ -21,6 +23,9 @@ Makefile.am: Include: +Link: +$(LIBSOCKET) + License: LGPLv2+ diff --git a/modules/send-tests b/modules/send-tests new file mode 100644 index 000000000..334b4abba --- /dev/null +++ b/modules/send-tests @@ -0,0 +1,14 @@ +Files: +tests/test-send.c +tests/signature.h +tests/macros.h + +Depends-on: +sockets + +configure.ac: + +Makefile.am: +TESTS += test-send +check_PROGRAMS += test-send +test_send_LDADD = $(LDADD) @LIBSOCKET@ diff --git a/modules/sendto b/modules/sendto index b28a7ea35..924818e31 100644 --- a/modules/sendto +++ b/modules/sendto @@ -7,7 +7,9 @@ lib/w32sock.h Depends-on: sys_socket +socketlib errno [test "$ac_cv_header_winsock2_h" = yes] +msvc-nothrow [test "$ac_cv_header_winsock2_h" = yes] configure.ac: AC_REQUIRE([gl_HEADER_SYS_SOCKET]) @@ -21,6 +23,9 @@ Makefile.am: Include: +Link: +$(LIBSOCKET) + License: LGPLv2+ diff --git a/modules/sendto-tests b/modules/sendto-tests new file mode 100644 index 000000000..afacb2a0e --- /dev/null +++ b/modules/sendto-tests @@ -0,0 +1,16 @@ +Files: +tests/test-sendto.c +tests/signature.h +tests/macros.h + +Depends-on: +netinet_in +sockets +inet_pton + +configure.ac: + +Makefile.am: +TESTS += test-sendto +check_PROGRAMS += test-sendto +test_sendto_LDADD = $(LDADD) @LIBSOCKET@ $(INET_PTON_LIB) diff --git a/modules/setsockopt b/modules/setsockopt index 33726b11b..bfe8acdae 100644 --- a/modules/setsockopt +++ b/modules/setsockopt @@ -7,8 +7,10 @@ lib/w32sock.h Depends-on: sys_socket +socketlib sys_time [test "$ac_cv_header_winsock2_h" = yes] errno [test "$ac_cv_header_winsock2_h" = yes] +msvc-nothrow [test "$ac_cv_header_winsock2_h" = yes] configure.ac: AC_REQUIRE([gl_HEADER_SYS_SOCKET]) @@ -22,6 +24,9 @@ Makefile.am: Include: +Link: +$(LIBSOCKET) + License: LGPLv2+ diff --git a/modules/setsockopt-tests b/modules/setsockopt-tests new file mode 100644 index 000000000..4704d9394 --- /dev/null +++ b/modules/setsockopt-tests @@ -0,0 +1,15 @@ +Files: +tests/test-setsockopt.c +tests/signature.h +tests/macros.h + +Depends-on: +netinet_in +sockets + +configure.ac: + +Makefile.am: +TESTS += test-setsockopt +check_PROGRAMS += test-setsockopt +test_setsockopt_LDADD = $(LDADD) @LIBSOCKET@ diff --git a/modules/shutdown b/modules/shutdown index 322ff8d89..32845dbc8 100644 --- a/modules/shutdown +++ b/modules/shutdown @@ -7,7 +7,9 @@ lib/w32sock.h Depends-on: sys_socket +socketlib errno [test "$ac_cv_header_winsock2_h" = yes] +msvc-nothrow [test "$ac_cv_header_winsock2_h" = yes] configure.ac: AC_REQUIRE([gl_HEADER_SYS_SOCKET]) @@ -21,6 +23,9 @@ Makefile.am: Include: +Link: +$(LIBSOCKET) + License: LGPLv2+ diff --git a/modules/shutdown-tests b/modules/shutdown-tests new file mode 100644 index 000000000..d90299d4c --- /dev/null +++ b/modules/shutdown-tests @@ -0,0 +1,14 @@ +Files: +tests/test-shutdown.c +tests/signature.h +tests/macros.h + +Depends-on: +sockets + +configure.ac: + +Makefile.am: +TESTS += test-shutdown +check_PROGRAMS += test-shutdown +test_shutdown_LDADD = $(LDADD) @LIBSOCKET@ diff --git a/modules/sigaction b/modules/sigaction index 9fde5f69e..218076680 100644 --- a/modules/sigaction +++ b/modules/sigaction @@ -7,7 +7,7 @@ lib/sig-handler.h m4/sigaction.m4 Depends-on: -signal +signal-h sigprocmask [test $HAVE_SIGACTION = 0] configure.ac: diff --git a/modules/signal b/modules/signal index b8d96be10..5bf24bcbb 100644 --- a/modules/signal +++ b/modules/signal @@ -1,59 +1,19 @@ Description: -A GNU-like . +Placeholder for eventual signal() replacement. Files: -lib/signal.in.h -m4/signal_h.m4 Depends-on: -include_next -snippet/arg-nonnull -snippet/c++defs -snippet/warn-on-use -extensions +signal-h configure.ac: -gl_SIGNAL_H Makefile.am: -BUILT_SOURCES += signal.h - -# We need the following in order to create when the system -# doesn't have a complete one. -signal.h: signal.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ - sed -e 's|@''GUARD_PREFIX''@|${gl_include_guard_prefix}|g' \ - -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ - -e 's|@''NEXT_SIGNAL_H''@|$(NEXT_SIGNAL_H)|g' \ - -e 's|@''GNULIB_PTHREAD_SIGMASK''@|$(GNULIB_PTHREAD_SIGMASK)|g' \ - -e 's/@''GNULIB_SIGNAL_H_SIGPIPE''@/$(GNULIB_SIGNAL_H_SIGPIPE)/g' \ - -e 's/@''GNULIB_SIGPROCMASK''@/$(GNULIB_SIGPROCMASK)/g' \ - -e 's/@''GNULIB_SIGACTION''@/$(GNULIB_SIGACTION)/g' \ - -e 's|@''HAVE_POSIX_SIGNALBLOCKING''@|$(HAVE_POSIX_SIGNALBLOCKING)|g' \ - -e 's|@''HAVE_PTHREAD_SIGMASK''@|$(HAVE_PTHREAD_SIGMASK)|g' \ - -e 's|@''HAVE_SIGSET_T''@|$(HAVE_SIGSET_T)|g' \ - -e 's|@''HAVE_SIGINFO_T''@|$(HAVE_SIGINFO_T)|g' \ - -e 's|@''HAVE_SIGACTION''@|$(HAVE_SIGACTION)|g' \ - -e 's|@''HAVE_STRUCT_SIGACTION_SA_SIGACTION''@|$(HAVE_STRUCT_SIGACTION_SA_SIGACTION)|g' \ - -e 's|@''HAVE_TYPE_VOLATILE_SIG_ATOMIC_T''@|$(HAVE_TYPE_VOLATILE_SIG_ATOMIC_T)|g' \ - -e 's|@''HAVE_SIGHANDLER_T''@|$(HAVE_SIGHANDLER_T)|g' \ - -e 's|@''REPLACE_PTHREAD_SIGMASK''@|$(REPLACE_PTHREAD_SIGMASK)|g' \ - -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ - -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ - -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ - < $(srcdir)/signal.in.h; \ - } > $@-t && \ - mv $@-t $@ -MOSTLYCLEANFILES += signal.h signal.h-t Include: - License: LGPLv2+ Maintainer: -all +Bruno Haible diff --git a/modules/signal-c++-tests b/modules/signal-c++-tests deleted file mode 100644 index 02a92fb91..000000000 --- a/modules/signal-c++-tests +++ /dev/null @@ -1,20 +0,0 @@ -Files: -tests/test-signal-c++.cc -tests/test-signal-c++2.cc -tests/signature.h - -Status: -c++-test - -Depends-on: -ansi-c++-opt - -configure.ac: - -Makefile.am: -if ANSICXX -TESTS += test-signal-c++ -check_PROGRAMS += test-signal-c++ -test_signal_c___SOURCES = test-signal-c++.cc test-signal-c++2.cc -test_signal_c___LDADD = $(LDADD) $(LIBINTL) $(LIB_NANOSLEEP) $(LIB_PTHREAD_SIGMASK) -endif diff --git a/modules/signal-h b/modules/signal-h new file mode 100644 index 000000000..fe9af81cf --- /dev/null +++ b/modules/signal-h @@ -0,0 +1,62 @@ +Description: +A GNU-like . + +Files: +lib/signal.in.h +m4/signal_h.m4 + +Depends-on: +include_next +snippet/arg-nonnull +snippet/c++defs +snippet/warn-on-use +extensions + +configure.ac: +gl_SIGNAL_H + +Makefile.am: +BUILT_SOURCES += signal.h + +# We need the following in order to create when the system +# doesn't have a complete one. +signal.h: signal.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ + sed -e 's|@''GUARD_PREFIX''@|${gl_include_guard_prefix}|g' \ + -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_SIGNAL_H''@|$(NEXT_SIGNAL_H)|g' \ + -e 's|@''GNULIB_PTHREAD_SIGMASK''@|$(GNULIB_PTHREAD_SIGMASK)|g' \ + -e 's|@''GNULIB_RAISE''@|$(GNULIB_RAISE)|g' \ + -e 's/@''GNULIB_SIGNAL_H_SIGPIPE''@/$(GNULIB_SIGNAL_H_SIGPIPE)/g' \ + -e 's/@''GNULIB_SIGPROCMASK''@/$(GNULIB_SIGPROCMASK)/g' \ + -e 's/@''GNULIB_SIGACTION''@/$(GNULIB_SIGACTION)/g' \ + -e 's|@''HAVE_POSIX_SIGNALBLOCKING''@|$(HAVE_POSIX_SIGNALBLOCKING)|g' \ + -e 's|@''HAVE_PTHREAD_SIGMASK''@|$(HAVE_PTHREAD_SIGMASK)|g' \ + -e 's|@''HAVE_RAISE''@|$(HAVE_RAISE)|g' \ + -e 's|@''HAVE_SIGSET_T''@|$(HAVE_SIGSET_T)|g' \ + -e 's|@''HAVE_SIGINFO_T''@|$(HAVE_SIGINFO_T)|g' \ + -e 's|@''HAVE_SIGACTION''@|$(HAVE_SIGACTION)|g' \ + -e 's|@''HAVE_STRUCT_SIGACTION_SA_SIGACTION''@|$(HAVE_STRUCT_SIGACTION_SA_SIGACTION)|g' \ + -e 's|@''HAVE_TYPE_VOLATILE_SIG_ATOMIC_T''@|$(HAVE_TYPE_VOLATILE_SIG_ATOMIC_T)|g' \ + -e 's|@''HAVE_SIGHANDLER_T''@|$(HAVE_SIGHANDLER_T)|g' \ + -e 's|@''REPLACE_PTHREAD_SIGMASK''@|$(REPLACE_PTHREAD_SIGMASK)|g' \ + -e 's|@''REPLACE_RAISE''@|$(REPLACE_RAISE)|g' \ + -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ + -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ + -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ + < $(srcdir)/signal.in.h; \ + } > $@-t && \ + mv $@-t $@ +MOSTLYCLEANFILES += signal.h signal.h-t + +Include: + + +License: +LGPLv2+ + +Maintainer: +all diff --git a/modules/signal-h-c++-tests b/modules/signal-h-c++-tests new file mode 100644 index 000000000..c7b23713c --- /dev/null +++ b/modules/signal-h-c++-tests @@ -0,0 +1,20 @@ +Files: +tests/test-signal-h-c++.cc +tests/test-signal-h-c++2.cc +tests/signature.h + +Status: +c++-test + +Depends-on: +ansi-c++-opt + +configure.ac: + +Makefile.am: +if ANSICXX +TESTS += test-signal-h-c++ +check_PROGRAMS += test-signal-h-c++ +test_signal_h_c___SOURCES = test-signal-h-c++.cc test-signal-h-c++2.cc +test_signal_h_c___LDADD = $(LDADD) $(LIBINTL) $(LIB_NANOSLEEP) $(LIB_PTHREAD_SIGMASK) +endif diff --git a/modules/signal-h-tests b/modules/signal-h-tests new file mode 100644 index 000000000..dab83e9ed --- /dev/null +++ b/modules/signal-h-tests @@ -0,0 +1,11 @@ +Files: +tests/test-signal-h.c + +Depends-on: +signal-h-c++-tests + +configure.ac: + +Makefile.am: +TESTS += test-signal-h +check_PROGRAMS += test-signal-h diff --git a/modules/signal-tests b/modules/signal-tests deleted file mode 100644 index 9b882a534..000000000 --- a/modules/signal-tests +++ /dev/null @@ -1,11 +0,0 @@ -Files: -tests/test-signal.c - -Depends-on: -signal-c++-tests - -configure.ac: - -Makefile.am: -TESTS += test-signal -check_PROGRAMS += test-signal diff --git a/modules/signbit-tests b/modules/signbit-tests index b8247652f..65d5602b9 100644 --- a/modules/signbit-tests +++ b/modules/signbit-tests @@ -1,6 +1,7 @@ Files: tests/test-signbit.c tests/minus-zero.h +tests/infinity.h tests/macros.h m4/exponentf.m4 m4/exponentd.m4 diff --git a/modules/sigpipe b/modules/sigpipe index 4f03c9e14..8bb74427e 100644 --- a/modules/sigpipe +++ b/modules/sigpipe @@ -12,8 +12,9 @@ lib/stdio-write.c m4/asm-underscore.m4 Depends-on: +msvc-nothrow raise -signal +signal-h sigprocmask stdio unistd diff --git a/modules/sigprocmask b/modules/sigprocmask index ba12f393b..644654c0b 100644 --- a/modules/sigprocmask +++ b/modules/sigprocmask @@ -6,9 +6,10 @@ lib/sigprocmask.c m4/signalblocking.m4 Depends-on: -signal +signal-h stdint [test $HAVE_POSIX_SIGNALBLOCKING = 0] raise [test $HAVE_POSIX_SIGNALBLOCKING = 0] +msvc-inval [test $HAVE_POSIX_SIGNALBLOCKING = 0] configure.ac: gl_SIGNALBLOCKING diff --git a/modules/sin b/modules/sin index ba5e92db7..357e7b245 100644 --- a/modules/sin +++ b/modules/sin @@ -2,12 +2,13 @@ Description: sin() function: sine function. Files: +m4/sin.m4 m4/mathfunc.m4 Depends-on: configure.ac: -gl_COMMON_DOUBLE_MATHFUNC([sin]) +gl_FUNC_SIN Makefile.am: diff --git a/modules/sinf b/modules/sinf new file mode 100644 index 000000000..f3496871d --- /dev/null +++ b/modules/sinf @@ -0,0 +1,31 @@ +Description: +sinf() function: sine function. + +Files: +lib/sinf.c +m4/sinf.m4 + +Depends-on: +math +sin [test $HAVE_SINF = 0] + +configure.ac: +gl_FUNC_SINF +if test $HAVE_SINF = 0; then + AC_LIBOBJ([sinf]) +fi +gl_MATH_MODULE_INDICATOR([sinf]) + +Makefile.am: + +Include: + + +Link: +$(SINF_LIBM) + +License: +LGPL + +Maintainer: +Bruno Haible diff --git a/modules/sinf-tests b/modules/sinf-tests new file mode 100644 index 000000000..5d05bea33 --- /dev/null +++ b/modules/sinf-tests @@ -0,0 +1,13 @@ +Files: +tests/test-sinf.c +tests/signature.h +tests/macros.h + +Depends-on: + +configure.ac: + +Makefile.am: +TESTS += test-sinf +check_PROGRAMS += test-sinf +test_sinf_LDADD = $(LDADD) @SINF_LIBM@ diff --git a/modules/sinh b/modules/sinh index d02ef56d2..d4dd7208e 100644 --- a/modules/sinh +++ b/modules/sinh @@ -2,12 +2,13 @@ Description: sinh() function: hyperbolic sine function. Files: +m4/sinh.m4 m4/mathfunc.m4 Depends-on: configure.ac: -gl_COMMON_DOUBLE_MATHFUNC([sinh]) +gl_FUNC_SINH Makefile.am: diff --git a/modules/sinhf b/modules/sinhf new file mode 100644 index 000000000..f45bbe319 --- /dev/null +++ b/modules/sinhf @@ -0,0 +1,31 @@ +Description: +sinhf() function: hyperbolic sine function. + +Files: +lib/sinhf.c +m4/sinhf.m4 + +Depends-on: +math +sinh [test $HAVE_SINHF = 0] + +configure.ac: +gl_FUNC_SINHF +if test $HAVE_SINHF = 0; then + AC_LIBOBJ([sinhf]) +fi +gl_MATH_MODULE_INDICATOR([sinhf]) + +Makefile.am: + +Include: + + +Link: +$(SINHF_LIBM) + +License: +LGPL + +Maintainer: +Bruno Haible diff --git a/modules/sinhf-tests b/modules/sinhf-tests new file mode 100644 index 000000000..5733a5477 --- /dev/null +++ b/modules/sinhf-tests @@ -0,0 +1,13 @@ +Files: +tests/test-sinhf.c +tests/signature.h +tests/macros.h + +Depends-on: + +configure.ac: + +Makefile.am: +TESTS += test-sinhf +check_PROGRAMS += test-sinhf +test_sinhf_LDADD = $(LDADD) @SINHF_LIBM@ diff --git a/modules/sinl b/modules/sinl index 187f949fa..6ee7834e5 100644 --- a/modules/sinl +++ b/modules/sinl @@ -11,17 +11,20 @@ m4/sinl.m4 Depends-on: math extensions -float [test $HAVE_SINL = 0] -isnanl [test $HAVE_SINL = 0] -floor [test $HAVE_SINL = 0] -floorl [test $HAVE_SINL = 0] +sin [test $HAVE_SINL = 0 && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 1] +float [test $HAVE_SINL = 0 && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 0] +isnanl [test $HAVE_SINL = 0 && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 0] +floor [test $HAVE_SINL = 0 && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 0] +floorl [test $HAVE_SINL = 0 && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 0] configure.ac: gl_FUNC_SINL if test $HAVE_SINL = 0; then AC_LIBOBJ([sinl]) - AC_LIBOBJ([sincosl]) - AC_LIBOBJ([trigl]) + if test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 0; then + AC_LIBOBJ([sincosl]) + AC_LIBOBJ([trigl]) + fi fi gl_MATH_MODULE_INDICATOR([sinl]) diff --git a/modules/snprintf-posix b/modules/snprintf-posix index 874ba5a46..78c12a3bf 100644 --- a/modules/snprintf-posix +++ b/modules/snprintf-posix @@ -11,6 +11,7 @@ that module occurs among the main modules in lib/. Files: m4/snprintf-posix.m4 m4/printf.m4 +m4/math_h.m4 Depends-on: snprintf diff --git a/modules/snprintf-posix-tests b/modules/snprintf-posix-tests index 9a5c3ab7c..0f7257e64 100644 --- a/modules/snprintf-posix-tests +++ b/modules/snprintf-posix-tests @@ -3,6 +3,7 @@ tests/test-snprintf-posix.c tests/test-snprintf-posix.h tests/test-snprintf.c tests/minus-zero.h +tests/infinity.h tests/nan.h tests/signature.h tests/macros.h @@ -12,6 +13,7 @@ stdint float configure.ac: +AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE]) AC_DEFINE([CHECK_SNPRINTF_POSIX], 1, [Define to 1 for strict checking in test-snprintf.c.]) diff --git a/modules/socket b/modules/socket index 92df98046..49625494a 100644 --- a/modules/socket +++ b/modules/socket @@ -7,8 +7,10 @@ lib/w32sock.h Depends-on: sys_socket +socketlib errno [test "$ac_cv_header_winsock2_h" = yes] sockets [test "$ac_cv_header_winsock2_h" = yes] +msvc-nothrow [test "$ac_cv_header_winsock2_h" = yes] configure.ac: AC_REQUIRE([gl_HEADER_SYS_SOCKET]) @@ -31,6 +33,9 @@ Makefile.am: Include: +Link: +$(LIBSOCKET) + License: LGPLv2+ diff --git a/modules/sockets b/modules/sockets index fe9292631..b6dffabc1 100644 --- a/modules/sockets +++ b/modules/sockets @@ -11,6 +11,7 @@ Depends-on: socketlib sys_socket fd-hook +msvc-nothrow configure.ac: gl_SOCKETS diff --git a/modules/spawn-pipe b/modules/spawn-pipe index 9898b3759..bcb0c9d25 100644 --- a/modules/spawn-pipe +++ b/modules/spawn-pipe @@ -14,6 +14,7 @@ environ error fatal-signal gettext-h +msvc-nothrow open pipe2 pipe2-safer diff --git a/modules/spawn-pipe-tests b/modules/spawn-pipe-tests index 16d96fcd9..f7831d5e4 100644 --- a/modules/spawn-pipe-tests +++ b/modules/spawn-pipe-tests @@ -5,6 +5,7 @@ tests/test-spawn-pipe-child.c tests/macros.h Depends-on: +close configure.ac: diff --git a/modules/sprintf-posix b/modules/sprintf-posix index cdcc8aa51..c8bc2a3c2 100644 --- a/modules/sprintf-posix +++ b/modules/sprintf-posix @@ -11,6 +11,7 @@ Files: lib/sprintf.c m4/sprintf-posix.m4 m4/printf.m4 +m4/math_h.m4 Depends-on: stdio diff --git a/modules/sprintf-posix-tests b/modules/sprintf-posix-tests index 333c5844b..ba23199a0 100644 --- a/modules/sprintf-posix-tests +++ b/modules/sprintf-posix-tests @@ -2,6 +2,7 @@ Files: tests/test-sprintf-posix.c tests/test-sprintf-posix.h tests/minus-zero.h +tests/infinity.h tests/nan.h tests/signature.h tests/macros.h @@ -11,6 +12,7 @@ stdint float configure.ac: +AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE]) Makefile.am: TESTS += test-sprintf-posix diff --git a/modules/sqrtf b/modules/sqrtf new file mode 100644 index 000000000..412364956 --- /dev/null +++ b/modules/sqrtf @@ -0,0 +1,31 @@ +Description: +sqrtf() function: square root. + +Files: +lib/sqrtf.c +m4/sqrtf.m4 + +Depends-on: +math +sqrt [test $HAVE_SQRTF = 0] + +configure.ac: +gl_FUNC_SQRTF +if test $HAVE_SQRTF = 0; then + AC_LIBOBJ([sqrtf]) +fi +gl_MATH_MODULE_INDICATOR([sqrtf]) + +Makefile.am: + +Include: + + +Link: +$(SQRTF_LIBM) + +License: +LGPL + +Maintainer: +Bruno Haible diff --git a/modules/sqrtf-tests b/modules/sqrtf-tests new file mode 100644 index 000000000..3cd8d62c5 --- /dev/null +++ b/modules/sqrtf-tests @@ -0,0 +1,13 @@ +Files: +tests/test-sqrtf.c +tests/signature.h +tests/macros.h + +Depends-on: + +configure.ac: + +Makefile.am: +TESTS += test-sqrtf +check_PROGRAMS += test-sqrtf +test_sqrtf_LDADD = $(LDADD) @SQRTF_LIBM@ diff --git a/modules/sqrtl b/modules/sqrtl index df010051c..9bfa38181 100644 --- a/modules/sqrtl +++ b/modules/sqrtl @@ -8,11 +8,11 @@ m4/sqrtl.m4 Depends-on: math extensions -float [test $HAVE_SQRTL = 0] -isnanl [test $HAVE_SQRTL = 0] -frexpl [test $HAVE_SQRTL = 0] -ldexpl [test $HAVE_SQRTL = 0] sqrt [test $HAVE_SQRTL = 0] +float [test $HAVE_SQRTL = 0 && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 0] +isnanl [test $HAVE_SQRTL = 0 && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 0] +frexpl [test $HAVE_SQRTL = 0 && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 0] +ldexpl [test $HAVE_SQRTL = 0 && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 0] configure.ac: gl_FUNC_SQRTL diff --git a/modules/stat b/modules/stat index 46434215f..e309d7379 100644 --- a/modules/stat +++ b/modules/stat @@ -9,6 +9,7 @@ Depends-on: sys_stat largefile dosname [test $REPLACE_STAT = 1] +pathmax [test $REPLACE_STAT = 1] stdbool [test $REPLACE_STAT = 1] verify [test $REPLACE_STAT = 1] diff --git a/modules/stat-tests b/modules/stat-tests index 9c00ce54d..60ecc174a 100644 --- a/modules/stat-tests +++ b/modules/stat-tests @@ -15,3 +15,4 @@ configure.ac: Makefile.am: TESTS += test-stat check_PROGRAMS += test-stat +test_stat_LDADD = $(LDADD) $(LIBINTL) diff --git a/modules/stdalign b/modules/stdalign new file mode 100644 index 000000000..c91e5e0dd --- /dev/null +++ b/modules/stdalign @@ -0,0 +1,38 @@ +Description: +A that nearly conforms to ISO C1X and C++0X. + +Files: +lib/stdalign.in.h +m4/stdalign.m4 + +Depends-on: + +configure.ac: +gl_STDALIGN_H + +Makefile.am: +BUILT_SOURCES += $(STDALIGN_H) + +# We need the following in order to create when the system +# doesn't have one that works. +if GL_GENERATE_STDALIGN_H +stdalign.h: stdalign.in.h $(top_builddir)/config.status + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + cat $(srcdir)/stdalign.in.h; \ + } > $@-t && \ + mv $@-t $@ +else +stdalign.h: $(top_builddir)/config.status + rm -f $@ +endif +MOSTLYCLEANFILES += stdalign.h stdalign.h-t + +Include: + + +License: +LGPLv2+ + +Maintainer: +Paul Eggert, Bruno Haible diff --git a/modules/stdalign-tests b/modules/stdalign-tests new file mode 100644 index 000000000..6d97a3d2a --- /dev/null +++ b/modules/stdalign-tests @@ -0,0 +1,13 @@ +Files: +tests/test-stdalign.c +tests/macros.h + +Depends-on: +verify +stdint + +configure.ac: + +Makefile.am: +TESTS += test-stdalign +check_PROGRAMS += test-stdalign diff --git a/modules/stdarg b/modules/stdarg index 84d3e7b44..44029cdc8 100644 --- a/modules/stdarg +++ b/modules/stdarg @@ -11,9 +11,9 @@ include_next configure.ac-early: dnl Some compilers (e.g., AIX 5.3 cc) need to be in c99 mode dnl for the builtin va_copy to work. With Autoconf 2.60 or later, -dnl AC_PROG_CC_STDC arranges for this. With older Autoconf AC_PROG_CC_STDC +dnl gl_PROG_CC_C99 arranges for this. With older Autoconf gl_PROG_CC_C99 dnl shouldn't hurt, though installers are on their own to set c99 mode. -AC_REQUIRE([AC_PROG_CC_STDC]) +gl_PROG_CC_C99 configure.ac: gl_STDARG_H diff --git a/modules/stdio b/modules/stdio index f8880df3f..2e094b8fe 100644 --- a/modules/stdio +++ b/modules/stdio @@ -10,6 +10,7 @@ include_next snippet/arg-nonnull snippet/c++defs snippet/warn-on-use +ssize_t stddef configure.ac: @@ -30,6 +31,7 @@ stdio.h: stdio.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) -e 's|@''NEXT_STDIO_H''@|$(NEXT_STDIO_H)|g' \ -e 's/@''GNULIB_DPRINTF''@/$(GNULIB_DPRINTF)/g' \ -e 's/@''GNULIB_FCLOSE''@/$(GNULIB_FCLOSE)/g' \ + -e 's/@''GNULIB_FDOPEN''@/$(GNULIB_FDOPEN)/g' \ -e 's/@''GNULIB_FFLUSH''@/$(GNULIB_FFLUSH)/g' \ -e 's/@''GNULIB_FGETC''@/$(GNULIB_FGETC)/g' \ -e 's/@''GNULIB_FGETS''@/$(GNULIB_FGETS)/g' \ @@ -54,6 +56,7 @@ stdio.h: stdio.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) -e 's/@''GNULIB_GETS''@/$(GNULIB_GETS)/g' \ -e 's/@''GNULIB_OBSTACK_PRINTF''@/$(GNULIB_OBSTACK_PRINTF)/g' \ -e 's/@''GNULIB_OBSTACK_PRINTF_POSIX''@/$(GNULIB_OBSTACK_PRINTF_POSIX)/g' \ + -e 's/@''GNULIB_PCLOSE''@/$(GNULIB_PCLOSE)/g' \ -e 's/@''GNULIB_PERROR''@/$(GNULIB_PERROR)/g' \ -e 's/@''GNULIB_POPEN''@/$(GNULIB_POPEN)/g' \ -e 's/@''GNULIB_PRINTF''@/$(GNULIB_PRINTF)/g' \ @@ -92,11 +95,14 @@ stdio.h: stdio.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) -e 's|@''HAVE_DPRINTF''@|$(HAVE_DPRINTF)|g' \ -e 's|@''HAVE_FSEEKO''@|$(HAVE_FSEEKO)|g' \ -e 's|@''HAVE_FTELLO''@|$(HAVE_FTELLO)|g' \ + -e 's|@''HAVE_PCLOSE''@|$(HAVE_PCLOSE)|g' \ + -e 's|@''HAVE_POPEN''@|$(HAVE_POPEN)|g' \ -e 's|@''HAVE_RENAMEAT''@|$(HAVE_RENAMEAT)|g' \ -e 's|@''HAVE_VASPRINTF''@|$(HAVE_VASPRINTF)|g' \ -e 's|@''HAVE_VDPRINTF''@|$(HAVE_VDPRINTF)|g' \ -e 's|@''REPLACE_DPRINTF''@|$(REPLACE_DPRINTF)|g' \ -e 's|@''REPLACE_FCLOSE''@|$(REPLACE_FCLOSE)|g' \ + -e 's|@''REPLACE_FDOPEN''@|$(REPLACE_FDOPEN)|g' \ -e 's|@''REPLACE_FFLUSH''@|$(REPLACE_FFLUSH)|g' \ -e 's|@''REPLACE_FOPEN''@|$(REPLACE_FOPEN)|g' \ -e 's|@''REPLACE_FPRINTF''@|$(REPLACE_FPRINTF)|g' \ diff --git a/modules/stdio-tests b/modules/stdio-tests index 533d6f239..fcda690b7 100644 --- a/modules/stdio-tests +++ b/modules/stdio-tests @@ -4,6 +4,10 @@ tests/test-stdio.c Depends-on: verify stdio-c++-tests +fgetc-tests +fputc-tests +fread-tests +fwrite-tests configure.ac: diff --git a/modules/stdlib b/modules/stdlib index 9ab19ee48..2beee3d2e 100644 --- a/modules/stdlib +++ b/modules/stdlib @@ -45,7 +45,9 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \ -e 's/@''GNULIB_MKOSTEMPS''@/$(GNULIB_MKOSTEMPS)/g' \ -e 's/@''GNULIB_MKSTEMP''@/$(GNULIB_MKSTEMP)/g' \ -e 's/@''GNULIB_MKSTEMPS''@/$(GNULIB_MKSTEMPS)/g' \ + -e 's/@''GNULIB_POSIX_OPENPT''@/$(GNULIB_POSIX_OPENPT)/g' \ -e 's/@''GNULIB_PTSNAME''@/$(GNULIB_PTSNAME)/g' \ + -e 's/@''GNULIB_PTSNAME_R''@/$(GNULIB_PTSNAME_R)/g' \ -e 's/@''GNULIB_PUTENV''@/$(GNULIB_PUTENV)/g' \ -e 's/@''GNULIB_RANDOM_R''@/$(GNULIB_RANDOM_R)/g' \ -e 's/@''GNULIB_REALLOC_POSIX''@/$(GNULIB_REALLOC_POSIX)/g' \ @@ -71,7 +73,9 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \ -e 's|@''HAVE_MKOSTEMPS''@|$(HAVE_MKOSTEMPS)|g' \ -e 's|@''HAVE_MKSTEMP''@|$(HAVE_MKSTEMP)|g' \ -e 's|@''HAVE_MKSTEMPS''@|$(HAVE_MKSTEMPS)|g' \ + -e 's|@''HAVE_POSIX_OPENPT''@|$(HAVE_POSIX_OPENPT)|g' \ -e 's|@''HAVE_PTSNAME''@|$(HAVE_PTSNAME)|g' \ + -e 's|@''HAVE_PTSNAME_R''@|$(HAVE_PTSNAME_R)|g' \ -e 's|@''HAVE_RANDOM_H''@|$(HAVE_RANDOM_H)|g' \ -e 's|@''HAVE_RANDOM_R''@|$(HAVE_RANDOM_R)|g' \ -e 's|@''HAVE_REALPATH''@|$(HAVE_REALPATH)|g' \ @@ -89,6 +93,7 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \ -e 's|@''REPLACE_MALLOC''@|$(REPLACE_MALLOC)|g' \ -e 's|@''REPLACE_MBTOWC''@|$(REPLACE_MBTOWC)|g' \ -e 's|@''REPLACE_MKSTEMP''@|$(REPLACE_MKSTEMP)|g' \ + -e 's|@''REPLACE_PTSNAME_R''@|$(REPLACE_PTSNAME_R)|g' \ -e 's|@''REPLACE_PUTENV''@|$(REPLACE_PUTENV)|g' \ -e 's|@''REPLACE_REALLOC''@|$(REPLACE_REALLOC)|g' \ -e 's|@''REPLACE_REALPATH''@|$(REPLACE_REALPATH)|g' \ diff --git a/modules/strcase b/modules/strcase index 9ca97af21..486a27765 100644 --- a/modules/strcase +++ b/modules/strcase @@ -1,12 +1,6 @@ Description: Case-insensitive string comparison functions. -Status: -obsolete - -Notice: -This module is obsolete. - Files: lib/strcasecmp.c lib/strncasecmp.c diff --git a/modules/strings b/modules/strings index 631cabbae..ced757dec 100644 --- a/modules/strings +++ b/modules/strings @@ -10,6 +10,7 @@ include_next snippet/arg-nonnull snippet/c++defs snippet/warn-on-use +sys_types configure.ac: gl_HEADER_STRINGS_H @@ -23,6 +24,7 @@ strings.h: strings.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ sed -e 's|@''GUARD_PREFIX''@|${gl_include_guard_prefix}|g' \ + -e 's|@''HAVE_STRINGS_H''@|$(HAVE_STRINGS_H)|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ diff --git a/modules/strtoimax-tests b/modules/strtoimax-tests new file mode 100644 index 000000000..10b8e6f31 --- /dev/null +++ b/modules/strtoimax-tests @@ -0,0 +1,12 @@ +Files: +tests/test-strtoimax.c +tests/signature.h +tests/macros.h + +Depends-on: + +configure.ac: + +Makefile.am: +TESTS += test-strtoimax +check_PROGRAMS += test-strtoimax diff --git a/modules/strtoumax-tests b/modules/strtoumax-tests new file mode 100644 index 000000000..cb776bbc6 --- /dev/null +++ b/modules/strtoumax-tests @@ -0,0 +1,12 @@ +Files: +tests/test-strtoumax.c +tests/signature.h +tests/macros.h + +Depends-on: + +configure.ac: + +Makefile.am: +TESTS += test-strtoumax +check_PROGRAMS += test-strtoumax diff --git a/modules/symlinkat b/modules/symlinkat index 7636b2936..f5d712d9f 100644 --- a/modules/symlinkat +++ b/modules/symlinkat @@ -1,15 +1,22 @@ Description: -symlinkat(): create symlinks relative to a directory +symlinkat() function: create symlinks relative to a directory Files: lib/symlinkat.c +lib/at-func.c m4/symlinkat.m4 Depends-on: unistd extensions -fcntl-h -openat [test $HAVE_SYMLINKAT = 0] +at-internal [test $HAVE_SYMLINKAT = 0] +dosname [test $HAVE_SYMLINKAT = 0] +errno [test $HAVE_SYMLINKAT = 0] +fchdir [test $HAVE_SYMLINKAT = 0] +fcntl-h [test $HAVE_SYMLINKAT = 0] +openat-die [test $HAVE_SYMLINKAT = 0] +openat-h [test $HAVE_SYMLINKAT = 0] +save-cwd [test $HAVE_SYMLINKAT = 0] symlink [test $HAVE_SYMLINKAT = 0] configure.ac: diff --git a/modules/symlinkat-tests b/modules/symlinkat-tests index 90331494a..c8a05ff81 100644 --- a/modules/symlinkat-tests +++ b/modules/symlinkat-tests @@ -6,6 +6,7 @@ tests/macros.h Depends-on: ignore-value +openat configure.ac: diff --git a/modules/sys_select b/modules/sys_select index 49a03606a..97262bb08 100644 --- a/modules/sys_select +++ b/modules/sys_select @@ -8,7 +8,7 @@ m4/sys_socket_h.m4 Depends-on: include_next -signal +signal-h snippet/c++defs snippet/warn-on-use sys_time diff --git a/modules/sys_select-c++-tests b/modules/sys_select-c++-tests index cd9c85ef3..e9f0b25d2 100644 --- a/modules/sys_select-c++-tests +++ b/modules/sys_select-c++-tests @@ -15,5 +15,5 @@ if ANSICXX TESTS += test-sys_select-c++ check_PROGRAMS += test-sys_select-c++ test_sys_select_c___SOURCES = test-sys_select-c++.cc -test_sys_select_c___LDADD = $(LDADD) $(LIBINTL) $(LIBSOCKET) $(LIB_NANOSLEEP) +test_sys_select_c___LDADD = $(LDADD) $(LIBINTL) $(LIB_SELECT) $(LIB_NANOSLEEP) endif diff --git a/modules/sys_socket b/modules/sys_socket index df0844bf9..704f2a511 100644 --- a/modules/sys_socket +++ b/modules/sys_socket @@ -7,13 +7,14 @@ m4/sys_socket_h.m4 m4/sockpfaf.m4 Depends-on: -alignof errno include_next snippet/arg-nonnull snippet/c++defs snippet/warn-on-use socklen +ssize_t +stdalign sys_uio configure.ac: diff --git a/modules/sys_stat b/modules/sys_stat index 531562c98..372e65389 100644 --- a/modules/sys_stat +++ b/modules/sys_stat @@ -32,6 +32,7 @@ sys/stat.h: sys_stat.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNU -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_SYS_STAT_H''@|$(NEXT_SYS_STAT_H)|g' \ -e 's/@''GNULIB_FCHMODAT''@/$(GNULIB_FCHMODAT)/g' \ + -e 's/@''GNULIB_FSTAT''@/$(GNULIB_FSTAT)/g' \ -e 's/@''GNULIB_FSTATAT''@/$(GNULIB_FSTATAT)/g' \ -e 's/@''GNULIB_FUTIMENS''@/$(GNULIB_FUTIMENS)/g' \ -e 's/@''GNULIB_LCHMOD''@/$(GNULIB_LCHMOD)/g' \ diff --git a/modules/sys_time b/modules/sys_time index 18700e830..cdf0d4667 100644 --- a/modules/sys_time +++ b/modules/sys_time @@ -4,6 +4,7 @@ A that conforms better to POSIX. Files: lib/sys_time.in.h m4/sys_time_h.m4 +m4/sys_socket_h.m4 Depends-on: include_next @@ -31,6 +32,7 @@ sys/time.h: sys_time.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNU -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_SYS_TIME_H''@|$(NEXT_SYS_TIME_H)|g' \ -e 's/@''GNULIB_GETTIMEOFDAY''@/$(GNULIB_GETTIMEOFDAY)/g' \ + -e 's|@''HAVE_WINSOCK2_H''@|$(HAVE_WINSOCK2_H)|g' \ -e 's/@''HAVE_GETTIMEOFDAY''@/$(HAVE_GETTIMEOFDAY)/g' \ -e 's/@''HAVE_STRUCT_TIMEVAL''@/$(HAVE_STRUCT_TIMEVAL)/g' \ -e 's/@''REPLACE_GETTIMEOFDAY''@/$(REPLACE_GETTIMEOFDAY)/g' \ diff --git a/modules/sys_types b/modules/sys_types new file mode 100644 index 000000000..810f640cd --- /dev/null +++ b/modules/sys_types @@ -0,0 +1,42 @@ +Description: +A that conforms better to POSIX. + +Files: +lib/sys_types.in.h +m4/sys_types_h.m4 + +Depends-on: +include_next +ssize_t + +configure.ac: +gl_SYS_TYPES_H +AC_PROG_MKDIR_P + +Makefile.am: +BUILT_SOURCES += sys/types.h + +# We need the following in order to create when the system +# doesn't have one that works with the given compiler. +sys/types.h: sys_types.in.h $(top_builddir)/config.status + $(AM_V_at)$(MKDIR_P) sys + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + sed -e 's|@''GUARD_PREFIX''@|${gl_include_guard_prefix}|g' \ + -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_SYS_TYPES_H''@|$(NEXT_SYS_TYPES_H)|g' \ + < $(srcdir)/sys_types.in.h; \ + } > $@-t && \ + mv $@-t $@ +MOSTLYCLEANFILES += sys/types.h sys/types.h-t + +Include: + + +License: +LGPLv2+ + +Maintainer: +all diff --git a/modules/sys_types-c++-tests b/modules/sys_types-c++-tests new file mode 100644 index 000000000..68e21ae5a --- /dev/null +++ b/modules/sys_types-c++-tests @@ -0,0 +1,17 @@ +Files: +tests/test-sys_types-c++.cc + +Status: +c++-test + +Depends-on: +ansi-c++-opt + +configure.ac: + +Makefile.am: +if ANSICXX +TESTS += test-sys_types-c++ +check_PROGRAMS += test-sys_types-c++ +test_sys_types_c___SOURCES = test-sys_types-c++.cc +endif diff --git a/modules/sys_types-tests b/modules/sys_types-tests new file mode 100644 index 000000000..cd1a83f63 --- /dev/null +++ b/modules/sys_types-tests @@ -0,0 +1,11 @@ +Files: +tests/test-sys_types.c + +Depends-on: +sys_types-c++-tests + +configure.ac: + +Makefile.am: +TESTS += test-sys_types +check_PROGRAMS += test-sys_types diff --git a/modules/sys_uio b/modules/sys_uio index b6ca3d82d..45b15eee6 100644 --- a/modules/sys_uio +++ b/modules/sys_uio @@ -7,6 +7,8 @@ m4/sys_uio_h.m4 Depends-on: include_next +ssize_t +sys_types configure.ac: gl_HEADER_SYS_UIO diff --git a/modules/tan b/modules/tan index 4f14961fa..0553e08ba 100644 --- a/modules/tan +++ b/modules/tan @@ -2,12 +2,13 @@ Description: tan() function: tangent function. Files: +m4/tan.m4 m4/mathfunc.m4 Depends-on: configure.ac: -gl_COMMON_DOUBLE_MATHFUNC([tan]) +gl_FUNC_TAN Makefile.am: diff --git a/modules/tanf b/modules/tanf new file mode 100644 index 000000000..943f7c786 --- /dev/null +++ b/modules/tanf @@ -0,0 +1,31 @@ +Description: +tanf() function: tangent function. + +Files: +lib/tanf.c +m4/tanf.m4 + +Depends-on: +math +tan [test $HAVE_TANF = 0] + +configure.ac: +gl_FUNC_TANF +if test $HAVE_TANF = 0; then + AC_LIBOBJ([tanf]) +fi +gl_MATH_MODULE_INDICATOR([tanf]) + +Makefile.am: + +Include: + + +Link: +$(TANF_LIBM) + +License: +LGPL + +Maintainer: +Bruno Haible diff --git a/modules/tanf-tests b/modules/tanf-tests new file mode 100644 index 000000000..f65fb2b4e --- /dev/null +++ b/modules/tanf-tests @@ -0,0 +1,13 @@ +Files: +tests/test-tanf.c +tests/signature.h +tests/macros.h + +Depends-on: + +configure.ac: + +Makefile.am: +TESTS += test-tanf +check_PROGRAMS += test-tanf +test_tanf_LDADD = $(LDADD) @TANF_LIBM@ diff --git a/modules/tanh b/modules/tanh index 6969caf53..d09afadfd 100644 --- a/modules/tanh +++ b/modules/tanh @@ -2,12 +2,13 @@ Description: tanh() function: hyperbolic tangent function. Files: +m4/tanh.m4 m4/mathfunc.m4 Depends-on: configure.ac: -gl_COMMON_DOUBLE_MATHFUNC([tanh]) +gl_FUNC_TANH Makefile.am: diff --git a/modules/tanhf b/modules/tanhf new file mode 100644 index 000000000..44f606e75 --- /dev/null +++ b/modules/tanhf @@ -0,0 +1,31 @@ +Description: +tanhf() function: hyperbolic tangent function. + +Files: +lib/tanhf.c +m4/tanhf.m4 + +Depends-on: +math +tanh [test $HAVE_TANHF = 0] + +configure.ac: +gl_FUNC_TANHF +if test $HAVE_TANHF = 0; then + AC_LIBOBJ([tanhf]) +fi +gl_MATH_MODULE_INDICATOR([tanhf]) + +Makefile.am: + +Include: + + +Link: +$(TANHF_LIBM) + +License: +LGPL + +Maintainer: +Bruno Haible diff --git a/modules/tanhf-tests b/modules/tanhf-tests new file mode 100644 index 000000000..5521bd098 --- /dev/null +++ b/modules/tanhf-tests @@ -0,0 +1,13 @@ +Files: +tests/test-tanhf.c +tests/signature.h +tests/macros.h + +Depends-on: + +configure.ac: + +Makefile.am: +TESTS += test-tanhf +check_PROGRAMS += test-tanhf +test_tanhf_LDADD = $(LDADD) @TANHF_LIBM@ diff --git a/modules/tanl b/modules/tanl index ce1f20d73..c91c6fe02 100644 --- a/modules/tanl +++ b/modules/tanl @@ -10,16 +10,19 @@ m4/tanl.m4 Depends-on: math extensions -float [test $HAVE_TANL = 0] -isnanl [test $HAVE_TANL = 0] -floor [test $HAVE_TANL = 0] -floorl [test $HAVE_TANL = 0] +tan [test $HAVE_TANL = 0 && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 1] +float [test $HAVE_TANL = 0 && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 0] +isnanl [test $HAVE_TANL = 0 && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 0] +floor [test $HAVE_TANL = 0 && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 0] +floorl [test $HAVE_TANL = 0 && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 0] configure.ac: gl_FUNC_TANL if test $HAVE_TANL = 0; then AC_LIBOBJ([tanl]) - AC_LIBOBJ([trigl]) + if test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 0; then + AC_LIBOBJ([trigl]) + fi fi gl_MATH_MODULE_INDICATOR([tanl]) diff --git a/modules/tempname b/modules/tempname index 8bb8e8385..b4708d936 100644 --- a/modules/tempname +++ b/modules/tempname @@ -8,6 +8,7 @@ m4/tempname.m4 Depends-on: extensions +fcntl-h gettimeofday lstat stdint diff --git a/modules/trunc-tests b/modules/trunc-tests index 6c254e069..1ec87d7c5 100644 --- a/modules/trunc-tests +++ b/modules/trunc-tests @@ -2,6 +2,7 @@ Files: tests/test-trunc1.c tests/test-trunc2.c tests/minus-zero.h +tests/infinity.h tests/nan.h tests/signature.h tests/macros.h diff --git a/modules/truncf-tests b/modules/truncf-tests index 27b93f2a2..1c847e7bf 100644 --- a/modules/truncf-tests +++ b/modules/truncf-tests @@ -2,6 +2,7 @@ Files: tests/test-truncf1.c tests/test-truncf2.c tests/minus-zero.h +tests/infinity.h tests/nan.h tests/signature.h tests/macros.h diff --git a/modules/truncl b/modules/truncl index 8dbb75280..f02d61e0c 100644 --- a/modules/truncl +++ b/modules/truncl @@ -9,7 +9,8 @@ m4/truncl.m4 Depends-on: math extensions -float [test $HAVE_DECL_TRUNCL = 0 || test $REPLACE_TRUNCL = 1] +trunc [{ test $HAVE_DECL_TRUNCL = 0 || test $REPLACE_TRUNCL = 1; } && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 1] +float [{ test $HAVE_DECL_TRUNCL = 0 || test $REPLACE_TRUNCL = 1; } && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 0] configure.ac: gl_FUNC_TRUNCL diff --git a/modules/truncl-tests b/modules/truncl-tests index 01bcf7392..f6b7dd394 100644 --- a/modules/truncl-tests +++ b/modules/truncl-tests @@ -1,6 +1,7 @@ Files: tests/test-truncl.c tests/minus-zero.h +tests/infinity.h tests/nan.h tests/signature.h tests/macros.h diff --git a/modules/ttyname_r b/modules/ttyname_r index f68d9b19a..62ca5726e 100644 --- a/modules/ttyname_r +++ b/modules/ttyname_r @@ -23,7 +23,7 @@ Include: License: -LGPL +LGPLv2+ Maintainer: Bruno Haible diff --git a/modules/unistd b/modules/unistd index 6c8ea1e40..0cee9b388 100644 --- a/modules/unistd +++ b/modules/unistd @@ -10,6 +10,7 @@ include_next snippet/arg-nonnull snippet/c++defs snippet/warn-on-use +ssize_t stddef configure.ac: @@ -29,8 +30,10 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_UNISTD_H''@|$(NEXT_UNISTD_H)|g' \ + -e 's/@''GNULIB_CHDIR''@/$(GNULIB_CHDIR)/g' \ -e 's/@''GNULIB_CHOWN''@/$(GNULIB_CHOWN)/g' \ -e 's/@''GNULIB_CLOSE''@/$(GNULIB_CLOSE)/g' \ + -e 's/@''GNULIB_DUP''@/$(GNULIB_DUP)/g' \ -e 's/@''GNULIB_DUP2''@/$(GNULIB_DUP2)/g' \ -e 's/@''GNULIB_DUP3''@/$(GNULIB_DUP3)/g' \ -e 's/@''GNULIB_ENVIRON''@/$(GNULIB_ENVIRON)/g' \ @@ -38,6 +41,7 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H -e 's/@''GNULIB_FACCESSAT''@/$(GNULIB_FACCESSAT)/g' \ -e 's/@''GNULIB_FCHDIR''@/$(GNULIB_FCHDIR)/g' \ -e 's/@''GNULIB_FCHOWNAT''@/$(GNULIB_FCHOWNAT)/g' \ + -e 's/@''GNULIB_FDATASYNC''@/$(GNULIB_FDATASYNC)/g' \ -e 's/@''GNULIB_FSYNC''@/$(GNULIB_FSYNC)/g' \ -e 's/@''GNULIB_FTRUNCATE''@/$(GNULIB_FTRUNCATE)/g' \ -e 's/@''GNULIB_GETCWD''@/$(GNULIB_GETCWD)/g' \ @@ -66,7 +70,7 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H -e 's/@''GNULIB_SYMLINK''@/$(GNULIB_SYMLINK)/g' \ -e 's/@''GNULIB_SYMLINKAT''@/$(GNULIB_SYMLINKAT)/g' \ -e 's/@''GNULIB_TTYNAME_R''@/$(GNULIB_TTYNAME_R)/g' \ - -e 's/@''GNULIB_UNISTD_H_GETOPT''@/$(GNULIB_UNISTD_H_GETOPT)/g' \ + -e 's/@''GNULIB_UNISTD_H_GETOPT''@/0$(GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT)/g' \ -e 's/@''GNULIB_UNISTD_H_NONBLOCKING''@/$(GNULIB_UNISTD_H_NONBLOCKING)/g' \ -e 's/@''GNULIB_UNISTD_H_SIGPIPE''@/$(GNULIB_UNISTD_H_SIGPIPE)/g' \ -e 's/@''GNULIB_UNLINK''@/$(GNULIB_UNLINK)/g' \ @@ -81,6 +85,7 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H -e 's|@''HAVE_FACCESSAT''@|$(HAVE_FACCESSAT)|g' \ -e 's|@''HAVE_FCHDIR''@|$(HAVE_FCHDIR)|g' \ -e 's|@''HAVE_FCHOWNAT''@|$(HAVE_FCHOWNAT)|g' \ + -e 's|@''HAVE_FDATASYNC''@|$(HAVE_FDATASYNC)|g' \ -e 's|@''HAVE_FSYNC''@|$(HAVE_FSYNC)|g' \ -e 's|@''HAVE_FTRUNCATE''@|$(HAVE_FTRUNCATE)|g' \ -e 's|@''HAVE_GETDTABLESIZE''@|$(HAVE_GETDTABLESIZE)|g' \ @@ -105,6 +110,7 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H -e 's|@''HAVE_USLEEP''@|$(HAVE_USLEEP)|g' \ -e 's|@''HAVE_DECL_ENVIRON''@|$(HAVE_DECL_ENVIRON)|g' \ -e 's|@''HAVE_DECL_FCHDIR''@|$(HAVE_DECL_FCHDIR)|g' \ + -e 's|@''HAVE_DECL_FDATASYNC''@|$(HAVE_DECL_FDATASYNC)|g' \ -e 's|@''HAVE_DECL_GETDOMAINNAME''@|$(HAVE_DECL_GETDOMAINNAME)|g' \ -e 's|@''HAVE_DECL_GETLOGIN_R''@|$(HAVE_DECL_GETLOGIN_R)|g' \ -e 's|@''HAVE_DECL_GETPAGESIZE''@|$(HAVE_DECL_GETPAGESIZE)|g' \ diff --git a/modules/unistd-safer-tests b/modules/unistd-safer-tests index cc4b97ab3..cd2bbcd34 100644 --- a/modules/unistd-safer-tests +++ b/modules/unistd-safer-tests @@ -5,7 +5,10 @@ tests/macros.h Depends-on: binary-io cloexec +close +dup fd-safer-flag +msvc-nothrow stdbool configure.ac: diff --git a/modules/unistdio/u16-u16-vasnprintf b/modules/unistdio/u16-u16-vasnprintf index c32166961..7a7f46f11 100644 --- a/modules/unistdio/u16-u16-vasnprintf +++ b/modules/unistdio/u16-u16-vasnprintf @@ -6,12 +6,14 @@ lib/unistdio/u16-u16-vasnprintf.c lib/vasnprintf.c m4/vasnprintf.m4 m4/printf.m4 +m4/math_h.m4 m4/wchar_t.m4 m4/wint_t.m4 m4/longlong.m4 m4/intmax_t.m4 m4/stdint_h.m4 m4/inttypes_h.m4 +m4/exponentd.m4 Depends-on: unistdio/base diff --git a/modules/unistdio/u16-vasnprintf b/modules/unistdio/u16-vasnprintf index a382ce47b..09e1330b4 100644 --- a/modules/unistdio/u16-vasnprintf +++ b/modules/unistdio/u16-vasnprintf @@ -6,12 +6,14 @@ lib/unistdio/u16-vasnprintf.c lib/vasnprintf.c m4/vasnprintf.m4 m4/printf.m4 +m4/math_h.m4 m4/wchar_t.m4 m4/wint_t.m4 m4/longlong.m4 m4/intmax_t.m4 m4/stdint_h.m4 m4/inttypes_h.m4 +m4/exponentd.m4 Depends-on: unistdio/base diff --git a/modules/unistdio/u32-u32-vasnprintf b/modules/unistdio/u32-u32-vasnprintf index 800c61e6f..ac248bacb 100644 --- a/modules/unistdio/u32-u32-vasnprintf +++ b/modules/unistdio/u32-u32-vasnprintf @@ -6,12 +6,14 @@ lib/unistdio/u32-u32-vasnprintf.c lib/vasnprintf.c m4/vasnprintf.m4 m4/printf.m4 +m4/math_h.m4 m4/wchar_t.m4 m4/wint_t.m4 m4/longlong.m4 m4/intmax_t.m4 m4/stdint_h.m4 m4/inttypes_h.m4 +m4/exponentd.m4 Depends-on: unistdio/base diff --git a/modules/unistdio/u32-vasnprintf b/modules/unistdio/u32-vasnprintf index fe71cb2b7..6539a3ecb 100644 --- a/modules/unistdio/u32-vasnprintf +++ b/modules/unistdio/u32-vasnprintf @@ -6,12 +6,14 @@ lib/unistdio/u32-vasnprintf.c lib/vasnprintf.c m4/vasnprintf.m4 m4/printf.m4 +m4/math_h.m4 m4/wchar_t.m4 m4/wint_t.m4 m4/longlong.m4 m4/intmax_t.m4 m4/stdint_h.m4 m4/inttypes_h.m4 +m4/exponentd.m4 Depends-on: unistdio/base diff --git a/modules/unistdio/u8-u8-vasnprintf b/modules/unistdio/u8-u8-vasnprintf index 5e9552169..52d3c4424 100644 --- a/modules/unistdio/u8-u8-vasnprintf +++ b/modules/unistdio/u8-u8-vasnprintf @@ -6,12 +6,14 @@ lib/unistdio/u8-u8-vasnprintf.c lib/vasnprintf.c m4/vasnprintf.m4 m4/printf.m4 +m4/math_h.m4 m4/wchar_t.m4 m4/wint_t.m4 m4/longlong.m4 m4/intmax_t.m4 m4/stdint_h.m4 m4/inttypes_h.m4 +m4/exponentd.m4 Depends-on: unistdio/base diff --git a/modules/unistdio/u8-vasnprintf b/modules/unistdio/u8-vasnprintf index 3aaf935c8..adb961688 100644 --- a/modules/unistdio/u8-vasnprintf +++ b/modules/unistdio/u8-vasnprintf @@ -6,12 +6,14 @@ lib/unistdio/u8-vasnprintf.c lib/vasnprintf.c m4/vasnprintf.m4 m4/printf.m4 +m4/math_h.m4 m4/wchar_t.m4 m4/wint_t.m4 m4/longlong.m4 m4/intmax_t.m4 m4/stdint_h.m4 m4/inttypes_h.m4 +m4/exponentd.m4 Depends-on: unistdio/base diff --git a/modules/unistdio/ulc-vasnprintf b/modules/unistdio/ulc-vasnprintf index 8228a0678..8caa7ec7b 100644 --- a/modules/unistdio/ulc-vasnprintf +++ b/modules/unistdio/ulc-vasnprintf @@ -6,12 +6,14 @@ lib/unistdio/ulc-vasnprintf.c lib/vasnprintf.c m4/vasnprintf.m4 m4/printf.m4 +m4/math_h.m4 m4/wchar_t.m4 m4/wint_t.m4 m4/longlong.m4 m4/intmax_t.m4 m4/stdint_h.m4 m4/inttypes_h.m4 +m4/exponentd.m4 Depends-on: unistdio/base diff --git a/modules/unlinkat b/modules/unlinkat new file mode 100644 index 000000000..4a7b87ed2 --- /dev/null +++ b/modules/unlinkat @@ -0,0 +1,43 @@ +Description: +unlinkat() function: Remove a file at a directory. + +Files: +lib/unlinkat.c +lib/at-func.c +lib/openat-priv.h +m4/unlinkat.m4 +m4/lstat.m4 + +Depends-on: +unistd +extensions +fcntl-h [test $HAVE_UNLINKAT = 0 || test $REPLACE_UNLINKAT = 1] +openat-h [test $HAVE_UNLINKAT = 0 || test $REPLACE_UNLINKAT = 1] +sys_stat [test $HAVE_UNLINKAT = 0 || test $REPLACE_UNLINKAT = 1] +fstatat [test $REPLACE_UNLINKAT = 1] +at-internal [test $HAVE_UNLINKAT = 0] +dosname [test $HAVE_UNLINKAT = 0] +errno [test $HAVE_UNLINKAT = 0] +fchdir [test $HAVE_UNLINKAT = 0] +openat-die [test $HAVE_UNLINKAT = 0] +rmdir [test $HAVE_UNLINKAT = 0] +save-cwd [test $HAVE_UNLINKAT = 0] +unlink [test $HAVE_UNLINKAT = 0] + +configure.ac: +gl_FUNC_UNLINKAT +if test $HAVE_UNLINKAT = 0 || test $REPLACE_UNLINKAT = 1; then + AC_LIBOBJ([unlinkat]) +fi +gl_UNISTD_MODULE_INDICATOR([unlinkat]) + +Makefile.am: + +Include: + + +License: +GPL + +Maintainer: +Jim Meyering, Eric Blake diff --git a/modules/unlinkat-tests b/modules/unlinkat-tests new file mode 100644 index 000000000..266ead753 --- /dev/null +++ b/modules/unlinkat-tests @@ -0,0 +1,19 @@ +Files: +tests/test-unlinkat.c +tests/test-rmdir.h +tests/test-unlink.h +tests/signature.h +tests/macros.h + +Depends-on: +ignore-value +progname +symlink +unlinkdir + +configure.ac: + +Makefile.am: +TESTS += test-unlinkat +check_PROGRAMS += test-unlinkat +test_unlinkat_LDADD = $(LDADD) @LIBINTL@ diff --git a/modules/unlockpt b/modules/unlockpt index b5d98cfa4..c91796425 100644 --- a/modules/unlockpt +++ b/modules/unlockpt @@ -9,6 +9,7 @@ m4/unlockpt.m4 Depends-on: stdlib extensions +fcntl-h [test $HAVE_UNLOCKPT = 0] ptsname [test $HAVE_UNLOCKPT = 0] configure.ac: @@ -25,7 +26,7 @@ Include: License: -LGPL +LGPLv2+ Maintainer: Bruno Haible diff --git a/modules/unlockpt-tests b/modules/unlockpt-tests new file mode 100644 index 000000000..fd4b5acb2 --- /dev/null +++ b/modules/unlockpt-tests @@ -0,0 +1,12 @@ +Files: +tests/test-unlockpt.c +tests/signature.h +tests/macros.h + +Depends-on: + +configure.ac: + +Makefile.am: +TESTS += test-unlockpt +check_PROGRAMS += test-unlockpt diff --git a/modules/utimens b/modules/utimens index 1a9687f57..accd74b1d 100644 --- a/modules/utimens +++ b/modules/utimens @@ -9,8 +9,9 @@ m4/utimens.m4 m4/utimes.m4 Depends-on: -dup2 errno +fcntl-h +fstat lstat gettime stat-time diff --git a/modules/utimens-tests b/modules/utimens-tests index 7335c5df5..802d8e51d 100644 --- a/modules/utimens-tests +++ b/modules/utimens-tests @@ -8,6 +8,7 @@ tests/test-utimens.c tests/macros.h Depends-on: +dup ignore-value symlink timespec @@ -15,6 +16,7 @@ usleep utimecmp configure.ac: +AC_REQUIRE([AC_C_INLINE]) Makefile.am: TESTS += test-utimens diff --git a/modules/utimensat b/modules/utimensat index a70ca8cbb..a90590960 100644 --- a/modules/utimensat +++ b/modules/utimensat @@ -3,13 +3,22 @@ Set file access and modification times of a file relative to a directory fd. Files: lib/utimensat.c +lib/at-func.c m4/utimensat.m4 Depends-on: sys_stat extensions -openat [test $HAVE_UTIMENSAT = 0 || test $REPLACE_UTIMENSAT = 1] +at-internal [test $HAVE_UTIMENSAT = 0 || test $REPLACE_UTIMENSAT = 1] +dosname [test $HAVE_UTIMENSAT = 0 || test $REPLACE_UTIMENSAT = 1] +errno [test $HAVE_UTIMENSAT = 0 || test $REPLACE_UTIMENSAT = 1] +fchdir [test $HAVE_UTIMENSAT = 0 || test $REPLACE_UTIMENSAT = 1] +fcntl-h [test $HAVE_UTIMENSAT = 0 || test $REPLACE_UTIMENSAT = 1] +openat-die [test $HAVE_UTIMENSAT = 0 || test $REPLACE_UTIMENSAT = 1] +openat-h [test $HAVE_UTIMENSAT = 0 || test $REPLACE_UTIMENSAT = 1] +save-cwd [test $HAVE_UTIMENSAT = 0 || test $REPLACE_UTIMENSAT = 1] utimens [test $HAVE_UTIMENSAT = 0 || test $REPLACE_UTIMENSAT = 1] +fstatat [test $REPLACE_UTIMENSAT = 1] configure.ac: gl_FUNC_UTIMENSAT diff --git a/modules/utimensat-tests b/modules/utimensat-tests index 6acfe89ad..ec426bbcd 100644 --- a/modules/utimensat-tests +++ b/modules/utimensat-tests @@ -14,6 +14,7 @@ usleep utimecmp configure.ac: +AC_REQUIRE([AC_C_INLINE]) Makefile.am: TESTS += test-utimensat diff --git a/modules/vasnprintf b/modules/vasnprintf index 35f5f3a30..54db89268 100644 --- a/modules/vasnprintf +++ b/modules/vasnprintf @@ -18,6 +18,8 @@ m4/stdint_h.m4 m4/inttypes_h.m4 m4/vasnprintf.m4 m4/printf.m4 +m4/math_h.m4 +m4/exponentd.m4 Depends-on: alloca-opt diff --git a/modules/vasnprintf-posix b/modules/vasnprintf-posix index 6a6177abb..090b1d244 100644 --- a/modules/vasnprintf-posix +++ b/modules/vasnprintf-posix @@ -11,6 +11,7 @@ that module occurs among the main modules in lib/. Files: m4/vasnprintf-posix.m4 m4/printf.m4 +m4/math_h.m4 Depends-on: vasnprintf diff --git a/modules/vasnprintf-posix-tests b/modules/vasnprintf-posix-tests index 01f0188fd..6ba745bf1 100644 --- a/modules/vasnprintf-posix-tests +++ b/modules/vasnprintf-posix-tests @@ -4,6 +4,7 @@ tests/test-vasnprintf-posix2.sh tests/test-vasnprintf-posix2.c tests/test-vasnprintf-posix3.c tests/minus-zero.h +tests/infinity.h tests/nan.h tests/macros.h m4/locale-fr.m4 @@ -15,6 +16,7 @@ float setlocale configure.ac: +AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE]) gt_LOCALE_FR gt_LOCALE_FR_UTF8 diff --git a/modules/vasprintf-posix b/modules/vasprintf-posix index 5e9050689..9665b76c7 100644 --- a/modules/vasprintf-posix +++ b/modules/vasprintf-posix @@ -10,6 +10,7 @@ that module occurs among the main modules in lib/. Files: m4/vasprintf-posix.m4 m4/printf.m4 +m4/math_h.m4 Depends-on: vasprintf diff --git a/modules/vasprintf-posix-tests b/modules/vasprintf-posix-tests index 8702bdcbd..ae486a767 100644 --- a/modules/vasprintf-posix-tests +++ b/modules/vasprintf-posix-tests @@ -1,6 +1,7 @@ Files: tests/test-vasprintf-posix.c tests/minus-zero.h +tests/infinity.h tests/nan.h tests/macros.h @@ -9,6 +10,7 @@ stdint float configure.ac: +AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE]) Makefile.am: TESTS += test-vasprintf-posix diff --git a/modules/vdprintf-posix b/modules/vdprintf-posix index 518ecde52..c994a4f2c 100644 --- a/modules/vdprintf-posix +++ b/modules/vdprintf-posix @@ -11,6 +11,7 @@ that module occurs among the main modules in lib/. Files: m4/vdprintf-posix.m4 m4/printf.m4 +m4/math_h.m4 Depends-on: vdprintf diff --git a/modules/vdprintf-posix-tests b/modules/vdprintf-posix-tests index a7dff7aca..032cae90d 100644 --- a/modules/vdprintf-posix-tests +++ b/modules/vdprintf-posix-tests @@ -3,6 +3,7 @@ tests/test-vdprintf-posix.sh tests/test-vdprintf-posix.c tests/test-fprintf-posix.h tests/test-printf-posix.output +tests/infinity.h tests/signature.h tests/macros.h diff --git a/modules/vdprintf-tests b/modules/vdprintf-tests new file mode 100644 index 000000000..72557aa5c --- /dev/null +++ b/modules/vdprintf-tests @@ -0,0 +1,12 @@ +Files: +tests/test-vdprintf.c +tests/signature.h +tests/macros.h + +Depends-on: + +configure.ac: + +Makefile.am: +TESTS += test-vdprintf +check_PROGRAMS += test-vdprintf diff --git a/modules/vfprintf-posix b/modules/vfprintf-posix index 69b6608e0..aba18b57c 100644 --- a/modules/vfprintf-posix +++ b/modules/vfprintf-posix @@ -11,6 +11,7 @@ Files: lib/vfprintf.c m4/vfprintf-posix.m4 m4/printf.m4 +m4/math_h.m4 Depends-on: stdio diff --git a/modules/vfprintf-posix-tests b/modules/vfprintf-posix-tests index d4dab2d94..87e880903 100644 --- a/modules/vfprintf-posix-tests +++ b/modules/vfprintf-posix-tests @@ -3,6 +3,7 @@ tests/test-vfprintf-posix.sh tests/test-vfprintf-posix.c tests/test-fprintf-posix.h tests/test-printf-posix.output +tests/infinity.h tests/signature.h tests/macros.h diff --git a/modules/vprintf-posix-tests b/modules/vprintf-posix-tests index 84f250b35..1d7e50b31 100644 --- a/modules/vprintf-posix-tests +++ b/modules/vprintf-posix-tests @@ -3,6 +3,7 @@ tests/test-vprintf-posix.sh tests/test-vprintf-posix.c tests/test-printf-posix.h tests/test-printf-posix.output +tests/infinity.h tests/signature.h tests/macros.h diff --git a/modules/vsnprintf-posix b/modules/vsnprintf-posix index 198beeb58..e3456fbc8 100644 --- a/modules/vsnprintf-posix +++ b/modules/vsnprintf-posix @@ -11,6 +11,7 @@ that module occurs among the main modules in lib/. Files: m4/vsnprintf-posix.m4 m4/printf.m4 +m4/math_h.m4 Depends-on: vsnprintf diff --git a/modules/vsnprintf-posix-tests b/modules/vsnprintf-posix-tests index 687d28d44..645c581cb 100644 --- a/modules/vsnprintf-posix-tests +++ b/modules/vsnprintf-posix-tests @@ -3,6 +3,7 @@ tests/test-vsnprintf-posix.c tests/test-snprintf-posix.h tests/test-vsnprintf.c tests/minus-zero.h +tests/infinity.h tests/nan.h tests/signature.h tests/macros.h @@ -12,6 +13,7 @@ stdint float configure.ac: +AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE]) AC_DEFINE([CHECK_VSNPRINTF_POSIX], 1, [Define to 1 for strict checking in test-vsnprintf.c.]) diff --git a/modules/vsprintf-posix b/modules/vsprintf-posix index 10e538561..99c80f14f 100644 --- a/modules/vsprintf-posix +++ b/modules/vsprintf-posix @@ -11,6 +11,7 @@ Files: lib/vsprintf.c m4/vsprintf-posix.m4 m4/printf.m4 +m4/math_h.m4 Depends-on: stdio diff --git a/modules/vsprintf-posix-tests b/modules/vsprintf-posix-tests index 2f04f875a..c8c8bafaf 100644 --- a/modules/vsprintf-posix-tests +++ b/modules/vsprintf-posix-tests @@ -2,6 +2,7 @@ Files: tests/test-vsprintf-posix.c tests/test-sprintf-posix.h tests/minus-zero.h +tests/infinity.h tests/nan.h tests/signature.h tests/macros.h @@ -11,6 +12,7 @@ stdint float configure.ac: +AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE]) Makefile.am: TESTS += test-vsprintf-posix diff --git a/modules/write b/modules/write index d60b5a7f6..36207418f 100644 --- a/modules/write +++ b/modules/write @@ -8,11 +8,14 @@ m4/write.m4 Depends-on: unistd raise [test $REPLACE_WRITE = 1] +msvc-inval [test $REPLACE_WRITE = 1] +msvc-nothrow [test $REPLACE_WRITE = 1] configure.ac: gl_FUNC_WRITE if test $REPLACE_WRITE = 1; then AC_LIBOBJ([write]) + gl_PREREQ_WRITE fi gl_UNISTD_MODULE_INDICATOR([write]) diff --git a/modules/write-tests b/modules/write-tests new file mode 100644 index 000000000..4f1036e79 --- /dev/null +++ b/modules/write-tests @@ -0,0 +1,14 @@ +Files: +tests/test-write.c +tests/signature.h +tests/macros.h + +Depends-on: +binary-io +open + +configure.ac: + +Makefile.am: +TESTS += test-write +check_PROGRAMS += test-write diff --git a/modules/xprintf-posix-tests b/modules/xprintf-posix-tests index 7882b43e1..a8b2984cd 100644 --- a/modules/xprintf-posix-tests +++ b/modules/xprintf-posix-tests @@ -5,6 +5,7 @@ tests/test-xprintf-posix.c tests/test-fprintf-posix.h tests/test-printf-posix.h tests/test-printf-posix.output +tests/infinity.h tests/macros.h Depends-on: diff --git a/tests/infinity.h b/tests/infinity.h new file mode 100644 index 000000000..19a687301 --- /dev/null +++ b/tests/infinity.h @@ -0,0 +1,60 @@ +/* Macros for infinity. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + + +/* Infinityf () returns a 'float' +Infinity. */ + +/* The Microsoft MSVC 9 compiler chokes on the expression 1.0f / 0.0f. */ +#if defined _MSC_VER +static float +Infinityf () +{ + static float zero = 0.0f; + return 1.0f / zero; +} +#else +# define Infinityf() (1.0f / 0.0f) +#endif + + +/* Infinityd () returns a 'double' +Infinity. */ + +/* The Microsoft MSVC 9 compiler chokes on the expression 1.0 / 0.0. */ +#if defined _MSC_VER +static double +Infinityd () +{ + static double zero = 0.0; + return 1.0 / zero; +} +#else +# define Infinityd() (1.0 / 0.0) +#endif + + +/* Infinityl () returns a 'long double' +Infinity. */ + +/* The Microsoft MSVC 9 compiler chokes on the expression 1.0L / 0.0L. */ +#if defined _MSC_VER +static double +Infinityl () +{ + static long double zero = 0.0L; + return 1.0L / zero; +} +#else +# define Infinityl() (1.0L / 0.0L) +#endif diff --git a/tests/init.sh b/tests/init.sh index 0da6c1e32..19c0cf4ae 100644 --- a/tests/init.sh +++ b/tests/init.sh @@ -74,7 +74,20 @@ Exit () { set +e; (exit $1); exit $1; } # the reason for skip/failure to console, rather than to the .log files. : ${stderr_fileno_=2} -warn_ () { echo "$@" 1>&$stderr_fileno_; } +# Note that correct expansion of "$*" depends on IFS starting with ' '. +# Always write the full diagnostic to stderr. +# When stderr_fileno_ is not 2, also emit the first line of the +# diagnostic to that file descriptor. +warn_ () +{ + # If IFS does not start with ' ', set it and emit the warning in a subshell. + case $IFS in + ' '*) printf '%s\n' "$*" >&2 + test $stderr_fileno_ = 2 \ + || { printf '%s\n' "$*" | sed 1q >&$stderr_fileno_ ; } ;; + *) (IFS=' '; warn_ "$@");; + esac +} fail_ () { warn_ "$ME_: failed test: $@"; Exit 1; } skip_ () { warn_ "$ME_: skipped test: $@"; Exit 77; } fatal_ () { warn_ "$ME_: hard error: $@"; Exit 99; } @@ -208,14 +221,96 @@ export MALLOC_PERTURB_ # a partition, or to undo any other global state changes. cleanup_ () { :; } -if ( diff --version < /dev/null 2>&1 | grep GNU ) > /dev/null 2>&1; then - compare () { diff -u "$@"; } +# Emit a header similar to that from diff -u; Print the simulated "diff" +# command so that the order of arguments is clear. Don't bother with @@ lines. +emit_diff_u_header_ () +{ + printf '%s\n' "diff -u $*" \ + "--- $1 1970-01-01" \ + "+++ $2 1970-01-01" +} + +# Arrange not to let diff or cmp operate on /dev/null, +# since on some systems (at least OSF/1 5.1), that doesn't work. +# When there are not two arguments, or no argument is /dev/null, return 2. +# When one argument is /dev/null and the other is not empty, +# cat the nonempty file to stderr and return 1. +# Otherwise, return 0. +compare_dev_null_ () +{ + test $# = 2 || return 2 + + if test "x$1" = x/dev/null; then + test -s "$2" || return 0 + { emit_diff_u_header_ "$@"; sed 's/^/+/' -- "$2"; } >&2 + return 1 + fi + + if test "x$2" = x/dev/null; then + test -s "$1" || return 0 + { emit_diff_u_header_ "$@"; sed 's/^/-/' -- "$1"; } >&2 + return 1 + fi + + return 2 +} + +if diff_out_=`( diff -u "$0" "$0" < /dev/null ) 2>/dev/null`; then + if test -z "$diff_out_"; then + compare_ () { diff -u "$@"; } + else + compare_ () + { + if diff -u "$@" > diff.out; then + # No differences were found, but Solaris 'diff' produces output + # "No differences encountered". Hide this output. + rm -f diff.out + true + else + cat diff.out + rm -f diff.out + false + fi + } + fi +elif diff_out_=`( diff -c "$0" "$0" < /dev/null ) 2>/dev/null`; then + if test -z "$diff_out_"; then + compare_ () { diff -c "$@"; } + else + compare_ () + { + if diff -c "$@" > diff.out; then + # No differences were found, but AIX and HP-UX 'diff' produce output + # "No differences encountered" or "There are no differences between the + # files.". Hide this output. + rm -f diff.out + true + else + cat diff.out + rm -f diff.out + false + fi + } + fi elif ( cmp --version < /dev/null 2>&1 | grep GNU ) > /dev/null 2>&1; then - compare () { cmp -s "$@"; } + compare_ () { cmp -s "$@"; } else - compare () { cmp "$@"; } + compare_ () { cmp "$@"; } fi +# Usage: compare EXPECTED ACTUAL +# +# Given compare_dev_null_'s preprocessing, defer to compare_ if 2 or more. +# Otherwise, propagate $? to caller: any diffs have already been printed. +compare () +{ + compare_dev_null_ "$@" + case $? in + 0|1) return $?;; + *) compare_ "$@";; + esac +} + # An arbitrary prefix to help distinguish test directories. testdir_prefix_ () { printf gt; } @@ -426,7 +521,7 @@ mktempd_ () esac # First, try to use mktemp. - d=`unset TMPDIR; mktemp -d -t -p "$destdir_" "$template_" 2>/dev/null` \ + d=`unset TMPDIR; { mktemp -d -t -p "$destdir_" "$template_"; } 2>/dev/null` \ || fail=1 # The resulting name must be in the specified directory. diff --git a/tests/nan.h b/tests/nan.h index 5e1c0c379..eb5fd9593 100644 --- a/tests/nan.h +++ b/tests/nan.h @@ -17,8 +17,9 @@ /* NaNf () returns a 'float' not-a-number. */ -/* The Compaq (ex-DEC) C 6.4 compiler chokes on the expression 0.0 / 0.0. */ -#ifdef __DECC +/* The Compaq (ex-DEC) C 6.4 compiler and the Microsoft MSVC 9 compiler choke + on the expression 0.0 / 0.0. */ +#if defined __DECC || defined _MSC_VER static float NaNf () { @@ -32,8 +33,9 @@ NaNf () /* NaNd () returns a 'double' not-a-number. */ -/* The Compaq (ex-DEC) C 6.4 compiler chokes on the expression 0.0 / 0.0. */ -#ifdef __DECC +/* The Compaq (ex-DEC) C 6.4 compiler and the Microsoft MSVC 9 compiler choke + on the expression 0.0 / 0.0. */ +#if defined __DECC || defined _MSC_VER static double NaNd () { @@ -48,13 +50,21 @@ NaNd () /* NaNl () returns a 'long double' not-a-number. */ /* On Irix 6.5, gcc 3.4.3 can't compute compile-time NaN, and needs the - runtime type conversion. */ + runtime type conversion. + The Microsoft MSVC 9 compiler chokes on the expression 0.0L / 0.0L. */ #ifdef __sgi static long double NaNl () { double zero = 0.0; return zero / zero; } +#elif defined _MSC_VER +static long double +NaNl () +{ + static long double zero = 0.0L; + return zero / zero; +} #else # define NaNl() (0.0L / 0.0L) #endif diff --git a/tests/test-accept.c b/tests/test-accept.c new file mode 100644 index 000000000..75161a454 --- /dev/null +++ b/tests/test-accept.c @@ -0,0 +1,54 @@ +/* Test accepting a connection to a server socket. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include + +#include "signature.h" +SIGNATURE_CHECK (accept, int, (int, struct sockaddr *, socklen_t *)); + +#include +#include + +#include "sockets.h" +#include "macros.h" + +int +main (void) +{ + gl_sockets_startup (SOCKETS_1_1); + + /* Test behaviour for invalid file descriptors. */ + { + struct sockaddr_in addr; + socklen_t addrlen = sizeof (addr); + + errno = 0; + ASSERT (accept (-1, (struct sockaddr *) &addr, &addrlen) == -1); + ASSERT (errno == EBADF); + } + { + struct sockaddr_in addr; + socklen_t addrlen = sizeof (addr); + + errno = 0; + ASSERT (accept (99, (struct sockaddr *) &addr, &addrlen) == -1); + ASSERT (errno == EBADF); + } + + return 0; +} diff --git a/tests/test-accept4.c b/tests/test-accept4.c new file mode 100644 index 000000000..68049ea24 --- /dev/null +++ b/tests/test-accept4.c @@ -0,0 +1,61 @@ +/* Test accepting a connection to a server socket. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include + +#include "signature.h" +SIGNATURE_CHECK (accept4, int, (int, struct sockaddr *, socklen_t *, int)); + +#include +#include +#include + +#include "binary-io.h" +#include "sockets.h" + +#include "macros.h" + +int +main (void) +{ + gl_sockets_startup (SOCKETS_1_1); + + /* Test behaviour for invalid file descriptors. */ + { + struct sockaddr_in addr; + socklen_t addrlen = sizeof (addr); + + errno = 0; + ASSERT (accept4 (-1, (struct sockaddr *) &addr, &addrlen, + O_CLOEXEC | O_BINARY) + == -1); + ASSERT (errno == EBADF); + } + { + struct sockaddr_in addr; + socklen_t addrlen = sizeof (addr); + + errno = 0; + ASSERT (accept4 (99, (struct sockaddr *) &addr, &addrlen, + O_CLOEXEC | O_BINARY) + == -1); + ASSERT (errno == EBADF); + } + + return 0; +} diff --git a/tests/test-acosf.c b/tests/test-acosf.c new file mode 100644 index 000000000..f1fcea82b --- /dev/null +++ b/tests/test-acosf.c @@ -0,0 +1,40 @@ +/* Test of acosf() function. + Copyright (C) 2010-2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2010-2011. */ + +#include + +#include + +#include "signature.h" +SIGNATURE_CHECK (acosf, float, (float)); + +#include "macros.h" + +volatile float x; +float y; + +int +main () +{ + /* A particular value. */ + x = 0.6f; + y = acosf (x); + ASSERT (y >= 0.9272951f && y <= 0.9272953f); + + return 0; +} diff --git a/tests/test-asinf.c b/tests/test-asinf.c new file mode 100644 index 000000000..95352be0f --- /dev/null +++ b/tests/test-asinf.c @@ -0,0 +1,40 @@ +/* Test of asinf() function. + Copyright (C) 2010-2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2010-2011. */ + +#include + +#include + +#include "signature.h" +SIGNATURE_CHECK (asinf, float, (float)); + +#include "macros.h" + +volatile float x; +float y; + +int +main () +{ + /* A particular value. */ + x = 0.6f; + y = asinf (x); + ASSERT (y >= 0.6435011f && y <= 0.6435013f); + + return 0; +} diff --git a/tests/test-atan2f.c b/tests/test-atan2f.c new file mode 100644 index 000000000..bcc17c39e --- /dev/null +++ b/tests/test-atan2f.c @@ -0,0 +1,60 @@ +/* Test of atan2f() function. + Copyright (C) 2010-2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2010-2011. */ + +#include + +#include + +#include "signature.h" +SIGNATURE_CHECK (atan2f, float, (float, float)); + +#include "macros.h" + +volatile float x; +volatile float y; +float z; + +int +main () +{ + /* A particular value in the first quadrant. */ + x = 0.6f; + y = 0.8f; + z = atan2f (y, x); + ASSERT (z >= 0.92729515f && z <= 0.9272953f); + + /* A particular value in the second quadrant. */ + x = -0.6f; + y = 0.8f; + z = atan2f (y, x); + ASSERT (z >= 2.2142974f && z <= 2.2142975f); + + /* A particular value in the third quadrant. */ + x = -0.6f; + y = -0.8f; + z = atan2f (y, x); + ASSERT (z >= -2.2142975f && z <= -2.2142974f); + + /* A particular value in the fourth quadrant. */ + x = 0.6f; + y = -0.8f; + z = atan2f (y, x); + ASSERT (z >= -0.9272953f && z <= -0.92729515f); + + return 0; +} diff --git a/tests/test-atanf.c b/tests/test-atanf.c new file mode 100644 index 000000000..8d7e04f22 --- /dev/null +++ b/tests/test-atanf.c @@ -0,0 +1,40 @@ +/* Test of atanf() function. + Copyright (C) 2010-2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2010-2011. */ + +#include + +#include + +#include "signature.h" +SIGNATURE_CHECK (atanf, float, (float)); + +#include "macros.h" + +volatile float x; +float y; + +int +main () +{ + /* A particular value. */ + x = 0.6f; + y = atanf (x); + ASSERT (y >= 0.5404194f && y <= 0.5404196f); + + return 0; +} diff --git a/tests/test-base32.c b/tests/test-base32.c new file mode 100644 index 000000000..6012885d4 --- /dev/null +++ b/tests/test-base32.c @@ -0,0 +1,261 @@ +/* Self tests for base32. + Copyright (C) 2004, 2008-2011 Free Software Foundation, Inc. + Based on the tests for base64 written by Simon Josefsson. + Adapted for base32 by Gijs van Tulder. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include "base32.h" + +#include +#include +#include +#include +#include + +#include "macros.h" + +int +main (void) +{ + const char *in = "abcdefghijklmnop"; + const char *b32in = "MFRGGZDFMZTWQ2LKNNWG23TPOA======"; + char out[255]; + size_t len; + bool ok; + char *p; + + memset (out, 0x42, sizeof (out)); + base32_encode (in, 0, out, 0); + ASSERT (out[0] == '\x42'); + + memset (out, 0x42, sizeof (out)); + base32_encode (in, 1, out, 10); + ASSERT (memcmp (out, "ME======", 1) == 0); + + memset (out, 0x42, sizeof (out)); + base32_encode (in, 1, out, 2); + ASSERT (memcmp (out, "ME======", 2) == 0); + + memset (out, 0x42, sizeof (out)); + base32_encode (in, 1, out, 3); + ASSERT (memcmp (out, "ME======", 3) == 0); + + memset (out, 0x42, sizeof (out)); + base32_encode (in, 1, out, 4); + ASSERT (memcmp (out, "ME======", 4) == 0); + + memset (out, 0x42, sizeof (out)); + base32_encode (in, 1, out, 8); + ASSERT (memcmp (out, "ME======", 8) == 0); + + memset (out, 0x42, sizeof (out)); + base32_encode (in, 2, out, 8); + ASSERT (memcmp (out, "MFRA====", 8) == 0); + + memset (out, 0x42, sizeof (out)); + base32_encode (in, 3, out, 8); + ASSERT (memcmp (out, "MFRGG===", 8) == 0); + + memset (out, 0x42, sizeof (out)); + base32_encode (in, 4, out, 8); + ASSERT (memcmp (out, "MFRGGZA=", 8) == 0); + + memset (out, 0x42, sizeof (out)); + base32_encode (in, 5, out, 8); + ASSERT (memcmp (out, "MFRGGZDF", 8) == 0); + + memset (out, 0x42, sizeof (out)); + base32_encode (in, 6, out, 16); + ASSERT (memcmp (out, "MFRGGZDFMY======", 16) == 0); + + memset (out, 0x42, sizeof (out)); + base32_encode (in, 6, out, 100); + ASSERT (memcmp (out, "MFRGGZDFMY======", 16) == 0); + + /* Decode. */ + + memset (out, 0x42, sizeof (out)); + len = 0; + ok = base32_decode (b32in, 8, out, &len); + ASSERT (ok); + ASSERT (len == 0); + + memset (out, 0x42, sizeof (out)); + len = 1; + ok = base32_decode (b32in, 8, out, &len); + ASSERT (ok); + ASSERT (len == 1); + ASSERT (memcmp (out, "abcdefghijklmnop", 1) == 0); + + memset (out, 0x42, sizeof (out)); + len = 2; + ok = base32_decode (b32in, 8, out, &len); + ASSERT (ok); + ASSERT (len == 2); + ASSERT (memcmp (out, "abcdefghijklmnop", 2) == 0); + + memset (out, 0x42, sizeof (out)); + len = 3; + ok = base32_decode (b32in, 8, out, &len); + ASSERT (ok); + ASSERT (len == 3); + ASSERT (memcmp (out, "abcdefghijklmnop", 3) == 0); + + memset (out, 0x42, sizeof (out)); + len = 4; + ok = base32_decode (b32in, 8, out, &len); + ASSERT (ok); + ASSERT (len == 4); + ASSERT (memcmp (out, "abcdefghijklmnop", 4) == 0); + + memset (out, 0x42, sizeof (out)); + len = 5; + ok = base32_decode (b32in, 8, out, &len); + ASSERT (ok); + ASSERT (len == 5); + ASSERT (memcmp (out, "abcdefghijklmnop", 5) == 0); + + memset (out, 0x42, sizeof (out)); + len = 6; + ok = base32_decode (b32in, 8, out, &len); + ASSERT (ok); + ASSERT (len == 5); + ASSERT (memcmp (out, "abcdefghijklmnop", 5) == 0); + + memset (out, 0x42, sizeof (out)); + len = 100; + ok = base32_decode (b32in, strlen (b32in), out, &len); + ASSERT (ok); + ASSERT (len == 16); + ASSERT (memcmp (out, "abcdefghijklmnop", 16) == 0); + + /* Allocating encode */ + + len = base32_encode_alloc (in, strlen (in), &p); + ASSERT (len == 32); + ASSERT (strcmp (p, "MFRGGZDFMZTWQ2LKNNWG23TPOA======") == 0); + free (p); + + len = base32_encode_alloc (in, SIZE_MAX - 5, &p); + ASSERT (len == 0); + + /* Decode context function */ + { + struct base32_decode_context ctx; + + base32_decode_ctx_init (&ctx); + + len = sizeof (out); + ok = base32_decode_ctx (&ctx, b32in, strlen (b32in), out, &len); + ASSERT (ok); + ASSERT (len == 16); + ASSERT (memcmp (out, "abcdefghijklmnop", len) == 0); + } + + /* Allocating decode context function */ + + ok = base32_decode_alloc_ctx (NULL, b32in, strlen (b32in), &p, &len); + ASSERT (ok); + ASSERT (len == 16); + ASSERT (memcmp (out, "abcdefghijklmnop", len) == 0); + free (p); + + { + struct base32_decode_context ctx; + const char *newlineb32 = "MFRG\nGZDFMZTWQ2LKNNW\nG23TPOA======"; + + base32_decode_ctx_init (&ctx); + + ok = base32_decode_alloc_ctx (&ctx, newlineb32, strlen (newlineb32), &p, &len); + ASSERT (ok); + ASSERT (len == strlen (in)); + ASSERT (memcmp (p, in, len) == 0); + free (p); + } + + { + struct base32_decode_context ctx; + base32_decode_ctx_init (&ctx); + + ok = base32_decode_alloc_ctx (&ctx, "MFRGGZDFM\nZTWQ2LK", 17, &p, &len); + ASSERT (ok); + ASSERT (len == 10); + ASSERT (memcmp (p, "abcdefghij", len) == 0); + free (p); + + base32_decode_ctx_init (&ctx); + + ok = base32_decode_alloc_ctx (&ctx, "MF\n", 3, &p, &len); + ASSERT (ok); + ASSERT (len == 0); + free (p); + + ok = base32_decode_alloc_ctx (&ctx, "RGGZDFMZ", 8, &p, &len); + ASSERT (ok); + ASSERT (len == 5); + ASSERT (memcmp (p, "abcde", len) == 0); + free (p); + + ok = base32_decode_alloc_ctx (&ctx, "TWQ2LK", 6, &p, &len); + ASSERT (ok); + ASSERT (len == 5); + ASSERT (memcmp (p, "fghij", len) == 0); + free (p); + + ok = base32_decode_alloc_ctx (&ctx, "", 0, &p, &len); + ASSERT (ok); + free (p); + } + + { + struct base32_decode_context ctx; + const char *newlineb32 = "\n\n\n\n\n"; + + base32_decode_ctx_init (&ctx); + + ok = base32_decode_alloc_ctx (&ctx, newlineb32, strlen (newlineb32), &p, &len); + ASSERT (ok); + ASSERT (len == 0); + free (p); + } + + ok = base32_decode_alloc_ctx (NULL, " ! ", 3, &p, &len); + ASSERT (!ok); + + ok = base32_decode_alloc_ctx (NULL, "ABC\nDEF", 7, &p, &len); + ASSERT (!ok); + + ok = base32_decode_alloc_ctx (NULL, "AA", 2, &p, &len); + ASSERT (!ok); + + ok = base32_decode_alloc_ctx (NULL, "AA=", 3, &p, &len); + ASSERT (!ok); + + ok = base32_decode_alloc_ctx (NULL, "AABBAAxx", 8, &p, &len); + ASSERT (!ok); + + ok = base32_decode_alloc_ctx (NULL, "AABBAA=X", 8, &p, &len); + ASSERT (!ok); + + ok = base32_decode_alloc_ctx (NULL, "AABBAA=X", 8, &p, &len); + ASSERT (!ok); + + ok = base32_decode_alloc_ctx (NULL, "AABBAA=A", 8, &p, &len); + ASSERT (!ok); + + return 0; +} diff --git a/tests/test-base64.c b/tests/test-base64.c index b1979b4e7..41efc5a10 100644 --- a/tests/test-base64.c +++ b/tests/test-base64.c @@ -149,6 +149,7 @@ main (void) ASSERT (ok); ASSERT (len == 7); ASSERT (memcmp (out, "abcdefg", len) == 0); + free (p); { struct base64_decode_context ctx; @@ -160,6 +161,7 @@ main (void) ASSERT (ok); ASSERT (len == strlen (in)); ASSERT (memcmp (p, in, len) == 0); + free (p); } { @@ -170,24 +172,30 @@ main (void) ASSERT (ok); ASSERT (len == 9); ASSERT (memcmp (p, "abcdefghi", len) == 0); + free (p); base64_decode_ctx_init (&ctx); ok = base64_decode_alloc_ctx (&ctx, "YW\n", 3, &p, &len); ASSERT (ok); ASSERT (len == 0); + free (p); ok = base64_decode_alloc_ctx (&ctx, "JjZGVmZ2", 8, &p, &len); ASSERT (ok); ASSERT (len == 6); ASSERT (memcmp (p, "abcdef", len) == 0); + free (p); ok = base64_decode_alloc_ctx (&ctx, "hp", 2, &p, &len); ASSERT (ok); ASSERT (len == 3); ASSERT (memcmp (p, "ghi", len) == 0); + free (p); + ok = base64_decode_alloc_ctx (&ctx, "", 0, &p, &len); ASSERT (ok); + free (p); } { @@ -199,6 +207,7 @@ main (void) ok = base64_decode_alloc_ctx (&ctx, newlineb64, strlen (newlineb64), &p, &len); ASSERT (ok); ASSERT (len == 0); + free (p); } ok = base64_decode_alloc_ctx (NULL, " ! ", 3, &p, &len); diff --git a/tests/test-binary-io.c b/tests/test-binary-io.c index 8e5d193f6..468485ddf 100644 --- a/tests/test-binary-io.c +++ b/tests/test-binary-io.c @@ -46,19 +46,10 @@ main () exit (1); ASSERT (statbuf.st_size == 6); } - unlink ("t-bin-out2.tmp"); /* Test the SET_BINARY macro. */ SET_BINARY (1); fputs ("Hello\n", stdout); - fclose (stdout); - fclose (stderr); - { - struct stat statbuf; - if (stat ("t-bin-out1.tmp", &statbuf) < 0) - exit (1); - ASSERT (statbuf.st_size == 6); - } return 0; } diff --git a/tests/test-binary-io.sh b/tests/test-binary-io.sh index 33e128c30..272edef17 100755 --- a/tests/test-binary-io.sh +++ b/tests/test-binary-io.sh @@ -5,6 +5,7 @@ trap 'rm -fr $tmpfiles' 1 2 3 15 tmpfiles="$tmpfiles t-bin-out1.tmp t-bin-out2.tmp" ./test-binary-io${EXEEXT} > t-bin-out1.tmp || exit 1 +cmp t-bin-out1.tmp t-bin-out2.tmp > /dev/null || exit 1 rm -fr $tmpfiles diff --git a/tests/test-bind.c b/tests/test-bind.c new file mode 100644 index 000000000..490c2fb47 --- /dev/null +++ b/tests/test-bind.c @@ -0,0 +1,56 @@ +/* Test binding a server socket to a port. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include + +#include "signature.h" +SIGNATURE_CHECK (bind, int, (int, const struct sockaddr *, socklen_t)); + +#include +#include +#include + +#include "sockets.h" +#include "macros.h" + +int +main (void) +{ + gl_sockets_startup (SOCKETS_1_1); + + /* Test behaviour for invalid file descriptors. */ + { + struct sockaddr_in addr; + + addr.sin_family = AF_INET; + inet_pton (AF_INET, "127.0.0.1", &addr.sin_addr); + addr.sin_port = htons (80); + { + errno = 0; + ASSERT (bind (-1, (const struct sockaddr *) &addr, sizeof (addr)) == -1); + ASSERT (errno == EBADF); + } + { + errno = 0; + ASSERT (bind (99, (const struct sockaddr *) &addr, sizeof (addr)) == -1); + ASSERT (errno == EBADF); + } + } + + return 0; +} diff --git a/tests/test-ceil1.c b/tests/test-ceil1.c index 7d4d325a7..c6b30259a 100644 --- a/tests/test-ceil1.c +++ b/tests/test-ceil1.c @@ -27,6 +27,7 @@ SIGNATURE_CHECK (ceil, double, (double)); #include "isnand-nolibm.h" #include "minus-zero.h" +#include "infinity.h" #include "nan.h" #include "macros.h" @@ -58,8 +59,8 @@ main () ASSERT (ceil (-65536.0) == -65536.0); ASSERT (ceil (-2.341e31) == -2.341e31); /* Infinite numbers. */ - ASSERT (ceil (1.0 / 0.0) == 1.0 / 0.0); - ASSERT (ceil (-1.0 / 0.0) == -1.0 / 0.0); + ASSERT (ceil (Infinityd ()) == Infinityd ()); + ASSERT (ceil (- Infinityd ()) == - Infinityd ()); /* NaNs. */ ASSERT (isnand (ceil (NaNd ()))); diff --git a/tests/test-ceilf1.c b/tests/test-ceilf1.c index c4581c6d2..d2898c8ad 100644 --- a/tests/test-ceilf1.c +++ b/tests/test-ceilf1.c @@ -25,6 +25,7 @@ SIGNATURE_CHECK (ceilf, float, (float)); #include "isnanf-nolibm.h" #include "minus-zero.h" +#include "infinity.h" #include "nan.h" #include "macros.h" @@ -69,8 +70,8 @@ main (int argc, char **argv _GL_UNUSED) ASSERT (my_ceilf (-65536.0f) == -65536.0f); ASSERT (my_ceilf (-2.341e31f) == -2.341e31f); /* Infinite numbers. */ - ASSERT (my_ceilf (1.0f / 0.0f) == 1.0f / 0.0f); - ASSERT (my_ceilf (-1.0f / 0.0f) == -1.0f / 0.0f); + ASSERT (my_ceilf (Infinityf ()) == Infinityf ()); + ASSERT (my_ceilf (- Infinityf ()) == - Infinityf ()); /* NaNs. */ ASSERT (isnanf (my_ceilf (NaNf ()))); diff --git a/tests/test-ceill.c b/tests/test-ceill.c index e0b8ff232..8af3ba129 100644 --- a/tests/test-ceill.c +++ b/tests/test-ceill.c @@ -28,6 +28,7 @@ SIGNATURE_CHECK (ceill, long double, (long double)); #include "fpucw.h" #include "isnanl-nolibm.h" #include "minus-zero.h" +#include "infinity.h" #include "nan.h" #include "macros.h" @@ -63,8 +64,8 @@ main () ASSERT (ceill (-65536.0L) == -65536.0L); ASSERT (ceill (-2.341e31L) == -2.341e31L); /* Infinite numbers. */ - ASSERT (ceill (1.0L / 0.0L) == 1.0L / 0.0L); - ASSERT (ceill (-1.0L / 0.0L) == -1.0L / 0.0L); + ASSERT (ceill (Infinityl ()) == Infinityl ()); + ASSERT (ceill (- Infinityl ()) == - Infinityl ()); /* NaNs. */ ASSERT (isnanl (ceill (NaNl ()))); diff --git a/tests/test-chdir.c b/tests/test-chdir.c new file mode 100644 index 000000000..cd8f0c688 --- /dev/null +++ b/tests/test-chdir.c @@ -0,0 +1,33 @@ +/* Test changing to a directory. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include + +#include "signature.h" +SIGNATURE_CHECK (chdir, int, (const char *)); + +#include "macros.h" + +int +main (void) +{ + ASSERT (chdir ("/") == 0); + + return 0; +} diff --git a/tests/test-cloexec.c b/tests/test-cloexec.c index 374de3038..c1473d515 100644 --- a/tests/test-cloexec.c +++ b/tests/test-cloexec.c @@ -28,6 +28,8 @@ /* Get declarations of the Win32 API functions. */ # define WIN32_LEAN_AND_MEAN # include +/* Get _get_osfhandle. */ +# include "msvc-nothrow.h" #endif #include "binary-io.h" diff --git a/tests/test-close.c b/tests/test-close.c new file mode 100644 index 000000000..2b87db1d0 --- /dev/null +++ b/tests/test-close.c @@ -0,0 +1,44 @@ +/* Test closing a file or socket. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include + +#include "signature.h" +SIGNATURE_CHECK (close, int, (int)); + +#include + +#include "macros.h" + +int +main (void) +{ + /* Test behaviour for invalid file descriptors. */ + { + errno = 0; + ASSERT (close (-1) == -1); + ASSERT (errno == EBADF); + } + { + errno = 0; + ASSERT (close (99) == -1); + ASSERT (errno == EBADF); + } + + return 0; +} diff --git a/tests/test-connect.c b/tests/test-connect.c new file mode 100644 index 000000000..84f00b542 --- /dev/null +++ b/tests/test-connect.c @@ -0,0 +1,58 @@ +/* Test connecting a client socket. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include + +#include "signature.h" +SIGNATURE_CHECK (connect, int, (int, const struct sockaddr *, socklen_t)); + +#include +#include +#include + +#include "sockets.h" +#include "macros.h" + +int +main (void) +{ + gl_sockets_startup (SOCKETS_1_1); + + /* Test behaviour for invalid file descriptors. */ + { + struct sockaddr_in addr; + + addr.sin_family = AF_INET; + inet_pton (AF_INET, "127.0.0.1", &addr.sin_addr); + addr.sin_port = htons (80); + { + errno = 0; + ASSERT (connect (-1, (const struct sockaddr *) &addr, sizeof (addr)) + == -1); + ASSERT (errno == EBADF); + } + { + errno = 0; + ASSERT (connect (99, (const struct sockaddr *) &addr, sizeof (addr)) + == -1); + ASSERT (errno == EBADF); + } + } + + return 0; +} diff --git a/tests/test-copy-acl-1.sh b/tests/test-copy-acl-1.sh new file mode 100755 index 000000000..2f9880e04 --- /dev/null +++ b/tests/test-copy-acl-1.sh @@ -0,0 +1,13 @@ +#!/bin/sh + +# Test copy-acl on the file system of /var/tmp, which usually is a local +# file system. + +if test -d /var/tmp; then + TMPDIR=/var/tmp +else + TMPDIR=/tmp +fi +export TMPDIR + +exec "${srcdir}/test-copy-acl.sh" diff --git a/tests/test-copy-acl-2.sh b/tests/test-copy-acl-2.sh new file mode 100755 index 000000000..984602d9c --- /dev/null +++ b/tests/test-copy-acl-2.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +# Test copy-acl on the file system of the build directory, which may be +# a local file system or NFS mounted. + +TMPDIR=`pwd` +export TMPDIR + +exec "${srcdir}/test-copy-acl.sh" diff --git a/tests/test-copy-file-1.sh b/tests/test-copy-file-1.sh new file mode 100755 index 000000000..b38c8216c --- /dev/null +++ b/tests/test-copy-file-1.sh @@ -0,0 +1,13 @@ +#!/bin/sh + +# Test copy-file on the file system of /var/tmp, which usually is a local +# file system. + +if test -d /var/tmp; then + TMPDIR=/var/tmp +else + TMPDIR=/tmp +fi +export TMPDIR + +exec "${srcdir}/test-copy-file.sh" diff --git a/tests/test-copy-file-2.sh b/tests/test-copy-file-2.sh new file mode 100755 index 000000000..d4d959f8c --- /dev/null +++ b/tests/test-copy-file-2.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +# Test copy-file on the file system of the build directory, which may be +# a local file system or NFS mounted. + +TMPDIR=`pwd` +export TMPDIR + +exec "${srcdir}/test-copy-file.sh" diff --git a/tests/test-copysignf.c b/tests/test-copysignf.c new file mode 100644 index 000000000..b745e79c0 --- /dev/null +++ b/tests/test-copysignf.c @@ -0,0 +1,111 @@ +/* Test of copysignf() function. + Copyright (C) 2010-2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2010-2011. */ + +#include + +#include + +#include "signature.h" +SIGNATURE_CHECK (copysignf, float, (float, float)); + +#include "macros.h" +#include "minus-zero.h" + +#include + +volatile float x; +volatile float y; +float z; +float zero = 0.0f; + +int +main () +{ + /* A particular value in the first quadrant. */ + x = 0.6f; + y = 0.8f; + z = copysignf (x, y); + ASSERT (z == 0.6f); + + /* A particular value in the second quadrant. */ + x = -0.6f; + y = 0.8f; + z = copysignf (x, y); + ASSERT (z == 0.6f); + + /* A particular value in the third quadrant. */ + x = -0.6f; + y = -0.8f; + z = copysignf (x, y); + ASSERT (z == -0.6f); + + /* A particular value in the fourth quadrant. */ + x = 0.6f; + y = -0.8f; + z = copysignf (x, y); + ASSERT (z == -0.6f); + + /* From signed zero. */ + x = 1.0f; + y = 0.0f; + z = copysignf (x, y); + ASSERT (z == 1.0f); + + x = 1.0f; + y = minus_zerof; + z = copysignf (x, y); + /* Assume all gnulib targets support -0.0f, until proven otherwise. */ + ASSERT (z == -1.0f); + + x = -1.0f; + y = 0.0f; + z = copysignf (x, y); + ASSERT (z == 1.0f); + + x = -1.0f; + y = minus_zerof; + z = copysignf (x, y); + ASSERT (z == -1.0f); + + /* To signed zero. */ + x = 0.0f; + y = 1.0f; + z = copysignf (x, y); + ASSERT (z == 0.0f); + ASSERT (memcmp (&z, &zero, sizeof z) == 0); + + x = 0.0f; + y = -1.0f; + z = copysignf (x, y); + ASSERT (z == 0.0f); + ASSERT (memcmp (&z, &zero, sizeof z) != 0); + + x = minus_zerof; + y = 1.0f; + z = copysignf (x, y); + ASSERT (z == 0.0f); + ASSERT (memcmp (&z, &zero, sizeof z) == 0); + + x = minus_zerof; + y = -1.0f; + z = copysignf (x, y); + ASSERT (z == 0.0f); + ASSERT (memcmp (&z, &zero, sizeof z) != 0); + + return 0; +} diff --git a/tests/test-copysignl.c b/tests/test-copysignl.c new file mode 100644 index 000000000..29b3c3f3f --- /dev/null +++ b/tests/test-copysignl.c @@ -0,0 +1,111 @@ +/* Test of copysignl() function. + Copyright (C) 2010-2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2010-2011. */ + +#include + +#include + +#include "signature.h" +SIGNATURE_CHECK (copysignl, long double, (long double, long double)); + +#include "macros.h" +#include "minus-zero.h" + +#include + +volatile long double x; +volatile long double y; +long double z; +long double zero = 0.0L; + +int +main () +{ + /* A particular value in the first quadrant. */ + x = 0.6L; + y = 0.8L; + z = copysignl (x, y); + ASSERT (z == 0.6L); + + /* A particular value in the second quadrant. */ + x = -0.6L; + y = 0.8L; + z = copysignl (x, y); + ASSERT (z == 0.6L); + + /* A particular value in the third quadrant. */ + x = -0.6L; + y = -0.8L; + z = copysignl (x, y); + ASSERT (z == -0.6L); + + /* A particular value in the fourth quadrant. */ + x = 0.6L; + y = -0.8L; + z = copysignl (x, y); + ASSERT (z == -0.6L); + + /* From signed zero. */ + x = 1.0L; + y = 0.0L; + z = copysignl (x, y); + ASSERT (z == 1.0L); + + x = 1.0L; + y = minus_zerol; + z = copysignl (x, y); + /* Assume all gnulib targets support -0.0L, until proven otherwise. */ + ASSERT (z == -1.0L); + + x = -1.0L; + y = 0.0L; + z = copysignl (x, y); + ASSERT (z == 1.0L); + + x = -1.0L; + y = minus_zerol; + z = copysignl (x, y); + ASSERT (z == -1.0L); + + /* To signed zero. */ + x = 0.0L; + y = 1.0L; + z = copysignl (x, y); + ASSERT (z == 0.0L); + ASSERT (memcmp (&z, &zero, sizeof z) == 0); + + x = 0.0L; + y = -1.0L; + z = copysignl (x, y); + ASSERT (z == 0.0L); + ASSERT (memcmp (&z, &zero, sizeof z) != 0); + + x = minus_zerol; + y = 1.0L; + z = copysignl (x, y); + ASSERT (z == 0.0L); + ASSERT (memcmp (&z, &zero, sizeof z) == 0); + + x = minus_zerol; + y = -1.0L; + z = copysignl (x, y); + ASSERT (z == 0.0L); + ASSERT (memcmp (&z, &zero, sizeof z) != 0); + + return 0; +} diff --git a/tests/test-cosf.c b/tests/test-cosf.c new file mode 100644 index 000000000..7943e18be --- /dev/null +++ b/tests/test-cosf.c @@ -0,0 +1,40 @@ +/* Test of cosf() function. + Copyright (C) 2010-2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2010-2011. */ + +#include + +#include + +#include "signature.h" +SIGNATURE_CHECK (cosf, float, (float)); + +#include "macros.h" + +volatile float x; +float y; + +int +main () +{ + /* A particular value. */ + x = 0.6f; + y = cosf (x); + ASSERT (y >= 0.8253355f && y <= 0.8253357f); + + return 0; +} diff --git a/tests/test-coshf.c b/tests/test-coshf.c new file mode 100644 index 000000000..8b606e628 --- /dev/null +++ b/tests/test-coshf.c @@ -0,0 +1,40 @@ +/* Test of coshf() function. + Copyright (C) 2010-2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2010-2011. */ + +#include + +#include + +#include "signature.h" +SIGNATURE_CHECK (coshf, float, (float)); + +#include "macros.h" + +volatile float x; +float y; + +int +main () +{ + /* A particular value. */ + x = 0.6f; + y = coshf (x); + ASSERT (y >= 1.1854652f && y <= 1.1854653f); + + return 0; +} diff --git a/tests/test-dprintf-posix.c b/tests/test-dprintf-posix.c index 34b549193..414f8d42c 100644 --- a/tests/test-dprintf-posix.c +++ b/tests/test-dprintf-posix.c @@ -27,6 +27,7 @@ SIGNATURE_CHECK (dprintf, int, (int, const char *, ...)); #include #include +#include "infinity.h" #include "macros.h" static void @@ -50,13 +51,13 @@ test_function (int (*my_dprintf) (int, const char *, ...)) my_dprintf (fileno (stdout), "%a %d\n", 0.0, 33, 44, 55); /* Positive infinity. */ - my_dprintf (fileno (stdout), "%a %d\n", 1.0 / 0.0, 33, 44, 55); + my_dprintf (fileno (stdout), "%a %d\n", Infinityd (), 33, 44, 55); /* Negative infinity. */ - my_dprintf (fileno (stdout), "%a %d\n", -1.0 / 0.0, 33, 44, 55); + my_dprintf (fileno (stdout), "%a %d\n", - Infinityd (), 33, 44, 55); /* FLAG_ZERO with infinite number. */ - my_dprintf (fileno (stdout), "%010a %d\n", 1.0 / 0.0, 33, 44, 55); + my_dprintf (fileno (stdout), "%010a %d\n", Infinityd (), 33, 44, 55); /* Test the support of the %f format directive. */ diff --git a/tests/test-dprintf.c b/tests/test-dprintf.c new file mode 100644 index 000000000..0204e3465 --- /dev/null +++ b/tests/test-dprintf.c @@ -0,0 +1,44 @@ +/* Test of dprintf() function. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include + +#include "signature.h" +SIGNATURE_CHECK (dprintf, int, (int, const char *, ...)); + +#include + +#include "macros.h" + +int +main (int argc, char *argv[]) +{ + /* Test behaviour for invalid file descriptors. */ + { + errno = 0; + ASSERT (dprintf (-1, "test") == -1); + ASSERT (errno == EBADF); + } + { + errno = 0; + ASSERT (dprintf (99, "test") == -1); + ASSERT (errno == EBADF); + } + + return 0; +} diff --git a/tests/test-dup-safer.c b/tests/test-dup-safer.c index 14cfafffe..5cb45f5fd 100644 --- a/tests/test-dup-safer.c +++ b/tests/test-dup-safer.c @@ -32,6 +32,8 @@ /* Get declarations of the Win32 API functions. */ # define WIN32_LEAN_AND_MEAN # include +/* Get _get_osfhandle. */ +# include "msvc-nothrow.h" #endif #if !O_BINARY diff --git a/tests/test-dup.c b/tests/test-dup.c new file mode 100644 index 000000000..70c09fe1f --- /dev/null +++ b/tests/test-dup.c @@ -0,0 +1,44 @@ +/* Test duplicating a file descriptor. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include + +#include "signature.h" +SIGNATURE_CHECK (dup, int, (int)); + +#include + +#include "macros.h" + +int +main (void) +{ + /* Test behaviour for invalid file descriptors. */ + { + errno = 0; + ASSERT (dup (-1) == -1); + ASSERT (errno == EBADF); + } + { + errno = 0; + ASSERT (dup (99) == -1); + ASSERT (errno == EBADF); + } + + return 0; +} diff --git a/tests/test-dup2.c b/tests/test-dup2.c index e2ad88bcc..a14807a36 100644 --- a/tests/test-dup2.c +++ b/tests/test-dup2.c @@ -36,6 +36,8 @@ SIGNATURE_CHECK (dup2, int, (int, int)); /* Get declarations of the Win32 API functions. */ # define WIN32_LEAN_AND_MEAN # include +/* Get _get_osfhandle. */ +# include "msvc-nothrow.h" #endif #include "macros.h" @@ -121,6 +123,9 @@ main (void) ASSERT (dup2 (-1, fd) == -1); ASSERT (errno == EBADF); errno = 0; + ASSERT (dup2 (99, fd) == -1); + ASSERT (errno == EBADF); + errno = 0; ASSERT (dup2 (AT_FDCWD, fd) == -1); ASSERT (errno == EBADF); ASSERT (is_open (fd)); diff --git a/tests/test-dup3.c b/tests/test-dup3.c index ed3a88f41..033193df6 100644 --- a/tests/test-dup3.c +++ b/tests/test-dup3.c @@ -32,6 +32,8 @@ SIGNATURE_CHECK (dup3, int, (int, int, int)); /* Get declarations of the Win32 API functions. */ # define WIN32_LEAN_AND_MEAN # include +/* Get _get_osfhandle. */ +# include "msvc-nothrow.h" #endif #include "binary-io.h" diff --git a/tests/test-exclude.c b/tests/test-exclude.c index 9c7997d97..88af36ad7 100644 --- a/tests/test-exclude.c +++ b/tests/test-exclude.c @@ -104,6 +104,15 @@ main (int argc, char **argv) exclude_options &= ~flag; else exclude_options |= flag; + + /* Skip this test if invoked with -leading-dir on a system that + lacks support for FNM_LEADING_DIR. */ + if (strcmp (s, "leading_dir") == 0 && FNM_LEADING_DIR == 0) + exit (77); + + /* Likewise for -casefold and FNM_CASEFOLD. */ + if (strcmp (s, "casefold") == 0 && FNM_CASEFOLD == 0) + exit (77); } else if (add_exclude_file (add_exclude, exclude, opt, exclude_options, '\n') != 0) diff --git a/tests/test-exclude1.sh b/tests/test-exclude1.sh index 9c5f70958..d85c4c74b 100755 --- a/tests/test-exclude1.sh +++ b/tests/test-exclude1.sh @@ -16,19 +16,18 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -TMP=excltmp.$$ -LIST=flist.$$ -ERR=0 +. "${srcdir=.}/init.sh"; path_prepend_ . +fail=0 # Test literal matches -cat > $LIST < in < $TMP < expected < out || exit $? -rm -f $TMP $LIST -exit $ERR +# Find out how to remove carriage returns from output. Solaris /usr/ucb/tr +# does not understand '\r'. +case $(echo r | tr -d '\r') in '') cr='\015';; *) cr='\r';; esac + +# normalize output +LC_ALL=C tr -d "$cr" < out > k && mv k out + +compare expected out || fail=1 + +Exit $fail diff --git a/tests/test-exclude2.sh b/tests/test-exclude2.sh index 701175439..33ee734e1 100755 --- a/tests/test-exclude2.sh +++ b/tests/test-exclude2.sh @@ -16,11 +16,10 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -TMP=excltmp.$$ -LIST=flist.$$ -ERR=0 +. "${srcdir=.}/init.sh"; path_prepend_ . +fail=0 -cat > $LIST < in < $TMP < expected < out || exit $? -rm -f $TMP $LIST -exit $ERR +# Find out how to remove carriage returns from output. Solaris /usr/ucb/tr +# does not understand '\r'. +case $(echo r | tr -d '\r') in '') cr='\015';; *) cr='\r';; esac + +# normalize output +LC_ALL=C tr -d "$cr" < out > k && mv k out + +compare expected out || fail=1 + +Exit $fail diff --git a/tests/test-exclude3.sh b/tests/test-exclude3.sh index 6b8512efb..a9a4d2318 100755 --- a/tests/test-exclude3.sh +++ b/tests/test-exclude3.sh @@ -16,19 +16,18 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -TMP=excltmp.$$ -LIST=flist.$$ -ERR=0 +. "${srcdir=.}/init.sh"; path_prepend_ . +fail=0 # Test include -cat > $LIST < in < $TMP < expected < out || exit $? -rm -f $TMP $LIST -exit $ERR +# Find out how to remove carriage returns from output. Solaris /usr/ucb/tr +# does not understand '\r'. +case $(echo r | tr -d '\r') in '') cr='\015';; *) cr='\r';; esac + +# normalize output +LC_ALL=C tr -d "$cr" < out > k && mv k out + +compare expected out || fail=1 + +Exit $fail diff --git a/tests/test-exclude4.sh b/tests/test-exclude4.sh index 99c4c9fec..b3ecdae75 100755 --- a/tests/test-exclude4.sh +++ b/tests/test-exclude4.sh @@ -16,25 +16,30 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -TMP=excltmp.$$ -LIST=flist.$$ -ERR=0 +. "${srcdir=.}/init.sh"; path_prepend_ . +fail=0 # Test wildcard matching -cat > $LIST < in < $TMP < expected < out || exit $? -rm -f $TMP $LIST -exit $ERR +# Find out how to remove carriage returns from output. Solaris /usr/ucb/tr +# does not understand '\r'. +case $(echo r | tr -d '\r') in '') cr='\015';; *) cr='\r';; esac + +# normalize output +LC_ALL=C tr -d "$cr" < out > k && mv k out + +compare expected out || fail=1 + +Exit $fail diff --git a/tests/test-exclude5.sh b/tests/test-exclude5.sh index 7f95ea7f2..d9558f74e 100755 --- a/tests/test-exclude5.sh +++ b/tests/test-exclude5.sh @@ -16,28 +16,33 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -TMP=excltmp.$$ -LIST=flist.$$ -ERR=0 +. "${srcdir=.}/init.sh"; path_prepend_ . +fail=0 # Test FNM_LEADING_DIR -cat > $LIST < in < $TMP < expected < out || exit $? -rm -f $TMP $LIST -exit $ERR +# Find out how to remove carriage returns from output. Solaris /usr/ucb/tr +# does not understand '\r'. +case $(echo r | tr -d '\r') in '') cr='\015';; *) cr='\r';; esac + +# normalize output +LC_ALL=C tr -d "$cr" < out > k && mv k out + +compare expected out || fail=1 + +Exit $fail diff --git a/tests/test-exclude6.sh b/tests/test-exclude6.sh index eb4f5f1eb..b2093d610 100755 --- a/tests/test-exclude6.sh +++ b/tests/test-exclude6.sh @@ -16,26 +16,31 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -TMP=excltmp.$$ -LIST=flist.$$ -ERR=0 +. "${srcdir=.}/init.sh"; path_prepend_ . +fail=0 # Test anchored -cat > $LIST < in < $TMP < expected < out || exit $? -rm -f $TMP $LIST -exit $ERR +# Find out how to remove carriage returns from output. Solaris /usr/ucb/tr +# does not understand '\r'. +case $(echo r | tr -d '\r') in '') cr='\015';; *) cr='\r';; esac + +# normalize output +LC_ALL=C tr -d "$cr" < out > k && mv k out + +compare expected out || fail=1 + +Exit $fail diff --git a/tests/test-exclude7.sh b/tests/test-exclude7.sh index 03ed2a668..f75b814e3 100755 --- a/tests/test-exclude7.sh +++ b/tests/test-exclude7.sh @@ -16,29 +16,32 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -TMP=excltmp.$$ -LIST=flist.$$ -ERR=0 +. "${srcdir=.}/init.sh"; path_prepend_ . +fail=0 # Test exclude precedence -cat > $LIST < in < $TMP < expected <$TMP.1 -./test-exclude$EXEEXT -include $LIST -no-include $LIST -- bar | - tr -d '\015' >>$TMP.1 +test-exclude in -include in -- bar > out || exit $? +test-exclude -include in -no-include in -- bar >> out || exit $? -diff -c $TMP $TMP.1 || ERR=1 +# Find out how to remove carriage returns from output. Solaris /usr/ucb/tr +# does not understand '\r'. +case $(echo r | tr -d '\r') in '') cr='\015';; *) cr='\r';; esac -rm -f $TMP $TMP.1 $LIST -exit $ERR +# normalize output +LC_ALL=C tr -d "$cr" < out > k && mv k out + +compare expected out || fail=1 + +Exit $fail diff --git a/tests/test-exclude8.sh b/tests/test-exclude8.sh index 95920708d..b1b010e24 100755 --- a/tests/test-exclude8.sh +++ b/tests/test-exclude8.sh @@ -16,25 +16,31 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -TMP=excltmp.$$ -LIST=flist.$$ -ERR=0 +. "${srcdir=.}/init.sh"; path_prepend_ . +fail=0 # Test escaped metacharacters. -cat > $LIST <<'EOT' +cat > in <<'EOT' f\*e b[a\*]r EOT -cat > $TMP <<'EOT' +cat > expected <<'EOT' f*e: 1 file: 0 bar: 1 EOT -./test-exclude$EXEEXT -wildcards $LIST -- 'f*e' 'file' 'bar' | - tr -d '\015' | diff -c $TMP - || ERR=1 +test-exclude -wildcards in -- 'f*e' 'file' 'bar' > out || exit $? -rm -f $TMP $LIST -exit $ERR +# Find out how to remove carriage returns from output. Solaris /usr/ucb/tr +# does not understand '\r'. +case $(echo r | tr -d '\r') in '') cr='\015';; *) cr='\r';; esac + +# normalize output +LC_ALL=C tr -d "$cr" < out > k && mv k out + +compare expected out || fail=1 + +Exit $fail diff --git a/tests/test-expf.c b/tests/test-expf.c new file mode 100644 index 000000000..ed7138395 --- /dev/null +++ b/tests/test-expf.c @@ -0,0 +1,40 @@ +/* Test of expf() function. + Copyright (C) 2010-2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2010-2011. */ + +#include + +#include + +#include "signature.h" +SIGNATURE_CHECK (expf, float, (float)); + +#include "macros.h" + +volatile float x; +float y; + +int +main () +{ + /* A particular value. */ + x = 0.6f; + y = expf (x); + ASSERT (y >= 1.8221188f && y <= 1.8221189f); + + return 0; +} diff --git a/tests/test-fabsf.c b/tests/test-fabsf.c new file mode 100644 index 000000000..d9dfa84f5 --- /dev/null +++ b/tests/test-fabsf.c @@ -0,0 +1,45 @@ +/* Test of fabsf() function. + Copyright (C) 2010-2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2010-2011. */ + +#include + +#include + +#include "signature.h" +SIGNATURE_CHECK (fabsf, float, (float)); + +#include "macros.h" + +volatile float x; +float y; + +int +main () +{ + /* A particular positive value. */ + x = 0.6f; + y = fabsf (x); + ASSERT (y == 0.6f); + + /* A particular negative value. */ + x = -0.6f; + y = fabsf (x); + ASSERT (y == 0.6f); + + return 0; +} diff --git a/tests/test-faccessat.c b/tests/test-faccessat.c new file mode 100644 index 000000000..0c7afe027 --- /dev/null +++ b/tests/test-faccessat.c @@ -0,0 +1,45 @@ +/* Test checking user's permissions for a file. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include + +#include "signature.h" +SIGNATURE_CHECK (faccessat, int, (int, const char *, int, int)); + +#include +#include + +#include "macros.h" + +int +main (void) +{ + /* Test behaviour for invalid file descriptors. */ + { + errno = 0; + ASSERT (faccessat (-1, "foo", F_OK, 0) == -1); + ASSERT (errno == EBADF); + } + { + errno = 0; + ASSERT (faccessat (99, "foo", F_OK, 0) == -1); + ASSERT (errno == EBADF); + } + + return 0; +} diff --git a/tests/test-fchdir.c b/tests/test-fchdir.c index 0375c317d..2e6b06760 100644 --- a/tests/test-fchdir.c +++ b/tests/test-fchdir.c @@ -34,14 +34,29 @@ SIGNATURE_CHECK (fchdir, int, (int)); int main (void) { - char *cwd = getcwd (NULL, 0); - int fd = open (".", O_RDONLY); + char *cwd; + int fd; int i; + cwd = getcwd (NULL, 0); ASSERT (cwd); + + fd = open (".", O_RDONLY); ASSERT (0 <= fd); - /* Check for failure cases. */ + /* Test behaviour for invalid file descriptors. */ + { + errno = 0; + ASSERT (fchdir (-1) == -1); + ASSERT (errno == EBADF); + } + { + errno = 0; + ASSERT (fchdir (99) == -1); + ASSERT (errno == EBADF); + } + + /* Check for other failure cases. */ { int bad_fd = open ("/dev/null", O_RDONLY); ASSERT (0 <= bad_fd); @@ -49,9 +64,6 @@ main (void) ASSERT (fchdir (bad_fd) == -1); ASSERT (errno == ENOTDIR); ASSERT (close (bad_fd) == 0); - errno = 0; - ASSERT (fchdir (-1) == -1); - ASSERT (errno == EBADF); } /* Repeat test twice, once in '.' and once in '..'. */ diff --git a/tests/test-fchmod.c b/tests/test-fchmod.c new file mode 100644 index 000000000..c167f16cb --- /dev/null +++ b/tests/test-fchmod.c @@ -0,0 +1,44 @@ +/* Test changing the protections of a file. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include + +#include "signature.h" +SIGNATURE_CHECK (fchmod, int, (int, mode_t)); + +#include + +#include "macros.h" + +int +main (void) +{ + /* Test behaviour for invalid file descriptors. */ + { + errno = 0; + ASSERT (fchmod (-1, 0600) == -1); + ASSERT (errno == EBADF); + } + { + errno = 0; + ASSERT (fchmod (99, 0600) == -1); + ASSERT (errno == EBADF); + } + + return 0; +} diff --git a/tests/test-fchmodat.c b/tests/test-fchmodat.c new file mode 100644 index 000000000..d52f5c33f --- /dev/null +++ b/tests/test-fchmodat.c @@ -0,0 +1,44 @@ +/* Test changing the protections of a file relative to an open directory. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include + +#include "signature.h" +SIGNATURE_CHECK (fchmodat, int, (int, const char *, mode_t, int)); + +#include + +#include "macros.h" + +int +main (void) +{ + /* Test behaviour for invalid file descriptors. */ + { + errno = 0; + ASSERT (fchmodat (-1, "foo", 0600, 0) == -1); + ASSERT (errno == EBADF); + } + { + errno = 0; + ASSERT (fchmodat (99, "foo", 0600, 0) == -1); + ASSERT (errno == EBADF); + } + + return 0; +} diff --git a/tests/test-fchown.c b/tests/test-fchown.c new file mode 100644 index 000000000..a7e980477 --- /dev/null +++ b/tests/test-fchown.c @@ -0,0 +1,44 @@ +/* Tests of fchown. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include + +#include "signature.h" +SIGNATURE_CHECK (fchown, int, (int, uid_t, gid_t)); + +#include + +#include "macros.h" + +int +main (int argc, char *argv[]) +{ + /* Test behaviour for invalid file descriptors. */ + { + errno = 0; + ASSERT (fchown (-1, getuid (), getgid ()) == -1); + ASSERT (errno == EBADF); + } + { + errno = 0; + ASSERT (fchown (99, getuid (), getgid ()) == -1); + ASSERT (errno == EBADF); + } + + return 0; +} diff --git a/tests/test-fchownat.c b/tests/test-fchownat.c index 060013e1e..dda6c0fd6 100644 --- a/tests/test-fchownat.c +++ b/tests/test-fchownat.c @@ -69,6 +69,18 @@ main (int argc _GL_UNUSED, char *argv[]) /* Clean up any trash from prior testsuite runs. */ ignore_value (system ("rm -rf " BASE "*")); + /* Test behaviour for invalid file descriptors. */ + { + errno = 0; + ASSERT (fchownat (-1, "foo", getuid (), getgid (), 0) == -1); + ASSERT (errno == EBADF); + } + { + errno = 0; + ASSERT (fchownat (99, "foo", getuid (), getgid (), 0) == -1); + ASSERT (errno == EBADF); + } + /* Basic tests. */ result1 = test_chown (do_chown, true); result2 = test_lchown (do_lchown, result1 == 0); diff --git a/tests/test-fclose.c b/tests/test-fclose.c index a11eca96e..ecc60cd4f 100644 --- a/tests/test-fclose.c +++ b/tests/test-fclose.c @@ -76,12 +76,35 @@ main (int argc, char **argv) /* Test that fclose() sets errno if someone else closes the stream fd behind the back of stdio. */ - f = fdopen (fd, "w+"); - ASSERT (f); - ASSERT (close (fd) == 0); - errno = 0; - ASSERT (fclose (f) == EOF); - ASSERT (errno == EBADF); + { + FILE *fp = fdopen (fd, "w+"); + ASSERT (fp != NULL); + ASSERT (close (fd) == 0); + errno = 0; + ASSERT (fclose (fp) == EOF); + ASSERT (errno == EBADF); + } + + /* Test that fclose() sets errno if the stream was constructed with + an invalid file descriptor. */ + { + FILE *fp = fdopen (-1, "r"); + if (fp != NULL) + { + errno = 0; + ASSERT (fclose (fp) == EOF); + ASSERT (errno == EBADF); + } + } + { + FILE *fp = fdopen (99, "r"); + if (fp != NULL) + { + errno = 0; + ASSERT (fclose (fp) == EOF); + ASSERT (errno == EBADF); + } + } /* Clean up. */ ASSERT (remove (BASE) == 0); diff --git a/tests/test-fcntl-h.c b/tests/test-fcntl-h.c index 648701ef4..7f350b46f 100644 --- a/tests/test-fcntl-h.c +++ b/tests/test-fcntl-h.c @@ -31,6 +31,11 @@ int sk[] = { SEEK_CUR, SEEK_END, SEEK_SET }; /* Check that the FD_* macros are defined. */ int i = FD_CLOEXEC; +/* Check that the types are all defined. */ +pid_t t1; +off_t t2; +mode_t t3; + int main (void) { diff --git a/tests/test-fcntl.c b/tests/test-fcntl.c index 23a0dba0d..c6066ead1 100644 --- a/tests/test-fcntl.c +++ b/tests/test-fcntl.c @@ -34,6 +34,8 @@ SIGNATURE_CHECK (fcntl, int, (int, int, ...)); /* Get declarations of the Win32 API functions. */ # define WIN32_LEAN_AND_MEAN # include +/* Get _get_osfhandle. */ +# include "msvc-nothrow.h" #endif #include "binary-io.h" @@ -312,7 +314,7 @@ main (void) ASSERT (is_mode (fd + 2, O_TEXT)); ASSERT (close (fd + 2) == 0); - /* Test F_GETFD. */ + /* Test F_GETFD on invalid file descriptors. */ errno = 0; ASSERT (fcntl (-1, F_GETFD) == -1); ASSERT (errno == EBADF); @@ -322,6 +324,8 @@ main (void) errno = 0; ASSERT (fcntl (10000000, F_GETFD) == -1); ASSERT (errno == EBADF); + + /* Test F_GETFD, the FD_CLOEXEC bit. */ { int result = fcntl (fd, F_GETFD); ASSERT (0 <= result); @@ -333,6 +337,71 @@ main (void) ASSERT (close (fd + 1) == 0); } +#ifdef F_SETFD + /* Test F_SETFD on invalid file descriptors. */ + errno = 0; + ASSERT (fcntl (-1, F_SETFD, 0) == -1); + ASSERT (errno == EBADF); + errno = 0; + ASSERT (fcntl (fd + 1, F_SETFD, 0) == -1); + ASSERT (errno == EBADF); + errno = 0; + ASSERT (fcntl (10000000, F_SETFD, 0) == -1); + ASSERT (errno == EBADF); +#endif + +#ifdef F_GETFL + /* Test F_GETFL on invalid file descriptors. */ + errno = 0; + ASSERT (fcntl (-1, F_GETFL) == -1); + ASSERT (errno == EBADF); + errno = 0; + ASSERT (fcntl (fd + 1, F_GETFL) == -1); + ASSERT (errno == EBADF); + errno = 0; + ASSERT (fcntl (10000000, F_GETFL) == -1); + ASSERT (errno == EBADF); +#endif + +#ifdef F_SETFL + /* Test F_SETFL on invalid file descriptors. */ + errno = 0; + ASSERT (fcntl (-1, F_SETFL, 0) == -1); + ASSERT (errno == EBADF); + errno = 0; + ASSERT (fcntl (fd + 1, F_SETFL, 0) == -1); + ASSERT (errno == EBADF); + errno = 0; + ASSERT (fcntl (10000000, F_SETFL, 0) == -1); + ASSERT (errno == EBADF); +#endif + +#ifdef F_GETOWN + /* Test F_GETOWN on invalid file descriptors. */ + errno = 0; + ASSERT (fcntl (-1, F_GETOWN) == -1); + ASSERT (errno == EBADF); + errno = 0; + ASSERT (fcntl (fd + 1, F_GETOWN) == -1); + ASSERT (errno == EBADF); + errno = 0; + ASSERT (fcntl (10000000, F_GETOWN) == -1); + ASSERT (errno == EBADF); +#endif + +#ifdef F_SETOWN + /* Test F_SETFL on invalid file descriptors. */ + errno = 0; + ASSERT (fcntl (-1, F_SETOWN, 0) == -1); + ASSERT (errno == EBADF); + errno = 0; + ASSERT (fcntl (fd + 1, F_SETOWN, 0) == -1); + ASSERT (errno == EBADF); + errno = 0; + ASSERT (fcntl (10000000, F_SETOWN, 0) == -1); + ASSERT (errno == EBADF); +#endif + /* Cleanup. */ ASSERT (close (fd) == 0); ASSERT (unlink (file) == 0); diff --git a/tests/test-fdatasync.c b/tests/test-fdatasync.c new file mode 100644 index 000000000..a394a4c66 --- /dev/null +++ b/tests/test-fdatasync.c @@ -0,0 +1,80 @@ +/* Test of fdatasync() function. + Copyright (C) 2008-2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include + +#include "signature.h" +SIGNATURE_CHECK (fdatasync, int, (int)); + +#include +#include + +#include "macros.h" + +int +main (void) +{ + int fd; + const char *file = "test-fdatasync.txt"; + + /* Assuming stdin and stdout are ttys, fdatasync is allowed to fail, but + may succeed as an extension. */ + for (fd = 0; fd < 2; fd++) + if (fdatasync (fd) != 0) + { + ASSERT (errno == EINVAL /* POSIX */ + || errno == ENOTSUP /* seen on MacOS X 10.5 */ + || errno == EBADF /* seen on AIX 7.1 */ + || errno == EIO /* seen on mingw */ + ); + } + + /* fdatasync must fail on invalid fd. */ + { + errno = 0; + ASSERT (fdatasync (-1) == -1); + ASSERT (errno == EBADF); + } + { + errno = 0; + ASSERT (fdatasync (99) == -1); + ASSERT (errno == EBADF); + } + + fd = open (file, O_WRONLY|O_CREAT|O_TRUNC, 0644); + ASSERT (0 <= fd); + ASSERT (write (fd, "hello", 5) == 5); + ASSERT (fdatasync (fd) == 0); + ASSERT (close (fd) == 0); + +#if 0 + /* POSIX is self-contradictory on whether fdatasync must fail on + read-only file descriptors. Glibc allows it, as does our + implementation if fsync allows it. */ + fd = open (file, O_RDONLY); + ASSERT (0 <= fd); + errno = 0; + ASSERT (fdatasync (fd) == -1); + ASSERT (errno == EBADF); + ASSERT (close (fd) == 0); +#endif + + ASSERT (unlink (file) == 0); + + return 0; +} diff --git a/tests/test-fdopen.c b/tests/test-fdopen.c new file mode 100644 index 000000000..304e520a4 --- /dev/null +++ b/tests/test-fdopen.c @@ -0,0 +1,54 @@ +/* Test opening a stream with a file descriptor. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include + +#include "signature.h" +SIGNATURE_CHECK (fdopen, FILE *, (int, const char *)); + +#include + +#include "macros.h" + +int +main (void) +{ + /* Test behaviour for invalid file descriptors. */ + { + FILE *fp; + + errno = 0; + fp = fdopen (-1, "r"); + if (fp == NULL) + ASSERT (errno == EBADF); + else + fclose (fp); + } + { + FILE *fp; + + errno = 0; + fp = fdopen (99, "r"); + if (fp == NULL) + ASSERT (errno == EBADF); + else + fclose (fp); + } + + return 0; +} diff --git a/tests/test-fdopendir.c b/tests/test-fdopendir.c index 13653fe79..b578a5c5e 100644 --- a/tests/test-fdopendir.c +++ b/tests/test-fdopendir.c @@ -48,9 +48,16 @@ main (int argc _GL_UNUSED, char *argv[]) ASSERT (unlink ("test-fdopendir.tmp") == 0); /* A bad fd cannot be turned into a stream. */ - errno = 0; - ASSERT (fdopendir (-1) == NULL); - ASSERT (errno == EBADF); + { + errno = 0; + ASSERT (fdopendir (-1) == NULL); + ASSERT (errno == EBADF); + } + { + errno = 0; + ASSERT (fdopendir (99) == NULL); + ASSERT (errno == EBADF); + } /* This should work. */ fd = open (".", O_RDONLY); diff --git a/tests/test-fflush.c b/tests/test-fflush.c index a6c0e18ab..7c7c474a0 100644 --- a/tests/test-fflush.c +++ b/tests/test-fflush.c @@ -26,8 +26,11 @@ #include "signature.h" SIGNATURE_CHECK (fflush, int, (FILE *)); +#include #include +#include "macros.h" + int main (void) { @@ -46,6 +49,7 @@ main (void) /* Test fflush. */ f = fopen ("test-fflush.txt", "r"); + ASSERT (f != NULL); fd = fileno (f); if (!f || 0 > fd || fread (buffer, 1, 5, f) != 5) { @@ -141,6 +145,45 @@ main (void) return 1; } fclose (f); + + /* Test that fflush() sets errno if someone else closes the stream + fd behind the back of stdio. */ + { + FILE *fp = fopen ("test-fflush.txt", "w"); + ASSERT (fp != NULL); + fputc ('x', fp); + ASSERT (close (fileno (fp)) == 0); + errno = 0; + ASSERT (fflush (fp) == EOF); + ASSERT (errno == EBADF); + fclose (fp); + } + + /* Test that fflush() sets errno if the stream was constructed with + an invalid file descriptor. */ + { + FILE *fp = fdopen (-1, "w"); + if (fp != NULL) + { + fputc ('x', fp); + errno = 0; + ASSERT (fflush (fp) == EOF); + ASSERT (errno == EBADF); + } + } + { + FILE *fp = fdopen (99, "w"); + if (fp != NULL) + { + fputc ('x', fp); + errno = 0; + ASSERT (fflush (fp) == EOF); + ASSERT (errno == EBADF); + } + } + + /* Clean up. */ unlink ("test-fflush.txt"); + return 0; } diff --git a/tests/test-fgetc.c b/tests/test-fgetc.c new file mode 100644 index 000000000..4df46fb6e --- /dev/null +++ b/tests/test-fgetc.c @@ -0,0 +1,96 @@ +/* Test of fgetc() function. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +#include + +#include + +#include "signature.h" +SIGNATURE_CHECK (fgetc, int, (FILE *)); + +#include +#include +#include + +#include "msvc-inval.h" + +#include "macros.h" + +int +main (int argc, char **argv) +{ + const char *filename = "test-fgetc.txt"; + + /* We don't have an fgetc() function that installs an invalid parameter + handler so far. So install that handler here, explicitly. */ +#if HAVE_MSVC_INVALID_PARAMETER_HANDLER \ + && MSVC_INVALID_PARAMETER_HANDLING == DEFAULT_HANDLING + gl_msvc_inval_ensure_handler (); +#endif + + /* Prepare a file. */ + { + const char text[] = "hello world"; + int fd = open (filename, O_RDWR | O_CREAT | O_TRUNC, 0600); + ASSERT (fd >= 0); + ASSERT (write (fd, text, sizeof (text)) == sizeof (text)); + ASSERT (close (fd) == 0); + } + + /* Test that fgetc() sets errno if someone else closes the stream + fd behind the back of stdio. */ + { + FILE *fp = fopen (filename, "r"); + ASSERT (fp != NULL); + ASSERT (close (fileno (fp)) == 0); + errno = 0; + ASSERT (fgetc (fp) == EOF); + ASSERT (errno == EBADF); + ASSERT (ferror (fp)); + fclose (fp); + } + + /* Test that fgetc() sets errno if the stream was constructed with + an invalid file descriptor. */ + { + FILE *fp = fdopen (-1, "r"); + if (fp != NULL) + { + errno = 0; + ASSERT (fgetc (fp) == EOF); + ASSERT (errno == EBADF); + ASSERT (ferror (fp)); + fclose (fp); + } + } + { + FILE *fp = fdopen (99, "r"); + if (fp != NULL) + { + errno = 0; + ASSERT (fgetc (fp) == EOF); + ASSERT (errno == EBADF); + ASSERT (ferror (fp)); + fclose (fp); + } + } + + /* Clean up. */ + unlink (filename); + + return 0; +} diff --git a/tests/test-file-has-acl-1.sh b/tests/test-file-has-acl-1.sh new file mode 100755 index 000000000..e3ad9c0e8 --- /dev/null +++ b/tests/test-file-has-acl-1.sh @@ -0,0 +1,13 @@ +#!/bin/sh + +# Test file-has-acl on the file system of /var/tmp, which usually is a local +# file system. + +if test -d /var/tmp; then + TMPDIR=/var/tmp +else + TMPDIR=/tmp +fi +export TMPDIR + +exec "${srcdir}/test-file-has-acl.sh" diff --git a/tests/test-file-has-acl-2.sh b/tests/test-file-has-acl-2.sh new file mode 100755 index 000000000..6b92b1d92 --- /dev/null +++ b/tests/test-file-has-acl-2.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +# Test file-has-acl on the file system of the build directory, which may be +# a local file system or NFS mounted. + +TMPDIR=`pwd` +export TMPDIR + +exec "${srcdir}/test-file-has-acl.sh" diff --git a/tests/test-float.c b/tests/test-float.c index 57a472fae..1d3edbb46 100644 --- a/tests/test-float.c +++ b/tests/test-float.c @@ -298,14 +298,7 @@ test_long_double (void) /* Check that 'long double' is at least as wide as 'double'. */ ASSERT (LDBL_MANT_DIG >= DBL_MANT_DIG); - - /* Normally, we would also assert this: - ASSERT (LDBL_MIN_EXP <= DBL_MIN_EXP); - but at least on powerpc64 with gcc-4.4.4, it would fail: - $ :|gcc -dD -E -include stddef.h -|grep -E 'L?DBL_MIN_EXP' - #define __DBL_MIN_EXP__ (-1021) - #define __LDBL_MIN_EXP__ (-968) - */ + ASSERT (LDBL_MIN_EXP - LDBL_MANT_DIG <= DBL_MIN_EXP - DBL_MANT_DIG); ASSERT (LDBL_MAX_EXP >= DBL_MAX_EXP); /* Check the value of LDBL_DIG. */ diff --git a/tests/test-floor1.c b/tests/test-floor1.c index bfb1f1dad..2d2ce865a 100644 --- a/tests/test-floor1.c +++ b/tests/test-floor1.c @@ -25,6 +25,7 @@ SIGNATURE_CHECK (floor, double, (double)); #include "isnand-nolibm.h" #include "minus-zero.h" +#include "infinity.h" #include "nan.h" #include "macros.h" @@ -56,8 +57,8 @@ main (int argc, char **argv _GL_UNUSED) ASSERT (floor (-65536.0) == -65536.0); ASSERT (floor (-2.341e31) == -2.341e31); /* Infinite numbers. */ - ASSERT (floor (1.0 / 0.0) == 1.0 / 0.0); - ASSERT (floor (-1.0 / 0.0) == -1.0 / 0.0); + ASSERT (floor (Infinityd ()) == Infinityd ()); + ASSERT (floor (- Infinityd ()) == - Infinityd ()); /* NaNs. */ ASSERT (isnand (floor (NaNd ()))); diff --git a/tests/test-floorf1.c b/tests/test-floorf1.c index 378b994d0..38d4a5018 100644 --- a/tests/test-floorf1.c +++ b/tests/test-floorf1.c @@ -25,6 +25,7 @@ SIGNATURE_CHECK (floorf, float, (float)); #include "isnanf-nolibm.h" #include "minus-zero.h" +#include "infinity.h" #include "nan.h" #include "macros.h" @@ -69,8 +70,8 @@ main (int argc, char **argv _GL_UNUSED) ASSERT (my_floorf (-65536.0f) == -65536.0f); ASSERT (my_floorf (-2.341e31f) == -2.341e31f); /* Infinite numbers. */ - ASSERT (my_floorf (1.0f / 0.0f) == 1.0f / 0.0f); - ASSERT (my_floorf (-1.0f / 0.0f) == -1.0f / 0.0f); + ASSERT (my_floorf (Infinityf ()) == Infinityf ()); + ASSERT (my_floorf (- Infinityf ()) == - Infinityf ()); /* NaNs. */ ASSERT (isnanf (my_floorf (NaNf ()))); diff --git a/tests/test-floorl.c b/tests/test-floorl.c index df745f4e3..e9696d98e 100644 --- a/tests/test-floorl.c +++ b/tests/test-floorl.c @@ -28,6 +28,7 @@ SIGNATURE_CHECK (floorl, long double, (long double)); #include "fpucw.h" #include "isnanl-nolibm.h" #include "minus-zero.h" +#include "infinity.h" #include "nan.h" #include "macros.h" @@ -63,8 +64,8 @@ main () ASSERT (floorl (-65536.0L) == -65536.0L); ASSERT (floorl (-2.341e31L) == -2.341e31L); /* Infinite numbers. */ - ASSERT (floorl (1.0L / 0.0L) == 1.0L / 0.0L); - ASSERT (floorl (-1.0L / 0.0L) == -1.0L / 0.0L); + ASSERT (floorl (Infinityl ()) == Infinityl ()); + ASSERT (floorl (- Infinityl ()) == - Infinityl ()); /* NaNs. */ ASSERT (isnanl (floorl (NaNl ()))); diff --git a/tests/test-fma1.c b/tests/test-fma1.c new file mode 100644 index 000000000..f3ef31e17 --- /dev/null +++ b/tests/test-fma1.c @@ -0,0 +1,47 @@ +/* Test of fma(). + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2011. */ + +#include + +#include + +#include "signature.h" +SIGNATURE_CHECK (fma, double, (double, double, double)); + +#include "isnand-nolibm.h" +#include "infinity.h" +#include "nan.h" +#include "macros.h" + +#undef INFINITY +#undef NAN + +#define DOUBLE double +#define ISNAN isnand +#define INFINITY Infinityd () +#define NAN NaNd () +#define L_(literal) literal +#include "test-fma1.h" + +int +main () +{ + test_function (fma); + + return 0; +} diff --git a/tests/test-fma1.h b/tests/test-fma1.h new file mode 100644 index 000000000..3ea3c4a46 --- /dev/null +++ b/tests/test-fma1.h @@ -0,0 +1,213 @@ +/* Test of fused multiply-add. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2011. */ + +static void +test_function (DOUBLE (*my_fma) (DOUBLE, DOUBLE, DOUBLE)) +{ + volatile DOUBLE x; + volatile DOUBLE y; + volatile DOUBLE z; + volatile DOUBLE result; + volatile DOUBLE expected; + + /* Combinations with NaN. */ + /* "If x or y are NaN, a NaN shall be returned." */ + { + x = NAN; + y = NAN; + z = NAN; + result = my_fma (x, y, z); + ASSERT (ISNAN (result)); + } + { + x = NAN; + y = NAN; + z = L_(1.0); + result = my_fma (x, y, z); + ASSERT (ISNAN (result)); + } + { + x = NAN; + y = L_(0.0); + z = NAN; + result = my_fma (x, y, z); + ASSERT (ISNAN (result)); + } + { + x = NAN; + y = L_(0.0); + z = L_(1.0); + result = my_fma (x, y, z); + ASSERT (ISNAN (result)); + } + { + x = L_(0.0); + y = NAN; + z = NAN; + result = my_fma (x, y, z); + ASSERT (ISNAN (result)); + } + { + x = L_(0.0); + y = NAN; + z = L_(1.0); + result = my_fma (x, y, z); + ASSERT (ISNAN (result)); + } + /* "If x*y is not 0*Inf nor Inf*0 and z is a NaN, a NaN shall be returned." */ + { + x = L_(3.0); + y = - L_(2.0); + z = NAN; + result = my_fma (x, y, z); + ASSERT (ISNAN (result)); + } + /* "If one of x and y is infinite, the other is zero, and z is a NaN, a NaN + shall be returned and a domain error may occur." */ + { + x = INFINITY; + y = L_(0.0); + z = NAN; + result = my_fma (x, y, z); + ASSERT (ISNAN (result)); + } + { + x = L_(0.0); + y = INFINITY; + z = NAN; + result = my_fma (x, y, z); + ASSERT (ISNAN (result)); + } + + /* Combinations with Infinity. */ + /* "If x multiplied by y is an exact infinity and z is also an infinity but + with the opposite sign, a domain error shall occur, and either a NaN + (if supported), or an implementation-defined value shall be returned." */ + { + x = INFINITY; + y = L_(3.0); + z = - INFINITY; + result = my_fma (x, y, z); + ASSERT (ISNAN (result)); + } + { + x = INFINITY; + y = - L_(3.0); + z = INFINITY; + result = my_fma (x, y, z); + ASSERT (ISNAN (result)); + } + { + x = L_(3.0); + y = INFINITY; + z = - INFINITY; + result = my_fma (x, y, z); + ASSERT (ISNAN (result)); + } + { + x = - L_(3.0); + y = INFINITY; + z = INFINITY; + result = my_fma (x, y, z); + ASSERT (ISNAN (result)); + } + /* "If one of x and y is infinite, the other is zero, and z is not a NaN, a + domain error shall occur, and either a NaN (if supported), or an + implementation-defined value shall be returned." */ + { + x = INFINITY; + y = L_(0.0); + z = L_(5.0); + result = my_fma (x, y, z); + ASSERT (ISNAN (result)); + } + { + x = L_(0.0); + y = INFINITY; + z = L_(5.0); + result = my_fma (x, y, z); + ASSERT (ISNAN (result)); + } + /* Infinite results. */ + { + x = - L_(2.0); + y = L_(3.0); + z = INFINITY; + result = my_fma (x, y, z); + expected = INFINITY; + ASSERT (result == expected); + } + { + x = INFINITY; + y = L_(3.0); + z = INFINITY; + result = my_fma (x, y, z); + expected = INFINITY; + ASSERT (result == expected); + } + { + x = INFINITY; + y = - L_(3.0); + z = - INFINITY; + result = my_fma (x, y, z); + expected = - INFINITY; + ASSERT (result == expected); + } + { + x = L_(3.0); + y = INFINITY; + z = INFINITY; + result = my_fma (x, y, z); + expected = INFINITY; + ASSERT (result == expected); + } + { + x = - L_(3.0); + y = INFINITY; + z = - INFINITY; + result = my_fma (x, y, z); + expected = - INFINITY; + ASSERT (result == expected); + } + + /* Combinations with zero. */ + { + x = L_(0.0); + y = L_(3.0); + z = L_(11.0); + result = my_fma (x, y, z); + expected = L_(11.0); + ASSERT (result == expected); + } + { + x = L_(3.0); + y = L_(0.0); + z = L_(11.0); + result = my_fma (x, y, z); + expected = L_(11.0); + ASSERT (result == expected); + } + { + x = L_(3.0); + y = L_(4.0); + z = L_(0.0); + result = my_fma (x, y, z); + expected = L_(12.0); + ASSERT (result == expected); + } +} diff --git a/tests/test-fma2.c b/tests/test-fma2.c new file mode 100644 index 000000000..0fe91c779 --- /dev/null +++ b/tests/test-fma2.c @@ -0,0 +1,47 @@ +/* Test of fma(). + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2011. */ + +#include + +#include + +#include "float+.h" +#include "infinity.h" +#include "macros.h" + +#undef INFINITY + +#define DOUBLE double +#define LDEXP ldexp +const int MIN_EXP = DBL_MIN_EXP; /* for gdb */ +#define MIN_EXP DBL_MIN_EXP +const int MAX_EXP = DBL_MAX_EXP; /* for gdb */ +#define MAX_EXP DBL_MAX_EXP +const int MANT_BIT = DBL_MANT_BIT; /* for gdb */ +#define MANT_BIT DBL_MANT_BIT +#define INFINITY Infinityd () +#define L_(literal) literal +#include "test-fma2.h" + +int +main () +{ + test_function (fma); + + return 0; +} diff --git a/tests/test-fma2.h b/tests/test-fma2.h new file mode 100644 index 000000000..349cf9828 --- /dev/null +++ b/tests/test-fma2.h @@ -0,0 +1,576 @@ +/* Test of fused multiply-add. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2011. */ + +/* Returns 2^e as a DOUBLE. */ +#define POW2(e) \ + LDEXP (L_(1.0), e) + +/* One could define XE_RANGE and YE_RANGE to 5 or 60, but this would slow down + the test without the expectation of catching more bugs. */ +#define XE_RANGE 0 +#define YE_RANGE 0 + +/* Define to 1 if you want to allow the behaviour of the 'double-double' + implementation of 'long double' (seen on IRIX 6.5 and Linux/PowerPC). + This floating-point type does not follow IEEE 754. */ +#if MANT_BIT == LDBL_MANT_BIT && LDBL_MANT_BIT == 2 * DBL_MANT_BIT +# define FORGIVE_DOUBLEDOUBLE_BUG 1 +#else +# define FORGIVE_DOUBLEDOUBLE_BUG 0 +#endif + +/* Subnormal numbers appear to not work as expected on IRIX 6.5. */ +#ifdef __sgi +# define MIN_SUBNORMAL_EXP (MIN_EXP - 1) +#else +# define MIN_SUBNORMAL_EXP (MIN_EXP - MANT_BIT) +#endif + +/* Check rounding behaviour. */ + +static void +test_function (DOUBLE (*my_fma) (DOUBLE, DOUBLE, DOUBLE)) +{ + /* Array mapping n to (-1)^n. */ + static const DOUBLE pow_m1[] = + { + L_(1.0), - L_(1.0), L_(1.0), - L_(1.0), + L_(1.0), - L_(1.0), L_(1.0), - L_(1.0) + }; + + /* A product x * y that consists of two bits. */ + { + volatile DOUBLE x; + volatile DOUBLE y; + volatile DOUBLE z; + volatile DOUBLE result; + volatile DOUBLE expected; + int xs; + int xe; + int ys; + int ye; + int ze; + DOUBLE sign; + + for (xs = 0; xs < 2; xs++) + for (xe = -XE_RANGE; xe <= XE_RANGE; xe++) + { + x = pow_m1[xs] * POW2 (xe); /* (-1)^xs * 2^xe */ + + for (ys = 0; ys < 2; ys++) + for (ye = -YE_RANGE; ye <= YE_RANGE; ye++) + { + y = pow_m1[ys] * POW2 (ye); /* (-1)^ys * 2^ye */ + + sign = pow_m1[xs + ys]; + + /* Test addition (same signs). */ + for (ze = MIN_EXP - MANT_BIT; ze <= MAX_EXP - 1;) + { + z = sign * POW2 (ze); /* (-1)^(xs+ys) * 2^ze */ + result = my_fma (x, y, z); + if (xe + ye >= ze + MANT_BIT) + expected = sign * POW2 (xe + ye); + else if (xe + ye > ze - MANT_BIT) + expected = sign * (POW2 (xe + ye) + POW2 (ze)); + else + expected = z; + ASSERT (result == expected); + + ze++; + /* Shortcut some values of ze, to speed up the test. */ + if (ze == MIN_EXP + MANT_BIT) + ze = - 2 * MANT_BIT - 1; + else if (ze == 2 * MANT_BIT) + ze = MAX_EXP - MANT_BIT - 1; + } + + /* Test subtraction (opposite signs). */ + for (ze = MIN_EXP - MANT_BIT; ze <= MAX_EXP - 1;) + { + z = - sign * POW2 (ze); /* (-1)^(xs+ys+1) * 2^ze */ + result = my_fma (x, y, z); + if (xe + ye > ze + MANT_BIT) + expected = sign * POW2 (xe + ye); + else if (xe + ye >= ze) + expected = sign * (POW2 (xe + ye) - POW2 (ze)); + else if (xe + ye > ze - 1 - MANT_BIT) + expected = - sign * (POW2 (ze) - POW2 (xe + ye)); + else + expected = z; + ASSERT (result == expected); + + ze++; + /* Shortcut some values of ze, to speed up the test. */ + if (ze == MIN_EXP + MANT_BIT) + ze = - 2 * MANT_BIT - 1; + else if (ze == 2 * MANT_BIT) + ze = MAX_EXP - MANT_BIT - 1; + } + } + } + } + /* A product x * y that consists of three bits. */ + { + volatile DOUBLE x; + volatile DOUBLE y; + volatile DOUBLE z; + volatile DOUBLE result; + volatile DOUBLE expected; + int i; + int xs; + int xe; + int ys; + int ye; + int ze; + DOUBLE sign; + + for (i = 1; i <= MANT_BIT - 1; i++) + for (xs = 0; xs < 2; xs++) + for (xe = -XE_RANGE; xe <= XE_RANGE; xe++) + { + x = /* (-1)^xs * (2^xe + 2^(xe-i)) */ + pow_m1[xs] * (POW2 (xe) + POW2 (xe - i)); + + for (ys = 0; ys < 2; ys++) + for (ye = -YE_RANGE; ye <= YE_RANGE; ye++) + { + y = /* (-1)^ys * (2^ye + 2^(ye-i)) */ + pow_m1[ys] * (POW2 (ye) + POW2 (ye - i)); + + sign = pow_m1[xs + ys]; + + /* The exact value of x * y is + (-1)^(xs+ys) * (2^(xe+ye) + 2^(xe+ye-i+1) + 2^(xe+ye-2*i)) */ + + /* Test addition (same signs). */ + for (ze = MIN_SUBNORMAL_EXP; ze <= MAX_EXP - 1;) + { + z = sign * POW2 (ze); /* (-1)^(xs+ys) * 2^ze */ + result = my_fma (x, y, z); + if (FORGIVE_DOUBLEDOUBLE_BUG) + if ((xe + ye > ze + && xe + ye < ze + MANT_BIT + && i == DBL_MANT_BIT) + || (xe + ye == ze + DBL_MANT_BIT && i == DBL_MANT_BIT + 1) + || (xe + ye == ze + MANT_BIT - 1 && i == 1)) + goto skip1; + if (xe + ye > ze + MANT_BIT) + { + if (2 * i > MANT_BIT) + expected = + sign * (POW2 (xe + ye) + + POW2 (xe + ye - i + 1)); + else if (2 * i == MANT_BIT) + expected = + sign * (POW2 (xe + ye) + + POW2 (xe + ye - i + 1) + + POW2 (xe + ye - MANT_BIT + 1)); + else + expected = + sign * (POW2 (xe + ye) + + POW2 (xe + ye - i + 1) + + POW2 (xe + ye - 2 * i)); + } + else if (xe + ye == ze + MANT_BIT) + { + if (2 * i >= MANT_BIT) + expected = + sign * (POW2 (xe + ye) + + POW2 (xe + ye - i + 1) + + POW2 (xe + ye - MANT_BIT + 1)); + else if (2 * i == MANT_BIT - 1) + /* round-to-even rounds up */ + expected = + sign * (POW2 (xe + ye) + + POW2 (xe + ye - i + 1) + + POW2 (xe + ye - 2 * i + 1)); + else + expected = + sign * (POW2 (xe + ye) + + POW2 (xe + ye - i + 1) + + POW2 (xe + ye - 2 * i)); + } + else if (xe + ye > ze - MANT_BIT + 2 * i) + expected = + sign * (POW2 (ze) + + POW2 (xe + ye) + + POW2 (xe + ye - i + 1) + + POW2 (xe + ye - 2 * i)); + else if (xe + ye >= ze - MANT_BIT + i) + expected = + sign * (POW2 (ze) + + POW2 (xe + ye) + + POW2 (xe + ye - i + 1)); + else if (xe + ye == ze - MANT_BIT + i - 1) + { + if (i == 1) + expected = + sign * (POW2 (ze) + POW2 (ze - MANT_BIT + 1)); + else + expected = + sign * (POW2 (ze) + + POW2 (xe + ye) + + POW2 (ze - MANT_BIT + 1)); + } + else if (xe + ye >= ze - MANT_BIT + 1) + expected = sign * (POW2 (ze) + POW2 (xe + ye)); + else if (xe + ye == ze - MANT_BIT) + expected = + sign * (POW2 (ze) + POW2 (ze - MANT_BIT + 1)); + else if (xe + ye == ze - MANT_BIT - 1) + { + if (i == 1) + expected = + sign * (POW2 (ze) + POW2 (ze - MANT_BIT + 1)); + else + expected = z; + } + else + expected = z; + ASSERT (result == expected); + + skip1: + ze++; + /* Shortcut some values of ze, to speed up the test. */ + if (ze == MIN_EXP + MANT_BIT) + ze = - 2 * MANT_BIT - 1; + else if (ze == 2 * MANT_BIT) + ze = MAX_EXP - MANT_BIT - 1; + } + + /* Test subtraction (opposite signs). */ + if (i > 1) + for (ze = MIN_SUBNORMAL_EXP; ze <= MAX_EXP - 1;) + { + z = - sign * POW2 (ze); /* (-1)^(xs+ys+1) * 2^ze */ + result = my_fma (x, y, z); + if (FORGIVE_DOUBLEDOUBLE_BUG) + if ((xe + ye == ze && i == MANT_BIT - 1) + || (xe + ye > ze + && xe + ye <= ze + DBL_MANT_BIT - 1 + && i == DBL_MANT_BIT + 1) + || (xe + ye >= ze + DBL_MANT_BIT - 1 + && xe + ye < ze + MANT_BIT + && xe + ye == ze + i - 1) + || (xe + ye > ze + DBL_MANT_BIT + && xe + ye < ze + MANT_BIT + && i == DBL_MANT_BIT)) + goto skip2; + if (xe + ye == ze) + { + /* maximal extinction */ + expected = + sign * (POW2 (xe + ye - i + 1) + + POW2 (xe + ye - 2 * i)); + } + else if (xe + ye == ze - 1) + { + /* significant extinction */ + if (2 * i > MANT_BIT) + expected = + sign * (- POW2 (xe + ye) + + POW2 (xe + ye - i + 1)); + else + expected = + sign * (- POW2 (xe + ye) + + POW2 (xe + ye - i + 1) + + POW2 (xe + ye - 2 * i)); + } + else if (xe + ye > ze + MANT_BIT) + { + if (2 * i >= MANT_BIT) + expected = + sign * (POW2 (xe + ye) + + POW2 (xe + ye - i + 1)); + else + expected = + sign * (POW2 (xe + ye) + + POW2 (xe + ye - i + 1) + + POW2 (xe + ye - 2 * i)); + } + else if (xe + ye == ze + MANT_BIT) + { + if (2 * i >= MANT_BIT) + expected = + sign * (POW2 (xe + ye) + + POW2 (xe + ye - i + 1)); + else if (2 * i == MANT_BIT - 1) + /* round-to-even rounds down */ + expected = + sign * (POW2 (xe + ye) + + POW2 (xe + ye - i + 1)); + else + /* round-to-even rounds up */ + expected = + sign * (POW2 (xe + ye) + + POW2 (xe + ye - i + 1) + + POW2 (xe + ye - 2 * i)); + } + else if (xe + ye >= ze - MANT_BIT + 2 * i) + expected = + sign * (- POW2 (ze) + + POW2 (xe + ye) + + POW2 (xe + ye - i + 1) + + POW2 (xe + ye - 2 * i)); + else if (xe + ye >= ze - MANT_BIT + i - 1) + expected = + sign * (- POW2 (ze) + + POW2 (xe + ye) + + POW2 (xe + ye - i + 1)); + else if (xe + ye == ze - MANT_BIT + i - 2) + expected = + sign * (- POW2 (ze) + + POW2 (xe + ye) + + POW2 (ze - MANT_BIT)); + else if (xe + ye >= ze - MANT_BIT) + expected = + sign * (- POW2 (ze) + + POW2 (xe + ye)); + else if (xe + ye == ze - MANT_BIT - 1) + expected = + sign * (- POW2 (ze) + + POW2 (ze - MANT_BIT)); + else + expected = z; + ASSERT (result == expected); + + skip2: + ze++; + /* Shortcut some values of ze, to speed up the test. */ + if (ze == MIN_EXP + MANT_BIT) + ze = - 2 * MANT_BIT - 1; + else if (ze == 2 * MANT_BIT) + ze = MAX_EXP - MANT_BIT - 1; + } + } + } + } + /* TODO: Similar tests with + x = (-1)^xs * (2^xe - 2^(xe-i)), y = (-1)^ys * (2^ye - 2^(ye-i)) */ + /* A product x * y that consists of one segment of bits (or, if you prefer, + two bits, one with positive weight and one with negative weight). */ + { + volatile DOUBLE x; + volatile DOUBLE y; + volatile DOUBLE z; + volatile DOUBLE result; + volatile DOUBLE expected; + int i; + int xs; + int xe; + int ys; + int ye; + int ze; + DOUBLE sign; + + for (i = 1; i <= MANT_BIT - 1; i++) + for (xs = 0; xs < 2; xs++) + for (xe = -XE_RANGE; xe <= XE_RANGE; xe++) + { + x = /* (-1)^xs * (2^xe + 2^(xe-i)) */ + pow_m1[xs] * (POW2 (xe) + POW2 (xe - i)); + + for (ys = 0; ys < 2; ys++) + for (ye = -YE_RANGE; ye <= YE_RANGE; ye++) + { + y = /* (-1)^ys * (2^ye - 2^(ye-i)) */ + pow_m1[ys] * (POW2 (ye) - POW2 (ye - i)); + + sign = pow_m1[xs + ys]; + + /* The exact value of x * y is + (-1)^(xs+ys) * (2^(xe+ye) - 2^(xe+ye-2*i)) */ + + /* Test addition (same signs). */ + for (ze = MIN_EXP - MANT_BIT; ze <= MAX_EXP - 1;) + { + z = sign * POW2 (ze); /* (-1)^(xs+ys) * 2^ze */ + result = my_fma (x, y, z); + if (FORGIVE_DOUBLEDOUBLE_BUG) + if ((xe + ye == ze + MANT_BIT && i > DBL_MANT_BIT) + || (xe + ye < ze + MANT_BIT + && xe + ye >= ze + && i == DBL_MANT_BIT) + || (xe + ye < ze + && xe + ye == ze - MANT_BIT + 2 * i)) + goto skip3; + if (xe + ye > ze + MANT_BIT + 1) + { + if (2 * i > MANT_BIT) + expected = sign * POW2 (xe + ye); + else + expected = + sign * (POW2 (xe + ye) + - POW2 (xe + ye - 2 * i)); + } + else if (xe + ye == ze + MANT_BIT + 1) + { + if (2 * i >= MANT_BIT) + expected = sign * POW2 (xe + ye); + else + expected = + sign * (POW2 (xe + ye) + - POW2 (xe + ye - 2 * i)); + } + else if (xe + ye >= ze - MANT_BIT + 2 * i) + { + if (2 * i > MANT_BIT) + expected = + sign * (POW2 (xe + ye) + POW2 (ze)); + else + expected = + sign * (POW2 (xe + ye) + - POW2 (xe + ye - 2 * i) + + POW2 (ze)); + } + else if (xe + ye >= ze - MANT_BIT + 1) + expected = + sign * (POW2 (ze) + POW2 (xe + ye)); + else + expected = z; + ASSERT (result == expected); + + skip3: + ze++; + /* Shortcut some values of ze, to speed up the test. */ + if (ze == MIN_EXP + MANT_BIT) + ze = - 2 * MANT_BIT - 1; + else if (ze == 2 * MANT_BIT) + ze = MAX_EXP - MANT_BIT - 1; + } + + /* Test subtraction (opposite signs). */ + if (i > 1) + for (ze = MIN_SUBNORMAL_EXP; ze <= MAX_EXP - 1;) + { + z = - sign * POW2 (ze); /* (-1)^(xs+ys+1) * 2^ze */ + result = my_fma (x, y, z); + if (FORGIVE_DOUBLEDOUBLE_BUG) + if (xe + ye > ze + && xe + ye < ze + DBL_MANT_BIT + && xe + ye == ze + 2 * i - LDBL_MANT_BIT) + goto skip4; + if (xe + ye == ze) + { + /* maximal extinction */ + expected = sign * - POW2 (xe + ye - 2 * i); + } + else if (xe + ye > ze + MANT_BIT + 1) + { + if (2 * i > MANT_BIT + 1) + expected = sign * POW2 (xe + ye); + else if (2 * i == MANT_BIT + 1) + expected = + sign * (POW2 (xe + ye) + - POW2 (xe + ye - MANT_BIT)); + else + expected = + sign * (POW2 (xe + ye) + - POW2 (xe + ye - 2 * i)); + } + else if (xe + ye == ze + MANT_BIT + 1) + { + if (2 * i > MANT_BIT) + expected = + sign * (POW2 (xe + ye) + - POW2 (xe + ye - MANT_BIT)); + else if (2 * i == MANT_BIT) + expected = + sign * (POW2 (xe + ye) + - POW2 (xe + ye - MANT_BIT + 1)); + else + expected = + sign * (POW2 (xe + ye) + - POW2 (xe + ye - 2 * i)); + } + else if (xe + ye == ze + MANT_BIT) + { + if (2 * i > MANT_BIT + 1) + expected = + sign * (POW2 (xe + ye) + - POW2 (xe + ye - MANT_BIT)); + else if (2 * i == MANT_BIT + 1) + expected = + sign * (POW2 (xe + ye) + - POW2 (xe + ye - MANT_BIT + 1)); + else + expected = + sign * (POW2 (xe + ye) + - POW2 (ze) + - POW2 (xe + ye - 2 * i)); + } + else if (xe + ye > ze - MANT_BIT + 2 * i) + { + if (2 * i > MANT_BIT) + expected = + sign * (POW2 (xe + ye) - POW2 (ze)); + else + expected = + sign * (POW2 (xe + ye) + - POW2 (ze) + - POW2 (xe + ye - 2 * i)); + } + else if (xe + ye == ze - MANT_BIT + 2 * i) + expected = + sign * (- POW2 (ze) + + POW2 (xe + ye) + - POW2 (xe + ye - 2 * i)); + else if (xe + ye >= ze - MANT_BIT) + expected = sign * (- POW2 (ze) + POW2 (xe + ye)); + else + expected = z; + ASSERT (result == expected); + + skip4: + ze++; + /* Shortcut some values of ze, to speed up the test. */ + if (ze == MIN_EXP + MANT_BIT) + ze = - 2 * MANT_BIT - 1; + else if (ze == 2 * MANT_BIT) + ze = MAX_EXP - MANT_BIT - 1; + } + } + } + } + /* TODO: Tests with denormalized results. */ + /* Tests with temporary overflow. */ + { + volatile DOUBLE x = POW2 (MAX_EXP - 1); + volatile DOUBLE y = POW2 (MAX_EXP - 1); + volatile DOUBLE z = - INFINITY; + volatile DOUBLE result = my_fma (x, y, z); + ASSERT (result == - INFINITY); + } + { + volatile DOUBLE x = POW2 (MAX_EXP - 1); /* 2^(MAX_EXP-1) */ + volatile DOUBLE y = L_(2.0); /* 2^1 */ + volatile DOUBLE z = /* -(2^MAX_EXP - 2^(MAX_EXP-MANT_BIT)) */ + - LDEXP (POW2 (MAX_EXP - 1) - POW2 (MAX_EXP - MANT_BIT - 1), 1); + volatile DOUBLE result = my_fma (x, y, z); + if (!FORGIVE_DOUBLEDOUBLE_BUG) + ASSERT (result == POW2 (MAX_EXP - MANT_BIT)); + } + { + volatile DOUBLE x = POW2 (MAX_EXP - 1); /* 2^(MAX_EXP-1) */ + volatile DOUBLE y = L_(3.0); /* 3 */ + volatile DOUBLE z = - LDEXP (L_(5.0), MAX_EXP - 3); /* -5*2^(MAX_EXP-3) */ + volatile DOUBLE result = my_fma (x, y, z); + ASSERT (result == LDEXP (L_(7.0), MAX_EXP - 3)); + } +} diff --git a/tests/test-fmaf1.c b/tests/test-fmaf1.c new file mode 100644 index 000000000..aaa15c36a --- /dev/null +++ b/tests/test-fmaf1.c @@ -0,0 +1,47 @@ +/* Test of fmaf(). + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2011. */ + +#include + +#include + +#include "signature.h" +SIGNATURE_CHECK (fmaf, float, (float, float, float)); + +#include "isnanf-nolibm.h" +#include "infinity.h" +#include "nan.h" +#include "macros.h" + +#undef INFINITY +#undef NAN + +#define DOUBLE float +#define ISNAN isnanf +#define INFINITY Infinityf () +#define NAN NaNf () +#define L_(literal) literal##f +#include "test-fma1.h" + +int +main () +{ + test_function (fmaf); + + return 0; +} diff --git a/tests/test-fmaf2.c b/tests/test-fmaf2.c new file mode 100644 index 000000000..e2823a998 --- /dev/null +++ b/tests/test-fmaf2.c @@ -0,0 +1,47 @@ +/* Test of fmaf(). + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2011. */ + +#include + +#include + +#include "float+.h" +#include "infinity.h" +#include "macros.h" + +#undef INFINITY + +#define DOUBLE float +#define LDEXP ldexpf +const int MIN_EXP = FLT_MIN_EXP; /* for gdb */ +#define MIN_EXP FLT_MIN_EXP +const int MAX_EXP = FLT_MAX_EXP; /* for gdb */ +#define MAX_EXP FLT_MAX_EXP +const int MANT_BIT = FLT_MANT_BIT; /* for gdb */ +#define MANT_BIT FLT_MANT_BIT +#define INFINITY Infinityf () +#define L_(literal) literal##f +#include "test-fma2.h" + +int +main () +{ + test_function (fmaf); + + return 0; +} diff --git a/tests/test-fmal1.c b/tests/test-fmal1.c new file mode 100644 index 000000000..8f477c422 --- /dev/null +++ b/tests/test-fmal1.c @@ -0,0 +1,52 @@ +/* Test of fmal(). + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2011. */ + +#include + +#include + +#include "signature.h" +SIGNATURE_CHECK (fmal, long double, (long double, long double, long double)); + +#include "fpucw.h" +#include "isnanl-nolibm.h" +#include "infinity.h" +#include "nan.h" +#include "macros.h" + +#undef INFINITY +#undef NAN + +#define DOUBLE long double +#define ISNAN isnanl +#define INFINITY Infinityl () +#define NAN NaNl () +#define L_(literal) literal##L +#include "test-fma1.h" + +int +main () +{ + DECL_LONG_DOUBLE_ROUNDING + + BEGIN_LONG_DOUBLE_ROUNDING (); + + test_function (fmal); + + return 0; +} diff --git a/tests/test-fmal2.c b/tests/test-fmal2.c new file mode 100644 index 000000000..bdc542ba3 --- /dev/null +++ b/tests/test-fmal2.c @@ -0,0 +1,52 @@ +/* Test of fmal(). + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2011. */ + +#include + +#include + +#include "fpucw.h" +#include "float+.h" +#include "infinity.h" +#include "macros.h" + +#undef INFINITY + +#define DOUBLE long double +#define LDEXP ldexpl +const int MIN_EXP = LDBL_MIN_EXP; /* for gdb */ +#define MIN_EXP LDBL_MIN_EXP +const int MAX_EXP = LDBL_MAX_EXP; /* for gdb */ +#define MAX_EXP LDBL_MAX_EXP +const int MANT_BIT = LDBL_MANT_BIT; /* for gdb */ +#define MANT_BIT LDBL_MANT_BIT +#define INFINITY Infinityl () +#define L_(literal) literal##L +#include "test-fma2.h" + +int +main () +{ + DECL_LONG_DOUBLE_ROUNDING + + BEGIN_LONG_DOUBLE_ROUNDING (); + + test_function (fmal); + + return 0; +} diff --git a/tests/test-fmodf.c b/tests/test-fmodf.c new file mode 100644 index 000000000..a0a5f3971 --- /dev/null +++ b/tests/test-fmodf.c @@ -0,0 +1,42 @@ +/* Test of fmodf() function. + Copyright (C) 2010-2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2010-2011. */ + +#include + +#include + +#include "signature.h" +SIGNATURE_CHECK (fmodf, float, (float, float)); + +#include "macros.h" + +volatile float x; +volatile float y; +float z; + +int +main () +{ + /* A particular value. */ + x = 9.245907f; + y = 3.141593f; + z = fmodf (x, y); + ASSERT (z >= 2.962720f && z <= 2.962722f); + + return 0; +} diff --git a/tests/test-fprintf-posix.h b/tests/test-fprintf-posix.h index 9481aaa16..e0fa53707 100644 --- a/tests/test-fprintf-posix.h +++ b/tests/test-fprintf-posix.h @@ -16,6 +16,8 @@ /* Written by Bruno Haible , 2007. */ +#include "infinity.h" + static void test_function (int (*my_fprintf) (FILE *, const char *, ...)) { @@ -37,13 +39,13 @@ test_function (int (*my_fprintf) (FILE *, const char *, ...)) my_fprintf (stdout, "%a %d\n", 0.0, 33, 44, 55); /* Positive infinity. */ - my_fprintf (stdout, "%a %d\n", 1.0 / 0.0, 33, 44, 55); + my_fprintf (stdout, "%a %d\n", Infinityd (), 33, 44, 55); /* Negative infinity. */ - my_fprintf (stdout, "%a %d\n", -1.0 / 0.0, 33, 44, 55); + my_fprintf (stdout, "%a %d\n", - Infinityd (), 33, 44, 55); /* FLAG_ZERO with infinite number. */ - my_fprintf (stdout, "%010a %d\n", 1.0 / 0.0, 33, 44, 55); + my_fprintf (stdout, "%010a %d\n", Infinityd (), 33, 44, 55); /* Test the support of the %f format directive. */ diff --git a/tests/test-fputc.c b/tests/test-fputc.c new file mode 100644 index 000000000..03a371627 --- /dev/null +++ b/tests/test-fputc.c @@ -0,0 +1,90 @@ +/* Test of fputc() function. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +#include + +#include + +#include "signature.h" +SIGNATURE_CHECK (fputc, int, (int, FILE *)); + +#include +#include +#include + +#include "msvc-inval.h" + +#include "macros.h" + +int +main (int argc, char **argv) +{ + const char *filename = "test-fputc.txt"; + + /* We don't have an fputc() function that installs an invalid parameter + handler so far. So install that handler here, explicitly. */ +#if HAVE_MSVC_INVALID_PARAMETER_HANDLER \ + && MSVC_INVALID_PARAMETER_HANDLING == DEFAULT_HANDLING + gl_msvc_inval_ensure_handler (); +#endif + + /* Test that fputc() on an unbuffered stream sets errno if someone else + closes the stream fd behind the back of stdio. */ + { + FILE *fp = fopen (filename, "w"); + ASSERT (fp != NULL); + setvbuf (fp, NULL, _IONBF, 0); + ASSERT (close (fileno (fp)) == 0); + errno = 0; + ASSERT (fputc ('x', fp) == EOF); + ASSERT (errno == EBADF); + ASSERT (ferror (fp)); + fclose (fp); + } + + /* Test that fputc() on an unbuffered stream sets errno if the stream + was constructed with an invalid file descriptor. */ + { + FILE *fp = fdopen (-1, "w"); + if (fp != NULL) + { + setvbuf (fp, NULL, _IONBF, 0); + errno = 0; + ASSERT (fputc ('x', fp) == EOF); + ASSERT (errno == EBADF); + ASSERT (ferror (fp)); + fclose (fp); + } + } + { + FILE *fp = fdopen (99, "w"); + if (fp != NULL) + { + setvbuf (fp, NULL, _IONBF, 0); + errno = 0; + ASSERT (fputc ('x', fp) == EOF); + ASSERT (errno == EBADF); + ASSERT (ferror (fp)); + fclose (fp); + } + } + + /* Clean up. */ + unlink (filename); + + return 0; +} diff --git a/tests/test-fread.c b/tests/test-fread.c new file mode 100644 index 000000000..e205c9e6e --- /dev/null +++ b/tests/test-fread.c @@ -0,0 +1,99 @@ +/* Test of fread() function. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +#include + +#include + +#include "signature.h" +SIGNATURE_CHECK (fread, size_t, (void *, size_t, size_t, FILE *)); + +#include +#include +#include + +#include "msvc-inval.h" + +#include "macros.h" + +int +main (int argc, char **argv) +{ + const char *filename = "test-fread.txt"; + + /* We don't have an fread() function that installs an invalid parameter + handler so far. So install that handler here, explicitly. */ +#if HAVE_MSVC_INVALID_PARAMETER_HANDLER \ + && MSVC_INVALID_PARAMETER_HANDLING == DEFAULT_HANDLING + gl_msvc_inval_ensure_handler (); +#endif + + /* Prepare a file. */ + { + const char text[] = "hello world"; + int fd = open (filename, O_RDWR | O_CREAT | O_TRUNC, 0600); + ASSERT (fd >= 0); + ASSERT (write (fd, text, sizeof (text)) == sizeof (text)); + ASSERT (close (fd) == 0); + } + + /* Test that fread() sets errno if someone else closes the stream + fd behind the back of stdio. */ + { + FILE *fp = fopen (filename, "r"); + char buf[5]; + ASSERT (fp != NULL); + ASSERT (close (fileno (fp)) == 0); + errno = 0; + ASSERT (fread (buf, 1, sizeof (buf), fp) == 0); + ASSERT (errno == EBADF); + ASSERT (ferror (fp)); + fclose (fp); + } + + /* Test that fread() sets errno if the stream was constructed with + an invalid file descriptor. */ + { + FILE *fp = fdopen (-1, "r"); + if (fp != NULL) + { + char buf[1]; + errno = 0; + ASSERT (fread (buf, 1, 1, fp) == 0); + ASSERT (errno == EBADF); + ASSERT (ferror (fp)); + fclose (fp); + } + } + { + FILE *fp = fdopen (99, "r"); + if (fp != NULL) + { + char buf[1]; + errno = 0; + ASSERT (fread (buf, 1, 1, fp) == 0); + ASSERT (errno == EBADF); + ASSERT (ferror (fp)); + fclose (fp); + } + } + + /* Clean up. */ + unlink (filename); + + return 0; +} diff --git a/tests/test-freopen.c b/tests/test-freopen.c index 4c26476c4..cac907c60 100644 --- a/tests/test-freopen.c +++ b/tests/test-freopen.c @@ -23,12 +23,58 @@ #include "signature.h" SIGNATURE_CHECK (freopen, FILE *, (char const *, char const *, FILE *)); +#include +#include + #include "macros.h" int main () { + const char *filename = "test-freopen.txt"; + ASSERT (freopen ("/dev/null", "r", stdin) != NULL); +#if 0 /* freopen (NULL, ...) is unsupported on most platforms. */ + /* Test that freopen() sets errno if someone else closes the stream + fd behind the back of stdio. */ + { + FILE *fp = fopen (filename, "w+"); + ASSERT (fp != NULL); + ASSERT (close (fileno (fp)) == 0); + errno = 0; + ASSERT (freopen (NULL, "r", fp) == NULL); + perror("freopen"); + ASSERT (errno == EBADF); + fclose (fp); + } + + /* Test that freopen() sets errno if the stream was constructed with + an invalid file descriptor. */ + { + FILE *fp = fdopen (-1, "w+"); + if (fp != NULL) + { + errno = 0; + ASSERT (freopen (NULL, "r", fp) == NULL); + ASSERT (errno == EBADF); + fclose (fp); + } + } + { + FILE *fp = fdopen (99, "w+"); + if (fp != NULL) + { + errno = 0; + ASSERT (freopen (NULL, "r", fp) == NULL); + ASSERT (errno == EBADF); + fclose (fp); + } + } +#endif + + /* Clean up. */ + unlink (filename); + return 0; } diff --git a/tests/test-frexp.c b/tests/test-frexp.c index 4ed24d290..a7ec639df 100644 --- a/tests/test-frexp.c +++ b/tests/test-frexp.c @@ -27,6 +27,7 @@ SIGNATURE_CHECK (frexp, double, (double, int *)); #include "isnand-nolibm.h" #include "minus-zero.h" +#include "infinity.h" #include "nan.h" #include "macros.h" @@ -67,7 +68,7 @@ main () { /* Positive infinity. */ int exp = -9999; double mantissa; - x = 1.0 / 0.0; + x = Infinityd (); mantissa = frexp (x, &exp); ASSERT (mantissa == x); } @@ -75,7 +76,7 @@ main () { /* Negative infinity. */ int exp = -9999; double mantissa; - x = -1.0 / 0.0; + x = - Infinityd (); mantissa = frexp (x, &exp); ASSERT (mantissa == x); } diff --git a/tests/test-frexpf.c b/tests/test-frexpf.c new file mode 100644 index 000000000..fb6003eb3 --- /dev/null +++ b/tests/test-frexpf.c @@ -0,0 +1,192 @@ +/* Test of splitting a float into fraction and mantissa. + Copyright (C) 2007-2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +#include + +#include + +#include "signature.h" +SIGNATURE_CHECK (frexpf, float, (float, int *)); + +#include + +#include "isnanf-nolibm.h" +#include "minus-zero.h" +#include "infinity.h" +#include "nan.h" +#include "macros.h" + +/* Avoid some warnings from "gcc -Wshadow". + This file doesn't use the exp() function. */ +#undef exp +#define exp exponent + +static float +my_ldexp (float x, int d) +{ + for (; d > 0; d--) + x *= 2.0f; + for (; d < 0; d++) + x *= 0.5f; + return x; +} + +int +main () +{ + int i; + volatile float x; + + { /* NaN. */ + int exp = -9999; + float mantissa; + x = NaNf (); + mantissa = frexpf (x, &exp); + ASSERT (isnanf (mantissa)); + } + + { /* Positive infinity. */ + int exp = -9999; + float mantissa; + x = Infinityf (); + mantissa = frexpf (x, &exp); + ASSERT (mantissa == x); + } + + { /* Negative infinity. */ + int exp = -9999; + float mantissa; + x = - Infinityf (); + mantissa = frexpf (x, &exp); + ASSERT (mantissa == x); + } + + { /* Positive zero. */ + int exp = -9999; + float mantissa; + x = 0.0f; + mantissa = frexpf (x, &exp); + ASSERT (exp == 0); + ASSERT (mantissa == x); + ASSERT (!signbit (mantissa)); + } + + { /* Negative zero. */ + int exp = -9999; + float mantissa; + x = minus_zerof; + mantissa = frexpf (x, &exp); + ASSERT (exp == 0); + ASSERT (mantissa == x); + ASSERT (signbit (mantissa)); + } + + for (i = 1, x = 1.0f; i <= FLT_MAX_EXP; i++, x *= 2.0f) + { + int exp = -9999; + float mantissa = frexpf (x, &exp); + ASSERT (exp == i); + ASSERT (mantissa == 0.5f); + } + for (i = 1, x = 1.0f; i >= FLT_MIN_EXP; i--, x *= 0.5f) + { + int exp = -9999; + float mantissa = frexpf (x, &exp); + ASSERT (exp == i); + ASSERT (mantissa == 0.5f); + } + for (; i >= FLT_MIN_EXP - 100 && x > 0.0f; i--, x *= 0.5f) + { + int exp = -9999; + float mantissa = frexpf (x, &exp); + ASSERT (exp == i); + ASSERT (mantissa == 0.5f); + } + + for (i = 1, x = -1.0f; i <= FLT_MAX_EXP; i++, x *= 2.0f) + { + int exp = -9999; + float mantissa = frexpf (x, &exp); + ASSERT (exp == i); + ASSERT (mantissa == -0.5f); + } + for (i = 1, x = -1.0f; i >= FLT_MIN_EXP; i--, x *= 0.5f) + { + int exp = -9999; + float mantissa = frexpf (x, &exp); + ASSERT (exp == i); + ASSERT (mantissa == -0.5f); + } + for (; i >= FLT_MIN_EXP - 100 && x < 0.0f; i--, x *= 0.5f) + { + int exp = -9999; + float mantissa = frexpf (x, &exp); + ASSERT (exp == i); + ASSERT (mantissa == -0.5f); + } + + for (i = 1, x = 1.01f; i <= FLT_MAX_EXP; i++, x *= 2.0f) + { + int exp = -9999; + float mantissa = frexpf (x, &exp); + ASSERT (exp == i); + ASSERT (mantissa == 0.505f); + } + for (i = 1, x = 1.01f; i >= FLT_MIN_EXP; i--, x *= 0.5f) + { + int exp = -9999; + float mantissa = frexpf (x, &exp); + ASSERT (exp == i); + ASSERT (mantissa == 0.505f); + } + for (; i >= FLT_MIN_EXP - 100 && x > 0.0f; i--, x *= 0.5f) + { + int exp = -9999; + float mantissa = frexpf (x, &exp); + ASSERT (exp == i); + ASSERT (mantissa >= 0.5f); + ASSERT (mantissa < 1.0f); + ASSERT (mantissa == my_ldexp (x, - exp)); + } + + for (i = 1, x = 1.73205f; i <= FLT_MAX_EXP; i++, x *= 2.0f) + { + int exp = -9999; + float mantissa = frexpf (x, &exp); + ASSERT (exp == i); + ASSERT (mantissa == 0.866025f); + } + for (i = 1, x = 1.73205f; i >= FLT_MIN_EXP; i--, x *= 0.5f) + { + int exp = -9999; + float mantissa = frexpf (x, &exp); + ASSERT (exp == i); + ASSERT (mantissa == 0.866025f); + } + for (; i >= FLT_MIN_EXP - 100 && x > 0.0f; i--, x *= 0.5f) + { + int exp = -9999; + float mantissa = frexpf (x, &exp); + ASSERT (exp == i || exp == i + 1); + ASSERT (mantissa >= 0.5f); + ASSERT (mantissa < 1.0f); + ASSERT (mantissa == my_ldexp (x, - exp)); + } + + return 0; +} diff --git a/tests/test-frexpl.c b/tests/test-frexpl.c index ccb547b03..905b293a1 100644 --- a/tests/test-frexpl.c +++ b/tests/test-frexpl.c @@ -28,6 +28,7 @@ SIGNATURE_CHECK (frexpl, long double, (long double, int *)); #include "fpucw.h" #include "isnanl-nolibm.h" #include "minus-zero.h" +#include "infinity.h" #include "nan.h" #include "macros.h" @@ -79,7 +80,7 @@ main () { /* Positive infinity. */ int exp = -9999; long double mantissa; - x = 1.0L / 0.0L; + x = Infinityl (); mantissa = frexpl (x, &exp); ASSERT (mantissa == x); } @@ -87,7 +88,7 @@ main () { /* Negative infinity. */ int exp = -9999; long double mantissa; - x = -1.0L / 0.0L; + x = - Infinityl (); mantissa = frexpl (x, &exp); ASSERT (mantissa == x); } diff --git a/tests/test-fseeko4.c b/tests/test-fseeko4.c new file mode 100644 index 000000000..61559e142 --- /dev/null +++ b/tests/test-fseeko4.c @@ -0,0 +1,71 @@ +/* Test of fseeko() function. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include + +#include +#include + +#include "macros.h" + +int +main (int argc, char **argv) +{ + const char *filename = argv[1]; + + /* Test that fseeko() sets errno if someone else closes the stream + fd behind the back of stdio. */ + { + FILE *fp = fopen (filename, "r"); + ASSERT (fp != NULL); + setvbuf (fp, NULL, _IONBF, 0); + ASSERT (ftell (fp) == 0); + ASSERT (fseeko (fp, 0, SEEK_END) == 0); + ASSERT (ftell (fp) > 0); + ASSERT (close (fileno (fp)) == 0); + errno = 0; + ASSERT (fseeko (fp, 0, SEEK_SET) == -1); + ASSERT (errno == EBADF); + fclose (fp); + } + + /* Test that fseeko() sets errno if the stream was constructed with + an invalid file descriptor. */ + { + FILE *fp = fdopen (-1, "w"); + if (fp != NULL) + { + errno = 0; + ASSERT (fseeko (fp, 0, SEEK_END) == -1); + ASSERT (errno == EBADF); + fclose (fp); + } + } + { + FILE *fp = fdopen (99, "w"); + if (fp != NULL) + { + errno = 0; + ASSERT (fseeko (fp, 0, SEEK_END) == -1); + ASSERT (errno == EBADF); + fclose (fp); + } + } + + return 0; +} diff --git a/tests/test-fseeko4.sh b/tests/test-fseeko4.sh new file mode 100755 index 000000000..e6464ae44 --- /dev/null +++ b/tests/test-fseeko4.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +./test-fseeko4${EXEEXT} "$srcdir/test-fseeko4.sh" || exit 1 + +exit 0 diff --git a/tests/test-fstat.c b/tests/test-fstat.c new file mode 100644 index 000000000..6c120d9dd --- /dev/null +++ b/tests/test-fstat.c @@ -0,0 +1,48 @@ +/* Tests of fstat() function. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include + +#include "signature.h" +SIGNATURE_CHECK (fstat, int, (int, struct stat *)); + +#include + +#include "macros.h" + +int +main (int argc, char *argv[]) +{ + /* Test behaviour for invalid file descriptors. */ + { + struct stat statbuf; + + errno = 0; + ASSERT (fstat (-1, &statbuf) == -1); + ASSERT (errno == EBADF); + } + { + struct stat statbuf; + + errno = 0; + ASSERT (fstat (99, &statbuf) == -1); + ASSERT (errno == EBADF); + } + + return 0; +} diff --git a/tests/test-fstatat.c b/tests/test-fstatat.c index aef113655..297eb798f 100644 --- a/tests/test-fstatat.c +++ b/tests/test-fstatat.c @@ -67,6 +67,22 @@ main (int argc _GL_UNUSED, char *argv[]) /* Remove any leftovers from a previous partial run. */ ignore_value (system ("rm -rf " BASE "*")); + /* Test behaviour for invalid file descriptors. */ + { + struct stat statbuf; + + errno = 0; + ASSERT (fstatat (-1, "foo", &statbuf, 0) == -1); + ASSERT (errno == EBADF); + } + { + struct stat statbuf; + + errno = 0; + ASSERT (fstatat (99, "foo", &statbuf, 0) == -1); + ASSERT (errno == EBADF); + } + result = test_stat_func (do_stat, false); ASSERT (test_lstat_func (do_lstat, false) == result); dfd = open (".", O_RDONLY); diff --git a/tests/test-fsync.c b/tests/test-fsync.c index 2627d0cba..eb22ae9e9 100644 --- a/tests/test-fsync.c +++ b/tests/test-fsync.c @@ -32,18 +32,47 @@ main (void) int fd; const char *file = "test-fsync.txt"; - if (fsync (0) != 0) - { - ASSERT (errno == EINVAL /* POSIX */ - || errno == ENOTSUP /* seen on MacOS X 10.5 */ - || errno == EBADF /* seen on AIX 7.1 */ - ); - } + /* Assuming stdin and stdout are ttys, fsync is allowed to fail, but + may succeed as an extension. */ + for (fd = 0; fd < 2; fd++) + if (fsync (fd) != 0) + { + ASSERT (errno == EINVAL /* POSIX */ + || errno == ENOTSUP /* seen on MacOS X 10.5 */ + || errno == EBADF /* seen on AIX 7.1 */ + || errno == EIO /* seen on mingw */ + ); + } + + /* fsync must fail on invalid fd. */ + { + errno = 0; + ASSERT (fsync (-1) == -1); + ASSERT (errno == EBADF); + } + { + errno = 0; + ASSERT (fsync (99) == -1); + ASSERT (errno == EBADF); + } + fd = open (file, O_WRONLY|O_CREAT|O_TRUNC, 0644); ASSERT (0 <= fd); ASSERT (write (fd, "hello", 5) == 5); ASSERT (fsync (fd) == 0); ASSERT (close (fd) == 0); + + /* For a read-only regular file input file descriptor, fsync should + succeed (since at least atime changes can be synchronized). */ + fd = open (file, O_RDONLY); + ASSERT (0 <= fd); + { + char buf[1]; + ASSERT (read (fd, buf, sizeof buf) == sizeof buf); + } + ASSERT (fsync (fd) == 0); + ASSERT (close (fd) == 0); + ASSERT (unlink (file) == 0); return 0; diff --git a/tests/test-ftello4.c b/tests/test-ftello4.c new file mode 100644 index 000000000..d503f7138 --- /dev/null +++ b/tests/test-ftello4.c @@ -0,0 +1,68 @@ +/* Test of ftello() function. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include + +#include +#include + +#include "macros.h" + +int +main (int argc, char **argv) +{ + const char *filename = argv[1]; + + /* Test that ftello() sets errno if someone else closes the stream + fd behind the back of stdio. */ + { + FILE *fp = fopen (filename, "r"); + ASSERT (fp != NULL); + setvbuf (fp, NULL, _IONBF, 0); + ASSERT (close (fileno (fp)) == 0); + errno = 0; + ASSERT (ftello (fp) == (off_t)-1); + ASSERT (errno == EBADF); + fclose (fp); + } + + /* Test that ftello() sets errno if the stream was constructed with + an invalid file descriptor. */ + { + FILE *fp = fdopen (-1, "w"); + if (fp != NULL) + { + errno = 0; + ASSERT (ftello (fp) == (off_t)-1); + ASSERT (errno == EBADF); + fclose (fp); + } + } + { + FILE *fp = fdopen (99, "w"); + if (fp != NULL) + { + errno = 0; + ASSERT (ftello (fp) == (off_t)-1); + ASSERT (errno == EBADF); + fclose (fp); + } + } + + return 0; +} diff --git a/tests/test-ftello4.sh b/tests/test-ftello4.sh new file mode 100755 index 000000000..e3702bb60 --- /dev/null +++ b/tests/test-ftello4.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +./test-ftello4${EXEEXT} "$srcdir/test-ftello4.sh" || exit 1 + +exit 0 diff --git a/tests/test-ftruncate.c b/tests/test-ftruncate.c new file mode 100644 index 000000000..c5da4eb24 --- /dev/null +++ b/tests/test-ftruncate.c @@ -0,0 +1,59 @@ +/* Test truncating a file. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include + +#include "signature.h" +SIGNATURE_CHECK (ftruncate, int, (int, off_t)); + +#include +#include + +#include "macros.h" + +int +main (int argc, char *argv[]) +{ + const char *filename = argv[1]; + + /* Test behaviour for invalid file descriptors. */ + { + errno = 0; + ASSERT (ftruncate (-1, 0) == -1); + ASSERT (errno == EBADF); + } + { + errno = 0; + ASSERT (ftruncate (99, 0) == -1); + ASSERT (errno == EBADF); + } + + /* Test behaviour for read-only file descriptors. */ + { + int fd = open (filename, O_RDONLY); + ASSERT (fd >= 0); + errno = 0; + ASSERT (ftruncate (fd, 0) == -1); + ASSERT (errno == EBADF || errno == EINVAL + || errno == EACCES /* seen on mingw */ + ); + close (fd); + } + + return 0; +} diff --git a/tests/test-ftruncate.sh b/tests/test-ftruncate.sh new file mode 100755 index 000000000..d7394d2bf --- /dev/null +++ b/tests/test-ftruncate.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +exec ./test-ftruncate${EXEEXT} "$srcdir/test-ftruncate.sh" diff --git a/tests/test-futimens.h b/tests/test-futimens.h index 13e7d92a1..648de67e0 100644 --- a/tests/test-futimens.h +++ b/tests/test-futimens.h @@ -54,9 +54,7 @@ test_futimens (int (*func) (int, struct timespec const *), source. */ ASSERT (0 <= utimecmp (BASE "file", &st2, &st1, UTIMECMP_TRUNCATE_SOURCE)); if (check_ctime) - ASSERT (st1.st_ctime < st2.st_ctime - || (st1.st_ctime == st2.st_ctime - && get_stat_ctime_ns (&st1) < get_stat_ctime_ns (&st2))); + ASSERT (ctime_compare (&st1, &st2) < 0); { /* On some NFS systems, the 'now' timestamp of creat or a NULL timespec is determined by the server, but the 'now' timestamp @@ -74,12 +72,29 @@ test_futimens (int (*func) (int, struct timespec const *), } /* Invalid arguments. */ - errno = 0; - ASSERT (func (AT_FDCWD, NULL) == -1); - ASSERT (errno == EBADF); - errno = 0; - ASSERT (func (-1, NULL) == -1); - ASSERT (errno == EBADF); + { + errno = 0; + ASSERT (func (AT_FDCWD, NULL) == -1); + ASSERT (errno == EBADF); + } + { + errno = 0; + ASSERT (func (-1, NULL) == -1); + ASSERT (errno == EBADF); + } + { + errno = 0; + ASSERT (func (99, NULL) == -1); + ASSERT (errno == EBADF); + } + { + int fd0 = dup (0); + ASSERT (0 <= fd0); + ASSERT (close (fd0) == 0); + errno = 0; + ASSERT (func (fd0, NULL) == -1); + ASSERT (errno == EBADF); + } { struct timespec ts[2] = { { Y2K, UTIME_BOGUS_POS }, { Y2K, 0 } }; errno = 0; @@ -109,9 +124,7 @@ test_futimens (int (*func) (int, struct timespec const *), ASSERT (0 <= get_stat_mtime_ns (&st2)); ASSERT (get_stat_mtime_ns (&st2) < BILLION); if (check_ctime) - ASSERT (st1.st_ctime < st2.st_ctime - || (st1.st_ctime == st2.st_ctime - && get_stat_ctime_ns (&st1) < get_stat_ctime_ns (&st2))); + ASSERT (ctime_compare (&st1, &st2) < 0); } /* Play with UTIME_OMIT, UTIME_NOW. */ @@ -126,9 +139,7 @@ test_futimens (int (*func) (int, struct timespec const *), ASSERT (get_stat_atime_ns (&st3) <= BILLION / 2); ASSERT (utimecmp (BASE "file", &st1, &st3, 0) <= 0); if (check_ctime) - ASSERT (st2.st_ctime < st3.st_ctime - || (st2.st_ctime == st3.st_ctime - && get_stat_ctime_ns (&st2) < get_stat_ctime_ns (&st3))); + ASSERT (ctime_compare (&st2, &st3) < 0); nap (); ts[0].tv_nsec = 0; ts[1].tv_nsec = UTIME_OMIT; @@ -139,9 +150,7 @@ test_futimens (int (*func) (int, struct timespec const *), ASSERT (st3.st_mtime == st2.st_mtime); ASSERT (get_stat_mtime_ns (&st3) == get_stat_mtime_ns (&st2)); if (check_ctime) - ASSERT (st3.st_ctime < st2.st_ctime - || (st3.st_ctime == st2.st_ctime - && get_stat_ctime_ns (&st3) < get_stat_ctime_ns (&st2))); + ASSERT (ctime_compare (&st3, &st2) < 0); } /* Cleanup. */ diff --git a/tests/test-fwrite.c b/tests/test-fwrite.c new file mode 100644 index 000000000..76ed05c5e --- /dev/null +++ b/tests/test-fwrite.c @@ -0,0 +1,93 @@ +/* Test of fwrite() function. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +#include + +#include + +#include "signature.h" +SIGNATURE_CHECK (fwrite, size_t, (const void *, size_t, size_t, FILE *)); + +#include +#include +#include + +#include "msvc-inval.h" + +#include "macros.h" + +int +main (int argc, char **argv) +{ + const char *filename = "test-fwrite.txt"; + + /* We don't have an fwrite() function that installs an invalid parameter + handler so far. So install that handler here, explicitly. */ +#if HAVE_MSVC_INVALID_PARAMETER_HANDLER \ + && MSVC_INVALID_PARAMETER_HANDLING == DEFAULT_HANDLING + gl_msvc_inval_ensure_handler (); +#endif + + /* Test that fwrite() on an unbuffered stream sets errno if someone else + closes the stream fd behind the back of stdio. */ + { + FILE *fp = fopen (filename, "w"); + char buf[5] = "world"; + ASSERT (fp != NULL); + setvbuf (fp, NULL, _IONBF, 0); + ASSERT (close (fileno (fp)) == 0); + errno = 0; + ASSERT (fwrite (buf, 1, sizeof (buf), fp) == 0); + ASSERT (errno == EBADF); + ASSERT (ferror (fp)); + fclose (fp); + } + + /* Test that fwrite() on an unbuffered stream sets errno if the stream + was constructed with an invalid file descriptor. */ + { + FILE *fp = fdopen (-1, "w"); + if (fp != NULL) + { + char buf[5] = "world"; + setvbuf (fp, NULL, _IONBF, 0); + errno = 0; + ASSERT (fwrite (buf, 1, sizeof (buf), fp) == 0); + ASSERT (errno == EBADF); + ASSERT (ferror (fp)); + fclose (fp); + } + } + { + FILE *fp = fdopen (99, "w"); + if (fp != NULL) + { + char buf[5] = "world"; + setvbuf (fp, NULL, _IONBF, 0); + errno = 0; + ASSERT (fwrite (buf, 1, sizeof (buf), fp) == 0); + ASSERT (errno == EBADF); + ASSERT (ferror (fp)); + fclose (fp); + } + } + + /* Clean up. */ + unlink (filename); + + return 0; +} diff --git a/tests/test-getcwd.c b/tests/test-getcwd.c index e9832f0ea..5f875acbb 100644 --- a/tests/test-getcwd.c +++ b/tests/test-getcwd.c @@ -134,7 +134,7 @@ test_long_name (void) size_t n_chdirs = 0; if (cwd == NULL) - return 10; + return 1; cwd_len = initial_cwd_len = strlen (cwd); @@ -152,7 +152,7 @@ test_long_name (void) if (mkdir (DIR_NAME, S_IRWXU) < 0 || chdir (DIR_NAME) < 0) { if (! (errno == ERANGE || errno == ENAMETOOLONG || errno == ENOENT)) - fail = 20; + fail = 2; break; } @@ -161,12 +161,17 @@ test_long_name (void) c = getcwd (buf, PATH_MAX); if (!c && errno == ENOENT) { - fail = 11; + fail = 3; break; } - if (c || ! (errno == ERANGE || errno == ENAMETOOLONG)) + if (c) { - fail = 21; + fail = 4; + break; + } + if (! (errno == ERANGE || errno == ENAMETOOLONG)) + { + fail = 5; break; } } @@ -181,12 +186,12 @@ test_long_name (void) if (! (errno == ERANGE || errno == ENOENT || errno == ENAMETOOLONG)) { - fail = 22; + fail = 6; break; } if (AT_FDCWD || errno == ERANGE || errno == ENOENT) { - fail = 12; + fail = 7; break; } } @@ -194,7 +199,7 @@ test_long_name (void) if (c && strlen (c) != cwd_len) { - fail = 23; + fail = 8; break; } ++n_chdirs; @@ -224,5 +229,5 @@ test_long_name (void) int main (int argc, char **argv) { - return test_abort_bug () + test_long_name (); + return test_abort_bug () * 10 + test_long_name (); } diff --git a/tests/test-getcwd.sh b/tests/test-getcwd.sh new file mode 100755 index 000000000..a886b6e89 --- /dev/null +++ b/tests/test-getcwd.sh @@ -0,0 +1,7 @@ +#!/bin/sh + +. "${srcdir=.}/init.sh"; path_prepend_ . + +test-getcwd + +Exit $? diff --git a/tests/test-getlogin.c b/tests/test-getlogin.c index 294a88ef7..2033702fc 100644 --- a/tests/test-getlogin.c +++ b/tests/test-getlogin.c @@ -40,7 +40,9 @@ main (void) if (buf == NULL) { /* getlogin() fails when stdin is not connected to a tty. */ - ASSERT (errno == ENOTTY); + ASSERT (errno == ENOTTY + || errno == EINVAL /* seen on Linux/SPARC */ + ); #if !defined __hpux /* On HP-UX 11.11 it fails anyway. */ ASSERT (! isatty (0)); #endif diff --git a/tests/test-getlogin_r.c b/tests/test-getlogin_r.c index 2a20fd920..bbb58a322 100644 --- a/tests/test-getlogin_r.c +++ b/tests/test-getlogin_r.c @@ -41,7 +41,9 @@ main (void) if (err != 0) { /* getlogin_r() fails when stdin is not connected to a tty. */ - ASSERT (err == ENOTTY); + ASSERT (err == ENOTTY + || errno == EINVAL /* seen on Linux/SPARC */ + ); #if !defined __hpux /* On HP-UX 11.11 it fails anyway. */ ASSERT (! isatty (0)); #endif diff --git a/tests/test-getpeername.c b/tests/test-getpeername.c new file mode 100644 index 000000000..1ccd9b459 --- /dev/null +++ b/tests/test-getpeername.c @@ -0,0 +1,54 @@ +/* Test getpeername() function. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include + +#include "signature.h" +SIGNATURE_CHECK (getpeername, int, (int, struct sockaddr *, socklen_t *)); + +#include +#include + +#include "sockets.h" +#include "macros.h" + +int +main (void) +{ + gl_sockets_startup (SOCKETS_1_1); + + /* Test behaviour for invalid file descriptors. */ + { + struct sockaddr_in addr; + socklen_t addrlen = sizeof (addr); + + errno = 0; + ASSERT (getpeername (-1, (struct sockaddr *) &addr, &addrlen) == -1); + ASSERT (errno == EBADF); + } + { + struct sockaddr_in addr; + socklen_t addrlen = sizeof (addr); + + errno = 0; + ASSERT (getpeername (99, (struct sockaddr *) &addr, &addrlen) == -1); + ASSERT (errno == EBADF); + } + + return 0; +} diff --git a/tests/test-getsockname.c b/tests/test-getsockname.c new file mode 100644 index 000000000..8760d6129 --- /dev/null +++ b/tests/test-getsockname.c @@ -0,0 +1,54 @@ +/* Test getsockname() function. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include + +#include "signature.h" +SIGNATURE_CHECK (getsockname, int, (int, struct sockaddr *, socklen_t *)); + +#include +#include + +#include "sockets.h" +#include "macros.h" + +int +main (void) +{ + gl_sockets_startup (SOCKETS_1_1); + + /* Test behaviour for invalid file descriptors. */ + { + struct sockaddr_in addr; + socklen_t addrlen = sizeof (addr); + + errno = 0; + ASSERT (getsockname (-1, (struct sockaddr *) &addr, &addrlen) == -1); + ASSERT (errno == EBADF); + } + { + struct sockaddr_in addr; + socklen_t addrlen = sizeof (addr); + + errno = 0; + ASSERT (getsockname (99, (struct sockaddr *) &addr, &addrlen) == -1); + ASSERT (errno == EBADF); + } + + return 0; +} diff --git a/tests/test-getsockopt.c b/tests/test-getsockopt.c new file mode 100644 index 000000000..582703fb4 --- /dev/null +++ b/tests/test-getsockopt.c @@ -0,0 +1,55 @@ +/* Test getsockopt() function. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include + +#include "signature.h" +SIGNATURE_CHECK (getsockopt, int, (int, int, int, void *, socklen_t *)); + +#include + +#include "sockets.h" +#include "macros.h" + +int +main (void) +{ + gl_sockets_startup (SOCKETS_1_1); + + /* Test behaviour for invalid file descriptors. */ + { + int value; + socklen_t value_len = sizeof (value); + + errno = 0; + ASSERT (getsockopt (-1, SOL_SOCKET, SO_REUSEADDR, &value, &value_len) + == -1); + ASSERT (errno == EBADF); + } + { + int value; + socklen_t value_len = sizeof (value); + + errno = 0; + ASSERT (getsockopt (99, SOL_SOCKET, SO_REUSEADDR, &value, &value_len) + == -1); + ASSERT (errno == EBADF); + } + + return 0; +} diff --git a/tests/test-grantpt.c b/tests/test-grantpt.c new file mode 100644 index 000000000..e32add86b --- /dev/null +++ b/tests/test-grantpt.c @@ -0,0 +1,50 @@ +/* Test acquiring ownership of the slave side of a pseudo-terminal. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include + +#include "signature.h" +SIGNATURE_CHECK (grantpt, int, (int)); + +#include + +#include "macros.h" + +int +main (void) +{ + /* Test behaviour for invalid file descriptors. */ + { + errno = 0; + ASSERT (grantpt (-1) == -1); + ASSERT (errno == EBADF + || errno == EINVAL /* seen on FreeBSD 6.4 */ + || errno == 0 /* seen on Solaris 8 */ + ); + } + { + errno = 0; + ASSERT (grantpt (99) == -1); + ASSERT (errno == EBADF + || errno == EINVAL /* seen on FreeBSD 6.4 */ + || errno == 0 /* seen on Solaris 8 */ + ); + } + + return 0; +} diff --git a/tests/test-imaxabs.c b/tests/test-imaxabs.c new file mode 100644 index 000000000..319001d1c --- /dev/null +++ b/tests/test-imaxabs.c @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2011 Free Software Foundation, Inc. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . */ + +#include + +#include + +#include "signature.h" +SIGNATURE_CHECK (imaxabs, intmax_t, (intmax_t)); + +#include "macros.h" + +int +main (void) +{ + { + intmax_t result = imaxabs (0); + ASSERT (result == 0); + } + { + intmax_t result = imaxabs (23); + ASSERT (result == 23); + } + { + intmax_t result = imaxabs (-23); + ASSERT (result == 23); + } + + return 0; +} diff --git a/tests/test-imaxdiv.c b/tests/test-imaxdiv.c new file mode 100644 index 000000000..bbae71a14 --- /dev/null +++ b/tests/test-imaxdiv.c @@ -0,0 +1,51 @@ +/* + * Copyright (C) 2011 Free Software Foundation, Inc. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . */ + +#include + +#include + +#include "signature.h" +SIGNATURE_CHECK (imaxdiv, imaxdiv_t, (intmax_t, intmax_t)); + +#include "macros.h" + +int +main (void) +{ + { + imaxdiv_t result = imaxdiv (101, 7); + ASSERT (result.quot = 14); + ASSERT (result.rem = 3); + } + { + imaxdiv_t result = imaxdiv (-101, 7); + ASSERT (result.quot = -14); + ASSERT (result.rem = -3); + } + { + imaxdiv_t result = imaxdiv (101, -7); + ASSERT (result.quot = -14); + ASSERT (result.rem = 3); + } + { + imaxdiv_t result = imaxdiv (-101, -7); + ASSERT (result.quot = 14); + ASSERT (result.rem = -3); + } + + return 0; +} diff --git a/tests/test-integer_length.c b/tests/test-integer_length.c new file mode 100644 index 000000000..b1655011f --- /dev/null +++ b/tests/test-integer_length.c @@ -0,0 +1,66 @@ +/* Test of integer_length(). + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include "integer_length.h" + +#include + +#include "macros.h" + +#define NBITS (sizeof (unsigned int) * CHAR_BIT) + +static int +naive (unsigned int x) +{ + int j; + for (j = NBITS - 1; j >= 0; j--) + if (x & (1U << j)) + return j + 1; + return 0; +} + +int +main (int argc, char *argv[]) +{ + unsigned int x; + int i; + + for (x = 0; x <= 256; x++) + ASSERT (integer_length (x) == naive (x)); + for (i = 0; i < NBITS; i++) + { + ASSERT (integer_length (1U << i) == naive (1U << i)); + ASSERT (integer_length (1U << i) == i + 1); + ASSERT (integer_length (-1U << i) == NBITS); + } + for (i = 0; i < NBITS - 1; i++) + ASSERT (integer_length (3U << i) == i + 2); + for (i = 0; i < NBITS - 2; i++) + ASSERT (integer_length (-3U << i) == NBITS); + for (i = 0; i < NBITS - 2; i++) + { + ASSERT (integer_length (5U << i) == i + 3); + ASSERT (integer_length (7U << i) == i + 3); + } + for (i = 0; i < NBITS - 3; i++) + { + ASSERT (integer_length (-5U << i) == NBITS); + ASSERT (integer_length (-7U << i) == NBITS); + } + return 0; +} diff --git a/tests/test-integer_length_l.c b/tests/test-integer_length_l.c new file mode 100644 index 000000000..3648646e6 --- /dev/null +++ b/tests/test-integer_length_l.c @@ -0,0 +1,66 @@ +/* Test of integer_length_l(). + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include "integer_length.h" + +#include + +#include "macros.h" + +#define NBITS (sizeof (unsigned long) * CHAR_BIT) + +static int +naive (unsigned long x) +{ + int j; + for (j = NBITS - 1; j >= 0; j--) + if (x & (1UL << j)) + return j + 1; + return 0; +} + +int +main (int argc, char *argv[]) +{ + unsigned long x; + int i; + + for (x = 0; x <= 256; x++) + ASSERT (integer_length_l (x) == naive (x)); + for (i = 0; i < NBITS; i++) + { + ASSERT (integer_length_l (1UL << i) == naive (1UL << i)); + ASSERT (integer_length_l (1UL << i) == i + 1); + ASSERT (integer_length_l (-1UL << i) == NBITS); + } + for (i = 0; i < NBITS - 1; i++) + ASSERT (integer_length_l (3UL << i) == i + 2); + for (i = 0; i < NBITS - 2; i++) + ASSERT (integer_length_l (-3UL << i) == NBITS); + for (i = 0; i < NBITS - 2; i++) + { + ASSERT (integer_length_l (5UL << i) == i + 3); + ASSERT (integer_length_l (7UL << i) == i + 3); + } + for (i = 0; i < NBITS - 3; i++) + { + ASSERT (integer_length_l (-5UL << i) == NBITS); + ASSERT (integer_length_l (-7UL << i) == NBITS); + } + return 0; +} diff --git a/tests/test-integer_length_ll.c b/tests/test-integer_length_ll.c new file mode 100644 index 000000000..34a6663a6 --- /dev/null +++ b/tests/test-integer_length_ll.c @@ -0,0 +1,66 @@ +/* Test of integer_length_ll(). + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include "integer_length.h" + +#include + +#include "macros.h" + +#define NBITS (sizeof (unsigned long long) * CHAR_BIT) + +static int +naive (unsigned long long x) +{ + int j; + for (j = NBITS - 1; j >= 0; j--) + if (x & (1ULL << j)) + return j + 1; + return 0; +} + +int +main (int argc, char *argv[]) +{ + unsigned long x; + int i; + + for (x = 0; x <= 256; x++) + ASSERT (integer_length_ll (x) == naive (x)); + for (i = 0; i < NBITS; i++) + { + ASSERT (integer_length_ll (1ULL << i) == naive (1ULL << i)); + ASSERT (integer_length_ll (1ULL << i) == i + 1); + ASSERT (integer_length_ll (-1ULL << i) == NBITS); + } + for (i = 0; i < NBITS - 1; i++) + ASSERT (integer_length_ll (3ULL << i) == i + 2); + for (i = 0; i < NBITS - 2; i++) + ASSERT (integer_length_ll (-3ULL << i) == NBITS); + for (i = 0; i < NBITS - 2; i++) + { + ASSERT (integer_length_ll (5ULL << i) == i + 3); + ASSERT (integer_length_ll (7ULL << i) == i + 3); + } + for (i = 0; i < NBITS - 3; i++) + { + ASSERT (integer_length_ll (-5ULL << i) == NBITS); + ASSERT (integer_length_ll (-7ULL << i) == NBITS); + } + return 0; +} diff --git a/tests/test-ioctl.c b/tests/test-ioctl.c new file mode 100644 index 000000000..130ee427c --- /dev/null +++ b/tests/test-ioctl.c @@ -0,0 +1,49 @@ +/* Test of ioctl() function. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include + +#include "signature.h" +SIGNATURE_CHECK (ioctl, int, (int, int, ...)); + +#include + +#include "macros.h" + +int +main (void) +{ +#ifdef FIONREAD + /* Test behaviour for invalid file descriptors. */ + { + int value; + errno = 0; + ASSERT (ioctl (-1, FIONREAD, &value) == -1); + ASSERT (errno == EBADF); + } + { + int value; + errno = 0; + ASSERT (ioctl (99, FIONREAD, &value) == -1); + ASSERT (errno == EBADF); + } +#endif + + return 0; +} diff --git a/tests/test-isatty.c b/tests/test-isatty.c new file mode 100644 index 000000000..dba8854dd --- /dev/null +++ b/tests/test-isatty.c @@ -0,0 +1,48 @@ +/* Test isatty() function. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include + +#include "signature.h" +SIGNATURE_CHECK (isatty, int, (int)); + +#include + +#include "macros.h" + +int +main (void) +{ + /* Test behaviour for invalid file descriptors. */ + { + errno = 0; + ASSERT (isatty (-1) == 0); + ASSERT (errno == EBADF + || errno == 0 /* seen on Solaris 10 */ + ); + } + { + errno = 0; + ASSERT (isatty (99) == 0); + ASSERT (errno == EBADF + || errno == 0 /* seen on Solaris 10 */ + ); + } + + return 0; +} diff --git a/tests/test-isfinite.c b/tests/test-isfinite.c index ed87ccf97..ca5e5431e 100644 --- a/tests/test-isfinite.c +++ b/tests/test-isfinite.c @@ -29,6 +29,7 @@ #include #include +#include "infinity.h" #include "macros.h" float zerof = 0.0f; @@ -51,8 +52,8 @@ test_isfinitef () ASSERT (isfinite (-2.718e30f)); ASSERT (isfinite (-2.718e-30f)); /* Infinite values. */ - ASSERT (!isfinite (1.0f / 0.0f)); - ASSERT (!isfinite (-1.0f / 0.0f)); + ASSERT (!isfinite (Infinityf ())); + ASSERT (!isfinite (- Infinityf ())); /* Quiet NaN. */ ASSERT (!isfinite (zerof / zerof)); #if defined FLT_EXPBIT0_WORD && defined FLT_EXPBIT0_BIT @@ -95,8 +96,8 @@ test_isfinited () ASSERT (isfinite (-2.718e30)); ASSERT (isfinite (-2.718e-30)); /* Infinite values. */ - ASSERT (!isfinite (1.0 / 0.0)); - ASSERT (!isfinite (-1.0 / 0.0)); + ASSERT (!isfinite (Infinityd ())); + ASSERT (!isfinite (- Infinityd ())); /* Quiet NaN. */ ASSERT (!isfinite (zerod / zerod)); #if defined DBL_EXPBIT0_WORD && defined DBL_EXPBIT0_BIT @@ -142,8 +143,8 @@ test_isfinitel () ASSERT (isfinite (-2.718e30L)); ASSERT (isfinite (-2.718e-30L)); /* Infinite values. */ - ASSERT (!isfinite (1.0L / 0.0L)); - ASSERT (!isfinite (-1.0L / 0.0L)); + ASSERT (!isfinite (Infinityl ())); + ASSERT (!isfinite (- Infinityl ())); /* Quiet NaN. */ ASSERT (!isfinite (zerol / zerol)); @@ -165,7 +166,7 @@ test_isfinitel () } #endif -#if ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) +#if ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) && !HAVE_SAME_LONG_DOUBLE_AS_DOUBLE /* Representation of an 80-bit 'long double' as an initializer for a sequence of 'unsigned int' words. */ # ifdef WORDS_BIGENDIAN diff --git a/tests/test-isinf.c b/tests/test-isinf.c index d0d2cdaee..a17b0af90 100644 --- a/tests/test-isinf.c +++ b/tests/test-isinf.c @@ -29,6 +29,7 @@ #include #include +#include "infinity.h" #include "macros.h" float zerof = 0.0f; @@ -53,8 +54,8 @@ test_isinff () ASSERT (!isinf (FLT_MAX)); ASSERT (!isinf (-FLT_MAX)); /* Infinite values. */ - ASSERT (isinf (1.0f / 0.0f)); - ASSERT (isinf (-1.0f / 0.0f)); + ASSERT (isinf (Infinityf ())); + ASSERT (isinf (- Infinityf ())); /* Quiet NaN. */ ASSERT (!isinf (zerof / zerof)); #if defined FLT_EXPBIT0_WORD && defined FLT_EXPBIT0_BIT @@ -99,8 +100,8 @@ test_isinfd () ASSERT (!isinf (DBL_MAX)); ASSERT (!isinf (-DBL_MAX)); /* Infinite values. */ - ASSERT (isinf (1.0 / 0.0)); - ASSERT (isinf (-1.0 / 0.0)); + ASSERT (isinf (Infinityd ())); + ASSERT (isinf (- Infinityd ())); /* Quiet NaN. */ ASSERT (!isinf (zerod / zerod)); #if defined DBL_EXPBIT0_WORD && defined DBL_EXPBIT0_BIT @@ -148,8 +149,8 @@ test_isinfl () ASSERT (!isinf (LDBL_MAX)); ASSERT (!isinf (-LDBL_MAX)); /* Infinite values. */ - ASSERT (isinf (1.0L / 0.0L)); - ASSERT (isinf (-1.0L / 0.0L)); + ASSERT (isinf (Infinityl ())); + ASSERT (isinf (- Infinityl ())); /* Quiet NaN. */ ASSERT (!isinf (zerol / zerol)); @@ -171,7 +172,7 @@ test_isinfl () } #endif -#if ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) +#if ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) && !HAVE_SAME_LONG_DOUBLE_AS_DOUBLE /* Representation of an 80-bit 'long double' as an initializer for a sequence of 'unsigned int' words. */ # ifdef WORDS_BIGENDIAN diff --git a/tests/test-isnan.c b/tests/test-isnan.c index 57475a365..6c735f2c2 100644 --- a/tests/test-isnan.c +++ b/tests/test-isnan.c @@ -30,6 +30,7 @@ #include #include "minus-zero.h" +#include "infinity.h" #include "nan.h" #include "macros.h" @@ -46,8 +47,8 @@ test_float (void) ASSERT (!isnan (0.0f)); ASSERT (!isnan (minus_zerof)); /* Infinite values. */ - ASSERT (!isnan (1.0f / 0.0f)); - ASSERT (!isnan (-1.0f / 0.0f)); + ASSERT (!isnan (Infinityf ())); + ASSERT (!isnan (- Infinityf ())); /* Quiet NaN. */ ASSERT (isnan (NaNf ())); #if defined FLT_EXPBIT0_WORD && defined FLT_EXPBIT0_BIT @@ -86,8 +87,8 @@ test_double (void) ASSERT (!isnan (0.0)); ASSERT (!isnan (minus_zerod)); /* Infinite values. */ - ASSERT (!isnan (1.0 / 0.0)); - ASSERT (!isnan (-1.0 / 0.0)); + ASSERT (!isnan (Infinityd ())); + ASSERT (!isnan (- Infinityd ())); /* Quiet NaN. */ ASSERT (isnan (NaNd ())); #if defined DBL_EXPBIT0_WORD && defined DBL_EXPBIT0_BIT @@ -129,8 +130,8 @@ test_long_double (void) ASSERT (!isnan (0.0L)); ASSERT (!isnan (minus_zerol)); /* Infinite values. */ - ASSERT (!isnan (1.0L / 0.0L)); - ASSERT (!isnan (-1.0L / 0.0L)); + ASSERT (!isnan (Infinityl ())); + ASSERT (!isnan (- Infinityl ())); /* Quiet NaN. */ ASSERT (isnan (NaNl ())); @@ -152,7 +153,7 @@ test_long_double (void) } #endif -#if ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) +#if ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) && !HAVE_SAME_LONG_DOUBLE_AS_DOUBLE /* Representation of an 80-bit 'long double' as an initializer for a sequence of 'unsigned int' words. */ # ifdef WORDS_BIGENDIAN diff --git a/tests/test-isnand.h b/tests/test-isnand.h index de69331ef..181e36ff0 100644 --- a/tests/test-isnand.h +++ b/tests/test-isnand.h @@ -19,6 +19,7 @@ #include #include "minus-zero.h" +#include "infinity.h" #include "nan.h" #include "macros.h" @@ -35,8 +36,8 @@ main () ASSERT (!isnand (0.0)); ASSERT (!isnand (minus_zerod)); /* Infinite values. */ - ASSERT (!isnand (1.0 / 0.0)); - ASSERT (!isnand (-1.0 / 0.0)); + ASSERT (!isnand (Infinityd ())); + ASSERT (!isnand (- Infinityd ())); /* Quiet NaN. */ ASSERT (isnand (NaNd ())); #if defined DBL_EXPBIT0_WORD && defined DBL_EXPBIT0_BIT diff --git a/tests/test-isnanf.h b/tests/test-isnanf.h index f4b0e861f..4a33508e4 100644 --- a/tests/test-isnanf.h +++ b/tests/test-isnanf.h @@ -19,6 +19,7 @@ #include #include "minus-zero.h" +#include "infinity.h" #include "nan.h" #include "macros.h" @@ -35,8 +36,8 @@ main () ASSERT (!isnanf (0.0f)); ASSERT (!isnanf (minus_zerof)); /* Infinite values. */ - ASSERT (!isnanf (1.0f / 0.0f)); - ASSERT (!isnanf (-1.0f / 0.0f)); + ASSERT (!isnanf (Infinityf ())); + ASSERT (!isnanf (- Infinityf ())); /* Quiet NaN. */ ASSERT (isnanf (NaNf ())); #if defined FLT_EXPBIT0_WORD && defined FLT_EXPBIT0_BIT diff --git a/tests/test-isnanl.h b/tests/test-isnanl.h index c07f3a964..9f1d763c2 100644 --- a/tests/test-isnanl.h +++ b/tests/test-isnanl.h @@ -20,6 +20,7 @@ #include #include "minus-zero.h" +#include "infinity.h" #include "nan.h" #include "macros.h" @@ -41,8 +42,8 @@ main () ASSERT (!isnanl (0.0L)); ASSERT (!isnanl (minus_zerol)); /* Infinite values. */ - ASSERT (!isnanl (1.0L / 0.0L)); - ASSERT (!isnanl (-1.0L / 0.0L)); + ASSERT (!isnanl (Infinityl ())); + ASSERT (!isnanl (- Infinityl ())); /* Quiet NaN. */ ASSERT (isnanl (NaNl ())); @@ -64,7 +65,7 @@ main () } #endif -#if ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) +#if ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) && !HAVE_SAME_LONG_DOUBLE_AS_DOUBLE /* Representation of an 80-bit 'long double' as an initializer for a sequence of 'unsigned int' words. */ # ifdef WORDS_BIGENDIAN diff --git a/tests/test-ldexp.c b/tests/test-ldexp.c index 9eb6e5e32..ea8a9cc2d 100644 --- a/tests/test-ldexp.c +++ b/tests/test-ldexp.c @@ -1,5 +1,5 @@ /* Test of ldexp() function. - Copyright (C) 2010-2011 Free Software Foundation, Inc. + Copyright (C) 2007-2011 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -/* Written by Bruno Haible , 2010. */ +/* Written by Bruno Haible , 2007, 2010. */ #include @@ -23,26 +23,32 @@ #include "signature.h" SIGNATURE_CHECK (ldexp, double, (double, int)); +#include + +#include "isnand-nolibm.h" +#include "minus-zero.h" +#include "infinity.h" +#include "nan.h" #include "macros.h" -volatile double x; -double y; +#undef INFINITY +#undef NAN + +#define DOUBLE double +#define ISNAN isnand +#define INFINITY Infinityd () +#define NAN NaNd () +#define L_(literal) literal +#define MINUS_ZERO minus_zerod +#define LDEXP ldexp +#define MIN_EXP DBL_MIN_EXP +#define MAX_EXP DBL_MAX_EXP +#include "test-ldexp.h" int main () { - /* A particular value. */ - x = 0.6; - y = ldexp (x, 0); - ASSERT (y >= 0.5999999999 && y <= 0.6000000001); - - x = 0.6; - y = ldexp (x, 1); - ASSERT (y >= 1.199999999 && y <= 1.200000001); - - x = 0.6; - y = ldexp (x, -1); - ASSERT (y >= 0.2999999999 && y <= 0.3000000001); + test_function (); return 0; } diff --git a/tests/test-ldexp.h b/tests/test-ldexp.h new file mode 100644 index 000000000..260f54c8d --- /dev/null +++ b/tests/test-ldexp.h @@ -0,0 +1,117 @@ +/* Test of ldexp*() function family. + Copyright (C) 2007-2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007, 2010. */ + +static void +test_function (void) +{ + int i; + volatile DOUBLE x; + volatile DOUBLE y; + + /* A particular value. */ + { + x = L_(0.6); + y = LDEXP (x, 0); + ASSERT (y >= L_(0.5999999999) && y <= L_(0.6000000001)); + } + { + x = L_(0.6); + y = LDEXP (x, 1); + ASSERT (y >= L_(1.199999999) && y <= L_(1.200000001)); + } + { + x = L_(0.6); + y = LDEXP (x, -1); + ASSERT (y >= L_(0.2999999999) && y <= L_(0.3000000001)); + } + + { /* NaN. */ + x = NAN; + y = LDEXP (x, 0); ASSERT (ISNAN (y)); + y = LDEXP (x, 5); ASSERT (ISNAN (y)); + y = LDEXP (x, -5); ASSERT (ISNAN (y)); + } + + { /* Positive infinity. */ + x = INFINITY; + y = LDEXP (x, 0); ASSERT (y == x); + y = LDEXP (x, 5); ASSERT (y == x); + y = LDEXP (x, -5); ASSERT (y == x); + } + + { /* Negative infinity. */ + x = - INFINITY; + y = LDEXP (x, 0); ASSERT (y == x); + y = LDEXP (x, 5); ASSERT (y == x); + y = LDEXP (x, -5); ASSERT (y == x); + } + + { /* Positive zero. */ + x = L_(0.0); + y = LDEXP (x, 0); ASSERT (y == x); ASSERT (!signbit (x)); + y = LDEXP (x, 5); ASSERT (y == x); ASSERT (!signbit (x)); + y = LDEXP (x, -5); ASSERT (y == x); ASSERT (!signbit (x)); + } + + { /* Negative zero. */ + x = MINUS_ZERO; + y = LDEXP (x, 0); ASSERT (y == x); ASSERT (signbit (x)); + y = LDEXP (x, 5); ASSERT (y == x); ASSERT (signbit (x)); + y = LDEXP (x, -5); ASSERT (y == x); ASSERT (signbit (x)); + } + + { /* Positive finite number. */ + x = L_(1.73205); + y = LDEXP (x, 0); ASSERT (y == x); + y = LDEXP (x, 5); ASSERT (y == x * L_(32.0)); + y = LDEXP (x, -5); ASSERT (y == x * L_(0.03125)); + } + + { /* Negative finite number. */ + x = - L_(20.085536923187667742); + y = LDEXP (x, 0); ASSERT (y == x); + y = LDEXP (x, 5); ASSERT (y == x * L_(32.0)); + y = LDEXP (x, -5); ASSERT (y == x * L_(0.03125)); + } + + for (i = 1, x = L_(1.73205); i <= MAX_EXP; i++, x *= L_(2.0)) + { + y = LDEXP (x, 0); ASSERT (y == x); + { + volatile DOUBLE expected; + y = LDEXP (x, 5); + expected = x * L_(32.0); + ASSERT (y == expected); + } + y = LDEXP (x, -5); ASSERT (y == x * 0.03125L); + } + for (i = 1, x = L_(1.73205); i >= MIN_EXP; i--, x *= L_(0.5)) + { + y = LDEXP (x, 0); ASSERT (y == x); + y = LDEXP (x, 5); ASSERT (y == x * L_(32.0)); + if (i - 5 >= MIN_EXP) + { + y = LDEXP (x, -5); ASSERT (y == x * L_(0.03125)); + } + } + for (; i >= LDBL_MIN_EXP - 100 && x > L_(0.0); i--, x *= L_(0.5)) + { + y = LDEXP (x, 0); ASSERT (y == x); + y = LDEXP (x, 5); ASSERT (y == x * L_(32.0)); + } +} diff --git a/tests/test-ldexpf.c b/tests/test-ldexpf.c new file mode 100644 index 000000000..e90c13d60 --- /dev/null +++ b/tests/test-ldexpf.c @@ -0,0 +1,54 @@ +/* Test of ldexpf() function. + Copyright (C) 2007-2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007, 2010. */ + +#include + +#include + +#include "signature.h" +SIGNATURE_CHECK (ldexpf, float, (float, int)); + +#include + +#include "isnanf-nolibm.h" +#include "minus-zero.h" +#include "infinity.h" +#include "nan.h" +#include "macros.h" + +#undef INFINITY +#undef NAN + +#define DOUBLE float +#define ISNAN isnanf +#define INFINITY Infinityf () +#define NAN NaNf () +#define L_(literal) literal##f +#define MINUS_ZERO minus_zerof +#define LDEXP ldexpf +#define MIN_EXP FLT_MIN_EXP +#define MAX_EXP FLT_MAX_EXP +#include "test-ldexp.h" + +int +main () +{ + test_function (); + + return 0; +} diff --git a/tests/test-ldexpl.c b/tests/test-ldexpl.c index d8e7e15eb..5dd9b4a90 100644 --- a/tests/test-ldexpl.c +++ b/tests/test-ldexpl.c @@ -28,88 +28,32 @@ SIGNATURE_CHECK (ldexpl, long double, (long double, int)); #include "fpucw.h" #include "isnanl-nolibm.h" #include "minus-zero.h" +#include "infinity.h" #include "nan.h" #include "macros.h" +#undef INFINITY +#undef NAN + +#define DOUBLE long double +#define ISNAN isnanl +#define INFINITY Infinityl () +#define NAN NaNl () +#define L_(literal) literal##L +#define MINUS_ZERO minus_zerol +#define LDEXP ldexpl +#define MIN_EXP LDBL_MIN_EXP +#define MAX_EXP LDBL_MAX_EXP +#include "test-ldexp.h" + int main () { - int i; - long double x; - long double y; DECL_LONG_DOUBLE_ROUNDING BEGIN_LONG_DOUBLE_ROUNDING (); - { /* NaN. */ - x = NaNl (); - y = ldexpl (x, 0); ASSERT (isnanl (y)); - y = ldexpl (x, 5); ASSERT (isnanl (y)); - y = ldexpl (x, -5); ASSERT (isnanl (y)); - } - - { /* Positive infinity. */ - x = 1.0L / 0.0L; - y = ldexpl (x, 0); ASSERT (y == x); - y = ldexpl (x, 5); ASSERT (y == x); - y = ldexpl (x, -5); ASSERT (y == x); - } - - { /* Negative infinity. */ - x = -1.0L / 0.0L; - y = ldexpl (x, 0); ASSERT (y == x); - y = ldexpl (x, 5); ASSERT (y == x); - y = ldexpl (x, -5); ASSERT (y == x); - } - - { /* Positive zero. */ - x = 0.0L; - y = ldexpl (x, 0); ASSERT (y == x); ASSERT (!signbit (x)); - y = ldexpl (x, 5); ASSERT (y == x); ASSERT (!signbit (x)); - y = ldexpl (x, -5); ASSERT (y == x); ASSERT (!signbit (x)); - } - - { /* Negative zero. */ - x = minus_zerol; - y = ldexpl (x, 0); ASSERT (y == x); ASSERT (signbit (x)); - y = ldexpl (x, 5); ASSERT (y == x); ASSERT (signbit (x)); - y = ldexpl (x, -5); ASSERT (y == x); ASSERT (signbit (x)); - } - - { /* Positive finite number. */ - x = 1.73205L; - y = ldexpl (x, 0); ASSERT (y == x); - y = ldexpl (x, 5); ASSERT (y == x * 32.0L); - y = ldexpl (x, -5); ASSERT (y == x * 0.03125L); - } - - { /* Negative finite number. */ - x = -20.085536923187667742L; - y = ldexpl (x, 0); ASSERT (y == x); - y = ldexpl (x, 5); ASSERT (y == x * 32.0L); - y = ldexpl (x, -5); ASSERT (y == x * 0.03125L); - } - - for (i = 1, x = 1.73205L; i <= LDBL_MAX_EXP; i++, x *= 2.0L) - { - y = ldexpl (x, 0); ASSERT (y == x); - y = ldexpl (x, 5); ASSERT (y == x * 32.0L); - y = ldexpl (x, -5); ASSERT (y == x * 0.03125L); - } - for (i = 1, x = 1.73205L; i >= LDBL_MIN_EXP; i--, x *= 0.5L) - { - y = ldexpl (x, 0); ASSERT (y == x); - y = ldexpl (x, 5); ASSERT (y == x * 32.0L); - if (i - 5 >= LDBL_MIN_EXP) - { - y = ldexpl (x, -5); ASSERT (y == x * 0.03125L); - } - } - for (; i >= LDBL_MIN_EXP - 100 && x > 0.0L; i--, x *= 0.5L) - { - y = ldexpl (x, 0); ASSERT (y == x); - y = ldexpl (x, 5); ASSERT (y == x * 32.0L); - } + test_function (); return 0; } diff --git a/tests/test-linkat.c b/tests/test-linkat.c index 2aea565d9..6da82b0fa 100644 --- a/tests/test-linkat.c +++ b/tests/test-linkat.c @@ -95,6 +95,30 @@ main (void) /* Clean up any trash from prior testsuite runs. */ ignore_value (system ("rm -rf " BASE "*")); + /* Test behaviour for invalid file descriptors. */ + { + errno = 0; + ASSERT (linkat (-1, "foo", AT_FDCWD, "bar", 0) == -1); + ASSERT (errno == EBADF); + } + { + errno = 0; + ASSERT (linkat (99, "foo", AT_FDCWD, "bar", 0) == -1); + ASSERT (errno == EBADF); + } + ASSERT (close (creat (BASE "oo", 0600)) == 0); + { + errno = 0; + ASSERT (linkat (AT_FDCWD, BASE "oo", -1, "bar", 0) == -1); + ASSERT (errno == EBADF); + } + { + errno = 0; + ASSERT (linkat (AT_FDCWD, BASE "oo", 99, "bar", 0) == -1); + ASSERT (errno == EBADF); + } + ASSERT (unlink (BASE "oo") == 0); + /* Test basic link functionality, without mentioning symlinks. */ result = test_link (do_link, true); dfd1 = open (".", O_RDONLY); diff --git a/tests/test-listen.c b/tests/test-listen.c new file mode 100644 index 000000000..becc45330 --- /dev/null +++ b/tests/test-listen.c @@ -0,0 +1,47 @@ +/* Test listen() function. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include + +#include "signature.h" +SIGNATURE_CHECK (listen, int, (int, int)); + +#include + +#include "sockets.h" +#include "macros.h" + +int +main (void) +{ + gl_sockets_startup (SOCKETS_1_1); + + /* Test behaviour for invalid file descriptors. */ + { + errno = 0; + ASSERT (listen (-1, 1) == -1); + ASSERT (errno == EBADF); + } + { + errno = 0; + ASSERT (listen (99 ,1) == -1); + ASSERT (errno == EBADF); + } + + return 0; +} diff --git a/tests/test-log10f.c b/tests/test-log10f.c new file mode 100644 index 000000000..afdc34d1d --- /dev/null +++ b/tests/test-log10f.c @@ -0,0 +1,40 @@ +/* Test of log10f() function. + Copyright (C) 2010-2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2010-2011. */ + +#include + +#include + +#include "signature.h" +SIGNATURE_CHECK (log10f, float, (float)); + +#include "macros.h" + +volatile float x; +float y; + +int +main () +{ + /* A particular value. */ + x = 0.6f; + y = log10f (x); + ASSERT (y >= -0.2218488f && y <= -0.2218487f); + + return 0; +} diff --git a/tests/test-logf.c b/tests/test-logf.c new file mode 100644 index 000000000..2ff5076a5 --- /dev/null +++ b/tests/test-logf.c @@ -0,0 +1,40 @@ +/* Test of logf() function. + Copyright (C) 2010-2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2010-2011. */ + +#include + +#include + +#include "signature.h" +SIGNATURE_CHECK (logf, float, (float)); + +#include "macros.h" + +volatile float x; +float y; + +int +main () +{ + /* A particular value. */ + x = 0.6f; + y = logf (x); + ASSERT (y >= -0.5108257f && y <= -0.5108256f); + + return 0; +} diff --git a/tests/test-lseek.c b/tests/test-lseek.c index ce2263cba..f74516c6c 100644 --- a/tests/test-lseek.c +++ b/tests/test-lseek.c @@ -81,12 +81,24 @@ main (int argc, char **argv) invoking shell are not enough on HP-UX. */ close (0); close (1); + errno = 0; ASSERT (lseek (0, (off_t)0, SEEK_CUR) == -1); ASSERT (errno == EBADF); + errno = 0; ASSERT (lseek (1, (off_t)0, SEEK_CUR) == -1); ASSERT (errno == EBADF); + + /* Test behaviour for invalid file descriptors. */ + errno = 0; + ASSERT (lseek (-1, (off_t)0, SEEK_CUR) == -1); + ASSERT (errno == EBADF); + + errno = 0; + ASSERT (lseek (99, (off_t)0, SEEK_CUR) == -1); + ASSERT (errno == EBADF); + break; default: diff --git a/tests/test-lutimens.h b/tests/test-lutimens.h index e5b57eba8..75d1642bc 100644 --- a/tests/test-lutimens.h +++ b/tests/test-lutimens.h @@ -61,9 +61,7 @@ test_lutimens (int (*func) (char const *, struct timespec const *), bool print) ASSERT (st2.st_atime == Y2K); ASSERT (st2.st_mtime == Y2K); if (check_ctime) - ASSERT (st1.st_ctime < st2.st_ctime - || (st1.st_ctime == st2.st_ctime - && get_stat_ctime_ns (&st1) < get_stat_ctime_ns (&st2))); + ASSERT (ctime_compare (&st1, &st2) < 0); /* Play with symlink timestamps. */ if (symlink (BASE "file", BASE "link")) @@ -143,9 +141,7 @@ test_lutimens (int (*func) (char const *, struct timespec const *), bool print) ASSERT (0 <= get_stat_mtime_ns (&st2)); ASSERT (get_stat_mtime_ns (&st2) < BILLION); if (check_ctime) - ASSERT (st1.st_ctime < st2.st_ctime - || (st1.st_ctime == st2.st_ctime - && get_stat_ctime_ns (&st1) < get_stat_ctime_ns (&st2))); + ASSERT (ctime_compare (&st1, &st2) < 0); } /* Play with UTIME_OMIT, UTIME_NOW. */ @@ -163,9 +159,7 @@ test_lutimens (int (*func) (char const *, struct timespec const *), bool print) } ASSERT (utimecmp (BASE "link", &st1, &st3, 0) <= 0); if (check_ctime) - ASSERT (st2.st_ctime < st3.st_ctime - || (st2.st_ctime == st3.st_ctime - && get_stat_ctime_ns (&st2) < get_stat_ctime_ns (&st3))); + ASSERT (ctime_compare (&st2, &st3) < 0); nap (); ts[0].tv_nsec = 0; ts[1].tv_nsec = UTIME_OMIT; @@ -179,9 +173,7 @@ test_lutimens (int (*func) (char const *, struct timespec const *), bool print) ASSERT (st3.st_mtime == st2.st_mtime); ASSERT (get_stat_mtime_ns (&st3) == get_stat_mtime_ns (&st2)); if (check_ctime) - ASSERT (st3.st_ctime < st2.st_ctime - || (st3.st_ctime == st2.st_ctime - && get_stat_ctime_ns (&st3) < get_stat_ctime_ns (&st2))); + ASSERT (ctime_compare (&st3, &st2) < 0); } /* Symlink to directory. */ diff --git a/tests/test-math-c++.cc b/tests/test-math-c++.cc index 2a3acff6b..1a8726d78 100644 --- a/tests/test-math-c++.cc +++ b/tests/test-math-c++.cc @@ -23,139 +23,277 @@ #include "signature.h" - -//SIGNATURE_CHECK (GNULIB_NAMESPACE::acos, double, (double)); -//SIGNATURE_CHECK (GNULIB_NAMESPACE::asin, double, (double)); -//SIGNATURE_CHECK (GNULIB_NAMESPACE::atan, double, (double)); -//SIGNATURE_CHECK (GNULIB_NAMESPACE::atan2, double, (double, double)); -//SIGNATURE_CHECK (GNULIB_NAMESPACE::cbrt, double, (double)); -//SIGNATURE_CHECK (GNULIB_NAMESPACE::copysign, double, (double, double)); -//SIGNATURE_CHECK (GNULIB_NAMESPACE::cos, double, (double)); -//SIGNATURE_CHECK (GNULIB_NAMESPACE::cosh, double, (double)); -//SIGNATURE_CHECK (GNULIB_NAMESPACE::erf, double, (double)); -//SIGNATURE_CHECK (GNULIB_NAMESPACE::erfc, double, (double)); -//SIGNATURE_CHECK (GNULIB_NAMESPACE::exp, double, (double)); -//SIGNATURE_CHECK (GNULIB_NAMESPACE::fabs, double, (double)); -//SIGNATURE_CHECK (GNULIB_NAMESPACE::fmod, double, (double, double)); -#if GNULIB_TEST_FREXP -SIGNATURE_CHECK (GNULIB_NAMESPACE::frexp, double, (double, int *)); +/* Signature check for a function that takes a real-floating argument. + Check that each overloaded function with the specified signature exists. */ +#define REAL_FLOATING_CHECK(func,\ + rettype1, parameters1,\ + rettype2, parameters2,\ + rettype3, parameters3) \ + OVERLOADED_CHECK (func, rettype1, parameters1, _1); \ + OVERLOADED_CHECK (func, rettype2, parameters2, _2); \ + OVERLOADED_CHECK (func, rettype3, parameters3, _3) +#define OVERLOADED_CHECK(func, rettype, parameters, suffix) \ + static rettype (* _GL_UNUSED signature_check_ ## func ## suffix) parameters \ + = static_cast(func) + + +/* Keep these checks in the same order as math.in.h! */ + +#if GNULIB_TEST_ACOSF +SIGNATURE_CHECK (GNULIB_NAMESPACE::acosf, float, (float)); #endif -//SIGNATURE_CHECK (GNULIB_NAMESPACE::hypot, double, (double, double)); -//SIGNATURE_CHECK (GNULIB_NAMESPACE::j0, double, (double)); -//SIGNATURE_CHECK (GNULIB_NAMESPACE::j1, double, (double)); -//SIGNATURE_CHECK (GNULIB_NAMESPACE::jn, double, (int, double)); -//SIGNATURE_CHECK (GNULIB_NAMESPACE::ldexp, double, (double, int)); -//SIGNATURE_CHECK (GNULIB_NAMESPACE::lgamma, double, (double)); -//SIGNATURE_CHECK (GNULIB_NAMESPACE::log10, double, (double)); -//SIGNATURE_CHECK (GNULIB_NAMESPACE::log1p, double, (double)); -//SIGNATURE_CHECK (GNULIB_NAMESPACE::logb, double, (double)); -//SIGNATURE_CHECK (GNULIB_NAMESPACE::log, double, (double)); -//SIGNATURE_CHECK (GNULIB_NAMESPACE::modf, double, (double, double *)); -//SIGNATURE_CHECK (GNULIB_NAMESPACE::nextafter, double, (double, double)); -//SIGNATURE_CHECK (GNULIB_NAMESPACE::pow, double, (double, double)); -//SIGNATURE_CHECK (GNULIB_NAMESPACE::remainder, double, (double, double)); -//SIGNATURE_CHECK (GNULIB_NAMESPACE::rint, double, (double)); -//SIGNATURE_CHECK (GNULIB_NAMESPACE::sin, double, (double)); -//SIGNATURE_CHECK (GNULIB_NAMESPACE::sinh, double, (double)); -//SIGNATURE_CHECK (GNULIB_NAMESPACE::sqrt, double, (double)); -//SIGNATURE_CHECK (GNULIB_NAMESPACE::tan, double, (double)); -//SIGNATURE_CHECK (GNULIB_NAMESPACE::tanh, double, (double)); -//SIGNATURE_CHECK (GNULIB_NAMESPACE::y0, double, (double)); -//SIGNATURE_CHECK (GNULIB_NAMESPACE::y1, double, (double)); -//SIGNATURE_CHECK (GNULIB_NAMESPACE::yn, double, (int, double)); - +//SIGNATURE_CHECK (GNULIB_NAMESPACE::acos, double, (double)); #if GNULIB_TEST_ACOSL SIGNATURE_CHECK (GNULIB_NAMESPACE::acosl, long double, (long double)); #endif +#if GNULIB_TEST_ASINF +SIGNATURE_CHECK (GNULIB_NAMESPACE::asinf, float, (float)); +#endif +//SIGNATURE_CHECK (GNULIB_NAMESPACE::asin, double, (double)); #if GNULIB_TEST_ASINL SIGNATURE_CHECK (GNULIB_NAMESPACE::asinl, long double, (long double)); #endif +#if GNULIB_TEST_ATANF +SIGNATURE_CHECK (GNULIB_NAMESPACE::atanf, float, (float)); +#endif +//SIGNATURE_CHECK (GNULIB_NAMESPACE::atan, double, (double)); #if GNULIB_TEST_ATANL SIGNATURE_CHECK (GNULIB_NAMESPACE::atanl, long double, (long double)); #endif +#if GNULIB_TEST_ATAN2F +SIGNATURE_CHECK (GNULIB_NAMESPACE::atan2f, float, (float, float)); +#endif +//SIGNATURE_CHECK (GNULIB_NAMESPACE::atan2, double, (double, double)); + +//SIGNATURE_CHECK (GNULIB_NAMESPACE::cbrt, double, (double)); + #if GNULIB_TEST_CEILF SIGNATURE_CHECK (GNULIB_NAMESPACE::ceilf, float, (float)); #endif - #if GNULIB_TEST_CEIL SIGNATURE_CHECK (GNULIB_NAMESPACE::ceil, double, (double)); #endif - #if GNULIB_TEST_CEILL SIGNATURE_CHECK (GNULIB_NAMESPACE::ceill, long double, (long double)); #endif +#if GNULIB_TEST_COPYSIGNF +SIGNATURE_CHECK (GNULIB_NAMESPACE::copysignf, float, (float, float)); +#endif +#if GNULIB_TEST_COPYSIGN +SIGNATURE_CHECK (GNULIB_NAMESPACE::copysign, double, (double, double)); +#endif +#if GNULIB_TEST_COPYSIGNL +SIGNATURE_CHECK (GNULIB_NAMESPACE::copysignl, long double, + (long double, long double)); +#endif + +#if GNULIB_TEST_COSF +SIGNATURE_CHECK (GNULIB_NAMESPACE::cosf, float, (float)); +#endif +//SIGNATURE_CHECK (GNULIB_NAMESPACE::cos, double, (double)); #if GNULIB_TEST_COSL SIGNATURE_CHECK (GNULIB_NAMESPACE::cosl, long double, (long double)); #endif +#if GNULIB_TEST_COSHF +SIGNATURE_CHECK (GNULIB_NAMESPACE::coshf, float, (float)); +#endif +//SIGNATURE_CHECK (GNULIB_NAMESPACE::cosh, double, (double)); + +//SIGNATURE_CHECK (GNULIB_NAMESPACE::erf, double, (double)); + +//SIGNATURE_CHECK (GNULIB_NAMESPACE::erfc, double, (double)); + +#if GNULIB_TEST_EXPF +SIGNATURE_CHECK (GNULIB_NAMESPACE::expf, float, (float)); +#endif +//SIGNATURE_CHECK (GNULIB_NAMESPACE::exp, double, (double)); #if GNULIB_TEST_EXPL SIGNATURE_CHECK (GNULIB_NAMESPACE::expl, long double, (long double)); #endif +#if GNULIB_TEST_FABSF +SIGNATURE_CHECK (GNULIB_NAMESPACE::fabsf, float, (float)); +#endif +//SIGNATURE_CHECK (GNULIB_NAMESPACE::fabs, double, (double)); + #if GNULIB_TEST_FLOORF SIGNATURE_CHECK (GNULIB_NAMESPACE::floorf, float, (float)); #endif - #if GNULIB_TEST_FLOOR SIGNATURE_CHECK (GNULIB_NAMESPACE::floor, double, (double)); #endif - #if GNULIB_TEST_FLOORL SIGNATURE_CHECK (GNULIB_NAMESPACE::floorl, long double, (long double)); #endif +#if GNULIB_TEST_FMODF +SIGNATURE_CHECK (GNULIB_NAMESPACE::fmodf, float, (float, float)); +#endif +//SIGNATURE_CHECK (GNULIB_NAMESPACE::fmod, double, (double, double)); + +#if GNULIB_TEST_FREXPF +SIGNATURE_CHECK (GNULIB_NAMESPACE::frexpf, float, (float, int *)); +#endif +#if GNULIB_TEST_FREXP +SIGNATURE_CHECK (GNULIB_NAMESPACE::frexp, double, (double, int *)); +#endif #if GNULIB_TEST_FREXPL SIGNATURE_CHECK (GNULIB_NAMESPACE::frexpl, long double, (long double, int *)); #endif +//SIGNATURE_CHECK (GNULIB_NAMESPACE::hypot, double, (double, double)); + +//SIGNATURE_CHECK (GNULIB_NAMESPACE::j0, double, (double)); + +//SIGNATURE_CHECK (GNULIB_NAMESPACE::j1, double, (double)); + +//SIGNATURE_CHECK (GNULIB_NAMESPACE::jn, double, (int, double)); + +#if GNULIB_TEST_LDEXPF +SIGNATURE_CHECK (GNULIB_NAMESPACE::ldexpf, float, (float, int)); +#endif +//SIGNATURE_CHECK (GNULIB_NAMESPACE::ldexp, double, (double, int)); #if GNULIB_TEST_LDEXPL SIGNATURE_CHECK (GNULIB_NAMESPACE::ldexpl, long double, (long double, int)); #endif +//SIGNATURE_CHECK (GNULIB_NAMESPACE::lgamma, double, (double)); + +//SIGNATURE_CHECK (GNULIB_NAMESPACE::log10, double, (double)); + +//SIGNATURE_CHECK (GNULIB_NAMESPACE::log1p, double, (double)); + +//SIGNATURE_CHECK (GNULIB_NAMESPACE::logb, double, (double)); + +#if GNULIB_TEST_LOGF +SIGNATURE_CHECK (GNULIB_NAMESPACE::logf, float, (float)); +#endif +//SIGNATURE_CHECK (GNULIB_NAMESPACE::log, double, (double)); #if GNULIB_TEST_LOGL SIGNATURE_CHECK (GNULIB_NAMESPACE::logl, long double, (long double)); #endif +#if GNULIB_TEST_LOG10F +SIGNATURE_CHECK (GNULIB_NAMESPACE::log10f, float, (float)); +#endif + +#if GNULIB_TEST_MODFF +SIGNATURE_CHECK (GNULIB_NAMESPACE::modff, float, (float, float *)); +#endif +//SIGNATURE_CHECK (GNULIB_NAMESPACE::modf, double, (double, double *)); + +//SIGNATURE_CHECK (GNULIB_NAMESPACE::nextafter, double, (double, double)); + +#if GNULIB_TEST_POWF +SIGNATURE_CHECK (GNULIB_NAMESPACE::powf, float, (float, float)); +#endif +//SIGNATURE_CHECK (GNULIB_NAMESPACE::pow, double, (double, double)); + +//SIGNATURE_CHECK (GNULIB_NAMESPACE::remainder, double, (double, double)); + +#if GNULIB_TEST_RINTF +SIGNATURE_CHECK (GNULIB_NAMESPACE::rintf, float, (float)); +#endif +#if GNULIB_TEST_RINT +SIGNATURE_CHECK (GNULIB_NAMESPACE::rint, double, (double)); +#endif +#if GNULIB_TEST_RINTL +SIGNATURE_CHECK (GNULIB_NAMESPACE::rintl, long double, (long double)); +#endif + #if GNULIB_TEST_ROUNDF SIGNATURE_CHECK (GNULIB_NAMESPACE::roundf, float, (float)); #endif - #if GNULIB_TEST_ROUND SIGNATURE_CHECK (GNULIB_NAMESPACE::round, double, (double)); #endif - #if GNULIB_TEST_ROUNDL SIGNATURE_CHECK (GNULIB_NAMESPACE::roundl, long double, (long double)); #endif +#if GNULIB_TEST_SINF +SIGNATURE_CHECK (GNULIB_NAMESPACE::sinf, float, (float)); +#endif +//SIGNATURE_CHECK (GNULIB_NAMESPACE::sin, double, (double)); #if GNULIB_TEST_SINL SIGNATURE_CHECK (GNULIB_NAMESPACE::sinl, long double, (long double)); #endif +#if GNULIB_TEST_SINHF +SIGNATURE_CHECK (GNULIB_NAMESPACE::sinhf, float, (float)); +#endif +//SIGNATURE_CHECK (GNULIB_NAMESPACE::sinh, double, (double)); + +#if GNULIB_TEST_SQRTF +SIGNATURE_CHECK (GNULIB_NAMESPACE::sqrtf, float, (float)); +#endif +//SIGNATURE_CHECK (GNULIB_NAMESPACE::sqrt, double, (double)); #if GNULIB_TEST_SQRTL SIGNATURE_CHECK (GNULIB_NAMESPACE::sqrtl, long double, (long double)); #endif +#if GNULIB_TEST_TANF +SIGNATURE_CHECK (GNULIB_NAMESPACE::tanf, float, (float)); +#endif +//SIGNATURE_CHECK (GNULIB_NAMESPACE::tan, double, (double)); #if GNULIB_TEST_TANL SIGNATURE_CHECK (GNULIB_NAMESPACE::tanl, long double, (long double)); #endif +#if GNULIB_TEST_TANHF +SIGNATURE_CHECK (GNULIB_NAMESPACE::tanhf, float, (float)); +#endif +//SIGNATURE_CHECK (GNULIB_NAMESPACE::tanh, double, (double)); + #if GNULIB_TEST_TRUNCF SIGNATURE_CHECK (GNULIB_NAMESPACE::truncf, float, (float)); #endif - #if GNULIB_TEST_TRUNC SIGNATURE_CHECK (GNULIB_NAMESPACE::trunc, double, (double)); #endif - #if GNULIB_TEST_TRUNCL SIGNATURE_CHECK (GNULIB_NAMESPACE::truncl, long double, (long double)); #endif +//SIGNATURE_CHECK (GNULIB_NAMESPACE::y0, double, (double)); + +//SIGNATURE_CHECK (GNULIB_NAMESPACE::y1, double, (double)); + +//SIGNATURE_CHECK (GNULIB_NAMESPACE::yn, double, (int, double)); + +#if GNULIB_TEST_ISFINITE +# ifdef isfinite +# error "isfinite should not be a macro in C++" +# endif +REAL_FLOATING_CHECK (isfinite, int, (float), int, (double), int, (long double)); +#endif + +#if GNULIB_TEST_ISINF +# ifdef isinf +# error "isinf should not be a macro in C++" +# endif +REAL_FLOATING_CHECK (isinf, int, (float), int, (double), int, (long double)); +#endif + +#if GNULIB_TEST_ISNAN +# ifdef isnan +# error "isnan should not be a macro in C++" +# endif +REAL_FLOATING_CHECK (isnan, int, (float), int, (double), int, (long double)); +#endif + +#if GNULIB_TEST_SIGNBIT +# ifdef signbit +# error "signbit should not be a macro in C++" +# endif +REAL_FLOATING_CHECK (signbit, int, (float), int, (double), int, (long double)); +#endif + int main () diff --git a/tests/test-mkdirat.c b/tests/test-mkdirat.c index 0eb5e2d49..cd0c6cdf4 100644 --- a/tests/test-mkdirat.c +++ b/tests/test-mkdirat.c @@ -57,6 +57,18 @@ main (int argc _GL_UNUSED, char *argv[]) /* Clean up any trash from prior testsuite runs. */ ignore_value (system ("rm -rf " BASE "*")); + /* Test behaviour for invalid file descriptors. */ + { + errno = 0; + ASSERT (mkdirat (-1, "foo", 0700) == -1); + ASSERT (errno == EBADF); + } + { + errno = 0; + ASSERT (mkdirat (99, "foo", 0700) == -1); + ASSERT (errno == EBADF); + } + /* Test basic mkdir functionality. */ result = test_mkdir (do_mkdir, false); dfd = open (".", O_RDONLY); diff --git a/tests/test-mkfifoat.c b/tests/test-mkfifoat.c index fe086fd03..4a8edd1dc 100644 --- a/tests/test-mkfifoat.c +++ b/tests/test-mkfifoat.c @@ -89,33 +89,58 @@ main (void) struct stat st; test_func func = funcs[i]; + /* Test behaviour for invalid file descriptors. */ + { + errno = 0; + ASSERT (func (-1, "foo", 0600) == -1); + ASSERT (errno == EBADF + || errno == ENOSYS /* seen on mingw */ + ); + } + { + errno = 0; + ASSERT (func (99, "foo", 0600) == -1); + ASSERT (errno == EBADF + || errno == ENOSYS /* seen on mingw */ + ); + } + /* Create fifo while cwd is '.', then stat it from '..'. */ - ASSERT (func (AT_FDCWD, BASE "fifo", 0600) == 0); - errno = 0; - ASSERT (func (dfd, BASE "fifo", 0600) == -1); - ASSERT (errno == EEXIST); - ASSERT (chdir ("..") == 0); - errno = 0; - ASSERT (fstatat (AT_FDCWD, BASE "fifo", &st, 0) == -1); - ASSERT (errno == ENOENT); - memset (&st, 0, sizeof st); - ASSERT (fstatat (dfd, BASE "fifo", &st, 0) == 0); - ASSERT (S_ISFIFO (st.st_mode)); - ASSERT (unlinkat (dfd, BASE "fifo", 0) == 0); + if (func (AT_FDCWD, BASE "fifo", 0600) != 0) + ASSERT (errno == ENOSYS); /* seen on native Windows */ + else + { + errno = 0; + ASSERT (func (dfd, BASE "fifo", 0600) == -1); + ASSERT (errno == EEXIST); + ASSERT (chdir ("..") == 0); + errno = 0; + ASSERT (fstatat (AT_FDCWD, BASE "fifo", &st, 0) == -1); + ASSERT (errno == ENOENT); + memset (&st, 0, sizeof st); + ASSERT (fstatat (dfd, BASE "fifo", &st, 0) == 0); + ASSERT (S_ISFIFO (st.st_mode)); + ASSERT (unlinkat (dfd, BASE "fifo", 0) == 0); + } /* Create fifo while cwd is '..', then stat it from '.'. */ - ASSERT (func (dfd, BASE "fifo", 0600) == 0); - ASSERT (fchdir (dfd) == 0); - errno = 0; - ASSERT (func (AT_FDCWD, BASE "fifo", 0600) == -1); - ASSERT (errno == EEXIST); - memset (&st, 0, sizeof st); - ASSERT (fstatat (AT_FDCWD, BASE "fifo", &st, AT_SYMLINK_NOFOLLOW) == 0); - ASSERT (S_ISFIFO (st.st_mode)); - memset (&st, 0, sizeof st); - ASSERT (fstatat (dfd, BASE "fifo", &st, AT_SYMLINK_NOFOLLOW) == 0); - ASSERT (S_ISFIFO (st.st_mode)); - ASSERT (unlink (BASE "fifo") == 0); + if (func (dfd, BASE "fifo", 0600) != 0) + ASSERT (errno == ENOSYS); /* seen on native Windows */ + else + { + ASSERT (fchdir (dfd) == 0); + errno = 0; + ASSERT (func (AT_FDCWD, BASE "fifo", 0600) == -1); + ASSERT (errno == EEXIST); + memset (&st, 0, sizeof st); + ASSERT (fstatat (AT_FDCWD, BASE "fifo", &st, AT_SYMLINK_NOFOLLOW) + == 0); + ASSERT (S_ISFIFO (st.st_mode)); + memset (&st, 0, sizeof st); + ASSERT (fstatat (dfd, BASE "fifo", &st, AT_SYMLINK_NOFOLLOW) == 0); + ASSERT (S_ISFIFO (st.st_mode)); + ASSERT (unlink (BASE "fifo") == 0); + } } ASSERT (close (dfd) == 0); diff --git a/tests/test-modf.c b/tests/test-modf.c index c1b3cc1dd..c84566282 100644 --- a/tests/test-modf.c +++ b/tests/test-modf.c @@ -41,7 +41,7 @@ main () /* A particular negative value. */ x = -5.972406760; y = modf (x, &z); - ASSERT (y >= -0.972406761 && y <= 0.972406759); + ASSERT (y >= -0.972406761 && y <= -0.972406759); ASSERT (z == -5.0); return 0; diff --git a/tests/test-modff.c b/tests/test-modff.c new file mode 100644 index 000000000..98fa9f2dc --- /dev/null +++ b/tests/test-modff.c @@ -0,0 +1,48 @@ +/* Test of modff() function. + Copyright (C) 2010-2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2010-2011. */ + +#include + +#include + +#include "signature.h" +SIGNATURE_CHECK (modff, float, (float, float *)); + +#include "macros.h" + +volatile float x; +float y; +float z; + +int +main () +{ + /* A particular positive value. */ + x = 5.972407f; + y = modff (x, &z); + ASSERT (y >= 0.972406f && y <= 0.972408f); + ASSERT (z == 5.0f); + + /* A particular negative value. */ + x = -5.972407f; + y = modff (x, &z); + ASSERT (y >= -0.972408f && y <= -0.972406f); + ASSERT (z == -5.0f); + + return 0; +} diff --git a/tests/test-nonblocking-pipe.h b/tests/test-nonblocking-pipe.h index c4e65616a..a7be0639e 100644 --- a/tests/test-nonblocking-pipe.h +++ b/tests/test-nonblocking-pipe.h @@ -21,6 +21,8 @@ Platform PIPE_DATA_BLOCK_SIZE Linux >= 63489 + Linux/SPARC >= 126977 + Linux/IA-64, Linux/MIPS >= 253953 FreeBSD, OpenBSD, MacOS X >= 65537 AIX >= 32769 HP-UX >= 8193 @@ -31,8 +33,10 @@ Cygwin >= 65537 native Win32 >= 4097 (depends on the _pipe argument) */ -#if defined __osf__ +#if defined __osf__ || (defined __linux__ && (defined __ia64__ || defined __mips__)) # define PIPE_DATA_BLOCK_SIZE 270000 +#elif defined __linux__ && defined __sparc__ +# define PIPE_DATA_BLOCK_SIZE 140000 #else # define PIPE_DATA_BLOCK_SIZE 70000 #endif diff --git a/tests/test-nonblocking-socket.h b/tests/test-nonblocking-socket.h index 5f2268d9c..944ecb16b 100644 --- a/tests/test-nonblocking-socket.h +++ b/tests/test-nonblocking-socket.h @@ -38,7 +38,11 @@ Cygwin 1.7.x >= 163838 (depends on circumstances) native Win32 >= 66294401 */ -#define SOCKET_DATA_BLOCK_SIZE 1000000 +#if defined __OpenBSD__ +# define SOCKET_DATA_BLOCK_SIZE 100000 +#else +# define SOCKET_DATA_BLOCK_SIZE 1000000 +#endif /* On Linux, MacOS X, Cygwin 1.5.x, native Win32, sockets have very large buffers in the kernel, so that write() calls diff --git a/tests/test-openat.c b/tests/test-openat.c index 6e6ba5b9b..f36145a3a 100644 --- a/tests/test-openat.c +++ b/tests/test-openat.c @@ -65,6 +65,18 @@ main (int argc _GL_UNUSED, char *argv[]) set_program_name (argv[0]); + /* Test behaviour for invalid file descriptors. */ + { + errno = 0; + ASSERT (openat (-1, "foo", O_RDONLY) == -1); + ASSERT (errno == EBADF); + } + { + errno = 0; + ASSERT (openat (99, "foo", O_RDONLY) == -1); + ASSERT (errno == EBADF); + } + /* Basic checks. */ result = test_open (do_open, false); dfd = open (".", O_RDONLY); diff --git a/tests/test-parse-datetime.c b/tests/test-parse-datetime.c index 45dbae676..22fe9bc11 100644 --- a/tests/test-parse-datetime.c +++ b/tests/test-parse-datetime.c @@ -36,7 +36,7 @@ #define LOG(str, now, res) (void) 0 #endif -static const char* const day_table[] = +static const char *const day_table[] = { "SUNDAY", "MONDAY", @@ -48,17 +48,169 @@ static const char* const day_table[] = NULL }; + +#if ! HAVE_TM_GMTOFF +/* Shift A right by B bits portably, by dividing A by 2**B and + truncating towards minus infinity. A and B should be free of side + effects, and B should be in the range 0 <= B <= INT_BITS - 2, where + INT_BITS is the number of useful bits in an int. GNU code can + assume that INT_BITS is at least 32. + + ISO C99 says that A >> B is implementation-defined if A < 0. Some + implementations (e.g., UNICOS 9.0 on a Cray Y-MP EL) don't shift + right in the usual way when A < 0, so SHR falls back on division if + ordinary A >> B doesn't seem to be the usual signed shift. */ +#define SHR(a, b) \ + (-1 >> 1 == -1 \ + ? (a) >> (b) \ + : (a) / (1 << (b)) - ((a) % (1 << (b)) < 0)) + +#define TM_YEAR_BASE 1900 + +/* Yield the difference between *A and *B, + measured in seconds, ignoring leap seconds. + The body of this function is taken directly from the GNU C Library; + see src/strftime.c. */ +static long int +tm_diff (struct tm const *a, struct tm const *b) +{ + /* Compute intervening leap days correctly even if year is negative. + Take care to avoid int overflow in leap day calculations. */ + int a4 = SHR (a->tm_year, 2) + SHR (TM_YEAR_BASE, 2) - ! (a->tm_year & 3); + int b4 = SHR (b->tm_year, 2) + SHR (TM_YEAR_BASE, 2) - ! (b->tm_year & 3); + int a100 = a4 / 25 - (a4 % 25 < 0); + int b100 = b4 / 25 - (b4 % 25 < 0); + int a400 = SHR (a100, 2); + int b400 = SHR (b100, 2); + int intervening_leap_days = (a4 - b4) - (a100 - b100) + (a400 - b400); + long int ayear = a->tm_year; + long int years = ayear - b->tm_year; + long int days = (365 * years + intervening_leap_days + + (a->tm_yday - b->tm_yday)); + return (60 * (60 * (24 * days + (a->tm_hour - b->tm_hour)) + + (a->tm_min - b->tm_min)) + + (a->tm_sec - b->tm_sec)); +} +#endif /* ! HAVE_TM_GMTOFF */ + +static long +gmt_offset (time_t s) +{ + long gmtoff; + +#if !HAVE_TM_GMTOFF + struct tm tm_local = *localtime (&s); + struct tm tm_gmt = *gmtime (&s); + + gmtoff = tm_diff (&tm_local, &tm_gmt); +#else + gmtoff = localtime (&s)->tm_gmtoff; +#endif + + return gmtoff; +} + int main (int argc _GL_UNUSED, char **argv) { struct timespec result; struct timespec result2; + struct timespec expected; struct timespec now; const char *p; int i; + long gmtoff; + time_t ref_time = 1304250918; set_program_name (argv[0]); + gmtoff = gmt_offset (ref_time); + + + /* ISO 8601 extended date and time of day representation, + 'T' separator, local time zone */ + p = "2011-05-01T11:55:18"; + expected.tv_sec = ref_time - gmtoff; + expected.tv_nsec = 0; + ASSERT (parse_datetime (&result, p, 0)); + LOG (p, expected, result); + ASSERT (expected.tv_sec == result.tv_sec + && expected.tv_nsec == result.tv_nsec); + + /* ISO 8601 extended date and time of day representation, + ' ' separator, local time zone */ + p = "2011-05-01 11:55:18"; + expected.tv_sec = ref_time - gmtoff; + expected.tv_nsec = 0; + ASSERT (parse_datetime (&result, p, 0)); + LOG (p, expected, result); + ASSERT (expected.tv_sec == result.tv_sec + && expected.tv_nsec == result.tv_nsec); + + + /* ISO 8601, extended date and time of day representation, + 'T' separator, UTC */ + p = "2011-05-01T11:55:18Z"; + expected.tv_sec = ref_time; + expected.tv_nsec = 0; + ASSERT (parse_datetime (&result, p, 0)); + LOG (p, expected, result); + ASSERT (expected.tv_sec == result.tv_sec + && expected.tv_nsec == result.tv_nsec); + + /* ISO 8601, extended date and time of day representation, + ' ' separator, UTC */ + p = "2011-05-01 11:55:18Z"; + expected.tv_sec = ref_time; + expected.tv_nsec = 0; + ASSERT (parse_datetime (&result, p, 0)); + LOG (p, expected, result); + ASSERT (expected.tv_sec == result.tv_sec + && expected.tv_nsec == result.tv_nsec); + + + /* ISO 8601 extended date and time of day representation, + 'T' separator, w/UTC offset */ + p = "2011-05-01T11:55:18-07:00"; + expected.tv_sec = 1304276118; + expected.tv_nsec = 0; + ASSERT (parse_datetime (&result, p, 0)); + LOG (p, expected, result); + ASSERT (expected.tv_sec == result.tv_sec + && expected.tv_nsec == result.tv_nsec); + + /* ISO 8601 extended date and time of day representation, + ' ' separator, w/UTC offset */ + p = "2011-05-01 11:55:18-07:00"; + expected.tv_sec = 1304276118; + expected.tv_nsec = 0; + ASSERT (parse_datetime (&result, p, 0)); + LOG (p, expected, result); + ASSERT (expected.tv_sec == result.tv_sec + && expected.tv_nsec == result.tv_nsec); + + + /* ISO 8601 extended date and time of day representation, + 'T' separator, w/hour only UTC offset */ + p = "2011-05-01T11:55:18-07"; + expected.tv_sec = 1304276118; + expected.tv_nsec = 0; + ASSERT (parse_datetime (&result, p, 0)); + LOG (p, expected, result); + ASSERT (expected.tv_sec == result.tv_sec + && expected.tv_nsec == result.tv_nsec); + + /* ISO 8601 extended date and time of day representation, + ' ' separator, w/hour only UTC offset */ + p = "2011-05-01 11:55:18-07"; + expected.tv_sec = 1304276118; + expected.tv_nsec = 0; + ASSERT (parse_datetime (&result, p, 0)); + LOG (p, expected, result); + ASSERT (expected.tv_sec == result.tv_sec + && expected.tv_nsec == result.tv_nsec); + + now.tv_sec = 4711; now.tv_nsec = 1267; p = "now"; @@ -173,6 +325,8 @@ main (int argc _GL_UNUSED, char **argv) ASSERT (!parse_datetime (&result, p, &now)); p = "UTC+4:00 tomorrow ago"; ASSERT (!parse_datetime (&result, p, &now)); + p = "UTC+4:00 tomorrow hence"; + ASSERT (!parse_datetime (&result, p, &now)); p = "UTC+4:00 40 now ago"; ASSERT (!parse_datetime (&result, p, &now)); p = "UTC+4:00 last tomorrow"; @@ -191,6 +345,11 @@ main (int argc _GL_UNUSED, char **argv) LOG (p, now, result2); ASSERT (result.tv_sec == result2.tv_sec && result.tv_nsec == result2.tv_nsec); + p = "UTC+400 1 day hence"; + ASSERT (parse_datetime (&result2, p, &now)); + LOG (p, now, result2); + ASSERT (result.tv_sec == result2.tv_sec + && result.tv_nsec == result2.tv_nsec); now.tv_sec = 4711; now.tv_nsec = 1267; p = "UTC+400 yesterday"; diff --git a/tests/test-pipe.c b/tests/test-pipe.c index 5302c3ece..90f41f910 100644 --- a/tests/test-pipe.c +++ b/tests/test-pipe.c @@ -29,6 +29,8 @@ SIGNATURE_CHECK (pipe, int, (int[2])); /* Get declarations of the Win32 API functions. */ # define WIN32_LEAN_AND_MEAN # include +/* Get _get_osfhandle. */ +# include "msvc-nothrow.h" #endif #include "binary-io.h" diff --git a/tests/test-pipe2.c b/tests/test-pipe2.c index d83162c2f..c278f7aaf 100644 --- a/tests/test-pipe2.c +++ b/tests/test-pipe2.c @@ -29,6 +29,8 @@ SIGNATURE_CHECK (pipe2, int, (int[2], int)); /* Get declarations of the Win32 API functions. */ # define WIN32_LEAN_AND_MEAN # include +/* Get _get_osfhandle. */ +# include "msvc-nothrow.h" #endif #include "binary-io.h" diff --git a/tests/test-posix_openpt.c b/tests/test-posix_openpt.c new file mode 100644 index 000000000..8cd6a41e5 --- /dev/null +++ b/tests/test-posix_openpt.c @@ -0,0 +1,76 @@ +/* Test of posix_openpt function. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Eric Blake , 2011. */ + +#include + +#include + +#include "signature.h" +SIGNATURE_CHECK (posix_openpt, int, (int)); + +#include +#include +#include +#include + +#if defined __sun || defined __hpux /* Solaris, HP-UX */ +# include +#endif + +#include "macros.h" + +int +main (void) +{ + int master; + int slave; + char *name; + + /* Open the master of a pseudo-terminal pair. */ + master = posix_openpt (O_RDWR | O_NOCTTY); + if (master < 0 && errno == ENOSYS) + { + fputs ("skipping: platform lacks pty support\n", stderr); + return 77; + } + + ASSERT (0 <= master); + name = ptsname (master); + ASSERT (name); + ASSERT (grantpt (master) == 0); + ASSERT (unlockpt (master) == 0); + slave = open (name, O_RDWR); + ASSERT (0 <= slave); + +#if defined __sun || defined __hpux /* Solaris, HP-UX */ + ASSERT (ioctl (slave, I_PUSH, "ptem") == 0); + ASSERT (ioctl (slave, I_PUSH, "ldterm") == 0); +# if defined __sun + ASSERT (ioctl (slave, I_PUSH, "ttcompat") == 0); +# endif +#endif + + ASSERT (isatty (slave)); + + /* Close the master side before the slave side gets closed. + This is necessary on MacOS X 10.4.11. */ + ASSERT (close (master) == 0); + ASSERT (close (slave) == 0); + + return 0; +} diff --git a/tests/test-posix_spawn_file_actions_addclose.c b/tests/test-posix_spawn_file_actions_addclose.c new file mode 100644 index 000000000..d223f6e8c --- /dev/null +++ b/tests/test-posix_spawn_file_actions_addclose.c @@ -0,0 +1,47 @@ +/* Test posix_spawn_file_actions_addclose() function. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include + +#include "signature.h" +SIGNATURE_CHECK (posix_spawn_file_actions_addclose, int, + (posix_spawn_file_actions_t *, int)); + +#include + +#include "macros.h" + +int +main (void) +{ + posix_spawn_file_actions_t actions; + + ASSERT (posix_spawn_file_actions_init (&actions) == 0); + + /* Test behaviour for invalid file descriptors. */ + { + errno = 0; + ASSERT (posix_spawn_file_actions_addclose (&actions, -1) == EBADF); + } + { + errno = 0; + ASSERT (posix_spawn_file_actions_addclose (&actions, 10000000) == EBADF); + } + + return 0; +} diff --git a/tests/test-posix_spawn_file_actions_adddup2.c b/tests/test-posix_spawn_file_actions_adddup2.c new file mode 100644 index 000000000..18b7ca5c8 --- /dev/null +++ b/tests/test-posix_spawn_file_actions_adddup2.c @@ -0,0 +1,55 @@ +/* Test posix_spawn_file_actions_adddup2() function. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include + +#include "signature.h" +SIGNATURE_CHECK (posix_spawn_file_actions_adddup2, int, + (posix_spawn_file_actions_t *, int, int)); + +#include + +#include "macros.h" + +int +main (void) +{ + posix_spawn_file_actions_t actions; + + ASSERT (posix_spawn_file_actions_init (&actions) == 0); + + /* Test behaviour for invalid file descriptors. */ + { + errno = 0; + ASSERT (posix_spawn_file_actions_adddup2 (&actions, -1, 2) == EBADF); + } + { + errno = 0; + ASSERT (posix_spawn_file_actions_adddup2 (&actions, 10000000, 2) == EBADF); + } + { + errno = 0; + ASSERT (posix_spawn_file_actions_adddup2 (&actions, 2, -1) == EBADF); + } + { + errno = 0; + ASSERT (posix_spawn_file_actions_adddup2 (&actions, 2, 10000000) == EBADF); + } + + return 0; +} diff --git a/tests/test-posix_spawn_file_actions_addopen.c b/tests/test-posix_spawn_file_actions_addopen.c new file mode 100644 index 000000000..600772547 --- /dev/null +++ b/tests/test-posix_spawn_file_actions_addopen.c @@ -0,0 +1,53 @@ +/* Test posix_spawn_file_actions_addopen() function. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include + +#include "signature.h" +SIGNATURE_CHECK (posix_spawn_file_actions_addopen, int, + (posix_spawn_file_actions_t *, int, + const char *, int, mode_t)); + +#include +#include + +#include "macros.h" + +int +main (void) +{ + posix_spawn_file_actions_t actions; + + ASSERT (posix_spawn_file_actions_init (&actions) == 0); + + /* Test behaviour for invalid file descriptors. */ + { + errno = 0; + ASSERT (posix_spawn_file_actions_addopen (&actions, -1, + "foo", 0, O_RDONLY) + == EBADF); + } + { + errno = 0; + ASSERT (posix_spawn_file_actions_addopen (&actions, 10000000, + "foo", 0, O_RDONLY) + == EBADF); + } + + return 0; +} diff --git a/tests/test-pow.c b/tests/test-pow.c index 629b90874..539feff24 100644 --- a/tests/test-pow.c +++ b/tests/test-pow.c @@ -33,7 +33,9 @@ int main () { /* A particular value. */ - z = pow (243.0, 1.2); + x = 243.0; + y = 1.2; + z = pow (x, y); ASSERT (z >= 728.9999999 && z <= 729.0000001); return 0; diff --git a/tests/test-powf.c b/tests/test-powf.c new file mode 100644 index 000000000..1f707738e --- /dev/null +++ b/tests/test-powf.c @@ -0,0 +1,42 @@ +/* Test of powf() function. + Copyright (C) 2010-2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2010-2011. */ + +#include + +#include + +#include "signature.h" +SIGNATURE_CHECK (powf, float, (float, float)); + +#include "macros.h" + +volatile float x; +volatile float y; +float z; + +int +main () +{ + /* A particular value. */ + x = 243.0f; + y = 1.2f; + z = powf (x, y); + ASSERT (z >= 728.999f && z <= 729.001f); + + return 0; +} diff --git a/tests/test-pread.c b/tests/test-pread.c index 3e3564084..5515f59b1 100644 --- a/tests/test-pread.c +++ b/tests/test-pread.c @@ -83,5 +83,19 @@ main (void) ASSERT (errno == ESPIPE); } + /* Test behaviour for invalid file descriptors. */ + { + char byte; + errno = 0; + ASSERT (pread (-1, &byte, 1, 0) == -1); + ASSERT (errno == EBADF); + } + { + char byte; + errno = 0; + ASSERT (pread (99, &byte, 1, 0) == -1); + ASSERT (errno == EBADF); + } + return 0; } diff --git a/tests/test-printf-posix.c b/tests/test-printf-posix.c index 9337854b4..0bc3def4b 100644 --- a/tests/test-printf-posix.c +++ b/tests/test-printf-posix.c @@ -39,7 +39,7 @@ main (int argc, char *argv[]) } /* Test whether __attribute__ (__format__ (...)) still works. */ -#if (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)) && !__STRICT_ANSI__ +#if (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)) && !defined __STRICT_ANSI__ extern int func1 (char *, size_t, const char *, ...) __attribute__ ((__format__ (__printf__, 3, 4))); extern int func2 (char *, size_t, const char *, ...) diff --git a/tests/test-printf-posix.h b/tests/test-printf-posix.h index 73365a5b9..3d2921211 100644 --- a/tests/test-printf-posix.h +++ b/tests/test-printf-posix.h @@ -16,6 +16,8 @@ /* Written by Bruno Haible , 2007. */ +#include "infinity.h" + static void test_function (int (*my_printf) (const char *, ...)) { @@ -37,15 +39,15 @@ test_function (int (*my_printf) (const char *, ...)) my_printf ("%a %d\n", 0.0, 33, 44, 55); /* Positive infinity. */ - my_printf ("%a %d\n", 1.0 / 0.0, 33, 44, 55); + my_printf ("%a %d\n", Infinityd (), 33, 44, 55); /* Negative infinity. */ - my_printf ("%a %d\n", -1.0 / 0.0, 33, 44, 55); + my_printf ("%a %d\n", - Infinityd (), 33, 44, 55); /* FLAG_ZERO with infinite number. */ /* "0000000inf 33" is not a valid result; see */ - my_printf ("%010a %d\n", 1.0 / 0.0, 33, 44, 55); + my_printf ("%010a %d\n", Infinityd (), 33, 44, 55); /* Test the support of the %f format directive. */ diff --git a/tests/test-ptsname.c b/tests/test-ptsname.c index ccf2ab1b5..921367cc1 100644 --- a/tests/test-ptsname.c +++ b/tests/test-ptsname.c @@ -22,6 +22,7 @@ SIGNATURE_CHECK (ptsname, char *, (int)); #include +#include #include #include #include @@ -54,6 +55,13 @@ same_slave (const char *slave_name1, const char *slave_name2) int main (void) { +#if HAVE_DECL_ALARM + /* Declare failure if test takes too long, by using default abort + caused by SIGALRM. */ + signal (SIGALRM, SIG_DFL); + alarm (5); +#endif + { int fd; char *result; diff --git a/tests/test-ptsname_r.c b/tests/test-ptsname_r.c new file mode 100644 index 000000000..76521fe7f --- /dev/null +++ b/tests/test-ptsname_r.c @@ -0,0 +1,240 @@ +/* Test of ptsname_r(3). + Copyright (C) 2010-2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include + +#include "signature.h" +SIGNATURE_CHECK (ptsname_r, int, (int, char *, size_t)); + +#include +#include +#include +#include +#include +#include +#include + +#include "same-inode.h" + +#include "macros.h" + +/* Compare two slave names. + On some systems, there are hard links in the /dev/ directory. + For example, on OSF/1 5.1, + /dev/ttyp0 == /dev/pts/0 + /dev/ttyp9 == /dev/pts/9 + /dev/ttypa == /dev/pts/10 + /dev/ttype == /dev/pts/14 + */ +static int +same_slave (const char *slave_name1, const char *slave_name2) +{ + struct stat statbuf1; + struct stat statbuf2; + + return (strcmp (slave_name1, slave_name2) == 0 + || (stat (slave_name1, &statbuf1) >= 0 + && stat (slave_name2, &statbuf2) >= 0 + && SAME_INODE (statbuf1, statbuf2))); +} + +static char * +null_ptr (void) +{ + return NULL; +} + +static void +test_errors (int fd, const char *slave) +{ + char buffer[256]; + size_t len; + size_t buflen_max; + size_t buflen; + int result; + + len = strlen (slave); + buflen_max = len + 5; + if (buflen_max > sizeof buffer) + buflen_max = sizeof buffer; + for (buflen = 0; buflen <= buflen_max; buflen++) + { + memset (buffer, 'X', sizeof buffer); + errno = 0; + result = ptsname_r (fd, buffer, buflen); + if (buflen > len) + { + ASSERT (result == 0); + ASSERT (buffer[0] == '/'); + } + else + { + ASSERT (result != 0); + ASSERT (result == errno); + ASSERT (errno == ERANGE); + ASSERT (buffer[0] == 'X'); + } + } + + errno = 0; + result = ptsname_r (fd, null_ptr (), 0); + ASSERT (result != 0); + ASSERT (result == errno); + ASSERT (errno == EINVAL); +} + +int +main (void) +{ +#if HAVE_DECL_ALARM + /* Declare failure if test takes too long, by using default abort + caused by SIGALRM. */ + signal (SIGALRM, SIG_DFL); + alarm (5); +#endif + + { + char buffer[256]; + int result; + + errno = 0; + result = ptsname_r (-1, buffer, sizeof buffer); + ASSERT (result != 0); + ASSERT (result == errno); + ASSERT (errno == EBADF || errno == ENOTTY); + } + + { + int fd; + char buffer[256]; + int result; + + /* Open the controlling tty of the current process. */ + fd = open ("/dev/tty", O_RDONLY); + if (fd < 0) + { + fprintf (stderr, "Skipping test: cannot open controlling tty\n"); + return 77; + } + + result = ptsname_r (fd, buffer, sizeof buffer); + /* The result is usually NULL, because /dev/tty is a slave, not a + master. */ + if (result == 0) + { + ASSERT (memcmp (buffer, "/dev/", 5) == 0); + } + + close (fd); + } + +#if defined __sun + /* Solaris has BSD-style /dev/pty[p-r][0-9a-f] files, but the function + ptsname() does not work on them. */ + { + int fd; + char buffer[256]; + int result; + + /* Open the controlling tty of the current process. */ + fd = open ("/dev/ptmx", O_RDWR | O_NOCTTY); + if (fd < 0) + { + fprintf (stderr, "Skipping test: cannot open pseudo-terminal\n"); + return 77; + } + + result = ptsname_r (fd, buffer, sizeof buffer); + ASSERT (result == 0); + ASSERT (memcmp (buffer, "/dev/pts/", 9) == 0); + + test_errors (fd, buffer); + + close (fd); + } + +#else + + /* Try various master names of MacOS X: /dev/pty[p-w][0-9a-f] */ + { + int char1; + int char2; + + for (char1 = 'p'; char1 <= 'w'; char1++) + for (char2 = '0'; char2 <= 'f'; (char2 == '9' ? char2 = 'a' : char2++)) + { + char master_name[32]; + int fd; + + sprintf (master_name, "/dev/pty%c%c", char1, char2); + fd = open (master_name, O_RDONLY); + if (fd >= 0) + { + char buffer[256]; + int result; + char slave_name[32]; + + result = ptsname_r (fd, buffer, sizeof buffer); + ASSERT (result == 0); + sprintf (slave_name, "/dev/tty%c%c", char1, char2); + ASSERT (same_slave (buffer, slave_name)); + + test_errors (fd, buffer); + + close (fd); + } + } + } + + /* Try various master names of *BSD: /dev/pty[p-sP-S][0-9a-v] */ + { + int upper; + int char1; + int char2; + + for (upper = 0; upper <= 1; upper++) + for (char1 = (upper ? 'P' : 'p'); char1 <= (upper ? 'S' : 's'); char1++) + for (char2 = '0'; char2 <= 'v'; (char2 == '9' ? char2 = 'a' : char2++)) + { + char master_name[32]; + int fd; + + sprintf (master_name, "/dev/pty%c%c", char1, char2); + fd = open (master_name, O_RDONLY); + if (fd >= 0) + { + char buffer[256]; + int result; + char slave_name[32]; + + result = ptsname_r (fd, buffer, sizeof buffer); + ASSERT (result == 0); + sprintf (slave_name, "/dev/tty%c%c", char1, char2); + ASSERT (same_slave (buffer, slave_name)); + + test_errors (fd, buffer); + + close (fd); + } + } + } + +#endif + + return 0; +} diff --git a/tests/test-pwrite.c b/tests/test-pwrite.c index 0139391dc..5875b5a68 100644 --- a/tests/test-pwrite.c +++ b/tests/test-pwrite.c @@ -76,5 +76,20 @@ main (void) ASSERT (close (fd) == 0); ASSERT (strcmp ("W1W3W5W7W9",buf) == 0); } + + /* Test behaviour for invalid file descriptors. */ + { + char byte = 'x'; + errno = 0; + ASSERT (pwrite (-1, &byte, 1, 0) == -1); + ASSERT (errno == EBADF); + } + { + char byte = 'x'; + errno = 0; + ASSERT (pwrite (99, &byte, 1, 0) == -1); + ASSERT (errno == EBADF); + } + return 0; } diff --git a/tests/test-raise.c b/tests/test-raise.c new file mode 100644 index 000000000..79a1af0c5 --- /dev/null +++ b/tests/test-raise.c @@ -0,0 +1,51 @@ +/* Test raising a signal. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include + +#include "signature.h" +SIGNATURE_CHECK (raise, int, (int)); + +#include + +#include "macros.h" + +/* It is safe to use _Noreturn here: exit() never returns, and GCC knows that + exit() is a non-returning function, even on platforms where its declaration + in does not have the 'noreturn' attribute. */ +static _Noreturn void +handler (int sig) +{ + exit (0); +} + +int +main (void) +{ + /* Test behaviour for invalid argument. */ + ASSERT (raise (-1) != 0); + ASSERT (raise (199) != 0); + + /* Test behaviour for SIGINT. */ + ASSERT (signal (SIGINT, handler) != SIG_ERR); + + raise (SIGINT); + + /* We should not get here, because the handler takes away the control. */ + exit (1); +} diff --git a/tests/test-read.c b/tests/test-read.c new file mode 100644 index 000000000..58f8eebcf --- /dev/null +++ b/tests/test-read.c @@ -0,0 +1,72 @@ +/* Test the read() function. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include + +#include "signature.h" +SIGNATURE_CHECK (read, ssize_t, (int, void *, size_t)); + +#include +#include +#include + +#include "macros.h" + +int +main (void) +{ + const char *filename = "test-read.tmp"; + int fd; + + /* Create a file with a simple contents. */ + fd = open (filename, O_CREAT | O_WRONLY, 0600); + ASSERT (fd >= 0); + ASSERT (write (fd, "Hello World", 11) == 11); + ASSERT (close (fd) == 0); + + /* Read from the middle of the file. */ + fd = open (filename, O_RDONLY); + ASSERT (fd >= 0); + ASSERT (lseek (fd, 6, SEEK_SET) == 6); + { + char buf[10]; + ssize_t ret = read (fd, buf, 10); + ASSERT (ret == 5); + ASSERT (memcmp (buf, "World", 5) == 0); + } + ASSERT (close (fd) == 0); + + /* Test behaviour for invalid file descriptors. */ + { + char byte; + errno = 0; + ASSERT (read (-1, &byte, 1) == -1); + ASSERT (errno == EBADF); + } + { + char byte; + errno = 0; + ASSERT (read (99, &byte, 1) == -1); + ASSERT (errno == EBADF); + } + + /* Clean up. */ + unlink (filename); + + return 0; +} diff --git a/tests/test-readlinkat.c b/tests/test-readlinkat.c index 1d588ac39..5685934a2 100644 --- a/tests/test-readlinkat.c +++ b/tests/test-readlinkat.c @@ -59,6 +59,18 @@ main (void) /* Remove any leftovers from a previous partial run. */ ignore_value (system ("rm -rf " BASE "*")); + /* Test behaviour for invalid file descriptors. */ + { + errno = 0; + ASSERT (readlinkat (-1, "foo", buf, sizeof buf) == -1); + ASSERT (errno == EBADF); + } + { + errno = 0; + ASSERT (readlinkat (99, "foo", buf, sizeof buf) == -1); + ASSERT (errno == EBADF); + } + /* Perform same checks as counterpart functions. */ result = test_readlink (do_readlink, false); dfd = openat (AT_FDCWD, ".", O_RDONLY); diff --git a/tests/test-recv.c b/tests/test-recv.c new file mode 100644 index 000000000..ae811b665 --- /dev/null +++ b/tests/test-recv.c @@ -0,0 +1,49 @@ +/* Test the recv() function. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include + +#include "signature.h" +SIGNATURE_CHECK (recv, ssize_t, (int, void *, size_t, int)); + +#include + +#include "sockets.h" +#include "macros.h" + +int +main (void) +{ + gl_sockets_startup (SOCKETS_1_1); + + /* Test behaviour for invalid file descriptors. */ + { + char byte; + errno = 0; + ASSERT (recv (-1, &byte, 1, 0) == -1); + ASSERT (errno == EBADF); + } + { + char byte; + errno = 0; + ASSERT (recv (99, &byte, 1, 0) == -1); + ASSERT (errno == EBADF); + } + + return 0; +} diff --git a/tests/test-recvfrom.c b/tests/test-recvfrom.c new file mode 100644 index 000000000..069b9cf0d --- /dev/null +++ b/tests/test-recvfrom.c @@ -0,0 +1,60 @@ +/* Test the recvfrom() function. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include + +#include "signature.h" +SIGNATURE_CHECK (recvfrom, ssize_t, + (int, void *, size_t, int, + struct sockaddr *, socklen_t *)); + +#include +#include + +#include "sockets.h" +#include "macros.h" + +int +main (void) +{ + gl_sockets_startup (SOCKETS_1_1); + + /* Test behaviour for invalid file descriptors. */ + { + char byte; + struct sockaddr_in addr; + socklen_t addrlen = sizeof (addr); + + errno = 0; + ASSERT (recvfrom (-1, &byte, 1, 0, (struct sockaddr *) &addr, &addrlen) + == -1); + ASSERT (errno == EBADF); + } + { + char byte; + struct sockaddr_in addr; + socklen_t addrlen = sizeof (addr); + + errno = 0; + ASSERT (recvfrom (99, &byte, 1, 0, (struct sockaddr *) &addr, &addrlen) + == -1); + ASSERT (errno == EBADF); + } + + return 0; +} diff --git a/tests/test-rename.h b/tests/test-rename.h index 64bab0964..8825f73c2 100644 --- a/tests/test-rename.h +++ b/tests/test-rename.h @@ -339,7 +339,7 @@ test_rename (int (*func) (char const *, char const *), bool print) errno = 0; ASSERT (func (BASE "dir2", BASE "dir/.") == -1); ASSERT (errno == EINVAL || errno == EBUSY || errno == EISDIR - || errno == ENOTEMPTY); + || errno == ENOTEMPTY || errno == EEXIST); } { errno = 0; @@ -366,7 +366,7 @@ test_rename (int (*func) (char const *, char const *), bool print) errno = 0; ASSERT (func (BASE "dir2", BASE "dir/.//") == -1); ASSERT (errno == EINVAL || errno == EBUSY || errno == EISDIR - || errno == ENOTEMPTY); + || errno == ENOTEMPTY || errno == EEXIST); } { errno = 0; diff --git a/tests/test-renameat.c b/tests/test-renameat.c index 96fe3a755..9b67da0a0 100644 --- a/tests/test-renameat.c +++ b/tests/test-renameat.c @@ -61,6 +61,30 @@ main (void) /* Clean up any trash from prior testsuite runs. */ ignore_value (system ("rm -rf " BASE "*")); + /* Test behaviour for invalid file descriptors. */ + { + errno = 0; + ASSERT (renameat (-1, "foo", AT_FDCWD, "bar") == -1); + ASSERT (errno == EBADF); + } + { + errno = 0; + ASSERT (renameat (99, "foo", AT_FDCWD, "bar") == -1); + ASSERT (errno == EBADF); + } + ASSERT (close (creat (BASE "oo", 0600)) == 0); + { + errno = 0; + ASSERT (renameat (AT_FDCWD, BASE "oo", -1, "bar") == -1); + ASSERT (errno == EBADF); + } + { + errno = 0; + ASSERT (renameat (AT_FDCWD, BASE "oo", 99, "bar") == -1); + ASSERT (errno == EBADF); + } + ASSERT (unlink (BASE "oo") == 0); + /* Test basic rename functionality, using current directory. */ result = test_rename (do_rename, false); dfd1 = open (".", O_RDONLY); @@ -130,7 +154,7 @@ main (void) errno = 0; ASSERT (renameat (dfd, BASE "sub2", dfd, BASE "sub1/.") == -1); ASSERT (errno == EINVAL || errno == EISDIR || errno == EBUSY - || errno == ENOTEMPTY); + || errno == ENOTEMPTY || errno == EEXIST); errno = 0; ASSERT (renameat (dfd, BASE "sub2/.", dfd, BASE "sub1") == -1); ASSERT (errno == EINVAL || errno == EBUSY || errno == EEXIST); diff --git a/tests/test-rint.c b/tests/test-rint.c index 3390f4001..0a8a0107d 100644 --- a/tests/test-rint.c +++ b/tests/test-rint.c @@ -23,39 +23,69 @@ #include "signature.h" SIGNATURE_CHECK (rint, double, (double)); -#include "macros.h" +#include +#include -volatile double x; -double y; +#include "isnand-nolibm.h" +#include "minus-zero.h" +#include "infinity.h" +#include "nan.h" +#include "macros.h" int main () { - /* Assume round-to-nearest rounding (the default in IEEE 754). */ - - x = 2.1; - y = rint (x); - ASSERT (y == 2.0); - - x = -2.1; - y = rint (x); - ASSERT (y == -2.0); - - x = 2.7; - y = rint (x); - ASSERT (y == 3.0); - - x = -2.7; - y = rint (x); - ASSERT (y == -3.0); - - x = 2.5; - y = rint (x); - ASSERT (y == 2.0); - - x = 3.5; - y = rint (x); - ASSERT (y == 4.0); - - return 0; + /* Consider the current rounding mode, cf. + */ + if (FLT_ROUNDS == 1) + { + /* The current rounding mode is round-to-nearest + (the default in IEEE 754). */ + + /* Zero. */ + ASSERT (rint (0.0) == 0.0); + ASSERT (rint (minus_zerod) == 0.0); + /* Positive numbers. */ + ASSERT (rint (0.3) == 0.0); + ASSERT (rint (0.5) == 0.0); /* unlike round() */ + ASSERT (rint (0.7) == 1.0); + ASSERT (rint (1.0) == 1.0); + ASSERT (rint (1.5) == 2.0); + ASSERT (rint (1.999) == 2.0); + ASSERT (rint (2.0) == 2.0); + ASSERT (rint (2.1) == 2.0); + ASSERT (rint (2.5) == 2.0); /* unlike round() */ + ASSERT (rint (2.7) == 3.0); + ASSERT (rint (65535.999) == 65536.0); + ASSERT (rint (65536.0) == 65536.0); + ASSERT (rint (65536.001) == 65536.0); + ASSERT (rint (2.341e31) == 2.341e31); + /* Negative numbers. */ + ASSERT (rint (-0.3) == 0.0); + ASSERT (rint (-0.5) == 0.0); /* unlike round() */ + ASSERT (rint (-0.7) == -1.0); + ASSERT (rint (-1.0) == -1.0); + ASSERT (rint (-1.5) == -2.0); + ASSERT (rint (-1.999) == -2.0); + ASSERT (rint (-2.0) == -2.0); + ASSERT (rint (-2.1) == -2.0); + ASSERT (rint (-2.5) == -2.0); /* unlike round() */ + ASSERT (rint (-2.7) == -3.0); + ASSERT (rint (-65535.999) == -65536.0); + ASSERT (rint (-65536.0) == -65536.0); + ASSERT (rint (-65536.001) == -65536.0); + ASSERT (rint (-2.341e31) == -2.341e31); + /* Infinite numbers. */ + ASSERT (rint (Infinityd ()) == Infinityd ()); + ASSERT (rint (- Infinityd ()) == - Infinityd ()); + /* NaNs. */ + ASSERT (isnand (rint (NaNd ()))); + + return 0; + } + else + { + fputs ("Skipping test: non-standard rounding mode\n", stderr); + return 77; + } } diff --git a/tests/test-rintf.c b/tests/test-rintf.c new file mode 100644 index 000000000..29d77ef3c --- /dev/null +++ b/tests/test-rintf.c @@ -0,0 +1,91 @@ +/* Test of rintf() function. + Copyright (C) 2010-2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2010. */ + +#include + +#include + +#include "signature.h" +SIGNATURE_CHECK (rintf, float, (float)); + +#include +#include + +#include "isnanf-nolibm.h" +#include "minus-zero.h" +#include "infinity.h" +#include "nan.h" +#include "macros.h" + +int +main () +{ + /* Consider the current rounding mode, cf. + */ + if (FLT_ROUNDS == 1) + { + /* The current rounding mode is round-to-nearest + (the default in IEEE 754). */ + + /* Zero. */ + ASSERT (rintf (0.0f) == 0.0f); + ASSERT (rintf (minus_zerof) == 0.0f); + /* Positive numbers. */ + ASSERT (rintf (0.3f) == 0.0f); + ASSERT (rintf (0.5f) == 0.0f); /* unlike roundf() */ + ASSERT (rintf (0.7f) == 1.0f); + ASSERT (rintf (1.0f) == 1.0f); + ASSERT (rintf (1.5f) == 2.0f); + ASSERT (rintf (1.999f) == 2.0f); + ASSERT (rintf (2.0f) == 2.0f); + ASSERT (rintf (2.1f) == 2.0f); + ASSERT (rintf (2.5f) == 2.0f); /* unlike roundf() */ + ASSERT (rintf (2.7f) == 3.0f); + ASSERT (rintf (65535.99f) == 65536.0f); + ASSERT (rintf (65536.0f) == 65536.0f); + ASSERT (rintf (65536.01f) == 65536.0f); + ASSERT (rintf (2.341e31f) == 2.341e31f); + /* Negative numbers. */ + ASSERT (rintf (-0.3f) == 0.0f); + ASSERT (rintf (-0.5f) == 0.0f); /* unlike roundf() */ + ASSERT (rintf (-0.7f) == -1.0f); + ASSERT (rintf (-1.0f) == -1.0f); + ASSERT (rintf (-1.5f) == -2.0f); + ASSERT (rintf (-1.999f) == -2.0f); + ASSERT (rintf (-2.0f) == -2.0f); + ASSERT (rintf (-2.1f) == -2.0f); + ASSERT (rintf (-2.5f) == -2.0f); /* unlike roundf() */ + ASSERT (rintf (-2.7f) == -3.0f); + ASSERT (rintf (-65535.99f) == -65536.0f); + ASSERT (rintf (-65536.0f) == -65536.0f); + ASSERT (rintf (-65536.01f) == -65536.0f); + ASSERT (rintf (-2.341e31f) == -2.341e31f); + /* Infinite numbers. */ + ASSERT (rintf (Infinityf ()) == Infinityf ()); + ASSERT (rintf (- Infinityf ()) == - Infinityf ()); + /* NaNs. */ + ASSERT (isnanf (rintf (NaNf ()))); + + return 0; + } + else + { + fputs ("Skipping test: non-standard rounding mode\n", stderr); + return 77; + } +} diff --git a/tests/test-rintl.c b/tests/test-rintl.c new file mode 100644 index 000000000..13c51199b --- /dev/null +++ b/tests/test-rintl.c @@ -0,0 +1,96 @@ +/* Test of rintl() function. + Copyright (C) 2010-2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2010. */ + +#include + +#include + +#include "signature.h" +SIGNATURE_CHECK (rintl, long double, (long double)); + +#include +#include + +#include "fpucw.h" +#include "isnanl-nolibm.h" +#include "minus-zero.h" +#include "infinity.h" +#include "nan.h" +#include "macros.h" + +int +main () +{ + DECL_LONG_DOUBLE_ROUNDING + + BEGIN_LONG_DOUBLE_ROUNDING (); + + /* Consider the current rounding mode, cf. + */ + if (FLT_ROUNDS == 1) + { + /* The current rounding mode is round-to-nearest + (the default in IEEE 754). */ + + /* Zero. */ + ASSERT (rintl (0.0L) == 0.0L); + ASSERT (rintl (minus_zerol) == 0.0L); + /* Positive numbers. */ + ASSERT (rintl (0.3L) == 0.0L); + ASSERT (rintl (0.5L) == 0.0L); /* unlike roundl() */ + ASSERT (rintl (0.7L) == 1.0L); + ASSERT (rintl (1.0L) == 1.0L); + ASSERT (rintl (1.5L) == 2.0L); + ASSERT (rintl (1.999L) == 2.0L); + ASSERT (rintl (2.0L) == 2.0L); + ASSERT (rintl (2.1L) == 2.0L); + ASSERT (rintl (2.5L) == 2.0L); /* unlike roundl() */ + ASSERT (rintl (2.7L) == 3.0L); + ASSERT (rintl (65535.999L) == 65536.0L); + ASSERT (rintl (65536.0L) == 65536.0L); + ASSERT (rintl (65536.001L) == 65536.0L); + ASSERT (rintl (2.341e31L) == 2.341e31L); + /* Negative numbers. */ + ASSERT (rintl (-0.3L) == 0.0L); + ASSERT (rintl (-0.5L) == 0.0L); /* unlike roundl() */ + ASSERT (rintl (-0.7L) == -1.0L); + ASSERT (rintl (-1.0L) == -1.0L); + ASSERT (rintl (-1.5L) == -2.0L); + ASSERT (rintl (-1.999L) == -2.0L); + ASSERT (rintl (-2.0L) == -2.0L); + ASSERT (rintl (-2.1L) == -2.0L); + ASSERT (rintl (-2.5L) == -2.0L); /* unlike roundl() */ + ASSERT (rintl (-2.7L) == -3.0L); + ASSERT (rintl (-65535.999L) == -65536.0L); + ASSERT (rintl (-65536.0L) == -65536.0L); + ASSERT (rintl (-65536.001L) == -65536.0L); + ASSERT (rintl (-2.341e31L) == -2.341e31L); + /* Infinite numbers. */ + ASSERT (rintl (Infinityl ()) == Infinityl ()); + ASSERT (rintl (- Infinityl ()) == - Infinityl ()); + /* NaNs. */ + ASSERT (isnanl (rintl (NaNl ()))); + + return 0; + } + else + { + fputs ("Skipping test: non-standard rounding mode\n", stderr); + return 77; + } +} diff --git a/tests/test-round1.c b/tests/test-round1.c index 663377359..f99ec1ddb 100644 --- a/tests/test-round1.c +++ b/tests/test-round1.c @@ -27,6 +27,7 @@ SIGNATURE_CHECK (round, double, (double)); #include "isnand-nolibm.h" #include "minus-zero.h" +#include "infinity.h" #include "nan.h" #include "macros.h" @@ -63,8 +64,8 @@ main () ASSERT (round (-65536.001) == -65536.0); ASSERT (round (-2.341e31) == -2.341e31); /* Infinite numbers. */ - ASSERT (round (1.0 / 0.0) == 1.0 / 0.0); - ASSERT (round (-1.0 / 0.0) == -1.0 / 0.0); + ASSERT (round (Infinityd ()) == Infinityd ()); + ASSERT (round (- Infinityd ()) == - Infinityd ()); /* NaNs. */ ASSERT (isnand (round (NaNd ()))); diff --git a/tests/test-roundf1.c b/tests/test-roundf1.c index 2ccbe29fa..8413e827b 100644 --- a/tests/test-roundf1.c +++ b/tests/test-roundf1.c @@ -27,6 +27,7 @@ SIGNATURE_CHECK (roundf, float, (float)); #include "isnanf-nolibm.h" #include "minus-zero.h" +#include "infinity.h" #include "nan.h" #include "macros.h" @@ -63,8 +64,8 @@ main () ASSERT (roundf (-65536.01f) == -65536.0f); ASSERT (roundf (-2.341e31f) == -2.341e31f); /* Infinite numbers. */ - ASSERT (roundf (1.0 / 0.0f) == 1.0 / 0.0f); - ASSERT (roundf (-1.0 / 0.0f) == -1.0 / 0.0f); + ASSERT (roundf (Infinityf ()) == Infinityf ()); + ASSERT (roundf (- Infinityf ()) == - Infinityf ()); /* NaNs. */ ASSERT (isnanf (roundf (NaNf ()))); diff --git a/tests/test-roundl.c b/tests/test-roundl.c index 0daace587..7af95a4a7 100644 --- a/tests/test-roundl.c +++ b/tests/test-roundl.c @@ -30,6 +30,7 @@ SIGNATURE_CHECK (roundl, long double, (long double)); #include "fpucw.h" #include "isnanl-nolibm.h" #include "minus-zero.h" +#include "infinity.h" #include "nan.h" #include "macros.h" @@ -70,8 +71,8 @@ main () ASSERT (roundl (-65536.001L) == -65536.0L); ASSERT (roundl (-2.341e31L) == -2.341e31L); /* Infinite numbers. */ - ASSERT (roundl (1.0 / 0.0L) == 1.0 / 0.0L); - ASSERT (roundl (-1.0 / 0.0L) == -1.0 / 0.0L); + ASSERT (roundl (Infinityl ()) == Infinityl ()); + ASSERT (roundl (- Infinityl ()) == - Infinityl ()); /* NaNs. */ ASSERT (isnanl (roundl (NaNl ()))); diff --git a/tests/test-sameacls.c b/tests/test-sameacls.c index 3fafa3c20..421f841c8 100644 --- a/tests/test-sameacls.c +++ b/tests/test-sameacls.c @@ -227,7 +227,11 @@ main (int argc, char *argv[]) int count2; count1 = acl (file1, GETACLCNT, 0, NULL); + if (count1 < 0 && errno == ENOSYS) /* Can happen on Solaris 10 with ZFS */ + count1 = 0; count2 = acl (file2, GETACLCNT, 0, NULL); + if (count2 < 0 && errno == ENOSYS) /* Can happen on Solaris 10 with ZFS */ + count2 = 0; if (count1 < 0) { @@ -253,13 +257,13 @@ main (int argc, char *argv[]) aclent_t *entries2 = XNMALLOC (count2, aclent_t); int i; - if (acl (file1, GETACL, count1, entries1) < count1) + if (count1 > 0 && acl (file1, GETACL, count1, entries1) < count1) { fprintf (stderr, "error retrieving the ACLs of file %s\n", file1); fflush (stderr); abort (); } - if (acl (file2, GETACL, count2, entries2) < count1) + if (count2 > 0 && acl (file2, GETACL, count2, entries2) < count1) { fprintf (stderr, "error retrieving the ACLs of file %s\n", file2); fflush (stderr); @@ -523,32 +527,44 @@ main (int argc, char *argv[]) type1.u64 = ACL_ANY; if (aclx_get (file1, 0, &type1, acl1, &aclsize1, &mode1) < 0) { - fprintf (stderr, "error accessing the ACLs of file %s\n", file1); - fflush (stderr); - abort (); - } - if (aclx_printStr (text1, &textsize1, acl1, aclsize1, type1, file1, 0) < 0) - { - fprintf (stderr, "cannot convert the ACLs of file %s to text\n", file1); - fflush (stderr); - abort (); + if (errno == ENOSYS) + text1[0] = '\0'; + else + { + fprintf (stderr, "error accessing the ACLs of file %s\n", file1); + fflush (stderr); + abort (); + } } + else + if (aclx_printStr (text1, &textsize1, acl1, aclsize1, type1, file1, 0) < 0) + { + fprintf (stderr, "cannot convert the ACLs of file %s to text\n", file1); + fflush (stderr); + abort (); + } /* The docs say that type2 being 0 is equivalent to ACL_ANY, but it is not true, in AIX 5.3. */ type2.u64 = ACL_ANY; if (aclx_get (file2, 0, &type2, acl2, &aclsize2, &mode2) < 0) { - fprintf (stderr, "error accessing the ACLs of file %s\n", file2); - fflush (stderr); - abort (); - } - if (aclx_printStr (text2, &textsize2, acl2, aclsize2, type2, file2, 0) < 0) - { - fprintf (stderr, "cannot convert the ACLs of file %s to text\n", file2); - fflush (stderr); - abort (); + if (errno == ENOSYS) + text2[0] = '\0'; + else + { + fprintf (stderr, "error accessing the ACLs of file %s\n", file2); + fflush (stderr); + abort (); + } } + else + if (aclx_printStr (text2, &textsize2, acl2, aclsize2, type2, file2, 0) < 0) + { + fprintf (stderr, "cannot convert the ACLs of file %s to text\n", file2); + fflush (stderr); + abort (); + } if (strcmp (text1, text2) != 0) { diff --git a/tests/test-sched.c b/tests/test-sched.c index 8d0c8cdb6..177d33e1e 100644 --- a/tests/test-sched.c +++ b/tests/test-sched.c @@ -26,6 +26,9 @@ static struct sched_param a; /* Check that the SCHED_* macros are defined and compile-time constants. */ int b[] = { SCHED_FIFO, SCHED_RR, SCHED_OTHER }; +/* Check that the types are all defined. */ +pid_t t1; + static int f1; int diff --git a/tests/test-select.h b/tests/test-select.h index 1ddfda3e4..4612dfc71 100644 --- a/tests/test-select.h +++ b/tests/test-select.h @@ -227,6 +227,63 @@ test_tty (select_fn my_select) #endif +/* Test select(2) on invalid file descriptors. */ + +static int +do_select_bad_fd (int fd, int ev, struct timeval *timeout, select_fn my_select) +{ + fd_set rfds, wfds, xfds; + + FD_ZERO (&rfds); + FD_ZERO (&wfds); + FD_ZERO (&xfds); + if (ev & SEL_IN) + FD_SET (fd, &rfds); + if (ev & SEL_OUT) + FD_SET (fd, &wfds); + if (ev & SEL_EXC) + FD_SET (fd, &xfds); + return my_select (fd + 1, &rfds, &wfds, &xfds, timeout); + /* In this case, when fd is invalid, on some platforms, the bit for fd + is left alone in the fd_set, whereas on other platforms it is cleared. + So, don't check the bit for fd here. */ +} + +static int +do_select_bad_fd_nowait (int fd, int ev, select_fn my_select) +{ + struct timeval tv0; + tv0.tv_sec = 0; + tv0.tv_usec = 0; + return do_select_bad_fd (fd, ev, &tv0, my_select); +} + +static void +test_bad_fd (select_fn my_select) +{ + /* This tests fails on OSF/1 and native Windows, even with fd = 16. */ +#if !(defined __osf__ || defined WIN32_NATIVE) + int fd; + + /* On Linux, MacOS X, *BSD, values of fd like 99 or 399 are discarded + by the kernel early and therefore do *not* lead to EBADF, as required + by POSIX. */ +# if defined __linux__ || (defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __OpenBSD__ || defined __NetBSD__ + fd = 16; +# else + fd = 99; +# endif + + if (do_select_bad_fd_nowait (fd, SEL_IN, my_select) == 0 || errno != EBADF) + failed ("invalid fd among rfds"); + if (do_select_bad_fd_nowait (fd, SEL_OUT, my_select) == 0 || errno != EBADF) + failed ("invalid fd among wfds"); + if (do_select_bad_fd_nowait (fd, SEL_EXC, my_select) == 0 || errno != EBADF) + failed ("invalid fd among xfds"); +#endif +} + + /* Test select(2) for unconnected nonblocking sockets. */ static void @@ -362,14 +419,15 @@ test_pipe (select_fn my_select) static int test_function (select_fn my_select) { - int result; + int result = 0; #ifdef INTERACTIVE printf ("Please press Enter\n"); test (test_tty, "TTY", my_select); #endif - result = test (test_connect_first, my_select, "Unconnected socket test"); + result += test (test_bad_fd, my_select, "Invalid fd test"); + result += test (test_connect_first, my_select, "Unconnected socket test"); result += test (test_socket_pair, my_select, "Connected sockets test"); result += test (test_accept_first, my_select, "General socket test with fork"); result += test (test_pipe, my_select, "Pipe test"); diff --git a/tests/test-send.c b/tests/test-send.c new file mode 100644 index 000000000..9fb24d439 --- /dev/null +++ b/tests/test-send.c @@ -0,0 +1,49 @@ +/* Test the send() function. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include + +#include "signature.h" +SIGNATURE_CHECK (send, ssize_t, (int, const void *, size_t, int)); + +#include + +#include "sockets.h" +#include "macros.h" + +int +main (void) +{ + gl_sockets_startup (SOCKETS_1_1); + + /* Test behaviour for invalid file descriptors. */ + { + char byte = 'x'; + errno = 0; + ASSERT (send (-1, &byte, 1, 0) == -1); + ASSERT (errno == EBADF); + } + { + char byte = 'x'; + errno = 0; + ASSERT (send (99, &byte, 1, 0) == -1); + ASSERT (errno == EBADF); + } + + return 0; +} diff --git a/tests/test-sendto.c b/tests/test-sendto.c new file mode 100644 index 000000000..9e8a51905 --- /dev/null +++ b/tests/test-sendto.c @@ -0,0 +1,64 @@ +/* Test the sendto() function. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include + +#include "signature.h" +SIGNATURE_CHECK (sendto, ssize_t, + (int, const void *, size_t, int, + const struct sockaddr *, socklen_t)); + +#include +#include +#include + +#include "sockets.h" +#include "macros.h" + +int +main (void) +{ + gl_sockets_startup (SOCKETS_1_1); + + /* Test behaviour for invalid file descriptors. */ + { + struct sockaddr_in addr; + + addr.sin_family = AF_INET; + inet_pton (AF_INET, "127.0.0.1", &addr.sin_addr); + addr.sin_port = htons (80); + { + char byte = 'x'; + errno = 0; + ASSERT (sendto (-1, &byte, 1, 0, + (const struct sockaddr *) &addr, sizeof (addr)) + == -1); + ASSERT (errno == EBADF); + } + { + char byte = 'x'; + errno = 0; + ASSERT (sendto (99, &byte, 1, 0, + (const struct sockaddr *) &addr, sizeof (addr)) + == -1); + ASSERT (errno == EBADF); + } + } + + return 0; +} diff --git a/tests/test-set-mode-acl-1.sh b/tests/test-set-mode-acl-1.sh new file mode 100755 index 000000000..68c247cd1 --- /dev/null +++ b/tests/test-set-mode-acl-1.sh @@ -0,0 +1,13 @@ +#!/bin/sh + +# Test set-mode-acl on the file system of /var/tmp, which usually is a local +# file system. + +if test -d /var/tmp; then + TMPDIR=/var/tmp +else + TMPDIR=/tmp +fi +export TMPDIR + +exec "${srcdir}/test-set-mode-acl.sh" diff --git a/tests/test-set-mode-acl-2.sh b/tests/test-set-mode-acl-2.sh new file mode 100755 index 000000000..d1377dfc8 --- /dev/null +++ b/tests/test-set-mode-acl-2.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +# Test set-mode-acl on the file system of the build directory, which may be +# a local file system or NFS mounted. + +TMPDIR=`pwd` +export TMPDIR + +exec "${srcdir}/test-set-mode-acl.sh" diff --git a/tests/test-setsockopt.c b/tests/test-setsockopt.c new file mode 100644 index 000000000..7a16cfa1d --- /dev/null +++ b/tests/test-setsockopt.c @@ -0,0 +1,53 @@ +/* Test setsockopt() function. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include + +#include "signature.h" +SIGNATURE_CHECK (setsockopt, int, (int, int, int, const void *, socklen_t)); + +#include + +#include "sockets.h" +#include "macros.h" + +int +main (void) +{ + gl_sockets_startup (SOCKETS_1_1); + + /* Test behaviour for invalid file descriptors. */ + { + int value = 1; + + errno = 0; + ASSERT (setsockopt (-1, SOL_SOCKET, SO_REUSEADDR, &value, sizeof (value)) + == -1); + ASSERT (errno == EBADF); + } + { + int value = 1; + + errno = 0; + ASSERT (setsockopt (99, SOL_SOCKET, SO_REUSEADDR, &value, sizeof (value)) + == -1); + ASSERT (errno == EBADF); + } + + return 0; +} diff --git a/tests/test-shutdown.c b/tests/test-shutdown.c new file mode 100644 index 000000000..d154f8ef0 --- /dev/null +++ b/tests/test-shutdown.c @@ -0,0 +1,47 @@ +/* Test the shutdown() function. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include + +#include "signature.h" +SIGNATURE_CHECK (shutdown, int, (int, int)); + +#include + +#include "sockets.h" +#include "macros.h" + +int +main (void) +{ + gl_sockets_startup (SOCKETS_1_1); + + /* Test behaviour for invalid file descriptors. */ + { + errno = 0; + ASSERT (shutdown (-1, SHUT_RD) == -1); + ASSERT (errno == EBADF); + } + { + errno = 0; + ASSERT (shutdown (99, SHUT_RD) == -1); + ASSERT (errno == EBADF); + } + + return 0; +} diff --git a/tests/test-signal-c++.cc b/tests/test-signal-c++.cc deleted file mode 100644 index de35295a1..000000000 --- a/tests/test-signal-c++.cc +++ /dev/null @@ -1,56 +0,0 @@ -/* Test of substitute in C++ mode. - Copyright (C) 2010-2011 Free Software Foundation, Inc. - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . */ - -/* Written by Bruno Haible , 2010. */ - -#define GNULIB_NAMESPACE gnulib -#include - -#include - -#include "signature.h" - - -#if GNULIB_TEST_PTHREAD_SIGMASK -SIGNATURE_CHECK (GNULIB_NAMESPACE::pthread_sigmask, int, - (int, const sigset_t *, sigset_t *)); -#endif - -#if GNULIB_TEST_SIGPROCMASK -SIGNATURE_CHECK (GNULIB_NAMESPACE::sigismember, int, (const sigset_t *, int)); -SIGNATURE_CHECK (GNULIB_NAMESPACE::sigemptyset, int, (sigset_t *)); -SIGNATURE_CHECK (GNULIB_NAMESPACE::sigaddset, int, (sigset_t *, int)); -SIGNATURE_CHECK (GNULIB_NAMESPACE::sigdelset, int, (sigset_t *, int)); -SIGNATURE_CHECK (GNULIB_NAMESPACE::sigfillset, int, (sigset_t *)); -SIGNATURE_CHECK (GNULIB_NAMESPACE::sigpending, int, (sigset_t *)); -SIGNATURE_CHECK (GNULIB_NAMESPACE::sigprocmask, int, - (int, const sigset_t *, sigset_t *)); -SIGNATURE_CHECK (GNULIB_NAMESPACE::signal, - _gl_function_taking_int_returning_void_t, - (int, _gl_function_taking_int_returning_void_t)); -SIGNATURE_CHECK (GNULIB_NAMESPACE::raise, int, (int)); -#endif - -#if GNULIB_TEST_SIGACTION -SIGNATURE_CHECK (GNULIB_NAMESPACE::sigaction, int, - (int, const struct sigaction *, struct sigaction *)); -#endif - - -int -main () -{ -} diff --git a/tests/test-signal-c++2.cc b/tests/test-signal-c++2.cc deleted file mode 100644 index 744e9a4c9..000000000 --- a/tests/test-signal-c++2.cc +++ /dev/null @@ -1,20 +0,0 @@ -/* Test of substitute in C++ mode. - Copyright (C) 2010-2011 Free Software Foundation, Inc. - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . */ - -#define GNULIB_NAMESPACE gnulib -#include - -#include diff --git a/tests/test-signal-h-c++.cc b/tests/test-signal-h-c++.cc new file mode 100644 index 000000000..11b70c8d4 --- /dev/null +++ b/tests/test-signal-h-c++.cc @@ -0,0 +1,60 @@ +/* Test of substitute in C++ mode. + Copyright (C) 2010-2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2010. */ + +#define GNULIB_NAMESPACE gnulib +#include + +#include + +#include "signature.h" + + +#if GNULIB_TEST_PTHREAD_SIGMASK +SIGNATURE_CHECK (GNULIB_NAMESPACE::pthread_sigmask, int, + (int, const sigset_t *, sigset_t *)); +#endif + +#if GNULIB_TEST_RAISE +SIGNATURE_CHECK (GNULIB_NAMESPACE::raise, int, (int)); +#endif + +#if GNULIB_TEST_SIGPROCMASK +SIGNATURE_CHECK (GNULIB_NAMESPACE::sigismember, int, (const sigset_t *, int)); +SIGNATURE_CHECK (GNULIB_NAMESPACE::sigemptyset, int, (sigset_t *)); +SIGNATURE_CHECK (GNULIB_NAMESPACE::sigaddset, int, (sigset_t *, int)); +SIGNATURE_CHECK (GNULIB_NAMESPACE::sigdelset, int, (sigset_t *, int)); +SIGNATURE_CHECK (GNULIB_NAMESPACE::sigfillset, int, (sigset_t *)); +SIGNATURE_CHECK (GNULIB_NAMESPACE::sigpending, int, (sigset_t *)); +SIGNATURE_CHECK (GNULIB_NAMESPACE::sigprocmask, int, + (int, const sigset_t *, sigset_t *)); +SIGNATURE_CHECK (GNULIB_NAMESPACE::signal, + _gl_function_taking_int_returning_void_t, + (int, _gl_function_taking_int_returning_void_t)); +SIGNATURE_CHECK (GNULIB_NAMESPACE::raise, int, (int)); +#endif + +#if GNULIB_TEST_SIGACTION +SIGNATURE_CHECK (GNULIB_NAMESPACE::sigaction, int, + (int, const struct sigaction *, struct sigaction *)); +#endif + + +int +main () +{ +} diff --git a/tests/test-signal-h-c++2.cc b/tests/test-signal-h-c++2.cc new file mode 100644 index 000000000..744e9a4c9 --- /dev/null +++ b/tests/test-signal-h-c++2.cc @@ -0,0 +1,20 @@ +/* Test of substitute in C++ mode. + Copyright (C) 2010-2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#define GNULIB_NAMESPACE gnulib +#include + +#include diff --git a/tests/test-signal-h.c b/tests/test-signal-h.c new file mode 100644 index 000000000..7103e1ff1 --- /dev/null +++ b/tests/test-signal-h.c @@ -0,0 +1,129 @@ +/* Test of substitute. + Copyright (C) 2009-2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Eric Blake , 2009. */ + +#include + +#include + +/* Check for required types. */ +struct +{ + size_t a; + uid_t b; + volatile sig_atomic_t c; + sigset_t d; + pid_t e; +#if 0 + /* Not guaranteed by gnulib. */ + pthread_t f; + struct timespec g; +#endif +} s; + +/* Check that NSIG is defined. */ +int nsig = NSIG; + +int +main (void) +{ + switch (0) + { + /* The following are guaranteed by C. */ + case 0: + case SIGABRT: + case SIGFPE: + case SIGILL: + case SIGINT: + case SIGSEGV: + case SIGTERM: + /* The following is guaranteed by gnulib. */ +#if GNULIB_SIGPIPE || defined SIGPIPE + case SIGPIPE: +#endif + /* Ensure no conflict with other standardized names. */ +#ifdef SIGALRM + case SIGALRM: +#endif + /* On Haiku, SIGBUS is mistakenly equal to SIGSEGV. */ +#if defined SIGBUS && SIGBUS != SIGSEGV + case SIGBUS: +#endif +#ifdef SIGCHLD + case SIGCHLD: +#endif +#ifdef SIGCONT + case SIGCONT: +#endif +#ifdef SIGHUP + case SIGHUP: +#endif +#ifdef SIGKILL + case SIGKILL: +#endif +#ifdef SIGQUIT + case SIGQUIT: +#endif +#ifdef SIGSTOP + case SIGSTOP: +#endif +#ifdef SIGTSTP + case SIGTSTP: +#endif +#ifdef SIGTTIN + case SIGTTIN: +#endif +#ifdef SIGTTOU + case SIGTTOU: +#endif +#ifdef SIGUSR1 + case SIGUSR1: +#endif +#ifdef SIGUSR2 + case SIGUSR2: +#endif +#ifdef SIGSYS + case SIGSYS: +#endif +#ifdef SIGTRAP + case SIGTRAP: +#endif +#ifdef SIGURG + case SIGURG: +#endif +#ifdef SIGVTALRM + case SIGVTALRM: +#endif +#ifdef SIGXCPU + case SIGXCPU: +#endif +#ifdef SIGXFSZ + case SIGXFSZ: +#endif + /* SIGRTMIN and SIGRTMAX need not be compile-time constants. */ +#if 0 +# ifdef SIGRTMIN + case SIGRTMIN: +# endif +# ifdef SIGRTMAX + case SIGRTMAX: +# endif +#endif + ; + } + return s.a + s.b + s.c + s.e; +} diff --git a/tests/test-signal.c b/tests/test-signal.c deleted file mode 100644 index 7103e1ff1..000000000 --- a/tests/test-signal.c +++ /dev/null @@ -1,129 +0,0 @@ -/* Test of substitute. - Copyright (C) 2009-2011 Free Software Foundation, Inc. - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . */ - -/* Written by Eric Blake , 2009. */ - -#include - -#include - -/* Check for required types. */ -struct -{ - size_t a; - uid_t b; - volatile sig_atomic_t c; - sigset_t d; - pid_t e; -#if 0 - /* Not guaranteed by gnulib. */ - pthread_t f; - struct timespec g; -#endif -} s; - -/* Check that NSIG is defined. */ -int nsig = NSIG; - -int -main (void) -{ - switch (0) - { - /* The following are guaranteed by C. */ - case 0: - case SIGABRT: - case SIGFPE: - case SIGILL: - case SIGINT: - case SIGSEGV: - case SIGTERM: - /* The following is guaranteed by gnulib. */ -#if GNULIB_SIGPIPE || defined SIGPIPE - case SIGPIPE: -#endif - /* Ensure no conflict with other standardized names. */ -#ifdef SIGALRM - case SIGALRM: -#endif - /* On Haiku, SIGBUS is mistakenly equal to SIGSEGV. */ -#if defined SIGBUS && SIGBUS != SIGSEGV - case SIGBUS: -#endif -#ifdef SIGCHLD - case SIGCHLD: -#endif -#ifdef SIGCONT - case SIGCONT: -#endif -#ifdef SIGHUP - case SIGHUP: -#endif -#ifdef SIGKILL - case SIGKILL: -#endif -#ifdef SIGQUIT - case SIGQUIT: -#endif -#ifdef SIGSTOP - case SIGSTOP: -#endif -#ifdef SIGTSTP - case SIGTSTP: -#endif -#ifdef SIGTTIN - case SIGTTIN: -#endif -#ifdef SIGTTOU - case SIGTTOU: -#endif -#ifdef SIGUSR1 - case SIGUSR1: -#endif -#ifdef SIGUSR2 - case SIGUSR2: -#endif -#ifdef SIGSYS - case SIGSYS: -#endif -#ifdef SIGTRAP - case SIGTRAP: -#endif -#ifdef SIGURG - case SIGURG: -#endif -#ifdef SIGVTALRM - case SIGVTALRM: -#endif -#ifdef SIGXCPU - case SIGXCPU: -#endif -#ifdef SIGXFSZ - case SIGXFSZ: -#endif - /* SIGRTMIN and SIGRTMAX need not be compile-time constants. */ -#if 0 -# ifdef SIGRTMIN - case SIGRTMIN: -# endif -# ifdef SIGRTMAX - case SIGRTMAX: -# endif -#endif - ; - } - return s.a + s.b + s.c + s.e; -} diff --git a/tests/test-signbit.c b/tests/test-signbit.c index c8981498a..940156e6d 100644 --- a/tests/test-signbit.c +++ b/tests/test-signbit.c @@ -29,6 +29,7 @@ #include #include "minus-zero.h" +#include "infinity.h" #include "macros.h" float zerof = 0.0f; @@ -52,8 +53,8 @@ test_signbitf () else ASSERT (!signbit (minus_zerof)); /* Infinite values. */ - ASSERT (!signbit (1.0f / 0.0f)); - ASSERT (signbit (-1.0f / 0.0f)); + ASSERT (!signbit (Infinityf ())); + ASSERT (signbit (- Infinityf ())); /* Quiet NaN. */ (void) signbit (zerof / zerof); #if defined FLT_EXPBIT0_WORD && defined FLT_EXPBIT0_BIT @@ -97,8 +98,8 @@ test_signbitd () else ASSERT (!signbit (minus_zerod)); /* Infinite values. */ - ASSERT (!signbit (1.0 / 0.0)); - ASSERT (signbit (-1.0 / 0.0)); + ASSERT (!signbit (Infinityd ())); + ASSERT (signbit (- Infinityd ())); /* Quiet NaN. */ (void) signbit (zerod / zerod); #if defined DBL_EXPBIT0_WORD && defined DBL_EXPBIT0_BIT @@ -140,8 +141,8 @@ test_signbitl () else ASSERT (!signbit (minus_zerol)); /* Infinite values. */ - ASSERT (!signbit (1.0L / 0.0L)); - ASSERT (signbit (-1.0L / 0.0L)); + ASSERT (!signbit (Infinityl ())); + ASSERT (signbit (- Infinityl ())); /* Quiet NaN. */ (void) signbit (zerol / zerol); #if defined LDBL_EXPBIT0_WORD && defined LDBL_EXPBIT0_BIT diff --git a/tests/test-sinf.c b/tests/test-sinf.c new file mode 100644 index 000000000..55af46fa5 --- /dev/null +++ b/tests/test-sinf.c @@ -0,0 +1,40 @@ +/* Test of sinf() function. + Copyright (C) 2010-2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2010-2011. */ + +#include + +#include + +#include "signature.h" +SIGNATURE_CHECK (sinf, float, (float)); + +#include "macros.h" + +volatile float x; +float y; + +int +main () +{ + /* A particular value. */ + x = 0.6f; + y = sinf (x); + ASSERT (y >= 0.5646424f && y <= 0.5646426f); + + return 0; +} diff --git a/tests/test-sinhf.c b/tests/test-sinhf.c new file mode 100644 index 000000000..8227b068c --- /dev/null +++ b/tests/test-sinhf.c @@ -0,0 +1,40 @@ +/* Test of sinhf() function. + Copyright (C) 2010-2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2010-2011. */ + +#include + +#include + +#include "signature.h" +SIGNATURE_CHECK (sinhf, float, (float)); + +#include "macros.h" + +volatile float x; +float y; + +int +main () +{ + /* A particular value. */ + x = 0.6f; + y = sinhf (x); + ASSERT (y >= 0.6366535f && y <= 0.6366537f); + + return 0; +} diff --git a/tests/test-snprintf-posix.h b/tests/test-snprintf-posix.h index c0c959390..d0d5e5875 100644 --- a/tests/test-snprintf-posix.h +++ b/tests/test-snprintf-posix.h @@ -17,6 +17,7 @@ /* Written by Bruno Haible , 2007. */ #include "minus-zero.h" +#include "infinity.h" #include "nan.h" /* The SGI MIPS floating-point format does not distinguish 0.0 and -0.0. */ @@ -182,7 +183,7 @@ test_function (int (*my_snprintf) (char *, size_t, const char *, ...)) { /* Positive infinity. */ char result[100]; int retval = - my_snprintf (result, sizeof (result), "%a %d", 1.0 / 0.0, 33, 44, 55); + my_snprintf (result, sizeof (result), "%a %d", Infinityd (), 33, 44, 55); ASSERT (strcmp (result, "inf 33") == 0); ASSERT (retval == strlen (result)); } @@ -190,7 +191,7 @@ test_function (int (*my_snprintf) (char *, size_t, const char *, ...)) { /* Negative infinity. */ char result[100]; int retval = - my_snprintf (result, sizeof (result), "%a %d", -1.0 / 0.0, 33, 44, 55); + my_snprintf (result, sizeof (result), "%a %d", - Infinityd (), 33, 44, 55); ASSERT (strcmp (result, "-inf 33") == 0); ASSERT (retval == strlen (result)); } @@ -385,7 +386,7 @@ test_function (int (*my_snprintf) (char *, size_t, const char *, ...)) { /* FLAG_ZERO with infinite number. */ char result[100]; int retval = - my_snprintf (result, sizeof (result), "%010a %d", 1.0 / 0.0, 33, 44, 55); + my_snprintf (result, sizeof (result), "%010a %d", Infinityd (), 33, 44, 55); /* "0000000inf 33" is not a valid result; see */ ASSERT (strcmp (result, " inf 33") == 0); @@ -446,7 +447,7 @@ test_function (int (*my_snprintf) (char *, size_t, const char *, ...)) { /* Positive infinity. */ char result[100]; int retval = - my_snprintf (result, sizeof (result), "%La %d", 1.0L / 0.0L, 33, 44, 55); + my_snprintf (result, sizeof (result), "%La %d", Infinityl (), 33, 44, 55); ASSERT (strcmp (result, "inf 33") == 0); ASSERT (retval == strlen (result)); } @@ -454,7 +455,7 @@ test_function (int (*my_snprintf) (char *, size_t, const char *, ...)) { /* Negative infinity. */ char result[100]; int retval = - my_snprintf (result, sizeof (result), "%La %d", -1.0L / 0.0L, 33, 44, 55); + my_snprintf (result, sizeof (result), "%La %d", - Infinityl (), 33, 44, 55); ASSERT (strcmp (result, "-inf 33") == 0); ASSERT (retval == strlen (result)); } @@ -468,7 +469,7 @@ test_function (int (*my_snprintf) (char *, size_t, const char *, ...)) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); } -#if CHECK_PRINTF_SAFE && ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) +#if CHECK_PRINTF_SAFE && ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) && !HAVE_SAME_LONG_DOUBLE_AS_DOUBLE { /* Quiet NaN. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0xFFFF, 0xC3333333, 0x00000000) }; @@ -737,7 +738,7 @@ test_function (int (*my_snprintf) (char *, size_t, const char *, ...)) { /* FLAG_ZERO with infinite number. */ char result[100]; int retval = - my_snprintf (result, sizeof (result), "%010La %d", 1.0L / 0.0L, 33, 44, 55); + my_snprintf (result, sizeof (result), "%010La %d", Infinityl (), 33, 44, 55); /* "0000000inf 33" is not a valid result; see */ ASSERT (strcmp (result, " inf 33") == 0); @@ -891,7 +892,7 @@ test_function (int (*my_snprintf) (char *, size_t, const char *, ...)) { /* Positive infinity. */ char result[100]; int retval = - my_snprintf (result, sizeof (result), "%f %d", 1.0 / 0.0, 33, 44, 55); + my_snprintf (result, sizeof (result), "%f %d", Infinityd (), 33, 44, 55); ASSERT (strcmp (result, "inf 33") == 0 || strcmp (result, "infinity 33") == 0); ASSERT (retval == strlen (result)); @@ -900,7 +901,7 @@ test_function (int (*my_snprintf) (char *, size_t, const char *, ...)) { /* Negative infinity. */ char result[100]; int retval = - my_snprintf (result, sizeof (result), "%f %d", -1.0 / 0.0, 33, 44, 55); + my_snprintf (result, sizeof (result), "%f %d", - Infinityd (), 33, 44, 55); ASSERT (strcmp (result, "-inf 33") == 0 || strcmp (result, "-infinity 33") == 0); ASSERT (retval == strlen (result)); @@ -975,7 +976,7 @@ test_function (int (*my_snprintf) (char *, size_t, const char *, ...)) { /* FLAG_ZERO with infinite number. */ char result[100]; int retval = - my_snprintf (result, sizeof (result), "%015f %d", -1.0 / 0.0, 33, 44, 55); + my_snprintf (result, sizeof (result), "%015f %d", - Infinityd (), 33, 44, 55); ASSERT (strcmp (result, " -inf 33") == 0 || strcmp (result, " -infinity 33") == 0); ASSERT (retval == strlen (result)); @@ -1148,7 +1149,7 @@ test_function (int (*my_snprintf) (char *, size_t, const char *, ...)) { /* Positive infinity. */ char result[100]; int retval = - my_snprintf (result, sizeof (result), "%Lf %d", 1.0L / 0.0L, 33, 44, 55); + my_snprintf (result, sizeof (result), "%Lf %d", Infinityl (), 33, 44, 55); ASSERT (strcmp (result, "inf 33") == 0 || strcmp (result, "infinity 33") == 0); ASSERT (retval == strlen (result)); @@ -1157,7 +1158,7 @@ test_function (int (*my_snprintf) (char *, size_t, const char *, ...)) { /* Negative infinity. */ char result[100]; int retval = - my_snprintf (result, sizeof (result), "%Lf %d", -1.0L / 0.0L, 33, 44, 55); + my_snprintf (result, sizeof (result), "%Lf %d", - Infinityl (), 33, 44, 55); ASSERT (strcmp (result, "-inf 33") == 0 || strcmp (result, "-infinity 33") == 0); ASSERT (retval == strlen (result)); @@ -1172,7 +1173,7 @@ test_function (int (*my_snprintf) (char *, size_t, const char *, ...)) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); } -#if CHECK_PRINTF_SAFE && ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) +#if CHECK_PRINTF_SAFE && ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) && !HAVE_SAME_LONG_DOUBLE_AS_DOUBLE { /* Quiet NaN. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0xFFFF, 0xC3333333, 0x00000000) }; @@ -1319,7 +1320,7 @@ test_function (int (*my_snprintf) (char *, size_t, const char *, ...)) { /* FLAG_ZERO with infinite number. */ char result[100]; int retval = - my_snprintf (result, sizeof (result), "%015Lf %d", -1.0L / 0.0L, 33, 44, 55); + my_snprintf (result, sizeof (result), "%015Lf %d", - Infinityl (), 33, 44, 55); ASSERT (strcmp (result, " -inf 33") == 0 || strcmp (result, " -infinity 33") == 0); ASSERT (retval == strlen (result)); @@ -1405,7 +1406,7 @@ test_function (int (*my_snprintf) (char *, size_t, const char *, ...)) { /* Positive infinity. */ char result[100]; int retval = - my_snprintf (result, sizeof (result), "%F %d", 1.0 / 0.0, 33, 44, 55); + my_snprintf (result, sizeof (result), "%F %d", Infinityd (), 33, 44, 55); ASSERT (strcmp (result, "INF 33") == 0 || strcmp (result, "INFINITY 33") == 0); ASSERT (retval == strlen (result)); @@ -1414,7 +1415,7 @@ test_function (int (*my_snprintf) (char *, size_t, const char *, ...)) { /* Negative infinity. */ char result[100]; int retval = - my_snprintf (result, sizeof (result), "%F %d", -1.0 / 0.0, 33, 44, 55); + my_snprintf (result, sizeof (result), "%F %d", - Infinityd (), 33, 44, 55); ASSERT (strcmp (result, "-INF 33") == 0 || strcmp (result, "-INFINITY 33") == 0); ASSERT (retval == strlen (result)); @@ -1441,7 +1442,7 @@ test_function (int (*my_snprintf) (char *, size_t, const char *, ...)) { /* FLAG_ZERO with infinite number. */ char result[100]; int retval = - my_snprintf (result, sizeof (result), "%015F %d", -1.0 / 0.0, 33, 44, 55); + my_snprintf (result, sizeof (result), "%015F %d", - Infinityd (), 33, 44, 55); ASSERT (strcmp (result, " -INF 33") == 0 || strcmp (result, " -INFINITY 33") == 0); ASSERT (retval == strlen (result)); @@ -1515,7 +1516,7 @@ test_function (int (*my_snprintf) (char *, size_t, const char *, ...)) { /* Positive infinity. */ char result[100]; int retval = - my_snprintf (result, sizeof (result), "%LF %d", 1.0L / 0.0L, 33, 44, 55); + my_snprintf (result, sizeof (result), "%LF %d", Infinityl (), 33, 44, 55); ASSERT (strcmp (result, "INF 33") == 0 || strcmp (result, "INFINITY 33") == 0); ASSERT (retval == strlen (result)); @@ -1524,7 +1525,7 @@ test_function (int (*my_snprintf) (char *, size_t, const char *, ...)) { /* Negative infinity. */ char result[100]; int retval = - my_snprintf (result, sizeof (result), "%LF %d", -1.0L / 0.0L, 33, 44, 55); + my_snprintf (result, sizeof (result), "%LF %d", - Infinityl (), 33, 44, 55); ASSERT (strcmp (result, "-INF 33") == 0 || strcmp (result, "-INFINITY 33") == 0); ASSERT (retval == strlen (result)); @@ -1551,7 +1552,7 @@ test_function (int (*my_snprintf) (char *, size_t, const char *, ...)) { /* FLAG_ZERO with infinite number. */ char result[100]; int retval = - my_snprintf (result, sizeof (result), "%015LF %d", -1.0L / 0.0L, 33, 44, 55); + my_snprintf (result, sizeof (result), "%015LF %d", - Infinityl (), 33, 44, 55); ASSERT (strcmp (result, " -INF 33") == 0 || strcmp (result, " -INFINITY 33") == 0); ASSERT (retval == strlen (result)); @@ -1729,7 +1730,7 @@ test_function (int (*my_snprintf) (char *, size_t, const char *, ...)) { /* Positive infinity. */ char result[100]; int retval = - my_snprintf (result, sizeof (result), "%e %d", 1.0 / 0.0, 33, 44, 55); + my_snprintf (result, sizeof (result), "%e %d", Infinityd (), 33, 44, 55); ASSERT (strcmp (result, "inf 33") == 0 || strcmp (result, "infinity 33") == 0); ASSERT (retval == strlen (result)); @@ -1738,7 +1739,7 @@ test_function (int (*my_snprintf) (char *, size_t, const char *, ...)) { /* Negative infinity. */ char result[100]; int retval = - my_snprintf (result, sizeof (result), "%e %d", -1.0 / 0.0, 33, 44, 55); + my_snprintf (result, sizeof (result), "%e %d", - Infinityd (), 33, 44, 55); ASSERT (strcmp (result, "-inf 33") == 0 || strcmp (result, "-infinity 33") == 0); ASSERT (retval == strlen (result)); @@ -1829,7 +1830,7 @@ test_function (int (*my_snprintf) (char *, size_t, const char *, ...)) { /* FLAG_ZERO with infinite number. */ char result[100]; int retval = - my_snprintf (result, sizeof (result), "%015e %d", -1.0 / 0.0, 33, 44, 55); + my_snprintf (result, sizeof (result), "%015e %d", - Infinityd (), 33, 44, 55); ASSERT (strcmp (result, " -inf 33") == 0 || strcmp (result, " -infinity 33") == 0); ASSERT (retval == strlen (result)); @@ -2018,7 +2019,7 @@ test_function (int (*my_snprintf) (char *, size_t, const char *, ...)) { /* Positive infinity. */ char result[100]; int retval = - my_snprintf (result, sizeof (result), "%Le %d", 1.0L / 0.0L, 33, 44, 55); + my_snprintf (result, sizeof (result), "%Le %d", Infinityl (), 33, 44, 55); ASSERT (strcmp (result, "inf 33") == 0 || strcmp (result, "infinity 33") == 0); ASSERT (retval == strlen (result)); @@ -2027,7 +2028,7 @@ test_function (int (*my_snprintf) (char *, size_t, const char *, ...)) { /* Negative infinity. */ char result[100]; int retval = - my_snprintf (result, sizeof (result), "%Le %d", -1.0L / 0.0L, 33, 44, 55); + my_snprintf (result, sizeof (result), "%Le %d", - Infinityl (), 33, 44, 55); ASSERT (strcmp (result, "-inf 33") == 0 || strcmp (result, "-infinity 33") == 0); ASSERT (retval == strlen (result)); @@ -2042,7 +2043,7 @@ test_function (int (*my_snprintf) (char *, size_t, const char *, ...)) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); } -#if CHECK_PRINTF_SAFE && ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) +#if CHECK_PRINTF_SAFE && ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) && !HAVE_SAME_LONG_DOUBLE_AS_DOUBLE { /* Quiet NaN. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0xFFFF, 0xC3333333, 0x00000000) }; @@ -2205,7 +2206,7 @@ test_function (int (*my_snprintf) (char *, size_t, const char *, ...)) { /* FLAG_ZERO with infinite number. */ char result[100]; int retval = - my_snprintf (result, sizeof (result), "%015Le %d", -1.0L / 0.0L, 33, 44, 55); + my_snprintf (result, sizeof (result), "%015Le %d", - Infinityl (), 33, 44, 55); ASSERT (strcmp (result, " -inf 33") == 0 || strcmp (result, " -infinity 33") == 0); ASSERT (retval == strlen (result)); @@ -2393,7 +2394,7 @@ test_function (int (*my_snprintf) (char *, size_t, const char *, ...)) { /* Positive infinity. */ char result[100]; int retval = - my_snprintf (result, sizeof (result), "%g %d", 1.0 / 0.0, 33, 44, 55); + my_snprintf (result, sizeof (result), "%g %d", Infinityd (), 33, 44, 55); ASSERT (strcmp (result, "inf 33") == 0 || strcmp (result, "infinity 33") == 0); ASSERT (retval == strlen (result)); @@ -2402,7 +2403,7 @@ test_function (int (*my_snprintf) (char *, size_t, const char *, ...)) { /* Negative infinity. */ char result[100]; int retval = - my_snprintf (result, sizeof (result), "%g %d", -1.0 / 0.0, 33, 44, 55); + my_snprintf (result, sizeof (result), "%g %d", - Infinityd (), 33, 44, 55); ASSERT (strcmp (result, "-inf 33") == 0 || strcmp (result, "-infinity 33") == 0); ASSERT (retval == strlen (result)); @@ -2486,7 +2487,7 @@ test_function (int (*my_snprintf) (char *, size_t, const char *, ...)) { /* FLAG_ZERO with infinite number. */ char result[100]; int retval = - my_snprintf (result, sizeof (result), "%015g %d", -1.0 / 0.0, 33, 44, 55); + my_snprintf (result, sizeof (result), "%015g %d", - Infinityd (), 33, 44, 55); ASSERT (strcmp (result, " -inf 33") == 0 || strcmp (result, " -infinity 33") == 0); ASSERT (retval == strlen (result)); @@ -2670,7 +2671,7 @@ test_function (int (*my_snprintf) (char *, size_t, const char *, ...)) { /* Positive infinity. */ char result[100]; int retval = - my_snprintf (result, sizeof (result), "%Lg %d", 1.0L / 0.0L, 33, 44, 55); + my_snprintf (result, sizeof (result), "%Lg %d", Infinityl (), 33, 44, 55); ASSERT (strcmp (result, "inf 33") == 0 || strcmp (result, "infinity 33") == 0); ASSERT (retval == strlen (result)); @@ -2679,7 +2680,7 @@ test_function (int (*my_snprintf) (char *, size_t, const char *, ...)) { /* Negative infinity. */ char result[100]; int retval = - my_snprintf (result, sizeof (result), "%Lg %d", -1.0L / 0.0L, 33, 44, 55); + my_snprintf (result, sizeof (result), "%Lg %d", - Infinityl (), 33, 44, 55); ASSERT (strcmp (result, "-inf 33") == 0 || strcmp (result, "-infinity 33") == 0); ASSERT (retval == strlen (result)); @@ -2694,7 +2695,7 @@ test_function (int (*my_snprintf) (char *, size_t, const char *, ...)) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); } -#if CHECK_PRINTF_SAFE && ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) +#if CHECK_PRINTF_SAFE && ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) && !HAVE_SAME_LONG_DOUBLE_AS_DOUBLE { /* Quiet NaN. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0xFFFF, 0xC3333333, 0x00000000) }; @@ -2850,7 +2851,7 @@ test_function (int (*my_snprintf) (char *, size_t, const char *, ...)) { /* FLAG_ZERO with infinite number. */ char result[100]; int retval = - my_snprintf (result, sizeof (result), "%015Lg %d", -1.0L / 0.0L, 33, 44, 55); + my_snprintf (result, sizeof (result), "%015Lg %d", - Infinityl (), 33, 44, 55); ASSERT (strcmp (result, " -inf 33") == 0 || strcmp (result, " -infinity 33") == 0); ASSERT (retval == strlen (result)); diff --git a/tests/test-sprintf-posix.h b/tests/test-sprintf-posix.h index 3003b426b..28fabe01e 100644 --- a/tests/test-sprintf-posix.h +++ b/tests/test-sprintf-posix.h @@ -17,6 +17,7 @@ /* Written by Bruno Haible , 2007. */ #include "minus-zero.h" +#include "infinity.h" #include "nan.h" /* The SGI MIPS floating-point format does not distinguish 0.0 and -0.0. */ @@ -168,7 +169,7 @@ test_function (int (*my_sprintf) (char *, const char *, ...)) { /* Positive infinity. */ char result[1000]; int retval = - my_sprintf (result, "%a %d", 1.0 / 0.0, 33, 44, 55); + my_sprintf (result, "%a %d", Infinityd (), 33, 44, 55); ASSERT (strcmp (result, "inf 33") == 0); ASSERT (retval == strlen (result)); } @@ -176,7 +177,7 @@ test_function (int (*my_sprintf) (char *, const char *, ...)) { /* Negative infinity. */ char result[1000]; int retval = - my_sprintf (result, "%a %d", -1.0 / 0.0, 33, 44, 55); + my_sprintf (result, "%a %d", - Infinityd (), 33, 44, 55); ASSERT (strcmp (result, "-inf 33") == 0); ASSERT (retval == strlen (result)); } @@ -371,7 +372,7 @@ test_function (int (*my_sprintf) (char *, const char *, ...)) { /* FLAG_ZERO with infinite number. */ char result[1000]; int retval = - my_sprintf (result, "%010a %d", 1.0 / 0.0, 33, 44, 55); + my_sprintf (result, "%010a %d", Infinityd (), 33, 44, 55); /* "0000000inf 33" is not a valid result; see */ ASSERT (strcmp (result, " inf 33") == 0); @@ -432,7 +433,7 @@ test_function (int (*my_sprintf) (char *, const char *, ...)) { /* Positive infinity. */ char result[1000]; int retval = - my_sprintf (result, "%La %d", 1.0L / 0.0L, 33, 44, 55); + my_sprintf (result, "%La %d", Infinityl (), 33, 44, 55); ASSERT (strcmp (result, "inf 33") == 0); ASSERT (retval == strlen (result)); } @@ -440,7 +441,7 @@ test_function (int (*my_sprintf) (char *, const char *, ...)) { /* Negative infinity. */ char result[1000]; int retval = - my_sprintf (result, "%La %d", -1.0L / 0.0L, 33, 44, 55); + my_sprintf (result, "%La %d", - Infinityl (), 33, 44, 55); ASSERT (strcmp (result, "-inf 33") == 0); ASSERT (retval == strlen (result)); } @@ -454,7 +455,7 @@ test_function (int (*my_sprintf) (char *, const char *, ...)) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); } -#if CHECK_PRINTF_SAFE && ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) +#if CHECK_PRINTF_SAFE && ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) && !HAVE_SAME_LONG_DOUBLE_AS_DOUBLE { /* Quiet NaN. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0xFFFF, 0xC3333333, 0x00000000) }; @@ -723,7 +724,7 @@ test_function (int (*my_sprintf) (char *, const char *, ...)) { /* FLAG_ZERO with infinite number. */ char result[1000]; int retval = - my_sprintf (result, "%010La %d", 1.0L / 0.0L, 33, 44, 55); + my_sprintf (result, "%010La %d", Infinityl (), 33, 44, 55); /* "0000000inf 33" is not a valid result; see */ ASSERT (strcmp (result, " inf 33") == 0); @@ -877,7 +878,7 @@ test_function (int (*my_sprintf) (char *, const char *, ...)) { /* Positive infinity. */ char result[1000]; int retval = - my_sprintf (result, "%f %d", 1.0 / 0.0, 33, 44, 55); + my_sprintf (result, "%f %d", Infinityd (), 33, 44, 55); ASSERT (strcmp (result, "inf 33") == 0 || strcmp (result, "infinity 33") == 0); ASSERT (retval == strlen (result)); @@ -886,7 +887,7 @@ test_function (int (*my_sprintf) (char *, const char *, ...)) { /* Negative infinity. */ char result[1000]; int retval = - my_sprintf (result, "%f %d", -1.0 / 0.0, 33, 44, 55); + my_sprintf (result, "%f %d", - Infinityd (), 33, 44, 55); ASSERT (strcmp (result, "-inf 33") == 0 || strcmp (result, "-infinity 33") == 0); ASSERT (retval == strlen (result)); @@ -961,7 +962,7 @@ test_function (int (*my_sprintf) (char *, const char *, ...)) { /* FLAG_ZERO with infinite number. */ char result[1000]; int retval = - my_sprintf (result, "%015f %d", -1.0 / 0.0, 33, 44, 55); + my_sprintf (result, "%015f %d", - Infinityd (), 33, 44, 55); ASSERT (strcmp (result, " -inf 33") == 0 || strcmp (result, " -infinity 33") == 0); ASSERT (retval == strlen (result)); @@ -1134,7 +1135,7 @@ test_function (int (*my_sprintf) (char *, const char *, ...)) { /* Positive infinity. */ char result[1000]; int retval = - my_sprintf (result, "%Lf %d", 1.0L / 0.0L, 33, 44, 55); + my_sprintf (result, "%Lf %d", Infinityl (), 33, 44, 55); ASSERT (strcmp (result, "inf 33") == 0 || strcmp (result, "infinity 33") == 0); ASSERT (retval == strlen (result)); @@ -1143,7 +1144,7 @@ test_function (int (*my_sprintf) (char *, const char *, ...)) { /* Negative infinity. */ char result[1000]; int retval = - my_sprintf (result, "%Lf %d", -1.0L / 0.0L, 33, 44, 55); + my_sprintf (result, "%Lf %d", - Infinityl (), 33, 44, 55); ASSERT (strcmp (result, "-inf 33") == 0 || strcmp (result, "-infinity 33") == 0); ASSERT (retval == strlen (result)); @@ -1158,7 +1159,7 @@ test_function (int (*my_sprintf) (char *, const char *, ...)) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); } -#if CHECK_PRINTF_SAFE && ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) +#if CHECK_PRINTF_SAFE && ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) && !HAVE_SAME_LONG_DOUBLE_AS_DOUBLE { /* Quiet NaN. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0xFFFF, 0xC3333333, 0x00000000) }; @@ -1305,7 +1306,7 @@ test_function (int (*my_sprintf) (char *, const char *, ...)) { /* FLAG_ZERO with infinite number. */ char result[1000]; int retval = - my_sprintf (result, "%015Lf %d", -1.0L / 0.0L, 33, 44, 55); + my_sprintf (result, "%015Lf %d", - Infinityl (), 33, 44, 55); ASSERT (strcmp (result, " -inf 33") == 0 || strcmp (result, " -infinity 33") == 0); ASSERT (retval == strlen (result)); @@ -1391,7 +1392,7 @@ test_function (int (*my_sprintf) (char *, const char *, ...)) { /* Positive infinity. */ char result[1000]; int retval = - my_sprintf (result, "%F %d", 1.0 / 0.0, 33, 44, 55); + my_sprintf (result, "%F %d", Infinityd (), 33, 44, 55); ASSERT (strcmp (result, "INF 33") == 0 || strcmp (result, "INFINITY 33") == 0); ASSERT (retval == strlen (result)); @@ -1400,7 +1401,7 @@ test_function (int (*my_sprintf) (char *, const char *, ...)) { /* Negative infinity. */ char result[1000]; int retval = - my_sprintf (result, "%F %d", -1.0 / 0.0, 33, 44, 55); + my_sprintf (result, "%F %d", - Infinityd (), 33, 44, 55); ASSERT (strcmp (result, "-INF 33") == 0 || strcmp (result, "-INFINITY 33") == 0); ASSERT (retval == strlen (result)); @@ -1427,7 +1428,7 @@ test_function (int (*my_sprintf) (char *, const char *, ...)) { /* FLAG_ZERO with infinite number. */ char result[1000]; int retval = - my_sprintf (result, "%015F %d", -1.0 / 0.0, 33, 44, 55); + my_sprintf (result, "%015F %d", - Infinityd (), 33, 44, 55); ASSERT (strcmp (result, " -INF 33") == 0 || strcmp (result, " -INFINITY 33") == 0); ASSERT (retval == strlen (result)); @@ -1501,7 +1502,7 @@ test_function (int (*my_sprintf) (char *, const char *, ...)) { /* Positive infinity. */ char result[1000]; int retval = - my_sprintf (result, "%LF %d", 1.0L / 0.0L, 33, 44, 55); + my_sprintf (result, "%LF %d", Infinityl (), 33, 44, 55); ASSERT (strcmp (result, "INF 33") == 0 || strcmp (result, "INFINITY 33") == 0); ASSERT (retval == strlen (result)); @@ -1510,7 +1511,7 @@ test_function (int (*my_sprintf) (char *, const char *, ...)) { /* Negative infinity. */ char result[1000]; int retval = - my_sprintf (result, "%LF %d", -1.0L / 0.0L, 33, 44, 55); + my_sprintf (result, "%LF %d", - Infinityl (), 33, 44, 55); ASSERT (strcmp (result, "-INF 33") == 0 || strcmp (result, "-INFINITY 33") == 0); ASSERT (retval == strlen (result)); @@ -1537,7 +1538,7 @@ test_function (int (*my_sprintf) (char *, const char *, ...)) { /* FLAG_ZERO with infinite number. */ char result[1000]; int retval = - my_sprintf (result, "%015LF %d", -1.0L / 0.0L, 33, 44, 55); + my_sprintf (result, "%015LF %d", - Infinityl (), 33, 44, 55); ASSERT (strcmp (result, " -INF 33") == 0 || strcmp (result, " -INFINITY 33") == 0); ASSERT (retval == strlen (result)); @@ -1715,7 +1716,7 @@ test_function (int (*my_sprintf) (char *, const char *, ...)) { /* Positive infinity. */ char result[1000]; int retval = - my_sprintf (result, "%e %d", 1.0 / 0.0, 33, 44, 55); + my_sprintf (result, "%e %d", Infinityd (), 33, 44, 55); ASSERT (strcmp (result, "inf 33") == 0 || strcmp (result, "infinity 33") == 0); ASSERT (retval == strlen (result)); @@ -1724,7 +1725,7 @@ test_function (int (*my_sprintf) (char *, const char *, ...)) { /* Negative infinity. */ char result[1000]; int retval = - my_sprintf (result, "%e %d", -1.0 / 0.0, 33, 44, 55); + my_sprintf (result, "%e %d", - Infinityd (), 33, 44, 55); ASSERT (strcmp (result, "-inf 33") == 0 || strcmp (result, "-infinity 33") == 0); ASSERT (retval == strlen (result)); @@ -1815,7 +1816,7 @@ test_function (int (*my_sprintf) (char *, const char *, ...)) { /* FLAG_ZERO with infinite number. */ char result[1000]; int retval = - my_sprintf (result, "%015e %d", -1.0 / 0.0, 33, 44, 55); + my_sprintf (result, "%015e %d", - Infinityd (), 33, 44, 55); ASSERT (strcmp (result, " -inf 33") == 0 || strcmp (result, " -infinity 33") == 0); ASSERT (retval == strlen (result)); @@ -2004,7 +2005,7 @@ test_function (int (*my_sprintf) (char *, const char *, ...)) { /* Positive infinity. */ char result[1000]; int retval = - my_sprintf (result, "%Le %d", 1.0L / 0.0L, 33, 44, 55); + my_sprintf (result, "%Le %d", Infinityl (), 33, 44, 55); ASSERT (strcmp (result, "inf 33") == 0 || strcmp (result, "infinity 33") == 0); ASSERT (retval == strlen (result)); @@ -2013,7 +2014,7 @@ test_function (int (*my_sprintf) (char *, const char *, ...)) { /* Negative infinity. */ char result[1000]; int retval = - my_sprintf (result, "%Le %d", -1.0L / 0.0L, 33, 44, 55); + my_sprintf (result, "%Le %d", - Infinityl (), 33, 44, 55); ASSERT (strcmp (result, "-inf 33") == 0 || strcmp (result, "-infinity 33") == 0); ASSERT (retval == strlen (result)); @@ -2028,7 +2029,7 @@ test_function (int (*my_sprintf) (char *, const char *, ...)) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); } -#if CHECK_PRINTF_SAFE && ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) +#if CHECK_PRINTF_SAFE && ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) && !HAVE_SAME_LONG_DOUBLE_AS_DOUBLE { /* Quiet NaN. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0xFFFF, 0xC3333333, 0x00000000) }; @@ -2191,7 +2192,7 @@ test_function (int (*my_sprintf) (char *, const char *, ...)) { /* FLAG_ZERO with infinite number. */ char result[1000]; int retval = - my_sprintf (result, "%015Le %d", -1.0L / 0.0L, 33, 44, 55); + my_sprintf (result, "%015Le %d", - Infinityl (), 33, 44, 55); ASSERT (strcmp (result, " -inf 33") == 0 || strcmp (result, " -infinity 33") == 0); ASSERT (retval == strlen (result)); @@ -2379,7 +2380,7 @@ test_function (int (*my_sprintf) (char *, const char *, ...)) { /* Positive infinity. */ char result[1000]; int retval = - my_sprintf (result, "%g %d", 1.0 / 0.0, 33, 44, 55); + my_sprintf (result, "%g %d", Infinityd (), 33, 44, 55); ASSERT (strcmp (result, "inf 33") == 0 || strcmp (result, "infinity 33") == 0); ASSERT (retval == strlen (result)); @@ -2388,7 +2389,7 @@ test_function (int (*my_sprintf) (char *, const char *, ...)) { /* Negative infinity. */ char result[1000]; int retval = - my_sprintf (result, "%g %d", -1.0 / 0.0, 33, 44, 55); + my_sprintf (result, "%g %d", - Infinityd (), 33, 44, 55); ASSERT (strcmp (result, "-inf 33") == 0 || strcmp (result, "-infinity 33") == 0); ASSERT (retval == strlen (result)); @@ -2472,7 +2473,7 @@ test_function (int (*my_sprintf) (char *, const char *, ...)) { /* FLAG_ZERO with infinite number. */ char result[1000]; int retval = - my_sprintf (result, "%015g %d", -1.0 / 0.0, 33, 44, 55); + my_sprintf (result, "%015g %d", - Infinityd (), 33, 44, 55); ASSERT (strcmp (result, " -inf 33") == 0 || strcmp (result, " -infinity 33") == 0); ASSERT (retval == strlen (result)); @@ -2656,7 +2657,7 @@ test_function (int (*my_sprintf) (char *, const char *, ...)) { /* Positive infinity. */ char result[1000]; int retval = - my_sprintf (result, "%Lg %d", 1.0L / 0.0L, 33, 44, 55); + my_sprintf (result, "%Lg %d", Infinityl (), 33, 44, 55); ASSERT (strcmp (result, "inf 33") == 0 || strcmp (result, "infinity 33") == 0); ASSERT (retval == strlen (result)); @@ -2665,7 +2666,7 @@ test_function (int (*my_sprintf) (char *, const char *, ...)) { /* Negative infinity. */ char result[1000]; int retval = - my_sprintf (result, "%Lg %d", -1.0L / 0.0L, 33, 44, 55); + my_sprintf (result, "%Lg %d", - Infinityl (), 33, 44, 55); ASSERT (strcmp (result, "-inf 33") == 0 || strcmp (result, "-infinity 33") == 0); ASSERT (retval == strlen (result)); @@ -2680,7 +2681,7 @@ test_function (int (*my_sprintf) (char *, const char *, ...)) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); } -#if CHECK_PRINTF_SAFE && ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) +#if CHECK_PRINTF_SAFE && ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) && !HAVE_SAME_LONG_DOUBLE_AS_DOUBLE { /* Quiet NaN. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0xFFFF, 0xC3333333, 0x00000000) }; @@ -2836,7 +2837,7 @@ test_function (int (*my_sprintf) (char *, const char *, ...)) { /* FLAG_ZERO with infinite number. */ char result[1000]; int retval = - my_sprintf (result, "%015Lg %d", -1.0L / 0.0L, 33, 44, 55); + my_sprintf (result, "%015Lg %d", - Infinityl (), 33, 44, 55); ASSERT (strcmp (result, " -inf 33") == 0 || strcmp (result, " -infinity 33") == 0); ASSERT (retval == strlen (result)); diff --git a/tests/test-sqrtf.c b/tests/test-sqrtf.c new file mode 100644 index 000000000..ec8d5e8f5 --- /dev/null +++ b/tests/test-sqrtf.c @@ -0,0 +1,40 @@ +/* Test of sqrtf() function. + Copyright (C) 2010-2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2010-2011. */ + +#include + +#include + +#include "signature.h" +SIGNATURE_CHECK (sqrtf, float, (float)); + +#include "macros.h" + +volatile float x; +float y; + +int +main () +{ + /* A particular value. */ + x = 0.6f; + y = sqrtf (x); + ASSERT (y >= 0.7745966f && y <= 0.7745967f); + + return 0; +} diff --git a/tests/test-stdalign.c b/tests/test-stdalign.c new file mode 100644 index 000000000..1c19aa805 --- /dev/null +++ b/tests/test-stdalign.c @@ -0,0 +1,116 @@ +/* Test of . + Copyright 2009-2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Paul Eggert, inspired by Bruno Haible's test-alignof.c. */ + +#include + +#include + +#include +#include + +#include "verify.h" + +#include "macros.h" + +typedef long double longdouble; +typedef struct { char a[1]; } struct1; +typedef struct { char a[2]; } struct2; +typedef struct { char a[3]; } struct3; +typedef struct { char a[4]; } struct4; + +verify (__alignof_is_defined == 1); +#ifndef alignof +# error "alignof is not a macro" +#endif + +#if __alignas_is_defined +verify (__alignas_is_defined == 1); +# ifndef alignas +# error "alignas is not a macro" +# endif +/* mingw can go up only to 8. 8 is all that GNU Emacs needs, so let's + limit the test to 8 for now. */ +# define TEST_ALIGNMENT 8 +#else +# define _Alignas(alignment) +# define alignas(alignment) +# define TEST_ALIGNMENT 1 +#endif + +#define CHECK_STATIC(type) \ + typedef struct { char slot1; type slot2; } type##_helper; \ + verify (alignof (type) == offsetof (type##_helper, slot2)); \ + verify (_Alignof (type) == alignof (type)); \ + const int type##_alignment = alignof (type); \ + type alignas (TEST_ALIGNMENT) static_##type##_alignas; \ + type _Alignas (TEST_ALIGNMENT) static_##type##_Alignas + +#define CHECK_ALIGNED(var) ASSERT ((uintptr_t) &(var) % TEST_ALIGNMENT == 0) + +CHECK_STATIC (char); +CHECK_STATIC (short); +CHECK_STATIC (int); +CHECK_STATIC (long); +#ifdef INT64_MAX +CHECK_STATIC (int64_t); +#endif +CHECK_STATIC (float); +CHECK_STATIC (double); +/* CHECK_STATIC (longdouble); */ +CHECK_STATIC (struct1); +CHECK_STATIC (struct2); +CHECK_STATIC (struct3); +CHECK_STATIC (struct4); + +int +main () +{ +#if defined __SUNPRO_C + /* Avoid a test failure due to Sun Studio Developer Bug Report #2125432. */ + fputs ("Skipping test: known Sun C compiler bug\n", stderr); + return 77; +#else + CHECK_ALIGNED (static_char_alignas); + CHECK_ALIGNED (static_char_Alignas); + CHECK_ALIGNED (static_short_alignas); + CHECK_ALIGNED (static_short_Alignas); + CHECK_ALIGNED (static_int_alignas); + CHECK_ALIGNED (static_int_Alignas); + CHECK_ALIGNED (static_long_alignas); + CHECK_ALIGNED (static_long_Alignas); +# ifdef INT64_MAX + CHECK_ALIGNED (static_int64_t_alignas); + CHECK_ALIGNED (static_int64_t_Alignas); +# endif + CHECK_ALIGNED (static_float_alignas); + CHECK_ALIGNED (static_float_Alignas); + CHECK_ALIGNED (static_double_alignas); + CHECK_ALIGNED (static_double_Alignas); + /* CHECK_ALIGNED (static_longdouble_alignas); */ + /* CHECK_ALIGNED (static_longdouble_Alignas); */ + CHECK_ALIGNED (static_struct1_alignas); + CHECK_ALIGNED (static_struct1_Alignas); + CHECK_ALIGNED (static_struct2_alignas); + CHECK_ALIGNED (static_struct2_Alignas); + CHECK_ALIGNED (static_struct3_alignas); + CHECK_ALIGNED (static_struct3_Alignas); + CHECK_ALIGNED (static_struct4_alignas); + CHECK_ALIGNED (static_struct4_Alignas); + return 0; +#endif +} diff --git a/tests/test-stdio-c++.cc b/tests/test-stdio-c++.cc index 07faf0fa0..213dcfdf2 100644 --- a/tests/test-stdio-c++.cc +++ b/tests/test-stdio-c++.cc @@ -32,6 +32,10 @@ SIGNATURE_CHECK (GNULIB_NAMESPACE::dprintf, int, (int, const char *, ...)); SIGNATURE_CHECK (GNULIB_NAMESPACE::fclose, int, (FILE *)); #endif +#if GNULIB_TEST_FDOPEN +SIGNATURE_CHECK (GNULIB_NAMESPACE::fdopen, FILE *, (int, const char *)); +#endif + #if GNULIB_TEST_FFLUSH SIGNATURE_CHECK (GNULIB_NAMESPACE::fflush, int, (FILE *)); #endif diff --git a/tests/test-strtoimax.c b/tests/test-strtoimax.c new file mode 100644 index 000000000..94da61a3c --- /dev/null +++ b/tests/test-strtoimax.c @@ -0,0 +1,148 @@ +/* + * Copyright (C) 2011 Free Software Foundation, Inc. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . */ + +#include + +#include + +#include "signature.h" +#ifndef strtoimax +SIGNATURE_CHECK (strtoimax, intmax_t, (const char *, char **, int)); +#endif + +#include + +#include "macros.h" + +int +main (void) +{ + /* Subject sequence empty or invalid. */ + { + const char input[] = ""; + char *ptr; + intmax_t result; + errno = 0; + result = strtoimax (input, &ptr, 10); + ASSERT (result == 0); + ASSERT (ptr == input); + ASSERT (errno == 0 || errno == EINVAL); + } + { + const char input[] = " "; + char *ptr; + intmax_t result; + errno = 0; + result = strtoimax (input, &ptr, 10); + ASSERT (result == 0); + ASSERT (ptr == input); + ASSERT (errno == 0 || errno == EINVAL); + } + { + const char input[] = " +"; + char *ptr; + intmax_t result; + errno = 0; + result = strtoimax (input, &ptr, 10); + ASSERT (result == 0); + ASSERT (ptr == input); + ASSERT (errno == 0 || errno == EINVAL); + } + { + const char input[] = " -"; + char *ptr; + intmax_t result; + errno = 0; + result = strtoimax (input, &ptr, 10); + ASSERT (result == 0); + ASSERT (ptr == input); + ASSERT (errno == 0 || errno == EINVAL); + } + + /* Simple integer values. */ + { + const char input[] = "0"; + char *ptr; + intmax_t result; + errno = 0; + result = strtoimax (input, &ptr, 10); + ASSERT (result == 0); + ASSERT (ptr == input + 1); + ASSERT (errno == 0); + } + { + const char input[] = "+0"; + char *ptr; + intmax_t result; + errno = 0; + result = strtoimax (input, &ptr, 10); + ASSERT (result == 0); + ASSERT (ptr == input + 2); + ASSERT (errno == 0); + } + { + const char input[] = "-0"; + char *ptr; + intmax_t result; + errno = 0; + result = strtoimax (input, &ptr, 10); + ASSERT (result == 0); + ASSERT (ptr == input + 2); + ASSERT (errno == 0); + } + { + const char input[] = "23"; + char *ptr; + intmax_t result; + errno = 0; + result = strtoimax (input, &ptr, 10); + ASSERT (result == 23); + ASSERT (ptr == input + 2); + ASSERT (errno == 0); + } + { + const char input[] = " 23"; + char *ptr; + intmax_t result; + errno = 0; + result = strtoimax (input, &ptr, 10); + ASSERT (result == 23); + ASSERT (ptr == input + 3); + ASSERT (errno == 0); + } + { + const char input[] = "+23"; + char *ptr; + intmax_t result; + errno = 0; + result = strtoimax (input, &ptr, 10); + ASSERT (result == 23); + ASSERT (ptr == input + 3); + ASSERT (errno == 0); + } + { + const char input[] = "-23"; + char *ptr; + intmax_t result; + errno = 0; + result = strtoimax (input, &ptr, 10); + ASSERT (result == -23); + ASSERT (ptr == input + 3); + ASSERT (errno == 0); + } + + return 0; +} diff --git a/tests/test-strtoumax.c b/tests/test-strtoumax.c new file mode 100644 index 000000000..acc851c7d --- /dev/null +++ b/tests/test-strtoumax.c @@ -0,0 +1,148 @@ +/* + * Copyright (C) 2011 Free Software Foundation, Inc. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . */ + +#include + +#include + +#include "signature.h" +#ifndef strtoumax +SIGNATURE_CHECK (strtoumax, uintmax_t, (const char *, char **, int)); +#endif + +#include + +#include "macros.h" + +int +main (void) +{ + /* Subject sequence empty or invalid. */ + { + const char input[] = ""; + char *ptr; + uintmax_t result; + errno = 0; + result = strtoumax (input, &ptr, 10); + ASSERT (result == 0); + ASSERT (ptr == input); + ASSERT (errno == 0 || errno == EINVAL); + } + { + const char input[] = " "; + char *ptr; + uintmax_t result; + errno = 0; + result = strtoumax (input, &ptr, 10); + ASSERT (result == 0); + ASSERT (ptr == input); + ASSERT (errno == 0 || errno == EINVAL); + } + { + const char input[] = " +"; + char *ptr; + uintmax_t result; + errno = 0; + result = strtoumax (input, &ptr, 10); + ASSERT (result == 0); + ASSERT (ptr == input); + ASSERT (errno == 0 || errno == EINVAL); + } + { + const char input[] = " -"; + char *ptr; + uintmax_t result; + errno = 0; + result = strtoumax (input, &ptr, 10); + ASSERT (result == 0); + ASSERT (ptr == input); + ASSERT (errno == 0 || errno == EINVAL); + } + + /* Simple integer values. */ + { + const char input[] = "0"; + char *ptr; + uintmax_t result; + errno = 0; + result = strtoumax (input, &ptr, 10); + ASSERT (result == 0); + ASSERT (ptr == input + 1); + ASSERT (errno == 0); + } + { + const char input[] = "+0"; + char *ptr; + uintmax_t result; + errno = 0; + result = strtoumax (input, &ptr, 10); + ASSERT (result == 0); + ASSERT (ptr == input + 2); + ASSERT (errno == 0); + } + { + const char input[] = "-0"; + char *ptr; + uintmax_t result; + errno = 0; + result = strtoumax (input, &ptr, 10); + ASSERT (result == 0); + ASSERT (ptr == input + 2); + ASSERT (errno == 0); + } + { + const char input[] = "23"; + char *ptr; + uintmax_t result; + errno = 0; + result = strtoumax (input, &ptr, 10); + ASSERT (result == 23); + ASSERT (ptr == input + 2); + ASSERT (errno == 0); + } + { + const char input[] = " 23"; + char *ptr; + uintmax_t result; + errno = 0; + result = strtoumax (input, &ptr, 10); + ASSERT (result == 23); + ASSERT (ptr == input + 3); + ASSERT (errno == 0); + } + { + const char input[] = "+23"; + char *ptr; + uintmax_t result; + errno = 0; + result = strtoumax (input, &ptr, 10); + ASSERT (result == 23); + ASSERT (ptr == input + 3); + ASSERT (errno == 0); + } + { + const char input[] = "-23"; + char *ptr; + uintmax_t result; + errno = 0; + result = strtoumax (input, &ptr, 10); + ASSERT (result == - (uintmax_t) 23); + ASSERT (ptr == input + 3); + ASSERT (errno == 0); + } + + return 0; +} diff --git a/tests/test-symlinkat.c b/tests/test-symlinkat.c index 1795c0e17..46826ec11 100644 --- a/tests/test-symlinkat.c +++ b/tests/test-symlinkat.c @@ -58,6 +58,22 @@ main (void) /* Remove any leftovers from a previous partial run. */ ignore_value (system ("rm -rf " BASE "*")); + /* Test behaviour for invalid file descriptors. */ + { + errno = 0; + ASSERT (symlinkat ("foo", -1, "bar") == -1); + ASSERT (errno == EBADF + || errno == ENOSYS /* seen on mingw */ + ); + } + { + errno = 0; + ASSERT (symlinkat ("foo", 99, "bar") == -1); + ASSERT (errno == EBADF + || errno == ENOSYS /* seen on mingw */ + ); + } + /* Perform same checks as counterpart functions. */ result = test_symlink (do_symlink, false); dfd = openat (AT_FDCWD, ".", O_RDONLY); diff --git a/tests/test-sys_socket.c b/tests/test-sys_socket.c index a6e99d600..58c1899e9 100644 --- a/tests/test-sys_socket.c +++ b/tests/test-sys_socket.c @@ -30,6 +30,10 @@ int a[] = { SHUT_RD, SHUT_WR, SHUT_RDWR }; /* Check that the 'socklen_t' type is defined. */ socklen_t t1; +/* Check that the 'size_t' and 'ssize_t' types are defined. */ +size_t t2; +ssize_t t3; + /* Check that 'struct iovec' is defined. */ struct iovec io; diff --git a/tests/test-sys_stat-c++.cc b/tests/test-sys_stat-c++.cc index 2efa9b7e3..b8034203f 100644 --- a/tests/test-sys_stat-c++.cc +++ b/tests/test-sys_stat-c++.cc @@ -29,7 +29,9 @@ SIGNATURE_CHECK (GNULIB_NAMESPACE::fchmodat, int, (int, char const *, mode_t, int)); #endif +#if GNULIB_TEST_FSTAT SIGNATURE_CHECK (GNULIB_NAMESPACE::fstat, int, (int, struct stat *)); +#endif #if GNULIB_TEST_FSTATAT SIGNATURE_CHECK (GNULIB_NAMESPACE::fstatat, int, diff --git a/tests/test-sys_stat.c b/tests/test-sys_stat.c index cd07d86e8..3303badcc 100644 --- a/tests/test-sys_stat.c +++ b/tests/test-sys_stat.c @@ -26,11 +26,14 @@ int a[] = { S_IFMT, - S_IFBLK, S_IFCHR, S_IFDIR, S_IFIFO, S_IFREG, -#ifdef S_IFLNK /* missing on mingw and djgpp */ +#ifdef S_IFBLK /* missing on MSVC */ + S_IFBLK, +#endif + S_IFCHR, S_IFDIR, S_IFIFO, S_IFREG, +#ifdef S_IFLNK /* missing on native Windows and DJGPP */ S_IFLNK, #endif -#ifdef S_IFSOCK /* missing on mingw and djgpp */ +#ifdef S_IFSOCK /* missing on native Windows and DJGPP */ S_IFSOCK, #endif S_IRWXU, S_IRUSR, S_IWUSR, S_IXUSR, @@ -61,7 +64,9 @@ verify (S_IRWXU == (S_IRUSR | S_IWUSR | S_IXUSR)); verify (S_IRWXG == (S_IRGRP | S_IWGRP | S_IXGRP)); verify (S_IRWXO == (S_IROTH | S_IWOTH | S_IXOTH)); +#ifdef S_IFBLK verify (S_ISBLK (S_IFBLK)); +#endif verify (!S_ISBLK (S_IFCHR)); verify (!S_ISBLK (S_IFDIR)); verify (!S_ISBLK (S_IFIFO)); @@ -73,7 +78,9 @@ verify (!S_ISBLK (S_IFLNK)); verify (!S_ISBLK (S_IFSOCK)); #endif +#ifdef S_IFBLK verify (!S_ISCHR (S_IFBLK)); +#endif verify (S_ISCHR (S_IFCHR)); verify (!S_ISCHR (S_IFDIR)); verify (!S_ISCHR (S_IFIFO)); @@ -85,7 +92,9 @@ verify (!S_ISCHR (S_IFLNK)); verify (!S_ISCHR (S_IFSOCK)); #endif +#ifdef S_IFBLK verify (!S_ISDIR (S_IFBLK)); +#endif verify (!S_ISDIR (S_IFCHR)); verify (S_ISDIR (S_IFDIR)); verify (!S_ISDIR (S_IFIFO)); @@ -97,7 +106,9 @@ verify (!S_ISDIR (S_IFLNK)); verify (!S_ISDIR (S_IFSOCK)); #endif +#ifdef S_IFBLK verify (!S_ISFIFO (S_IFBLK)); +#endif verify (!S_ISFIFO (S_IFCHR)); verify (!S_ISFIFO (S_IFDIR)); verify (S_ISFIFO (S_IFIFO)); @@ -109,7 +120,9 @@ verify (!S_ISFIFO (S_IFLNK)); verify (!S_ISFIFO (S_IFSOCK)); #endif +#ifdef S_IFBLK verify (!S_ISREG (S_IFBLK)); +#endif verify (!S_ISREG (S_IFCHR)); verify (!S_ISREG (S_IFDIR)); verify (!S_ISREG (S_IFIFO)); @@ -121,7 +134,9 @@ verify (!S_ISREG (S_IFLNK)); verify (!S_ISREG (S_IFSOCK)); #endif +#ifdef S_IFBLK verify (!S_ISLNK (S_IFBLK)); +#endif verify (!S_ISLNK (S_IFCHR)); verify (!S_ISLNK (S_IFDIR)); verify (!S_ISLNK (S_IFIFO)); @@ -133,7 +148,9 @@ verify (S_ISLNK (S_IFLNK)); verify (!S_ISLNK (S_IFSOCK)); #endif +#ifdef S_IFBLK verify (!S_ISSOCK (S_IFBLK)); +#endif verify (!S_ISSOCK (S_IFCHR)); verify (!S_ISSOCK (S_IFDIR)); verify (!S_ISSOCK (S_IFIFO)); @@ -145,7 +162,9 @@ verify (!S_ISSOCK (S_IFLNK)); verify (S_ISSOCK (S_IFSOCK)); #endif +#ifdef S_IFBLK verify (!S_ISDOOR (S_IFBLK)); +#endif verify (!S_ISDOOR (S_IFCHR)); verify (!S_ISDOOR (S_IFDIR)); verify (!S_ISDOOR (S_IFIFO)); @@ -157,7 +176,9 @@ verify (!S_ISDOOR (S_IFLNK)); verify (!S_ISDOOR (S_IFSOCK)); #endif +#ifdef S_IFBLK verify (!S_ISMPB (S_IFBLK)); +#endif verify (!S_ISMPB (S_IFCHR)); verify (!S_ISMPB (S_IFDIR)); verify (!S_ISMPB (S_IFIFO)); @@ -169,7 +190,9 @@ verify (!S_ISMPB (S_IFLNK)); verify (!S_ISMPB (S_IFSOCK)); #endif +#ifdef S_IFBLK verify (!S_ISNAM (S_IFBLK)); +#endif verify (!S_ISNAM (S_IFCHR)); verify (!S_ISNAM (S_IFDIR)); verify (!S_ISNAM (S_IFIFO)); @@ -181,7 +204,9 @@ verify (!S_ISNAM (S_IFLNK)); verify (!S_ISNAM (S_IFSOCK)); #endif +#ifdef S_IFBLK verify (!S_ISNWK (S_IFBLK)); +#endif verify (!S_ISNWK (S_IFCHR)); verify (!S_ISNWK (S_IFDIR)); verify (!S_ISNWK (S_IFIFO)); @@ -193,7 +218,9 @@ verify (!S_ISNWK (S_IFLNK)); verify (!S_ISNWK (S_IFSOCK)); #endif +#ifdef S_IFBLK verify (!S_ISPORT (S_IFBLK)); +#endif verify (!S_ISPORT (S_IFCHR)); verify (!S_ISPORT (S_IFDIR)); verify (!S_ISPORT (S_IFIFO)); @@ -205,7 +232,9 @@ verify (!S_ISPORT (S_IFLNK)); verify (!S_ISPORT (S_IFSOCK)); #endif +#ifdef S_IFBLK verify (!S_ISCTG (S_IFBLK)); +#endif verify (!S_ISCTG (S_IFCHR)); verify (!S_ISCTG (S_IFDIR)); verify (!S_ISCTG (S_IFIFO)); @@ -217,7 +246,9 @@ verify (!S_ISCTG (S_IFLNK)); verify (!S_ISCTG (S_IFSOCK)); #endif +#ifdef S_IFBLK verify (!S_ISOFD (S_IFBLK)); +#endif verify (!S_ISOFD (S_IFCHR)); verify (!S_ISOFD (S_IFDIR)); verify (!S_ISOFD (S_IFIFO)); @@ -229,7 +260,9 @@ verify (!S_ISOFD (S_IFLNK)); verify (!S_ISOFD (S_IFSOCK)); #endif +#ifdef S_IFBLK verify (!S_ISOFL (S_IFBLK)); +#endif verify (!S_ISOFL (S_IFCHR)); verify (!S_ISOFL (S_IFDIR)); verify (!S_ISOFL (S_IFIFO)); @@ -241,7 +274,9 @@ verify (!S_ISOFL (S_IFLNK)); verify (!S_ISOFL (S_IFSOCK)); #endif +#ifdef S_IFBLK verify (!S_ISWHT (S_IFBLK)); +#endif verify (!S_ISWHT (S_IFCHR)); verify (!S_ISWHT (S_IFDIR)); verify (!S_ISWHT (S_IFIFO)); @@ -278,8 +313,10 @@ invalid UTIME macros /* Check the existence of some types. */ nlink_t t1; +off_t t2; +mode_t t3; -struct timespec t2; +struct timespec st; int main (void) diff --git a/tests/test-sys_types-c++.cc b/tests/test-sys_types-c++.cc new file mode 100644 index 000000000..4358f2ee1 --- /dev/null +++ b/tests/test-sys_types-c++.cc @@ -0,0 +1,28 @@ +/* Test of substitute in C++ mode. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2011. */ + +#define GNULIB_NAMESPACE gnulib +#include + +#include + + +int +main () +{ +} diff --git a/tests/test-sys_types.c b/tests/test-sys_types.c new file mode 100644 index 000000000..816c9d616 --- /dev/null +++ b/tests/test-sys_types.c @@ -0,0 +1,34 @@ +/* Test of substitute. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2011. */ + +#include + +#include + +/* Check that the types are all defined. */ +pid_t t1; +size_t t2; +ssize_t t3; +off_t t4; +mode_t t5; + +int +main (void) +{ + return 0; +} diff --git a/tests/test-tanf.c b/tests/test-tanf.c new file mode 100644 index 000000000..4539fb54c --- /dev/null +++ b/tests/test-tanf.c @@ -0,0 +1,40 @@ +/* Test of tanf() function. + Copyright (C) 2010-2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2010-2011. */ + +#include + +#include + +#include "signature.h" +SIGNATURE_CHECK (tanf, float, (float)); + +#include "macros.h" + +volatile float x; +float y; + +int +main () +{ + /* A particular value. */ + x = 0.6f; + y = tanf (x); + ASSERT (y >= 0.6841368f && y <= 0.6841369f); + + return 0; +} diff --git a/tests/test-tanhf.c b/tests/test-tanhf.c new file mode 100644 index 000000000..22e1cf2d8 --- /dev/null +++ b/tests/test-tanhf.c @@ -0,0 +1,40 @@ +/* Test of tanhf() function. + Copyright (C) 2010-2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2010-2011. */ + +#include + +#include + +#include "signature.h" +SIGNATURE_CHECK (tanhf, float, (float)); + +#include "macros.h" + +volatile float x; +float y; + +int +main () +{ + /* A particular value. */ + x = 0.6f; + y = tanhf (x); + ASSERT (y >= 0.5370495f && y <= 0.5370497f); + + return 0; +} diff --git a/tests/test-termios.c b/tests/test-termios.c index 9144b1b49..f6b1d021a 100644 --- a/tests/test-termios.c +++ b/tests/test-termios.c @@ -20,6 +20,9 @@ #include +/* Check that the types are all defined. */ +pid_t t1; + int main (void) { diff --git a/tests/test-time.c b/tests/test-time.c index 0c78f36c6..d499a5ca1 100644 --- a/tests/test-time.c +++ b/tests/test-time.c @@ -22,7 +22,13 @@ #include "verify.h" -struct timespec a; +/* Check that the types are all defined. */ +struct timespec t1; +#if 0 +/* POSIX:2008 does not require pid_t in unconditionally, and indeed + it's missing on MacOS X 10.5, FreeBSD 6.4, OpenBSD 4.9, mingw. */ +pid_t t2; +#endif /* Check that NULL can be passed through varargs as a pointer type, per POSIX 2008. */ diff --git a/tests/test-trunc1.c b/tests/test-trunc1.c index f272aae27..4e18ef44f 100644 --- a/tests/test-trunc1.c +++ b/tests/test-trunc1.c @@ -25,6 +25,7 @@ SIGNATURE_CHECK (trunc, double, (double)); #include "isnand-nolibm.h" #include "minus-zero.h" +#include "infinity.h" #include "nan.h" #include "macros.h" @@ -55,8 +56,8 @@ main () ASSERT (trunc (-65536.0) == -65536.0); ASSERT (trunc (-2.341e31) == -2.341e31); /* Infinite numbers. */ - ASSERT (trunc (1.0 / 0.0) == 1.0 / 0.0); - ASSERT (trunc (-1.0 / 0.0) == -1.0 / 0.0); + ASSERT (trunc (Infinityd ()) == Infinityd ()); + ASSERT (trunc (- Infinityd ()) == - Infinityd ()); /* NaNs. */ ASSERT (isnand (trunc (NaNd ()))); diff --git a/tests/test-truncf1.c b/tests/test-truncf1.c index 5d7a4efb1..c356d93fa 100644 --- a/tests/test-truncf1.c +++ b/tests/test-truncf1.c @@ -25,6 +25,7 @@ SIGNATURE_CHECK (truncf, float, (float)); #include "isnanf-nolibm.h" #include "minus-zero.h" +#include "infinity.h" #include "nan.h" #include "macros.h" @@ -55,8 +56,8 @@ main () ASSERT (truncf (-65536.0f) == -65536.0f); ASSERT (truncf (-2.341e31f) == -2.341e31f); /* Infinite numbers. */ - ASSERT (truncf (1.0f / 0.0f) == 1.0f / 0.0f); - ASSERT (truncf (-1.0f / 0.0f) == -1.0f / 0.0f); + ASSERT (truncf (Infinityf ()) == Infinityf ()); + ASSERT (truncf (- Infinityf ()) == - Infinityf ()); /* NaNs. */ ASSERT (isnanf (truncf (NaNf ()))); diff --git a/tests/test-truncl.c b/tests/test-truncl.c index ef9345639..c64816689 100644 --- a/tests/test-truncl.c +++ b/tests/test-truncl.c @@ -28,6 +28,7 @@ SIGNATURE_CHECK (truncl, long double, (long double)); #include "fpucw.h" #include "isnanl-nolibm.h" #include "minus-zero.h" +#include "infinity.h" #include "nan.h" #include "macros.h" @@ -62,8 +63,8 @@ main () ASSERT (truncl (-65536.0L) == -65536.0L); ASSERT (truncl (-2.341e31L) == -2.341e31L); /* Infinite numbers. */ - ASSERT (truncl (1.0L / 0.0L) == 1.0L / 0.0L); - ASSERT (truncl (-1.0L / 0.0L) == -1.0L / 0.0L); + ASSERT (truncl (Infinityl ()) == Infinityl ()); + ASSERT (truncl (- Infinityl ()) == - Infinityl ()); /* NaNs. */ ASSERT (isnanl (truncl (NaNl ()))); diff --git a/tests/test-ttyname_r.c b/tests/test-ttyname_r.c index 698eb8782..c28fe30fe 100644 --- a/tests/test-ttyname_r.c +++ b/tests/test-ttyname_r.c @@ -47,5 +47,19 @@ main (void) ASSERT (ttyname_r (fd, buf, sizeof (buf)) == 0); ASSERT (memcmp (buf, "/dev/", 5) == 0); + /* Test behaviour for invalid file descriptors. */ + { + int err = ttyname_r (-1, buf, sizeof (buf)); + ASSERT (err == EBADF + || err == ENOTTY /* seen on FreeBSD 6.4 */ + ); + } + { + int err = ttyname_r (99, buf, sizeof (buf)); + ASSERT (err == EBADF + || err == ENOTTY /* seen on FreeBSD 6.4 */ + ); + } + return 0; } diff --git a/tests/test-unistd-c++.cc b/tests/test-unistd-c++.cc index 12e415b00..e9244b32e 100644 --- a/tests/test-unistd-c++.cc +++ b/tests/test-unistd-c++.cc @@ -24,6 +24,10 @@ #include "signature.h" +#if GNULIB_TEST_CHDIR +SIGNATURE_CHECK (GNULIB_NAMESPACE::chdir, int, (const char *)); +#endif + #if GNULIB_TEST_CHOWN SIGNATURE_CHECK (GNULIB_NAMESPACE::chown, int, (const char *, uid_t, gid_t)); #endif @@ -32,7 +36,9 @@ SIGNATURE_CHECK (GNULIB_NAMESPACE::chown, int, (const char *, uid_t, gid_t)); SIGNATURE_CHECK (GNULIB_NAMESPACE::close, int, (int)); #endif +#if GNULIB_TEST_DUP SIGNATURE_CHECK (GNULIB_NAMESPACE::dup, int, (int)); +#endif #if GNULIB_TEST_DUP2 SIGNATURE_CHECK (GNULIB_NAMESPACE::dup2, int, (int, int)); @@ -60,6 +66,10 @@ SIGNATURE_CHECK (GNULIB_NAMESPACE::fchownat, int, (int, char const *, uid_t, gid_t, int)); #endif +#if GNULIB_TEST_FDATASYNC +SIGNATURE_CHECK (GNULIB_NAMESPACE::fdatasync, int, (int)); +#endif + #if GNULIB_TEST_FSYNC SIGNATURE_CHECK (GNULIB_NAMESPACE::fsync, int, (int)); #endif diff --git a/tests/test-unlinkat.c b/tests/test-unlinkat.c index 30af671a3..7d25b6ede 100644 --- a/tests/test-unlinkat.c +++ b/tests/test-unlinkat.c @@ -68,6 +68,18 @@ main (int argc _GL_UNUSED, char *argv[]) /* Remove any leftovers from a previous partial run. */ ignore_value (system ("rm -rf " BASE "*")); + /* Test behaviour for invalid file descriptors. */ + { + errno = 0; + ASSERT (unlinkat (-1, "foo", 0) == -1); + ASSERT (errno == EBADF); + } + { + errno = 0; + ASSERT (unlinkat (99, "foo", 0) == -1); + ASSERT (errno == EBADF); + } + result1 = test_rmdir_func (rmdirat, false); result2 = test_unlink_func (unlinker, false); ASSERT (result1 == result2); diff --git a/tests/test-unlockpt.c b/tests/test-unlockpt.c new file mode 100644 index 000000000..4717e7d83 --- /dev/null +++ b/tests/test-unlockpt.c @@ -0,0 +1,50 @@ +/* Test unlocking of the slave side of a pseudo-terminal. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include + +#include "signature.h" +SIGNATURE_CHECK (unlockpt, int, (int)); + +#include + +#include "macros.h" + +int +main (void) +{ + /* Test behaviour for invalid file descriptors. */ +#if !defined __NetBSD__ /* known bug on NetBSD 5.1 */ + { + errno = 0; + ASSERT (unlockpt (-1) == -1); + ASSERT (errno == EBADF + || errno == EINVAL /* seen on FreeBSD 6.4 */ + ); + } + { + errno = 0; + ASSERT (unlockpt (99) == -1); + ASSERT (errno == EBADF + || errno == EINVAL /* seen on FreeBSD 6.4 */ + ); + } +#endif + + return 0; +} diff --git a/tests/test-update-copyright.sh b/tests/test-update-copyright.sh index a1fce0b57..87054eca5 100755 --- a/tests/test-update-copyright.sh +++ b/tests/test-update-copyright.sh @@ -103,7 +103,7 @@ Copyright (C) 1990-2005, 2007-2009 Acme, Inc. EOF UPDATE_COPYRIGHT_YEAR=2009 \ - update-copyright $TMP.* 1> $TMP-stdout 2> $TMP-stderr + update-copyright $TMP.? 1> $TMP-stdout 2> $TMP-stderr compare /dev/null $TMP-stdout || exit 1 compare - $TMP-stderr < $TMP-stdout 2> $TMP-stderr + update-copyright $TMP.? 1> $TMP-stdout 2> $TMP-stderr compare /dev/null $TMP-stdout || exit 1 compare - $TMP-stderr < $TMP-stdout 2> $TMP-stderr + update-copyright $TMP.? 1> $TMP-stdout 2> $TMP-stderr compare /dev/null $TMP-stdout || exit 1 compare - $TMP-stderr <st_ctime < b->st_ctime) + return -1; + else if (b->st_ctime < a->st_ctime) + return 1; + else if (get_stat_ctime_ns (a) < get_stat_ctime_ns (b)) + return -1; + else if (get_stat_ctime_ns (b) < get_stat_ctime_ns (a)) + return 1; + else + return 0; +} + #endif /* GL_TEST_UTIMENS_COMMON */ diff --git a/tests/test-utimens.h b/tests/test-utimens.h index c61bae517..80618e5ea 100644 --- a/tests/test-utimens.h +++ b/tests/test-utimens.h @@ -38,9 +38,7 @@ test_utimens (int (*func) (char const *, struct timespec const *), bool print) ASSERT (stat (BASE "file", &st2) == 0); ASSERT (0 <= utimecmp (BASE "file", &st2, &st1, UTIMECMP_TRUNCATE_SOURCE)); if (check_ctime) - ASSERT (st1.st_ctime < st2.st_ctime - || (st1.st_ctime == st2.st_ctime - && get_stat_ctime_ns (&st1) < get_stat_ctime_ns (&st2))); + ASSERT (ctime_compare (&st1, &st2) < 0); { /* On some NFS systems, the 'now' timestamp of creat or a NULL timespec is determined by the server, but the 'now' timestamp @@ -102,9 +100,7 @@ test_utimens (int (*func) (char const *, struct timespec const *), bool print) ASSERT (0 <= get_stat_mtime_ns (&st2)); ASSERT (get_stat_mtime_ns (&st2) < BILLION); if (check_ctime) - ASSERT (st1.st_ctime < st2.st_ctime - || (st1.st_ctime == st2.st_ctime - && get_stat_ctime_ns (&st1) < get_stat_ctime_ns (&st2))); + ASSERT (ctime_compare (&st1, &st2) < 0); } /* Play with UTIME_OMIT, UTIME_NOW. */ @@ -120,9 +116,7 @@ test_utimens (int (*func) (char const *, struct timespec const *), bool print) /* See comment above about this utimecmp call. */ ASSERT (0 <= utimecmp (BASE "file", &st3, &st1, UTIMECMP_TRUNCATE_SOURCE)); if (check_ctime) - ASSERT (st2.st_ctime < st3.st_ctime - || (st2.st_ctime == st3.st_ctime - && get_stat_ctime_ns (&st2) < get_stat_ctime_ns (&st3))); + ASSERT (ctime_compare (&st2, &st3) < 0); nap (); ts[0].tv_nsec = 0; ts[1].tv_nsec = UTIME_OMIT; @@ -133,9 +127,7 @@ test_utimens (int (*func) (char const *, struct timespec const *), bool print) ASSERT (st3.st_mtime == st2.st_mtime); ASSERT (get_stat_mtime_ns (&st3) == get_stat_mtime_ns (&st2)); if (check_ctime) - ASSERT (st3.st_ctime < st2.st_ctime - || (st3.st_ctime == st2.st_ctime - && get_stat_ctime_ns (&st3) < get_stat_ctime_ns (&st2))); + ASSERT (ctime_compare (&st3, &st2) < 0); } /* Make sure this dereferences symlinks. */ diff --git a/tests/test-utimensat.c b/tests/test-utimensat.c index d5b306f0f..c3672db82 100644 --- a/tests/test-utimensat.c +++ b/tests/test-utimensat.c @@ -69,6 +69,18 @@ main (void) /* Clean up any trash from prior testsuite runs. */ ignore_value (system ("rm -rf " BASE "*")); + /* Test behaviour for invalid file descriptors. */ + { + errno = 0; + ASSERT (utimensat (-1, "foo", NULL, 0) == -1); + ASSERT (errno == EBADF); + } + { + errno = 0; + ASSERT (utimensat (99, "foo", NULL, 0) == -1); + ASSERT (errno == EBADF); + } + /* Basic tests. */ result1 = test_utimens (do_utimensat, true); result2 = test_lutimens (do_lutimensat, result1 == 0); diff --git a/tests/test-vasnprintf-posix.c b/tests/test-vasnprintf-posix.c index dea0d3c1b..c2715ea13 100644 --- a/tests/test-vasnprintf-posix.c +++ b/tests/test-vasnprintf-posix.c @@ -30,6 +30,7 @@ #include "macros.h" #include "minus-zero.h" +#include "infinity.h" #include "nan.h" /* The SGI MIPS floating-point format does not distinguish 0.0 and -0.0. */ @@ -217,7 +218,7 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...)) { /* Positive infinity. */ size_t length; char *result = - my_asnprintf (NULL, &length, "%a %d", 1.0 / 0.0, 33, 44, 55); + my_asnprintf (NULL, &length, "%a %d", Infinityd (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "inf 33") == 0); ASSERT (length == strlen (result)); @@ -227,7 +228,7 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...)) { /* Negative infinity. */ size_t length; char *result = - my_asnprintf (NULL, &length, "%a %d", -1.0 / 0.0, 33, 44, 55); + my_asnprintf (NULL, &length, "%a %d", - Infinityd (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "-inf 33") == 0); ASSERT (length == strlen (result)); @@ -458,7 +459,7 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...)) { /* FLAG_ZERO with infinite number. */ size_t length; char *result = - my_asnprintf (NULL, &length, "%010a %d", 1.0 / 0.0, 33, 44, 55); + my_asnprintf (NULL, &length, "%010a %d", Infinityd (), 33, 44, 55); ASSERT (result != NULL); /* "0000000inf 33" is not a valid result; see */ @@ -531,7 +532,7 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...)) { /* Positive infinity. */ size_t length; char *result = - my_asnprintf (NULL, &length, "%La %d", 1.0L / 0.0L, 33, 44, 55); + my_asnprintf (NULL, &length, "%La %d", Infinityl (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "inf 33") == 0); ASSERT (length == strlen (result)); @@ -541,7 +542,7 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...)) { /* Negative infinity. */ size_t length; char *result = - my_asnprintf (NULL, &length, "%La %d", -1.0L / 0.0L, 33, 44, 55); + my_asnprintf (NULL, &length, "%La %d", - Infinityl (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "-inf 33") == 0); ASSERT (length == strlen (result)); @@ -559,7 +560,7 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...)) ASSERT (length == strlen (result)); free (result); } -#if CHECK_PRINTF_SAFE && ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) +#if CHECK_PRINTF_SAFE && ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) && !HAVE_SAME_LONG_DOUBLE_AS_DOUBLE { /* Quiet NaN. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0xFFFF, 0xC3333333, 0x00000000) }; @@ -874,7 +875,7 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...)) { /* FLAG_ZERO with infinite number. */ size_t length; char *result = - my_asnprintf (NULL, &length, "%010La %d", 1.0L / 0.0L, 33, 44, 55); + my_asnprintf (NULL, &length, "%010La %d", Infinityl (), 33, 44, 55); ASSERT (result != NULL); /* "0000000inf 33" is not a valid result; see */ @@ -1044,7 +1045,7 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...)) { /* Positive infinity. */ size_t length; char *result = - my_asnprintf (NULL, &length, "%f %d", 1.0 / 0.0, 33, 44, 55); + my_asnprintf (NULL, &length, "%f %d", Infinityd (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "inf 33") == 0 || strcmp (result, "infinity 33") == 0); @@ -1055,7 +1056,7 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...)) { /* Negative infinity. */ size_t length; char *result = - my_asnprintf (NULL, &length, "%f %d", -1.0 / 0.0, 33, 44, 55); + my_asnprintf (NULL, &length, "%f %d", - Infinityd (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "-inf 33") == 0 || strcmp (result, "-infinity 33") == 0); @@ -1148,7 +1149,7 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...)) { /* FLAG_ZERO with infinite number. */ size_t length; char *result = - my_asnprintf (NULL, &length, "%015f %d", -1.0 / 0.0, 33, 44, 55); + my_asnprintf (NULL, &length, "%015f %d", - Infinityd (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, " -inf 33") == 0 || strcmp (result, " -infinity 33") == 0); @@ -1343,7 +1344,7 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...)) { /* Positive infinity. */ size_t length; char *result = - my_asnprintf (NULL, &length, "%Lf %d", 1.0L / 0.0L, 33, 44, 55); + my_asnprintf (NULL, &length, "%Lf %d", Infinityl (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "inf 33") == 0 || strcmp (result, "infinity 33") == 0); @@ -1354,7 +1355,7 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...)) { /* Negative infinity. */ size_t length; char *result = - my_asnprintf (NULL, &length, "%Lf %d", -1.0L / 0.0L, 33, 44, 55); + my_asnprintf (NULL, &length, "%Lf %d", - Infinityl (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "-inf 33") == 0 || strcmp (result, "-infinity 33") == 0); @@ -1373,7 +1374,7 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...)) ASSERT (length == strlen (result)); free (result); } -#if CHECK_PRINTF_SAFE && ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) +#if CHECK_PRINTF_SAFE && ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) && !HAVE_SAME_LONG_DOUBLE_AS_DOUBLE { /* Quiet NaN. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0xFFFF, 0xC3333333, 0x00000000) }; @@ -1548,7 +1549,7 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...)) { /* FLAG_ZERO with infinite number. */ size_t length; char *result = - my_asnprintf (NULL, &length, "%015Lf %d", -1.0L / 0.0L, 33, 44, 55); + my_asnprintf (NULL, &length, "%015Lf %d", - Infinityl (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, " -inf 33") == 0 || strcmp (result, " -infinity 33") == 0); @@ -1654,7 +1655,7 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...)) { /* Positive infinity. */ size_t length; char *result = - my_asnprintf (NULL, &length, "%F %d", 1.0 / 0.0, 33, 44, 55); + my_asnprintf (NULL, &length, "%F %d", Infinityd (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "INF 33") == 0 || strcmp (result, "INFINITY 33") == 0); @@ -1665,7 +1666,7 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...)) { /* Negative infinity. */ size_t length; char *result = - my_asnprintf (NULL, &length, "%F %d", -1.0 / 0.0, 33, 44, 55); + my_asnprintf (NULL, &length, "%F %d", - Infinityd (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "-INF 33") == 0 || strcmp (result, "-INFINITY 33") == 0); @@ -1698,7 +1699,7 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...)) { /* FLAG_ZERO with infinite number. */ size_t length; char *result = - my_asnprintf (NULL, &length, "%015F %d", -1.0 / 0.0, 33, 44, 55); + my_asnprintf (NULL, &length, "%015F %d", - Infinityd (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, " -INF 33") == 0 || strcmp (result, " -INFINITY 33") == 0); @@ -1790,7 +1791,7 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...)) { /* Positive infinity. */ size_t length; char *result = - my_asnprintf (NULL, &length, "%LF %d", 1.0L / 0.0L, 33, 44, 55); + my_asnprintf (NULL, &length, "%LF %d", Infinityl (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "INF 33") == 0 || strcmp (result, "INFINITY 33") == 0); @@ -1801,7 +1802,7 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...)) { /* Negative infinity. */ size_t length; char *result = - my_asnprintf (NULL, &length, "%LF %d", -1.0L / 0.0L, 33, 44, 55); + my_asnprintf (NULL, &length, "%LF %d", - Infinityl (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "-INF 33") == 0 || strcmp (result, "-INFINITY 33") == 0); @@ -1834,7 +1835,7 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...)) { /* FLAG_ZERO with infinite number. */ size_t length; char *result = - my_asnprintf (NULL, &length, "%015LF %d", -1.0L / 0.0L, 33, 44, 55); + my_asnprintf (NULL, &length, "%015LF %d", - Infinityl (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, " -INF 33") == 0 || strcmp (result, " -INFINITY 33") == 0); @@ -2032,7 +2033,7 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...)) { /* Positive infinity. */ size_t length; char *result = - my_asnprintf (NULL, &length, "%e %d", 1.0 / 0.0, 33, 44, 55); + my_asnprintf (NULL, &length, "%e %d", Infinityd (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "inf 33") == 0 || strcmp (result, "infinity 33") == 0); @@ -2043,7 +2044,7 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...)) { /* Negative infinity. */ size_t length; char *result = - my_asnprintf (NULL, &length, "%e %d", -1.0 / 0.0, 33, 44, 55); + my_asnprintf (NULL, &length, "%e %d", - Infinityd (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "-inf 33") == 0 || strcmp (result, "-infinity 33") == 0); @@ -2154,7 +2155,7 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...)) { /* FLAG_ZERO with infinite number. */ size_t length; char *result = - my_asnprintf (NULL, &length, "%015e %d", -1.0 / 0.0, 33, 44, 55); + my_asnprintf (NULL, &length, "%015e %d", - Infinityd (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, " -inf 33") == 0 || strcmp (result, " -infinity 33") == 0); @@ -2365,7 +2366,7 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...)) { /* Positive infinity. */ size_t length; char *result = - my_asnprintf (NULL, &length, "%Le %d", 1.0L / 0.0L, 33, 44, 55); + my_asnprintf (NULL, &length, "%Le %d", Infinityl (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "inf 33") == 0 || strcmp (result, "infinity 33") == 0); @@ -2376,7 +2377,7 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...)) { /* Negative infinity. */ size_t length; char *result = - my_asnprintf (NULL, &length, "%Le %d", -1.0L / 0.0L, 33, 44, 55); + my_asnprintf (NULL, &length, "%Le %d", - Infinityl (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "-inf 33") == 0 || strcmp (result, "-infinity 33") == 0); @@ -2395,7 +2396,7 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...)) ASSERT (length == strlen (result)); free (result); } -#if CHECK_PRINTF_SAFE && ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) +#if CHECK_PRINTF_SAFE && ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) && !HAVE_SAME_LONG_DOUBLE_AS_DOUBLE { /* Quiet NaN. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0xFFFF, 0xC3333333, 0x00000000) }; @@ -2588,7 +2589,7 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...)) { /* FLAG_ZERO with infinite number. */ size_t length; char *result = - my_asnprintf (NULL, &length, "%015Le %d", -1.0L / 0.0L, 33, 44, 55); + my_asnprintf (NULL, &length, "%015Le %d", - Infinityl (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, " -inf 33") == 0 || strcmp (result, " -infinity 33") == 0); @@ -2798,7 +2799,7 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...)) { /* Positive infinity. */ size_t length; char *result = - my_asnprintf (NULL, &length, "%g %d", 1.0 / 0.0, 33, 44, 55); + my_asnprintf (NULL, &length, "%g %d", Infinityd (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "inf 33") == 0 || strcmp (result, "infinity 33") == 0); @@ -2809,7 +2810,7 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...)) { /* Negative infinity. */ size_t length; char *result = - my_asnprintf (NULL, &length, "%g %d", -1.0 / 0.0, 33, 44, 55); + my_asnprintf (NULL, &length, "%g %d", - Infinityd (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "-inf 33") == 0 || strcmp (result, "-infinity 33") == 0); @@ -2913,7 +2914,7 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...)) { /* FLAG_ZERO with infinite number. */ size_t length; char *result = - my_asnprintf (NULL, &length, "%015g %d", -1.0 / 0.0, 33, 44, 55); + my_asnprintf (NULL, &length, "%015g %d", - Infinityd (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, " -inf 33") == 0 || strcmp (result, " -infinity 33") == 0); @@ -3119,7 +3120,7 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...)) { /* Positive infinity. */ size_t length; char *result = - my_asnprintf (NULL, &length, "%Lg %d", 1.0L / 0.0L, 33, 44, 55); + my_asnprintf (NULL, &length, "%Lg %d", Infinityl (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "inf 33") == 0 || strcmp (result, "infinity 33") == 0); @@ -3130,7 +3131,7 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...)) { /* Negative infinity. */ size_t length; char *result = - my_asnprintf (NULL, &length, "%Lg %d", -1.0L / 0.0L, 33, 44, 55); + my_asnprintf (NULL, &length, "%Lg %d", - Infinityl (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "-inf 33") == 0 || strcmp (result, "-infinity 33") == 0); @@ -3149,7 +3150,7 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...)) ASSERT (length == strlen (result)); free (result); } -#if CHECK_PRINTF_SAFE && ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) +#if CHECK_PRINTF_SAFE && ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) && !HAVE_SAME_LONG_DOUBLE_AS_DOUBLE { /* Quiet NaN. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0xFFFF, 0xC3333333, 0x00000000) }; @@ -3335,7 +3336,7 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...)) { /* FLAG_ZERO with infinite number. */ size_t length; char *result = - my_asnprintf (NULL, &length, "%015Lg %d", -1.0L / 0.0L, 33, 44, 55); + my_asnprintf (NULL, &length, "%015Lg %d", - Infinityl (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, " -inf 33") == 0 || strcmp (result, " -infinity 33") == 0); diff --git a/tests/test-vasprintf-posix.c b/tests/test-vasprintf-posix.c index b819b5b67..60fa698c2 100644 --- a/tests/test-vasprintf-posix.c +++ b/tests/test-vasprintf-posix.c @@ -29,6 +29,7 @@ #include "macros.h" #include "minus-zero.h" +#include "infinity.h" #include "nan.h" /* The SGI MIPS floating-point format does not distinguish 0.0 and -0.0. */ @@ -197,7 +198,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...)) { /* Positive infinity. */ char *result; int retval = - my_asprintf (&result, "%a %d", 1.0 / 0.0, 33, 44, 55); + my_asprintf (&result, "%a %d", Infinityd (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "inf 33") == 0); ASSERT (retval == strlen (result)); @@ -207,7 +208,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...)) { /* Negative infinity. */ char *result; int retval = - my_asprintf (&result, "%a %d", -1.0 / 0.0, 33, 44, 55); + my_asprintf (&result, "%a %d", - Infinityd (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "-inf 33") == 0); ASSERT (retval == strlen (result)); @@ -438,7 +439,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...)) { /* FLAG_ZERO with infinite number. */ char *result; int retval = - my_asprintf (&result, "%010a %d", 1.0 / 0.0, 33, 44, 55); + my_asprintf (&result, "%010a %d", Infinityd (), 33, 44, 55); ASSERT (result != NULL); /* "0000000inf 33" is not a valid result; see */ @@ -511,7 +512,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...)) { /* Positive infinity. */ char *result; int retval = - my_asprintf (&result, "%La %d", 1.0L / 0.0L, 33, 44, 55); + my_asprintf (&result, "%La %d", Infinityl (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "inf 33") == 0); ASSERT (retval == strlen (result)); @@ -521,7 +522,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...)) { /* Negative infinity. */ char *result; int retval = - my_asprintf (&result, "%La %d", -1.0L / 0.0L, 33, 44, 55); + my_asprintf (&result, "%La %d", - Infinityl (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "-inf 33") == 0); ASSERT (retval == strlen (result)); @@ -539,7 +540,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...)) ASSERT (retval == strlen (result)); free (result); } -#if CHECK_PRINTF_SAFE && ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) +#if CHECK_PRINTF_SAFE && ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) && !HAVE_SAME_LONG_DOUBLE_AS_DOUBLE { /* Quiet NaN. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0xFFFF, 0xC3333333, 0x00000000) }; @@ -854,7 +855,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...)) { /* FLAG_ZERO with infinite number. */ char *result; int retval = - my_asprintf (&result, "%010La %d", 1.0L / 0.0L, 33, 44, 55); + my_asprintf (&result, "%010La %d", Infinityl (), 33, 44, 55); ASSERT (result != NULL); /* "0000000inf 33" is not a valid result; see */ @@ -1024,7 +1025,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...)) { /* Positive infinity. */ char *result; int retval = - my_asprintf (&result, "%f %d", 1.0 / 0.0, 33, 44, 55); + my_asprintf (&result, "%f %d", Infinityd (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "inf 33") == 0 || strcmp (result, "infinity 33") == 0); @@ -1035,7 +1036,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...)) { /* Negative infinity. */ char *result; int retval = - my_asprintf (&result, "%f %d", -1.0 / 0.0, 33, 44, 55); + my_asprintf (&result, "%f %d", - Infinityd (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "-inf 33") == 0 || strcmp (result, "-infinity 33") == 0); @@ -1128,7 +1129,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...)) { /* FLAG_ZERO with infinite number. */ char *result; int retval = - my_asprintf (&result, "%015f %d", -1.0 / 0.0, 33, 44, 55); + my_asprintf (&result, "%015f %d", - Infinityd (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, " -inf 33") == 0 || strcmp (result, " -infinity 33") == 0); @@ -1323,7 +1324,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...)) { /* Positive infinity. */ char *result; int retval = - my_asprintf (&result, "%Lf %d", 1.0L / 0.0L, 33, 44, 55); + my_asprintf (&result, "%Lf %d", Infinityl (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "inf 33") == 0 || strcmp (result, "infinity 33") == 0); @@ -1334,7 +1335,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...)) { /* Negative infinity. */ char *result; int retval = - my_asprintf (&result, "%Lf %d", -1.0L / 0.0L, 33, 44, 55); + my_asprintf (&result, "%Lf %d", - Infinityl (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "-inf 33") == 0 || strcmp (result, "-infinity 33") == 0); @@ -1353,7 +1354,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...)) ASSERT (retval == strlen (result)); free (result); } -#if CHECK_PRINTF_SAFE && ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) +#if CHECK_PRINTF_SAFE && ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) && !HAVE_SAME_LONG_DOUBLE_AS_DOUBLE { /* Quiet NaN. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0xFFFF, 0xC3333333, 0x00000000) }; @@ -1528,7 +1529,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...)) { /* FLAG_ZERO with infinite number. */ char *result; int retval = - my_asprintf (&result, "%015Lf %d", -1.0L / 0.0L, 33, 44, 55); + my_asprintf (&result, "%015Lf %d", - Infinityl (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, " -inf 33") == 0 || strcmp (result, " -infinity 33") == 0); @@ -1634,7 +1635,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...)) { /* Positive infinity. */ char *result; int retval = - my_asprintf (&result, "%F %d", 1.0 / 0.0, 33, 44, 55); + my_asprintf (&result, "%F %d", Infinityd (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "INF 33") == 0 || strcmp (result, "INFINITY 33") == 0); @@ -1645,7 +1646,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...)) { /* Negative infinity. */ char *result; int retval = - my_asprintf (&result, "%F %d", -1.0 / 0.0, 33, 44, 55); + my_asprintf (&result, "%F %d", - Infinityd (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "-INF 33") == 0 || strcmp (result, "-INFINITY 33") == 0); @@ -1678,7 +1679,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...)) { /* FLAG_ZERO with infinite number. */ char *result; int retval = - my_asprintf (&result, "%015F %d", -1.0 / 0.0, 33, 44, 55); + my_asprintf (&result, "%015F %d", - Infinityd (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, " -INF 33") == 0 || strcmp (result, " -INFINITY 33") == 0); @@ -1770,7 +1771,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...)) { /* Positive infinity. */ char *result; int retval = - my_asprintf (&result, "%LF %d", 1.0L / 0.0L, 33, 44, 55); + my_asprintf (&result, "%LF %d", Infinityl (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "INF 33") == 0 || strcmp (result, "INFINITY 33") == 0); @@ -1781,7 +1782,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...)) { /* Negative infinity. */ char *result; int retval = - my_asprintf (&result, "%LF %d", -1.0L / 0.0L, 33, 44, 55); + my_asprintf (&result, "%LF %d", - Infinityl (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "-INF 33") == 0 || strcmp (result, "-INFINITY 33") == 0); @@ -1814,7 +1815,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...)) { /* FLAG_ZERO with infinite number. */ char *result; int retval = - my_asprintf (&result, "%015LF %d", -1.0L / 0.0L, 33, 44, 55); + my_asprintf (&result, "%015LF %d", - Infinityl (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, " -INF 33") == 0 || strcmp (result, " -INFINITY 33") == 0); @@ -2012,7 +2013,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...)) { /* Positive infinity. */ char *result; int retval = - my_asprintf (&result, "%e %d", 1.0 / 0.0, 33, 44, 55); + my_asprintf (&result, "%e %d", Infinityd (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "inf 33") == 0 || strcmp (result, "infinity 33") == 0); @@ -2023,7 +2024,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...)) { /* Negative infinity. */ char *result; int retval = - my_asprintf (&result, "%e %d", -1.0 / 0.0, 33, 44, 55); + my_asprintf (&result, "%e %d", - Infinityd (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "-inf 33") == 0 || strcmp (result, "-infinity 33") == 0); @@ -2134,7 +2135,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...)) { /* FLAG_ZERO with infinite number. */ char *result; int retval = - my_asprintf (&result, "%015e %d", -1.0 / 0.0, 33, 44, 55); + my_asprintf (&result, "%015e %d", - Infinityd (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, " -inf 33") == 0 || strcmp (result, " -infinity 33") == 0); @@ -2345,7 +2346,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...)) { /* Positive infinity. */ char *result; int retval = - my_asprintf (&result, "%Le %d", 1.0L / 0.0L, 33, 44, 55); + my_asprintf (&result, "%Le %d", Infinityl (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "inf 33") == 0 || strcmp (result, "infinity 33") == 0); @@ -2356,7 +2357,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...)) { /* Negative infinity. */ char *result; int retval = - my_asprintf (&result, "%Le %d", -1.0L / 0.0L, 33, 44, 55); + my_asprintf (&result, "%Le %d", - Infinityl (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "-inf 33") == 0 || strcmp (result, "-infinity 33") == 0); @@ -2375,7 +2376,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...)) ASSERT (retval == strlen (result)); free (result); } -#if CHECK_PRINTF_SAFE && ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) +#if CHECK_PRINTF_SAFE && ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) && !HAVE_SAME_LONG_DOUBLE_AS_DOUBLE { /* Quiet NaN. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0xFFFF, 0xC3333333, 0x00000000) }; @@ -2568,7 +2569,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...)) { /* FLAG_ZERO with infinite number. */ char *result; int retval = - my_asprintf (&result, "%015Le %d", -1.0L / 0.0L, 33, 44, 55); + my_asprintf (&result, "%015Le %d", - Infinityl (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, " -inf 33") == 0 || strcmp (result, " -infinity 33") == 0); @@ -2778,7 +2779,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...)) { /* Positive infinity. */ char *result; int retval = - my_asprintf (&result, "%g %d", 1.0 / 0.0, 33, 44, 55); + my_asprintf (&result, "%g %d", Infinityd (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "inf 33") == 0 || strcmp (result, "infinity 33") == 0); @@ -2789,7 +2790,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...)) { /* Negative infinity. */ char *result; int retval = - my_asprintf (&result, "%g %d", -1.0 / 0.0, 33, 44, 55); + my_asprintf (&result, "%g %d", - Infinityd (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "-inf 33") == 0 || strcmp (result, "-infinity 33") == 0); @@ -2893,7 +2894,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...)) { /* FLAG_ZERO with infinite number. */ char *result; int retval = - my_asprintf (&result, "%015g %d", -1.0 / 0.0, 33, 44, 55); + my_asprintf (&result, "%015g %d", - Infinityd (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, " -inf 33") == 0 || strcmp (result, " -infinity 33") == 0); @@ -3099,7 +3100,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...)) { /* Positive infinity. */ char *result; int retval = - my_asprintf (&result, "%Lg %d", 1.0L / 0.0L, 33, 44, 55); + my_asprintf (&result, "%Lg %d", Infinityl (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "inf 33") == 0 || strcmp (result, "infinity 33") == 0); @@ -3110,7 +3111,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...)) { /* Negative infinity. */ char *result; int retval = - my_asprintf (&result, "%Lg %d", -1.0L / 0.0L, 33, 44, 55); + my_asprintf (&result, "%Lg %d", - Infinityl (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "-inf 33") == 0 || strcmp (result, "-infinity 33") == 0); @@ -3129,7 +3130,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...)) ASSERT (retval == strlen (result)); free (result); } -#if CHECK_PRINTF_SAFE && ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) +#if CHECK_PRINTF_SAFE && ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) && !HAVE_SAME_LONG_DOUBLE_AS_DOUBLE { /* Quiet NaN. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0xFFFF, 0xC3333333, 0x00000000) }; @@ -3315,7 +3316,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...)) { /* FLAG_ZERO with infinite number. */ char *result; int retval = - my_asprintf (&result, "%015Lg %d", -1.0L / 0.0L, 33, 44, 55); + my_asprintf (&result, "%015Lg %d", - Infinityl (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, " -inf 33") == 0 || strcmp (result, " -infinity 33") == 0); diff --git a/tests/test-vdprintf.c b/tests/test-vdprintf.c new file mode 100644 index 000000000..f860c6616 --- /dev/null +++ b/tests/test-vdprintf.c @@ -0,0 +1,56 @@ +/* Test of vdprintf() function. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include + +#include "signature.h" +SIGNATURE_CHECK (vdprintf, int, (int, const char *, va_list)); + +#include + +#include "macros.h" + +static int +my_dprintf (int fd, const char *format, ...) +{ + va_list args; + int ret; + + va_start (args, format); + ret = vdprintf (fd, format, args); + va_end (args); + return ret; +} + +int +main (int argc, char *argv[]) +{ + /* Test behaviour for invalid file descriptors. */ + { + errno = 0; + ASSERT (my_dprintf (-1, "test") == -1); + ASSERT (errno == EBADF); + } + { + errno = 0; + ASSERT (my_dprintf (99, "test") == -1); + ASSERT (errno == EBADF); + } + + return 0; +} diff --git a/tests/test-write.c b/tests/test-write.c new file mode 100644 index 000000000..9027f1910 --- /dev/null +++ b/tests/test-write.c @@ -0,0 +1,78 @@ +/* Test the write() function. + Copyright (C) 2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include + +#include "signature.h" +SIGNATURE_CHECK (write, ssize_t, (int, const void *, size_t)); + +#include +#include +#include + +#include "macros.h" + +int +main (void) +{ + const char *filename = "test-write.tmp"; + int fd; + + /* Create a file with a simple contents. */ + fd = open (filename, O_CREAT | O_WRONLY, 0600); + ASSERT (fd >= 0); + ASSERT (write (fd, "Hello World", 11) == 11); + ASSERT (close (fd) == 0); + + /* Write into the middle of the file. */ + fd = open (filename, O_WRONLY); + ASSERT (fd >= 0); + ASSERT (lseek (fd, 6, SEEK_SET) == 6); + ASSERT (write (fd, "fascination", 11) == 11); + + /* Verify the contents of the file. */ + { + char buf[64]; + int rfd = open (filename, O_RDONLY); + ASSERT (rfd >= 0); + ASSERT (read (rfd, buf, sizeof (buf)) == 17); + ASSERT (close (rfd) == 0); + ASSERT (memcmp (buf, "Hello fascination", 17) == 0); + } + + ASSERT (close (fd) == 0); + + /* Test behaviour for invalid file descriptors. */ + { + char byte = 'x'; + errno = 0; + ASSERT (write (-1, &byte, 1) == -1); + ASSERT (errno == EBADF); + } + { + char byte = 'x'; + errno = 0; + ASSERT (write (99, &byte, 1) == -1); + ASSERT (errno == EBADF); + } + + /* Clean up. */ + unlink (filename); + + return 0; +} diff --git a/top/GNUmakefile b/top/GNUmakefile index 6e00ec89e..86bc60fe3 100644 --- a/top/GNUmakefile +++ b/top/GNUmakefile @@ -45,12 +45,13 @@ include Makefile # Some projects override e.g., _autoreconf here. -include $(srcdir)/cfg.mk -include $(srcdir)/maint.mk # Allow cfg.mk to override these. _build-aux ?= build-aux _autoreconf ?= autoreconf -v +include $(srcdir)/maint.mk + # Ensure that $(VERSION) is up to date for dist-related targets, but not # for others: rerunning autoreconf and recompiling everything isn't cheap. _have-git-version-gen := \ @@ -100,6 +101,11 @@ srcdir = . # The package can override .DEFAULT_GOAL to run actions like autoreconf. -include ./cfg.mk + +# Allow cfg.mk to override these. +_build-aux ?= build-aux +_autoreconf ?= autoreconf -v + include ./maint.mk ifeq ($(.DEFAULT_GOAL),abort-due-to-no-makefile) diff --git a/top/README-release b/top/README-release index 0299c8236..d9f86b155 100644 --- a/top/README-release +++ b/top/README-release @@ -2,9 +2,9 @@ Here are most of the steps we (maintainers) follow when making a release. * start from a clean, up-to-date git directory. - git checkout master; git pull - -* Run ./configure && make maintainer-clean + make -k maintainer-clean || { ./configure && make maintainer-clean; } + git checkout master + git pull origin master * Ensure that the desired versions of autoconf, automake, etc. are in your PATH. See the buildreq list in bootstrap.conf for @@ -16,14 +16,12 @@ Here are most of the steps we (maintainers) follow when making a release. * Ensure that you've pushed all changes that belong in the release and that the NixOS/Hydra autobuilder is reporting all is well: - http://hydra.nixos.org/jobset/gnu/@PACKAGE@-master - -* Run bootstrap one last time. This downloads any new translations: + http://hydra.nixos.org/jobset/gnu/@PACKAGE@-master - ./bootstrap +* Run "./bootstrap && ./configure". This downloads any new translations: * Pre-release testing: - Ensure that make check syntax-check succeeds. + Ensure that "make check syntax-check" succeeds. * Run "make distcheck" diff --git a/top/maint.mk b/top/maint.mk index d36493454..e4efb5f7b 100644 --- a/top/maint.mk +++ b/top/maint.mk @@ -21,8 +21,12 @@ # ME := $(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST)) ME := maint.mk -# Override this in cfg.mk if you use a non-standard build-aux directory. -build_aux ?= $(srcdir)/build-aux +# Diagnostic for continued use of deprecated variable. +# Remove in 2013 +ifneq ($(build_aux),) + $(error "$(ME): \ +set $$(_build-aux) relative to $$(srcdir) instead of $$(build_aux)") +endif # Do not save the original name or timestamp in the .tar.gz file. # Use --rsyncable if available. @@ -34,7 +38,7 @@ GZIP_ENV = '--no-name --best $(gzip_rsyncable)' GIT = git VC = $(GIT) -VC_LIST = $(build_aux)/vc-list-files -C $(srcdir) +VC_LIST = $(srcdir)/$(_build-aux)/vc-list-files -C $(srcdir) # You can override this variable in cfg.mk to set your own regexp # matching files to ignore. @@ -274,7 +278,7 @@ define _sc_search_regexp endef sc_avoid_if_before_free: - @$(build_aux)/useless-if-before-free \ + @$(srcdir)/$(_build-aux)/useless-if-before-free \ $(useless_free_options) \ $$($(VC_LIST_EXCEPT) | grep -v useless-if-before-free) && \ { echo '$(ME): found useless "if" before "free" above' 1>&2; \ @@ -618,7 +622,17 @@ _stddef_syms_re = NULL|offsetof|ptrdiff_t|size_t|wchar_t # Prohibit the inclusion of stddef.h without an actual use. sc_prohibit_stddef_without_use: @h='stddef.h' \ - re='\<($(_stddef_syms_re)) *\(' \ + re='\<($(_stddef_syms_re))\>' \ + $(_sc_header_without_use) + +_de1 = dirfd|(close|(fd)?open|read|rewind|seek|tell)dir(64)?(_r)? +_de2 = (versionsort|struct dirent|getdirentries|alphasort|scandir(at)?)(64)? +_de3 = MAXNAMLEN|DIR|ino_t|d_ino|d_fileno|d_namlen +_dirent_syms_re = $(_de1)|$(_de2)|$(_de3) +# Prohibit the inclusion of dirent.h without an actual use. +sc_prohibit_dirent_without_use: + @h='dirent.h' \ + re='\<($(_dirent_syms_re))\>' \ $(_sc_header_without_use) # Prohibit the inclusion of verify.h without an actual use. @@ -749,10 +763,12 @@ gl_other_headers_ ?= \ # Perl -lne code to extract "significant" cpp-defined symbols from a # gnulib header file, eliminating a few common false-positives. +# The exempted names below are defined only conditionally in gnulib, +# and hence sometimes must/may be defined in application code. gl_extract_significant_defines_ = \ /^\# *define ([^_ (][^ (]*)(\s*\(|\s+\w+)/\ && $$2 !~ /(?:rpl_|_used_without_)/\ - && $$1 !~ /^(?:NSIG)$$/\ + && $$1 !~ /^(?:NSIG|ENODATA)$$/\ && $$1 !~ /^(?:SA_RESETHAND|SA_RESTART)$$/\ and print $$1 @@ -762,7 +778,8 @@ define def_sym_regex gen_h=$(gl_generated_headers_); \ (cd $(gnulib_dir)/lib; \ for f in *.in.h $(gl_other_headers_); do \ - perl -lne '$(gl_extract_significant_defines_)' $$f; \ + test -f $$f \ + && perl -lne '$(gl_extract_significant_defines_)' $$f; \ done; \ ) | sort -u \ | sed 's/^/^ *# *(define|undef) */;s/$$/\\>/' @@ -1078,16 +1095,20 @@ sc_makefile_path_separator_check: halt=$(msg) \ $(_sc_search_regexp) -# Check that `make alpha' will not fail at the end of the process. +# Check that `make alpha' will not fail at the end of the process, +# i.e., when pkg-M.N.tar.xz already exists (either in "." or in ../release) +# and is read-only. writable-files: - if test -d $(release_archive_dir); then :; else \ - for file in $(distdir).tar.gz \ - $(release_archive_dir)/$(distdir).tar.gz; do \ - test -e $$file || continue; \ - test -w $$file \ - || { echo ERROR: $$file is not writable; fail=1; }; \ + if test -d $(release_archive_dir); then \ + for file in $(DIST_ARCHIVES); do \ + for p in ./ $(release_archive_dir)/; do \ + test -e $$p$$file || continue; \ + test -w $$p$$file \ + || { echo ERROR: $$p$$file is not writable; fail=1; }; \ + done; \ done; \ test "$$fail" && exit 1 || : ; \ + else :; \ fi v_etc_file = $(gnulib_dir)/lib/version-etc.c @@ -1136,6 +1157,16 @@ sc_cross_check_PATH_usage_in_tests: 1>&2; exit 1; } || :; \ fi +# BRE regex of file contents to identify a test script. +_test_script_regex ?= \ + +# In tests, use "compare expected actual", not the reverse. +sc_prohibit_reversed_compare_failure: + @prohibit='\ .ann-sig \ - && gpgv .ann-sig - < /dev/null 2>&1 \ - | sed -n '/.*key ID \([0-9A-F]*\)/s//\1/p'; rm -f .ann-sig) + $$(git cat-file tag v$(VERSION) \ + | gpgv --status-fd 1 --keyring /dev/null - - 2>/dev/null \ + | sed -n '/^\[GNUPG:\] ERRSIG /{s///;s/ .*//p;q}') translation_project_ ?= coordinator@translationproject.org @@ -1203,7 +1234,7 @@ else endif announcement: NEWS ChangeLog $(rel-files) - @$(build_aux)/announce-gen \ + @$(srcdir)/$(_build-aux)/announce-gen \ --mail-headers='$(announcement_mail_headers_)' \ --release-type=$(RELEASE_TYPE) \ --package=$(PACKAGE) \ @@ -1227,7 +1258,7 @@ upload_dest_dir_ ?= $(PACKAGE) emit_upload_commands: @echo ===================================== @echo ===================================== - @echo "$(build_aux)/gnupload $(GNUPLOADFLAGS) \\" + @echo "$(srcdir)/$(_build-aux)/gnupload $(GNUPLOADFLAGS) \\" @echo " --to $(gnu_rel_host):$(upload_dest_dir_) \\" @echo " $(rel-files)" @echo '# send the ~/announce-$(my_distdir) e-mail' @@ -1235,9 +1266,9 @@ emit_upload_commands: @echo ===================================== define emit-commit-log - printf '%s\n' 'post-release administrivia' '' \ - '* NEWS: Add header line for next release.' \ - '* .prev-version: Record previous version.' \ + printf '%s\n' 'maint: post-release administrivia' '' \ + '* NEWS: Add header line for next release.' \ + '* .prev-version: Record previous version.' \ '* cfg.mk (old_NEWS_hash): Auto-update.' endef @@ -1322,7 +1353,7 @@ web-manual: @test -z "$(manual_title)" \ && { echo define manual_title in cfg.mk 1>&2; exit 1; } || : @cd '$(srcdir)/doc'; \ - $(SHELL) ../build-aux/gendocs.sh $(gendocs_options_) \ + $(SHELL) ../$(_build-aux)/gendocs.sh $(gendocs_options_) \ -o '$(abs_builddir)/doc/manual' \ --email $(PACKAGE_BUGREPORT) $(PACKAGE) \ "$(PACKAGE_NAME) - $(manual_title)" @@ -1387,7 +1418,7 @@ update-copyright-env ?= update-copyright: grep -l -w Copyright \ $$(export VC_LIST_EXCEPT_DEFAULT=COPYING && $(VC_LIST_EXCEPT)) \ - | $(update-copyright-env) xargs $(build_aux)/$@ + | $(update-copyright-env) xargs $(srcdir)/$(_build-aux)/$@ # This tight_scope test is skipped with a warning if $(_gl_TS_headers) is not # overridden and $(_gl_TS_dir)/Makefile.am does not mention noinst_HEADERS. @@ -1398,7 +1429,8 @@ _gl_TS_dir ?= src ALL_RECURSIVE_TARGETS += sc_tight_scope sc_tight_scope: tight-scope.mk - @if ! grep '^ *export _gl_TS_headers *=' $(srcdir)/cfg.mk \ + @fail=0; \ + if ! grep '^ *export _gl_TS_headers *=' $(srcdir)/cfg.mk \ > /dev/null \ && ! grep -w noinst_HEADERS $(srcdir)/$(_gl_TS_dir)/Makefile.am \ > /dev/null 2>&1; then \ @@ -1410,12 +1442,13 @@ sc_tight_scope: tight-scope.mk -f $(abs_top_builddir)/$< \ _gl_tight_scope \ || fail=1; \ - fi - @rm -f $< + fi; \ + rm -f $<; \ + exit $$fail tight-scope.mk: $(ME) @rm -f $@ $@-t - @perl -ne '/^# TS-start/.../^# TS-end/ and print' $(ME) > $@-t + @perl -ne '/^# TS-start/.../^# TS-end/ and print' $(srcdir)/$(ME) > $@-t @chmod a=r $@-t && mv $@-t $@ ifeq (a,b)