Merge branch 'stable'
authorIan Beckwith <ianb@erislabs.net>
Sun, 11 Dec 2011 06:53:29 +0000 (06:53 +0000)
committerIan Beckwith <ianb@erislabs.net>
Sun, 11 Dec 2011 06:53:29 +0000 (06:53 +0000)
2957 files changed:
ChangeLog
MODULES.html.sh
Makefile
NEWS
NEWS.stable
build-aux/announce-gen
build-aux/config.guess
build-aux/config.sub
build-aux/depcomp
build-aux/git-version-gen
build-aux/gitlog-to-changelog
build-aux/install-reloc
build-aux/install-sh
build-aux/mktempd
build-aux/texinfo.tex
check-copyright [new file with mode: 0755]
doc/fdl-1.3.texi
doc/fdl.texi
doc/glibc-functions/accept4.texi
doc/glibc-functions/acct.texi
doc/glibc-functions/addmntent.texi
doc/glibc-functions/addseverity.texi
doc/glibc-functions/adjtime.texi
doc/glibc-functions/adjtimex.texi
doc/glibc-functions/advance.texi
doc/glibc-functions/aio_init.texi
doc/glibc-functions/argp_err_exit_status.texi
doc/glibc-functions/argp_error.texi
doc/glibc-functions/argp_failure.texi
doc/glibc-functions/argp_help.texi
doc/glibc-functions/argp_parse.texi
doc/glibc-functions/argp_program_bug_address.texi
doc/glibc-functions/argp_program_version.texi
doc/glibc-functions/argp_program_version_hook.texi
doc/glibc-functions/argp_state_help.texi
doc/glibc-functions/argp_usage.texi
doc/glibc-functions/argz_add.texi
doc/glibc-functions/argz_add_sep.texi
doc/glibc-functions/argz_append.texi
doc/glibc-functions/argz_count.texi
doc/glibc-functions/argz_create.texi
doc/glibc-functions/argz_create_sep.texi
doc/glibc-functions/argz_delete.texi
doc/glibc-functions/argz_extract.texi
doc/glibc-functions/argz_insert.texi
doc/glibc-functions/argz_next.texi
doc/glibc-functions/argz_replace.texi
doc/glibc-functions/argz_stringify.texi
doc/glibc-functions/asprintf.texi
doc/glibc-functions/authdes_create.texi
doc/glibc-functions/authdes_getucred.texi
doc/glibc-functions/authdes_pk_create.texi
doc/glibc-functions/authnone_create.texi
doc/glibc-functions/authunix_create.texi
doc/glibc-functions/authunix_create_default.texi
doc/glibc-functions/backtrace.texi
doc/glibc-functions/backtrace_symbols.texi
doc/glibc-functions/backtrace_symbols_fd.texi
doc/glibc-functions/bdflush.texi
doc/glibc-functions/bind_textdomain_codeset.texi
doc/glibc-functions/bindresvport.texi
doc/glibc-functions/bindtextdomain.texi
doc/glibc-functions/brk.texi
doc/glibc-functions/bswap_16.texi
doc/glibc-functions/bswap_32.texi
doc/glibc-functions/bswap_64.texi
doc/glibc-functions/callrpc.texi
doc/glibc-functions/canonicalize_file_name.texi
doc/glibc-functions/capget.texi
doc/glibc-functions/capset.texi
doc/glibc-functions/cbc_crypt.texi
doc/glibc-functions/cfmakeraw.texi
doc/glibc-functions/cfree.texi
doc/glibc-functions/cfsetspeed.texi
doc/glibc-functions/chroot.texi
doc/glibc-functions/clearenv.texi
doc/glibc-functions/clearerr_unlocked.texi
doc/glibc-functions/clnt_broadcast.texi
doc/glibc-functions/clnt_create.texi
doc/glibc-functions/clnt_pcreateerror.texi
doc/glibc-functions/clnt_perrno.texi
doc/glibc-functions/clnt_perror.texi
doc/glibc-functions/clnt_spcreateerror.texi
doc/glibc-functions/clnt_sperrno.texi
doc/glibc-functions/clnt_sperror.texi
doc/glibc-functions/clntraw_create.texi
doc/glibc-functions/clnttcp_create.texi
doc/glibc-functions/clntudp_bufcreate.texi
doc/glibc-functions/clntudp_create.texi
doc/glibc-functions/clntunix_create.texi
doc/glibc-functions/clog10.texi
doc/glibc-functions/clog10f.texi
doc/glibc-functions/clog10l.texi
doc/glibc-functions/clone.texi
doc/glibc-functions/crypt_r.texi
doc/glibc-functions/cuserid.texi
doc/glibc-functions/daemon.texi
doc/glibc-functions/dcgettext.texi
doc/glibc-functions/dcngettext.texi
doc/glibc-functions/des_setparity.texi
doc/glibc-functions/dgettext.texi
doc/glibc-functions/dl_iterate_phdr.texi
doc/glibc-functions/dladdr.texi
doc/glibc-functions/dladdr1.texi
doc/glibc-functions/dlinfo.texi
doc/glibc-functions/dlmopen.texi
doc/glibc-functions/dlvsym.texi
doc/glibc-functions/dn_expand.texi
doc/glibc-functions/dngettext.texi
doc/glibc-functions/drand48_r.texi
doc/glibc-functions/drem.texi
doc/glibc-functions/dremf.texi
doc/glibc-functions/dreml.texi
doc/glibc-functions/dup3.texi
doc/glibc-functions/dysize.texi
doc/glibc-functions/ecb_crypt.texi
doc/glibc-functions/ecvt_r.texi
doc/glibc-functions/encrypt_r.texi
doc/glibc-functions/endaliasent.texi
doc/glibc-functions/endfsent.texi
doc/glibc-functions/endmntent.texi
doc/glibc-functions/endnetgrent.texi
doc/glibc-functions/endrpcent.texi
doc/glibc-functions/endsgent.texi
doc/glibc-functions/endspent.texi
doc/glibc-functions/endttyent.texi
doc/glibc-functions/endusershell.texi
doc/glibc-functions/endutent.texi
doc/glibc-functions/envz_add.texi
doc/glibc-functions/envz_entry.texi
doc/glibc-functions/envz_get.texi
doc/glibc-functions/envz_merge.texi
doc/glibc-functions/envz_remove.texi
doc/glibc-functions/envz_strip.texi
doc/glibc-functions/epoll_create.texi
doc/glibc-functions/epoll_ctl.texi
doc/glibc-functions/epoll_wait.texi
doc/glibc-functions/erand48_r.texi
doc/glibc-functions/err.texi
doc/glibc-functions/error.texi
doc/glibc-functions/error_at_line.texi
doc/glibc-functions/error_message_count.texi
doc/glibc-functions/error_one_per_line.texi
doc/glibc-functions/error_print_progname.texi
doc/glibc-functions/errx.texi
doc/glibc-functions/ether_aton.texi
doc/glibc-functions/ether_aton_r.texi
doc/glibc-functions/ether_hostton.texi
doc/glibc-functions/ether_line.texi
doc/glibc-functions/ether_ntoa.texi
doc/glibc-functions/ether_ntoa_r.texi
doc/glibc-functions/ether_ntohost.texi
doc/glibc-functions/euidaccess.texi
doc/glibc-functions/exp10.texi
doc/glibc-functions/exp10f.texi
doc/glibc-functions/exp10l.texi
doc/glibc-functions/fallocate.texi
doc/glibc-functions/fcvt_r.texi
doc/glibc-functions/fedisableexcept.texi
doc/glibc-functions/feenableexcept.texi
doc/glibc-functions/fegetexcept.texi
doc/glibc-functions/feof_unlocked.texi
doc/glibc-functions/ferror_unlocked.texi
doc/glibc-functions/fflush_unlocked.texi
doc/glibc-functions/ffsl.texi
doc/glibc-functions/ffsll.texi
doc/glibc-functions/fgetc_unlocked.texi
doc/glibc-functions/fgetgrent.texi
doc/glibc-functions/fgetgrent_r.texi
doc/glibc-functions/fgetpwent.texi
doc/glibc-functions/fgetpwent_r.texi
doc/glibc-functions/fgets_unlocked.texi
doc/glibc-functions/fgetsgent.texi
doc/glibc-functions/fgetsgent_r.texi
doc/glibc-functions/fgetspent.texi
doc/glibc-functions/fgetspent_r.texi
doc/glibc-functions/fgetwc_unlocked.texi
doc/glibc-functions/fgetws_unlocked.texi
doc/glibc-functions/fgetxattr.texi
doc/glibc-functions/fileno_unlocked.texi
doc/glibc-functions/finite.texi
doc/glibc-functions/finitef.texi
doc/glibc-functions/finitel.texi
doc/glibc-functions/flistxattr.texi
doc/glibc-functions/flock.texi
doc/glibc-functions/fopencookie.texi
doc/glibc-functions/forkpty.texi
doc/glibc-functions/fputc_unlocked.texi
doc/glibc-functions/fputs_unlocked.texi
doc/glibc-functions/fputwc_unlocked.texi
doc/glibc-functions/fputws_unlocked.texi
doc/glibc-functions/fread_unlocked.texi
doc/glibc-functions/freeifaddrs.texi
doc/glibc-functions/fremovexattr.texi
doc/glibc-functions/fsetxattr.texi
doc/glibc-functions/fstatfs.texi
doc/glibc-functions/fts_children.texi
doc/glibc-functions/fts_close.texi
doc/glibc-functions/fts_open.texi
doc/glibc-functions/fts_read.texi
doc/glibc-functions/fts_set.texi
doc/glibc-functions/futimes.texi
doc/glibc-functions/futimesat.texi
doc/glibc-functions/fwrite_unlocked.texi
doc/glibc-functions/gamma.texi
doc/glibc-functions/gammaf.texi
doc/glibc-functions/gammal.texi
doc/glibc-functions/get_avphys_pages.texi
doc/glibc-functions/get_current_dir_name.texi
doc/glibc-functions/get_myaddress.texi
doc/glibc-functions/get_nprocs.texi
doc/glibc-functions/get_nprocs_conf.texi
doc/glibc-functions/get_phys_pages.texi
doc/glibc-functions/getaliasbyname.texi
doc/glibc-functions/getaliasbyname_r.texi
doc/glibc-functions/getaliasent.texi
doc/glibc-functions/getaliasent_r.texi
doc/glibc-functions/getdate_r.texi
doc/glibc-functions/getdirentries.texi
doc/glibc-functions/getdomainname.texi
doc/glibc-functions/getdtablesize.texi
doc/glibc-functions/getfilecon-desc.texi
doc/glibc-functions/getfsent.texi
doc/glibc-functions/getfsfile.texi
doc/glibc-functions/getfsspec.texi
doc/glibc-functions/getgrent_r.texi
doc/glibc-functions/getgrouplist.texi
doc/glibc-functions/gethostbyaddr_r.texi
doc/glibc-functions/gethostbyname2.texi
doc/glibc-functions/gethostbyname2_r.texi
doc/glibc-functions/gethostbyname_r.texi
doc/glibc-functions/gethostent_r.texi
doc/glibc-functions/getifaddrs.texi
doc/glibc-functions/getipv4sourcefilter.texi
doc/glibc-functions/getloadavg.texi
doc/glibc-functions/getmntent.texi
doc/glibc-functions/getmntent_r.texi
doc/glibc-functions/getnetbyaddr_r.texi
doc/glibc-functions/getnetbyname_r.texi
doc/glibc-functions/getnetent_r.texi
doc/glibc-functions/getnetgrent.texi
doc/glibc-functions/getnetgrent_r.texi
doc/glibc-functions/getnetname.texi
doc/glibc-functions/getopt_long.texi
doc/glibc-functions/getopt_long_only.texi
doc/glibc-functions/getpagesize.texi
doc/glibc-functions/getpass.texi
doc/glibc-functions/getprotobyname_r.texi
doc/glibc-functions/getprotobynumber_r.texi
doc/glibc-functions/getprotoent_r.texi
doc/glibc-functions/getpt.texi
doc/glibc-functions/getpublickey.texi
doc/glibc-functions/getpw.texi
doc/glibc-functions/getpwent_r.texi
doc/glibc-functions/getresgid.texi
doc/glibc-functions/getresuid.texi
doc/glibc-functions/getrpcbyname.texi
doc/glibc-functions/getrpcbyname_r.texi
doc/glibc-functions/getrpcbynumber.texi
doc/glibc-functions/getrpcbynumber_r.texi
doc/glibc-functions/getrpcent.texi
doc/glibc-functions/getrpcent_r.texi
doc/glibc-functions/getrpcport.texi
doc/glibc-functions/getsecretkey.texi
doc/glibc-functions/getservbyname_r.texi
doc/glibc-functions/getservbyport_r.texi
doc/glibc-functions/getservent_r.texi
doc/glibc-functions/getsgent.texi
doc/glibc-functions/getsgent_r.texi
doc/glibc-functions/getsgnam.texi
doc/glibc-functions/getsgnam_r.texi
doc/glibc-functions/getsourcefilter.texi
doc/glibc-functions/getspent.texi
doc/glibc-functions/getspent_r.texi
doc/glibc-functions/getspnam.texi
doc/glibc-functions/getspnam_r.texi
doc/glibc-functions/gettext.texi
doc/glibc-functions/getttyent.texi
doc/glibc-functions/getttynam.texi
doc/glibc-functions/getusershell.texi
doc/glibc-functions/getutent.texi
doc/glibc-functions/getutent_r.texi
doc/glibc-functions/getutid.texi
doc/glibc-functions/getutid_r.texi
doc/glibc-functions/getutline.texi
doc/glibc-functions/getutline_r.texi
doc/glibc-functions/getutmp.texi
doc/glibc-functions/getutmpx.texi
doc/glibc-functions/getwc_unlocked.texi
doc/glibc-functions/getwchar_unlocked.texi
doc/glibc-functions/getxattr.texi
doc/glibc-functions/glob_pattern_p.texi
doc/glibc-functions/gnu_dev_major.texi
doc/glibc-functions/gnu_dev_makedev.texi
doc/glibc-functions/gnu_dev_minor.texi
doc/glibc-functions/gnu_get_libc_release.texi
doc/glibc-functions/gnu_get_libc_version.texi
doc/glibc-functions/group_member.texi
doc/glibc-functions/gsignal.texi
doc/glibc-functions/hasmntopt.texi
doc/glibc-functions/hcreate_r.texi
doc/glibc-functions/hdestroy_r.texi
doc/glibc-functions/herror.texi
doc/glibc-functions/host2netname.texi
doc/glibc-functions/hsearch_r.texi
doc/glibc-functions/hstrerror.texi
doc/glibc-functions/in6addr_any.texi
doc/glibc-functions/in6addr_loopback.texi
doc/glibc-functions/inet6_option_alloc.texi
doc/glibc-functions/inet6_option_append.texi
doc/glibc-functions/inet6_option_find.texi
doc/glibc-functions/inet6_option_init.texi
doc/glibc-functions/inet6_option_next.texi
doc/glibc-functions/inet6_option_space.texi
doc/glibc-functions/inet_aton.texi
doc/glibc-functions/inet_lnaof.texi
doc/glibc-functions/inet_makeaddr.texi
doc/glibc-functions/inet_net_ntop.texi
doc/glibc-functions/inet_net_pton.texi
doc/glibc-functions/inet_neta.texi
doc/glibc-functions/inet_netof.texi
doc/glibc-functions/inet_network.texi
doc/glibc-functions/inet_nsap_addr.texi
doc/glibc-functions/inet_nsap_ntoa.texi
doc/glibc-functions/initgroups.texi
doc/glibc-functions/initstate_r.texi
doc/glibc-functions/innetgr.texi
doc/glibc-functions/ioperm.texi
doc/glibc-functions/iopl.texi
doc/glibc-functions/isctype.texi
doc/glibc-functions/isfdtype.texi
doc/glibc-functions/isinff.texi
doc/glibc-functions/isinfl.texi
doc/glibc-functions/isnanf.texi
doc/glibc-functions/isnanl.texi
doc/glibc-functions/j0f.texi
doc/glibc-functions/j0l.texi
doc/glibc-functions/j1f.texi
doc/glibc-functions/j1l.texi
doc/glibc-functions/jnf.texi
doc/glibc-functions/jnl.texi
doc/glibc-functions/jrand48_r.texi
doc/glibc-functions/key_decryptsession.texi
doc/glibc-functions/key_decryptsession_pk.texi
doc/glibc-functions/key_encryptsession.texi
doc/glibc-functions/key_encryptsession_pk.texi
doc/glibc-functions/key_gendes.texi
doc/glibc-functions/key_get_conv.texi
doc/glibc-functions/key_secretkey_is_set.texi
doc/glibc-functions/key_setsecret.texi
doc/glibc-functions/klogctl.texi
doc/glibc-functions/lchmod.texi
doc/glibc-functions/lckpwdf.texi
doc/glibc-functions/lcong48_r.texi
doc/glibc-functions/lgamma_r.texi
doc/glibc-functions/lgammaf_r.texi
doc/glibc-functions/lgammal_r.texi
doc/glibc-functions/lgetxattr.texi
doc/glibc-functions/listxattr.texi
doc/glibc-functions/llistxattr.texi
doc/glibc-functions/loc1.texi
doc/glibc-functions/loc2.texi
doc/glibc-functions/locs.texi
doc/glibc-functions/login_tty.texi
doc/glibc-functions/lrand48_r.texi
doc/glibc-functions/lremovexattr.texi
doc/glibc-functions/lsetxattr.texi
doc/glibc-functions/lutimes.texi
doc/glibc-functions/madvise.texi
doc/glibc-functions/mallinfo.texi
doc/glibc-functions/malloc_get_state.texi
doc/glibc-functions/malloc_info.texi
doc/glibc-functions/malloc_set_state.texi
doc/glibc-functions/malloc_stats.texi
doc/glibc-functions/malloc_trim.texi
doc/glibc-functions/malloc_usable_size.texi
doc/glibc-functions/mallopt.texi
doc/glibc-functions/matherr.texi
doc/glibc-functions/mcheck.texi
doc/glibc-functions/mcheck_check_all.texi
doc/glibc-functions/mcheck_pedantic.texi
doc/glibc-functions/memalign.texi
doc/glibc-functions/memfrob.texi
doc/glibc-functions/memmem.texi
doc/glibc-functions/mempcpy.texi
doc/glibc-functions/memrchr.texi
doc/glibc-functions/mincore.texi
doc/glibc-functions/mkostemp.texi
doc/glibc-functions/mkostemps.texi
doc/glibc-functions/mkstemps.texi
doc/glibc-functions/monstartup.texi
doc/glibc-functions/mount.texi
doc/glibc-functions/mprobe.texi
doc/glibc-functions/mrand48_r.texi
doc/glibc-functions/mremap.texi
doc/glibc-functions/mtrace.texi
doc/glibc-functions/muntrace.texi
doc/glibc-functions/netname2host.texi
doc/glibc-functions/netname2user.texi
doc/glibc-functions/ngettext.texi
doc/glibc-functions/nis_add.texi
doc/glibc-functions/nis_add_entry.texi
doc/glibc-functions/nis_addmember.texi
doc/glibc-functions/nis_checkpoint.texi
doc/glibc-functions/nis_clone_object.texi
doc/glibc-functions/nis_creategroup.texi
doc/glibc-functions/nis_destroy_object.texi
doc/glibc-functions/nis_destroygroup.texi
doc/glibc-functions/nis_dir_cmp.texi
doc/glibc-functions/nis_domain_of.texi
doc/glibc-functions/nis_domain_of_r.texi
doc/glibc-functions/nis_first_entry.texi
doc/glibc-functions/nis_freenames.texi
doc/glibc-functions/nis_freeresult.texi
doc/glibc-functions/nis_freeservlist.texi
doc/glibc-functions/nis_freetags.texi
doc/glibc-functions/nis_getnames.texi
doc/glibc-functions/nis_getservlist.texi
doc/glibc-functions/nis_ismember.texi
doc/glibc-functions/nis_leaf_of.texi
doc/glibc-functions/nis_leaf_of_r.texi
doc/glibc-functions/nis_lerror.texi
doc/glibc-functions/nis_list.texi
doc/glibc-functions/nis_local_directory.texi
doc/glibc-functions/nis_local_group.texi
doc/glibc-functions/nis_local_host.texi
doc/glibc-functions/nis_local_principal.texi
doc/glibc-functions/nis_lookup.texi
doc/glibc-functions/nis_mkdir.texi
doc/glibc-functions/nis_modify.texi
doc/glibc-functions/nis_modify_entry.texi
doc/glibc-functions/nis_name_of.texi
doc/glibc-functions/nis_name_of_r.texi
doc/glibc-functions/nis_next_entry.texi
doc/glibc-functions/nis_perror.texi
doc/glibc-functions/nis_ping.texi
doc/glibc-functions/nis_print_directory.texi
doc/glibc-functions/nis_print_entry.texi
doc/glibc-functions/nis_print_group.texi
doc/glibc-functions/nis_print_group_entry.texi
doc/glibc-functions/nis_print_link.texi
doc/glibc-functions/nis_print_object.texi
doc/glibc-functions/nis_print_result.texi
doc/glibc-functions/nis_print_rights.texi
doc/glibc-functions/nis_print_table.texi
doc/glibc-functions/nis_remove.texi
doc/glibc-functions/nis_remove_entry.texi
doc/glibc-functions/nis_removemember.texi
doc/glibc-functions/nis_rmdir.texi
doc/glibc-functions/nis_servstate.texi
doc/glibc-functions/nis_sperrno.texi
doc/glibc-functions/nis_sperror.texi
doc/glibc-functions/nis_sperror_r.texi
doc/glibc-functions/nis_stats.texi
doc/glibc-functions/nis_verifygroup.texi
doc/glibc-functions/nrand48_r.texi
doc/glibc-functions/ntp_adjtime.texi
doc/glibc-functions/ntp_gettime.texi
doc/glibc-functions/obstack_alloc_failed_handler.texi
doc/glibc-functions/obstack_exit_failure.texi
doc/glibc-functions/obstack_free.texi
doc/glibc-functions/obstack_printf.texi
doc/glibc-functions/obstack_vprintf.texi
doc/glibc-functions/on_exit.texi
doc/glibc-functions/openpty.texi
doc/glibc-functions/parse_printf_format.texi
doc/glibc-functions/personality.texi
doc/glibc-functions/pipe2.texi
doc/glibc-functions/pmap_getmaps.texi
doc/glibc-functions/pmap_getport.texi
doc/glibc-functions/pmap_rmtcall.texi
doc/glibc-functions/pmap_set.texi
doc/glibc-functions/pmap_unset.texi
doc/glibc-functions/pow10.texi
doc/glibc-functions/pow10f.texi
doc/glibc-functions/pow10l.texi
doc/glibc-functions/prctl.texi
doc/glibc-functions/preadv.texi
doc/glibc-functions/printf_size.texi
doc/glibc-functions/printf_size_info.texi
doc/glibc-functions/profil.texi
doc/glibc-functions/program_invocation_name.texi
doc/glibc-functions/program_invocation_short_name.texi
doc/glibc-functions/pthread_attr_getaffinity_np.texi
doc/glibc-functions/pthread_attr_setaffinity_np.texi
doc/glibc-functions/pthread_getaffinity_np.texi
doc/glibc-functions/pthread_getattr_np.texi
doc/glibc-functions/pthread_getname_np.texi
doc/glibc-functions/pthread_kill_other_threads_np.texi
doc/glibc-functions/pthread_mutex_consistent_np.texi
doc/glibc-functions/pthread_mutexattr_getrobust_np.texi
doc/glibc-functions/pthread_mutexattr_setrobust_np.texi
doc/glibc-functions/pthread_rwlockattr_getkind_np.texi
doc/glibc-functions/pthread_rwlockattr_setkind_np.texi
doc/glibc-functions/pthread_setaffinity_np.texi
doc/glibc-functions/pthread_setname_np.texi
doc/glibc-functions/pthread_sigqueue.texi
doc/glibc-functions/pthread_timedjoin_np.texi
doc/glibc-functions/pthread_tryjoin_np.texi
doc/glibc-functions/pthread_yield.texi
doc/glibc-functions/ptrace.texi
doc/glibc-functions/ptsname_r.texi
doc/glibc-functions/putgrent.texi
doc/glibc-functions/putpwent.texi
doc/glibc-functions/putsgent.texi
doc/glibc-functions/putspent.texi
doc/glibc-functions/pututline.texi
doc/glibc-functions/putwc_unlocked.texi
doc/glibc-functions/putwchar_unlocked.texi
doc/glibc-functions/pvalloc.texi
doc/glibc-functions/pwritev.texi
doc/glibc-functions/qecvt.texi
doc/glibc-functions/qecvt_r.texi
doc/glibc-functions/qfcvt.texi
doc/glibc-functions/qfcvt_r.texi
doc/glibc-functions/qgcvt.texi
doc/glibc-functions/qsort_r.texi
doc/glibc-functions/quick_exit.texi
doc/glibc-functions/quotactl.texi
doc/glibc-functions/random_r.texi
doc/glibc-functions/rawmemchr.texi
doc/glibc-functions/rcmd.texi
doc/glibc-functions/rcmd_af.texi
doc/glibc-functions/re_comp.texi
doc/glibc-functions/re_compile_fastmap.texi
doc/glibc-functions/re_compile_pattern.texi
doc/glibc-functions/re_exec.texi
doc/glibc-functions/re_match.texi
doc/glibc-functions/re_match_2.texi
doc/glibc-functions/re_search.texi
doc/glibc-functions/re_search_2.texi
doc/glibc-functions/re_set_registers.texi
doc/glibc-functions/re_set_syntax.texi
doc/glibc-functions/re_syntax_options.texi
doc/glibc-functions/readahead.texi
doc/glibc-functions/reboot.texi
doc/glibc-functions/register_printf_function.texi
doc/glibc-functions/register_printf_modifier.texi
doc/glibc-functions/register_printf_specifier.texi
doc/glibc-functions/register_printf_type.texi
doc/glibc-functions/remap_file_pages.texi
doc/glibc-functions/removexattr.texi
doc/glibc-functions/res_init.texi
doc/glibc-functions/res_mkquery.texi
doc/glibc-functions/res_query.texi
doc/glibc-functions/res_querydomain.texi
doc/glibc-functions/res_search.texi
doc/glibc-functions/revoke.texi
doc/glibc-functions/rexec.texi
doc/glibc-functions/rexec_af.texi
doc/glibc-functions/rpc_createerr.texi
doc/glibc-functions/rpmatch.texi
doc/glibc-functions/rresvport.texi
doc/glibc-functions/rresvport_af.texi
doc/glibc-functions/rtime.texi
doc/glibc-functions/ruserok.texi
doc/glibc-functions/ruserok_af.texi
doc/glibc-functions/sbrk.texi
doc/glibc-functions/scalbf.texi
doc/glibc-functions/scalbl.texi
doc/glibc-functions/sched_getaffinity.texi
doc/glibc-functions/sched_setaffinity.texi
doc/glibc-functions/seed48_r.texi
doc/glibc-functions/semtimedop.texi
doc/glibc-functions/sendfile.texi
doc/glibc-functions/setaliasent.texi
doc/glibc-functions/setbuffer.texi
doc/glibc-functions/setdomainname.texi
doc/glibc-functions/setfsent.texi
doc/glibc-functions/setfsgid.texi
doc/glibc-functions/setfsuid.texi
doc/glibc-functions/setgroups.texi
doc/glibc-functions/sethostid.texi
doc/glibc-functions/sethostname.texi
doc/glibc-functions/setipv4sourcefilter.texi
doc/glibc-functions/setkey_r.texi
doc/glibc-functions/setlinebuf.texi
doc/glibc-functions/setlogin.texi
doc/glibc-functions/setmntent.texi
doc/glibc-functions/setnetgrent.texi
doc/glibc-functions/setresgid.texi
doc/glibc-functions/setresuid.texi
doc/glibc-functions/setrpcent.texi
doc/glibc-functions/setsgent.texi
doc/glibc-functions/setsourcefilter.texi
doc/glibc-functions/setspent.texi
doc/glibc-functions/setstate_r.texi
doc/glibc-functions/settimeofday.texi
doc/glibc-functions/setttyent.texi
doc/glibc-functions/setusershell.texi
doc/glibc-functions/setutent.texi
doc/glibc-functions/setxattr.texi
doc/glibc-functions/sgetsgent.texi
doc/glibc-functions/sgetsgent_r.texi
doc/glibc-functions/sgetspent.texi
doc/glibc-functions/sgetspent_r.texi
doc/glibc-functions/sigandset.texi
doc/glibc-functions/sigblock.texi
doc/glibc-functions/siggetmask.texi
doc/glibc-functions/sigisemptyset.texi
doc/glibc-functions/significand.texi
doc/glibc-functions/significandf.texi
doc/glibc-functions/significandl.texi
doc/glibc-functions/sigorset.texi
doc/glibc-functions/sigreturn.texi
doc/glibc-functions/sigsetmask.texi
doc/glibc-functions/sigstack.texi
doc/glibc-functions/sigvec.texi
doc/glibc-functions/sincos.texi
doc/glibc-functions/sincosf.texi
doc/glibc-functions/sincosl.texi
doc/glibc-functions/sprofil.texi
doc/glibc-functions/srand48_r.texi
doc/glibc-functions/srandom_r.texi
doc/glibc-functions/ssignal.texi
doc/glibc-functions/statfs.texi
doc/glibc-functions/step.texi
doc/glibc-functions/stime.texi
doc/glibc-functions/strcasestr.texi
doc/glibc-functions/strchrnul.texi
doc/glibc-functions/strfry.texi
doc/glibc-functions/strptime_l.texi
doc/glibc-functions/strsep.texi
doc/glibc-functions/strtod_l.texi
doc/glibc-functions/strtof_l.texi
doc/glibc-functions/strtol_l.texi
doc/glibc-functions/strtold_l.texi
doc/glibc-functions/strtoll_l.texi
doc/glibc-functions/strtoq.texi
doc/glibc-functions/strtoul_l.texi
doc/glibc-functions/strtoull_l.texi
doc/glibc-functions/strtouq.texi
doc/glibc-functions/strverscmp.texi
doc/glibc-functions/svc_exit.texi
doc/glibc-functions/svc_fdset.texi
doc/glibc-functions/svc_getreq.texi
doc/glibc-functions/svc_getreq_common.texi
doc/glibc-functions/svc_getreq_poll.texi
doc/glibc-functions/svc_getreqset.texi
doc/glibc-functions/svc_max_pollfd.texi
doc/glibc-functions/svc_pollfd.texi
doc/glibc-functions/svc_register.texi
doc/glibc-functions/svc_run.texi
doc/glibc-functions/svc_sendreply.texi
doc/glibc-functions/svc_unregister.texi
doc/glibc-functions/svcerr_auth.texi
doc/glibc-functions/svcerr_decode.texi
doc/glibc-functions/svcerr_noproc.texi
doc/glibc-functions/svcerr_noprog.texi
doc/glibc-functions/svcerr_progvers.texi
doc/glibc-functions/svcerr_systemerr.texi
doc/glibc-functions/svcerr_weakauth.texi
doc/glibc-functions/svcraw_create.texi
doc/glibc-functions/svctcp_create.texi
doc/glibc-functions/svcudp_bufcreate.texi
doc/glibc-functions/svcudp_create.texi
doc/glibc-functions/svcunix_create.texi
doc/glibc-functions/swapoff.texi
doc/glibc-functions/swapon.texi
doc/glibc-functions/syncfs.texi
doc/glibc-functions/sys_siglist.texi
doc/glibc-functions/syscall.texi
doc/glibc-functions/sysctl.texi
doc/glibc-functions/sysinfo.texi
doc/glibc-functions/sysv_signal.texi
doc/glibc-functions/tdestroy.texi
doc/glibc-functions/textdomain.texi
doc/glibc-functions/timegm.texi
doc/glibc-functions/timelocal.texi
doc/glibc-functions/tmpnam_r.texi
doc/glibc-functions/ttyslot.texi
doc/glibc-functions/ulckpwdf.texi
doc/glibc-functions/umount.texi
doc/glibc-functions/umount2.texi
doc/glibc-functions/updwtmp.texi
doc/glibc-functions/updwtmpx.texi
doc/glibc-functions/user2netname.texi
doc/glibc-functions/ustat.texi
doc/glibc-functions/utmpname.texi
doc/glibc-functions/utmpxname.texi
doc/glibc-functions/valloc.texi
doc/glibc-functions/vasprintf.texi
doc/glibc-functions/verr.texi
doc/glibc-functions/verrx.texi
doc/glibc-functions/versionsort.texi
doc/glibc-functions/vhangup.texi
doc/glibc-functions/vlimit.texi
doc/glibc-functions/vm86.texi
doc/glibc-functions/vsyslog.texi
doc/glibc-functions/vtimes.texi
doc/glibc-functions/vwarn.texi
doc/glibc-functions/vwarnx.texi
doc/glibc-functions/wait3.texi
doc/glibc-functions/wait4.texi
doc/glibc-functions/warn.texi
doc/glibc-functions/warnx.texi
doc/glibc-functions/wcschrnul.texi
doc/glibc-functions/wcsftime_l.texi
doc/glibc-functions/wcstod_l.texi
doc/glibc-functions/wcstof_l.texi
doc/glibc-functions/wcstol_l.texi
doc/glibc-functions/wcstold_l.texi
doc/glibc-functions/wcstoll_l.texi
doc/glibc-functions/wcstoq.texi
doc/glibc-functions/wcstoul_l.texi
doc/glibc-functions/wcstoull_l.texi
doc/glibc-functions/wcstouq.texi
doc/glibc-functions/wmempcpy.texi
doc/glibc-functions/xdr_array.texi
doc/glibc-functions/xdr_authunix_parms.texi
doc/glibc-functions/xdr_bool.texi
doc/glibc-functions/xdr_bytes.texi
doc/glibc-functions/xdr_callhdr.texi
doc/glibc-functions/xdr_callmsg.texi
doc/glibc-functions/xdr_cback_data.texi
doc/glibc-functions/xdr_char.texi
doc/glibc-functions/xdr_cryptkeyarg.texi
doc/glibc-functions/xdr_cryptkeyarg2.texi
doc/glibc-functions/xdr_cryptkeyres.texi
doc/glibc-functions/xdr_des_block.texi
doc/glibc-functions/xdr_domainname.texi
doc/glibc-functions/xdr_double.texi
doc/glibc-functions/xdr_enum.texi
doc/glibc-functions/xdr_float.texi
doc/glibc-functions/xdr_free.texi
doc/glibc-functions/xdr_getcredres.texi
doc/glibc-functions/xdr_hyper.texi
doc/glibc-functions/xdr_int.texi
doc/glibc-functions/xdr_int16_t.texi
doc/glibc-functions/xdr_int32_t.texi
doc/glibc-functions/xdr_int64_t.texi
doc/glibc-functions/xdr_int8_t.texi
doc/glibc-functions/xdr_key_netstarg.texi
doc/glibc-functions/xdr_key_netstres.texi
doc/glibc-functions/xdr_keybuf.texi
doc/glibc-functions/xdr_keydat.texi
doc/glibc-functions/xdr_keystatus.texi
doc/glibc-functions/xdr_long.texi
doc/glibc-functions/xdr_longlong_t.texi
doc/glibc-functions/xdr_mapname.texi
doc/glibc-functions/xdr_netnamestr.texi
doc/glibc-functions/xdr_netobj.texi
doc/glibc-functions/xdr_obj_p.texi
doc/glibc-functions/xdr_opaque.texi
doc/glibc-functions/xdr_opaque_auth.texi
doc/glibc-functions/xdr_peername.texi
doc/glibc-functions/xdr_pmap.texi
doc/glibc-functions/xdr_pmaplist.texi
doc/glibc-functions/xdr_pointer.texi
doc/glibc-functions/xdr_quad_t.texi
doc/glibc-functions/xdr_reference.texi
doc/glibc-functions/xdr_replymsg.texi
doc/glibc-functions/xdr_rmtcall_args.texi
doc/glibc-functions/xdr_rmtcallres.texi
doc/glibc-functions/xdr_short.texi
doc/glibc-functions/xdr_sizeof.texi
doc/glibc-functions/xdr_string.texi
doc/glibc-functions/xdr_u_char.texi
doc/glibc-functions/xdr_u_hyper.texi
doc/glibc-functions/xdr_u_int.texi
doc/glibc-functions/xdr_u_long.texi
doc/glibc-functions/xdr_u_longlong_t.texi
doc/glibc-functions/xdr_u_quad_t.texi
doc/glibc-functions/xdr_u_short.texi
doc/glibc-functions/xdr_uint16_t.texi
doc/glibc-functions/xdr_uint32_t.texi
doc/glibc-functions/xdr_uint64_t.texi
doc/glibc-functions/xdr_uint8_t.texi
doc/glibc-functions/xdr_union.texi
doc/glibc-functions/xdr_unixcred.texi
doc/glibc-functions/xdr_valdat.texi
doc/glibc-functions/xdr_vector.texi
doc/glibc-functions/xdr_void.texi
doc/glibc-functions/xdr_wrapstring.texi
doc/glibc-functions/xdr_yp_buf.texi
doc/glibc-functions/xdr_ypall.texi
doc/glibc-functions/xdr_ypbind_binding.texi
doc/glibc-functions/xdr_ypbind_resp.texi
doc/glibc-functions/xdr_ypbind_resptype.texi
doc/glibc-functions/xdr_ypbind_setdom.texi
doc/glibc-functions/xdr_ypdelete_args.texi
doc/glibc-functions/xdr_ypmap_parms.texi
doc/glibc-functions/xdr_ypmaplist.texi
doc/glibc-functions/xdr_yppush_status.texi
doc/glibc-functions/xdr_yppushresp_xfr.texi
doc/glibc-functions/xdr_ypreq_key.texi
doc/glibc-functions/xdr_ypreq_nokey.texi
doc/glibc-functions/xdr_ypreq_xfr.texi
doc/glibc-functions/xdr_ypresp_all.texi
doc/glibc-functions/xdr_ypresp_key_val.texi
doc/glibc-functions/xdr_ypresp_maplist.texi
doc/glibc-functions/xdr_ypresp_master.texi
doc/glibc-functions/xdr_ypresp_order.texi
doc/glibc-functions/xdr_ypresp_val.texi
doc/glibc-functions/xdr_ypresp_xfr.texi
doc/glibc-functions/xdr_ypstat.texi
doc/glibc-functions/xdr_ypupdate_args.texi
doc/glibc-functions/xdr_ypxfrstat.texi
doc/glibc-functions/xdrmem_create.texi
doc/glibc-functions/xdrrec_create.texi
doc/glibc-functions/xdrrec_endofrecord.texi
doc/glibc-functions/xdrrec_eof.texi
doc/glibc-functions/xdrrec_skiprecord.texi
doc/glibc-functions/xdrstdio_create.texi
doc/glibc-functions/xprt_register.texi
doc/glibc-functions/xprt_unregister.texi
doc/glibc-functions/y0f.texi
doc/glibc-functions/y0l.texi
doc/glibc-functions/y1f.texi
doc/glibc-functions/y1l.texi
doc/glibc-functions/ynf.texi
doc/glibc-functions/ynl.texi
doc/glibc-functions/yp_all.texi
doc/glibc-functions/yp_bind.texi
doc/glibc-functions/yp_first.texi
doc/glibc-functions/yp_get_default_domain.texi
doc/glibc-functions/yp_master.texi
doc/glibc-functions/yp_match.texi
doc/glibc-functions/yp_next.texi
doc/glibc-functions/yp_order.texi
doc/glibc-functions/yp_unbind.texi
doc/glibc-functions/yp_update.texi
doc/glibc-functions/ypbinderr_string.texi
doc/glibc-functions/yperr_string.texi
doc/glibc-functions/ypprot_err.texi
doc/glibc-headers/a.out.texi
doc/glibc-headers/aliases.texi
doc/glibc-headers/alloca.texi
doc/glibc-headers/ar.texi
doc/glibc-headers/argp.texi
doc/glibc-headers/argz.texi
doc/glibc-headers/byteswap.texi
doc/glibc-headers/crypt.texi
doc/glibc-headers/endian.texi
doc/glibc-headers/envz.texi
doc/glibc-headers/err.texi
doc/glibc-headers/error.texi
doc/glibc-headers/execinfo.texi
doc/glibc-headers/fpu_control.texi
doc/glibc-headers/fstab.texi
doc/glibc-headers/fts.texi
doc/glibc-headers/getopt.texi
doc/glibc-headers/gshadow.texi
doc/glibc-headers/ieee754.texi
doc/glibc-headers/ifaddrs.texi
doc/glibc-headers/libintl.texi
doc/glibc-headers/mcheck.texi
doc/glibc-headers/mntent.texi
doc/glibc-headers/obstack.texi
doc/glibc-headers/paths.texi
doc/glibc-headers/printf.texi
doc/glibc-headers/pty.texi
doc/glibc-headers/resolv.texi
doc/glibc-headers/shadow.texi
doc/glibc-headers/sys_ioctl.texi
doc/glibc-headers/sysexits.texi
doc/glibc-headers/ttyent.texi
doc/gnulib-intro.texi
doc/gnulib-tool.texi
doc/gnulib.texi
doc/maintain.texi
doc/parse-datetime.texi
doc/pastposix-functions/bcmp.texi
doc/pastposix-functions/bcopy.texi
doc/pastposix-functions/bsd_signal.texi
doc/pastposix-functions/bzero.texi
doc/pastposix-functions/getcontext.texi
doc/pastposix-functions/gethostbyaddr.texi
doc/pastposix-functions/gethostbyname.texi
doc/pastposix-functions/getwd.texi
doc/pastposix-functions/h_errno.texi
doc/pastposix-functions/index.texi
doc/pastposix-functions/makecontext.texi
doc/pastposix-functions/pthread_attr_getstackaddr.texi
doc/pastposix-functions/pthread_attr_setstackaddr.texi
doc/pastposix-functions/rindex.texi
doc/pastposix-functions/setcontext.texi
doc/pastposix-functions/swapcontext.texi
doc/pastposix-functions/ualarm.texi
doc/pastposix-functions/usleep.texi
doc/pastposix-functions/vfork.texi
doc/pastposix-functions/wcswcs.texi
doc/posix-functions/_longjmp.texi
doc/posix-functions/a64l.texi
doc/posix-functions/abort.texi
doc/posix-functions/acosf.texi
doc/posix-functions/acosh.texi
doc/posix-functions/acoshf.texi
doc/posix-functions/acoshl.texi
doc/posix-functions/acosl.texi
doc/posix-functions/aio_cancel.texi
doc/posix-functions/aio_error.texi
doc/posix-functions/aio_fsync.texi
doc/posix-functions/aio_read.texi
doc/posix-functions/aio_return.texi
doc/posix-functions/aio_suspend.texi
doc/posix-functions/aio_write.texi
doc/posix-functions/alarm.texi
doc/posix-functions/alphasort.texi
doc/posix-functions/asctime_r.texi
doc/posix-functions/asinf.texi
doc/posix-functions/asinh.texi
doc/posix-functions/asinhf.texi
doc/posix-functions/asinhl.texi
doc/posix-functions/asinl.texi
doc/posix-functions/atan2f.texi
doc/posix-functions/atan2l.texi
doc/posix-functions/atanf.texi
doc/posix-functions/atanh.texi
doc/posix-functions/atanhf.texi
doc/posix-functions/atanhl.texi
doc/posix-functions/atanl.texi
doc/posix-functions/atoll.texi
doc/posix-functions/basename.texi
doc/posix-functions/cabsf.texi
doc/posix-functions/cabsl.texi
doc/posix-functions/cacos.texi
doc/posix-functions/cacosf.texi
doc/posix-functions/cacosh.texi
doc/posix-functions/cacoshf.texi
doc/posix-functions/cacoshl.texi
doc/posix-functions/cacosl.texi
doc/posix-functions/calloc.texi
doc/posix-functions/carg.texi
doc/posix-functions/cargf.texi
doc/posix-functions/cargl.texi
doc/posix-functions/casin.texi
doc/posix-functions/casinf.texi
doc/posix-functions/casinh.texi
doc/posix-functions/casinhf.texi
doc/posix-functions/casinhl.texi
doc/posix-functions/casinl.texi
doc/posix-functions/catan.texi
doc/posix-functions/catanf.texi
doc/posix-functions/catanh.texi
doc/posix-functions/catanhf.texi
doc/posix-functions/catanhl.texi
doc/posix-functions/catanl.texi
doc/posix-functions/catclose.texi
doc/posix-functions/catgets.texi
doc/posix-functions/catopen.texi
doc/posix-functions/cbrt.texi
doc/posix-functions/cbrtf.texi
doc/posix-functions/cbrtl.texi
doc/posix-functions/ccos.texi
doc/posix-functions/ccosf.texi
doc/posix-functions/ccosh.texi
doc/posix-functions/ccoshf.texi
doc/posix-functions/ccoshl.texi
doc/posix-functions/ccosl.texi
doc/posix-functions/ceilf.texi
doc/posix-functions/ceill.texi
doc/posix-functions/cexp.texi
doc/posix-functions/cexpf.texi
doc/posix-functions/cexpl.texi
doc/posix-functions/cfgetispeed.texi
doc/posix-functions/cfgetospeed.texi
doc/posix-functions/cfsetispeed.texi
doc/posix-functions/cfsetospeed.texi
doc/posix-functions/chdir.texi
doc/posix-functions/chown.texi
doc/posix-functions/cimag.texi
doc/posix-functions/cimagf.texi
doc/posix-functions/cimagl.texi
doc/posix-functions/clock_getcpuclockid.texi
doc/posix-functions/clock_getres.texi
doc/posix-functions/clock_gettime.texi
doc/posix-functions/clock_nanosleep.texi
doc/posix-functions/clock_settime.texi
doc/posix-functions/clog.texi
doc/posix-functions/clogf.texi
doc/posix-functions/clogl.texi
doc/posix-functions/close.texi
doc/posix-functions/closedir.texi
doc/posix-functions/closelog.texi
doc/posix-functions/confstr.texi
doc/posix-functions/conj.texi
doc/posix-functions/conjf.texi
doc/posix-functions/conjl.texi
doc/posix-functions/copysign.texi
doc/posix-functions/copysignf.texi
doc/posix-functions/copysignl.texi
doc/posix-functions/cosf.texi
doc/posix-functions/coshf.texi
doc/posix-functions/coshl.texi
doc/posix-functions/cosl.texi
doc/posix-functions/cpow.texi
doc/posix-functions/cpowf.texi
doc/posix-functions/cpowl.texi
doc/posix-functions/cproj.texi
doc/posix-functions/cprojf.texi
doc/posix-functions/cprojl.texi
doc/posix-functions/creal.texi
doc/posix-functions/crealf.texi
doc/posix-functions/creall.texi
doc/posix-functions/crypt.texi
doc/posix-functions/csin.texi
doc/posix-functions/csinf.texi
doc/posix-functions/csinh.texi
doc/posix-functions/csinhf.texi
doc/posix-functions/csinhl.texi
doc/posix-functions/csinl.texi
doc/posix-functions/csqrt.texi
doc/posix-functions/csqrtf.texi
doc/posix-functions/csqrtl.texi
doc/posix-functions/ctan.texi
doc/posix-functions/ctanf.texi
doc/posix-functions/ctanh.texi
doc/posix-functions/ctanhf.texi
doc/posix-functions/ctanhl.texi
doc/posix-functions/ctanl.texi
doc/posix-functions/ctermid.texi
doc/posix-functions/ctime_r.texi
doc/posix-functions/dbm_clearerr.texi
doc/posix-functions/dbm_close.texi
doc/posix-functions/dbm_delete.texi
doc/posix-functions/dbm_error.texi
doc/posix-functions/dbm_fetch.texi
doc/posix-functions/dbm_firstkey.texi
doc/posix-functions/dbm_nextkey.texi
doc/posix-functions/dbm_open.texi
doc/posix-functions/dbm_store.texi
doc/posix-functions/dirfd.texi
doc/posix-functions/dirname.texi
doc/posix-functions/dlclose.texi
doc/posix-functions/dlerror.texi
doc/posix-functions/dlopen.texi
doc/posix-functions/dlsym.texi
doc/posix-functions/dprintf.texi
doc/posix-functions/drand48.texi
doc/posix-functions/dup.texi
doc/posix-functions/dup2.texi
doc/posix-functions/duplocale.texi
doc/posix-functions/encrypt.texi
doc/posix-functions/endgrent.texi
doc/posix-functions/endhostent.texi
doc/posix-functions/endnetent.texi
doc/posix-functions/endprotoent.texi
doc/posix-functions/endpwent.texi
doc/posix-functions/endservent.texi
doc/posix-functions/endutxent.texi
doc/posix-functions/erand48.texi
doc/posix-functions/erf.texi
doc/posix-functions/erfc.texi
doc/posix-functions/erfcf.texi
doc/posix-functions/erfcl.texi
doc/posix-functions/erff.texi
doc/posix-functions/erfl.texi
doc/posix-functions/exp2.texi
doc/posix-functions/exp2f.texi
doc/posix-functions/exp2l.texi
doc/posix-functions/expf.texi
doc/posix-functions/expl.texi
doc/posix-functions/expm1.texi
doc/posix-functions/expm1f.texi
doc/posix-functions/expm1l.texi
doc/posix-functions/fabsf.texi
doc/posix-functions/fabsl.texi
doc/posix-functions/faccessat.texi
doc/posix-functions/fattach.texi
doc/posix-functions/fchdir.texi
doc/posix-functions/fchmod.texi
doc/posix-functions/fchmodat.texi
doc/posix-functions/fchown.texi
doc/posix-functions/fchownat.texi
doc/posix-functions/fclose.texi
doc/posix-functions/fcntl.texi
doc/posix-functions/fdatasync.texi
doc/posix-functions/fdetach.texi
doc/posix-functions/fdim.texi
doc/posix-functions/fdimf.texi
doc/posix-functions/fdiml.texi
doc/posix-functions/fdopen.texi
doc/posix-functions/fdopendir.texi
doc/posix-functions/feclearexcept.texi
doc/posix-functions/fegetenv.texi
doc/posix-functions/fegetexceptflag.texi
doc/posix-functions/fegetround.texi
doc/posix-functions/feholdexcept.texi
doc/posix-functions/feraiseexcept.texi
doc/posix-functions/fesetenv.texi
doc/posix-functions/fesetexceptflag.texi
doc/posix-functions/fesetround.texi
doc/posix-functions/fetestexcept.texi
doc/posix-functions/feupdateenv.texi
doc/posix-functions/fexecve.texi
doc/posix-functions/fflush.texi
doc/posix-functions/ffs.texi
doc/posix-functions/fgetc.texi
doc/posix-functions/fgetpos.texi
doc/posix-functions/fgets.texi
doc/posix-functions/flockfile.texi
doc/posix-functions/floorf.texi
doc/posix-functions/floorl.texi
doc/posix-functions/fma.texi
doc/posix-functions/fmaf.texi
doc/posix-functions/fmal.texi
doc/posix-functions/fmax.texi
doc/posix-functions/fmaxf.texi
doc/posix-functions/fmaxl.texi
doc/posix-functions/fmemopen.texi
doc/posix-functions/fmin.texi
doc/posix-functions/fminf.texi
doc/posix-functions/fminl.texi
doc/posix-functions/fmodf.texi
doc/posix-functions/fmodl.texi
doc/posix-functions/fmtmsg.texi
doc/posix-functions/fnmatch.texi
doc/posix-functions/fork.texi
doc/posix-functions/fpathconf.texi
doc/posix-functions/fprintf.texi
doc/posix-functions/fputc.texi
doc/posix-functions/fputs.texi
doc/posix-functions/fread.texi
doc/posix-functions/freeaddrinfo.texi
doc/posix-functions/freelocale.texi
doc/posix-functions/freopen.texi
doc/posix-functions/frexp.texi
doc/posix-functions/frexpf.texi
doc/posix-functions/frexpl.texi
doc/posix-functions/fscanf.texi
doc/posix-functions/fseek.texi
doc/posix-functions/fseeko.texi
doc/posix-functions/fstat.texi
doc/posix-functions/fstatat.texi
doc/posix-functions/fstatvfs.texi
doc/posix-functions/fsync.texi
doc/posix-functions/ftell.texi
doc/posix-functions/ftello.texi
doc/posix-functions/ftok.texi
doc/posix-functions/ftruncate.texi
doc/posix-functions/ftrylockfile.texi
doc/posix-functions/ftw.texi
doc/posix-functions/funlockfile.texi
doc/posix-functions/futimens.texi
doc/posix-functions/fwide.texi
doc/posix-functions/fwrite.texi
doc/posix-functions/gai_strerror.texi
doc/posix-functions/getaddrinfo.texi
doc/posix-functions/getc.texi
doc/posix-functions/getc_unlocked.texi
doc/posix-functions/getchar.texi
doc/posix-functions/getchar_unlocked.texi
doc/posix-functions/getcwd.texi
doc/posix-functions/getdate.texi
doc/posix-functions/getdate_err.texi
doc/posix-functions/getdelim.texi
doc/posix-functions/getegid.texi
doc/posix-functions/geteuid.texi
doc/posix-functions/getgid.texi
doc/posix-functions/getgrent.texi
doc/posix-functions/getgrgid.texi
doc/posix-functions/getgrgid_r.texi
doc/posix-functions/getgrnam.texi
doc/posix-functions/getgrnam_r.texi
doc/posix-functions/getgroups.texi
doc/posix-functions/gethostent.texi
doc/posix-functions/gethostid.texi
doc/posix-functions/gethostname.texi
doc/posix-functions/getitimer.texi
doc/posix-functions/getline.texi
doc/posix-functions/getlogin.texi
doc/posix-functions/getlogin_r.texi
doc/posix-functions/getmsg.texi
doc/posix-functions/getnameinfo.texi
doc/posix-functions/getnetbyaddr.texi
doc/posix-functions/getnetbyname.texi
doc/posix-functions/getnetent.texi
doc/posix-functions/getopt.texi
doc/posix-functions/getpgid.texi
doc/posix-functions/getpgrp.texi
doc/posix-functions/getpmsg.texi
doc/posix-functions/getppid.texi
doc/posix-functions/getpriority.texi
doc/posix-functions/getprotobyname.texi
doc/posix-functions/getprotobynumber.texi
doc/posix-functions/getprotoent.texi
doc/posix-functions/getpwent.texi
doc/posix-functions/getpwnam.texi
doc/posix-functions/getpwnam_r.texi
doc/posix-functions/getpwuid.texi
doc/posix-functions/getpwuid_r.texi
doc/posix-functions/getrlimit.texi
doc/posix-functions/getrusage.texi
doc/posix-functions/gets.texi
doc/posix-functions/getservbyname.texi
doc/posix-functions/getservbyport.texi
doc/posix-functions/getservent.texi
doc/posix-functions/getsid.texi
doc/posix-functions/getsubopt.texi
doc/posix-functions/gettimeofday.texi
doc/posix-functions/getuid.texi
doc/posix-functions/getutxent.texi
doc/posix-functions/getutxid.texi
doc/posix-functions/getutxline.texi
doc/posix-functions/glob.texi
doc/posix-functions/globfree.texi
doc/posix-functions/gmtime_r.texi
doc/posix-functions/grantpt.texi
doc/posix-functions/hcreate.texi
doc/posix-functions/hdestroy.texi
doc/posix-functions/hsearch.texi
doc/posix-functions/htonl.texi
doc/posix-functions/htons.texi
doc/posix-functions/hypotf.texi
doc/posix-functions/hypotl.texi
doc/posix-functions/iconv.texi
doc/posix-functions/iconv_close.texi
doc/posix-functions/iconv_open.texi
doc/posix-functions/if_freenameindex.texi
doc/posix-functions/if_indextoname.texi
doc/posix-functions/if_nameindex.texi
doc/posix-functions/if_nametoindex.texi
doc/posix-functions/ilogb.texi
doc/posix-functions/ilogbf.texi
doc/posix-functions/ilogbl.texi
doc/posix-functions/imaxabs.texi
doc/posix-functions/imaxdiv.texi
doc/posix-functions/inet_addr.texi
doc/posix-functions/inet_ntoa.texi
doc/posix-functions/inet_ntop.texi
doc/posix-functions/inet_pton.texi
doc/posix-functions/initstate.texi
doc/posix-functions/insque.texi
doc/posix-functions/isalnum_l.texi
doc/posix-functions/isalpha_l.texi
doc/posix-functions/isastream.texi
doc/posix-functions/isblank.texi
doc/posix-functions/isblank_l.texi
doc/posix-functions/iscntrl_l.texi
doc/posix-functions/isdigit_l.texi
doc/posix-functions/isgraph_l.texi
doc/posix-functions/isinf.texi
doc/posix-functions/islower_l.texi
doc/posix-functions/isnan.texi
doc/posix-functions/isprint_l.texi
doc/posix-functions/ispunct_l.texi
doc/posix-functions/isspace_l.texi
doc/posix-functions/isupper_l.texi
doc/posix-functions/iswalnum_l.texi
doc/posix-functions/iswalpha_l.texi
doc/posix-functions/iswblank.texi
doc/posix-functions/iswblank_l.texi
doc/posix-functions/iswcntrl_l.texi
doc/posix-functions/iswctype_l.texi
doc/posix-functions/iswdigit_l.texi
doc/posix-functions/iswgraph_l.texi
doc/posix-functions/iswlower_l.texi
doc/posix-functions/iswprint_l.texi
doc/posix-functions/iswpunct_l.texi
doc/posix-functions/iswspace_l.texi
doc/posix-functions/iswupper_l.texi
doc/posix-functions/iswxdigit_l.texi
doc/posix-functions/isxdigit_l.texi
doc/posix-functions/jrand48.texi
doc/posix-functions/kill.texi
doc/posix-functions/killpg.texi
doc/posix-functions/l64a.texi
doc/posix-functions/lchown.texi
doc/posix-functions/lcong48.texi
doc/posix-functions/ldexpf.texi
doc/posix-functions/ldexpl.texi
doc/posix-functions/lgamma.texi
doc/posix-functions/lgammaf.texi
doc/posix-functions/lgammal.texi
doc/posix-functions/link.texi
doc/posix-functions/linkat.texi
doc/posix-functions/lio_listio.texi
doc/posix-functions/llabs.texi
doc/posix-functions/lldiv.texi
doc/posix-functions/llrint.texi
doc/posix-functions/llrintf.texi
doc/posix-functions/llrintl.texi
doc/posix-functions/llround.texi
doc/posix-functions/llroundf.texi
doc/posix-functions/llroundl.texi
doc/posix-functions/localtime_r.texi
doc/posix-functions/lockf.texi
doc/posix-functions/log10f.texi
doc/posix-functions/log1p.texi
doc/posix-functions/log1pf.texi
doc/posix-functions/log1pl.texi
doc/posix-functions/log2.texi
doc/posix-functions/log2f.texi
doc/posix-functions/log2l.texi
doc/posix-functions/logb.texi
doc/posix-functions/logbf.texi
doc/posix-functions/logbl.texi
doc/posix-functions/logf.texi
doc/posix-functions/logl.texi
doc/posix-functions/lrand48.texi
doc/posix-functions/lrint.texi
doc/posix-functions/lrintf.texi
doc/posix-functions/lrintl.texi
doc/posix-functions/lround.texi
doc/posix-functions/lroundf.texi
doc/posix-functions/lroundl.texi
doc/posix-functions/lseek.texi
doc/posix-functions/malloc.texi
doc/posix-functions/mbrtowc.texi
doc/posix-functions/mbsinit.texi
doc/posix-functions/mbsnrtowcs.texi
doc/posix-functions/mkdir.texi
doc/posix-functions/mkdirat.texi
doc/posix-functions/mkdtemp.texi
doc/posix-functions/mkfifo.texi
doc/posix-functions/mkfifoat.texi
doc/posix-functions/mknod.texi
doc/posix-functions/mknodat.texi
doc/posix-functions/mkstemp.texi
doc/posix-functions/mlock.texi
doc/posix-functions/mlockall.texi
doc/posix-functions/mmap.texi
doc/posix-functions/modff.texi
doc/posix-functions/modfl.texi
doc/posix-functions/mprotect.texi
doc/posix-functions/mq_close.texi
doc/posix-functions/mq_getattr.texi
doc/posix-functions/mq_notify.texi
doc/posix-functions/mq_open.texi
doc/posix-functions/mq_receive.texi
doc/posix-functions/mq_send.texi
doc/posix-functions/mq_setattr.texi
doc/posix-functions/mq_timedreceive.texi
doc/posix-functions/mq_timedsend.texi
doc/posix-functions/mq_unlink.texi
doc/posix-functions/mrand48.texi
doc/posix-functions/msgctl.texi
doc/posix-functions/msgget.texi
doc/posix-functions/msgrcv.texi
doc/posix-functions/msgsnd.texi
doc/posix-functions/msync.texi
doc/posix-functions/munlock.texi
doc/posix-functions/munlockall.texi
doc/posix-functions/munmap.texi
doc/posix-functions/nan.texi
doc/posix-functions/nanf.texi
doc/posix-functions/nanl.texi
doc/posix-functions/nanosleep.texi
doc/posix-functions/nearbyint.texi
doc/posix-functions/nearbyintf.texi
doc/posix-functions/nearbyintl.texi
doc/posix-functions/newlocale.texi
doc/posix-functions/nextafter.texi
doc/posix-functions/nextafterf.texi
doc/posix-functions/nextafterl.texi
doc/posix-functions/nexttoward.texi
doc/posix-functions/nexttowardf.texi
doc/posix-functions/nexttowardl.texi
doc/posix-functions/nftw.texi
doc/posix-functions/nice.texi
doc/posix-functions/nl_langinfo.texi
doc/posix-functions/nl_langinfo_l.texi
doc/posix-functions/nrand48.texi
doc/posix-functions/ntohl.texi
doc/posix-functions/ntohs.texi
doc/posix-functions/open.texi
doc/posix-functions/open_memstream.texi
doc/posix-functions/open_wmemstream.texi
doc/posix-functions/openat.texi
doc/posix-functions/opendir.texi
doc/posix-functions/openlog.texi
doc/posix-functions/optarg.texi
doc/posix-functions/opterr.texi
doc/posix-functions/optind.texi
doc/posix-functions/optopt.texi
doc/posix-functions/pathconf.texi
doc/posix-functions/pause.texi
doc/posix-functions/pclose.texi
doc/posix-functions/perror.texi
doc/posix-functions/pipe.texi
doc/posix-functions/poll.texi
doc/posix-functions/popen.texi
doc/posix-functions/posix_fadvise.texi
doc/posix-functions/posix_fallocate.texi
doc/posix-functions/posix_madvise.texi
doc/posix-functions/posix_mem_offset.texi
doc/posix-functions/posix_memalign.texi
doc/posix-functions/posix_openpt.texi
doc/posix-functions/posix_spawn.texi
doc/posix-functions/posix_spawn_file_actions_addclose.texi
doc/posix-functions/posix_spawn_file_actions_adddup2.texi
doc/posix-functions/posix_spawn_file_actions_addopen.texi
doc/posix-functions/posix_spawn_file_actions_destroy.texi
doc/posix-functions/posix_spawn_file_actions_init.texi
doc/posix-functions/posix_spawnattr_destroy.texi
doc/posix-functions/posix_spawnattr_getflags.texi
doc/posix-functions/posix_spawnattr_getpgroup.texi
doc/posix-functions/posix_spawnattr_getschedparam.texi
doc/posix-functions/posix_spawnattr_getschedpolicy.texi
doc/posix-functions/posix_spawnattr_getsigdefault.texi
doc/posix-functions/posix_spawnattr_getsigmask.texi
doc/posix-functions/posix_spawnattr_init.texi
doc/posix-functions/posix_spawnattr_setflags.texi
doc/posix-functions/posix_spawnattr_setpgroup.texi
doc/posix-functions/posix_spawnattr_setschedparam.texi
doc/posix-functions/posix_spawnattr_setschedpolicy.texi
doc/posix-functions/posix_spawnattr_setsigdefault.texi
doc/posix-functions/posix_spawnattr_setsigmask.texi
doc/posix-functions/posix_spawnp.texi
doc/posix-functions/posix_trace_attr_destroy.texi
doc/posix-functions/posix_trace_attr_getclockres.texi
doc/posix-functions/posix_trace_attr_getcreatetime.texi
doc/posix-functions/posix_trace_attr_getgenversion.texi
doc/posix-functions/posix_trace_attr_getinherited.texi
doc/posix-functions/posix_trace_attr_getlogfullpolicy.texi
doc/posix-functions/posix_trace_attr_getlogsize.texi
doc/posix-functions/posix_trace_attr_getmaxdatasize.texi
doc/posix-functions/posix_trace_attr_getmaxsystemeventsize.texi
doc/posix-functions/posix_trace_attr_getmaxusereventsize.texi
doc/posix-functions/posix_trace_attr_getname.texi
doc/posix-functions/posix_trace_attr_getstreamfullpolicy.texi
doc/posix-functions/posix_trace_attr_getstreamsize.texi
doc/posix-functions/posix_trace_attr_init.texi
doc/posix-functions/posix_trace_attr_setinherited.texi
doc/posix-functions/posix_trace_attr_setlogfullpolicy.texi
doc/posix-functions/posix_trace_attr_setlogsize.texi
doc/posix-functions/posix_trace_attr_setmaxdatasize.texi
doc/posix-functions/posix_trace_attr_setname.texi
doc/posix-functions/posix_trace_attr_setstreamfullpolicy.texi
doc/posix-functions/posix_trace_attr_setstreamsize.texi
doc/posix-functions/posix_trace_clear.texi
doc/posix-functions/posix_trace_close.texi
doc/posix-functions/posix_trace_create.texi
doc/posix-functions/posix_trace_create_withlog.texi
doc/posix-functions/posix_trace_event.texi
doc/posix-functions/posix_trace_eventid_equal.texi
doc/posix-functions/posix_trace_eventid_get_name.texi
doc/posix-functions/posix_trace_eventid_open.texi
doc/posix-functions/posix_trace_eventset_add.texi
doc/posix-functions/posix_trace_eventset_del.texi
doc/posix-functions/posix_trace_eventset_empty.texi
doc/posix-functions/posix_trace_eventset_fill.texi
doc/posix-functions/posix_trace_eventset_ismember.texi
doc/posix-functions/posix_trace_eventtypelist_getnext_id.texi
doc/posix-functions/posix_trace_eventtypelist_rewind.texi
doc/posix-functions/posix_trace_flush.texi
doc/posix-functions/posix_trace_get_attr.texi
doc/posix-functions/posix_trace_get_filter.texi
doc/posix-functions/posix_trace_get_status.texi
doc/posix-functions/posix_trace_getnext_event.texi
doc/posix-functions/posix_trace_open.texi
doc/posix-functions/posix_trace_rewind.texi
doc/posix-functions/posix_trace_set_filter.texi
doc/posix-functions/posix_trace_shutdown.texi
doc/posix-functions/posix_trace_start.texi
doc/posix-functions/posix_trace_stop.texi
doc/posix-functions/posix_trace_timedgetnext_event.texi
doc/posix-functions/posix_trace_trid_eventid_open.texi
doc/posix-functions/posix_trace_trygetnext_event.texi
doc/posix-functions/posix_typed_mem_get_info.texi
doc/posix-functions/posix_typed_mem_open.texi
doc/posix-functions/powf.texi
doc/posix-functions/powl.texi
doc/posix-functions/pread.texi
doc/posix-functions/printf.texi
doc/posix-functions/pselect.texi
doc/posix-functions/psiginfo.texi
doc/posix-functions/psignal.texi
doc/posix-functions/pthread_atfork.texi
doc/posix-functions/pthread_attr_destroy.texi
doc/posix-functions/pthread_attr_getdetachstate.texi
doc/posix-functions/pthread_attr_getguardsize.texi
doc/posix-functions/pthread_attr_getinheritsched.texi
doc/posix-functions/pthread_attr_getschedparam.texi
doc/posix-functions/pthread_attr_getschedpolicy.texi
doc/posix-functions/pthread_attr_getscope.texi
doc/posix-functions/pthread_attr_getstack.texi
doc/posix-functions/pthread_attr_getstacksize.texi
doc/posix-functions/pthread_attr_init.texi
doc/posix-functions/pthread_attr_setdetachstate.texi
doc/posix-functions/pthread_attr_setguardsize.texi
doc/posix-functions/pthread_attr_setinheritsched.texi
doc/posix-functions/pthread_attr_setschedparam.texi
doc/posix-functions/pthread_attr_setschedpolicy.texi
doc/posix-functions/pthread_attr_setscope.texi
doc/posix-functions/pthread_attr_setstack.texi
doc/posix-functions/pthread_attr_setstacksize.texi
doc/posix-functions/pthread_barrier_destroy.texi
doc/posix-functions/pthread_barrier_init.texi
doc/posix-functions/pthread_barrier_wait.texi
doc/posix-functions/pthread_barrierattr_destroy.texi
doc/posix-functions/pthread_barrierattr_getpshared.texi
doc/posix-functions/pthread_barrierattr_init.texi
doc/posix-functions/pthread_barrierattr_setpshared.texi
doc/posix-functions/pthread_cancel.texi
doc/posix-functions/pthread_cleanup_pop.texi
doc/posix-functions/pthread_cleanup_push.texi
doc/posix-functions/pthread_cond_broadcast.texi
doc/posix-functions/pthread_cond_destroy.texi
doc/posix-functions/pthread_cond_init.texi
doc/posix-functions/pthread_cond_signal.texi
doc/posix-functions/pthread_cond_timedwait.texi
doc/posix-functions/pthread_cond_wait.texi
doc/posix-functions/pthread_condattr_destroy.texi
doc/posix-functions/pthread_condattr_getclock.texi
doc/posix-functions/pthread_condattr_getpshared.texi
doc/posix-functions/pthread_condattr_init.texi
doc/posix-functions/pthread_condattr_setclock.texi
doc/posix-functions/pthread_condattr_setpshared.texi
doc/posix-functions/pthread_create.texi
doc/posix-functions/pthread_detach.texi
doc/posix-functions/pthread_equal.texi
doc/posix-functions/pthread_exit.texi
doc/posix-functions/pthread_getconcurrency.texi
doc/posix-functions/pthread_getcpuclockid.texi
doc/posix-functions/pthread_getschedparam.texi
doc/posix-functions/pthread_getspecific.texi
doc/posix-functions/pthread_join.texi
doc/posix-functions/pthread_key_create.texi
doc/posix-functions/pthread_key_delete.texi
doc/posix-functions/pthread_kill.texi
doc/posix-functions/pthread_mutex_consistent.texi
doc/posix-functions/pthread_mutex_destroy.texi
doc/posix-functions/pthread_mutex_getprioceiling.texi
doc/posix-functions/pthread_mutex_init.texi
doc/posix-functions/pthread_mutex_lock.texi
doc/posix-functions/pthread_mutex_setprioceiling.texi
doc/posix-functions/pthread_mutex_timedlock.texi
doc/posix-functions/pthread_mutex_trylock.texi
doc/posix-functions/pthread_mutex_unlock.texi
doc/posix-functions/pthread_mutexattr_destroy.texi
doc/posix-functions/pthread_mutexattr_getprioceiling.texi
doc/posix-functions/pthread_mutexattr_getprotocol.texi
doc/posix-functions/pthread_mutexattr_getpshared.texi
doc/posix-functions/pthread_mutexattr_getrobust.texi
doc/posix-functions/pthread_mutexattr_gettype.texi
doc/posix-functions/pthread_mutexattr_init.texi
doc/posix-functions/pthread_mutexattr_setprioceiling.texi
doc/posix-functions/pthread_mutexattr_setprotocol.texi
doc/posix-functions/pthread_mutexattr_setpshared.texi
doc/posix-functions/pthread_mutexattr_setrobust.texi
doc/posix-functions/pthread_mutexattr_settype.texi
doc/posix-functions/pthread_once.texi
doc/posix-functions/pthread_rwlock_destroy.texi
doc/posix-functions/pthread_rwlock_init.texi
doc/posix-functions/pthread_rwlock_rdlock.texi
doc/posix-functions/pthread_rwlock_timedrdlock.texi
doc/posix-functions/pthread_rwlock_timedwrlock.texi
doc/posix-functions/pthread_rwlock_tryrdlock.texi
doc/posix-functions/pthread_rwlock_trywrlock.texi
doc/posix-functions/pthread_rwlock_unlock.texi
doc/posix-functions/pthread_rwlock_wrlock.texi
doc/posix-functions/pthread_rwlockattr_destroy.texi
doc/posix-functions/pthread_rwlockattr_getpshared.texi
doc/posix-functions/pthread_rwlockattr_init.texi
doc/posix-functions/pthread_rwlockattr_setpshared.texi
doc/posix-functions/pthread_self.texi
doc/posix-functions/pthread_setcancelstate.texi
doc/posix-functions/pthread_setcanceltype.texi
doc/posix-functions/pthread_setconcurrency.texi
doc/posix-functions/pthread_setschedparam.texi
doc/posix-functions/pthread_setschedprio.texi
doc/posix-functions/pthread_setspecific.texi
doc/posix-functions/pthread_sigmask.texi
doc/posix-functions/pthread_spin_destroy.texi
doc/posix-functions/pthread_spin_init.texi
doc/posix-functions/pthread_spin_lock.texi
doc/posix-functions/pthread_spin_trylock.texi
doc/posix-functions/pthread_spin_unlock.texi
doc/posix-functions/pthread_testcancel.texi
doc/posix-functions/ptsname.texi
doc/posix-functions/putc.texi
doc/posix-functions/putc_unlocked.texi
doc/posix-functions/putchar.texi
doc/posix-functions/putchar_unlocked.texi
doc/posix-functions/putmsg.texi
doc/posix-functions/putpmsg.texi
doc/posix-functions/puts.texi
doc/posix-functions/pututxline.texi
doc/posix-functions/pwrite.texi
doc/posix-functions/raise.texi
doc/posix-functions/rand_r.texi
doc/posix-functions/random.texi
doc/posix-functions/read.texi
doc/posix-functions/readdir.texi
doc/posix-functions/readdir_r.texi
doc/posix-functions/readlink.texi
doc/posix-functions/readlinkat.texi
doc/posix-functions/readv.texi
doc/posix-functions/realloc.texi
doc/posix-functions/realpath.texi
doc/posix-functions/recvmsg.texi
doc/posix-functions/regcomp.texi
doc/posix-functions/regerror.texi
doc/posix-functions/regexec.texi
doc/posix-functions/regfree.texi
doc/posix-functions/remainder.texi
doc/posix-functions/remainderf.texi
doc/posix-functions/remainderl.texi
doc/posix-functions/remove.texi
doc/posix-functions/remque.texi
doc/posix-functions/remquo.texi
doc/posix-functions/remquof.texi
doc/posix-functions/remquol.texi
doc/posix-functions/rename.texi
doc/posix-functions/renameat.texi
doc/posix-functions/rewinddir.texi
doc/posix-functions/rint.texi
doc/posix-functions/rintf.texi
doc/posix-functions/rintl.texi
doc/posix-functions/rmdir.texi
doc/posix-functions/round.texi
doc/posix-functions/roundf.texi
doc/posix-functions/roundl.texi
doc/posix-functions/scalbln.texi
doc/posix-functions/scalblnf.texi
doc/posix-functions/scalblnl.texi
doc/posix-functions/scalbn.texi
doc/posix-functions/scalbnf.texi
doc/posix-functions/scalbnl.texi
doc/posix-functions/scandir.texi
doc/posix-functions/scanf.texi
doc/posix-functions/sched_get_priority_max.texi
doc/posix-functions/sched_get_priority_min.texi
doc/posix-functions/sched_getparam.texi
doc/posix-functions/sched_getscheduler.texi
doc/posix-functions/sched_rr_get_interval.texi
doc/posix-functions/sched_setparam.texi
doc/posix-functions/sched_setscheduler.texi
doc/posix-functions/sched_yield.texi
doc/posix-functions/seed48.texi
doc/posix-functions/seekdir.texi
doc/posix-functions/select.texi
doc/posix-functions/sem_close.texi
doc/posix-functions/sem_destroy.texi
doc/posix-functions/sem_getvalue.texi
doc/posix-functions/sem_init.texi
doc/posix-functions/sem_open.texi
doc/posix-functions/sem_post.texi
doc/posix-functions/sem_timedwait.texi
doc/posix-functions/sem_trywait.texi
doc/posix-functions/sem_unlink.texi
doc/posix-functions/sem_wait.texi
doc/posix-functions/semctl.texi
doc/posix-functions/semget.texi
doc/posix-functions/semop.texi
doc/posix-functions/sendmsg.texi
doc/posix-functions/setegid.texi
doc/posix-functions/setenv.texi
doc/posix-functions/seteuid.texi
doc/posix-functions/setgid.texi
doc/posix-functions/setgrent.texi
doc/posix-functions/sethostent.texi
doc/posix-functions/setitimer.texi
doc/posix-functions/setkey.texi
doc/posix-functions/setlogmask.texi
doc/posix-functions/setnetent.texi
doc/posix-functions/setpgid.texi
doc/posix-functions/setpgrp.texi
doc/posix-functions/setpriority.texi
doc/posix-functions/setprotoent.texi
doc/posix-functions/setpwent.texi
doc/posix-functions/setregid.texi
doc/posix-functions/setreuid.texi
doc/posix-functions/setrlimit.texi
doc/posix-functions/setservent.texi
doc/posix-functions/setsid.texi
doc/posix-functions/setstate.texi
doc/posix-functions/setuid.texi
doc/posix-functions/setutxent.texi
doc/posix-functions/shm_open.texi
doc/posix-functions/shm_unlink.texi
doc/posix-functions/shmat.texi
doc/posix-functions/shmctl.texi
doc/posix-functions/shmdt.texi
doc/posix-functions/shmget.texi
doc/posix-functions/sigaction.texi
doc/posix-functions/sigaddset.texi
doc/posix-functions/sigaltstack.texi
doc/posix-functions/sigdelset.texi
doc/posix-functions/sigemptyset.texi
doc/posix-functions/sigfillset.texi
doc/posix-functions/sighold.texi
doc/posix-functions/sigignore.texi
doc/posix-functions/siginterrupt.texi
doc/posix-functions/sigismember.texi
doc/posix-functions/siglongjmp.texi
doc/posix-functions/signal.texi
doc/posix-functions/signbit.texi
doc/posix-functions/signgam.texi
doc/posix-functions/sigpause.texi
doc/posix-functions/sigpending.texi
doc/posix-functions/sigprocmask.texi
doc/posix-functions/sigqueue.texi
doc/posix-functions/sigrelse.texi
doc/posix-functions/sigset.texi
doc/posix-functions/sigsetjmp.texi
doc/posix-functions/sigsuspend.texi
doc/posix-functions/sigtimedwait.texi
doc/posix-functions/sigwait.texi
doc/posix-functions/sigwaitinfo.texi
doc/posix-functions/sinf.texi
doc/posix-functions/sinhf.texi
doc/posix-functions/sinhl.texi
doc/posix-functions/sinl.texi
doc/posix-functions/sleep.texi
doc/posix-functions/snprintf.texi
doc/posix-functions/sockatmark.texi
doc/posix-functions/socketpair.texi
doc/posix-functions/sprintf.texi
doc/posix-functions/sqrtf.texi
doc/posix-functions/sqrtl.texi
doc/posix-functions/srand48.texi
doc/posix-functions/srandom.texi
doc/posix-functions/stat.texi
doc/posix-functions/statvfs.texi
doc/posix-functions/stpcpy.texi
doc/posix-functions/stpncpy.texi
doc/posix-functions/strcasecmp.texi
doc/posix-functions/strcasecmp_l.texi
doc/posix-functions/strcoll_l.texi
doc/posix-functions/strdup.texi
doc/posix-functions/strerror.texi
doc/posix-functions/strerror_l.texi
doc/posix-functions/strerror_r.texi
doc/posix-functions/strfmon.texi
doc/posix-functions/strfmon_l.texi
doc/posix-functions/strftime_l.texi
doc/posix-functions/strncasecmp.texi
doc/posix-functions/strncasecmp_l.texi
doc/posix-functions/strndup.texi
doc/posix-functions/strptime.texi
doc/posix-functions/strsignal.texi
doc/posix-functions/strstr.texi
doc/posix-functions/strtod.texi
doc/posix-functions/strtof.texi
doc/posix-functions/strtoimax.texi
doc/posix-functions/strtok_r.texi
doc/posix-functions/strtold.texi
doc/posix-functions/strtoll.texi
doc/posix-functions/strtoull.texi
doc/posix-functions/strtoumax.texi
doc/posix-functions/strxfrm_l.texi
doc/posix-functions/swprintf.texi
doc/posix-functions/symlink.texi
doc/posix-functions/symlinkat.texi
doc/posix-functions/sync.texi
doc/posix-functions/sysconf.texi
doc/posix-functions/syslog.texi
doc/posix-functions/tanf.texi
doc/posix-functions/tanhf.texi
doc/posix-functions/tanhl.texi
doc/posix-functions/tanl.texi
doc/posix-functions/tcdrain.texi
doc/posix-functions/tcflow.texi
doc/posix-functions/tcflush.texi
doc/posix-functions/tcgetattr.texi
doc/posix-functions/tcgetpgrp.texi
doc/posix-functions/tcgetsid.texi
doc/posix-functions/tcsendbreak.texi
doc/posix-functions/tcsetattr.texi
doc/posix-functions/tcsetpgrp.texi
doc/posix-functions/tdelete.texi
doc/posix-functions/telldir.texi
doc/posix-functions/tfind.texi
doc/posix-functions/tgamma.texi
doc/posix-functions/tgammaf.texi
doc/posix-functions/tgammal.texi
doc/posix-functions/timer_create.texi
doc/posix-functions/timer_delete.texi
doc/posix-functions/timer_getoverrun.texi
doc/posix-functions/timer_gettime.texi
doc/posix-functions/timer_settime.texi
doc/posix-functions/times.texi
doc/posix-functions/tmpfile.texi
doc/posix-functions/tolower_l.texi
doc/posix-functions/toupper_l.texi
doc/posix-functions/towctrans.texi
doc/posix-functions/towctrans_l.texi
doc/posix-functions/towlower_l.texi
doc/posix-functions/towupper_l.texi
doc/posix-functions/trunc.texi
doc/posix-functions/truncate.texi
doc/posix-functions/truncf.texi
doc/posix-functions/truncl.texi
doc/posix-functions/tsearch.texi
doc/posix-functions/ttyname.texi
doc/posix-functions/ttyname_r.texi
doc/posix-functions/twalk.texi
doc/posix-functions/ulimit.texi
doc/posix-functions/uname.texi
doc/posix-functions/unlinkat.texi
doc/posix-functions/unlockpt.texi
doc/posix-functions/unsetenv.texi
doc/posix-functions/uselocale.texi
doc/posix-functions/utime.texi
doc/posix-functions/utimensat.texi
doc/posix-functions/utimes.texi
doc/posix-functions/vdprintf.texi
doc/posix-functions/vfprintf.texi
doc/posix-functions/vfscanf.texi
doc/posix-functions/vprintf.texi
doc/posix-functions/vscanf.texi
doc/posix-functions/vsnprintf.texi
doc/posix-functions/vsprintf.texi
doc/posix-functions/vsscanf.texi
doc/posix-functions/vswscanf.texi
doc/posix-functions/wait.texi
doc/posix-functions/waitid.texi
doc/posix-functions/waitpid.texi
doc/posix-functions/wcpcpy.texi
doc/posix-functions/wcpncpy.texi
doc/posix-functions/wcscasecmp.texi
doc/posix-functions/wcscasecmp_l.texi
doc/posix-functions/wcscoll_l.texi
doc/posix-functions/wcsncasecmp.texi
doc/posix-functions/wcsncasecmp_l.texi
doc/posix-functions/wcsnrtombs.texi
doc/posix-functions/wcstof.texi
doc/posix-functions/wcstoimax.texi
doc/posix-functions/wcstold.texi
doc/posix-functions/wcstoll.texi
doc/posix-functions/wcstoull.texi
doc/posix-functions/wcstoumax.texi
doc/posix-functions/wcswidth.texi
doc/posix-functions/wcsxfrm_l.texi
doc/posix-functions/wctrans.texi
doc/posix-functions/wctrans_l.texi
doc/posix-functions/wctype.texi
doc/posix-functions/wctype_l.texi
doc/posix-functions/wcwidth.texi
doc/posix-functions/wmemchr.texi
doc/posix-functions/wmemcmp.texi
doc/posix-functions/wmemcpy.texi
doc/posix-functions/wmemmove.texi
doc/posix-functions/wmemset.texi
doc/posix-functions/wordexp.texi
doc/posix-functions/wordfree.texi
doc/posix-functions/write.texi
doc/posix-functions/writev.texi
doc/posix-headers/aio.texi
doc/posix-headers/arpa_inet.texi
doc/posix-headers/complex.texi
doc/posix-headers/cpio.texi
doc/posix-headers/dirent.texi
doc/posix-headers/dlfcn.texi
doc/posix-headers/errno.texi
doc/posix-headers/fcntl.texi
doc/posix-headers/fenv.texi
doc/posix-headers/float.texi
doc/posix-headers/fmtmsg.texi
doc/posix-headers/fnmatch.texi
doc/posix-headers/ftw.texi
doc/posix-headers/glob.texi
doc/posix-headers/grp.texi
doc/posix-headers/iconv.texi
doc/posix-headers/inttypes.texi
doc/posix-headers/langinfo.texi
doc/posix-headers/libgen.texi
doc/posix-headers/limits.texi
doc/posix-headers/locale.texi
doc/posix-headers/math.texi
doc/posix-headers/monetary.texi
doc/posix-headers/mqueue.texi
doc/posix-headers/ndbm.texi
doc/posix-headers/net_if.texi
doc/posix-headers/netdb.texi
doc/posix-headers/netinet_in.texi
doc/posix-headers/netinet_tcp.texi
doc/posix-headers/nl_types.texi
doc/posix-headers/poll.texi
doc/posix-headers/pthread.texi
doc/posix-headers/pwd.texi
doc/posix-headers/regex.texi
doc/posix-headers/sched.texi
doc/posix-headers/semaphore.texi
doc/posix-headers/signal.texi
doc/posix-headers/spawn.texi
doc/posix-headers/stdalign.texi [new file with mode: 0644]
doc/posix-headers/stdint.texi
doc/posix-headers/stdio.texi
doc/posix-headers/strings.texi
doc/posix-headers/stropts.texi
doc/posix-headers/sys_ipc.texi
doc/posix-headers/sys_mman.texi
doc/posix-headers/sys_msg.texi
doc/posix-headers/sys_resource.texi
doc/posix-headers/sys_select.texi
doc/posix-headers/sys_sem.texi
doc/posix-headers/sys_shm.texi
doc/posix-headers/sys_socket.texi
doc/posix-headers/sys_stat.texi
doc/posix-headers/sys_statvfs.texi
doc/posix-headers/sys_time.texi
doc/posix-headers/sys_times.texi
doc/posix-headers/sys_types.texi
doc/posix-headers/sys_uio.texi
doc/posix-headers/sys_un.texi
doc/posix-headers/sys_utsname.texi
doc/posix-headers/sys_wait.texi
doc/posix-headers/syslog.texi
doc/posix-headers/tar.texi
doc/posix-headers/termios.texi
doc/posix-headers/tgmath.texi
doc/posix-headers/trace.texi
doc/posix-headers/ucontext.texi
doc/posix-headers/ulimit.texi
doc/posix-headers/unistd.texi
doc/posix-headers/utime.texi
doc/posix-headers/utmpx.texi
doc/posix-headers/wchar.texi
doc/posix-headers/wctype.texi
doc/posix-headers/wordexp.texi
doc/standards.texi
gnulib-tool
lib/accept.c
lib/accept4.c
lib/acl-internal.h
lib/acosf.c [new file with mode: 0644]
lib/acosl.c
lib/alignof.h
lib/argmatch.h
lib/argp-help.c
lib/argp-parse.c
lib/argv-iter.h
lib/arpa_inet.in.h
lib/asinf.c [new file with mode: 0644]
lib/asinl.c
lib/at-func.c
lib/at-func2.c
lib/atan2f.c [new file with mode: 0644]
lib/atanf.c [new file with mode: 0644]
lib/atanl.c
lib/base32.c [new file with mode: 0644]
lib/base32.h [new file with mode: 0644]
lib/base64.h
lib/bcopy.c
lib/bind.c
lib/c-ctype.h
lib/c-strcase.h
lib/ceil.c
lib/ceill.c
lib/chdir-long.c
lib/close.c
lib/closedir.c [new file with mode: 0644]
lib/connect.c
lib/copy-acl.c
lib/copysign.c [new file with mode: 0644]
lib/copysignf.c [new file with mode: 0644]
lib/copysignl.c [new file with mode: 0644]
lib/cosf.c [new file with mode: 0644]
lib/coshf.c [new file with mode: 0644]
lib/cosl.c
lib/di-set.c
lib/dirent-private.h [new file with mode: 0644]
lib/dirent.in.h
lib/dirname.h
lib/dup.c [new file with mode: 0644]
lib/dup2.c
lib/errno.in.h
lib/error.c
lib/euidaccess.c
lib/exclude.h
lib/expf.c [new file with mode: 0644]
lib/expl.c
lib/fabsf.c [new file with mode: 0644]
lib/fchdir.c
lib/fclose.c
lib/fcntl.c
lib/fdatasync.c [new file with mode: 0644]
lib/fdopen.c [new file with mode: 0644]
lib/ffs.c
lib/ffsl.c
lib/ffsl.h
lib/ffsll.c
lib/file-has-acl.c
lib/file-type.h
lib/filenamecat-lgpl.c
lib/filevercmp.c
lib/float.c
lib/float.in.h
lib/flock.c
lib/floor.c
lib/floorl.c
lib/fma.c [new file with mode: 0644]
lib/fmaf.c [new file with mode: 0644]
lib/fmal.c [new file with mode: 0644]
lib/fmodf.c [new file with mode: 0644]
lib/fnmatch.c
lib/fnmatch_loop.c
lib/fopen.c
lib/freadahead.h
lib/freopen.c
lib/frexp.c
lib/frexpf.c [new file with mode: 0644]
lib/frexpl.c
lib/fstat.c [new file with mode: 0644]
lib/fstatat.c
lib/fsync.c
lib/ftruncate.c
lib/fts.c
lib/gc.h
lib/getcwd.c
lib/getdtablesize.c
lib/getpeername.c
lib/getsockname.c
lib/getsockopt.c
lib/gettext.h
lib/glob.c
lib/glthread/cond.h
lib/glthread/lock.h
lib/glthread/thread.h
lib/glthread/tls.h
lib/glthread/yield.h
lib/grantpt.c
lib/hash-pjw.h
lib/hash-triple.h
lib/hash.c
lib/hash.h
lib/i-ring.h
lib/inet_ntop.c
lib/inet_pton.c
lib/integer_length.c [new file with mode: 0644]
lib/integer_length.h [new file with mode: 0644]
lib/integer_length_l.c [new file with mode: 0644]
lib/integer_length_ll.c [new file with mode: 0644]
lib/isapipe.c
lib/isnan.c
lib/itold.c [new file with mode: 0644]
lib/ldexpf.c [new file with mode: 0644]
lib/ldexpl.c
lib/linkat.c
lib/listen.c
lib/log10f.c [new file with mode: 0644]
lib/logf.c [new file with mode: 0644]
lib/logl.c
lib/lseek.c
lib/lstat.c
lib/math.in.h
lib/md4.c
lib/md5.c
lib/memcasecmp.h
lib/memchr2.h
lib/memcmp2.h
lib/memset.c
lib/modff.c [new file with mode: 0644]
lib/msvc-inval.c [new file with mode: 0644]
lib/msvc-inval.h [new file with mode: 0644]
lib/msvc-nothrow.c [new file with mode: 0644]
lib/msvc-nothrow.h [new file with mode: 0644]
lib/nonblocking.c
lib/obstack.c
lib/open.c
lib/openat.c
lib/openat.h
lib/opendir.c [new file with mode: 0644]
lib/openpty.c
lib/pagealign_alloc.c
lib/parse-datetime.y
lib/pathmax.h
lib/pclose.c [new file with mode: 0644]
lib/pipe2.c
lib/poll.c
lib/popen.c
lib/posix_openpt.c [new file with mode: 0644]
lib/powf.c [new file with mode: 0644]
lib/printf-frexp.c
lib/printf-frexpl.c
lib/propername.c
lib/propername.h
lib/ptsname.c
lib/ptsname_r.c [new file with mode: 0644]
lib/pty.in.h
lib/putenv.c
lib/quotearg.c
lib/raise.c
lib/read.c
lib/readdir.c [new file with mode: 0644]
lib/recv.c
lib/recvfrom.c
lib/regex.h
lib/regex_internal.h
lib/regexec.c
lib/relocatable.c
lib/rewinddir.c [new file with mode: 0644]
lib/rint.c [new file with mode: 0644]
lib/rintf.c [new file with mode: 0644]
lib/rintl.c [new file with mode: 0644]
lib/round.c
lib/roundl.c
lib/sched.in.h
lib/select.c
lib/send.c
lib/sendto.c
lib/set-mode-acl.c
lib/setsockopt.c
lib/sha1.c
lib/sha256.c
lib/sha512.c
lib/shutdown.c
lib/signal.in.h
lib/sigprocmask.c
lib/sinf.c [new file with mode: 0644]
lib/sinhf.c [new file with mode: 0644]
lib/sinl.c
lib/sockets.c
lib/sockets.h
lib/spawn.in.h
lib/sqrtf.c [new file with mode: 0644]
lib/sqrtl.c
lib/stat.c
lib/stdalign.in.h [new file with mode: 0644]
lib/stdio-read.c
lib/stdio-write.c
lib/stdio.in.h
lib/stdlib.in.h
lib/strerror-override.c
lib/strerror-override.h
lib/strerror_r.c
lib/strings.in.h
lib/strnlen1.h
lib/strsignal.c
lib/sys_select.in.h
lib/sys_socket.in.h
lib/sys_stat.in.h
lib/sys_time.in.h
lib/sys_types.in.h [new file with mode: 0644]
lib/sys_uio.in.h
lib/tanf.c [new file with mode: 0644]
lib/tanhf.c [new file with mode: 0644]
lib/tanl.c
lib/tempname.c
lib/trunc.c
lib/truncl.c
lib/unistd.in.h
lib/uniwidth.in.h
lib/unlockpt.c
lib/utimens.c
lib/utimensat.c
lib/vasnprintf.c
lib/w32sock.h
lib/w32spawn.h
lib/wchar.in.h
lib/wctype.in.h
lib/write.c
lib/xstrtol.c
m4/absolute-header.m4
m4/acl.m4
m4/acos.m4 [new file with mode: 0644]
m4/acosf.m4 [new file with mode: 0644]
m4/acosl.m4
m4/ansi-c++.m4
m4/argp.m4
m4/arpa_inet_h.m4
m4/asin.m4 [new file with mode: 0644]
m4/asinf.m4 [new file with mode: 0644]
m4/asinl.m4
m4/asm-underscore.m4
m4/atan.m4 [new file with mode: 0644]
m4/atan2.m4 [new file with mode: 0644]
m4/atan2f.m4 [new file with mode: 0644]
m4/atanf.m4 [new file with mode: 0644]
m4/atanl.m4
m4/base32.m4 [new file with mode: 0644]
m4/c-stack.m4
m4/ceilf.m4
m4/ceill.m4
m4/chdir-long.m4
m4/close.m4
m4/closedir.m4 [new file with mode: 0644]
m4/copysign.m4 [new file with mode: 0644]
m4/copysignf.m4 [new file with mode: 0644]
m4/copysignl.m4 [new file with mode: 0644]
m4/cos.m4 [new file with mode: 0644]
m4/cosf.m4 [new file with mode: 0644]
m4/cosh.m4 [new file with mode: 0644]
m4/coshf.m4 [new file with mode: 0644]
m4/cosl.m4
m4/dirent_h.m4
m4/dirfd.m4
m4/dup.m4 [new file with mode: 0644]
m4/dup2.m4
m4/dup3.m4
m4/environ.m4
m4/euidaccess.m4
m4/exp.m4 [new file with mode: 0644]
m4/expf.m4 [new file with mode: 0644]
m4/expl.m4
m4/fabs.m4 [new file with mode: 0644]
m4/fabsf.m4 [new file with mode: 0644]
m4/faccessat.m4
m4/fchdir.m4
m4/fchmodat.m4 [new file with mode: 0644]
m4/fchownat.m4 [new file with mode: 0644]
m4/fcntl-o.m4
m4/fcntl_h.m4
m4/fdatasync.m4 [new file with mode: 0644]
m4/fdopen.m4 [new file with mode: 0644]
m4/fdopendir.m4
m4/fegetround.m4 [new file with mode: 0644]
m4/fflush.m4
m4/float_h.m4
m4/floorf.m4
m4/floorl.m4
m4/fma.m4 [new file with mode: 0644]
m4/fmaf.m4 [new file with mode: 0644]
m4/fmal.m4 [new file with mode: 0644]
m4/fmod.m4 [new file with mode: 0644]
m4/fmodf.m4 [new file with mode: 0644]
m4/fnmatch.m4
m4/free.m4
m4/frexp.m4
m4/frexpf.m4 [new file with mode: 0644]
m4/frexpl.m4
m4/fstat.m4 [new file with mode: 0644]
m4/fstatat.m4 [new file with mode: 0644]
m4/ftruncate.m4
m4/getaddrinfo.m4
m4/getcwd-abort-bug.m4
m4/getcwd-path-max.m4
m4/getcwd.m4
m4/getdomainname.m4
m4/getdtablesize.m4
m4/gethrxtime.m4
m4/getloadavg.m4
m4/getopt.m4
m4/getpass.m4
m4/gnulib-common.m4
m4/iconv.m4
m4/include_next.m4
m4/inet_ntop.m4
m4/inet_pton.m4
m4/isfinite.m4
m4/isinf.m4
m4/isnand.m4
m4/isnanl.m4
m4/largefile.m4
m4/ldexpf.m4 [new file with mode: 0644]
m4/ldexpl.m4
m4/log.m4 [new file with mode: 0644]
m4/log10.m4 [new file with mode: 0644]
m4/log10f.m4 [new file with mode: 0644]
m4/logb.m4
m4/logf.m4 [new file with mode: 0644]
m4/logl.m4
m4/lseek.m4
m4/manywarnings.m4
m4/math_h.m4
m4/mathfunc.m4
m4/mkdirat.m4 [new file with mode: 0644]
m4/modf.m4 [new file with mode: 0644]
m4/modff.m4 [new file with mode: 0644]
m4/msvc-inval.m4 [new file with mode: 0644]
m4/msvc-nothrow.m4 [new file with mode: 0644]
m4/nocrash.m4
m4/onceonly.m4
m4/openat.m4
m4/opendir.m4 [new file with mode: 0644]
m4/pathmax.m4
m4/pclose.m4 [new file with mode: 0644]
m4/perror.m4
m4/poll.m4
m4/popen.m4
m4/posix_openpt.m4 [new file with mode: 0644]
m4/pow.m4 [new file with mode: 0644]
m4/powf.m4 [new file with mode: 0644]
m4/printf-frexpl.m4
m4/printf.m4
m4/pthread.m4
m4/pthread_sigmask.m4
m4/ptsname_r.m4 [new file with mode: 0644]
m4/raise.m4 [new file with mode: 0644]
m4/read.m4
m4/readdir.m4 [new file with mode: 0644]
m4/readline.m4
m4/readutmp.m4
m4/regex.m4
m4/rename.m4
m4/rewinddir.m4 [new file with mode: 0644]
m4/rint.m4 [new file with mode: 0644]
m4/rintf.m4 [new file with mode: 0644]
m4/rintl.m4 [new file with mode: 0644]
m4/rmdir.m4
m4/round.m4
m4/roundf.m4
m4/roundl.m4
m4/sched_h.m4
m4/select.m4
m4/setenv.m4
m4/signal_h.m4
m4/signalblocking.m4
m4/signbit.m4
m4/sin.m4 [new file with mode: 0644]
m4/sinf.m4 [new file with mode: 0644]
m4/sinh.m4 [new file with mode: 0644]
m4/sinhf.m4 [new file with mode: 0644]
m4/sinl.m4
m4/sleep.m4
m4/spawn_h.m4
m4/sqrtf.m4 [new file with mode: 0644]
m4/sqrtl.m4
m4/stdalign.m4 [new file with mode: 0644]
m4/stdint.m4
m4/stdio_h.m4
m4/stdlib_h.m4
m4/strerror_r.m4
m4/strings_h.m4
m4/strsignal.m4
m4/sys_stat_h.m4
m4/sys_time_h.m4
m4/sys_types_h.m4 [new file with mode: 0644]
m4/sys_wait_h.m4
m4/tan.m4 [new file with mode: 0644]
m4/tanf.m4 [new file with mode: 0644]
m4/tanh.m4 [new file with mode: 0644]
m4/tanhf.m4 [new file with mode: 0644]
m4/tanl.m4
m4/termios_h.m4
m4/time_h.m4
m4/trunc.m4
m4/truncf.m4
m4/truncl.m4
m4/unistd_h.m4
m4/unlink.m4
m4/unlinkat.m4 [new file with mode: 0644]
m4/valgrind-tests.m4
m4/vasnprintf.m4
m4/vsnprintf-posix.m4
m4/wctob.m4
m4/wcwidth.m4
m4/wmemchr.m4
m4/wmemcmp.m4
m4/wmemcpy.m4
m4/wmemmove.m4
m4/wmemset.m4
m4/write.m4
modules/accept
modules/accept-tests [new file with mode: 0644]
modules/accept4
modules/accept4-tests [new file with mode: 0644]
modules/acl
modules/acl-tests
modules/acos
modules/acosf [new file with mode: 0644]
modules/acosf-tests [new file with mode: 0644]
modules/acosl
modules/areadlinkat
modules/areadlinkat-with-size
modules/argp
modules/argv-iter
modules/arpa_inet
modules/asin
modules/asinf [new file with mode: 0644]
modules/asinf-tests [new file with mode: 0644]
modules/asinl
modules/at-internal [new file with mode: 0644]
modules/atan
modules/atan2
modules/atan2f [new file with mode: 0644]
modules/atan2f-tests [new file with mode: 0644]
modules/atanf [new file with mode: 0644]
modules/atanf-tests [new file with mode: 0644]
modules/atanl
modules/backupfile
modules/base32 [new file with mode: 0644]
modules/base32-tests [new file with mode: 0644]
modules/bind
modules/bind-tests [new file with mode: 0644]
modules/ceil-tests
modules/ceilf-tests
modules/ceill
modules/ceill-tests
modules/chdir [new file with mode: 0644]
modules/chdir-long
modules/chdir-safer
modules/chdir-tests [new file with mode: 0644]
modules/chown
modules/cloexec-tests
modules/close
modules/close-tests [new file with mode: 0644]
modules/closedir [new file with mode: 0644]
modules/connect
modules/connect-tests [new file with mode: 0644]
modules/copy-file
modules/copy-file-tests
modules/copysign
modules/copysignf [new file with mode: 0644]
modules/copysignf-tests [new file with mode: 0644]
modules/copysignl [new file with mode: 0644]
modules/copysignl-tests [new file with mode: 0644]
modules/cos
modules/cosf [new file with mode: 0644]
modules/cosf-tests [new file with mode: 0644]
modules/cosh
modules/coshf [new file with mode: 0644]
modules/coshf-tests [new file with mode: 0644]
modules/cosl
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
modules/crypto/md4
modules/crypto/md5
modules/crypto/sha1
modules/crypto/sha256
modules/crypto/sha512
modules/di-set
modules/dirent
modules/dirent-safer
modules/dirent-safer-tests
modules/dprintf-posix
modules/dprintf-posix-tests
modules/dprintf-tests [new file with mode: 0644]
modules/dup [new file with mode: 0644]
modules/dup-tests [new file with mode: 0644]
modules/dup2
modules/dup2-tests
modules/dup3-tests
modules/error
modules/exclude-tests
modules/execute
modules/exp
modules/expf [new file with mode: 0644]
modules/expf-tests [new file with mode: 0644]
modules/expl
modules/fabs
modules/fabsf [new file with mode: 0644]
modules/fabsf-tests [new file with mode: 0644]
modules/faccessat
modules/faccessat-tests [new file with mode: 0644]
modules/fchdir
modules/fchdir-tests
modules/fchmod-tests [new file with mode: 0644]
modules/fchmodat [new file with mode: 0644]
modules/fchmodat-tests [new file with mode: 0644]
modules/fchown-tests [new file with mode: 0644]
modules/fchownat [new file with mode: 0644]
modules/fchownat-tests [new file with mode: 0644]
modules/fclose
modules/fclose-tests
modules/fcntl
modules/fcntl-tests
modules/fdatasync [new file with mode: 0644]
modules/fdatasync-tests [new file with mode: 0644]
modules/fdopen [new file with mode: 0644]
modules/fdopen-tests [new file with mode: 0644]
modules/fdopendir
modules/fdopendir-tests
modules/fdutimensat-tests
modules/fflush-tests
modules/ffsll
modules/fgetc-tests [new file with mode: 0644]
modules/float
modules/flock
modules/floor-tests
modules/floorf-tests
modules/floorl
modules/floorl-tests
modules/fma [new file with mode: 0644]
modules/fma-tests [new file with mode: 0644]
modules/fmaf [new file with mode: 0644]
modules/fmaf-tests [new file with mode: 0644]
modules/fmal [new file with mode: 0644]
modules/fmal-tests [new file with mode: 0644]
modules/fmod
modules/fmodf [new file with mode: 0644]
modules/fmodf-tests [new file with mode: 0644]
modules/fopen
modules/fprintf-posix
modules/fprintf-posix-tests
modules/fputc-tests [new file with mode: 0644]
modules/fread-tests [new file with mode: 0644]
modules/freopen-tests
modules/frexp-nolibm-tests
modules/frexp-tests
modules/frexpf [new file with mode: 0644]
modules/frexpf-tests [new file with mode: 0644]
modules/frexpl
modules/frexpl-nolibm
modules/frexpl-nolibm-tests
modules/frexpl-tests
modules/fseeko-tests
modules/fstat [new file with mode: 0644]
modules/fstat-tests [new file with mode: 0644]
modules/fstatat [new file with mode: 0644]
modules/fstatat-tests [new file with mode: 0644]
modules/fsync
modules/fsync-tests
modules/ftello-tests
modules/ftruncate
modules/ftruncate-tests [new file with mode: 0644]
modules/fts
modules/futimens-tests
modules/fwrite-tests [new file with mode: 0644]
modules/getcwd
modules/getcwd-lgpl-tests
modules/getcwd-tests
modules/getdtablesize
modules/gethostname
modules/getopt-gnu
modules/getopt-posix
modules/getpeername
modules/getpeername-tests [new file with mode: 0644]
modules/getsockname
modules/getsockname-tests [new file with mode: 0644]
modules/getsockopt
modules/getsockopt-tests [new file with mode: 0644]
modules/glob
modules/grantpt
modules/grantpt-tests [new file with mode: 0644]
modules/imaxabs-tests [new file with mode: 0644]
modules/imaxdiv-tests [new file with mode: 0644]
modules/inet_ntop
modules/inet_pton
modules/ino-map
modules/integer_length [new file with mode: 0644]
modules/integer_length-tests [new file with mode: 0644]
modules/integer_length_l [new file with mode: 0644]
modules/integer_length_l-tests [new file with mode: 0644]
modules/integer_length_ll [new file with mode: 0644]
modules/integer_length_ll-tests [new file with mode: 0644]
modules/ioctl
modules/ioctl-tests [new file with mode: 0644]
modules/isapipe
modules/isatty-tests [new file with mode: 0644]
modules/isfinite-tests
modules/isinf-tests
modules/isnan-tests
modules/isnand-nolibm-tests
modules/isnand-tests
modules/isnanf-nolibm-tests
modules/isnanf-tests
modules/isnanl-nolibm
modules/isnanl-nolibm-tests
modules/isnanl-tests
modules/ldexp-tests
modules/ldexpf [new file with mode: 0644]
modules/ldexpf-tests [new file with mode: 0644]
modules/ldexpl
modules/ldexpl-tests
modules/linkat
modules/linkat-tests
modules/listen
modules/listen-tests [new file with mode: 0644]
modules/log
modules/log10
modules/log10f [new file with mode: 0644]
modules/log10f-tests [new file with mode: 0644]
modules/logf [new file with mode: 0644]
modules/logf-tests [new file with mode: 0644]
modules/logl
modules/lseek
modules/math
modules/math-c++-tests
modules/mkdir-p
modules/mkdirat [new file with mode: 0644]
modules/mkdirat-tests [new file with mode: 0644]
modules/mkfifoat
modules/mkfifoat-tests
modules/modf
modules/modff [new file with mode: 0644]
modules/modff-tests [new file with mode: 0644]
modules/msvc-inval [new file with mode: 0644]
modules/msvc-nothrow [new file with mode: 0644]
modules/nonblocking
modules/obstack-printf-posix
modules/open
modules/openat
modules/openat-die
modules/openat-h [new file with mode: 0644]
modules/openat-tests
modules/opendir [new file with mode: 0644]
modules/openpty
modules/pclose [new file with mode: 0644]
modules/pclose-tests [new file with mode: 0644]
modules/perror-tests
modules/pipe-posix-tests
modules/pipe2-tests
modules/poll
modules/poll-h-c++-tests
modules/poll-tests
modules/popen
modules/popen-safer-tests
modules/popen-tests
modules/posix_openpt [new file with mode: 0644]
modules/posix_openpt-tests [new file with mode: 0644]
modules/posix_spawn_file_actions_addclose
modules/posix_spawn_file_actions_addclose-tests [new file with mode: 0644]
modules/posix_spawn_file_actions_adddup2
modules/posix_spawn_file_actions_adddup2-tests [new file with mode: 0644]
modules/posix_spawn_file_actions_addopen
modules/posix_spawn_file_actions_addopen-tests [new file with mode: 0644]
modules/posix_spawnp-tests
modules/pow
modules/powf [new file with mode: 0644]
modules/powf-tests [new file with mode: 0644]
modules/printf-frexpl
modules/printf-posix-tests
modules/pselect
modules/pselect-tests
modules/pt_chown
modules/pthread_sigmask
modules/ptsname
modules/ptsname-tests
modules/ptsname_r [new file with mode: 0644]
modules/ptsname_r-tests [new file with mode: 0644]
modules/putenv
modules/raise
modules/raise-tests [new file with mode: 0644]
modules/read
modules/read-file
modules/read-tests [new file with mode: 0644]
modules/readdir [new file with mode: 0644]
modules/readlinkat
modules/readlinkat-tests
modules/recv
modules/recv-tests [new file with mode: 0644]
modules/recvfrom
modules/recvfrom-tests [new file with mode: 0644]
modules/rename
modules/rename-tests
modules/renameat
modules/renameat-tests
modules/rewinddir [new file with mode: 0644]
modules/rint
modules/rint-tests
modules/rintf [new file with mode: 0644]
modules/rintf-tests [new file with mode: 0644]
modules/rintl [new file with mode: 0644]
modules/rintl-tests [new file with mode: 0644]
modules/round-tests
modules/roundf-tests
modules/roundl
modules/roundl-tests
modules/savedir
modules/savewd
modules/scandir
modules/select
modules/select-tests
modules/selinux-at
modules/send
modules/send-tests [new file with mode: 0644]
modules/sendto
modules/sendto-tests [new file with mode: 0644]
modules/setsockopt
modules/setsockopt-tests [new file with mode: 0644]
modules/shutdown
modules/shutdown-tests [new file with mode: 0644]
modules/sigaction
modules/signal
modules/signal-c++-tests [deleted file]
modules/signal-h [new file with mode: 0644]
modules/signal-h-c++-tests [new file with mode: 0644]
modules/signal-h-tests [new file with mode: 0644]
modules/signal-tests [deleted file]
modules/signbit-tests
modules/sigpipe
modules/sigprocmask
modules/sin
modules/sinf [new file with mode: 0644]
modules/sinf-tests [new file with mode: 0644]
modules/sinh
modules/sinhf [new file with mode: 0644]
modules/sinhf-tests [new file with mode: 0644]
modules/sinl
modules/snprintf-posix
modules/snprintf-posix-tests
modules/socket
modules/sockets
modules/spawn-pipe
modules/spawn-pipe-tests
modules/sprintf-posix
modules/sprintf-posix-tests
modules/sqrtf [new file with mode: 0644]
modules/sqrtf-tests [new file with mode: 0644]
modules/sqrtl
modules/stat
modules/stat-tests
modules/stdalign [new file with mode: 0644]
modules/stdalign-tests [new file with mode: 0644]
modules/stdarg
modules/stdio
modules/stdio-tests
modules/stdlib
modules/strcase
modules/strings
modules/strtoimax-tests [new file with mode: 0644]
modules/strtoumax-tests [new file with mode: 0644]
modules/symlinkat
modules/symlinkat-tests
modules/sys_select
modules/sys_select-c++-tests
modules/sys_socket
modules/sys_stat
modules/sys_time
modules/sys_types [new file with mode: 0644]
modules/sys_types-c++-tests [new file with mode: 0644]
modules/sys_types-tests [new file with mode: 0644]
modules/sys_uio
modules/tan
modules/tanf [new file with mode: 0644]
modules/tanf-tests [new file with mode: 0644]
modules/tanh
modules/tanhf [new file with mode: 0644]
modules/tanhf-tests [new file with mode: 0644]
modules/tanl
modules/tempname
modules/trunc-tests
modules/truncf-tests
modules/truncl
modules/truncl-tests
modules/ttyname_r
modules/unistd
modules/unistd-safer-tests
modules/unistdio/u16-u16-vasnprintf
modules/unistdio/u16-vasnprintf
modules/unistdio/u32-u32-vasnprintf
modules/unistdio/u32-vasnprintf
modules/unistdio/u8-u8-vasnprintf
modules/unistdio/u8-vasnprintf
modules/unistdio/ulc-vasnprintf
modules/unlinkat [new file with mode: 0644]
modules/unlinkat-tests [new file with mode: 0644]
modules/unlockpt
modules/unlockpt-tests [new file with mode: 0644]
modules/utimens
modules/utimens-tests
modules/utimensat
modules/utimensat-tests
modules/vasnprintf
modules/vasnprintf-posix
modules/vasnprintf-posix-tests
modules/vasprintf-posix
modules/vasprintf-posix-tests
modules/vdprintf-posix
modules/vdprintf-posix-tests
modules/vdprintf-tests [new file with mode: 0644]
modules/vfprintf-posix
modules/vfprintf-posix-tests
modules/vprintf-posix-tests
modules/vsnprintf-posix
modules/vsnprintf-posix-tests
modules/vsprintf-posix
modules/vsprintf-posix-tests
modules/write
modules/write-tests [new file with mode: 0644]
modules/xprintf-posix-tests
tests/infinity.h [new file with mode: 0644]
tests/init.sh
tests/nan.h
tests/test-accept.c [new file with mode: 0644]
tests/test-accept4.c [new file with mode: 0644]
tests/test-acosf.c [new file with mode: 0644]
tests/test-asinf.c [new file with mode: 0644]
tests/test-atan2f.c [new file with mode: 0644]
tests/test-atanf.c [new file with mode: 0644]
tests/test-base32.c [new file with mode: 0644]
tests/test-base64.c
tests/test-binary-io.c
tests/test-binary-io.sh
tests/test-bind.c [new file with mode: 0644]
tests/test-ceil1.c
tests/test-ceilf1.c
tests/test-ceill.c
tests/test-chdir.c [new file with mode: 0644]
tests/test-cloexec.c
tests/test-close.c [new file with mode: 0644]
tests/test-connect.c [new file with mode: 0644]
tests/test-copy-acl-1.sh [new file with mode: 0755]
tests/test-copy-acl-2.sh [new file with mode: 0755]
tests/test-copy-file-1.sh [new file with mode: 0755]
tests/test-copy-file-2.sh [new file with mode: 0755]
tests/test-copysignf.c [new file with mode: 0644]
tests/test-copysignl.c [new file with mode: 0644]
tests/test-cosf.c [new file with mode: 0644]
tests/test-coshf.c [new file with mode: 0644]
tests/test-dprintf-posix.c
tests/test-dprintf.c [new file with mode: 0644]
tests/test-dup-safer.c
tests/test-dup.c [new file with mode: 0644]
tests/test-dup2.c
tests/test-dup3.c
tests/test-exclude.c
tests/test-exclude1.sh
tests/test-exclude2.sh
tests/test-exclude3.sh
tests/test-exclude4.sh
tests/test-exclude5.sh
tests/test-exclude6.sh
tests/test-exclude7.sh
tests/test-exclude8.sh
tests/test-expf.c [new file with mode: 0644]
tests/test-fabsf.c [new file with mode: 0644]
tests/test-faccessat.c [new file with mode: 0644]
tests/test-fchdir.c
tests/test-fchmod.c [new file with mode: 0644]
tests/test-fchmodat.c [new file with mode: 0644]
tests/test-fchown.c [new file with mode: 0644]
tests/test-fchownat.c
tests/test-fclose.c
tests/test-fcntl-h.c
tests/test-fcntl.c
tests/test-fdatasync.c [new file with mode: 0644]
tests/test-fdopen.c [new file with mode: 0644]
tests/test-fdopendir.c
tests/test-fflush.c
tests/test-fgetc.c [new file with mode: 0644]
tests/test-file-has-acl-1.sh [new file with mode: 0755]
tests/test-file-has-acl-2.sh [new file with mode: 0755]
tests/test-float.c
tests/test-floor1.c
tests/test-floorf1.c
tests/test-floorl.c
tests/test-fma1.c [new file with mode: 0644]
tests/test-fma1.h [new file with mode: 0644]
tests/test-fma2.c [new file with mode: 0644]
tests/test-fma2.h [new file with mode: 0644]
tests/test-fmaf1.c [new file with mode: 0644]
tests/test-fmaf2.c [new file with mode: 0644]
tests/test-fmal1.c [new file with mode: 0644]
tests/test-fmal2.c [new file with mode: 0644]
tests/test-fmodf.c [new file with mode: 0644]
tests/test-fprintf-posix.h
tests/test-fputc.c [new file with mode: 0644]
tests/test-fread.c [new file with mode: 0644]
tests/test-freopen.c
tests/test-frexp.c
tests/test-frexpf.c [new file with mode: 0644]
tests/test-frexpl.c
tests/test-fseeko4.c [new file with mode: 0644]
tests/test-fseeko4.sh [new file with mode: 0755]
tests/test-fstat.c [new file with mode: 0644]
tests/test-fstatat.c
tests/test-fsync.c
tests/test-ftello4.c [new file with mode: 0644]
tests/test-ftello4.sh [new file with mode: 0755]
tests/test-ftruncate.c [new file with mode: 0644]
tests/test-ftruncate.sh [new file with mode: 0755]
tests/test-futimens.h
tests/test-fwrite.c [new file with mode: 0644]
tests/test-getcwd.c
tests/test-getcwd.sh [new file with mode: 0755]
tests/test-getlogin.c
tests/test-getlogin_r.c
tests/test-getpeername.c [new file with mode: 0644]
tests/test-getsockname.c [new file with mode: 0644]
tests/test-getsockopt.c [new file with mode: 0644]
tests/test-grantpt.c [new file with mode: 0644]
tests/test-imaxabs.c [new file with mode: 0644]
tests/test-imaxdiv.c [new file with mode: 0644]
tests/test-integer_length.c [new file with mode: 0644]
tests/test-integer_length_l.c [new file with mode: 0644]
tests/test-integer_length_ll.c [new file with mode: 0644]
tests/test-ioctl.c [new file with mode: 0644]
tests/test-isatty.c [new file with mode: 0644]
tests/test-isfinite.c
tests/test-isinf.c
tests/test-isnan.c
tests/test-isnand.h
tests/test-isnanf.h
tests/test-isnanl.h
tests/test-ldexp.c
tests/test-ldexp.h [new file with mode: 0644]
tests/test-ldexpf.c [new file with mode: 0644]
tests/test-ldexpl.c
tests/test-linkat.c
tests/test-listen.c [new file with mode: 0644]
tests/test-log10f.c [new file with mode: 0644]
tests/test-logf.c [new file with mode: 0644]
tests/test-lseek.c
tests/test-lutimens.h
tests/test-math-c++.cc
tests/test-mkdirat.c
tests/test-mkfifoat.c
tests/test-modf.c
tests/test-modff.c [new file with mode: 0644]
tests/test-nonblocking-pipe.h
tests/test-nonblocking-socket.h
tests/test-openat.c
tests/test-parse-datetime.c
tests/test-pipe.c
tests/test-pipe2.c
tests/test-posix_openpt.c [new file with mode: 0644]
tests/test-posix_spawn_file_actions_addclose.c [new file with mode: 0644]
tests/test-posix_spawn_file_actions_adddup2.c [new file with mode: 0644]
tests/test-posix_spawn_file_actions_addopen.c [new file with mode: 0644]
tests/test-pow.c
tests/test-powf.c [new file with mode: 0644]
tests/test-pread.c
tests/test-printf-posix.c
tests/test-printf-posix.h
tests/test-ptsname.c
tests/test-ptsname_r.c [new file with mode: 0644]
tests/test-pwrite.c
tests/test-raise.c [new file with mode: 0644]
tests/test-read.c [new file with mode: 0644]
tests/test-readlinkat.c
tests/test-recv.c [new file with mode: 0644]
tests/test-recvfrom.c [new file with mode: 0644]
tests/test-rename.h
tests/test-renameat.c
tests/test-rint.c
tests/test-rintf.c [new file with mode: 0644]
tests/test-rintl.c [new file with mode: 0644]
tests/test-round1.c
tests/test-roundf1.c
tests/test-roundl.c
tests/test-sameacls.c
tests/test-sched.c
tests/test-select.h
tests/test-send.c [new file with mode: 0644]
tests/test-sendto.c [new file with mode: 0644]
tests/test-set-mode-acl-1.sh [new file with mode: 0755]
tests/test-set-mode-acl-2.sh [new file with mode: 0755]
tests/test-setsockopt.c [new file with mode: 0644]
tests/test-shutdown.c [new file with mode: 0644]
tests/test-signal-c++.cc [deleted file]
tests/test-signal-c++2.cc [deleted file]
tests/test-signal-h-c++.cc [new file with mode: 0644]
tests/test-signal-h-c++2.cc [new file with mode: 0644]
tests/test-signal-h.c [new file with mode: 0644]
tests/test-signal.c [deleted file]
tests/test-signbit.c
tests/test-sinf.c [new file with mode: 0644]
tests/test-sinhf.c [new file with mode: 0644]
tests/test-snprintf-posix.h
tests/test-sprintf-posix.h
tests/test-sqrtf.c [new file with mode: 0644]
tests/test-stdalign.c [new file with mode: 0644]
tests/test-stdio-c++.cc
tests/test-strtoimax.c [new file with mode: 0644]
tests/test-strtoumax.c [new file with mode: 0644]
tests/test-symlinkat.c
tests/test-sys_socket.c
tests/test-sys_stat-c++.cc
tests/test-sys_stat.c
tests/test-sys_types-c++.cc [new file with mode: 0644]
tests/test-sys_types.c [new file with mode: 0644]
tests/test-tanf.c [new file with mode: 0644]
tests/test-tanhf.c [new file with mode: 0644]
tests/test-termios.c
tests/test-time.c
tests/test-trunc1.c
tests/test-truncf1.c
tests/test-truncl.c
tests/test-ttyname_r.c
tests/test-unistd-c++.cc
tests/test-unlinkat.c
tests/test-unlockpt.c [new file with mode: 0644]
tests/test-update-copyright.sh
tests/test-utimens-common.h
tests/test-utimens.h
tests/test-utimensat.c
tests/test-vasnprintf-posix.c
tests/test-vasprintf-posix.c
tests/test-vdprintf.c [new file with mode: 0644]
tests/test-write.c [new file with mode: 0644]
top/GNUmakefile
top/README-release
top/maint.mk

index 59d2398..9891f8e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
+2011-12-04  Bruno Haible  <bruno@clisp.org>
+           Jim Meyering  <meyering@redhat.com>
+
+       tests: Avoid spurious error message on platforms without mktemp program.
+       * tests/init.sh (mktempd_): Run mktemp in a subcommand.
+
+2011-12-03  Bruno Haible  <bruno@clisp.org>
+
+       Fix module descriptions syntax.
+       * modules/argv-iter (License): Fix syntax.
+       * modules/di-set (License): Likewise.
+       * modules/ino-map (License): Likewise.
+       Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
+
+2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
+
+       stdalign: port to Clang 3.0
+       Problem reported by Simon Josefsson in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00005.html>.
+       * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
+       which has <stdalign.h> but which does not define alignof.
+       * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
+
+2011-12-01  Eric Blake  <eblake@redhat.com>
+
+       mktempd: silence dd usage
+       * build-aux/mktempd (rand_bytes): Silence dd.
+
+2011-11-30  Simon Josefsson  <simon@josefsson.org>
+
+       manywarnings: Don't mention gcc version in docstring.
+       * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
+       Jim Meyering <meyering@redhat.com>.
+
+2011-11-30  Jim Meyering  <meyering@redhat.com>
+
+       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  <bonzini@gnu.org>
+
+       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  <wala1@illinois.edu>  (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  <eblake@redhat.com>
+
+       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  <meyering@redhat.com>
+
+       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  <meyering@redhat.com>
+
+       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  <meyering@redhat.com>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       getcwd: Fix link error on MSVC 9.
+       * modules/getcwd (Depends-on): Add readdir, rewinddir.
+
+2011-11-27  Bruno Haible  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <meyering@redhat.com>
+
+       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  <simon@josefsson.org>
+
+       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
+       <bruno@clisp.org>.
+
+2011-11-24  Jim Meyering  <meyering@redhat.com>
+
+       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  <meyering@redhat.com>
+
+       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  <meyering@redhat.com>
+           Eric Blake  <eblake@redhat.com>
+
+       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  <simon@josefsson.org>
+
+       * 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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <simon@josefsson.org>
+
+       * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
+
+2011-11-20  Bruno Haible  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       copysignf tests: Fix.
+       * tests/test-copysignf.c: Fix signature check.
+
+2011-11-20  Bruno Haible  <bruno@clisp.org>
+
+       fma: Remove unused code.
+       * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
+       unused macros.
+
+2011-11-20  Bruno Haible  <bruno@clisp.org>
+
+       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 <bwalton@artsci.utoronto.ca>.
+
+2011-11-19  Bruno Haible  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       euidaccess: Update a comment.
+       * lib/euidaccess.c: Update comment about platforms with faccessat.
+
+2011-11-19  Bruno Haible  <bruno@clisp.org>
+
+       openat: Fix file list.
+       * modules/openat (Files): Remove lib/at-func.c.
+
+2011-11-19  Bruno Haible  <bruno@clisp.org>
+
+       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 <sys/stat.h>.
+
+2011-11-19  Bruno Haible  <bruno@clisp.org>
+
+       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  <simon@josefsson.org>
+
+       * lib/hash.c (hash_insert): Use hash_insert_if_absent,
+       not hash_insert0.
+       (hash_insert_if_absent): Doc fix.
+
+2011-11-19  Simon Josefsson  <simon@josefsson.org>
+
+       * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
+
+2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
+
+       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
+       <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
+       A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
+       <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00239.html>
+       and I reproduced it on a Solaris 8 host we still have in production.
+
+2011-11-18  Jim Meyering  <meyering@redhat.com>
+
+       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  <dam@opencsw.org>  (tiny change)
+
+       openat: avoid compilation failure due to lack of <errno.h> inclusion
+       * lib/openat.c: Include <errno.h>.
+
+2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * modules/getcwd (Depends-on): Add fdopendir.
+       This fixes one of the two problems reported by Kai Habel in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
+
+       modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
+       stdalign problem reported by Ian Beckwith in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00238.html>.
+       * 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  <meyering@redhat.com>
+
+       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  <gary@gnu.org>
+
+       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 <email@example.com>' 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 <peda@lysator.liu.se>
+
+2011-11-15  Ben Walton <bwalton@artsci.utoronto.ca>  (tiny change)
+           Bruno Haible  <bruno@clisp.org>
+
+       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  <gary@gnu.org>
+
+       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  <bruno@clisp.org>
+           Jim Meyering  <meyering@redhat.com>
+
+       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  <bruno@clisp.org>
+
+       Makefile: Tweak indentation.
+       * Makefile: Use tab as first character in every line that contains rule
+       commands.
+
+2011-11-13  Bruno Haible  <bruno@clisp.org>
+
+       Syntax check for copyright statements.
+       * check-copyright: New file.
+       * Makefile (sc_check_copyright): New rule.
+
+2011-11-13  Simon Josefsson  <simon@josefsson.org>
+
+       * build-aux/git-version-gen: Add --prefix to configure the tag
+       match string.
+
+2011-11-13  Simon Josefsson  <simon@josefsson.org>
+
+       * build-aux/git-version-gen: Add --help and --version.
+
+2011-11-12  Jim Meyering  <meyering@redhat.com>
+
+       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  <bruno@clisp.org>
+
+       obstack: Fix compilation error on MSVC 9.
+       * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
+
+2011-11-11  Jim Meyering  <meyering@redhat.com>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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 <ludo@gnu.org>.
+
+2011-11-09  Bruno Haible  <bruno@clisp.org>
+
+       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  <eggert@cs.ucla.edu>
+
+       fstatat: work with cross-compilation
+       Problem reported by Ludovic Courtès in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00136.html>.
+       * 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  <bruno@clisp.org>
+
+       Improve MODULES.html output.
+       * modules/mkfifoat (Description): Use the word "function".
+       * modules/readlinkat (Description): Likewise.
+       * modules/symlinkat (Description): Likewise.
+
+2011-11-09  Eric Blake  <eblake@redhat.com>
+
+       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  <meyering@redhat.com>
+
+       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  <eblake@redhat.com>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       faccessat: Simplify autoconf macro.
+       * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
+       gl_FUNC_EUIDACCESS.
+
+2011-11-08  Bruno Haible  <bruno@clisp.org>
+
+       renameat: Fix dependencies.
+       * modules/renameat (Depends-on): Add stdbool.
+
+2011-11-08  Bruno Haible  <bruno@clisp.org>
+
+       mkfifoat: Fix module description.
+       * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
+       not gl_UNISTD_MODULE_INDICATOR.
+
+2011-11-08  Bruno Haible  <bruno@clisp.org>
+
+       fstatat: Remove unused dependency.
+       * modules/fstatat (Depends-on): Remove fstat.
+
+2011-11-08  Simon Josefsson  <simon@josefsson.org>
+
+       GNUmakefile: behave when Makefile is missing.
+       * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
+
+2011-11-08  Bruno Haible  <bruno@clisp.org>
+
+       openat: Conditionalize dependencies.
+       * lib/openat.c: Reduce the scope of some #includes.
+       * modules/openat (Depends-on): Add conditions.
+
+2011-11-07  Jim Meyering  <meyering@redhat.com>
+
+       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  <eblake@redhat.com>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <eggert@cs.ucla.edu>
+
+       * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
+
+2011-11-06  Bruno Haible  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       math tests: Cosmetics.
+       * tests/test-math-c++.cc: Reorder declarations.
+
+2011-11-05  Bruno Haible  <bruno@clisp.org>
+
+       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  <meyering@redhat.com>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       openat: Include <stdbool.h>.
+       * lib/openat.c: Include <stdbool.h>.
+
+2011-11-04  Bruno Haible  <bruno@clisp.org>
+
+       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  <eggert@cs.ucla.edu>
+
+       openat: remove direct dependency on dirent
+       * lib/openat.h: Don't include <dirent.h>; 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  <bruno@clisp.org>
+
+       renameat: Optimize code size.
+       * modules/renameat (configure.ac): Don't compile at-func2.c if
+       REPLACE_RENAMEAT is 1.
+
+2011-11-04  Bruno Haible  <bruno@clisp.org>
+
+       openat tests: Fix file list.
+       * modules/openat-tests (Files): Add tests/test-open.h.
+
+2011-11-04  Bruno Haible  <bruno@clisp.org>
+
+       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  <meyering@redhat.com>
+
+       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  <bruno@clisp.org>
+
+       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 <sys/stat.h>.
+       * 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  <bruno@clisp.org>
+
+       closedir: Avoid warning on mingw.
+       * lib/closedir.c: Include <unistd.h>.
+
+2011-11-04  Bruno Haible  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <meyering@redhat.com>
+
+       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  <meyering@redhat.com>
+
+       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  <eggert@cs.ucla.edu>
+
+       * 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
+       <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
+       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  <bruno@clisp.org>
+
+       fchownat: Improve description.
+       * modules/fchownat (Description): Add link to function.
+
+2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
+       mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
+       * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
+
+2011-11-01  Bruno Haible  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <eggert@cs.ucla.edu>
+
+       stdalign: port better to MSVC and to Sun C 5.11
+       This fixes some of the problems reported by Bruno Haible in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
+       * 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 <stdlib.h>; 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  <bruno@clisp.org>
+
+       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 <tgc@jupiterrise.com>.
+
+2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
+
+       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  <ldv@altlinux.org>
+
+       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  <bruno@clisp.org>
+
+       ffsl, ffsll: Avoid compilation error due to 'restrict'.
+       * lib/ffsl.h: Include <config.h>.
+       Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
+
+2011-10-30  Jim Meyering  <meyering@redhat.com>
+
+       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  <ldv@altlinux.org>
+
+       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  <meyering@redhat.com>
+
+       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  <bruno@clisp.org>
+
+       fstat: Tweak documentation.
+       * modules/fstat (Description): More precise description.
+
+2011-10-27  Bruno Haible  <bruno@clisp.org>
+
+       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  <gary@gnu.org>
+
+       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  <eggert@cs.ucla.edu>
+
+       Add stdalign module and use it in other modules.
+       This is based on a previous proposal by Bruno Haible
+       <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
+
+       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 <stdalign.h>.
+       (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 <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
+       Do not include <stdlib.h> 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 <stdalign.h> instead of <alignof.h>.
+       * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
+
+2011-10-27  Bruno Haible  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <meyering@redhat.com>
+
+       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  <meyering@redhat.com>
+
+       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  <gary@gnu.org>
+           Bruno Haible  <bruno@clisp.org>
+           Jim Meyering  <jim@meyering.net>
+
+       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  <bruno@clisp.org>
+
+       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 <michael.goffioul@gmail.com>.
+
+2011-10-22  Bruno Haible  <bruno@clisp.org>
+
+       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. <skunk@iskunk.org>.
+
+       perror: Fix indentation.
+       * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
+
+2011-10-22  Bruno Haible  <bruno@clisp.org>
+
+       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 <michael.goffioul@gmail.com>.
+
+2011-10-21  Bruno Haible  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       openpty, posix_openpt: Remove code duplication.
+       * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
+       * lib/openpty.c: Include <stdlib.h>.
+       (openpty): Use posix_openpt on all platforms except IRIX.
+       * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
+
+2011-10-20  Bruno Haible  <bruno@clisp.org>
+
+       unlockpt: Detect invalid argument.
+       * lib/unlockpt.c: Include <fcntl.h>.
+       (unlockpt): Check whether fd is valid, using fcntl().
+       * modules/unlockpt (Depends-on): Add fcntl-h.
+
+2011-10-20  Bruno Haible  <bruno@clisp.org>
+
+       openpty: Avoid compilation error on AIX 6.1.
+       * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
+
+2011-10-20  Bruno Haible  <bruno@clisp.org>
+
+       posix_openpt: Support for OpenBSD.
+       * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
+       (posix_openpt) [OpenBSD]: New code.
+       * lib/grantpt.c: Include <fcntl.h>.
+       (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
+       * modules/grantpt (Depends-on): Add fcntl-h.
+
+2011-10-20  Bruno Haible  <bruno@clisp.org>
+
+       posix_openpt test: Coding style.
+       * tests/test-posix_openpt.c: Use GNU coding style.
+
+2011-10-20  Bruno Haible  <bruno@clisp.org>
+
+       grantpt: Support --avoid=pt_chown.
+       * modules/grantpt (Files): Add lib/pty-private.h.
+
+2011-10-20  Bruno Haible  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       openpty: Update comments.
+       * lib/openpty.c: Add comments about Minix.
+
+2011-10-19  Eric Blake  <eblake@redhat.com>
+
+       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  <meyering@redhat.com>
+
+       posix_openpt: remove spurious #endif
+       * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
+
+2011-10-19  Gary V. Vaughan  <gary@gnu.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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. <skunk@iskunk.org>.
+
+2011-10-19  Bruno Haible  <bruno@clisp.org>
+
+       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. <skunk@iskunk.org>.
+
+2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (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  <eblake@redhat.com>
+
+       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  <bruno@clisp.org>
+
+       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 <tgc@jupiterrise.com>.
+
+2011-10-15  Bruno Haible  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       vasnprintf: Fix comments.
+       * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
+
+2011-10-14  Bruno Haible  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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.  <skunk@iskunk.org>  (tiny change)
+
+       popen: Fix dependency conditions.
+       * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
+
+2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
+
+       perror: Fix autoconf test.
+       * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
+       <stdlib.h> and <string.h>.
+
+2011-10-14  Bruno Haible  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       ffs, bcopy, memset: Support symbol renaming via config.h.
+       * lib/ffs.c: Include <config.h>.
+       * lib/bcopy.c: Likewise.
+       * lib/memset.c: Likewise.
+
+2011-10-10  Bruno Haible  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <tgc@jupiterrise.com>  (tiny change)
+
+       ffsll: set correct witness
+       * modules/ffsll (configure.ac): Fix typo.
+
+2011-10-10  Bruno Haible  <bruno@clisp.org>
+
+       printf-frexpl: Simplify for platforms where 'long double' == 'double'.
+       * lib/printf-frexpl.c: Include <config.h>.
+       (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
+       * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> 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  <bruno@clisp.org>
+
+       frexpl: Simplify for platforms where 'long double' == 'double'.
+       * lib/frexpl.c: Include <config.h>.
+       (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
+       * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> 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  <meyering@redhat.com>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       rintl: Simplify for platforms where 'long double' == 'double'.
+       * lib/rintl.c: Include <config.h>.
+       (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
+       * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> 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  <bruno@clisp.org>
+
+       roundl: Simplify for platforms where 'long double' == 'double'.
+       * lib/roundl.c: Include <config.h>.
+       (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
+       * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> 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  <bruno@clisp.org>
+
+       truncl: Simplify for platforms where 'long double' == 'double'.
+       * lib/truncl.c: Include <config.h>.
+       (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
+       * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> 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  <bruno@clisp.org>
+
+       ceill: Simplify for platforms where 'long double' == 'double'.
+       * lib/ceill.c: Include <config.h>.
+       (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
+       * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> 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  <bruno@clisp.org>
+
+       floorl: Simplify for platforms where 'long double' == 'double'.
+       * lib/floorl.c: Include <config.h>.
+       (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
+       * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> 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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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 <float.h>, <stdio.h>, 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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       *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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       pow tests: Defeat compiler optimizations.
+       * tests/test-pow.c (main): Assign arguments to x and y before use.
+
+2011-10-08  Bruno Haible  <bruno@clisp.org>
+
+       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  <eggert@cs.ucla.edu>
+
+       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
+       <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
+       * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
+       when echoing "$condition".
+
+2011-10-07  Bruno Haible  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <mail@bernhard-voelker.de>
+
+       raise tests: Avoid a GCC warning.
+       * tests/test-raise.c (handler): Use _Noreturn.
+
+2011-10-07  Bruno Haible  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       math: Sort function declarations of math.in.h.
+       * lib/math.in.h (frexp, logb): Move declarations.
+
+2011-10-05  Bruno Haible  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <meyering@redhat.com>
+
+       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  <kdudka@redhat.com>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       sys_select: Fix compilation error on mingw.
+       * lib/sys_select.in.h: On native Windows, include <io.h>.
+
+2011-10-03  Bruno Haible  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       glthread/*, strsignal: Support for MSVC.
+       * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
+       including <winsock.h> 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 <string.h> first. Don't include <unistd.h>
+       if HAVE_UNISTD_H is false.
+       * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
+
+2011-10-03  Bruno Haible  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       acl: Fix specification.
+       * lib/file-has-acl.c (file_has_acl): Fix specification.
+
+2011-10-03  Bruno Haible  <bruno@clisp.org>
+
+       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 <jojelino@gmail.com>
+       via Charles Wilson <cygwin@cwilson.fastmail.fm>.
+
+2011-10-01  Jim Meyering  <meyering@redhat.com>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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 <gary@gnu.org>.
+
+2011-09-30  Bruno Haible  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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 <ametzler@downhill.at.eu.org>.
+
+2011-09-29  Bruno Haible  <bruno@clisp.org>
+
+       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 <gary@gnu.org>.
+
+2011-09-28  Bruno Haible  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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 <tmacchant5@yahoo.co.jp>.
+
+2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
+
+       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  <eggert@cs.ucla.edu>
+
+       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
+       <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
+       * 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  <bruno@clisp.org>
+
+       strings: Fix compilation error on MSVC.
+       * lib/strings.in.h: Include <stddef.h> for size_t.
+
+2011-09-25  Bruno Haible  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       msvc-inval: Allow three invalid parameter handling modes.
+       * lib/msvc-inval.h: Don't include <stdlib.h> 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
+       <stdlib.h>.
+       (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
+
+2011-09-25  Bruno Haible  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       linkat: Fix compilation on MSVC 9.
+       * lib/linkat.c: Don't include <stdint.h>.
+
+2011-09-25  Bruno Haible  <bruno@clisp.org>
+
+       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  <eggert@cs.ucla.edu>
+
+       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  <meyering@redhat.com>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       read: Fix last commit.
+       * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
+
+2011-09-24  Bruno Haible  <bruno@clisp.org>
+
+       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  <eggert@cs.ucla.edu>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       close: Support for MSVC 9.
+       * lib/close.c: Include <errno.h>, 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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       pipe2: Fix compilation on pre-C99 compilers.
+       * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
+
+2011-09-23  Bruno Haible  <bruno@clisp.org>
+
+       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 <io.h>.
+       * 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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       msvc-inval: Fix compilation error.
+       * lib/msvc-inval.h: Include <excpt.h>.
+
+2011-09-23  Bruno Haible  <bruno@clisp.org>
+
+       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 <io.h>, <direct.h> 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 <io.h> and <direct.h> 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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       select: Avoid compilation error on MSVC.
+       * lib/select.c: Don't include <stdbool.h>.
+
+2011-09-21  Bruno Haible  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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 <io.h>.
+       * 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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       opendir: Avoid compilation error on mingw.
+       * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
+       * modules/opendir (Depends-on): Add unistd.
+
+2011-09-21  Bruno Haible  <bruno@clisp.org>
+
+       ftruncate tests: Avoid a test failure on mingw.
+       * tests/test-ftruncate.c (main): Allow a failure with EACCES.
+
+2011-09-21  Bruno Haible  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       fsync tests: Avoid a test failure on mingw.
+       * tests/test-fsync.c (main): Allow a failure with EIO.
+
+2011-09-20  Bruno Haible  <bruno@clisp.org>
+
+       euidaccess: Update comments.
+       * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
+
+2011-09-20  Bruno Haible  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       Tests for module 'ioctl'.
+       * modules/ioctl-tests: New file.
+       * tests/test-ioctl.c: New file.
+
+2011-09-20  Bruno Haible  <bruno@clisp.org>
+
+       fcntl tests: EBADF tests.
+       * tests/test-fcntl.c (main): Add more tests for EBADF.
+
+2011-09-20  Bruno Haible  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       sched: Ensure pid_t is defined.
+       * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
+       not define pid_t.
+       * lib/sched.in.h: Include <sys/types.h>.
+       * doc/posix-headers/sched.texi: Mention the pid_t problem.
+       Reported by Tom G. Christensen <tgc@jupiterrise.com>.
+
+2011-09-19  Bruno Haible  <bruno@clisp.org>
+
+       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  <meyering@redhat.com>
+
+       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  <eblake@redhat.com>
+
+       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  <meyering@redhat.com>
+
+       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  <Martin.vGagern@gmx.net>
+
+       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  <eggert@cs.ucla.edu>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       Tests for module 'accept4'.
+       * modules/accept4-tests: New file.
+       * tests/test-accept4.c: New file.
+
+2011-09-18  Bruno Haible  <bruno@clisp.org>
+
+       Tests for module 'accept'.
+       * modules/accept-tests: New file.
+       * tests/test-accept.c: New file.
+
+2011-09-18  Bruno Haible  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       isnanl, isnand, isnanf: Work around MSVC bug.
+       * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
+
+2011-09-17  Bruno Haible  <bruno@clisp.org>
+
+       sys_socket tests: Fix recent mistake.
+       * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
+
+2011-09-17  Bruno Haible  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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 <winsock2.h>, test whether inet_pton is declared in
+       <ws2tcpip.h>. 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  <bruno@clisp.org>
+
+       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 <winsock2.h>, test whether inet_ntop is declared in
+       <ws2tcpip.h>. 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  <eblake@redhat.com>
+
+       test-fsync: yet another enhancement
+       * tests/test-fsync.c (main): Also test behavior on read-only text
+       file.
+
+2011-09-16  Bruno Haible  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       Support for MSVC compiler: Ensure off_t gets defined.
+       * lib/unistd.in.h: Include <sys/types.h>.
+       * 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  <eblake@redhat.com>
+
+       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  <eblake@redhat.com>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <eblake@redhat.com>
+
+       opendir: avoid compile warning
+       * lib/opendir.c (includes): Always include errno.h.
+       Reported by Tatsuro MATSUOKA.
+
+2011-09-14  Jim Meyering  <meyering@redhat.com>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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 <winsock2.h>.
+       * lib/sys_time.in.h: On MSVC, include <winsock2.h> 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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <rrt@sc3d.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       unistd et al.: Don't assume <unistd.h> exists.
+       * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
+       does not exist.
+       * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
+       exist. But include <stdlib.h>.
+       * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
+       include <io.h> and <stdlib.h> instead. Don't test symbolink links if
+       symlink() does not exist.
+       * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
+       include <io.h> instead.
+       * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
+       * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
+       include <direct.h> 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 <unistd.h> does not exist, include
+       <io.h> 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 <unistd.h> does not exist, include
+       <direct.h> instead.
+       * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
+       it when looking for function declarations.
+       * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
+       <direct.h> and <io.h> instead.
+       * doc/posix-headers/unistd.texi: More details about MSVC problem.
+
+2011-09-11  Bruno Haible  <bruno@clisp.org>
+
+       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 <strings.h> exists.
+       * lib/strings.in.h: Include <strings.h> 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  <bruno@clisp.org>
+
+       dirent: Don't assume <dirent.h> exists.
+       * lib/dirent.in.h: Include <dirent.h> 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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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 <eligis@orange.fr>.
+
+2011-09-10  Bruno Haible  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       *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  <bruno@clisp.org>
+
+       nocrash: Add support for native Windows.
+       * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
+
+2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
+           Bruno Haible  <bruno@clisp.org>
+
+       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  <meyering@redhat.com>
+
+       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  <rrt@sc3d.org>
+           Bruno Haible  <bruno@clisp.org>
+
+       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  <simon@josefsson.org>
+
+       * lib/gc.h: Fix copyright header.
+
+2011-09-07  Bruno Haible  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
 
        openat: Work around compilation error with OSF/1 5.1 DTK cc.
-       * lib/openat.h: Use different syntax for include of <fcntl.h>.
+       * lib/fopen.c: Use different syntax for include of <stdio.h>.
+       * lib/freopen.c: Likewise.
+       * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
+       * lib/lstat.c: Likewise.
+       * lib/stat.c: Likewise.
+       * lib/open.c: Use different syntax for include of <fcntl.h>.
+       * lib/openat.c: Include fcntl.h again, explicitly.
+
+2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <eggert@cs.ucla.edu>
 
        (openat) [HAVE_OPENAT]: Do not undef.
        (rpl_openat): Use orig_openat, not openat.
 
+2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
+           Bruno Haible  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <eggert@cs.ucla.edu>
 
        openat: test for fstatat (..., 0) bug
        * doc/regex.texi (Character Class Operators): Avoid literal ":"
        in index entries.
 
+2011-09-02  Bruno Haible  <bruno@clisp.org>
+
+       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 <jwe@gnu.org> for Octave.
+
+2011-09-02  Bruno Haible  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
 
        strtoimax, strtoumax: Document problem on HP-UX 11.
 
 2011-09-01  Bruno Haible  <bruno@clisp.org>
 
+       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  <bruno@clisp.org>
+
        pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
        * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
        pthread_create.
        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  <jtc@acorntoolworks.com>
+
+       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  <bruno@clisp.org>
 
        freopen: Documentation.
index 8785ff2..bc8a1a6 100755 (executable)
@@ -1512,19 +1512,26 @@ func_module ()
     #   parentheses (as per GNU standards, section "GNU Manuals").
     # - Flag the remaining symbol() constructs as errors.
     # - Change 'xxx' to <CODE>xxx</CODE>.
+    sed_extract_element='
+      '$sed_lt'
+      '$sed_gt'
+      '$sed_remove_trailing_empty_line'
+      s,^, ,
+      s,$, ,
+      s,\([^a-zA-Z_]\)'$posix_functions'() \(function\|macro\),\1<A HREF="'$POSIX2008_URL'/functions/\2.html">\2</A> \3,g
+      s,\([^a-zA-Z_]\)'$posix_functions' \(function\|macro\),\1<A HREF="'$POSIX2008_URL'/functions/\2.html">\2</A> \3,g
+      s,\([^a-zA-Z_]\)'$posix_functions'(),\1<A HREF="'$POSIX2008_URL'/functions/\2.html">\2</A> <SPAN STYLE="color:#FF0000;">what?? If you mean a function\, please say so.</SPAN>,g
+      s,\([^a-zA-Z_]\)'$posix2001_functions'() \(function\|macro\),\1<A HREF="'$POSIX2001_URL'xsh/\2.html">\2</A> \3,g
+      s,\([^a-zA-Z_]\)'$posix2001_functions' \(function\|macro\),\1<A HREF="'$POSIX2001_URL'xsh/\2.html">\2</A> \3,g
+      s,\([^a-zA-Z_]\)'$posix2001_functions'(),\1<A HREF="'$POSIX2001_URL'xsh/\2.html">\2</A> <SPAN STYLE="color:#FF0000;">what?? If you mean a function\, please say so.</SPAN>,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 <SPAN STYLE="color:#FF0000;">what?? If you mean a function\, please say so.</SPAN>,g
+      s, '"'"'\([a-zA-Z0-9_ -]*\)'"'"'\([^a-zA-Z0-9_]\), <CODE>\1</CODE>\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<A HREF="'"$POSIX2008_URL"'/functions/\2.html">\2</A> \3,g' \
-                   -e 's,\([^a-zA-Z_]\)'"${posix_functions}"' \(function\|macro\),\1<A HREF="'"$POSIX2008_URL"'/functions/\2.html">\2</A> \3,g' \
-                   -e 's,\([^a-zA-Z_]\)'"${posix_functions}"'(),\1<A HREF="'"$POSIX2008_URL"'/functions/\2.html">\2</A> <SPAN STYLE="color:#FF0000;">what?? If you mean a function\, please say so.</SPAN>,g' \
-                   -e 's,\([^a-zA-Z_]\)'"${posix2001_functions}"'() \(function\|macro\),\1<A HREF="'"$POSIX2001_URL"'xsh/\2.html">\2</A> \3,g' \
-                   -e 's,\([^a-zA-Z_]\)'"${posix2001_functions}"' \(function\|macro\),\1<A HREF="'"$POSIX2001_URL"'xsh/\2.html">\2</A> \3,g' \
-                   -e 's,\([^a-zA-Z_]\)'"${posix2001_functions}"'(),\1<A HREF="'"$POSIX2001_URL"'xsh/\2.html">\2</A> <SPAN STYLE="color:#FF0000;">what?? If you mean a function\, please say so.</SPAN>,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 <SPAN STYLE="color:#FF0000;">what?? If you mean a function\, please say so.</SPAN>,g' \
-                   -e 's, '"'"'\([a-zA-Z0-9_ -]*\)'"'"'\([^a-zA-Z0-9_]\), <CODE>\1</CODE>\2,g' \
-                   -e 's,^ ,,' -e 's, $,,'`
+             | LC_ALL=C sed -e "$sed_extract_element"`
     func_echo "<TD ALIGN=LEFT VALIGN=TOP WIDTH=\"80%\">$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 "<A HREF="'$repo_url_prefix'lib/\1'$repo_url_suffix_repl'">\1</A>",
+      s,^#include &lt;'$posix_headers'\.h&gt;$,#include \&lt;<A HREF="'$POSIX2008_URL'/basedefs/\1.h.html">\1.h</A>\&gt;,
+      s,<A HREF="'$POSIX2008_URL'/basedefs/\([a-zA-Z0-9_]*\)/\([a-zA-Z0-9_]*\)\.h\.html">,<A HREF="'$POSIX2008_URL'/basedefs/\1_\2.h.html">,
+      s,^#include &lt;'$posix2001_headers'\.h&gt;$,#include \&lt;<A HREF="'$POSIX2001_URL'xbd/\1.h.html">\1.h</A>\&gt;,
+      s/$/<BR>/
+    '
     element=`echo "$includes" \
-             | sed -e "$sed_lt" -e "$sed_gt" -e "$sed_remove_trailing_empty_line" \
-                   -e 's,^#include "\(.*\)"$,#include "<A HREF="'$repo_url_prefix'lib/\1'$repo_url_suffix_repl'">\1</A>",' \
-                   -e 's,^#include &lt;'"${posix_headers}"'\.h&gt;$,#include \&lt;<A HREF="'"$POSIX2008_URL"'/basedefs/\1.h.html">\1.h</A>\&gt;,' \
-                   -e 's,<A HREF="'"$POSIX2008_URL"'/basedefs/\([a-zA-Z0-9_]*\)/\([a-zA-Z0-9_]*\)\.h\.html">,<A HREF="'"$POSIX2008_URL"'/basedefs/\1_\2.h.html">,' \
-                   -e 's,^#include &lt;'"${posix2001_headers}"'\.h&gt;$,#include \&lt;<A HREF="'"$POSIX2001_URL"'xbd/\1.h.html">\1.h</A>\&gt;,' \
-                   -e 's/$/<BR>/' | tr -d "$trnl" | sed -e 's/<BR>$//'`
+             | LC_ALL=C sed -e "$sed_extract_element" | tr -d "$trnl" \
+             | sed -e 's/<BR>$//'`
     test -n "$element" || element='---'
     func_echo "<TD ALIGN=LEFT VALIGN=TOP>$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,^\(.*\)$,<A HREF="'$repo_url_prefix'lib/\1'$repo_url_suffix_repl'">\1</A>,
+      s/$/<BR>/
+    '
     element=`echo "$files" \
              | sed -e '/^$/d' \
              | sed -n -e "$sed_choose_lib_files" \
-             | sed -e '\|^'"${includefile}"'$|d' \
-                   -e 's,^\(.*\)$,<A HREF="'$repo_url_prefix'lib/\1'$repo_url_suffix_repl'">\1</A>,' \
-                   -e 's/$/<BR>/' | tr -d "$trnl" | sed -e 's/<BR>$//'`
+             | sed -e "$sed_extract_include" \
+             | tr -d "$trnl" | sed -e 's/<BR>$//'`
     test -n "$element" || element='---'
     func_echo "<TD ALIGN=LEFT VALIGN=TOP>$element"
 
     sed_choose_m4_files='s,^m4/\(.*\)$,\1,p'
+    sed_extract_repo_url='
+      /^onceonly/d
+      s,^\(.*\)$,<A HREF="'$repo_url_prefix'm4/\1'$repo_url_suffix_repl'">\1</A>,
+    '
     element=`(echo "$files" \
               | sed -e "$sed_remove_trailing_empty_line" \
               | sed -n -e "$sed_choose_m4_files" \
-              | sed -e '/^onceonly/d' \
-                    -e 's,^\(.*\)$,<A HREF="'$repo_url_prefix'm4/\1'$repo_url_suffix_repl'">\1</A>,'; \
+              | sed -e "$sed_extract_repo_url"; \
               gnulib-tool --extract-autoconf-snippet $1 \
               | sed -e "$sed_remove_trailing_empty_line") \
               | sed -e 's/$/<BR>/' | tr -d "$trnl" | sed -e 's/<BR>$//'`
@@ -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 '<PRE>'
-  echo "$missed_files" | sed -e 's,^\(.*\)$,<A HREF="'$repo_url_prefix'\1'$repo_url_suffix_repl'">\1</A>,'
+  echo "$missed_files" | sed -e 's,^\(.*\)$,<A HREF="'"$repo_url_prefix"'\1'"$repo_url_suffix_repl"'">\1</A>,'
   echo '</PRE>'
 
 fi
index cb1d7cd..f62a661 100644 (file)
--- 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 3905383..0322bd2 100644 (file)
--- 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
index 059d739..3291168 100644 (file)
@@ -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:
index 0eb6b5b..3866381 100755 (executable)
@@ -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 <<EOF;
-[*] You can use either of the above signature files to verify that
-the corresponding file (without the .sig suffix) is intact.  First,
-be sure to download both the .sig file and the corresponding tarball.
-Then, run a command like this:
+[*] Use a .sig file to verify that the corresponding file (without the
+.sig suffix) is intact.  First, be sure to download both the .sig file
+and the corresponding tarball.  Then, run a command like this:
 
   gpg --verify $tarballs[0].sig
 
index f7dd69e..8152efd 100755 (executable)
@@ -4,7 +4,7 @@
 #   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
 #   2011 Free Software Foundation, Inc.
 
-timestamp='2011-08-20'
+timestamp='2011-11-11'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -806,6 +806,9 @@ EOF
     *:MINGW*:*)
        echo ${UNAME_MACHINE}-pc-mingw32
        exit ;;
+    i*:MSYS*:*)
+       echo ${UNAME_MACHINE}-pc-msys
+       exit ;;
     i*:windows32*:*)
        # uname -m includes "-pc" on this system.
        echo ${UNAME_MACHINE}-mingw32
@@ -902,6 +905,9 @@ EOF
     frv:Linux:*:*)
        echo frv-unknown-linux-gnu
        exit ;;
+    hexagon:Linux:*:*)
+       echo hexagon-unknown-linux-gnu
+       exit ;;
     i*86:Linux:*:*)
        LIBC=gnu
        eval $set_cc_for_build
index da19a88..e76eaf4 100755 (executable)
@@ -4,7 +4,7 @@
 #   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
 #   2011 Free Software Foundation, Inc.
 
-timestamp='2011-08-23'
+timestamp='2011-11-11'
 
 # This file is (in principle) common to ALL GNU software.
 # The presence of a machine in this file suggests that SOME GNU software
@@ -255,8 +255,10 @@ case $basic_machine in
        | bfin \
        | c4x | clipper \
        | d10v | d30v | dlx | dsp16xx \
+       | epiphany \
        | fido | fr30 | frv \
        | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
+       | hexagon \
        | i370 | i860 | i960 | ia64 \
        | ip2k | iq2000 \
        | le32 | le64 \
@@ -293,7 +295,7 @@ case $basic_machine in
        | pdp10 | pdp11 | pj | pjl \
        | powerpc | powerpc64 | powerpc64le | powerpcle \
        | pyramid \
-       | rx \
+       | rl78 | rx \
        | score \
        | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
        | sh64 | sh64le \
@@ -368,6 +370,7 @@ case $basic_machine in
        | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
        | h8300-* | h8500-* \
        | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
+       | hexagon-* \
        | i*86-* | i860-* | i960-* | ia64-* \
        | ip2k-* | iq2000-* \
        | le32-* | le64-* \
@@ -404,7 +407,7 @@ case $basic_machine in
        | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
        | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
        | pyramid-* \
-       | romp-* | rs6000-* | rx-* \
+       | rl78-* | romp-* | rs6000-* | rx-* \
        | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
        | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
        | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
@@ -813,6 +816,10 @@ case $basic_machine in
        ms1-*)
                basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
                ;;
+       msys)
+               basic_machine=i386-pc
+               os=-msys
+               ;;
        mvs)
                basic_machine=i370-ibm
                os=-mvs
@@ -1340,7 +1347,7 @@ case $os in
              | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
              | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
              | -chorusos* | -chorusrdb* | -cegcc* \
-             | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+             | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
              | -mingw32* | -linux-gnu* | -linux-android* \
              | -linux-newlib* | -linux-uclibc* \
              | -uxpv* | -beos* | -mpeix* | -udk* \
index 9825d56..bd0ac08 100755 (executable)
@@ -1,7 +1,7 @@
 #! /bin/sh
 # depcomp - compile a program generating dependencies as side-effects
 
-scriptversion=2011-04-16.09; # UTC
+scriptversion=2011-12-04.11; # UTC
 
 # Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009, 2010,
 # 2011 Free Software Foundation, Inc.
@@ -44,7 +44,7 @@ Environment variables:
   object      Object file output by `PROGRAMS ARGS'.
   DEPDIR      directory where to store dependencies.
   depfile     Dependency file to output.
-  tmpdepfile  Temporary file to use when outputing dependencies.
+  tmpdepfile  Temporary file to use when outputting dependencies.
   libtool     Whether libtool is used (yes/no).
 
 Report bugs to <bug-automake@gnu.org>.
index 168d81a..c7a58af 100755 (executable)
@@ -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"
index 4559704..40a8035 100755 (executable)
@@ -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 <SHA,CODE+> 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 <eggert\@cs.ucla.edu>,
+
 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 <SHA,CODE+> 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 = <F>))
+    {
+      $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 = <PIPE>)
@@ -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 <email@example.com>' 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:
index bc07e67..97491a7 100755 (executable)
@@ -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 \
index a9244eb..64c4b3e 100755 (executable)
@@ -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
index 7a09a4b..b6360e4 100755 (executable)
@@ -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
 
index a7f94f9..d831117 100644 (file)
@@ -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,
 % 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 (executable)
index 0000000..355d46e
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.
+#
+
+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
index fc19ddd..3b83db4 100644 (file)
@@ -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
index fc19ddd..3b83db4 100644 (file)
@@ -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
index 6314099..cf3d8fc 100644 (file)
@@ -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:
index 9e9abf6..9b78780 100644 (file)
@@ -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
index 974575f..8db05e2 100644 (file)
@@ -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
index df69eff..a7a5f92 100644 (file)
@@ -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
index 25e3df9..29a3c59 100644 (file)
@@ -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
index 7e9f407..772d3eb 100644 (file)
@@ -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
index 9e0c206..7dadf12 100644 (file)
@@ -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
index a805e23..596414a 100644 (file)
@@ -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
index aaaa84b..01de3c2 100644 (file)
@@ -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
index 9085325..713c776 100644 (file)
@@ -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
index 87470b1..00d3343 100644 (file)
@@ -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
index 2af51ba..e14e3e9 100644 (file)
@@ -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
index 9d3b0fa..3ab3545 100644 (file)
@@ -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
index 5ace654..57ea650 100644 (file)
@@ -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
index 352b4b2..ae05a07 100644 (file)
@@ -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
index 0462070..df77fb9 100644 (file)
@@ -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
index 831a7ab..c5a44b2 100644 (file)
@@ -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
index f3957d3..5adec4b 100644 (file)
@@ -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
index 29c1c07..42d3401 100644 (file)
@@ -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:
index 11bf14c..e47655b 100644 (file)
@@ -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:
index c9ad051..1a2dc0c 100644 (file)
@@ -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:
index 55a1c69..8fc8b25 100644 (file)
@@ -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:
index c483bff..ed3f4d8 100644 (file)
@@ -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:
index 552031e..f1021c1 100644 (file)
@@ -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:
index 070fdbf..3bd8449 100644 (file)
@@ -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:
index 021b13f..6453066 100644 (file)
@@ -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:
index f9e1b21..a1c3ba7 100644 (file)
@@ -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:
index d2f9ec0..cfe42a1 100644 (file)
@@ -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:
index 4d23ba9..582b8d9 100644 (file)
@@ -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:
index 9d54295..47af874 100644 (file)
@@ -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:
index b46287e..e6d8b19 100644 (file)
@@ -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}:
index 8773ec8..5a2d1fb 100644 (file)
@@ -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
index 0fd4f28..2b3e07f 100644 (file)
@@ -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
index 3b60562..fd1a9a5 100644 (file)
@@ -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
index c99c489..8e7e2cd 100644 (file)
@@ -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
index 060d332..8c4d7f7 100644 (file)
@@ -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
index 5f2c8b1..1b651ae 100644 (file)
@@ -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
index 10a9c83..a9793b0 100644 (file)
@@ -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
index 470a5e5..13d2bd9 100644 (file)
@@ -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
index 273475b..7354e63 100644 (file)
@@ -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
index b475ade..4190349 100644 (file)
@@ -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
index b83fe26..a4493b0 100644 (file)
@@ -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
index e424b37..64cb14d 100644 (file)
@@ -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
index 25dace5..4ffb487 100644 (file)
@@ -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
index f729390..4dd1d68 100644 (file)
@@ -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
index 4843719..d13ba15 100644 (file)
@@ -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
index 6d3b4d5..4d6753a 100644 (file)
@@ -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
index cd281b4..b0c9fef 100644 (file)
@@ -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
index a4c373c..f906b71 100644 (file)
@@ -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
index b8b911f..abde62d 100644 (file)
@@ -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:
index 8a1ac83..bad8b03 100644 (file)
@@ -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
index 39023bc..3d2333c 100644 (file)
@@ -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
index f183a6b..384f066 100644 (file)
@@ -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
index 71d9909..1478702 100644 (file)
@@ -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
index e6b5e24..bba8c60 100644 (file)
@@ -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
index a2074e7..0c0acb9 100644 (file)
@@ -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
index a4eae1c..11f3ede 100644 (file)
@@ -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
index 252f80b..9c10b6d 100644 (file)
@@ -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
index e1e36a3..ea4e1e7 100644 (file)
@@ -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
index abd84c0..9b448c4 100644 (file)
@@ -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
index cc56706..1376614 100644 (file)
@@ -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
index 8f59a13..dc4e3af 100644 (file)
@@ -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
index bf9083b..6692af4 100644 (file)
@@ -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
index bdef168..cb2b840 100644 (file)
@@ -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
index 65d85d8..d6b23b6 100644 (file)
@@ -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
index 758bd72..8ab3b01 100644 (file)
@@ -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
index 10df843..5e1535c 100644 (file)
@@ -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
index 19f806a..e7f4f71 100644 (file)
@@ -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
index f5e07a8..9a578db 100644 (file)
@@ -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
index 1be3165..8286244 100644 (file)
@@ -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
index 49caf6e..05067ec 100644 (file)
@@ -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
index 002f373..49c0ad3 100644 (file)
@@ -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
index c302b74..e451a79 100644 (file)
@@ -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
index e2ed3d1..9c4723e 100644 (file)
@@ -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
index 0f0fcff..f3682cf 100644 (file)
@@ -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
index 4dd8392..5c28c09 100644 (file)
@@ -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
index 03ba7d4..713c9ad 100644 (file)
@@ -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
index 674411a..7bc52d0 100644 (file)
@@ -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
index c6fd3eb..0c6a24e 100644 (file)
@@ -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
index c51097c..0658399 100644 (file)
@@ -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
index 1946b72..2654172 100644 (file)
@@ -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
index 76ab4bd..ce94598 100644 (file)
@@ -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
index 3fec18f..51e0a2f 100644 (file)
@@ -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
index e82cfcc..aa638ff 100644 (file)
@@ -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
index 6707d82..69af4ca 100644 (file)
@@ -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
index cd3d91b..d1ec0d0 100644 (file)
@@ -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
index c752cb5..0f432a9 100644 (file)
@@ -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
index 854b3eb..f4749aa 100644 (file)
@@ -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
index 5027d80..733b58a 100644 (file)
@@ -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
index aad43a1..542d4da 100644 (file)
@@ -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
index c3a2909..4bac7d2 100644 (file)
@@ -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
index 16d3f32..95c3380 100644 (file)
@@ -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
index f371ad6..174f9cb 100644 (file)
@@ -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
index 6e89ee1..9fdd5b7 100644 (file)
@@ -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
index 09806e0..39aeebb 100644 (file)
@@ -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
index 30644d6..56842fd 100644 (file)
@@ -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:
index b123310..8f862b4 100644 (file)
@@ -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
index 46699ad..8c423ef 100644 (file)
@@ -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
index 6987ced..08fa73f 100644 (file)
@@ -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
index 7354615..ea5e6a8 100644 (file)
@@ -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
index 326f637..95bfaab 100644 (file)
@@ -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
index 001b47a..49511f7 100644 (file)
@@ -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
index 5197a4b..1dea43d 100644 (file)
@@ -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
index 6e8dfc3..7af27a9 100644 (file)
@@ -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
index ce1407b..b6a56f0 100644 (file)
@@ -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
index 460b9f7..d4ec6c1 100644 (file)
@@ -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
index 59785f5..1dd5cce 100644 (file)
@@ -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
index 26c3918..b9f3fc0 100644 (file)
@@ -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
index b05dd20..aa599f1 100644 (file)
@@ -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.
index ea890d2..b8e22f6 100644 (file)
@@ -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
index 3b700f7..f421fd4 100644 (file)
@@ -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
index ca4fadf..3fcd56f 100644 (file)
@@ -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
index 61fd3f1..d391d6a 100644 (file)
@@ -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
index a9f0abe..d9098eb 100644 (file)
@@ -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
index c2bbfb3..6310ec5 100644 (file)
@@ -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
index 8a0fff1..39df05d 100644 (file)
@@ -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
index 1043ccf..d518e52 100644 (file)
@@ -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
index 0239440..e167a8e 100644 (file)
@@ -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
index b988c27..7d1f985 100644 (file)
@@ -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
index a3cd979..e45fc7d 100644 (file)
@@ -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
index 436268c..2fbf410 100644 (file)
@@ -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
index 462c8c0..a7ed0e0 100644 (file)
@@ -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:
index 9dafd97..1cf5682 100644 (file)
@@ -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
index cd13c24..c932cec 100644 (file)
@@ -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
index d406f49..981517c 100644 (file)
@@ -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
index 7904e34..d1204f1 100644 (file)
@@ -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
index 78255c6..84bbccc 100644 (file)
@@ -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
index b8e29d9..6ff573f 100644 (file)
@@ -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
index 5c22d27..7df96c6 100644 (file)
@@ -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
index d66039a..242b44c 100644 (file)
@@ -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
index 1906c3b..c2a22c2 100644 (file)
@@ -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
index b839348..03a2b75 100644 (file)
@@ -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
index 587c892..4bf56d5 100644 (file)
@@ -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
index 254a833..69ab971 100644 (file)
@@ -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
index 8ec1593..9ce6bc6 100644 (file)
@@ -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:
index de5e20e..e03f657 100644 (file)
@@ -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
index 9f2a932..6c00a41 100644 (file)
@@ -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
index d503b39..ded8366 100644 (file)
@@ -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
index 546038f..f242974 100644 (file)
@@ -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.
index e3a3290..8edb124 100644 (file)
@@ -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
index 50c423c..bc7803a 100644 (file)
@@ -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
index e8228f3..4034694 100644 (file)
@@ -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
index 5d897f9..6a32b86 100644 (file)
@@ -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
index 849778b..17dcdd4 100644 (file)
@@ -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
index f0a8b4d..cbd7a44 100644 (file)
@@ -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
index f737961..0670c3e 100644 (file)
@@ -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
index 778b24d..4ed1181 100644 (file)
@@ -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:
index 18e474d..8c126d6 100644 (file)
@@ -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:
index 73d90c5..ca3e3d0 100644 (file)
@@ -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
index f9d8dab..9ea4178 100644 (file)
@@ -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
index 4e94568..93ad3e9 100644 (file)
@@ -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
index 5565f01..b245d29 100644 (file)
@@ -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
index 8cbd341..cbf36bf 100644 (file)
@@ -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
index 76e95f2..ccf7e26 100644 (file)
@@ -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
index 3d5483c..39ff62e 100644 (file)
@@ -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
index 8b65f3d..3359fac 100644 (file)
@@ -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
index e2f5e8d..bd6f326 100644 (file)
@@ -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
index e8aba35..aa32162 100644 (file)
@@ -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
index 50da234..9009811 100644 (file)
@@ -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.
index 3eb777a..829d543 100644 (file)
@@ -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.
index 23363f8..19189f6 100644 (file)
@@ -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
index ad0a959..84331f2 100644 (file)
@@ -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
index e4d32ed..cb2207e 100644 (file)
@@ -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
index 7dd9c2e..2cbd82f 100644 (file)
@@ -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
index 2ef6e53..5774502 100644 (file)
@@ -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
index caafce5..8b5b4ab 100644 (file)
@@ -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
index 152f188..906cc6f 100644 (file)
@@ -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:
index 473bb31..e6fadb0 100644 (file)
@@ -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
index 94bfeaa..6f89d90 100644 (file)
@@ -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
index 005e726..a0b064c 100644 (file)
@@ -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
index a91e569..b8223e5 100644 (file)
@@ -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
index 6a7e7ff..0a02ea4 100644 (file)
@@ -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.
index 80f1c6c..8cc87eb 100644 (file)
@@ -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.
index d21d1dc..98aa89c 100644 (file)
@@ -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
index fc7d993..ab2ea7a 100644 (file)
@@ -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
index 6599681..b52505a 100644 (file)
@@ -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
index cbbf379..0eb6748 100644 (file)
@@ -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
index 080d1af..facc4a1 100644 (file)
@@ -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
index 64bbe82..3fad126 100644 (file)
@@ -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
index 918dd5b..4014e99 100644 (file)
@@ -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
index aa863bd..46b6ab9 100644 (file)
@@ -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
index 363f051..a2ca8b7 100644 (file)
@@ -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
index c45d52c..c8376d4 100644 (file)
@@ -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
index 1aa2b87..00affdc 100644 (file)
@@ -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
index ee18520..bab0807 100644 (file)
@@ -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:
index be5626e..abaa2d1 100644 (file)
@@ -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
index 78cabc6..e413f14 100644 (file)
@@ -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
index 5b716cf..0ed4a43 100644 (file)
@@ -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
index 5c723a1..7bd44a2 100644 (file)
@@ -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
index fb3a396..93836fd 100644 (file)
@@ -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
index b2f584b..cfbabbc 100644 (file)
@@ -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
index 4335f32..ab4e4fb 100644 (file)
@@ -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
index a9e7230..4608c6c 100644 (file)
@@ -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
index ce757ea..a8f0fe2 100644 (file)
@@ -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
index 3e039a0..c5b246a 100644 (file)
@@ -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
index 5aaf10f..120cc6a 100644 (file)
@@ -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
index c2232d0..59d5c88 100644 (file)
@@ -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
index 14f6752..013ebe0 100644 (file)
@@ -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
index 00e7b4f..7eb7e0e 100644 (file)
@@ -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
index a26a13d..f1fea1b 100644 (file)
@@ -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
index be5a02a..0d4592c 100644 (file)
@@ -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
index 6c022bd..972f5d2 100644 (file)
@@ -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:
index 26776df..d342b2f 100644 (file)
@@ -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:
index 1dd1b6a..eb58808 100644 (file)
@@ -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
index 658d393..215e8ed 100644 (file)
@@ -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
index 56fdf8e..2ada1d8 100644 (file)
@@ -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
index 9fe0258..99dddb9 100644 (file)
@@ -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
index 47393ec..cf9992f 100644 (file)
@@ -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
index 43d6e8a..116d235 100644 (file)
@@ -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
index 6e49c8a..1c9937b 100644 (file)
@@ -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
index ed9f3be..1de2ac3 100644 (file)
@@ -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
index 6f233fc..4bd1c18 100644 (file)
@@ -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
index 20f2dba..239fa8a 100644 (file)
@@ -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
index d417d96..0e97e8f 100644 (file)
@@ -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
index 1626f74..92856a0 100644 (file)
@@ -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
index 175ef65..c15463f 100644 (file)
@@ -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
index 652257a..4e79afb 100644 (file)
@@ -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{<sys/loadavg.h>}, not @code{<stdlib.h>},
 on some platforms:
index b39f438..3faa38c 100644 (file)
@@ -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
index 0b797a6..73a8856 100644 (file)
@@ -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
index 007d154..31fac0c 100644 (file)
@@ -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
index 41b89fe..5dcc23d 100644 (file)
@@ -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
index 170f798..1b3995a 100644 (file)
@@ -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
index f8c3116..cc51e18 100644 (file)
@@ -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
index c69ac76..70016ba 100644 (file)
@@ -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
index ae3ca27..a882c75 100644 (file)
@@ -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
index c5e86fe..19d2fe4 100644 (file)
@@ -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.
index 15dfb25..85e8b02 100644 (file)
@@ -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:
index 2e8c9b6..605cb89 100644 (file)
@@ -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.
index edbdc14..111344e 100644 (file)
@@ -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}:
index 4c2bd05..3f19e65 100644 (file)
@@ -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
index d480558..4e1ac0a 100644 (file)
@@ -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
index 46b196d..633b21a 100644 (file)
@@ -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
index d56e321..c2e7f44 100644 (file)
@@ -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
index 3795995..72afbde 100644 (file)
@@ -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
index 001fa70..7e0a368 100644 (file)
@@ -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
index 6160830..fa486d7 100644 (file)
@@ -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
index f2081ee..60a10f3 100644 (file)
@@ -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
index 42547c0..2653d40 100644 (file)
@@ -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
index 5be71df..1cb9582 100644 (file)
@@ -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
index 0f1c4a6..151df96 100644 (file)
@@ -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
index 4c931da..1299946 100644 (file)
@@ -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
index 094c023..4e431fd 100644 (file)
@@ -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
index 9ea543f..f23d350 100644 (file)
@@ -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
index 993796f..207a059 100644 (file)
@@ -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
index a1822d9..69cb84f 100644 (file)
@@ -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
index c62ad5f..08f7261 100644 (file)
@@ -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
index 99faf88..f37a8be 100644 (file)
@@ -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
index 808aace..ab382eb 100644 (file)
@@ -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
index 513fce2..3a19997 100644 (file)
@@ -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
index 9c71bf7..842c101 100644 (file)
@@ -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
index 3699112..9a0845f 100644 (file)
@@ -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
index 48e7e5d..078c468 100644 (file)
@@ -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
index 4ea117b..91c2a03 100644 (file)
@@ -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
index 230b850..be9c481 100644 (file)
@@ -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
index c03e104..cad5047 100644 (file)
@@ -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
index 6d6e28f..71bc578 100644 (file)
@@ -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
index 743a61b..4db40fc 100644 (file)
@@ -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
index 8949686..944925b 100644 (file)
@@ -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
index 407a454..ea10064 100644 (file)
@@ -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
index cb27a7d..61fb003 100644 (file)
@@ -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
index 0487628..0840267 100644 (file)
@@ -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
index b7ab9fa..01c9866 100644 (file)
@@ -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.
index 45b8b47..a3356ba 100644 (file)
@@ -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
index 210cef0..c488c7b 100644 (file)
@@ -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
index ee67f4c..3c03a5f 100644 (file)
@@ -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
index a773fc4..7a2e9c6 100644 (file)
@@ -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
index 303a6a4..6f04554 100644 (file)
@@ -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
index 44424bf..451d0be 100644 (file)
@@ -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
index fa864be..5c138f1 100644 (file)
@@ -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
index db26756..8490400 100644 (file)
@@ -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
index d3187bc..da7635b 100644 (file)
@@ -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.
index af15c62..65ddf84 100644 (file)
@@ -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.
index 16eb8c6..a2b52e1 100644 (file)
@@ -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
index e490d8d..f6e401a 100644 (file)
@@ -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
index 645e421..7e445e9 100644 (file)
@@ -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
index d2c0769..8a1b2cc 100644 (file)
@@ -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
index b6e2611..047fa07 100644 (file)
@@ -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
index d7f4b7b..f733834 100644 (file)
@@ -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
index ffb63a3..ea5471f 100644 (file)
@@ -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
index 75761cd..a3112c3 100644 (file)
@@ -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:
index 4d3c01b..f038675 100644 (file)
@@ -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
index 22819e1..73f84c2 100644 (file)
@@ -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
index 8c9fbb0..86b40d4 100644 (file)
@@ -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
index 3e44142..98bbf89 100644 (file)
@@ -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
index c7869ef..4da673e 100644 (file)
@@ -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
index d425eab..7a8b1b6 100644 (file)
@@ -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
index a504891..ff89a6f 100644 (file)
@@ -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
index 8986a82..f6221d5 100644 (file)
@@ -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
index 0bc3ec0..dd36920 100644 (file)
@@ -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
index 18d96cf..ac555a4 100644 (file)
@@ -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
index 9a5c5e1..8b89162 100644 (file)
@@ -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
index e4337df..cd0bac5 100644 (file)
@@ -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
index 487b119..8c4dbcc 100644 (file)
@@ -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
index c7ede02..0bb401b 100644 (file)
@@ -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
index 746b28b..aa22b7c 100644 (file)
@@ -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
index 002e758..a4e74c8 100644 (file)
@@ -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
index 3de3144..f4dc091 100644 (file)
@@ -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
index 798608c..0d96dd0 100644 (file)
@@ -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
index d944b58..d76c9d4 100644 (file)
@@ -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
index 23b43e0..4940e8f 100644 (file)
@@ -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
index 3821bec..1f0526e 100644 (file)
@@ -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
index 496a958..94a2fce 100644 (file)
@@ -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
index ff89447..cf15f47 100644 (file)
@@ -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
index cd7d718..caf3eba 100644 (file)
@@ -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
index 8061ad6..46ac863 100644 (file)
@@ -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
index 6f3343e..bca2612 100644 (file)
@@ -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
index 0bbed3c..2539fc2 100644 (file)
@@ -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
index 926179c..4f1697f 100644 (file)
@@ -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:
index 6096998..15798c3 100644 (file)
@@ -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
index 4961190..ed02953 100644 (file)
@@ -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
index 7a4e89d..1f6c86a 100644 (file)
@@ -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
index d5f9ce2..7223f87 100644 (file)
@@ -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
index 50a1f40..568373c 100644 (file)
@@ -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
index ec2a5cd..fea0fe4 100644 (file)
@@ -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
index 0de5450..38d60da 100644 (file)
@@ -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
index bb6f9f6..6016ae8 100644 (file)
@@ -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:
index 08348b7..16e3407 100644 (file)
@@ -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:
index a98183e..eacb28f 100644 (file)
@@ -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
index 1f60377..40ef6a4 100644 (file)
@@ -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
index d4ee05d..3531349 100644 (file)
@@ -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
index 5de5bd1..bf46960 100644 (file)
@@ -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
index 090da77..1279dce 100644 (file)
@@ -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
index dcd9051..03e5395 100644 (file)
@@ -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
index f4d1d34..66bc615 100644 (file)
@@ -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
index 8bc5b24..9cb70af 100644 (file)
@@ -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
index ccf5173..a3e9522 100644 (file)
@@ -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
index 89cc7c8..1a04dca 100644 (file)
@@ -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
index 12bb2eb..ae1acc6 100644 (file)
@@ -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
index e0dcb09..87cd93c 100644 (file)
@@ -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
index 5f73ebb..00b0da4 100644 (file)
@@ -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
index 1d72e4b..f108f33 100644 (file)
@@ -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
index 8b1dd5e..2eb7521 100644 (file)
@@ -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
index 9e82b0a..8342bb5 100644 (file)
@@ -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
index f5bd59c..3235460 100644 (file)
@@ -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:
index 0bf5638..701ed83 100644 (file)
@@ -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
index 5ba1ffe..ef7f0b2 100644 (file)
@@ -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
index 345b385..7123891 100644 (file)
@@ -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
index e2b83ab..820b3aa 100644 (file)
@@ -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
index b21b2e5..a1bc2eb 100644 (file)
@@ -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
index 0978ec5..d98b3d7 100644 (file)
@@ -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
index 811a497..5e2225a 100644 (file)
@@ -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
index bdd42c2..594e254 100644 (file)
@@ -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
index 83f3917..989ed9d 100644 (file)
@@ -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
index d6639ec..ad8bcb9 100644 (file)
@@ -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
index 27441b5..c1a9531 100644 (file)
@@ -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
index d776f62..785d880 100644 (file)
@@ -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{<utmp.h>} on glibc, Cygwin,
 in @code{<util.h>} on MacOS X 10.5, NetBSD 5.0, OpenBSD 3.8,
index 5e7e171..0b27358 100644 (file)
@@ -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
index eb5075d..f439bd6 100644 (file)
@@ -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
index ed65624..93d957e 100644 (file)
@@ -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
index 3777ac6..3dde824 100644 (file)
@@ -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
index 2005ea9..ced0c6c 100644 (file)
@@ -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
index ba5f570..8e4d92d 100644 (file)
@@ -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
index 95abc4b..0e60e0e 100644 (file)
@@ -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
index 0d15b5d..edd9a23 100644 (file)
@@ -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
index 092d812..8d8c8a6 100644 (file)
@@ -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
index bb8dc40..1c30cc0 100644 (file)
@@ -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
index 00b1e00..13dad64 100644 (file)
@@ -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
index 616081f..30e282c 100644 (file)
@@ -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
index 0f14a95..02036b0 100644 (file)
@@ -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
index bad3b7a..513c710 100644 (file)
@@ -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
index 4fd3ad4..2ecc674 100644 (file)
@@ -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
index fe73ce8..8e695f7 100644 (file)
@@ -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
index f95a8aa..b053d26 100644 (file)
@@ -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
index ccc750e..e95425c 100644 (file)
@@ -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
index f7b5bf2..32669dd 100644 (file)
@@ -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
index 0c0b240..92c39cd 100644 (file)
@@ -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
index 2285de6..6543353 100644 (file)
@@ -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:
index 9a0e83d..cd911fd 100644 (file)
@@ -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:
index 6f9a74a..075c627 100644 (file)
@@ -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
index 84a6dfc..744f94b 100644 (file)
@@ -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}.)
index 343c109..6e474dd 100644 (file)
@@ -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}.)
index c64c930..53cf41b 100644 (file)
@@ -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{<unistd.h>} instead of @code{<stdlib.h>}
 on some platforms:
index 50e6a1c..e69895f 100644 (file)
@@ -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
index f1fbd5f..853de0f 100644 (file)
@@ -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
index 893f74a..5cb66ad 100644 (file)
@@ -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
index 40db841..7023726 100644 (file)
@@ -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
index 209116c..fe2cbfc 100644 (file)
@@ -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
index 595a6ce..520418d 100644 (file)
@@ -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
index 92b7334..141ace1 100644 (file)
@@ -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
index 578e60b..0aaf71e 100644 (file)
@@ -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
index 78e38d1..f82d7ec 100644 (file)
@@ -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
index 60fb367..4677680 100644 (file)
@@ -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
index e99ca2d..d68c37f 100644 (file)
@@ -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
index 644b2a6..f4e4f38 100644 (file)
@@ -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
index a496658..8cdc639 100644 (file)
@@ -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
index d73f42b..7d39cd0 100644 (file)
@@ -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
index 735f7b7..4c3b3e5 100644 (file)
@@ -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
index e8908b8..06c11be 100644 (file)
@@ -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
index 54a94c8..9fd2e53 100644 (file)
@@ -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
index d1b8396..ff753ac 100644 (file)
@@ -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
index d383e43..7136af5 100644 (file)
@@ -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
index 36b23e1..5cb2fdc 100644 (file)
@@ -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
index b3d4550..da578ff 100644 (file)
@@ -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
index ff93e20..9e725f4 100644 (file)
@@ -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
index 410f57f..5553869 100644 (file)
@@ -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
index 6d0ad18..7c1116a 100644 (file)
@@ -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
index f5f2c47..633a048 100644 (file)
@@ -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
index 33c0e8f..b12a333 100644 (file)
@@ -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
index 676d661..431e6f7 100644 (file)
@@ -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
index c013699..1fe2153 100644 (file)
@@ -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
index 3825dff..5511682 100644 (file)
@@ -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
index 9815bfa..c8740b3 100644 (file)
@@ -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
index fc8cc98..388196b 100644 (file)
@@ -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
index d59ac34..c39ac99 100644 (file)
@@ -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
index f460b6d..38fd0af 100644 (file)
@@ -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
index c14b42e..f24f415 100644 (file)
@@ -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
index 1ee3c56..80b702d 100644 (file)
@@ -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
index d7eee91..998f129 100644 (file)
@@ -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
index 5a9efeb..18c1163 100644 (file)
@@ -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
index 980dbf8..2f2050b 100644 (file)
@@ -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
index 33fb282..38d6693 100644 (file)
@@ -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
index eb124de..b6a01cd 100644 (file)
@@ -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
index 150ba77..f8e0867 100644 (file)
@@ -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
index 0d1a254..1434549 100644 (file)
@@ -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
index ff0fd33..25d809c 100644 (file)
@@ -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
index 77d685d..1178a5c 100644 (file)
@@ -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
index f2baf01..6f7b5fa 100644 (file)
@@ -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
index e1904dd..9cc55db 100644 (file)
@@ -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
index 9832c3d..7fba4c7 100644 (file)
@@ -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
index 6ce7784..d2e8341 100644 (file)
@@ -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
index 078ac85..1ac7273 100644 (file)
@@ -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
index 7748878..d85e4a4 100644 (file)
@@ -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
index b810d10..b9d1010 100644 (file)
@@ -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
index 72fb01a..18e9843 100644 (file)
@@ -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
index c0a0998..eab5bec 100644 (file)
@@ -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
index d28606f..d70c6a2 100644 (file)
@@ -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
index 8f9278e..ff72cbf 100644 (file)
@@ -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
index 494286b..d5afcb4 100644 (file)
@@ -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
index 6a446bc..8e82214 100644 (file)
@@ -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
index 984f9f8..e09a003 100644 (file)
@@ -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
index 52c9321..60a1176 100644 (file)
@@ -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
index 5a65b2d..62b6d08 100644 (file)
@@ -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
index 115905b..7af0083 100644 (file)
@@ -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
index 47a6dea..9066cb2 100644 (file)
@@ -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
index 925921a..0abb191 100644 (file)
@@ -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
index db7fb65..9d5c8e1 100644 (file)
@@ -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
index e980dda..a19bf93 100644 (file)
@@ -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
index c0c07f0..75cdec3 100644 (file)
@@ -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
index e9e788e..9f5694d 100644 (file)
@@ -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
index a2cf209..f59a113 100644 (file)
@@ -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
index 7fe7c0b..6d0e7a1 100644 (file)
@@ -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
index 7462eed..eab6786 100644 (file)
@@ -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
index 2995158..e510ead 100644 (file)
@@ -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
index 739f99c..bdd5473 100644 (file)
@@ -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:
index 86c32f1..8c246c4 100644 (file)
@@ -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:
index f0e531e..61587c3 100644 (file)
@@ -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
index 3ed64d6..8fc9620 100644 (file)
@@ -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,
index 87c116c..d077979 100644 (file)
@@ -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
index 8dc2b93..7d4a896 100644 (file)
@@ -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
index 55f39ff..4a6ea83 100644 (file)
@@ -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:
index 2736bb4..e92566f 100644 (file)
@@ -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
index 7bed28f..9bc3a73 100644 (file)
@@ -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
index bb0d6d7..c5a723f 100644 (file)
@@ -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
index 4a17390..f06d524 100644 (file)
@@ -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
index 816460b..31a5422 100644 (file)
@@ -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
index 2c89c76..85e21f1 100644 (file)
@@ -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
index ecbab32..1af177a 100644 (file)
@@ -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
index f8f8e34..1dc88c1 100644 (file)
@@ -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
index 12a504f..2e96d50 100644 (file)
@@ -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
index de7b750..fc9809d 100644 (file)
@@ -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
index 04cf057..c4a3936 100644 (file)
@@ -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
index 2523373..1c1d06d 100644 (file)
@@ -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
index 1e2b459..8f430de 100644 (file)
@@ -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
index a2da84f..c5140ac 100644 (file)
@@ -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
index dda91e6..5bcfcaa 100644 (file)
@@ -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
index eb8edda..8c6a014 100644 (file)
@@ -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.
index 33386bb..42128ab 100644 (file)
@@ -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.
index a659ad1..66ae1ab 100644 (file)
@@ -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.
index 0dd2a2d..fed9211 100644 (file)
@@ -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
index e03f0e2..3a84f17 100644 (file)
@@ -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
index 2736533..d95a26f 100644 (file)
@@ -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
index 6bf351e..45b27e0 100644 (file)
@@ -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
index 42a23fa..4238abd 100644 (file)
@@ -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
index 6a9431d..8c04477 100644 (file)
@@ -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
index 0c961a0..2f3dfdf 100644 (file)
@@ -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
index a3bdaa1..f01de55 100644 (file)
@@ -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
index 14b3a82..9a31893 100644 (file)
@@ -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.
index 1046dc4..0b22c6e 100644 (file)
@@ -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.
index f03b3c4..a8b7fae 100644 (file)
@@ -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
index bc00112..ce497c5 100644 (file)
@@ -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.
index d4b49b5..25b6d9d 100644 (file)
@@ -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
index 23b0d35..00acf5a 100644 (file)
@@ -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
index adab8a2..dbb4d78 100644 (file)
@@ -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
index ed07a25..e51e523 100644 (file)
@@ -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
index 460bee8..5b985da 100644 (file)
@@ -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
index 2ebdfed..bde6324 100644 (file)
@@ -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
index 5cd6e34..359ed86 100644 (file)
@@ -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
index 3882184..c5554fd 100644 (file)
@@ -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
index 13bca22..267ac89 100644 (file)
@@ -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
index 1eb777c..fba1a94 100644 (file)
@@ -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.
index 1b33b0e..7697a10 100644 (file)
@@ -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.
index e1d9814..9a97971 100644 (file)
@@ -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
index 4bcf3c4..b330758 100644 (file)
@@ -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
index 6a75d9b..89070e8 100644 (file)
@@ -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
index 2c0d7ba..605cf56 100644 (file)
@@ -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
index 8fcf781..7d641b8 100644 (file)
@@ -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
index 1512667..f0d5da4 100644 (file)
@@ -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
index cdd9faf..33e1685 100644 (file)
@@ -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
index 070d553..fdf9c12 100644 (file)
@@ -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
index 863f3be..1978af0 100644 (file)
@@ -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
index 79477c5..c643c69 100644 (file)
@@ -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
index f9d1cab..ae946c2 100644 (file)
@@ -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:
index 0c5e3a9..2c69f8c 100644 (file)
@@ -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:
index be80f52..f687a00 100644 (file)
@@ -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
index 88d1f49..683efc8 100644 (file)
@@ -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
index 6318c6e..8e276f6 100644 (file)
@@ -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
index 2008e21..8f5ae73 100644 (file)
@@ -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
index c119911..6df45bd 100644 (file)
@@ -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
index 94cfa51..1a26d58 100644 (file)
@@ -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
index 6410747..c22ad91 100644 (file)
@@ -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
index 17d84c2..8609635 100644 (file)
@@ -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
index d86253d..a90e5fb 100644 (file)
@@ -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
index 9fee603..0a0bfe0 100644 (file)
@@ -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
index 3eff335..0039125 100644 (file)
@@ -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
index 1678175..a49a9e3 100644 (file)
@@ -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
index bddfe38..4c5e313 100644 (file)
@@ -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
index 33a6437..e841617 100644 (file)
@@ -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
index 111e682..963dc7d 100644 (file)
@@ -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
index cbadaed..b01585a 100644 (file)
@@ -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
index 836028f..7a198b3 100644 (file)
@@ -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
index 0527a94..c54875c 100644 (file)
@@ -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
index cf6e7f8..0cb9f88 100644 (file)
@@ -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
index fd614db..3b3002a 100644 (file)
@@ -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
index 5929ca9..0d14500 100644 (file)
@@ -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
index 6a1bf89..e03d5e2 100644 (file)
@@ -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
index 980e5b0..982e303 100644 (file)
@@ -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
index 8133d14..65a3539 100644 (file)
@@ -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
index 0184d19..f5e8179 100644 (file)
@@ -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
index b17f6cf..106589a 100644 (file)
@@ -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
index e080dbb..21ae7d0 100644 (file)
@@ -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
index 162f8cd..c5ff791 100644 (file)
@@ -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
index c822101..0151df1 100644 (file)
@@ -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
index 12ef59d..d2a0f88 100644 (file)
@@ -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
index 3a75c42..e360da3 100644 (file)
@@ -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:
index 77b75f9..a2e001f 100644 (file)
@@ -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
index fd74cf5..7ab5d7d 100644 (file)
@@ -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
index 0af8a50..a630561 100644 (file)
@@ -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
index 568e289..a5ea009 100644 (file)
@@ -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
index 892d89d..a2f4860 100644 (file)
@@ -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
index c97d885..6ed49d4 100644 (file)
@@ -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
index f2127be..7fa69ac 100644 (file)
@@ -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
index 40b61d0..cf15535 100644 (file)
@@ -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
index 72145a9..35f687e 100644 (file)
@@ -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
index d1565ed..045b543 100644 (file)
@@ -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
index f5ed38f..0e00b54 100644 (file)
@@ -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
index a949cb7..e537c76 100644 (file)
@@ -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
index f43918b..df2d666 100644 (file)
@@ -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
index 928f47e..97e7a46 100644 (file)
@@ -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
index b47e14d..d89bb2c 100644 (file)
@@ -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
index 1f2a861..33cddf8 100644 (file)
@@ -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
index b336868..137cacb 100644 (file)
@@ -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
index 1168d46..de81738 100644 (file)
@@ -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
index da38cda..74c0802 100644 (file)
@@ -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
index bcbd841..f98d78d 100644 (file)
@@ -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};
index 28b01e7..bd5c19a 100644 (file)
@@ -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
index 40170f2..75cc8ca 100644 (file)
@@ -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
index 199e33a..4bfedca 100644 (file)
@@ -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
index 96b1563..c2d573b 100644 (file)
@@ -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
index 6060465..da52c51 100644 (file)
@@ -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
index fb1eaf4..fb2f50c 100644 (file)
@@ -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
index 5f16ae3..38fba0e 100644 (file)
@@ -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
index e0ff29b..c52160b 100644 (file)
@@ -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
index 9c9b73f..e6ebd32 100644 (file)
@@ -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
index 4b6ed74..eb08d0b 100644 (file)
@@ -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
index 3b97b48..af2cb25 100644 (file)
@@ -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
index 7ae697f..877a77d 100644 (file)
@@ -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
index 6e0f5da..f0de0a7 100644 (file)
@@ -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
index 5eb5de7..67eada9 100644 (file)
@@ -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
index a921842..ad06933 100644 (file)
@@ -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:
index f78f6c8..e2d34c9 100644 (file)
@@ -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
index 5b31daf..7aaa263 100644 (file)
@@ -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
index 21266fd..6c0ff05 100644 (file)
@@ -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.
index 406aeec..bcf8bf5 100644 (file)
@@ -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
index 34d5bc0..2e29ff5 100644 (file)
@@ -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
index 89ee520..d923500 100644 (file)
@@ -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
index 2680963..89f2801 100644 (file)
@@ -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
index ff34e1a..b0e0ced 100644 (file)
@@ -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
index 9f8428d..2438dee 100644 (file)
@@ -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
index 955e1ab..0b122a0 100644 (file)
@@ -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
index 8dde917..89e3f2c 100644 (file)
@@ -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
index bfc1cf6..e33e708 100644 (file)
@@ -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
index dffd9d2..ec1f466 100644 (file)
@@ -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
index e7a8912..01f316d 100644 (file)
@@ -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
index cda1f73..555bf26 100644 (file)
@@ -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
index 78cf689..6e25498 100644 (file)
@@ -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
index 3d8caca..698bb6a 100644 (file)
@@ -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
index 40c4185..df9f659 100644 (file)
@@ -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
index f942461..b60c0a6 100644 (file)
@@ -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
index 9c6c584..8add299 100644 (file)
@@ -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
index 16fce7a..ccdc8c7 100644 (file)
@@ -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
index dbeb5f0..ca4684a 100644 (file)
@@ -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
index e3b9f8b..2d70d56 100644 (file)
@@ -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
index c9c9860..145f34a 100644 (file)
@@ -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
index 7aa2856..920b135 100644 (file)
@@ -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
index 4eecc28..550a97c 100644 (file)
@@ -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
index 41aaede..1afb64f 100644 (file)
@@ -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:
index 8e4079c..4f66add 100644 (file)
@@ -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
index dc47595..252ef9d 100644 (file)
@@ -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
index e0d4bd4..a3353bb 100644 (file)
@@ -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
index 71dc663..32739fc 100644 (file)
@@ -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
index a27014a..b13cd1b 100644 (file)
@@ -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:
index c59e586..b273b87 100644 (file)
@@ -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:
index e0a5081..e5fcd4d 100644 (file)
@@ -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
index eb874ab..eb13d99 100644 (file)
@@ -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
index e49ae5d..2b3311d 100644 (file)
@@ -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:
index 95c2768..7512abf 100644 (file)
@@ -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
index 1f0fd20..983218d 100644 (file)
@@ -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
index 40509fb..ad8b8f6 100644 (file)
@@ -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
index 92f0ce1..39a526c 100644 (file)
@@ -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
index 8febef2..14a6dd3 100644 (file)
@@ -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
index 1e331c2..3c125a8 100644 (file)
@@ -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
index 1de20f0..13d77c0 100644 (file)
@@ -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
index 6e09584..f75a669 100644 (file)
@@ -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
index 9bab16d..d65246f 100644 (file)
@@ -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
index 3f86715..679995f 100644 (file)
@@ -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:
index 017cf90..fe88cbf 100644 (file)
@@ -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
index a58a46b..964dfe3 100644 (file)
@@ -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
index b045f25..9604c08 100644 (file)
@@ -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
index af76b85..ade56ec 100644 (file)
@@ -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
index 66c4f96..5f9e2aa 100644 (file)
@@ -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
index 3367d97..5017ca8 100644 (file)
@@ -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
index ed8d90e..19809e1 100644 (file)
@@ -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
index 5dcd0da..a3c95a2 100644 (file)
@@ -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
index 620efda..1e5ba8d 100644 (file)
@@ -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
index 1d37127..d38c0ae 100644 (file)
@@ -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
index 6cabaff..1c25623 100644 (file)
@@ -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
index 871dec6..ae5d984 100644 (file)
@@ -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
index f2e5331..4638c4c 100644 (file)
@@ -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
index 394b1c2..f9915c2 100644 (file)
@@ -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
index 6c6a6e6..f3eb057 100644 (file)
@@ -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
index 0a01a55..b38f5ae 100644 (file)
@@ -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
index 9026041..5132ce0 100644 (file)
@@ -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
index 906f4df..dff691d 100644 (file)
@@ -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
index 19146d9..191ce79 100644 (file)
@@ -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
index f84b2f2..c0f16fe 100644 (file)
@@ -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
index 0a2ada7..9125f5a 100644 (file)
@@ -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
index 77ee8ff..82f95f5 100644 (file)
@@ -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
index 428b915..8949a72 100644 (file)
@@ -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
index a9c31fe..99a49ae 100644 (file)
@@ -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
index 0cd2190..30074df 100644 (file)
@@ -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
index ad7b691..5a8cc65 100644 (file)
@@ -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
index d617474..1d8572d 100644 (file)
@@ -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
index 5f8ae63..9ff7dd1 100644 (file)
@@ -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
index fc8b071..adfd914 100644 (file)
@@ -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
index 0025b30..79a5a60 100644 (file)
@@ -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
index 31cad47..abe5a9f 100644 (file)
@@ -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
index d117bb0..f55c6e4 100644 (file)
@@ -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
index f52a24e..c35edc7 100644 (file)
@@ -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
index 1153ee7..8e8fe75 100644 (file)
@@ -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
index a4bdd07..f166f7b 100644 (file)
@@ -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:
index eb39a94..4809866 100644 (file)
@@ -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
index f4eecd0..312913a 100644 (file)
@@ -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
index 3b125ca..637ebbf 100644 (file)
@@ -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
index ca322ba..48c60ad 100644 (file)
@@ -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
index 687a960..c71004f 100644 (file)
@@ -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
index 78149ae..333a90e 100644 (file)
@@ -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
index 9834304..55f381e 100644 (file)
@@ -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
index 9322abc..a5124b9 100644 (file)
@@ -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
index f185b45..533efe3 100644 (file)
@@ -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
index da022c7..da0461d 100644 (file)
@@ -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
index 8cb033d..0aba8ba 100644 (file)
@@ -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
index ec018b5..ca26a1e 100644 (file)
@@ -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
index 46dd9ae..a51d0fa 100644 (file)
@@ -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
index 69f733a..52295d7 100644 (file)
@@ -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}:
index 29d62ea..5743855 100644 (file)
@@ -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
index 8720ba5..34bb9e7 100644 (file)
@@ -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
index 63bc492..acfdaa6 100644 (file)
@@ -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
index 0d9728e..764adaa 100644 (file)
@@ -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
index 69a7322..08dfe45 100644 (file)
@@ -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
index 3b28f00..66ecdda 100644 (file)
@@ -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
index 5b5c181..fa96989 100644 (file)
@@ -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
index 67288ed..66804c5 100644 (file)
@@ -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
index 0ffc761..45cedcb 100644 (file)
@@ -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
index 8561c6d..5a6d824 100644 (file)
@@ -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
index 0442b39..f9bc429 100644 (file)
@@ -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
index 646632d..6f35f4b 100644 (file)
@@ -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
index 93266b1..a8508c1 100644 (file)
@@ -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
index 441f7ea..3e1d63e 100644 (file)
@@ -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
index 987a8ca..2ccfa09 100644 (file)
@@ -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.
index 9b33fb5..3e449bc 100644 (file)
@@ -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.
index 6af09af..9bb254d 100644 (file)
@@ -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.
index 34d41f7..dcbb1fc 100644 (file)
@@ -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.
index f8e2d80..05d7998 100644 (file)
@@ -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.
index dbbfcd0..349c907 100644 (file)
@@ -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.
index 834241f..7955e66 100644 (file)
@@ -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.
index a8bc7e8..813f223 100644 (file)
@@ -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.
index 7d70cb8..b509fe6 100644 (file)
@@ -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.
index f346dbd..d074a4d 100644 (file)
@@ -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.
index 30943e0..ffd596b 100644 (file)
@@ -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.
index 750a508..26d48d2 100644 (file)
@@ -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.
index 25e24ed..9085044 100644 (file)
@@ -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
index a02809c..e1ad5b3 100644 (file)
@@ -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
index cb1838e..be4e1f6 100644 (file)
@@ -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
index ad81a0b..82691fc 100644 (file)
@@ -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
index 6def50d..ca97c4d 100644 (file)
@@ -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
index 632ed4e..818869c 100644 (file)
@@ -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
index ec8881d..271df50 100644 (file)
@@ -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
index c702ff6..2c2427d 100644 (file)
@@ -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
index f70ee6d..e6b5334 100644 (file)
@@ -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
index 8ebf4a2..ff49fc2 100644 (file)
@@ -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
index 8536574..3bf7059 100644 (file)
@@ -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
index eaf509b..bba84be 100644 (file)
@@ -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
index 0c1dc97..193fdd8 100644 (file)
@@ -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
index 95c7b15..9a207e2 100644 (file)
@@ -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
index bda0167..f12ea42 100644 (file)
@@ -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
index 84c7e7a..cf3f34a 100644 (file)
@@ -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
index 6ea53e2..ad9fc5a 100644 (file)
@@ -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
index fdefff1..9ccfc62 100644 (file)
@@ -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
index 77231b7..0ce347f 100644 (file)
@@ -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
index 8f5a16f..691fa26 100644 (file)
@@ -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
index 4d72ef1..07947bc 100644 (file)
@@ -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
index c77e9d3..ba60a10 100644 (file)
@@ -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
index 20b8931..6fecadf 100644 (file)
@@ -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
index 0fc6cdf..9964400 100644 (file)
@@ -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
index 12243cd..9cace98 100644 (file)
@@ -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
index 20e54e5..cd59408 100644 (file)
@@ -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
index 49e0618..6e6f450 100644 (file)
@@ -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
index e08e36f..0b14afd 100644 (file)
@@ -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
index 379530a..64b7b6d 100644 (file)
@@ -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
index cb341ae..026a7f7 100644 (file)
@@ -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
index 096e5f8..c13f0b7 100644 (file)
@@ -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
index 1e18971..c8e431a 100644 (file)
@@ -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
index 15435ae..5a8b0d4 100644 (file)
@@ -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
index 9f0d7dd..71c51ed 100644 (file)
@@ -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
index a453d61..6f98527 100644 (file)
@@ -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
index f135f7b..7bd4198 100644 (file)
@@ -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
index d503f5c..701bd4c 100644 (file)
@@ -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
index 07e0f91..f544be8 100644 (file)
@@ -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
index 75ed563..c9967ec 100644 (file)
@@ -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
index c417f90..cf96ea4 100644 (file)
@@ -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
index de7de0d..8635fb2 100644 (file)
@@ -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
index 6f98e1d..dc22486 100644 (file)
@@ -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
index 96b5008..dbfbc26 100644 (file)
@@ -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
index 4832895..800f10e 100644 (file)
@@ -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
index 7c33086..cbd9fc1 100644 (file)
@@ -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
index 0ee8736..3e8f286 100644 (file)
@@ -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
index 8177e81..088662d 100644 (file)
@@ -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
index 9020a57..914163e 100644 (file)
@@ -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
index 4f08063..007ac10 100644 (file)
@@ -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
index 5d31cc4..2e9436e 100644 (file)
@@ -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
index c5dd8e6..fded66d 100644 (file)
@@ -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
index 0a13050..5cc876a 100644 (file)
@@ -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
index 2c07e3b..f112d1f 100644 (file)
@@ -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
index f9caf25..02926d4 100644 (file)
@@ -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
index caf800f..78f33dd 100644 (file)
@@ -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
index 3084c2b..1651806 100644 (file)
@@ -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
index ba8ead0..07e9c5b 100644 (file)
@@ -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.
index e1f63ab..645df39 100644 (file)
@@ -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.
index 9546554..e6c5c22 100644 (file)
@@ -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.
index 32e31cf..7597d79 100644 (file)
@@ -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.
index f11667a..05c40ee 100644 (file)
@@ -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
index 8013c24..67b904b 100644 (file)
@@ -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
index ea62ff9..9401158 100644 (file)
@@ -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
index dc5f28a..d90b992 100644 (file)
@@ -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
index b74c392..ee4bc76 100644 (file)
@@ -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
index 3f594e0..672b96f 100644 (file)
@@ -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
index 80631ac..5be674a 100644 (file)
@@ -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
index b51c382..408db0a 100644 (file)
@@ -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
index 75cfc2d..289b95b 100644 (file)
@@ -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
index e786a83..b3e3cea 100644 (file)
@@ -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
index 6743260..a4a3f38 100644 (file)
@@ -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
index ef06d81..abe1cb5 100644 (file)
@@ -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
index 6106088..82e9d0b 100644 (file)
@@ -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
index 691e26b..4952ee0 100644 (file)
@@ -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
index 97a8094..4442f4a 100644 (file)
@@ -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
index 205938e..15ae599 100644 (file)
@@ -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
index 4591071..19610a2 100644 (file)
@@ -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
index fd4bca9..4e08e27 100644 (file)
@@ -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
index b75d517..d995fd6 100644 (file)
@@ -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
index 41b03f6..8b9f73c 100644 (file)
@@ -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
index 9f787e8..e93c626 100644 (file)
@@ -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
index 724c096..afa6137 100644 (file)
@@ -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
index c077fe7..741f943 100644 (file)
@@ -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
index 97d0bac..18ec9cc 100644 (file)
@@ -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
index 08b0e68..77b6a81 100644 (file)
@@ -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
index 0826b44..08811ed 100644 (file)
@@ -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
index be23a20..5dff107 100644 (file)
@@ -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
index e595b2b..36b804a 100644 (file)
@@ -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
index a1c3da1..891bb75 100644 (file)
@@ -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
index 23dd04e..2ddb6d6 100644 (file)
@@ -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
index 8ea6406..2ab0c50 100644 (file)
@@ -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
index 7b2bd19..31331ab 100644 (file)
@@ -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
index d26c0bf..a9bf015 100644 (file)
@@ -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
index 8860d4a..bb04327 100644 (file)
@@ -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
index 7b7a995..82825a7 100644 (file)
@@ -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
index 62a12bd..c3fca26 100644 (file)
@@ -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
index b46426e..5cefcdc 100644 (file)
@@ -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
index 67d4f66..372295f 100644 (file)
@@ -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
index ec120db..3c4ee6d 100644 (file)
@@ -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
index a901c8a..397a7e1 100644 (file)
@@ -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
index 1c60231..ff89e14 100644 (file)
@@ -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
index 7a592d7..1d975dd 100644 (file)
@@ -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
index 02447db..7755d68 100644 (file)
@@ -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
index e6ec66b..f794bbe 100644 (file)
@@ -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
index 7ef4e5a..1f49a49 100644 (file)
@@ -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
index 74327b8..f57d688 100644 (file)
@@ -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
index a75c135..d972226 100644 (file)
@@ -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
index d8c69a5..2986ddc 100644 (file)
@@ -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
index c60eeb2..63ae34a 100644 (file)
@@ -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
index f00c347..d19fd26 100644 (file)
@@ -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
index 55dd7ba..5dafa66 100644 (file)
@@ -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
index c4e18f5..2241fc2 100644 (file)
@@ -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
index 2256fdc..8ecbe5c 100644 (file)
@@ -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
index 32d93b7..7aa8692 100644 (file)
@@ -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
index a717506..b17eec3 100644 (file)
@@ -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
index 255e921..c322462 100644 (file)
@@ -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
index 859a001..66505bb 100644 (file)
@@ -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
index fceccf3..18b2bef 100644 (file)
@@ -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:
index b42486c..eb6e271 100644 (file)
@@ -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
index b498285..7ac9f8e 100644 (file)
@@ -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:
index 5b353c5..d83767d 100644 (file)
@@ -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
index 7fcbde4..43cf764 100644 (file)
@@ -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:
index 6b7bdc7..6a4cb40 100644 (file)
@@ -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.
index 2f24971..f6212aa 100644 (file)
@@ -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:
index 9223f77..ef25c92 100644 (file)
@@ -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:
index 79d9871..c36f51e 100644 (file)
@@ -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
index cdb390e..cbac36d 100644 (file)
@@ -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
index a4235ce..0badbb2 100644 (file)
@@ -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
index dce75b2..f2d2a11 100644 (file)
@@ -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:
index c1ec5ac..3138b02 100644 (file)
@@ -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
index f426281..a8ba7e0 100644 (file)
@@ -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
index f602397..191c489 100644 (file)
@@ -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.
index d372850..c9f5983 100644 (file)
@@ -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
index 56f578f..d152a6f 100644 (file)
@@ -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.
index c0b4e9c..88c52dc 100644 (file)
@@ -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
index c0602f1..e5f1bf8 100644 (file)
@@ -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
index 7856ce8..88f0dbb 100644 (file)
@@ -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
index 492b6ad..0ca5fa8 100644 (file)
@@ -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:
index eab7619..228c3e2 100644 (file)
@@ -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
index b2b826d..dab1700 100644 (file)
@@ -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.
index dba6251..aed7d41 100644 (file)
@@ -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:
index d0e15fd..fd7090b 100644 (file)
@@ -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
index d094578..a483cb2 100644 (file)
@@ -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
index d670394..3b8eba3 100644 (file)
@@ -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
index d97958d..8cf54ef 100644 (file)
@@ -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.
index ee96b1b..0db1a08 100644 (file)
@@ -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
index 4e9d5f9..8d042da 100644 (file)
@@ -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.
index 3db771a..1419913 100644 (file)
@@ -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.
index 2890726..4df67be 100644 (file)
@@ -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
index ab518c8..64faa35 100644 (file)
@@ -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
index 7581d81..adeb229 100644 (file)
@@ -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
index c11bcc8..614c91f 100644 (file)
@@ -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
index 0cdaa0d..40e37ba 100644 (file)
@@ -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.
 
 
index 2f1ab34..5a54d22 100644 (file)
@@ -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
 
index 52ec4a6..d9b00b5 100644 (file)
@@ -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.
index 2893b48..df63c64 100644 (file)
@@ -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:
index 509ada6..6f168ad 100644 (file)
@@ -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
index 418c98f..f6dfe82 100644 (file)
@@ -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.
index e9af62c..2effea6 100644 (file)
@@ -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
index 2f69066..a7dee69 100644 (file)
@@ -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
index be2df63..f2a4e4c 100644 (file)
@@ -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
index 170a6e3..09a9398 100644 (file)
@@ -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
index d488a81..728c113 100644 (file)
@@ -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
index e28514a..4c2314a 100644 (file)
@@ -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.
index 82e4668..73bcf41 100644 (file)
@@ -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
index 5e04bfd..67e2c6e 100644 (file)
@@ -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
index 90cfb34..2cb6d13 100644 (file)
@@ -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
index b68d89d..6b58b69 100644 (file)
@@ -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.
index b8b04fa..3b098c7 100644 (file)
@@ -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
index 30ea3a0..58b35c9 100644 (file)
@@ -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
index dcfbe3e..de0740a 100644 (file)
@@ -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
index 8ca0da9..468ec66 100644 (file)
@@ -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:
index 66ebd08..f5bcf3d 100644 (file)
@@ -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
index 28c8fed..70fa1c6 100644 (file)
@@ -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.
index c58da5f..e1c2f3d 100644 (file)
@@ -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
index 787166a..7f8d974 100644 (file)
@@ -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
index 865fbc7..004d7c3 100644 (file)
@@ -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
index ef62e53..4afebe7 100644 (file)
@@ -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
index b2ca763..1b88d43 100644 (file)
@@ -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
index dd35cfc..7a452c3 100644 (file)
@@ -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
index 55d684a..a113a59 100644 (file)
@@ -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
index 23cabc8..271b39d 100644 (file)
@@ -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
index 0d36ed7..ade9543 100644 (file)
@@ -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
index fd753cd..7e93f94 100644 (file)
@@ -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
index 2ee32e2..67163af 100644 (file)
@@ -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
index 6343dd2..d8c3baf 100644 (file)
@@ -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
index 50c8ac2..a4bd802 100644 (file)
@@ -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
index 9d0cd17..9b69996 100644 (file)
@@ -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
index 3977063..0cbfb76 100644 (file)
@@ -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
index 1d2744a..79d2db1 100644 (file)
@@ -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
index 18adb50..2c0fb8c 100644 (file)
@@ -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:
index 93b8ca3..51474f3 100644 (file)
@@ -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.
index 16e432d..fbf532b 100644 (file)
@@ -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
index 7412fe3..cee424e 100644 (file)
@@ -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
index 82cf591..6a2994c 100644 (file)
@@ -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
index 822d586..3a5d9f6 100644 (file)
@@ -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
index db10ae5..2ed1f02 100644 (file)
@@ -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
index c57a1ae..14f180c 100644 (file)
@@ -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
index 84bc12e..03c08b7 100644 (file)
@@ -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
index 993215a..509937a 100644 (file)
@@ -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
index 55d6975..d240524 100644 (file)
@@ -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
index 2e27e79..cc61d48 100644 (file)
@@ -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
index 07647ec..ce0dd51 100644 (file)
@@ -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
index 8698c3a..6f9397a 100644 (file)
@@ -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
index d07da85..648b51e 100644 (file)
@@ -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:
index ef22e36..699f28e 100644 (file)
@@ -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.
index 2b0b07e..c1eb4ce 100644 (file)
@@ -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
index d3aad46..8cdccc5 100644 (file)
@@ -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
index 04a72d2..1da9b6d 100644 (file)
@@ -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
index 1109df1..bc2c012 100644 (file)
@@ -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
index c7940e3..b163525 100644 (file)
@@ -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
index 3e32d6f..14c94ee 100644 (file)
@@ -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
index b085f81..2db9634 100644 (file)
@@ -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
index de41cfc..3289a52 100644 (file)
@@ -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
index d0b79e0..fd41e78 100644 (file)
@@ -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:
index a7b0a09..facd130 100644 (file)
@@ -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
index 672d51c..0721b01 100644 (file)
@@ -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
index 65af7a6..2d14995 100644 (file)
@@ -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
index 91acad9..ebaf011 100644 (file)
@@ -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
index 5ead3fa..0b75f12 100644 (file)
@@ -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
index 87b02cb..9720097 100644 (file)
@@ -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
index c6f2428..fc1e779 100644 (file)
@@ -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
index 28439c9..063d856 100644 (file)
@@ -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
index d916155..1c217ea 100644 (file)
@@ -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
index 2fa6fc7..f541fc1 100644 (file)
@@ -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
index c9026f6..ba36891 100644 (file)
@@ -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
index 8673278..54e841e 100644 (file)
@@ -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
index 32c6ac9..8e51e72 100644 (file)
@@ -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
index 8c5596f..e92a47d 100644 (file)
@@ -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
index 83f651e..ce37277 100644 (file)
@@ -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
index da2d190..bfcab3d 100644 (file)
@@ -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
index 4a6fe80..b64bab6 100644 (file)
@@ -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
index 4998ce8..8f12f60 100644 (file)
@@ -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
index f9ccbe2..16c455e 100644 (file)
@@ -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
index 1f7f243..4d98051 100644 (file)
@@ -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
index 1cf0383..9faaa28 100644 (file)
@@ -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
index d8af05b..8deeac3 100644 (file)
@@ -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
index 4ef861d..96261d5 100644 (file)
@@ -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
index ceb8724..e170ced 100644 (file)
@@ -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
index 58eb22f..c02dabe 100644 (file)
@@ -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
index 153ed87..9a2f122 100644 (file)
@@ -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
index dca44ab..31817a6 100644 (file)
@@ -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
index bb40ab1..880936f 100644 (file)
@@ -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}:
index 75030b2..8c7b0dc 100644 (file)
@@ -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}:
index 9462179..d3bae33 100644 (file)
@@ -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
index 248ecc2..1c1914b 100644 (file)
@@ -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
index c9ef539..4ed421e 100644 (file)
@@ -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
index 3a7da16..4ef8dbd 100644 (file)
@@ -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
index 6d9e0ad..9f3ba71 100644 (file)
@@ -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
index 5158e22..e950f92 100644 (file)
@@ -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
index 69c757b..e40b62f 100644 (file)
@@ -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
index 2a507ac..d3b3c3f 100644 (file)
@@ -8,6 +8,10 @@ Gnulib module: ---
 
 Portability problems fixed by Gnulib:
 @itemize
+@item
+This function is declared in different header files (namely, @code{<io.h>} or
+@code{<direct.h>}) on some platforms:
+mingw, MSVC 9.
 @end itemize
 
 Portability problems not fixed by Gnulib:
index d62428c..f742e6c 100644 (file)
@@ -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:
index 1b113ee..9138395 100644 (file)
@@ -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
index d6a66b9..26af2b2 100644 (file)
@@ -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
index 8549b9d..c9cd91a 100644 (file)
@@ -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
index 12e7f84..f709916 100644 (file)
@@ -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
index 4560663..9d8dd33 100644 (file)
@@ -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
index 370418b..1d7724d 100644 (file)
@@ -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
index 891936d..6cc55ec 100644 (file)
@@ -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
index 1c339c7..e813abe 100644 (file)
@@ -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
index 2f47798..88ca379 100644 (file)
@@ -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
index fb88407..1a3b0d5 100644 (file)
@@ -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
index 19ca507..376aafa 100644 (file)
@@ -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
index e93156f..a1dc703 100644 (file)
@@ -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.
index 4c8820c..c8a1d38 100644 (file)
@@ -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:
index dbf3449..7e9247d 100644 (file)
@@ -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
index 5dd8114..6922aed 100644 (file)
@@ -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
index 0962196..23818e8 100644 (file)
@@ -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
index 57c44bf..5aba78d 100644 (file)
@@ -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
index 7147500..05e8849 100644 (file)
@@ -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
index 5987838..dbacb0d 100644 (file)
@@ -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
index 477dd79..5c3154f 100644 (file)
@@ -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
index 89986a9..838051b 100644 (file)
@@ -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
index aea81b1..f814162 100644 (file)
@@ -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
index e2c7ea0..8b883df 100644 (file)
@@ -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
index 21dec4f..27c6766 100644 (file)
@@ -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
index 4c1f02d..1cba33c 100644 (file)
@@ -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
index 8397ed1..df5d06a 100644 (file)
@@ -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
index 7439c18..a7388c7 100644 (file)
@@ -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
index d9c45ab..87250fb 100644 (file)
@@ -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
index 8d8cd56..6b85db4 100644 (file)
@@ -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
index 3bd4324..0359c41 100644 (file)
@@ -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
index 59ef5b8..3c6ab49 100644 (file)
@@ -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
index 5a90d33..2d99566 100644 (file)
@@ -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
index 17c4941..f06654b 100644 (file)
@@ -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
index 8c91c2a..46d3512 100644 (file)
@@ -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
index b7f1927..658b449 100644 (file)
@@ -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{<unistd.h>}
+(without @code{-D_GNU_SOURCE}) on some platforms:
+glibc (at least 2.11–2.13).
 @end itemize
index 271446d..5455128 100644 (file)
@@ -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
index 579b44e..c9b06a3 100644 (file)
@@ -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
index d46f1bb..b73c631 100644 (file)
@@ -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
index a7e0352..1a2dcb7 100644 (file)
@@ -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
index 5417659..a18171b 100644 (file)
@@ -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
index 7affd33..97fa70f 100644 (file)
@@ -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
index c171f7b..0888e24 100644 (file)
@@ -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
index 7787c6e..1af37f8 100644 (file)
@@ -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
index 1765f28..f8722b7 100644 (file)
@@ -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
index b967abd..1e98561 100644 (file)
@@ -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
index f8a1530..f0e24ee 100644 (file)
@@ -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
index 1ecb1f7..36b3323 100644 (file)
@@ -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
index 11c2575..e8df4eb 100644 (file)
@@ -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
index 0a6623d..d8f76ea 100644 (file)
@@ -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
index 01a5261..19a361f 100644 (file)
@@ -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
index 8bb3ca6..24ba369 100644 (file)
@@ -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
index 9d2e00a..83581b7 100644 (file)
@@ -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.
index 3ef2aca..68c7310 100644 (file)
@@ -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
index fcd376b..90402bc 100644 (file)
@@ -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
index 195ff56..53a2c2f 100644 (file)
@@ -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
index da4613b..0c78790 100644 (file)
@@ -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
index 40c505e..52c8f9d 100644 (file)
@@ -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
index aa939c9..06fa816 100644 (file)
@@ -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
index 0ba8c42..79ff5f4 100644 (file)
@@ -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
index f1cd94c..203a0b4 100644 (file)
@@ -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
index 0b38d91..422ae0a 100644 (file)
@@ -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
index 20397be..8849f40 100644 (file)
@@ -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:
index 2e3ee44..026f404 100644 (file)
@@ -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.
index 674f7b9..ea866ad 100644 (file)
@@ -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
index 1e4c10d..65390ee 100644 (file)
@@ -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
index 7f3b028..ba17f31 100644 (file)
@@ -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.
index ded79d4..a4100a5 100644 (file)
@@ -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.
index 6301d83..579a779 100644 (file)
@@ -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}:
index 6b9563f..16cc520 100644 (file)
@@ -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
index b67fc1f..3b4c63f 100644 (file)
@@ -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:
index 6054c30..012bb7f 100644 (file)
@@ -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
index 0108ce2..9ef3024 100644 (file)
@@ -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
index 225f27e..25a9d15 100644 (file)
@@ -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{<unistd.h>}
+(without @code{-D_GNU_SOURCE}) on some platforms:
+glibc (at least 2.11–2.13).
 @end itemize
index 4e57c03..2b0f566 100644 (file)
@@ -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
index 5cb5b4f..986395f 100644 (file)
@@ -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
index 67b39a9..dc829f1 100644 (file)
@@ -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
index 5ae8427..ad67209 100644 (file)
@@ -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
index cd6f31f..3813db1 100644 (file)
@@ -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
index df386fe..61ac105 100644 (file)
@@ -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
index 0c66160..0c3df4d 100644 (file)
@@ -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
index b3e431d..e8916eb 100644 (file)
@@ -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
index 4b70481..d40b4d4 100644 (file)
@@ -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
index 5a156a3..fca390b 100644 (file)
@@ -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
index ee123a0..a18db3c 100644 (file)
@@ -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
index a624626..29ee5b7 100644 (file)
@@ -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
index 91b6747..c661991 100644 (file)
@@ -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
index 1a86d3b..dd0d0f7 100644 (file)
@@ -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
index cda4328..b551826 100644 (file)
@@ -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
index 4ecbdb2..acf65f4 100644 (file)
@@ -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
index d9675e5..00ccd90 100644 (file)
@@ -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
index ff9a2a7..1ad13d9 100644 (file)
@@ -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
index be992da..d5c63b7 100644 (file)
@@ -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
index 961bb47..af6ff95 100644 (file)
@@ -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
index f0cd072..8f31cd9 100644 (file)
@@ -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
index dce255b..72ca756 100644 (file)
@@ -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
index 6906d4a..4f63724 100644 (file)
@@ -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
index 82f1e17..b1eb63b 100644 (file)
@@ -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
index eb7cd6d..485b0bd 100644 (file)
@@ -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.
index c918b81..63537a1 100644 (file)
@@ -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
index 360f32b..b0ac623 100644 (file)
@@ -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:
index 81c9e9f..b06fa54 100644 (file)
@@ -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
index eeabea5..f15f675 100644 (file)
@@ -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
 
index 732f714..06bb4d1 100644 (file)
@@ -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
index dc469d5..9b5661f 100644 (file)
@@ -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
index 40a2052..3db9198 100644 (file)
@@ -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}.
index 161af1e..8278dc2 100644 (file)
@@ -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
index a884926..2382386 100644 (file)
@@ -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
index 702d46c..1625338 100644 (file)
@@ -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
index f36c1fe..0ef2f46 100644 (file)
@@ -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
index df0c775..8808fd1 100644 (file)
@@ -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
index f59f079..f195a96 100644 (file)
@@ -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
index 4324453..58e582f 100644 (file)
@@ -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
index db250c5..5d6e808 100644 (file)
@@ -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
index 3190443..f31f072 100644 (file)
@@ -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
index a1276d9..567279a 100644 (file)
@@ -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
index 41b18fe..7cb8a81 100644 (file)
@@ -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
index 0dedc0a..a5699b4 100644 (file)
@@ -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
index b71bf0a..9bfbcdc 100644 (file)
@@ -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
index 27c608d..91a15b9 100644 (file)
@@ -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
index ffc569e..42aa8d3 100644 (file)
@@ -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
index 7d7aa1b..815da92 100644 (file)
@@ -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
index dbf08b4..ca52840 100644 (file)
@@ -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
index 907d60f..634a341 100644 (file)
@@ -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
index 21e8bb2..fd9f3a8 100644 (file)
@@ -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
index 0eacf41..bea63e1 100644 (file)
@@ -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
index 6724f3b..9ba3e8e 100644 (file)
@@ -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
index a79b9ad..4d3c9d4 100644 (file)
@@ -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:
index 4cbe30e..acf7ad7 100644 (file)
@@ -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
index 52ffc12..e7bf485 100644 (file)
@@ -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
index 2d840b1..b14917e 100644 (file)
@@ -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:
index 8018e59..0165b3c 100644 (file)
@@ -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
index 29e5920..9a1ab3d 100644 (file)
@@ -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}:
index 48e5774..aeed5df 100644 (file)
@@ -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:
index a151068..4e3abe6 100644 (file)
@@ -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
index 0a307b9..97d9705 100644 (file)
@@ -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
index 0b8b95a..0d3648a 100644 (file)
@@ -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
index c501499..ea85a74 100644 (file)
@@ -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
index 3807c47..5728b4c 100644 (file)
@@ -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
index e274c36..33c4232 100644 (file)
@@ -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
index e3956e3..bd81999 100644 (file)
@@ -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
index c6ceddd..d476b8a 100644 (file)
@@ -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
index bae470b..362d97a 100644 (file)
@@ -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
index 511feef..e312063 100644 (file)
@@ -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
index 7846c51..3d0bb4c 100644 (file)
@@ -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
index 55f6aa4..9ce8b5d 100644 (file)
@@ -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
index 59064d3..aacaa13 100644 (file)
@@ -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
index 1868b3b..06e6ddd 100644 (file)
@@ -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
index 32a5b94..2db4bcc 100644 (file)
@@ -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},
index fec1140..766ab79 100644 (file)
@@ -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
index 621f407..277885e 100644 (file)
@@ -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:
index 1b5ba7c..8a9e5f2 100644 (file)
@@ -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
index a7e79d4..a3c4061 100644 (file)
@@ -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:
index 57155c2..1d64249 100644 (file)
@@ -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
index ca4cbb3..e683f22 100644 (file)
@@ -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:
index 0cbd329..e6b6427 100644 (file)
@@ -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
index 49b0afe..d14c3e1 100644 (file)
@@ -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
index 149a6c7..d58a7e7 100644 (file)
@@ -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:
index 14e203b..329157a 100644 (file)
@@ -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
index c1109f6..83247da 100644 (file)
@@ -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:
index 1c47ec2..fef2e51 100644 (file)
@@ -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:
index 23cedd7..4ca4320 100644 (file)
@@ -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:
index 65fe5c7..0f975d7 100644 (file)
@@ -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{<stdio.h>} is not enabled by default
 on some platforms:
index 967de79..31b4365 100644 (file)
@@ -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.
index aaf8492..fcb2b30 100644 (file)
@@ -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
index a17c816..e297672 100644 (file)
@@ -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
index 4ddf836..b51a3c5 100644 (file)
@@ -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:
index 77ee884..01d9507 100644 (file)
@@ -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}
index 534fbe0..de43fea 100644 (file)
@@ -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{<stdio.h>} 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
index 569c390..05f3972 100644 (file)
@@ -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
index 60d3188..16713e7 100644 (file)
@@ -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
index c988953..906d4c5 100644 (file)
@@ -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
index dcf4e43..48c7524 100644 (file)
@@ -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.
index 210a579..07ff668 100644 (file)
@@ -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
index 233db3b..722a114 100644 (file)
@@ -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.
index eaaf393..d4386d7 100644 (file)
@@ -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.
index c03a70c..73b5427 100644 (file)
@@ -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
index d94a6ed..713d6dd 100644 (file)
@@ -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{<ws2tcpip.h>} 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:
index a95ca7f..aba1b74 100644 (file)
@@ -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{<ws2tcpip.h>} rather than in
 @code{<netdb.h>}.
index fea0511..514b0f7 100644 (file)
@@ -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:
index b0fee00..9c2dd47 100644 (file)
@@ -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
index 3b11d99..3acea34 100644 (file)
@@ -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:
index 0e1cb63..36e75b4 100644 (file)
@@ -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
index 8b471be..5dfba59 100644 (file)
@@ -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{<io.h>} or
+@code{<direct.h>}) 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{<unistd.h>}:
-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
index 46f1b35..0213822 100644 (file)
@@ -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
index 1dfbb42..83d528f 100644 (file)
@@ -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
index 12400e0..68522da 100644 (file)
@@ -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.
index 601a67f..add68e2 100644 (file)
@@ -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
index 69bf969..e290e86 100644 (file)
@@ -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
index c5bdf1c..03aa381 100644 (file)
@@ -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
index 40d9d97..aa1819d 100644 (file)
@@ -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
index 98b5002..c27132e 100644 (file)
@@ -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
index 11c75f6..3b71f11 100644 (file)
@@ -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
index 5990871..f412016 100644 (file)
@@ -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
index 66cc3fa..435f02f 100644 (file)
@@ -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
index f9615ad..9119ea9 100644 (file)
@@ -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:
index c93ea70..103c0b1 100644 (file)
@@ -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
index 12a546e..caf9221 100644 (file)
@@ -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
index 1c56df6..04b821a 100644 (file)
@@ -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
 
index e35ffbb..601618d 100644 (file)
@@ -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
index ca2969a..d444c48 100644 (file)
@@ -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.
index 1f99b63..2569eb1 100644 (file)
@@ -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:
index 95a4bd4..31987b5 100644 (file)
@@ -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:
index 7b329a4..fe3b98e 100644 (file)
@@ -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
index cbb9189..c2c0cba 100644 (file)
@@ -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:
index 5ea0053..eb44b68 100644 (file)
@@ -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
index 88870de..c27279e 100644 (file)
@@ -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
index 068d851..101c05e 100644 (file)
@@ -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
index 099c2e3..5f4d321 100644 (file)
@@ -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:
index f28f415..64e8a3c 100644 (file)
@@ -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
index 8de8845..1fdd94d 100644 (file)
@@ -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
index 1b87eb0..d385e62 100644 (file)
@@ -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
index afc0176..28b4746 100644 (file)
@@ -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
index 6c8fa2a..e865c74 100644 (file)
@@ -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
index 9c915d5..4975f45 100644 (file)
@@ -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
index 2848f0f..fc7b6e1 100644 (file)
@@ -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
index 2e777a3..9277017 100644 (file)
@@ -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
index dc2ab34..6fd506e 100644 (file)
@@ -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
index ff450ac..678c5ce 100644 (file)
@@ -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
index 515199e..0c57fad 100644 (file)
@@ -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
index 39437fc..cfc765c 100644 (file)
@@ -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
index 95ffb9d..ea09f70 100644 (file)
@@ -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
index 61377a1..06e8b9b 100644 (file)
@@ -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
index c359b83..35f711c 100644 (file)
@@ -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.
index 1a3b277..cf2716a 100644 (file)
@@ -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:
index 50e3344..b2c7baa 100644 (file)
@@ -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
index 6edf1cf..1387584 100644 (file)
@@ -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
index 5d043a2..2c60e8c 100644 (file)
@@ -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
index 4655061..73aaf37 100644 (file)
@@ -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
index 1ac39f8..12d91d2 100644 (file)
@@ -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:
index faf8052..c6ecaa9 100644 (file)
@@ -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.
index e80860c..e3b15cd 100644 (file)
@@ -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
index 922b0e2..41d49ca 100644 (file)
@@ -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
index 43fb191..d848e3b 100644 (file)
@@ -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
index 7213390..46dd6f8 100644 (file)
@@ -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
index 6482729..0b98883 100644 (file)
@@ -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.
index ccab275..80d18b5 100644 (file)
@@ -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:
index 7d1bb30..19460ce 100644 (file)
@@ -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:
index ad35e46..eaba7f0 100644 (file)
@@ -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
index 916222a..b0b4dfb 100644 (file)
@@ -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
index 59912cc..b6930ed 100644 (file)
@@ -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
index 6349a72..51655a2 100644 (file)
@@ -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
index 0cbe20d..f8c651e 100644 (file)
@@ -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
index d71b3ad..01a610f 100644 (file)
@@ -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
index d2e3a4b..c964e45 100644 (file)
@@ -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
index 7de5b82..d6bb099 100644 (file)
@@ -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
index a5151ea..836b2e8 100644 (file)
@@ -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.
index 23c2b82..93e6480 100644 (file)
@@ -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
index 462eb7d..38dfb39 100644 (file)
@@ -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,
index 7e02dab..e0d36ec 100644 (file)
@@ -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
index a8b8fd5..2329d0c 100644 (file)
@@ -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
index a8ab99d..f840a67 100644 (file)
@@ -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
index 048ef8e..70f3acd 100644 (file)
@@ -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
index e31ff1b..1005db6 100644 (file)
@@ -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
index b68c002..f496aaa 100644 (file)
@@ -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
index 80badcb..4205ac3 100644 (file)
@@ -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
index 1e56de5..b422a47 100644 (file)
@@ -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:
index 32b89b7..e77312e 100644 (file)
@@ -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:
index a89a610..b093b7d 100644 (file)
@@ -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}.
index 4e728be..e5026e8 100644 (file)
@@ -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
index 7ff4965..8a32ea5 100644 (file)
@@ -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{<netdb.h>} instead of @code{<arpa/inet.h>}
 on some platforms:
 NonStop Kernel.
+@item
+This function is declared in @code{<ws2tcpip.h>}, with a POSIX incompatible
+declaration, on some platforms:
+MSVC 9 on Windows >= Vista.
 @end itemize
 
 Portability problems not fixed by Gnulib:
index 66b340e..67f7c3d 100644 (file)
@@ -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{<netdb.h>} instead of @code{<arpa/inet.h>}
 on some platforms:
 NonStop Kernel.
+@item
+This function is declared in @code{<ws2tcpip.h>}, with a POSIX incompatible
+declaration, on some platforms:
+MSVC 9 on Windows >= Vista.
 @end itemize
 
 Portability problems not fixed by Gnulib:
index f4c6f42..a405d79 100644 (file)
@@ -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
index ea8531a..dc6c179 100644 (file)
@@ -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
index 3f09878..b76ae38 100644 (file)
@@ -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
index 644108d..5e96be1 100644 (file)
@@ -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
index bccedfb..28f1bf6 100644 (file)
@@ -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
index 639fb18..7323400 100644 (file)
@@ -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:
index 11cb7fd..0c66abb 100644 (file)
@@ -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
index 5c9ffa5..1e2d55e 100644 (file)
@@ -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
index 19be4ab..fc6681d 100644 (file)
@@ -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
index b1e4d56..b615895 100644 (file)
@@ -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
index a1f7a34..eea723b 100644 (file)
@@ -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:
index 976c819..2902aef 100644 (file)
@@ -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
index 2023995..7d23a3a 100644 (file)
@@ -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
index 8d16bb7..501015c 100644 (file)
@@ -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
index d81a04b..4d9db1f 100644 (file)
@@ -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
index 7dcb642..8fbd0fa 100644 (file)
@@ -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
index 49fc87e..723c1e1 100644 (file)
@@ -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
index 654b57a..301c13e 100644 (file)
@@ -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.
index 32523a1..8e53940 100644 (file)
@@ -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.
index 08b462e..c5ac2c3 100644 (file)
@@ -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.
index 33478f9..c9067db 100644 (file)
@@ -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.
index d9c8a9b..f7c4496 100644 (file)
@@ -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.
index 5379329..2b70130 100644 (file)
@@ -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.
index 30b845e..5adbe95 100644 (file)
@@ -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.
index a649c15..fd02f18 100644 (file)
@@ -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.
index de3bfe5..33a2a0a 100644 (file)
@@ -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.
index 0d885b0..26b09dc 100644 (file)
@@ -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.
index 138ae82..8e3ece2 100644 (file)
@@ -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.
index fd1dc6f..cd7bb13 100644 (file)
@@ -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.
index c2179b2..2cafde9 100644 (file)
@@ -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.
index 8d588eb..5569b85 100644 (file)
@@ -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.
index f3bc8c0..1d90143 100644 (file)
@@ -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
index 1146ae2..809b047 100644 (file)
@@ -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
index 3a18362..a463e1a 100644 (file)
@@ -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
index 192c87f..67ccd32 100644 (file)
@@ -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
index 8511f1d..94e1599 100644 (file)
@@ -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
index 0304c6c..9493895 100644 (file)
@@ -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:
index 9df81c1..67528b6 100644 (file)
@@ -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
index 772ec61..252b279 100644 (file)
@@ -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
index c2628cb..ed2416c 100644 (file)
@@ -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{<math.h>} on some platforms:
 MacOS X.
 @item
index 7cfc222..7843b8a 100644 (file)
@@ -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
index 5f428a9..60b93a0 100644 (file)
@@ -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
index 9ff9853..594eae4 100644 (file)
@@ -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
index d4f2a7e..e65e84f 100644 (file)
@@ -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:
index 5547448..61a2a84 100644 (file)
@@ -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
index 47ed791..8e6aa15 100644 (file)
@@ -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
index fb4707c..8d5ce09 100644 (file)
@@ -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
index 76b5c8a..ba7ddac 100644 (file)
@@ -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
index e7d03e4..89386e9 100644 (file)
@@ -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
index c715925..0c54fca 100644 (file)
@@ -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
index a6aa9c3..e5ff003 100644 (file)
@@ -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
index 2b718f0..85148a3 100644 (file)
@@ -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
index 5faab39..a36f2cb 100644 (file)
@@ -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
index c842c6d..d6991bf 100644 (file)
@@ -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
index 9c8bb10..909a41d 100644 (file)
@@ -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:
index 7de474f..ee2af6d 100644 (file)
@@ -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.
index 9dbda1c..f63509b 100644 (file)
@@ -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
index 4dbd8a8..d8f83fc 100644 (file)
@@ -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
index 749de42..d5c8486 100644 (file)
@@ -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
index ac4296a..c1c7f67 100644 (file)
@@ -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
index f570d29..6f1df25 100644 (file)
@@ -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.
index 852fb7f..6a91be4 100644 (file)
@@ -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:
index 13ba227..2db3cbb 100644 (file)
@@ -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
index e9a2318..3ea333a 100644 (file)
@@ -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
index 25306a1..ec94362 100644 (file)
@@ -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
index 6670712..8ad3e96 100644 (file)
@@ -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
index 8e0ea5f..a4de780 100644 (file)
@@ -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
index 73cf090..93fc861 100644 (file)
@@ -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:
index 48c5418..f3436fe 100644 (file)
@@ -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
index 0991bcc..7105dc1 100644 (file)
@@ -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
index 7a10bc5..9c2a64d 100644 (file)
@@ -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
index 7a3dbc0..70f519e 100644 (file)
@@ -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
index 4f514d8..b1f20f0 100644 (file)
@@ -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
index d2a0e8c..10bb391 100644 (file)
@@ -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
index ecb7c56..78799bd 100644 (file)
@@ -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
index f709515..1c87759 100644 (file)
@@ -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:
index ade4210..36edb52 100644 (file)
@@ -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:
index 384fd62..19b91f0 100644 (file)
@@ -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.
index 2971d7c..a9bc8be 100644 (file)
@@ -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.
index 48fb1c1..60b2842 100644 (file)
@@ -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:
index 56f66e3..6fdc35a 100644 (file)
@@ -9,11 +9,15 @@ Gnulib module: mkdir
 Portability problems fixed by Gnulib:
 @itemize
 @item
+This function is declared in different header files (namely, @code{<io.h>} or
+@code{<direct.h>}) 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
index 914cf8e..9609f2c 100644 (file)
@@ -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
 
index 01dd534..d05a683 100644 (file)
@@ -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:
index cb75766..53a17bc 100644 (file)
@@ -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:
index 8251a07..aa97407 100644 (file)
@@ -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
index 650a984..e7dd13c 100644 (file)
@@ -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:
index b392786..ccf2e2c 100644 (file)
@@ -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
index e461b27..49f6849 100644 (file)
@@ -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{<unistd.h>} instead of @code{<stdlib.h>}
 on some platforms:
index 669d730..bd08bdf 100644 (file)
@@ -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
index 84f70ff..becdfa5 100644 (file)
@@ -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
index 8e3e5f3..19a39a6 100644 (file)
@@ -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.
index 2812021..d462a04 100644 (file)
@@ -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
index dc57a83..7693503 100644 (file)
@@ -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
index 3dc5ae3..8013138 100644 (file)
@@ -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.
index a59a96c..ca32355 100644 (file)
@@ -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
index 30af10d..8a1ec9c 100644 (file)
@@ -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
index 9e076e5..a34e117 100644 (file)
@@ -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
index 506f8c1..fb75d26 100644 (file)
@@ -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
index ff27d2e..118ca22 100644 (file)
@@ -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
index 620b42b..21ce946 100644 (file)
@@ -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
index 15406cf..c7ceea9 100644 (file)
@@ -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
index 3af080c..b7057b5 100644 (file)
@@ -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
index 6d338ab..4dced62 100644 (file)
@@ -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
index 15115c6..4431bbc 100644 (file)
@@ -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
index 9178e47..aa55b18 100644 (file)
@@ -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
index 4acebf1..9bd18a6 100644 (file)
@@ -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
index e4b068b..1688e78 100644 (file)
@@ -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
index 6f1a529..bf8c8c2 100644 (file)
@@ -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
index 96c7a81..c0050cc 100644 (file)
@@ -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
index 308c77b..8475c0a 100644 (file)
@@ -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
index 2b184d6..ebb5dba 100644 (file)
@@ -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
index 3b18771..2392d48 100644 (file)
@@ -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
index cf83809..a8a0b7a 100644 (file)
@@ -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
index ff425c9..ea165f2 100644 (file)
@@ -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
index d7c208a..ddbdfdf 100644 (file)
@@ -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
index d84c9dd..dc92662 100644 (file)
@@ -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
index 0cb7895..7f49729 100644 (file)
@@ -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:
index 7db67f8..d4623c0 100644 (file)
@@ -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
index 8f0ab19..3c7a576 100644 (file)
@@ -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
index 90a4c8f..40a36c7 100644 (file)
@@ -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
index dca524b..f1efa71 100644 (file)
@@ -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
index 33e7c28..0f9813f 100644 (file)
@@ -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
index 87f16f0..ffd649f 100644 (file)
@@ -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
index bacfb69..55ee609 100644 (file)
@@ -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
index 76f79ea..6ae3e96 100644 (file)
@@ -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
index 29ce04d..e8349e0 100644 (file)
@@ -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
index 330b5aa..9aee8e1 100644 (file)
@@ -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
index 47a4da9..61973a9 100644 (file)
@@ -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.
index cbc33a7..083238c 100644 (file)
@@ -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
index 8348782..7cca809 100644 (file)
@@ -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.
index d89c0a8..3b15c50 100644 (file)
@@ -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
index 61b7982..3cc4647 100644 (file)
@@ -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
index ca9f46a..8412934 100644 (file)
@@ -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
index cb713ec..325adf6 100644 (file)
@@ -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
index de10f9f..cf6deff 100644 (file)
@@ -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.
index b8dbf63..d70243a 100644 (file)
@@ -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
index 526eeb5..de17472 100644 (file)
@@ -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.
index 8511615..3fdc035 100644 (file)
@@ -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
index e004987..bb9affa 100644 (file)
@@ -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
index 65ae193..6adbc84 100644 (file)
@@ -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
index 71bd4cb..a8f3b31 100644 (file)
@@ -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
index 765a450..a56eadc 100644 (file)
@@ -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
index a21fcdf..f75e536 100644 (file)
@@ -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
index 285b981..04f4384 100644 (file)
@@ -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
index dea1ec5..d207175 100644 (file)
@@ -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
index 21ac823..27d6f72 100644 (file)
@@ -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
index 06e48b8..d792b02 100644 (file)
@@ -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:
index 0459abd..9fa0798 100644 (file)
@@ -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:
index 0f2c0de..e3869c3 100644 (file)
@@ -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:
index 852663b..2b7f959 100644 (file)
@@ -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:
index 5972318..e9fac3b 100644 (file)
@@ -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.
index 7aaab3f..1bacfc7 100644 (file)
@@ -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.
index f562efb..1cf6cc5 100644 (file)
@@ -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.
index 47693dd..b6d5ec2 100644 (file)
@@ -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
index c349062..67d3b2d 100644 (file)
@@ -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
index f27638d..82455aa 100644 (file)
@@ -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.
index 81d5b38..0c0cb21 100644 (file)
@@ -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.
index 5adb35b..0a4bc10 100644 (file)
@@ -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:
index 64994c8..3f17fa9 100644 (file)
@@ -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:
index b8b0d7b..c061eb2 100644 (file)
@@ -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:
index ecffb41..c69944a 100644 (file)
@@ -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:
index 6fad1a0..4d8a01d 100644 (file)
@@ -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:
index 2def128..282d4e4 100644 (file)
@@ -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:
index 92f65ed..84e592e 100644 (file)
@@ -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:
index efa76b0..428afac 100644 (file)
@@ -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:
index 6a14fd3..5fcb058 100644 (file)
@@ -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:
index 7f1c7d4..5cbec25 100644 (file)
@@ -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:
index d003ef2..ebd6afd 100644 (file)
@@ -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:
index dbf49d8..c0e35e3 100644 (file)
@@ -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:
index 10c9d5a..629c1c9 100644 (file)
@@ -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:
index 05ec51e..181c479 100644 (file)
@@ -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:
index f3e4cd4..4e8be5e 100644 (file)
@@ -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:
index 0a4398e..b034cbf 100644 (file)
@@ -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:
index 286009d..da63f62 100644 (file)
@@ -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:
index 7fc6cb6..5cecfcc 100644 (file)
@@ -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:
index b55fe23..9c301b5 100644 (file)
@@ -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:
index ec861cb..545299e 100644 (file)
@@ -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:
index 1c314ef..40f973a 100644 (file)
@@ -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:
index 778921b..6b616fc 100644 (file)
@@ -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
index 5338d9e..c1c0684 100644 (file)
@@ -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
index 571951c..a5fc47a 100644 (file)
@@ -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
index 5fe4fb5..cd41412 100644 (file)
@@ -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
index a08aa7c..be725d2 100644 (file)
@@ -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
index 7bca6ad..ab20c80 100644 (file)
@@ -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
index a550cb8..7e963c3 100644 (file)
@@ -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
index d040b36..8fe8b4e 100644 (file)
@@ -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
index 5bfc92f..632912c 100644 (file)
@@ -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
index ffac0ff..0d4a02c 100644 (file)
@@ -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
index 162d0dd..ce9aa01 100644 (file)
@@ -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
index 8d9722b..1d48a4d 100644 (file)
@@ -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
index 2d1950c..64404b5 100644 (file)
@@ -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
index d805cc4..054c6ac 100644 (file)
@@ -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
index 272ef8a..c771f05 100644 (file)
@@ -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
index b412c65..7a3b8c9 100644 (file)
@@ -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
index 58b530c..58ed290 100644 (file)
@@ -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
index ee43a14..0457dc8 100644 (file)
@@ -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
index 4cf1e89..0b63294 100644 (file)
@@ -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
index 3463da4..fbf7b42 100644 (file)
@@ -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
index fc2a70a..fad90df 100644 (file)
@@ -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
index f798f30..abc1b62 100644 (file)
@@ -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
index d6bd86b..752d39d 100644 (file)
@@ -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
index 6d65744..e13d6bc 100644 (file)
@@ -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
index f4b7fe5..31c1108 100644 (file)
@@ -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
index f08aab5..5c7f783 100644 (file)
@@ -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
index 9579fbf..70b9c14 100644 (file)
@@ -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
index 8b5a7fa..3e93b84 100644 (file)
@@ -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
index ac6de38..1c9a40c 100644 (file)
@@ -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
index 089109e..b25a310 100644 (file)
@@ -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
index 9771603..11d98f3 100644 (file)
@@ -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
index 949a4c4..2465fc0 100644 (file)
@@ -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
index 46dcbe2..fb5b32c 100644 (file)
@@ -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
index 921902a..6dd80cd 100644 (file)
@@ -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
index 4eb428a..001965b 100644 (file)
@@ -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
index 841a1da..0ea6e36 100644 (file)
@@ -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
index 04a4dcf..0504b0f 100644 (file)
@@ -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
index 0a3e017..05f91e6 100644 (file)
@@ -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
index 06fcff5..3ae05be 100644 (file)
@@ -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
index 3bd0264..cd0c978 100644 (file)
@@ -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
index 597efd7..3ca959d 100644 (file)
@@ -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
index 49ea7ba..110825c 100644 (file)
@@ -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
index 5d21a37..7735381 100644 (file)
@@ -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
index 49fbd04..d3b254f 100644 (file)
@@ -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
index 1079dd3..1c5169d 100644 (file)
@@ -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
index 51fd556..fda9a0b 100644 (file)
@@ -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
index a180084..47a6baf 100644 (file)
@@ -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
index cf29e3d..9487e11 100644 (file)
@@ -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
index 8f2f4f6..c6d128a 100644 (file)
@@ -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
index 2a8ae78..9aa1aca 100644 (file)
@@ -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
index 0bb8d7e..ee58ca7 100644 (file)
@@ -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
index 92aa78a..a3b6ac0 100644 (file)
@@ -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
index e736b39..a3a6b51 100644 (file)
@@ -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
index 455a91f..9b48be2 100644 (file)
@@ -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
index 55dd72d..6aaa08b 100644 (file)
@@ -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}.)
index 2076676..81a3322 100644 (file)
@@ -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:
index e0adac2..4c6f093 100644 (file)
@@ -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:
index 219e9e3..9cb726d 100644 (file)
@@ -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
index bbf3908..7817d1e 100644 (file)
@@ -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
index f0c174c..907e7bd 100644 (file)
@@ -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
index 2591914..1909687 100644 (file)
@@ -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
index f5d1f3a..29a350b 100644 (file)
@@ -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
index 5b642d8..287c3cb 100644 (file)
@@ -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
index eb68f5b..6c5d80d 100644 (file)
@@ -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
index 1914c69..7daf84b 100644 (file)
@@ -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
index ddce4f6..2a380cd 100644 (file)
@@ -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
index 92882bf..6137a65 100644 (file)
@@ -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
index e69428e..85ca00a 100644 (file)
@@ -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
index f814b5c..fdce8db 100644 (file)
@@ -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
index e78bf94..1280e63 100644 (file)
@@ -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
index 1e2651b..1234be5 100644 (file)
@@ -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
index 6f28d82..d2959a6 100644 (file)
@@ -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
index c36262c..2ea1d54 100644 (file)
@@ -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
index ea4b31d..a3683ec 100644 (file)
@@ -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
index a3855e4..f2f927c 100644 (file)
@@ -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
index 8ce3960..0fd2aa4 100644 (file)
@@ -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
index b8c76a2..f89fca9 100644 (file)
@@ -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
index 0c317b9..cc6c946 100644 (file)
@@ -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
index e1872e4..c229e0c 100644 (file)
@@ -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
index 5a2aec3..bbcd1f4 100644 (file)
@@ -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
index 60a110a..7b1cd8c 100644 (file)
@@ -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
index 5160f7c..4a939c2 100644 (file)
@@ -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
index 3d4d1ea..2c26366 100644 (file)
@@ -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
index c2e2f42..ef5654b 100644 (file)
@@ -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
index ef9d7a0..97242b5 100644 (file)
@@ -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
index 7627edd..65a6a01 100644 (file)
@@ -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
index 58390ef..9975a1f 100644 (file)
@@ -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
index d31b9ef..80b5259 100644 (file)
@@ -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
index 0cefdcd..581fd2d 100644 (file)
@@ -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
index 9780df0..d937a81 100644 (file)
@@ -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
index abc2897..bd157a2 100644 (file)
@@ -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
index b494abb..d00b484 100644 (file)
@@ -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
index 0e110b6..4ce8747 100644 (file)
@@ -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
index 0f179e2..982cdaf 100644 (file)
@@ -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
index 56ff829..a0147e0 100644 (file)
@@ -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
index 9c167c2..41e6633 100644 (file)
@@ -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
index 7c682cc..8d53761 100644 (file)
@@ -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
index e5b3727..61c1ded 100644 (file)
@@ -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
index 428969e..7b23a74 100644 (file)
@@ -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
index ca80084..69b0cdb 100644 (file)
@@ -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
index 55e4ee0..e510316 100644 (file)
@@ -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
index 9d5b88c..4f5192c 100644 (file)
@@ -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
index a910b96..541cc4f 100644 (file)
@@ -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
index ced7333..e25d9c4 100644 (file)
@@ -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
index 8c883f8..ad693a1 100644 (file)
@@ -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
index d2c2ffc..e217575 100644 (file)
@@ -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
index 5c7f62d..e63b476 100644 (file)
@@ -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
index 68a7d14..3e153d9 100644 (file)
@@ -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
index 1b5435a..ccb1a41 100644 (file)
@@ -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
index 1632bc9..6e13bcf 100644 (file)
@@ -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
index 237bbad..8b6d47b 100644 (file)
@@ -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
index 476db66..6f0b1fe 100644 (file)
@@ -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
index 9a049f6..7298af3 100644 (file)
@@ -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
index 6fdeac5..0b93697 100644 (file)
@@ -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
index 805af34..24f5e9d 100644 (file)
@@ -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
index 76ca9f8..5f4c576 100644 (file)
@@ -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
index 2df1f0a..c39bb9f 100644 (file)
@@ -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
index dcb09fc..046625d 100644 (file)
@@ -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
index 230e41a..af8d851 100644 (file)
@@ -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
index 1bff4d6..b96a868 100644 (file)
@@ -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
index f47e0be..bd4da02 100644 (file)
@@ -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
index 0a0e49a..7c0adab 100644 (file)
@@ -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
index d5b18dc..6bd054f 100644 (file)
@@ -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
index 69b2338..b18a3a6 100644 (file)
@@ -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
index 6b6ff0f..c094a71 100644 (file)
@@ -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
index d1ce8bc..d95bf5a 100644 (file)
@@ -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
index 408bc74..1214152 100644 (file)
@@ -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
index 57a7ade..13350c5 100644 (file)
@@ -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
index e0cf274..e7ca4df 100644 (file)
@@ -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
index 6d04508..1f2e89b 100644 (file)
@@ -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
index 77d73a2..c3a39ca 100644 (file)
@@ -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
index 5a98934..54de419 100644 (file)
@@ -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
index 7abf255..b90fcff 100644 (file)
@@ -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
index 33a95b3..0b66395 100644 (file)
@@ -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
index 431dd5c..052cdac 100644 (file)
@@ -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
index 84085ca..225ed13 100644 (file)
@@ -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
index 2246d79..1bd3c22 100644 (file)
@@ -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
index d544b0e..f600891 100644 (file)
@@ -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
index 5c16cbf..1f51e1c 100644 (file)
@@ -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
index c41321b..fbf8d5a 100644 (file)
@@ -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
index f354b6a..554a2ea 100644 (file)
@@ -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
index 7e5bb97..e206a21 100644 (file)
@@ -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
index 310ccdf..212a0cf 100644 (file)
@@ -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
index 73ac640..28b7185 100644 (file)
@@ -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
index 7c63162..399e4fa 100644 (file)
@@ -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
index 4d176bc..92de2d8 100644 (file)
@@ -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
index 305995a..7003eca 100644 (file)
@@ -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
index b9da57b..758cd98 100644 (file)
@@ -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
index ab37d3c..40d7303 100644 (file)
@@ -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
index 4db81d3..9a0bc69 100644 (file)
@@ -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
index a2cc421..fb8ba47 100644 (file)
@@ -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
index 1012892..816227f 100644 (file)
@@ -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
index 7af2714..da5ebff 100644 (file)
@@ -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
index 0a6acb3..63cf28e 100644 (file)
@@ -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
index b78e07c..5de5cc4 100644 (file)
@@ -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{<pthread.h>} instead of @code{<signal.h>}
 on some platforms:
index 069ef76..f0d8a89 100644 (file)
@@ -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
index e2a911b..b16827c 100644 (file)
@@ -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
index 8c041c8..5c6566b 100644 (file)
@@ -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
index caa8277..397bbff 100644 (file)
@@ -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
index c8ae542..a341bb5 100644 (file)
@@ -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
index d8adfc3..4c98135 100644 (file)
@@ -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
index 079379b..2584af8 100644 (file)
@@ -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.
index c6a815e..5562f35 100644 (file)
@@ -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:
index 3b10d6e..663bfdf 100644 (file)
@@ -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:
index 2ded45a..d3a214e 100644 (file)
@@ -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:
index 3fed546..f0fe807 100644 (file)
@@ -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:
index 29ac58c..6473ec1 100644 (file)
@@ -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
index 8c195f2..cbf722d 100644 (file)
@@ -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
index 31e3f0e..c4a85f7 100644 (file)
@@ -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:
index cbf4ff7..da8af57 100644 (file)
@@ -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
index c214a54..a41bd0b 100644 (file)
@@ -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}.)
index 41b5e8c..3b6cad1 100644 (file)
@@ -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:
index 1b720c8..5f4063f 100644 (file)
@@ -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
index c31e13e..cea4e04 100644 (file)
@@ -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
index 2b5aeb2..ab625f5 100644 (file)
@@ -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:
index 8bed94f..a17f30c 100644 (file)
@@ -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
index 1e5640e..4c0d5e6 100644 (file)
@@ -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
index 2e01f8e..2348a84 100644 (file)
@@ -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:
index 2d230e9..69d3d88 100644 (file)
@@ -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
index f737df4..641930c 100644 (file)
@@ -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
index 12a9dc7..4946092 100644 (file)
@@ -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:
index fd3f160..38cc8ca 100644 (file)
@@ -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:
index 9d4a951..35ee410 100644 (file)
@@ -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
index a0e6835..9e02d86 100644 (file)
@@ -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
index 4d31b9c..26ad6e2 100644 (file)
@@ -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:
index 835974c..c934623 100644 (file)
@@ -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
index 2f932be..903ad81 100644 (file)
@@ -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:
index 19b5a10..59ff2e4 100644 (file)
@@ -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
index 574abd6..6bf6481 100644 (file)
@@ -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
index 08ca74b..8cfd104 100644 (file)
@@ -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
index b61f0ce..0a0a88a 100644 (file)
@@ -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:
index d775b94..f1c43b5 100644 (file)
@@ -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
index 504e320..f99c8d5 100644 (file)
@@ -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
index 0899ccc..6061ba7 100644 (file)
@@ -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
index 0abc8ac..50955c0 100644 (file)
@@ -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
index 300970c..e412e90 100644 (file)
@@ -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
index e95f9fe..1a67c3b 100644 (file)
@@ -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
index 4492d4f..6d7cb82 100644 (file)
@@ -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
index 65fbcbd..996895c 100644 (file)
@@ -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:
index 9688a38..a67497a 100644 (file)
@@ -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
index 0cb30f0..17736d7 100644 (file)
@@ -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
index bc4adf9..4676d18 100644 (file)
@@ -9,13 +9,17 @@ Gnulib module: rmdir
 Portability problems fixed by Gnulib:
 @itemize
 @item
+This function is declared in different header files (namely, @code{<io.h>} or
+@code{<direct.h>}) 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:
index 6079238..ca95e18 100644 (file)
@@ -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.
index 154008f..31d9872 100644 (file)
@@ -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.
index 765d3e2..9ce84d0 100644 (file)
@@ -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.
index fd93dee..be759d7 100644 (file)
@@ -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
index 6943522..67be08d 100644 (file)
@@ -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
index 75e8202..1f883b1 100644 (file)
@@ -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
index 012123c..eb7327e 100644 (file)
@@ -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
index 8a423b2..1ddb012 100644 (file)
@@ -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
index 39b6257..3896f98 100644 (file)
@@ -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
index 7252d09..672c6c7 100644 (file)
@@ -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
index f29378c..0c4e264 100644 (file)
@@ -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:
index f9131b3..14c7fd1 100644 (file)
@@ -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
index 113bf98..11d2cb1 100644 (file)
@@ -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
index c50a17d..df75d6f 100644 (file)
@@ -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
index 0d6bac2..9b083e1 100644 (file)
@@ -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
index bba33df..9394f5d 100644 (file)
@@ -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
index d0cd1a4..de93384 100644 (file)
@@ -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
index ee8cb3c..2804de3 100644 (file)
@@ -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
index 162fb16..b32ceac 100644 (file)
@@ -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
index 4ff1765..14586a7 100644 (file)
@@ -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
index d1e8eeb..cf64a25 100644 (file)
@@ -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
index e9a916f..e59b3cf 100644 (file)
@@ -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{<unistd.h>}, not @code{<sys/select.h>},
+on some platforms:
+IRIX 5.3.
 @end itemize
index 1190306..474963f 100644 (file)
@@ -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
index cd7bbce..31f2b75 100644 (file)
@@ -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
index cbf4d11..b2baa9e 100644 (file)
@@ -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
index 1cac29f..c52da75 100644 (file)
@@ -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
index 61fa616..1705308 100644 (file)
@@ -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
index b0bcae6..d24b7e6 100644 (file)
@@ -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
index fdd2227..539560d 100644 (file)
@@ -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
index eff9bd9..f295ce9 100644 (file)
@@ -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
index 4250809..5d2b44f 100644 (file)
@@ -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
index cb81a21..f37c897 100644 (file)
@@ -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
index babca93..5923738 100644 (file)
@@ -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
index f92c3a5..9425cf7 100644 (file)
@@ -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
index 852c6f2..a9b9554 100644 (file)
@@ -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
index bacfe34..890823c 100644 (file)
@@ -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
index 7c88d90..7847d62 100644 (file)
@@ -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
index b5c397f..6549d7f 100644 (file)
@@ -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.
index 811b326..4f30f37 100644 (file)
@@ -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
index dd4921a..edc6e6c 100644 (file)
@@ -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
index 6e2d0ed..9495c46 100644 (file)
@@ -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
index 82679f0..b53fcbc 100644 (file)
@@ -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
index 03e9655..8d8c38a 100644 (file)
@@ -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
index d624fe8..6510908 100644 (file)
@@ -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{<stdlib.h>}
+(without @code{-D_GNU_SOURCE}) on some platforms:
+glibc (at least 2.11–2.13).
 @end itemize
index 0dd07f5..5344ac5 100644 (file)
@@ -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
index 3bf49b2..4929a6f 100644 (file)
@@ -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
index 9e31136..2934c35 100644 (file)
@@ -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
index e15cd82..6fe5c87 100644 (file)
@@ -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
index df01b31..16e3ae8 100644 (file)
@@ -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
index b3e61f6..55e9153 100644 (file)
@@ -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
index ab1a2ae..5b57578 100644 (file)
@@ -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
index 75919ae..38af819 100644 (file)
@@ -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
index 097b709..f8cb2fd 100644 (file)
@@ -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
index e347497..ec41984 100644 (file)
@@ -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
index 3396426..ff6e5cf 100644 (file)
@@ -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
index 813b7c4..6725f91 100644 (file)
@@ -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
index 3ca603b..e6dec82 100644 (file)
@@ -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
index 22aff58..556d5b6 100644 (file)
@@ -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
index eb753d6..b741edb 100644 (file)
@@ -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
index 1d011c5..932e6cc 100644 (file)
@@ -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
index 67ef081..439c722 100644 (file)
@@ -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
index 12a3db9..6ccc3bb 100644 (file)
@@ -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
index 6727de6..2a08f1f 100644 (file)
@@ -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
index 9574401..04d91d5 100644 (file)
@@ -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
index e0c14de..0f4f16c 100644 (file)
@@ -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.
index 6a059a6..b4db403 100644 (file)
@@ -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
index 163f946..5b1a7aa 100644 (file)
@@ -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:
index 0c0fd51..3b9ac06 100644 (file)
@@ -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.
index fdd1814..b6938a5 100644 (file)
@@ -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:
index 39b587e..17a2d8e 100644 (file)
@@ -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:
index d9e2f3a..e1fa6b8 100644 (file)
@@ -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:
index 1a8254c..a608e73 100644 (file)
@@ -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
index 2b67332..b19fca5 100644 (file)
@@ -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
index 2c3b039..7b867ba 100644 (file)
@@ -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
index f1b1207..2f995fc 100644 (file)
@@ -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:
index d80dec0..72de6c2 100644 (file)
@@ -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:
index 3a32cc9..e6de69a 100644 (file)
@@ -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
index bd24ae8..ac8d4cc 100644 (file)
@@ -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:
index c142ed9..a46aac8 100644 (file)
@@ -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
index 89c0285..2f1e13c 100644 (file)
@@ -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
index 9555cf1..402b0b5 100644 (file)
@@ -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:
index d614b12..e649b01 100644 (file)
@@ -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:
index 7af0f1b..b9a73a6 100644 (file)
@@ -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
index 0b74874..63732ef 100644 (file)
@@ -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
index cba31ef..9e05eaa 100644 (file)
@@ -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
index 8befbcf..a7e995d 100644 (file)
@@ -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
index 8d0a117..e3ce82f 100644 (file)
@@ -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
index 9f18668..ebd01c8 100644 (file)
@@ -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.
index 752330e..5adf885 100644 (file)
@@ -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
index 2212e12..e79c38f 100644 (file)
@@ -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
index bca709e..db4db15 100644 (file)
@@ -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
index 5be18a6..0d9a1dd 100644 (file)
@@ -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
index 0ee4b4e..278b0f8 100644 (file)
@@ -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
index 4057360..562a34f 100644 (file)
@@ -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
index 29f6005..535bf66 100644 (file)
@@ -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:
index 4e7a294..14ad381 100644 (file)
@@ -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:
index 28581d0..d6ddf93 100644 (file)
@@ -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
index 71b9aec..7e5766d 100644 (file)
@@ -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
index e208119..8c0529f 100644 (file)
@@ -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"})
index 3699ade..89198e8 100644 (file)
@@ -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
index 908941d..28f4dd0 100644 (file)
@@ -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
index 247110a..48850e3 100644 (file)
@@ -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
index ad30d2f..23d6f0d 100644 (file)
@@ -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
index 18303f6..09c3839 100644 (file)
@@ -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:
index d013355..6d31261 100644 (file)
@@ -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
index b0de39f..def3f03 100644 (file)
@@ -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:
index bb8b1df..076c9d6 100644 (file)
@@ -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.
index ba44de8..c56e395 100644 (file)
@@ -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:
index 87f1435..8007c9e 100644 (file)
@@ -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
index 0e45ffa..bb44f39 100644 (file)
@@ -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
index 6988cc2..f654a3c 100644 (file)
@@ -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:
index 21fc990..50b1455 100644 (file)
@@ -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),
index e1fbe72..7ae8637 100644 (file)
@@ -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
index a368d6a..658e081 100644 (file)
@@ -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
index 39ea6e6..706b948 100644 (file)
@@ -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
index be93143..9037158 100644 (file)
@@ -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
index 0ddca62..8345b7c 100644 (file)
@@ -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
index 28ed864..551bf6c 100644 (file)
@@ -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:
index 761656a..330e390 100644 (file)
@@ -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
index 06ce9d8..d8caae0 100644 (file)
@@ -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.
index 03a1d9d..0b789cc 100644 (file)
@@ -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:
index d715d9d..9b277bb 100644 (file)
@@ -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
index 6dec3d7..4fbc24a 100644 (file)
@@ -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:
index 4f8f08b..69505db 100644 (file)
@@ -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.
index 0f5b181..5c6f231 100644 (file)
@@ -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
index 3c26b33..0077971 100644 (file)
@@ -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:
index 2c0b163..f84155a 100644 (file)
@@ -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:
index 75d10d4..b450bef 100644 (file)
@@ -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
index ea94934..979755c 100644 (file)
@@ -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:
index ed79497..bb0e987 100644 (file)
@@ -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:
index 9a8097d..dfa7ff5 100644 (file)
@@ -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:
index deb9bbe..dc30162 100644 (file)
@@ -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
index d8ecba4..15640fd 100644 (file)
@@ -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
index bc119c0..c7ef715 100644 (file)
@@ -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:
index 1ab7286..6baac2b 100644 (file)
@@ -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
index d56ad85..d0511f7 100644 (file)
@@ -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
index c615c91..e72554c 100644 (file)
@@ -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
index 28e2f62..028ecd4 100644 (file)
@@ -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
index a219ece..ede60fc 100644 (file)
@@ -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
index 7d970ed..6c73695 100644 (file)
@@ -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
index 6373ffe..be0be92 100644 (file)
@@ -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
index 44b74c2..50de7bb 100644 (file)
@@ -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
index 1ce249f..730ca5d 100644 (file)
@@ -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
index 3e38a0e..69108c3 100644 (file)
@@ -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
index 2781ecf..d5e09d8 100644 (file)
@@ -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}.
index cde63ce..8d55685 100644 (file)
@@ -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
index 3f3bb3f..b91af82 100644 (file)
@@ -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
index fa93aea..46e07ca 100644 (file)
@@ -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
index ba508aa..b6eea5a 100644 (file)
@@ -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
index aa139f8..f40f124 100644 (file)
@@ -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
index 5237cbb..7c9184e 100644 (file)
@@ -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
index 7e1dc0b..60894d0 100644 (file)
@@ -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:
index 88b1908..1b46b05 100644 (file)
@@ -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
index 3d18993..848f747 100644 (file)
@@ -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:
index a1f36b1..a5720df 100644 (file)
@@ -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
index db5b87e..8d631fb 100644 (file)
@@ -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
index babb368..bdb6111 100644 (file)
@@ -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
index bd0e4fc..8c2dc63 100644 (file)
@@ -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
index 9d37797..db06131 100644 (file)
@@ -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
index 20b84a2..6fd40ab 100644 (file)
@@ -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
index bf26a01..a2c23ae 100644 (file)
@@ -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
index ef04a0a..5c36db4 100644 (file)
@@ -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
index 6ca6eed..3434136 100644 (file)
@@ -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:
index 69aa9a4..9dccde1 100644 (file)
@@ -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}.)
index ad08f82..a590a3a 100644 (file)
@@ -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
index 3682d1f..6b60747 100644 (file)
@@ -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
index 9e1aa94..b0c739c 100644 (file)
@@ -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:
index 853c46b..e94bad7 100644 (file)
@@ -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.
index 665a2ee..a8188e7 100644 (file)
@@ -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.
index 5b94e3e..6bd2579 100644 (file)
@@ -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.
index 3379cb6..b797a77 100644 (file)
@@ -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.
index 55e7f1a..a21f098 100644 (file)
@@ -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
index cd8545d..1698e16 100644 (file)
@@ -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.
index a5baacd..3fef377 100644 (file)
@@ -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.
index 3ab9b8a..25103c4 100644 (file)
@@ -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:
index b385214..a8368be 100644 (file)
@@ -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
index 3583117..9253246 100644 (file)
@@ -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:
index d981291..3adcb1b 100644 (file)
@@ -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:
index 3ce0a40..d3f9d0e 100644 (file)
@@ -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
index 432b20d..5c3aa74 100644 (file)
@@ -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:
index 50a53f8..6bb9436 100644 (file)
@@ -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)}:
index 37725e1..f15e3f8 100644 (file)
@@ -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
index 2c43b1e..33f4d1f 100644 (file)
@@ -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.
index 1afcc65..6cba292 100644 (file)
@@ -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
index 1379d8e..9cfe373 100644 (file)
@@ -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
index c6a91b3..3d69c6f 100644 (file)
@@ -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:
index e12afe2..0db82c9 100644 (file)
@@ -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:
index 33f5afb..5101ee4 100644 (file)
@@ -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}:
index 31f0753..2159b43 100644 (file)
@@ -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:
index c7807d8..7b28157 100644 (file)
@@ -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:
index 7d35ae0..6770c00 100644 (file)
@@ -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:
index feff03a..4fea5be 100644 (file)
@@ -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:
index ca6e092..967a995 100644 (file)
@@ -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:
index 0c37dd5..f863566 100644 (file)
@@ -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"})
index fa57800..319d402 100644 (file)
@@ -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.
index e0ab232..34a4516 100644 (file)
@@ -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.
index 0e10b26..2c47474 100644 (file)
@@ -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
index 76d2ce7..efcf891 100644 (file)
@@ -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.
index 9c68150..bd5f839 100644 (file)
@@ -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:
index df20a6f..a6bcf21 100644 (file)
@@ -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.
index 4a76b15..abe3423 100644 (file)
@@ -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.
index 2b18a9a..0920b6d 100644 (file)
@@ -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:
index 5d1d73c..0c2c0dc 100644 (file)
@@ -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.
index 590eeba..a541038 100644 (file)
@@ -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.
index 0c841b5..3ad7527 100644 (file)
@@ -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:
index 3a01a66..252b900 100644 (file)
@@ -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.
index 1f7f4ca..0c13dbb 100644 (file)
@@ -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:
index ace02fc..02c4cf5 100644 (file)
@@ -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.
index acf1fb4..192296d 100644 (file)
@@ -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.
index a4422b6..3d99124 100644 (file)
@@ -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.
index 3d677f5..5514d5e 100644 (file)
@@ -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.
index 17e64e7..9d907bd 100644 (file)
@@ -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.
index e9a9ffb..8597bdd 100644 (file)
@@ -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.
index 7ca5d51..89ed411 100644 (file)
@@ -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:
index 1d5edf9..213532d 100644 (file)
@@ -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.
index 22d33a7..00bd72c 100644 (file)
@@ -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:
index 2696ac9..92d922f 100644 (file)
@@ -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.
index 9c68854..dda88fe 100644 (file)
@@ -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{<wchar.h>}, not in @code{<wctype.h>}, on
 some platforms:
index a9245ef..4c05bc3 100644 (file)
@@ -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.
index 6243ff8..11e8eed 100644 (file)
@@ -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.
index ea8ca54..eb6c8e4 100644 (file)
@@ -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:
index d243dbb..64cfecc 100644 (file)
@@ -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:
index 7066c98..26f2822 100644 (file)
@@ -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:
index ae4a08e..c2da3b3 100644 (file)
@@ -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:
index ac7425d..c3a0e7c 100644 (file)
@@ -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:
index 545f041..a4c8300 100644 (file)
@@ -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:
index bb8584e..2b0eb63 100644 (file)
@@ -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
index e105917..3e8df86 100644 (file)
@@ -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:
index 406ec58..9be1d89 100644 (file)
@@ -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
index 40d4240..a167962 100644 (file)
@@ -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
index 35f3bbc..f30c29e 100644 (file)
@@ -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:
index 4d1f731..ddfe473 100644 (file)
@@ -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
index e8c2b0c..7812e9a 100644 (file)
@@ -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
index a89b2bf..84b4078 100644 (file)
@@ -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
index 266b4dc..573a427 100644 (file)
@@ -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
index 9247797..799b42e 100644 (file)
@@ -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:
index c87e872..332fe5a 100644 (file)
@@ -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},
index 0eb91ea..c92f7a0 100644 (file)
@@ -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
index c222a23..09f1388 100644 (file)
@@ -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
index d00d615..f49d1f1 100644 (file)
@@ -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
index a55b222..b5e9ee4 100644 (file)
@@ -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:
index 79e2ec4..ced004d 100644 (file)
@@ -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
index ad4efe2..39509d1 100644 (file)
@@ -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:
index 6328339..d550fed 100644 (file)
@@ -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
index 3eff28c..78a1b25 100644 (file)
@@ -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
index 102c961..c1720e5 100644 (file)
@@ -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
index 2c2fad5..bd97405 100644 (file)
@@ -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.
index 742f3e2..7667cbb 100644 (file)
@@ -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
index 4f18419..c7bc7ba 100644 (file)
@@ -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
index 1073a5c..5f8dc8c 100644 (file)
@@ -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:
index d0de2ba..d181f76 100644 (file)
@@ -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
index 1f25803..95170eb 100644 (file)
@@ -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
index a05d275..ae65bca 100644 (file)
@@ -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
index cc3c1e2..71590f3 100644 (file)
@@ -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
index c688e4c..38a52f4 100644 (file)
@@ -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
index c53dcfb..2dd3c08 100644 (file)
@@ -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:
index 5c56871..23262e2 100644 (file)
@@ -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{<sys/types.h>} to be included first):
index ea924a6..f3297de 100644 (file)
@@ -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
index 55c61ab..a352884 100644 (file)
@@ -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
index d3ca4af..b212a36 100644 (file)
@@ -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
index c5827c9..5fb1d2e 100644 (file)
@@ -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
index 344ab96..51e1f94 100644 (file)
@@ -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
index 4fcdd69..e0494fc 100644 (file)
@@ -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:
index 038983c..8dacddf 100644 (file)
@@ -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.
index ac997de..adc363b 100644 (file)
@@ -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
index f2878d4..99ad79e 100644 (file)
@@ -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 <sys/types.h> 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:
index fe2ddbd..9bcbd3e 100644 (file)
@@ -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 (file)
index 0000000..bebc70d
--- /dev/null
@@ -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{<stdalign.h>} 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{<stdalign.h>} 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
index a9c36df..3730166 100644 (file)
@@ -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
index e4157a7..892290f 100644 (file)
@@ -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.
index 7a4619e..63713ee 100644 (file)
@@ -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
index c30f693..57bd006 100644 (file)
@@ -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
index 74b9201..eb8e4c7 100644 (file)
@@ -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
index 0c597ca..21a5236 100644 (file)
@@ -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
index e680ba0..c4ff411 100644 (file)
@@ -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
index 9f6baa5..bcd9cc5 100644 (file)
@@ -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 <sys/types.h> and
index 2f7cf63..71d80a8 100644 (file)
@@ -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{<sys/types.h>} to be included first.
index 5b704e7..c8deba8 100644 (file)
@@ -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
index b04912c..ef3f5b4 100644 (file)
@@ -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
index 72fd688..4aa224a 100644 (file)
@@ -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{<sys/types.h>} to be included first.
index e4979aa..47b29f7 100644 (file)
@@ -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
index 0141dbd..b4179e3 100644 (file)
@@ -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
index 77fcd46..f935087 100644 (file)
@@ -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
index 454ef0e..d375592 100644 (file)
@@ -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:
index 58a5fd6..35d24c0 100644 (file)
@@ -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:
index 1f8c8a2..0440efe 100644 (file)
@@ -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{<sys/types.h>} to be
 included first) on some platforms:
index 1472950..78c848e 100644 (file)
@@ -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
index 0759d26..4362038 100644 (file)
@@ -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.
index 6ffed30..e80c2a9 100644 (file)
@@ -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:
index 0e25f43..7ef54df 100644 (file)
@@ -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
index 5531a8e..80e5204 100644 (file)
@@ -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
index ba38b1c..11d4d99 100644 (file)
@@ -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
index 96dcf16..4d9c1e1 100644 (file)
@@ -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
index 5b39fce..35e6a52 100644 (file)
@@ -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
index f09a039..45b05e6 100644 (file)
@@ -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
index b8429f7..9a3e12c 100644 (file)
@@ -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
index 41e743a..7beb4c2 100644 (file)
@@ -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.
index cf7a98f..cdeb019 100644 (file)
@@ -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{<sys/utime.h>}
+This header file is missing on some platforms: MSVC 9.  Use @code{<sys/utime.h>}
 if @code{<utime.h>} is missing.
 @end itemize
index 5a0e215..138c585 100644 (file)
@@ -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
index 4fc867e..1478244 100644 (file)
@@ -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
index 38c239c..6d2e319 100644 (file)
@@ -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
index 0d15320..e65e5ea 100644 (file)
@@ -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
index 38d2c21..bd81464 100644 (file)
@@ -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.
 
index daacb02..69ff2a1 100755 (executable)
@@ -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 <http://www.gnu.org/licenses/>."
+  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
index 5591fa5..01faf54 100644 (file)
 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);
+    }
 }
index 1e7e7f4..4e1ef1a 100644 (file)
@@ -23,6 +23,7 @@
 #include <errno.h>
 #include <fcntl.h>
 #include "binary-io.h"
+#include "msvc-nothrow.h"
 
 #ifndef SOCK_CLOEXEC
 # define SOCK_CLOEXEC 0
index b509666..7a105c8 100644 (file)
@@ -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 (file)
index 0000000..25c9262
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include <math.h>
+
+float
+acosf (float x)
+{
+  return (float) acos ((double) x);
+}
index 260a437..c864631 100644 (file)
 /* Specification.  */
 #include <math.h>
 
+#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 <moshier@na-net.ornl.gov>
@@ -186,6 +196,8 @@ acosl (long double x)
     return 2 * asinl (sqrtl ((1 - x) / 2));
 }
 
+#endif
+
 #if 0
 int
 main (void)
index 9b8e00d..bff3930 100644 (file)
 
 #include <stddef.h>
 
-/* 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
+   <stdalign.h> 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,
 # 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 */
index f87729d..b1a1193 100644 (file)
@@ -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,                                 \
index 0cc5838..ec7fcda 100644 (file)
@@ -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.  */
index 5cab8ce..64360be 100644 (file)
@@ -21,6 +21,7 @@
 #endif
 
 #include <alloca.h>
+#include <stdalign.h>
 #include <stddef.h>
 #include <stdlib.h>
 #include <string.h>
@@ -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.  */
index 9f76f28..73db77d 100644 (file)
@@ -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));
index b042d6d..bf18316 100644 (file)
@@ -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.
 
    For more details, see the POSIX:2001 specification
    <http://www.opengroup.org/susv3xsh/inet_ntop.html>.  */
+# 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 (file)
index 0000000..82f1d34
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include <math.h>
+
+float
+asinf (float x)
+{
+  return (float) asin ((double) x);
+}
index cda04c8..6e4368d 100644 (file)
 /* Specification.  */
 #include <math.h>
 
+#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 <moshier@na-net.ornl.gov>
@@ -188,6 +198,8 @@ asinl (long double x)
   return t * sign;
 }
 
+#endif
+
 #if 0
 int
 main (void)
index 52868bc..5d1cd14 100644 (file)
@@ -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
index da691fe..0983a77 100644 (file)
@@ -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 (file)
index 0000000..09771f6
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include <math.h>
+
+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 (file)
index 0000000..f8bd4f1
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include <math.h>
+
+float
+atanf (float x)
+{
+  return (float) atan ((double) x);
+}
index 22a882d..4d09c2f 100644 (file)
 /* Specification.  */
 #include <math.h>
 
+#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 (file)
index 0000000..45af45c
--- /dev/null
@@ -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 <http://www.ietf.org/rfc/rfc4648.txt>.
+ *
+ * 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 <config.h>
+
+/* Get prototype. */
+#include "base32.h"
+
+/* Get malloc. */
+#include <stdlib.h>
+
+/* Get UCHAR_MAX. */
+#include <limits.h>
+
+#include <string.h>
+
+/* 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 (file)
index 0000000..8768686
--- /dev/null
@@ -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 <stddef.h>
+
+/* Get bool. */
+# include <stdbool.h>
+
+/* 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 */
index 98f962f..1d65edc 100644 (file)
@@ -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);
index 50a09f8..c3e8caa 100644 (file)
@@ -3,6 +3,8 @@
    In the public domain.
    By David MacKenzie <djm@gnu.ai.mit.edu>.  */
 
+#include <config.h>
+
 #include <stddef.h>
 
 void
index e6d959d..baaea59 100644 (file)
@@ -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;
+    }
 }
index ed8859e..078bd9a 100644 (file)
@@ -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
index 66a5492..df2f070 100644 (file)
@@ -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
index b30902c..4e0354e 100644 (file)
@@ -16,7 +16,9 @@
 
 /* Written by Bruno Haible <bruno@clisp.org>, 2007.  */
 
-#include <config.h>
+#if ! defined USE_LONG_DOUBLE
+# include <config.h>
+#endif
 
 /* Specification.  */
 #include <math.h>
index 54a4b50..6181c91 100644 (file)
 
 /* Written by Bruno Haible <bruno@clisp.org>, 2007.  */
 
-#define USE_LONG_DOUBLE
-#include "ceil.c"
+#include <config.h>
+
+#if HAVE_SAME_LONG_DOUBLE_AS_DOUBLE
+
+/* Specification.  */
+# include <math.h>
+
+long double
+ceill (long double x)
+{
+  return ceil (x);
+}
+
+#else
+
+# define USE_LONG_DOUBLE
+# include "ceil.c"
+
+#endif
index 96b750c..af41b12 100644 (file)
@@ -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, "/");
index 2c41c75..c2197fe 100644 (file)
 /* Specification.  */
 #include <unistd.h>
 
+#include <errno.h>
+
 #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 (file)
index 0000000..0fdce18
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include <dirent.h>
+
+#if REPLACE_FCHDIR
+# include <unistd.h>
+#endif
+
+#if HAVE_CLOSEDIR
+
+/* Override closedir(), to keep track of the open file descriptors.
+   Needed because there is a function dirfd().  */
+
+#else
+
+# include <stdlib.h>
+
+# 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;
+}
index ea03e77..afd13b9 100644 (file)
@@ -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;
 }
index 4f2ea06..1532cb8 100644 (file)
@@ -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
-     <sys/acl.h> (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 (file)
index 0000000..5480245
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include <math.h>
+
+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 (file)
index 0000000..82409d4
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include <math.h>
+
+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 (file)
index 0000000..4432577
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include <math.h>
+
+#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 <float.h>
+
+/* 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 (file)
index 0000000..e9156a9
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include <math.h>
+
+float
+cosf (float x)
+{
+  return (float) cos ((double) x);
+}
diff --git a/lib/coshf.c b/lib/coshf.c
new file mode 100644 (file)
index 0000000..c9775d7
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include <math.h>
+
+float
+coshf (float x)
+{
+  return (float) cosh ((double) x);
+}
index d23c15f..a3eaf39 100644 (file)
 /* Specification.  */
 #include <math.h>
 
+#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)
index 4730e75..2f78448 100644 (file)
@@ -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 (file)
index 0000000..74632ff
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#ifndef _DIRENT_PRIVATE_H
+#define _DIRENT_PRIVATE_H 1
+
+#define WIN32_LEAN_AND_MEAN
+#include <windows.h>
+
+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 */
index ebbc425..cbcf841 100644 (file)
@@ -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
 /* Get ino_t.  Needed on some systems, including glibc 2.8.  */
 #include <sys/types.h>
 
+#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.  */
 
 /* 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,
index 2ef9882..ba9c56e 100644 (file)
@@ -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 (file)
index 0000000..4a75a0c
--- /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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include <unistd.h>
+
+#include <errno.h>
+
+#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;
+}
index e00dc7b..790c98a 100644 (file)
 #include <errno.h>
 #include <fcntl.h>
 
-#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-/* Get declarations of the Win32 API functions.  */
-# define WIN32_LEAN_AND_MEAN
-# include <windows.h>
-#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 <windows.h>
+
+#  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.
-     <http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.30.y.git;a=commitdiff;h=2b79bc4f7ebbd5af3c8b867968f9f15602d5f802>
-   */
-  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)
index 0bf5792..8022c0a 100644 (file)
 /* 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 <winsock2.h>.  */
-#  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
 
index 7482baa..5ebe8bf 100644 (file)
@@ -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 <windows.h>
+/* Get _get_osfhandle.  */
+#  include "msvc-nothrow.h"
 # endif
 
 /* The gnulib override of fcntl is not needed in this file.  */
index 4178354..b12eb46 100644 (file)
@@ -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);
index 0a314a9..63e94d3 100644 (file)
@@ -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 (file)
index 0000000..a16dbea
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include <math.h>
+
+float
+expf (float x)
+{
+  return (float) exp ((double) x);
+}
index 3f43892..49fdefa 100644 (file)
 /* Specification.  */
 #include <math.h>
 
-#include <float.h>
+#if HAVE_SAME_LONG_DOUBLE_AS_DOUBLE
+
+long double
+expl (long double x)
+{
+  return exp (x);
+}
+
+#else
+
+# include <float.h>
 
 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 (file)
index 0000000..4c0f970
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include <math.h>
+
+float
+fabsf (float x)
+{
+  return (float) fabs ((double) x);
+}
index 6dd704f..a3623ed 100644 (file)
@@ -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().  */
 
index 27f6836..3abe2e8 100644 (file)
 #include <unistd.h>
 
 #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 */
index d6a328c..92e32ee 100644 (file)
@@ -37,6 +37,9 @@
 # define WIN32_LEAN_AND_MEAN
 # include <windows.h>
 
+/* 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 (file)
index 0000000..3d26793
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+#include <unistd.h>
+
+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 (file)
index 0000000..50c889b
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include <stdio.h>
+
+#include <errno.h>
+
+#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;
+}
index b037d47..34916f5 100644 (file)
--- a/lib/ffs.c
+++ b/lib/ffs.c
@@ -16,6 +16,9 @@
 
 /* Written by Eric Blake.  */
 
+#include <config.h>
+
+/* Specification.  */
 #include <strings.h>
 
 #include <limits.h>
index 0b93796..ee99ba7 100644 (file)
@@ -1,3 +1,4 @@
 #define FUNC ffsl
 #define TYPE long int
+#define GCC_BUILTIN __builtin_ffsl
 #include "ffsl.h"
index eb7fead..ab994b7 100644 (file)
@@ -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 <config.h>
+
+/* Specification.  */
 #include <string.h>
 
 #include <limits.h>
 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
 }
index d056d7c..f0e9425 100644 (file)
@@ -1,3 +1,4 @@
 #define FUNC ffsll
 #define TYPE long long int
+#define GCC_BUILTIN __builtin_ffsll
 #include "ffsl.h"
index 2ee6ba2..4ff2808 100644 (file)
@@ -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;
index 0d1b9a4..d7c66e9 100644 (file)
@@ -24,6 +24,6 @@
 # include <sys/types.h>
 # include <sys/stat.h>
 
-char const *file_type (struct stat const *);
+char const *file_type (struct stat const *) _GL_ATTRIBUTE_PURE;
 
 #endif /* FILE_TYPE_H */
index 8cb2da4..26d1c73 100644 (file)
@@ -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++)
index f6ed248..fd9e9f4 100644 (file)
@@ -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;
index c453d6d..b05b40c 100644 (file)
@@ -20,7 +20,7 @@
 /* Specification.  */
 #include <float.h>
 
-#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__
index 57b7bc9..d5b2258 100644 (file)
@@ -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 */
index 8f018e5..439ff43 100644 (file)
 
 #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
 
-/* _get_osfhandle */
-# include <io.h>
-
 /* LockFileEx */
 # define WIN32_LEAN_AND_MEAN
 # include <windows.h>
 
 # include <errno.h>
 
+/* _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.
index df5e6dd..71a5b30 100644 (file)
@@ -16,7 +16,9 @@
 
 /* Written by Bruno Haible <bruno@clisp.org>, 2007.  */
 
-#include <config.h>
+#if ! defined USE_LONG_DOUBLE
+# include <config.h>
+#endif
 
 /* Specification.  */
 #include <math.h>
index bf5044f..aa62294 100644 (file)
 
 /* Written by Bruno Haible <bruno@clisp.org>, 2007.  */
 
-#define USE_LONG_DOUBLE
-#include "floor.c"
+#include <config.h>
+
+#if HAVE_SAME_LONG_DOUBLE_AS_DOUBLE
+
+/* Specification.  */
+# include <math.h>
+
+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 (file)
index 0000000..d804663
--- /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 <http://www.gnu.org/licenses/>.  */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2011.  */
+
+#if ! defined USE_LONG_DOUBLE
+# include <config.h>
+#endif
+
+/* Specification.  */
+#include <math.h>
+
+#include <stdbool.h>
+#include <stdlib.h>
+
+#if HAVE_FEGETROUND
+# include <fenv.h>
+#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.
+     <http://www.lri.fr/~melquion/doc/08-tc.pdf>
+   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. <http://pubs.opengroup.org/onlinepubs/9699919799/functions/fegetround.html> */
+                    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. <http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/float.h.html> */
+                    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 (file)
index 0000000..d1f5310
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2011.  */
+
+#define USE_FLOAT
+#include "fma.c"
diff --git a/lib/fmal.c b/lib/fmal.c
new file mode 100644 (file)
index 0000000..91d6dd9
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2011.  */
+
+#include <config.h>
+
+#if HAVE_SAME_LONG_DOUBLE_AS_DOUBLE
+
+/* Specification.  */
+# include <math.h>
+
+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 (file)
index 0000000..35a8a23
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include <math.h>
+
+float
+fmodf (float x, float y)
+{
+  return (float) fmod ((double) x, (double) y);
+}
index 346e1c6..bd25b4c 100644 (file)
@@ -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
index 8334491..f35c10f 100644 (file)
@@ -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_
index 33412fb..e9ba6bb 100644 (file)
@@ -33,7 +33,9 @@ orig_fopen (const char *filename, const char *mode)
 }
 
 /* Specification.  */
-#include <stdio.h>
+/* Write "stdio.h" here, not <stdio.h>, otherwise OSF/1 5.1 DTK cc eliminates
+   this include because of the preliminary #include <stdio.h> above.  */
+#include "stdio.h"
 
 #include <errno.h>
 #include <fcntl.h>
index af03b89..0ddb826 100644 (file)
@@ -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
 }
index bae0646..7069ec9 100644 (file)
@@ -33,7 +33,9 @@ orig_freopen (const char *filename, const char *mode, FILE *stream)
 }
 
 /* Specification.  */
-#include <stdio.h>
+/* Write "stdio.h" here, not <stdio.h>, otherwise OSF/1 5.1 DTK cc eliminates
+   this include because of the preliminary #include <stdio.h> above.  */
+#include "stdio.h"
 
 #include <string.h>
 
index 0f0d41a..26bdec9 100644 (file)
@@ -17,7 +17,9 @@
 /* Written by Paolo Bonzini <bonzini@gnu.org>, 2003, and
    Bruno Haible <bruno@clisp.org>, 2007.  */
 
-#include <config.h>
+#if ! defined USE_LONG_DOUBLE
+# include <config.h>
+#endif
 
 /* Specification.  */
 #include <math.h>
diff --git a/lib/frexpf.c b/lib/frexpf.c
new file mode 100644 (file)
index 0000000..2bd5f51
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include <math.h>
+
+float
+frexpf (float x, int *expptr)
+{
+  return (float) frexp ((double) x, expptr);
+}
index ea635a4..c468937 100644 (file)
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-#define USE_LONG_DOUBLE
-#include "frexp.c"
+#include <config.h>
+
+#if HAVE_SAME_LONG_DOUBLE_AS_DOUBLE
+
+/* Specification.  */
+# include <math.h>
+
+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 (file)
index 0000000..db5b17c
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+/* If the user's config.h happens to include <sys/stat.h>, let it include only
+   the system's <sys/stat.h> here, so that orig_fstat doesn't recurse to
+   rpl_fstat.  */
+#define __need_system_sys_stat_h
+#include <config.h>
+
+/* Get the original definition of fstat.  It might be defined as a macro.  */
+#include <sys/types.h>
+#include <sys/stat.h>
+#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 <sys/stat.h>, otherwise OSF/1 5.1 DTK cc
+   eliminates this include because of the preliminary #include <sys/stat.h>
+   above.  */
+#include "sys/stat.h"
+
+#include <errno.h>
+#include <unistd.h>
+
+#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);
+}
index 326ce21..e59be91 100644 (file)
@@ -36,13 +36,16 @@ orig_fstatat (int fd, char const *filename, struct stat *buf, int flags)
 }
 #endif
 
-#include <sys/stat.h>
+/* Write "sys/stat.h" here, not <sys/stat.h>, otherwise OSF/1 5.1 DTK cc
+   eliminates this include because of the preliminary #include <sys/stat.h>
+   above.  */
+#include "sys/stat.h"
 
 #include <errno.h>
 #include <fcntl.h>
 #include <string.h>
 
-#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 <sys/stat.h> 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
index f0fc8e5..325f216 100644 (file)
 
 #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
 
-/* _get_osfhandle */
-# include <io.h>
-
 /* FlushFileBuffers */
 # define WIN32_LEAN_AND_MEAN
 # include <windows.h>
 
 # include <errno.h>
 
+/* Get _get_osfhandle.  */
+# include "msvc-nothrow.h"
+
 int
 fsync (int fd)
 {
index 33b69d8..ae1e858 100644 (file)
@@ -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 <config.h>
@@ -6,67 +6,33 @@
 /* Specification.  */
 #include <unistd.h>
 
-#include <sys/types.h>
-#include <fcntl.h>
+#if HAVE_CHSIZE
 
-#ifdef F_CHSIZE
+# include <errno.h>
+# include <io.h>
 
-int
-ftruncate (int fd, off_t length)
-{
-  return fcntl (fd, F_CHSIZE, length);
-}
-
-#else /* not F_CHSIZE */
-# ifdef F_FREESP
-
-/* By William Kucharski <kucharsk@netcom.com>.  */
-
-#  include <sys/stat.h>
-#  include <errno.h>
-
-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 <errno.h>
-
-int
-ftruncate (int fd, off_t length)
-{
-  errno = EIO;
-  return -1;
-}
-
-#  endif /* not HAVE_CHSIZE */
-# endif /* not F_FREESP */
-#endif /* not F_CHSIZE */
+#endif
index e3829f3..ccd1980 100644 (file)
--- 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;
index d514748..a63ea3e 100644 (file)
--- 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
index cf15521..9b8171c 100644 (file)
 
 #include <fcntl.h> /* 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);
index 60e7f5a..a07c4a2 100644 (file)
 
 #include <stdio.h>
 
+#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;
 
index 9e540a1..abe5a40 100644 (file)
@@ -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;
+    }
 }
index 1eabd94..1c494bb 100644 (file)
@@ -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;
+    }
 }
index d82ea5f..2217664 100644 (file)
 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;
+    }
 }
index 65777e6..1ddd68a 100644 (file)
@@ -185,7 +185,7 @@ npgettext_aux (const char *domain,
 #include <string.h>
 
 #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
index 85419cc..fddd02d 100644 (file)
 # 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 */
 
index dc97646..e205045 100644 (file)
@@ -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 <windows.h>
 
 # ifdef __cplusplus
index 2095413..f764d14 100644 (file)
@@ -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 <windows.h>
 
 # ifdef __cplusplus
index 3d7f760..be13ed9 100644 (file)
@@ -292,6 +292,7 @@ typedef thread_t gl_thread_t;
 
 #if USE_WIN32_THREADS
 
+# define WIN32_LEAN_AND_MEAN  /* avoid including junk */
 # include <windows.h>
 
 # ifdef __cplusplus
index 0ef32c0..4f39986 100644 (file)
@@ -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 <windows.h>
 
 /* ------------------------- gl_tls_key_t datatype ------------------------- */
index 6911d02..0482315 100644 (file)
@@ -91,6 +91,7 @@ extern "C" {
 
 #if USE_WIN32_THREADS
 
+# define WIN32_LEAN_AND_MEAN  /* avoid including junk */
 # include <windows.h>
 
 # ifdef __cplusplus
index 985e31d..b757044 100644 (file)
@@ -21,6 +21,7 @@
 
 #include <assert.h>
 #include <errno.h>
+#include <fcntl.h>
 #include <string.h>
 #include <sys/wait.h>
 #include <unistd.h>
 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
 }
index 80c1838..36b776a 100644 (file)
@@ -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;
index 51863c9..0658d81 100644 (file)
@@ -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
index 4d76f76..0ee32d0 100644 (file)
@@ -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));
index 9f694be..541abc4 100644 (file)
 #  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
index f0700b6..ae81f68 100644 (file)
@@ -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;
index 5602a29..6b80174 100644 (file)
 /* Specification.  */
 #include <arpa/inet.h>
 
-#include <stdio.h>
-#include <string.h>
-#include <errno.h>
+#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 <stdio.h>
+# include <string.h>
+# include <errno.h>
+
+# 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
index 8b38e80..cb1a872 100644 (file)
 /* Specification.  */
 #include <arpa/inet.h>
 
-#include <c-ctype.h>
-#include <string.h>
-#include <errno.h>
+#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 <c-ctype.h>
+# include <string.h>
+# include <errno.h>
+
+# 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 (file)
index 0000000..e5ab665
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2011.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "integer_length.h"
+
+#include <limits.h>
+
+#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 (file)
index 0000000..d51130f
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 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 (file)
index 0000000..483e023
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2011.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "integer_length.h"
+
+#include <limits.h>
+#include <stddef.h>
+
+#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 (file)
index 0000000..c380486
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2011.  */
+
+#define USE_LONG_LONG
+#include "integer_length_l.c"
index a5349b1..f6e16d1 100644 (file)
 #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
 /* Windows platforms.  */
 
-/* Get _get_osfhandle.  */
-# include <io.h>
-
 /* Get GetFileType.  */
 # include <windows.h>
 
+/* Get _get_osfhandle.  */
+# include "msvc-nothrow.h"
+
 int
 isapipe (int fd)
 {
index d9c653d..db0c685 100644 (file)
@@ -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 (file)
index 0000000..0236f33
--- /dev/null
@@ -0,0 +1,28 @@
+/* Replacement for 'int' to 'long double' conversion routine.
+   Copyright (C) 2011 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include <float.h>
+
+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 (file)
index 0000000..0460d1a
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include <math.h>
+
+/* 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);
+}
index 4389f76..7fb3a7d 100644 (file)
 /* Specification.  */
 #include <math.h>
 
-#include <float.h>
-#include "fpucw.h"
+#if HAVE_SAME_LONG_DOUBLE_AS_DOUBLE
+
+long double
+ldexpl (long double x, int exp)
+{
+  return ldexp (x, exp);
+}
+
+#else
+
+# include <float.h>
+# 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)
index 77b6345..7b6d0dd 100644 (file)
@@ -23,7 +23,6 @@
 #include <errno.h>
 #include <fcntl.h>
 #include <limits.h>
-#include <stdint.h>
 #include <stdlib.h>
 #include <string.h>
 #include <sys/stat.h>
index 938aa75..b7d070e 100644 (file)
@@ -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 (file)
index 0000000..ad50c53
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include <math.h>
+
+float
+log10f (float x)
+{
+  return (float) log10 ((double) x);
+}
diff --git a/lib/logf.c b/lib/logf.c
new file mode 100644 (file)
index 0000000..684e9f3
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include <math.h>
+
+float
+logf (float x)
+{
+  return (float) log ((double) x);
+}
index de46bd3..42c50cb 100644 (file)
 /* Specification.  */
 #include <math.h>
 
+#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
index e6c2136..134e8b7 100644 (file)
@@ -24,6 +24,8 @@
 /* Windows platforms.  */
 /* Get GetFileType.  */
 # include <windows.h>
+/* Get _get_osfhandle.  */
+# include "msvc-nothrow.h"
 #else
 # include <sys/stat.h>
 #endif
index 29fc6d2..d786288 100644 (file)
@@ -42,7 +42,10 @@ orig_lstat (const char *filename, struct stat *buf)
 }
 
 /* Specification.  */
-# include <sys/stat.h>
+/* Write "sys/stat.h" here, not <sys/stat.h>, otherwise OSF/1 5.1 DTK cc
+   eliminates this include because of the preliminary #include <sys/stat.h>
+   above.  */
+# include "sys/stat.h"
 
 # include <string.h>
 # include <errno.h>
index d6308cb..6b5966a 100644 (file)
 
 /* 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);
index aaa82e2..6807a83 100644 (file)
--- a/lib/md4.c
+++ b/lib/md4.c
@@ -24,8 +24,8 @@
 
 #include "md4.h"
 
-#include <stddef.h>
-#include <stdlib.h>
+#include <stdalign.h>
+#include <stdint.h>
 #include <stdlib.h>
 #include <string.h>
 #include <sys/types.h>
@@ -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)
           {
index d37ca72..7d575ac 100644 (file)
--- a/lib/md5.c
+++ b/lib/md5.c
@@ -24,7 +24,8 @@
 
 #include "md5.h"
 
-#include <stddef.h>
+#include <stdalign.h>
+#include <stdint.h>
 #include <stdlib.h>
 #include <string.h>
 #include <sys/types.h>
@@ -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)
           {
index d2e14ac..502b856 100644 (file)
@@ -19,4 +19,4 @@
 
 #include <stddef.h>
 
-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;
index e575223..c34acbd 100644 (file)
@@ -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
 }
index cbe6e8c..21552b2 100644 (file)
@@ -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
index 1f05cd9..f16bf2e 100644 (file)
@@ -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 <config.h>
+
 #include <stddef.h>
 
 void *
diff --git a/lib/modff.c b/lib/modff.c
new file mode 100644 (file)
index 0000000..1b2554c
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include <math.h>
+
+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 (file)
index 0000000..31dbeea
--- /dev/null
@@ -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 <config.h>
+
+/* 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 <stdlib.h>
+
+# 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 <windows.h>
+
+#  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 &not_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 = &not_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 (file)
index 0000000..5ebc29f
--- /dev/null
@@ -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
+       {
+         <Code that can trigger an invalid parameter notification
+          but does not do 'return', 'break', 'continue', nor 'goto'.>
+       }
+     CATCH_MSVC_INVAL
+       {
+         <Code that handles an invalid parameter notification
+          but does not do 'return', 'break', 'continue', nor 'goto'.>
+       }
+     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 <excpt.h>
+
+/* Gnulib can define its own status codes, as described in the page
+   "Raising Software Exceptions" on microsoft.com
+   <http://msdn.microsoft.com/en-us/library/het71c37.aspx>.
+   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
+   <http://msdn.microsoft.com/en-us/library/s58ftw19.aspx>.
+   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 <setjmp.h>
+
+#   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 (file)
index 0000000..0af17b2
--- /dev/null
@@ -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 <config.h>
+
+/* Specification.  */
+#include "msvc-nothrow.h"
+
+/* Get declarations of the Win32 API functions.  */
+#define WIN32_LEAN_AND_MEAN
+#include <windows.h>
+
+#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 (file)
index 0000000..1ec2888
--- /dev/null
@@ -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 <io.h>
+
+# 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 */
index 9f7bce9..c356f36 100644 (file)
@@ -32,6 +32,8 @@
 # define WIN32_LEAN_AND_MEAN
 # include <windows.h>
 
+# include "msvc-nothrow.h"
+
 int
 get_nonblocking_flag (int desc)
 {
index a73d6ed..47492cc 100644 (file)
@@ -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.  */
index ffd3b8d..8dc36ef 100644 (file)
@@ -34,7 +34,9 @@ orig_open (const char *filename, int flags, mode_t mode)
 }
 
 /* Specification.  */
-#include <fcntl.h>
+/* Write "fcntl.h" here, not <fcntl.h>, otherwise OSF/1 5.1 DTK cc eliminates
+   this include because of the preliminary #include <fcntl.h> above.  */
+#include "fcntl.h"
 
 #include <errno.h>
 #include <stdarg.h>
index cc4b9d0..354ff80 100644 (file)
@@ -35,16 +35,18 @@ orig_openat (int fd, char const *filename, int flags, mode_t mode)
 }
 #endif
 
+/* Write "fcntl.h" here, not <fcntl.h>, otherwise OSF/1 5.1 DTK cc eliminates
+   this include because of the preliminary #include <fcntl.h> above.  */
+#include "fcntl.h"
+
 #include "openat.h"
 
 #include <stdarg.h>
+#include <stdbool.h>
 #include <stddef.h>
 #include <string.h>
 #include <sys/stat.h>
-
-#include "dosname.h" /* solely for definition of IS_ABSOLUTE_FILE_NAME */
-#include "openat-priv.h"
-#include "save-cwd.h"
+#include <errno.h>
 
 #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.
    <http://www.google.com/search?q=openat+site:docs.sun.com>
    First, try to simulate it via open ("/proc/self/fd/FD/FILE").
index fb4f4d8..eae86ce 100644 (file)
 #ifndef _GL_HEADER_OPENAT
 #define _GL_HEADER_OPENAT
 
-/* Write "fcntl.h" here, not <fcntl.h>, otherwise OSF/1 5.1 DTK cc miscompiles
-   openat.c because that file has a preliminary #include <fcntl.h>.  */
-#include "fcntl.h"
+#include <fcntl.h>
 
 #include <sys/types.h>
 #include <sys/stat.h>
-#include <dirent.h>
 #include <unistd.h>
 #include <stdbool.h>
 
@@ -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 (file)
index 0000000..20ae75e
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include <dirent.h>
+
+#include <errno.h>
+#include <stddef.h>
+
+#if HAVE_OPENDIR
+
+/* Override opendir(), to keep track of the open file descriptors.
+   Needed because there is a function dirfd().  */
+
+#else
+
+# include <stdlib.h>
+
+# include "dirent-private.h"
+# include "filename.h"
+
+#endif
+
+#if REPLACE_FCHDIR
+# include <unistd.h>
+#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;
+}
index 748d372..d9d9773 100644 (file)
@@ -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 <errno.h>
+
+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 <fcntl.h>
+# include <stdlib.h>
 # include <string.h>
 # include <sys/ioctl.h>
 # include <termios.h>
@@ -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,
index b40d960..cfd301a 100644 (file)
@@ -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;
index 23a9a41..5621adc 100644 (file)
@@ -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 <intval> tAGO
+%token tDST
 
 %token tYEAR_UNIT tMONTH_UNIT tHOUR_UNIT tMINUTE_UNIT tSEC_UNIT
 %token <intval> tDAY_UNIT tDAY_SHIFT
@@ -307,7 +308,7 @@ set_hhmmss (parser_control *pc, long int hour, long int minutes,
 %token <textintval> tSNUMBER tUNUMBER
 %token <timespec> tSDECIMAL_NUMBER tUDECIMAL_NUMBER
 
-%type <intval> o_colon_minutes o_merid
+%type <intval> o_colon_minutes
 %type <timespec> seconds signed_seconds unsigned_seconds
 
 %type <rel> 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;
index a1e458c..9c30995 100644 (file)
 #  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",
+   <http://msdn.microsoft.com/en-us/library/aa365247(v=vs.85).aspx#maxpath>
+   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 <stdio.h>,
+     - _MAX_PATH in <stdlib.h>,
+     - MAX_PATH in <windef.h>.
+   Undefine the original value, because mingw's <limits.h> 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 (file)
index 0000000..b171c21
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include <stdio.h>
+
+/* Native Woe32 API.  */
+
+int
+pclose (FILE *stream)
+{
+  return _pclose (stream);
+}
index 5420788..cd1fe56 100644 (file)
@@ -95,7 +95,9 @@ pipe2 (int fd[2], int flags)
         goto fail;
     }
 # else
-  verify (O_NONBLOCK == 0);
+  {
+    verify (O_NONBLOCK == 0);
+  }
 # endif
 
   return 0;
index e064565..b012ba0 100644 (file)
@@ -43,6 +43,7 @@
 # include <io.h>
 # include <stdio.h>
 # include <conio.h>
+# include "msvc-nothrow.h"
 #else
 # include <sys/time.h>
 # include <sys/socket.h>
index 64a4f61..4330479 100644 (file)
 /* Specification.  */
 #include <stdio.h>
 
-#include <errno.h>
-#include <fcntl.h>
-#include <stdlib.h>
-#include <unistd.h>
+#if HAVE_POPEN
 
-#undef popen
+# include <errno.h>
+# include <fcntl.h>
+# include <stdlib.h>
+# include <unistd.h>
+
+# 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 <string.h>
+
+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 (file)
index 0000000..137db71
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include <stdlib.h>
+
+#include <errno.h>
+#include <fcntl.h>
+#if defined __OpenBSD__
+# include <sys/ioctl.h>
+# include <sys/tty.h>
+#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 (file)
index 0000000..d5a81b9
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include <math.h>
+
+float
+powf (float x, float y)
+{
+  return (float) pow ((double) x, (double) y);
+}
index 7f7e0ec..267081c 100644 (file)
@@ -14,7 +14,9 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-#include <config.h>
+#if ! defined USE_LONG_DOUBLE
+# include <config.h>
+#endif
 
 /* Specification.  */
 #ifdef USE_LONG_DOUBLE
index f19f321..2de6528 100644 (file)
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-#define USE_LONG_DOUBLE
-#include "printf-frexp.c"
+#include <config.h>
+
+#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
index b74923d..31fc96a 100644 (file)
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
+/* 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 <config.h>
 
 /* Specification.  */
index d2a1e3b..997c57b 100644 (file)
@@ -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
index cd2cc5e..102a65c 100644 (file)
 
 #include <stdlib.h>
 
-#include <errno.h>
-#include <string.h>
-#include <sys/stat.h>
-#include <unistd.h>
-
-#ifdef _LIBC
-# include <paths.h>
-#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 (file)
index 0000000..e7f2d5b
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+#include <stdlib.h>
+
+#include <errno.h>
+#include <string.h>
+#include <sys/stat.h>
+#include <unistd.h>
+
+#ifdef _LIBC
+# include <paths.h>
+#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;
+}
index bba4ba1..b24dd10 100644 (file)
 
 /* Get 'struct termios' and 'struct winsize'.  */
 #include <termios.h>
+#if defined _AIX
+# include <sys/ioctl.h>
+#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.  */
 
index 68e5fec..2da3376 100644 (file)
 #include <string.h>
 #include <unistd.h>
 
-#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
index da8ba1e..03fbfe7 100644 (file)
 
 /* Written by Paul Eggert <eggert@twinsun.com> */
 
+/* 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 <config.h>
 
 #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 };
index 88b8cb2..aee33e8 100644 (file)
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-/* written by Jim Meyering */
+/* written by Jim Meyering and Bruno Haible */
 
 #include <config.h>
 
-#include <sys/types.h>
+/* Specification.  */
 #include <signal.h>
-#include <unistd.h>
+
+#if HAVE_RAISE
+/* Native Windows platform.  */
+
+# include <errno.h>
+
+# 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 <unistd.h>
+
+# 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
 }
index 21b90db..1bae389 100644 (file)
 /* Specification.  */
 #include <unistd.h>
 
-/* 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 <errno.h>
+# include <io.h>
 
-#  include <errno.h>
-#  include <io.h>
+# define WIN32_LEAN_AND_MEAN  /* avoid including junk */
+# include <windows.h>
 
-#  define WIN32_LEAN_AND_MEAN  /* avoid including junk */
-#  include <windows.h>
+# 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 (file)
index 0000000..04858b0
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include <dirent.h>
+
+#include <errno.h>
+#include <stddef.h>
+
+#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"
+     <http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap04.html>
+     "." 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;
+}
index d99b7a4..4755f63 100644 (file)
@@ -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;
+    }
 }
index 5edd1d8..5ce2b12 100644 (file)
@@ -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;
+    }
 }
index 27b2226..2a17ff3 100644 (file)
@@ -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
index d7413b0..20cc833 100644 (file)
@@ -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;
index 5ad438f..7776f9b 100644 (file)
@@ -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'};
index fa73098..68ceb71 100644 (file)
 # 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 (file)
index 0000000..bfb9108
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include <dirent.h>
+
+#include <errno.h>
+
+#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 (file)
index 0000000..7eefe7a
--- /dev/null
@@ -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 <config.h>
+#endif
+
+/* Specification.  */
+#include <math.h>
+
+#include <float.h>
+#include <stdlib.h>
+
+#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.
+     <http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/float.h.html>.
+     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 (file)
index 0000000..948b679
--- /dev/null
@@ -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 (file)
index 0000000..d26935e
--- /dev/null
@@ -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 <config.h>
+
+#if HAVE_SAME_LONG_DOUBLE_AS_DOUBLE
+
+/* Specification.  */
+# include <math.h>
+
+long double
+rintl (long double x)
+{
+  return rint (x);
+}
+
+#else
+
+# define USE_LONG_DOUBLE
+# include "rint.c"
+
+#endif
index a1dbead..a6c778e 100644 (file)
@@ -18,7 +18,9 @@
 /* Written by Ben Pfaff <blp@gnu.org>, 2007.
    Based heavily on code by Bruno Haible. */
 
-#include <config.h>
+#if ! defined USE_LONG_DOUBLE
+# include <config.h>
+#endif
 
 /* Specification.  */
 #include <math.h>
index 28f3f6f..9cf81db 100644 (file)
    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 <config.h>
+
+#if HAVE_SAME_LONG_DOUBLE_AS_DOUBLE
+
+/* Specification.  */
+# include <math.h>
+
+long double
+roundl (long double x)
+{
+  return round (x);
+}
+
+#else
+
+# define USE_LONG_DOUBLE
+# include "round.c"
+
+#endif
index 10405d0..fc2e171 100644 (file)
 #ifndef _@GUARD_PREFIX@_SCHED_H
 #define _@GUARD_PREFIX@_SCHED_H
 
+/* Get pid_t.
+   This is needed on glibc 2.11 (see
+   glibc bug <http://sourceware.org/bugzilla/show_bug.cgi?id=13198>)
+   and MacOS X 10.5.  */
+#include <sys/types.h>
+
 #if !@HAVE_STRUCT_SCHED_PARAM@
 
 # if !GNULIB_defined_struct_sched_param
index 042ab22..aee0ac2 100644 (file)
@@ -27,7 +27,6 @@
 /* Native Win32.  */
 
 #include <sys/types.h>
-#include <stdbool.h>
 #include <errno.h>
 #include <limits.h>
 
@@ -38,6 +37,8 @@
 #include <conio.h>
 #include <time.h>
 
+#include "msvc-nothrow.h"
+
 struct bitset {
   unsigned char in[FD_SETSIZE / CHAR_BIT];
   unsigned char out[FD_SETSIZE / CHAR_BIT];
index d8a876e..cd21482 100644 (file)
@@ -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;
+    }
 }
index e301626..95efab8 100644 (file)
@@ -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;
+    }
 }
index 5ba86a5..d0fc6f8 100644 (file)
@@ -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
-     <sys/acl.h> (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;
index a31a10e..6a7ca5e 100644 (file)
 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;
+    }
 }
index 7ec950e..828810b 100644 (file)
@@ -26,7 +26,8 @@
 
 #include "sha1.h"
 
-#include <stddef.h>
+#include <stdalign.h>
+#include <stdint.h>
 #include <stdlib.h>
 #include <string.h>
 
@@ -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)
           {
index c125542..aa529c6 100644 (file)
@@ -24,7 +24,8 @@
 
 #include "sha256.h"
 
-#include <stddef.h>
+#include <stdalign.h>
+#include <stdint.h>
 #include <stdlib.h>
 #include <string.h>
 
@@ -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)
           {
index c0bed95..1c5117f 100644 (file)
@@ -24,7 +24,8 @@
 
 #include "sha512.h"
 
-#include <stddef.h>
+#include <stdalign.h>
+#include <stdint.h>
 #include <stdlib.h>
 #include <string.h>
 
@@ -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)
           {
index 26c4932..1c302a2 100644 (file)
@@ -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;
+    }
 }
index 93787f7..e18e0b2 100644 (file)
@@ -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
index 6780a37..d696189 100644 (file)
 #include <stdint.h>
 #include <stdlib.h>
 
+#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,
 
 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 (file)
index 0000000..e6a1d55
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include <math.h>
+
+float
+sinf (float x)
+{
+  return (float) sin ((double) x);
+}
diff --git a/lib/sinhf.c b/lib/sinhf.c
new file mode 100644 (file)
index 0000000..e44f30b
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include <math.h>
+
+float
+sinhf (float x)
+{
+  return (float) sinh ((double) x);
+}
index b0106b4..3949e49 100644 (file)
 /* Specification.  */
 #include <math.h>
 
+#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)
index 53cb66e..39939b0 100644 (file)
@@ -28,6 +28,7 @@
 # include <sys/socket.h>
 
 # include "fd-hook.h"
+# include "msvc-nothrow.h"
 
 /* Get set_winsock_errno, FD_TO_SOCKET etc. */
 # include "w32sock.h"
index 93ae5d2..68bf731 100644 (file)
 #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 <sys/socket.h>
 
+#include "msvc-nothrow.h"
+
 static inline SOCKET
 gl_fd_to_handle (int fd)
 {
index 3c31fd0..5cc9acf 100644 (file)
@@ -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 (file)
index 0000000..02ec7c2
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include <math.h>
+
+float
+sqrtf (float x)
+{
+  return (float) sqrt ((double) x);
+}
index 299e70d..6795d66 100644 (file)
 /* Specification.  */
 #include <math.h>
 
-#include <float.h>
+#if HAVE_SAME_LONG_DOUBLE_AS_DOUBLE
+
+long double
+sqrtl (long double x)
+{
+  return sqrt (x);
+}
+
+#else
+
+# include <float.h>
 
 /* A simple Newton-Raphson method. */
 long double
@@ -57,3 +67,5 @@ sqrtl (long double x)
 
   return y;
 }
+
+#endif
index 6c354d1..1397aa9 100644 (file)
@@ -34,7 +34,10 @@ orig_stat (const char *filename, struct stat *buf)
 }
 
 /* Specification.  */
-#include <sys/stat.h>
+/* Write "sys/stat.h" here, not <sys/stat.h>, otherwise OSF/1 5.1 DTK cc
+   eliminates this include because of the preliminary #include <sys/stat.h>
+   above.  */
+#include "sys/stat.h"
 
 #include <errno.h>
 #include <limits.h>
@@ -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 (file)
index 0000000..37446a7
--- /dev/null
@@ -0,0 +1,89 @@
+/* A substitute for ISO C 1x <stdalign.h>.
+
+   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 <stdalign.h> for platforms that lack it.
+
+   References:
+   ISO C1X <http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf>
+   sections 6.5.3.4, 6.7.5, 7.15.
+   C++0X <http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3242.pdf>
+   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 <stddef.h>
+#if defined __cplusplus
+   template <class __t> struct __alignof_helper { char __a; __t __b; };
+# define _Alignof(type) offsetof (__alignof_helper<type>, __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 */
index d7901dd..86b1d61 100644 (file)
@@ -37,6 +37,8 @@
 #  define WIN32_LEAN_AND_MEAN  /* avoid including junk */
 #  include <windows.h>
 
+#  include "msvc-nothrow.h"
+
 #  define CALL_WITH_ERRNO_FIX(RETTYPE, EXPRESSION, FAILED) \
   if (ferror (stream))                                                        \
     return (EXPRESSION);                                                      \
index a586c35..02aed45 100644 (file)
@@ -39,6 +39,8 @@
 #  define WIN32_LEAN_AND_MEAN  /* avoid including junk */
 #  include <windows.h>
 
+#  include "msvc-nothrow.h"
+
 #  if GNULIB_NONBLOCKING
 #   define CLEAR_ERRNO \
       errno = 0;
index edf521a..ebbf801 100644 (file)
@@ -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);
index 047fac1..a59cb08 100644 (file)
@@ -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)
index d6ecf2e..4e2c32b 100644 (file)
@@ -23,7 +23,7 @@
 
 #include <errno.h>
 
-#if GNULIB_defined_ESOCK /* native Windows platforms */
+#if GNULIB_defined_EWINSOCK /* native Windows platforms */
 # if HAVE_WINSOCK2_H
 #  include <winsock2.h>
 # 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 <errno.h> */
     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 */
index 81e4a50..09540b9 100644 (file)
@@ -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 \
index 2b3f1f2..e6cf99b 100644 (file)
@@ -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
index a82b2d4..7eaf28d 100644 (file)
 #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 <stddef.h>
+#endif
+
 
 /* The definitions of _GL_FUNCDECL_RPL etc. are copied here.  */
 
index 1bb13de..a0634fe 100644 (file)
@@ -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
index 5a415ca..7caab1d 100644 (file)
 # include <config.h>
 #endif
 
+/* Specification.  */
+#include <string.h>
+
 #include <signal.h>
 #include <stdio.h>
 #include <stdlib.h>
-#include <string.h>
 
 #ifdef _LIBC
 # include <libintl.h>
@@ -54,7 +56,9 @@ extern const char *const _sys_siglist_internal[] attribute_hidden;
 #else /* !_LIBC */
 
 /* NetBSD declares sys_siglist in unistd.h. */
-# include <unistd.h>
+# if HAVE_UNISTD_H
+#  include <unistd.h>
+# endif
 
 # define INTUSE(x) (x)
 
index 7d43c27..397508a 100644 (file)
 #  include <string.h>
 # 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 <winsock2.h>
-#  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 <winsock2.h>
+#   undef _GL_INCLUDING_WINSOCK2_H
+#  endif
+#  include <io.h>
 # endif
 #endif
 
index c42497d..107c180 100644 (file)
@@ -85,7 +85,7 @@ typedef unsigned short  sa_family_t;
 #  endif
 # endif
 #else
-# include <alignof.h>
+# include <stdalign.h>
 /* 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
index 53b3081..9f7bf76 100644 (file)
 /* 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 <io.h> and/or <direct.h>, not in <unistd.h>.  */
 #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
 # include <io.h>     /* mingw32, mingw64 */
-# include <direct.h> /* mingw64 */
+# include <direct.h> /* 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@
index ce70370..1fed8c4 100644 (file)
 #  include <time.h>
 # 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 <winsock2.h>
+#  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 <winsock2.h>.  */
+
+# 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 <unistd.h>");
+#   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 <unistd.h>");
+#   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 <sys/socket.h>");
+     _GL_WARN_ON_USE (connect,
+                      "connect() used without including <sys/socket.h>");
+     _GL_WARN_ON_USE (accept,
+                      "accept() used without including <sys/socket.h>");
+     _GL_WARN_ON_USE (bind,
+                      "bind() used without including <sys/socket.h>");
+     _GL_WARN_ON_USE (getpeername,
+                      "getpeername() used without including <sys/socket.h>");
+     _GL_WARN_ON_USE (getsockname,
+                      "getsockname() used without including <sys/socket.h>");
+     _GL_WARN_ON_USE (getsockopt,
+                      "getsockopt() used without including <sys/socket.h>");
+     _GL_WARN_ON_USE (listen,
+                      "listen() used without including <sys/socket.h>");
+     _GL_WARN_ON_USE (recv,
+                      "recv() used without including <sys/socket.h>");
+     _GL_WARN_ON_USE (send,
+                      "send() used without including <sys/socket.h>");
+     _GL_WARN_ON_USE (recvfrom,
+                      "recvfrom() used without including <sys/socket.h>");
+     _GL_WARN_ON_USE (sendto,
+                      "sendto() used without including <sys/socket.h>");
+     _GL_WARN_ON_USE (setsockopt,
+                      "setsockopt() used without including <sys/socket.h>");
+     _GL_WARN_ON_USE (shutdown,
+                      "shutdown() used without including <sys/socket.h>");
+#   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 <sys/select.h>");
+#   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 (file)
index 0000000..a1d5fda
--- /dev/null
@@ -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 <stddef.h>, not in <sys/types.h>.  */
+/* But avoid namespace pollution on glibc systems.  */
+#if ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) \
+    && ! defined __GLIBC__
+# include <stddef.h>
+#endif
+
+#endif /* _@GUARD_PREFIX@_SYS_TYPES_H */
+#endif /* _@GUARD_PREFIX@_SYS_TYPES_H */
index e043d02..04cf13d 100644 (file)
@@ -37,7 +37,7 @@
 
 #if !@HAVE_SYS_UIO_H@
 /* A platform that lacks <sys/uio.h>.  */
-/* Get 'ssize_t'.  */
+/* Get 'size_t' and 'ssize_t'.  */
 # include <sys/types.h>
 
 # ifdef __cplusplus
diff --git a/lib/tanf.c b/lib/tanf.c
new file mode 100644 (file)
index 0000000..39e1e10
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include <math.h>
+
+float
+tanf (float x)
+{
+  return (float) tan ((double) x);
+}
diff --git a/lib/tanhf.c b/lib/tanhf.c
new file mode 100644 (file)
index 0000000..b7591a0
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include <math.h>
+
+float
+tanhf (float x)
+{
+  return (float) tanh ((double) x);
+}
index 07fbc09..e5efb06 100644 (file)
 /* Specification.  */
 #include <math.h>
 
+#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)
index 139e0c3..130ae97 100644 (file)
@@ -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)
index 16403f7..73a3345 100644 (file)
@@ -16,7 +16,9 @@
 
 /* Written by Bruno Haible <bruno@clisp.org>, 2007.  */
 
-#include <config.h>
+#if ! defined USE_LONG_DOUBLE
+# include <config.h>
+#endif
 
 /* Specification.  */
 #include <math.h>
index aa0d405..8af2c5c 100644 (file)
 
 /* Written by Bruno Haible <bruno@clisp.org>, 2007.  */
 
-#define USE_LONG_DOUBLE
-#include "trunc.c"
+#include <config.h>
+
+#if HAVE_SAME_LONG_DOUBLE_AS_DOUBLE
+
+/* Specification.  */
+# include <math.h>
+
+long double
+truncl (long double x)
+{
+  return trunc (x);
+}
+
+#else
+
+# define USE_LONG_DOUBLE
+# include "trunc.c"
+
+#endif
index c1cfb54..f53f34b 100644 (file)
 #endif
 
 /* mingw fails to declare _exit in <unistd.h>.  */
-/* mingw, BeOS, Haiku declare environ in <stdlib.h>, not in <unistd.h>.  */
+/* mingw, MSVC, BeOS, Haiku declare environ in <stdlib.h>, not in
+   <unistd.h>.  */
 /* Solaris declares getcwd not only in <unistd.h> but also in <stdlib.h>.  */
 /* But avoid namespace pollution on glibc systems.  */
 #ifndef __GLIBC__
 # include <stdlib.h>
 #endif
 
-/* mingw declares getcwd in <io.h>, not in <unistd.h>.  */
-#if ((@GNULIB_GETCWD@ || defined GNULIB_POSIXCHECK) \
+/* Native Windows platforms declare chdir, getcwd, rmdir in
+   <io.h> and/or <direct.h>, not in <unistd.h>.  */
+#if ((@GNULIB_CHDIR@ || @GNULIB_GETCWD@ || @GNULIB_RMDIR@ \
+      || defined GNULIB_POSIXCHECK) \
      && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__))
 # include <io.h>     /* mingw32, mingw64 */
-# include <direct.h> /* mingw64 */
+# include <direct.h> /* mingw64, MSVC 9 */
 #endif
 
 /* AIX and OSF/1 5.1 declare getdomainname in <netdb.h>, not in <unistd.h>.
 # include <netdb.h>
 #endif
 
+/* MSVC defines off_t in <sys/types.h>.  */
+#if !@HAVE_UNISTD_H@
+/* Get off_t.  */
+# include <sys/types.h>
+#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 <unistd.h> - "
+                 "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
-   <http://www.opengroup.org/susv3xsh/chown.html>.  */
+   See the POSIX:2008 specification
+   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/chown.html.  */
 # if @REPLACE_CHOWN@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   undef chown
@@ -280,24 +301,32 @@ _GL_WARN_ON_USE (close, "close does not portably work on sockets - "
 #endif
 
 
-#if @REPLACE_DUP@
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#  define dup rpl_dup
-# endif
+#if @GNULIB_DUP@
+# if @REPLACE_DUP@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   define dup rpl_dup
+#  endif
 _GL_FUNCDECL_RPL (dup, int, (int oldfd));
 _GL_CXXALIAS_RPL (dup, int, (int oldfd));
-#else
+# else
 _GL_CXXALIAS_SYS (dup, int, (int oldfd));
-#endif
+# endif
 _GL_CXXALIASWARN (dup);
+#elif defined GNULIB_POSIXCHECK
+# undef dup
+# if HAVE_RAW_DECL_DUP
+_GL_WARN_ON_USE (dup, "dup is unportable - "
+                 "use gnulib module dup for portability");
+# endif
+#endif
 
 
 #if @GNULIB_DUP2@
 /* Copy the file descriptor OLDFD into file descriptor NEWFD.  Do nothing if
    NEWFD = OLDFD, otherwise close NEWFD first if it is open.
    Return newfd if successful, otherwise -1 and errno set.
-   See the POSIX:2001 specification
-   <http://www.opengroup.org/susv3xsh/dup2.html>.  */
+   See the POSIX:2008 specification
+   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/dup2.html>.  */
 # 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
-   <http://www.opengroup.org/susv3xsh/fchdir.html>.  */
+   See the POSIX:2008 specification
+   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/fchdir.html>.  */
 # 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
-   <http://www.opengroup.org/susv3xsh/fsync.html>.  */
+   See POSIX:2008 specification
+   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/fdatasync.html>.  */
+# 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
+   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/fsync.html>.  */
 # 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
-   <http://www.opengroup.org/susv3xsh/ftruncate.html>.  */
+   See the POSIX:2008 specification
+   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/ftruncate.html>.  */
 # 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
-   <http://www.opengroup.org/susv3xsh/getcwd.html>.
+   See the POSIX:2008 specification
+   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/getcwd.html>.
    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
-   <http://www.opengroup.org/susv3xsh/lchown.html>.  */
+   See the POSIX:2008 specification
+   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/lchown.html>.  */
 # 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
-   <http://www.opengroup.org/susv3xsh/link.html>.  */
+   See POSIX:2008 specification
+   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/link.html>.  */
 # 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
-   <http://www.opengroup.org/susv3xsh/lseek.html>.  */
+   See the POSIX:2008 specification
+   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/lseek.html>.  */
 # 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 <http://www.opengroup.org/susv3xsh/pread.html>.  */
+   set errno and return -1.  0 indicates EOF.
+   See the POSIX:2008 specification
+   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/pread.html>.  */
 # 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
-   <http://www.opengroup.org/susv3xsh/pwrite.html>.  */
+   POSIX:2008 specification
+   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/pwrite.html>.  */
 # 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
-   <http://www.opengroup.org/susv3xsh/read.html>.  */
-# if @REPLACE_READ@ && @GNULIB_UNISTD_H_NONBLOCKING@
+   at BUF.  See the POSIX:2008 specification
+   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/read.html>.  */
+# 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
-   <http://www.opengroup.org/susv3xsh/readlink.html>.  */
+   See the POSIX:2008 specification
+   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/readlink.html>.  */
 # 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
-   <http://www.opengroup.org/susv3xsh/sleep.html>.  */
+   See the POSIX:2008 specification
+   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/sleep.html>.  */
 # 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
-   <http://www.opengroup.org/susv3xsh/sleep.html>.  */
+   <http://www.opengroup.org/susv3xsh/usleep.html>.  */
 # 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
-   <http://www.opengroup.org/susv3xsh/write.html>.  */
-# if @REPLACE_WRITE@ && (@GNULIB_UNISTD_H_NONBLOCKING@ || @GNULIB_UNISTD_H_SIGPIPE@)
+   See the POSIX:2008 specification
+   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/write.html>.  */
+# if @REPLACE_WRITE@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   undef write
 #   define write rpl_write
index be99b97..e806744 100644 (file)
@@ -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.  */
index e03b31f..6785487 100644 (file)
@@ -19,6 +19,7 @@
 
 #include <stdlib.h>
 
+#include <fcntl.h>
 #include <unistd.h>
 
 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
 }
index c190411..f7cb8de 100644 (file)
@@ -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
index 5a55e64..37f0ea8 100644 (file)
@@ -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
index d1eeaa5..40789f9 100644 (file)
@@ -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',
index 651a76d..0b8334e 100644 (file)
 /* Get O_RDWR and O_BINARY.  */
 #include <fcntl.h>
 
-/* Get _get_osfhandle() and _open_osfhandle().  */
+/* Get _open_osfhandle().  */
 #include <io.h>
 
+/* 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;
index 58b0392..1667370 100644 (file)
@@ -19,7 +19,7 @@
 #define WIN32_LEAN_AND_MEAN
 #include <windows.h>
 
-/* Get _get_osfhandle() and _open_osfhandle().  */
+/* Get _open_osfhandle().  */
 #include <io.h>
 
 #include <stdbool.h>
@@ -27,6 +27,9 @@
 #include <unistd.h>
 #include <errno.h>
 
+/* Get _get_osfhandle().  */
+#include "msvc-nothrow.h"
+
 #include "cloexec.h"
 #include "xalloc.h"
 
index f76f371..8534acb 100644 (file)
 #  define WEOF -1
 # endif
 #else
+/* MSVC defines wint_t as 'unsigned short' in <crtdefs.h>.
+   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 <crtdefs.h>
+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
index cb50c5b..641e991 100644 (file)
 #  define WEOF -1
 # endif
 #else
+/* MSVC defines wint_t as 'unsigned short' in <crtdefs.h>.
+   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 <crtdefs.h>
+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
index b0ffa94..c3537d5 100644 (file)
 /* Specification.  */
 #include <unistd.h>
 
-/* 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 <errno.h>
+# include <signal.h>
+# include <io.h>
+
+# define WIN32_LEAN_AND_MEAN  /* avoid including junk */
+# include <windows.h>
+
+# include "msvc-inval.h"
+# include "msvc-nothrow.h"
 
-#  include <errno.h>
-#  include <signal.h>
-#  include <io.h>
+# 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 <windows.h>
+  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
index 97ebd90..b1fdd49 100644 (file)
 
 #include "intprops.h"
 
+/* xstrtoll.c and xstrtoull.c, which include this file, require that
+   ULLONG_MAX, LLONG_MAX, LLONG_MIN are defined, but <limits.h> 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)
 {
index dba8dbf..400de55 100644 (file)
@@ -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"`])
 ])
index ecf0384..d6a448a 100644 (file)
--- 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 (file)
index 0000000..4c2e133
--- /dev/null
@@ -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 (file)
index 0000000..0bd6afc
--- /dev/null
@@ -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])
+])
index 759be42..7597802 100644 (file)
@@ -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 <math.h> 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 <math.h>.
-    AC_CHECK_DECL([acosl], , [HAVE_DECL_ACOSL=0], [#include <math.h>])
+    AC_CHECK_DECL([acosl], , [HAVE_DECL_ACOSL=0], [[#include <math.h>]])
   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])
 ])
index fbb5d64..3477953 100644 (file)
@@ -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
index 4e3940a..a9963ee 100644 (file)
@@ -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 <errno.h>])
+                [[#include <errno.h>]])
   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 <errno.h>])
+                [[#include <errno.h>]])
 
   # Check if program_invocation_name and program_invocation_short_name
   # are defined elsewhere. It is improbable that only one of them will
index 6dc0fdb..1df7401 100644 (file)
@@ -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 (file)
index 0000000..6fb55b2
--- /dev/null
@@ -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 (file)
index 0000000..ad69aaf
--- /dev/null
@@ -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])
+])
index 882a8d3..cef97a2 100644 (file)
@@ -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 <math.h> 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 <math.h>.
-    AC_CHECK_DECL([asinl], , [HAVE_DECL_ASINL=0], [#include <math.h>])
+    AC_CHECK_DECL([asinl], , [HAVE_DECL_ASINL=0], [[#include <math.h>]])
   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])
 ])
index 15c89cc..db1fe79 100644 (file)
@@ -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 (file)
index 0000000..524a157
--- /dev/null
@@ -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 (file)
index 0000000..acd9f33
--- /dev/null
@@ -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 (file)
index 0000000..34aeb59
--- /dev/null
@@ -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 (file)
index 0000000..e64ba04
--- /dev/null
@@ -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])
+])
index 52914f6..330ad77 100644 (file)
@@ -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 <math.h> 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 <math.h>.
-    AC_CHECK_DECL([atanl], , [HAVE_DECL_ATANL=0], [#include <math.h>])
+    AC_CHECK_DECL([atanl], , [HAVE_DECL_ATANL=0], [[#include <math.h>]])
   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 (file)
index 0000000..efa0ef7
--- /dev/null
@@ -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])
+])
index 8d34048..e8917e6 100644 (file)
@@ -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 <signal.h>])
+   AC_CHECK_DECLS([sigaltstack], , , [[#include <signal.h>]])
 
    AC_CHECK_HEADERS_ONCE([unistd.h ucontext.h])
 
index 8b74a6d..59f52f5 100644 (file)
@@ -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 <math.h> to declare ceilf().
   AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
   dnl Test whether ceilf() is declared.
-  AC_CHECK_DECLS([ceilf], , , [#include <math.h>])
+  AC_CHECK_DECLS([ceilf], , , [[#include <math.h>]])
   if test "$ac_cv_have_decl_ceilf" = yes; then
     dnl Test whether ceilf() can be used without libm.
     gl_FUNC_CEILF_LIBS
index 6b56820..5f56df3 100644 (file)
@@ -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 <math.h> to declare ceill().
   AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
+
   dnl Test whether ceill() is declared.
-  AC_CHECK_DECLS([ceill], , , [#include <math.h>])
+  AC_CHECK_DECLS([ceill], , , [[#include <math.h>]])
   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])
 ])
index 9a343ac..8c38c04 100644 (file)
@@ -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 <unistd.h>
-#include <limits.h>
-#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,
index cd30d08..f860a32 100644 (file)
@@ -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 (file)
index 0000000..a57cd54
--- /dev/null
@@ -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 (file)
index 0000000..15c9bc6
--- /dev/null
@@ -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 (file)
index 0000000..00c1fe1
--- /dev/null
@@ -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 (file)
index 0000000..80c7b18
--- /dev/null
@@ -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 (file)
index 0000000..a7ca2ba
--- /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 (file)
index 0000000..d552dfc
--- /dev/null
@@ -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 (file)
index 0000000..5fcf795
--- /dev/null
@@ -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 (file)
index 0000000..0bbb3c3
--- /dev/null
@@ -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])
+])
index 3cb9002..946d664 100644 (file)
@@ -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 <math.h> 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 <math.h>.
-    AC_CHECK_DECL([cosl], , [HAVE_DECL_COSL=0], [#include <math.h>])
+    AC_CHECK_DECL([cosl], , [HAVE_DECL_COSL=0], [[#include <math.h>]])
   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])
 ])
index fdc2c44..ab45170 100644 (file)
@@ -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 <dirent.h> 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 <dirent.h>
-    ]], [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])
 ])
index 62dcd88..ea75e4e 100644 (file)
@@ -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 <sys/types.h>
-     #include <dirent.h>])
+    [[#include <sys/types.h>
+      #include <dirent.h>]])
   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 (file)
index 0000000..83d4ecb
--- /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])
+])
index 5c2cc96..1543282 100644 (file)
@@ -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], [])
index 29b8dc0..6406312 100644 (file)
@@ -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  ])
 ])
index 7457ad1..6c7982f 100644 (file)
@@ -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 <unistd.h> to declare environ.
   AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
-  gt_CHECK_VAR_DECL([#include <unistd.h>], environ)
+
+  AC_CHECK_HEADERS_ONCE([unistd.h])
+  gt_CHECK_VAR_DECL(
+    [#if HAVE_UNISTD_H
+     #include <unistd.h>
+     #endif
+     /* mingw, BeOS, Haiku declare environ in <stdlib.h>, not in <unistd.h>.  */
+     #include <stdlib.h>
+    ],
+    [environ])
   if test $gt_cv_var_environ_declaration != yes; then
     HAVE_DECL_ENVIRON=0
   fi
index 5066e62..648c634 100644 (file)
@@ -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 (file)
index 0000000..f659326
--- /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 (file)
index 0000000..0a9b4c9
--- /dev/null
@@ -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])
+])
index 8f1a9a9..af60829 100644 (file)
@@ -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 <math.h> 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 <math.h>.
-    AC_CHECK_DECL([expl], , [HAVE_DECL_EXPL=0], [#include <math.h>])
+    AC_CHECK_DECL([expl], , [HAVE_DECL_EXPL=0], [[#include <math.h>]])
   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 (file)
index 0000000..f4478c5
--- /dev/null
@@ -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 (file)
index 0000000..90e46a6
--- /dev/null
@@ -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])
+])
index d7ba5ac..640ae0b 100644 (file)
@@ -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 <unistd.h> 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])
+])
index a387dbb..30e0af1 100644 (file)
@@ -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 <fcntl.h>
@@ -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 (file)
index 0000000..76d4a72
--- /dev/null
@@ -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 (file)
index 0000000..37cfdb9
--- /dev/null
@@ -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 <unistd.h> 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 <fcntl.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <errno.h>
+#include <sys/types.h>
+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 <unistd.h> 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 <unistd.h>
+            #include <fcntl.h>
+          ]],
+          [[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])
+])
index 88db07e..bee6edc 100644 (file)
@@ -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 <sys/types.h>
            #include <sys/stat.h>
-           #include <unistd.h>
+           #if HAVE_UNISTD_H
+           # include <unistd.h>
+           #else /* on Windows with MSVC */
+           # include <io.h>
+           # include <stdlib.h>
+           # defined sleep(n) _sleep ((n) * 1000)
+           #endif
            #include <fcntl.h>
            #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);
index c466da4..03a41e6 100644 (file)
@@ -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 (file)
index 0000000..ce3d0c6
--- /dev/null
@@ -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 (file)
index 0000000..8cae2fc
--- /dev/null
@@ -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 <stdio.h>
+#include <errno.h>
+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], [])
index f0d8cfa..3ac08b2 100644 (file)
@@ -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 <dirent.h>
diff --git a/m4/fegetround.m4 b/m4/fegetround.m4
new file mode 100644 (file)
index 0000000..37db5c8
--- /dev/null
@@ -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 <fenv.h>])
+  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])
+])
index a91ee0b..f74a1f8 100644 (file)
@@ -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 <stdio.h>
-#include <unistd.h>
+#if HAVE_UNISTD_H
+# include <unistd.h>
+#else /* on Windows with MSVC */
+# include <io.h>
+#endif
        ]], [[FILE *f = fopen ("conftest.txt", "r");
          char buffer[10];
          int fd;
index 261f1ac..0420e06 100644 (file)
@@ -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 <float.h> but also to <math.h>,
+      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])
 ])
index aa76f8c..83bfc78 100644 (file)
@@ -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 <math.h> to declare floorf().
   AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
   dnl Test whether floorf() is declared.
-  AC_CHECK_DECLS([floorf], , , [#include <math.h>])
+  AC_CHECK_DECLS([floorf], , , [[#include <math.h>]])
   if test "$ac_cv_have_decl_floorf" = yes; then
     dnl Test whether floorf() can be used without libm.
     gl_FUNC_FLOORF_LIBS
index f21285d..a90c693 100644 (file)
@@ -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 <math.h> to declare floorl().
   AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
+
   dnl Test whether floorl() is declared.
-  AC_CHECK_DECLS([floorl], , , [#include <math.h>])
+  AC_CHECK_DECLS([floorl], , , [[#include <math.h>]])
   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 (file)
index 0000000..3ce3f9a
--- /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 <float.h>
+#include <math.h>
+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 (file)
index 0000000..9d6eb37
--- /dev/null
@@ -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 <float.h>
+#include <math.h>
+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 (file)
index 0000000..9193534
--- /dev/null
@@ -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 <float.h>
+#include <math.h>
+/* Override the values of <float.h>, 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 (file)
index 0000000..3254b0f
--- /dev/null
@@ -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 (file)
index 0000000..2666d78
--- /dev/null
@@ -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])
+])
index 22ba35c..150fefe 100644 (file)
@@ -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 <ctype.h>])
+  AC_CHECK_DECLS([isblank], [], [], [[#include <ctype.h>]])
   AC_CHECK_FUNCS_ONCE([btowc isblank iswctype mbsrtowcs mempcpy wmemchr wmemcpy wmempcpy])
   AC_CHECK_HEADERS_ONCE([wctype.h])
 ])
index 24bbbb1..76bca66 100644 (file)
 
 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 <unistd.h>]],
-          [[@%:@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 <unistd.h>]],
+              [[@%:@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],
index 125edcd..b0bdd10 100644 (file)
@@ -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 <float.h>
 #include <math.h>
 #include <string.h>
+#if HAVE_ALARM
+# include <unistd.h>
+#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 (file)
index 0000000..d8f58cd
--- /dev/null
@@ -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 <float.h>
+#include <math.h>
+#include <string.h>
+/* 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
+        ])
+    ])
+])
index 5843fa2..91f2a35 100644 (file)
@@ -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 <math.h>.
-  AC_CHECK_DECL([frexpl], , [HAVE_DECL_FREXPL=0], [#include <math.h>])
+  AC_CHECK_DECL([frexpl], , [HAVE_DECL_FREXPL=0], [[#include <math.h>]])
   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 <math.h>.
-  AC_CHECK_DECL([frexpl], , [HAVE_DECL_FREXPL=0], [#include <math.h>])
+  AC_CHECK_DECL([frexpl], , [HAVE_DECL_FREXPL=0], [[#include <math.h>]])
   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 (file)
index 0000000..0daea88
--- /dev/null
@@ -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 (file)
index 0000000..33b28e3
--- /dev/null
@@ -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 <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
+    AC_CACHE_CHECK([whether fstatat (..., 0) works],
+      [gl_cv_func_fstatat_zero_flag],
+      [AC_RUN_IFELSE(
+         [AC_LANG_SOURCE(
+            [[
+              #include <fcntl.h>
+              #include <sys/stat.h>
+              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
+])
index c3c3342..4a47ba4 100644 (file)
@@ -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:
-# <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203>
-# Now (in 2010), MSVC has been raised as a possible target:
-# <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21394/focus=21396>
-
 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])
 ])
index fe8d14f..962e6e8 100644 (file)
@@ -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 <ws2tcpip.h>
 #endif
-])
+]])
   if test $ac_cv_have_decl_getaddrinfo = no; then
     HAVE_DECL_GETADDRINFO=0
   fi
index fd6820d..057cc47 100644 (file)
@@ -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 <stdlib.h>
-#include <unistd.h>
-#include <limits.h>
+#if HAVE_UNISTD_H
+# include <unistd.h>
+#else /* on Windows with MSVC */
+# include <direct.h>
+#endif
 #include <string.h>
 #include <sys/stat.h>
 
+]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])
index 475ae96..d11a668 100644 (file)
@@ -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.
 
 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 <errno.h>
 #include <stdlib.h>
-#include <unistd.h>
+#if HAVE_UNISTD_H
+# include <unistd.h>
+#else
+# include <direct.h>
+#endif
 #include <string.h>
 #include <limits.h>
 #include <sys/stat.h>
 #include <sys/types.h>
 #include <fcntl.h>
 
+]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
 ])
index d3bbe59..8f3af32 100644 (file)
@@ -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 <unistd.h>
+#        if HAVE_UNISTD_H
+#         include <unistd.h>
+#        else /* on Windows with MSVC */
+#         include <direct.h>
+#        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.
index 542e4ce..07b60a6 100644 (file)
@@ -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 <sys/types.h>
-     #ifdef HAVE_SYS_SOCKET_H
-     #include <sys/socket.h>
-     #endif
-     #ifdef HAVE_NETDB_H
-     #include <netdb.h>
-     #endif
-     #include <unistd.h>
-    ])
+    [[#include <sys/types.h>
+      #ifdef HAVE_SYS_SOCKET_H
+      #include <sys/socket.h>
+      #endif
+      #ifdef HAVE_NETDB_H
+      #include <netdb.h>
+      #endif
+      #include <unistd.h>
+    ]])
   AC_CACHE_CHECK([for getdomainname's second argument type],
     [gl_cv_decl_getdomainname_argtype2],
     [if test $ac_cv_have_decl_getdomainname; then
index 40a598b..5f0fbf2 100644 (file)
@@ -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])
+])
index 76979c1..4d1530a 100644 (file)
@@ -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 <time.h>])
+  AC_CHECK_DECLS([gethrtime], [], [], [[#include <time.h>]])
   LIB_GETHRXTIME=
   if test $ac_cv_have_decl_gethrtime = no \
      || test $gl_cv_arithmetic_hrtime_t = no; then
index b75e05f..b16f40d 100644 (file)
@@ -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 <sys/loadavg.h>
-   #endif
-   #include <stdlib.h>])
+  [[#if HAVE_SYS_LOADAVG_H
+    # include <sys/loadavg.h>
+    #endif
+    #include <stdlib.h>]])
 ])# gl_GETLOADAVG
 
 
index 047a3db..8ec6e79 100644 (file)
@@ -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
 ])
 
index 64cee1e..13e55f6 100644 (file)
@@ -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 <stdio.h>
-     #if HAVE_STDIO_EXT_H
-      #include <stdio_ext.h>
-     #endif])
+    [[#include <stdio.h>
+      #if HAVE_STDIO_EXT_H
+       #include <stdio_ext.h>
+      #endif]])
   AC_CHECK_DECLS_ONCE([fflush_unlocked])
   AC_CHECK_DECLS_ONCE([flockfile])
   AC_CHECK_DECLS_ONCE([fputs_unlocked])
index 9dc8fbe..8621dec 100644 (file)
@@ -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
+#   <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00367.html>,
+#   but many more packages use AC_PROG_CC_STDC than AC_PROG_CC_C99
+#   <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00441.html>.
+# Remaining problems:
+# - When AC_PROG_CC_STDC is invoked twice, it adds the C99 enabling options
+#   to CC twice
+#   <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00431.html>.
+# - 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
index 085cd06..98fcd64 100644 (file)
@@ -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();
index ebf081a..8a1fab6 100644 (file)
@@ -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'>'])
index 45be497..4936fa3 100644 (file)
@@ -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 <arpa/inet.h> 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 <ws2tcpip.h>, 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 <ws2tcpip.h>]])
+    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 <arpa/inet.h>
-     #if HAVE_NETDB_H
-     # include <netdb.h>
-     #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 <arpa/inet.h>
+        #if HAVE_NETDB_H
+        # include <netdb.h>
+        #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.
index 9fc64df..e64da7b 100644 (file)
@@ -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 <arpa/inet.h> 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 <ws2tcpip.h>, 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 <ws2tcpip.h>]])
+    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 <arpa/inet.h>
-     #if HAVE_NETDB_H
-     # include <netdb.h>
-     #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 <arpa/inet.h>
+        #if HAVE_NETDB_H
+        # include <netdb.h>
+        #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.
index 72dbcc6..661a3ca 100644 (file)
@@ -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 <math.h> to declare isfinite.
   AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
-  AC_CHECK_DECLS([isfinite], , , [#include <math.h>])
+  AC_CHECK_DECLS([isfinite], , , [[#include <math.h>]])
   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
       ])
     ])
index 145e37e..3e4b900 100644 (file)
@@ -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 <math.h> to declare isinf.
   AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
-  AC_CHECK_DECLS([isinf], , , [#include <math.h>])
+  AC_CHECK_DECLS([isinf], , ,
+    [[#include <math.h>
+      #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 <float.h>
-                                       #include <math.h>]],
-                                     [[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 <float.h>
+#include <limits.h>
+#include <math.h>
+#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
+      ])
     ])
 ])
index 2b18b0a..48f1a48 100644 (file)
@@ -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.
index c79308b..daabe2a 100644 (file)
@@ -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
index 6986244..d83fea1 100644 (file)
@@ -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 (file)
index 0000000..eaafdc5
--- /dev/null
@@ -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])
+])
index 76101f3..f5d15fd 100644 (file)
@@ -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 <math.h>.
-  AC_CHECK_DECL([ldexpl], , [HAVE_DECL_LDEXPL=0], [#include <math.h>])
+  AC_CHECK_DECL([ldexpl], , [HAVE_DECL_LDEXPL=0], [[#include <math.h>]])
   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 (file)
index 0000000..f434763
--- /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 (file)
index 0000000..8f0bc34
--- /dev/null
@@ -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 (file)
index 0000000..ab29a0f
--- /dev/null
@@ -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])
+])
index 972d38f..7d57baf 100644 (file)
@@ -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 <math.h>])
+  AC_CHECK_DECLS([logb], , , [[#include <math.h>]])
   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 (file)
index 0000000..f4173f0
--- /dev/null
@@ -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])
+])
index dfc301a..f17e5e5 100644 (file)
@@ -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 <math.h> 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 <math.h>.
-    AC_CHECK_DECL([logl], , [HAVE_DECL_LOGL=0], [#include <math.h>])
+    AC_CHECK_DECL([logl], , [HAVE_DECL_LOGL=0], [[#include <math.h>]])
   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])
 ])
index b454884..73c4069 100644 (file)
@@ -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 <sys/types.h> /* for off_t */
 #include <stdio.h> /* for SEEK_CUR */
-#include <unistd.h>]], [[
+#if HAVE_UNISTD_H
+# include <unistd.h>
+#else /* on Windows with MSVC */
+# include <io.h>
+#endif
+]], [[
   /* Exit with success only if stdin is seekable.  */
   return lseek (0, (off_t)0, SEEK_CUR) < 0;
 ]])],
index 67db064..be68659 100644 (file)
@@ -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
index 7b46aee..e58a9e9 100644 (file)
@@ -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 <math.h>
-    ]], [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 <math.h>]],
+    [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 <float.h>]],
+          [[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])
+])
index 40a27b4..c75e7b9 100644 (file)
@@ -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 <math.h>
+             $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 <math.h>
+               $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 (file)
index 0000000..f21f7e7
--- /dev/null
@@ -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 (file)
index 0000000..03ee50b
--- /dev/null
@@ -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 (file)
index 0000000..faf58e3
--- /dev/null
@@ -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 (file)
index 0000000..fb797f0
--- /dev/null
@@ -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 (file)
index 0000000..b2f6bb4
--- /dev/null
@@ -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])
+])
index 0cc0d53..60aad95 100644 (file)
@@ -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 <windows.h>
+#include <winerror.h>
+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 <signal.h>
index 223071a..254217c 100644 (file)
@@ -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 <http://www.gnu.org/licenses/>.
+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.
 
index 43da4f2..cf42440 100644 (file)
@@ -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 <unistd.h> 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 <fcntl.h>
-#include <unistd.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <sys/types.h>
-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 <unistd.h> 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 <unistd.h>
-            #include <fcntl.h>
-          ]],
-          [[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 <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
-    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 <fcntl.h>
-              #include <sys/stat.h>
-              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 (file)
index 0000000..043dee4
--- /dev/null
@@ -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
+  ])
+])
index 0856722..4913fa0 100644 (file)
@@ -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 <unistd.h>
+#endif
+#include <limits.h>
+#if defined HAVE_SYS_PARAM_H && !defined PATH_MAX && !defined MAXPATHLEN
+# include <sys/param.h>
+#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 (file)
index 0000000..871c3fa
--- /dev/null
@@ -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],
+[
+  :
+])
index 86e2020..cb17ba3 100644 (file)
@@ -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 <errno.h>
                 #include <stdio.h>
+                #include <stdlib.h>
+                #include <string.h>
               ]],
               [[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
 ])
index e489df7..91a494c 100644 (file)
@@ -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 <windows.h>
+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.
index c452981..c958f19 100644 (file)
@@ -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 <stdio.h>
-]], [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 <stdio.h>]],
+             [[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 (file)
index 0000000..b853bb6
--- /dev/null
@@ -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 <stdlib.h> 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 (file)
index 0000000..a495973
--- /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 (file)
index 0000000..947573e
--- /dev/null
@@ -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])
+])
index 9c13d4e..e15628a 100644 (file)
@@ -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 <math.h>.
-    AC_CHECK_DECL([frexpl], , [HAVE_DECL_FREXPL=0], [#include <math.h>])
+    AC_CHECK_DECL([frexpl], , [HAVE_DECL_FREXPL=0], [[#include <math.h>]])
   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 <math.h>.
-        AC_CHECK_DECL([ldexpl], , [HAVE_DECL_LDEXPL=0], [#include <math.h>])
+        AC_CHECK_DECL([ldexpl], , [HAVE_DECL_LDEXPL=0], [[#include <math.h>]])
         ;;
     esac
   fi
index 1538d23..0814c91 100644 (file)
@@ -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 <stdio.h>
 #include <string.h>
 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
      <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00107.html> */
-  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 <stdio.h>
 #include <string.h>
 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 <stdio.h>
+#include <stdlib.h>
 #include <string.h>
+#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 <stdio.h>
 #include <string.h>
 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 <stdio.h>
 #include <string.h>
+#if HAVE_SNPRINTF
+# define my_snprintf snprintf
+#else
+# include <stdarg.h>
+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 <stdio.h>
 #include <string.h>
+#if HAVE_SNPRINTF
+# define my_snprintf snprintf
+#else
+# include <stdarg.h>
+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 <stdio.h>
 #include <string.h>
+#if HAVE_SNPRINTF
+# define my_snprintf snprintf
+#else
+# include <stdarg.h>
+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 <stdio.h>
+#if HAVE_SNPRINTF
+# define my_snprintf snprintf
+#else
+# include <stdarg.h>
+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                 #  #  #  #  #  #  .  .  #  #  .  #  #  ?  .  #  #  #  .  .
index b60dbc8..1ac8027 100644 (file)
@@ -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.h>]],
+             [[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.h>]],
+               [[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])
 
index f06bc11..6739140 100644 (file)
@@ -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 (file)
index 0000000..695fe79
--- /dev/null
@@ -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 <stdlib.h> 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 <stddef.h>
+              #include <stdlib.h>
+              /* 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 (file)
index 0000000..0ceed77
--- /dev/null
@@ -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])
+])
index 310e5eb..5d484b6 100644 (file)
@@ -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 (file)
index 0000000..cfeed08
--- /dev/null
@@ -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
+])
index a5ab067..b7ce9e4 100644 (file)
@@ -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.
index 81b22ed..8774b20 100644 (file)
@@ -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],,,[[
 /* <sys/types.h> is a prerequisite of <utmp.h> on FreeBSD 8.0, OpenBSD 4.6.  */
 #include <sys/types.h>
 #ifdef HAVE_UTMP_H
 # include <utmp.h>
 #endif
-])
+]])
     utmp_includes="\
 AC_INCLUDES_DEFAULT
 #ifdef HAVE_UTMPX_H
index e48fab0..fa46253 100644 (file)
@@ -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 <ctype.h>])
+  AC_CHECK_DECLS([isblank], [], [], [[#include <ctype.h>]])
 ])
index c938b0d..af8d584 100644 (file)
@@ -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 <stdio.h>
-#          include <stdlib.h>
-#          include <unistd.h>
-           ]],
-           [[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 <stdio.h>
+#             include <stdlib.h>
+#             include <unistd.h>
+              ]],
+              [[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 (file)
index 0000000..b9b6b3d
--- /dev/null
@@ -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 (file)
index 0000000..410db8b
--- /dev/null
@@ -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 (file)
index 0000000..bb5f046
--- /dev/null
@@ -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 (file)
index 0000000..bb88ee8
--- /dev/null
@@ -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])
+])
index 5284c7e..0b1a65c 100644 (file)
@@ -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 <stdio.h>
            #include <errno.h>
-           #include <unistd.h>
+           #if HAVE_UNISTD_H
+           # include <unistd.h>
+           #else /* on Windows with MSVC */
+           # include <direct.h>
+           #endif
 ]], [[int result = 0;
       if (!rmdir ("conftest.file/"))
         result |= 1;
index 9f6691f..e64208e 100644 (file)
@@ -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 <math.h> to declare round().
   AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
-  AC_CHECK_DECLS([round], , , [#include <math.h>])
+  AC_CHECK_DECLS([round], , , [[#include <math.h>]])
   if test "$ac_cv_have_decl_round" = yes; then
     gl_CHECK_MATH_LIB([ROUND_LIBM], [x = round (x);])
     if test "$ROUND_LIBM" != missing; then
index 9c21340..f8e7f3e 100644 (file)
@@ -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 <math.h> to declare roundf().
   AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
-  AC_CHECK_DECLS([roundf], , , [#include <math.h>])
+  AC_CHECK_DECLS([roundf], , , [[#include <math.h>]])
   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 <math.h>])
+    AC_CHECK_DECLS([ceilf, floorf], , , [[#include <math.h>]])
     if test "$ac_cv_have_decl_floorf" = yes \
        && test "$ac_cv_have_decl_ceilf" = yes; then
       gl_FUNC_FLOORF_LIBS
index 9d0d381..fcabe9e 100644 (file)
@@ -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 <math.h> to declare roundl().
   AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
-  AC_CHECK_DECLS([roundl], , , [#include <math.h>])
+
+  AC_CHECK_DECLS([roundl], , , [[#include <math.h>]])
   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 <math.h>])
-    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 <math.h>]])
+      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])
index 9cff891..28b6dbd 100644 (file)
@@ -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 <sched.h>
        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 <sched.h>])
      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"])
index d9c3465..a58f0ac 100644 (file)
@@ -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 <windows.h>
+int
+main ()
+{
+  MsgWaitForMultipleObjects (0, NULL, 0, 0, 0);
+  return 0;
+}]])],
+          [],
+          [LIB_SELECT="$LIB_SELECT -luser32"])
+        ;;
+    esac
+  fi
+  AC_SUBST([LIB_SELECT])
 ])
index 8927a6c..bc215a6 100644 (file)
@@ -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'],
index b9536fb..5cf54a0 100644 (file)
@@ -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 <signal.h>
     ]])
 
+  dnl Ensure the type pid_t gets defined.
+  AC_REQUIRE([AC_TYPE_PID_T])
+
   AC_REQUIRE([AC_TYPE_UID_T])
 
   dnl Persuade glibc <signal.h> 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])
 ])
index 15b7425..eda856d 100644 (file)
@@ -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])
+])
index 696a9b6..bbeb1f4 100644 (file)
@@ -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 <math.h>])
+        AC_CHECK_DECLS([copysignf], , , [[#include <math.h>]])
         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 <math.h>])
+        AC_CHECK_DECLS([copysign], , , [[#include <math.h>]])
         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 <math.h>])
+        AC_CHECK_DECLS([copysignl], , , [[#include <math.h>]])
         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 (file)
index 0000000..c991bad
--- /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 (file)
index 0000000..dbe84ea
--- /dev/null
@@ -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 (file)
index 0000000..0528c5b
--- /dev/null
@@ -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 (file)
index 0000000..99d43b9
--- /dev/null
@@ -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])
+])
index 5666cab..277dfdd 100644 (file)
@@ -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 <math.h> 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 <math.h>.
-    AC_CHECK_DECL([sinl], , [HAVE_DECL_SINL=0], [#include <math.h>])
+    AC_CHECK_DECL([sinl], , [HAVE_DECL_SINL=0], [[#include <math.h>]])
   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])
 ])
index 37f19a9..74362e4 100644 (file)
@@ -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 <unistd.h>])
+  AC_CHECK_DECLS([sleep], , , [[#include <unistd.h>]])
   AC_CHECK_FUNCS_ONCE([sleep])
   if test $ac_cv_have_decl_sleep != yes; then
     HAVE_SLEEP=0
index 4903b6a..5f0df9a 100644 (file)
@@ -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 (file)
index 0000000..962a926
--- /dev/null
@@ -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])
+])
index 87ffc37..5f09530 100644 (file)
@@ -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 <math.h> 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 <math.h>.
-    AC_CHECK_DECL([sqrtl], , [HAVE_DECL_SQRTL=0], [#include <math.h>])
+    AC_CHECK_DECL([sqrtl], , [HAVE_DECL_SQRTL=0], [[#include <math.h>]])
   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 (file)
index 0000000..2641dce
--- /dev/null
@@ -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 <stdalign.h> 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 <stdalign.h>
+            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"])
+])
index c75e957..092161c 100644 (file)
@@ -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 <wchar.h> and <wctype.h> 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.
index a8326f3..39bf80e 100644 (file)
@@ -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 <stdio.h>
-    ]], [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])
index 25fdada..0a8a9e5 100644 (file)
@@ -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 <random.h>
 #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])
index 0c5cc69..1d4a653 100644 (file)
@@ -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
index 12ca5eb..481f8f3 100644 (file)
@@ -1,5 +1,5 @@
 # Configure a replacement for <strings.h>.
-# 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.
index f5c70ef..f4b0143 100644 (file)
@@ -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 <signal.h>])
+  AC_CHECK_DECLS([_sys_siglist], [], [], [[#include <signal.h>]])
 ])
index fc41912..83ebac6 100644 (file)
@@ -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 <sys/types.h> or
   dnl <sys/stat.h>.
   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 <sys/stat.h>
-    ]], [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])
index 3a3adc8..064e0de 100644 (file)
@@ -1,5 +1,5 @@
 # Configure a replacement for <sys/time.h>.
-# 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 <winsock2.h>
+  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 <sys/time.h>
             #endif
             #include <time.h>
+            #if HAVE_WINSOCK2_H
+            # include <winsock2.h>
+            #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 (file)
index 0000000..62113df
--- /dev/null
@@ -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],
+[
+])
index e3b147c..7cb76c2 100644 (file)
@@ -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 <sys/wait.h> 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 <sys/wait.h>]],
diff --git a/m4/tan.m4 b/m4/tan.m4
new file mode 100644 (file)
index 0000000..22ebed7
--- /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 (file)
index 0000000..37f4874
--- /dev/null
@@ -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 (file)
index 0000000..39f4144
--- /dev/null
@@ -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 (file)
index 0000000..2608f97
--- /dev/null
@@ -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])
+])
index 5f3f73e..0a1ab22 100644 (file)
@@ -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 <math.h> 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 <math.h>.
-    AC_CHECK_DECL([tanl], , [HAVE_DECL_TANL=0], [#include <math.h>])
+    AC_CHECK_DECL([tanl], , [HAVE_DECL_TANL=0], [[#include <math.h>]])
   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])
 ])
index 2b799ef..33a2358 100644 (file)
@@ -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.
index 615da1c..3454b23 100644 (file)
@@ -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,
index 6231101..e7a1af1 100644 (file)
@@ -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 <math.h> to declare trunc().
   AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
   dnl Test whether trunc() is declared.
-  AC_CHECK_DECLS([trunc], , , [#include <math.h>])
+  AC_CHECK_DECLS([trunc], , , [[#include <math.h>]])
   if test "$ac_cv_have_decl_trunc" = yes; then
     dnl Test whether trunc() can be used without libm.
     TRUNC_LIBM=?
index 67f8bb6..346f0c8 100644 (file)
@@ -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 <math.h> to declare truncf().
   AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
   dnl Test whether truncf() is declared.
-  AC_CHECK_DECLS([truncf], , , [#include <math.h>])
+  AC_CHECK_DECLS([truncf], , , [[#include <math.h>]])
   if test "$ac_cv_have_decl_truncf" = yes; then
     dnl Test whether truncf() can be used without libm.
     TRUNCF_LIBM=?
index c594236..c4a9971 100644 (file)
@@ -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 <math.h> to declare truncl().
   AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
+
   dnl Test whether truncl() is declared.
-  AC_CHECK_DECLS([truncl], , , [#include <math.h>])
+  AC_CHECK_DECLS([truncl], , , [[#include <math.h>]])
   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])
 ])
index fb6fe07..b4eca68 100644 (file)
@@ -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 <unistd.h>
+  gl_WARN_ON_USE_PREPARE([[
+#if HAVE_UNISTD_H
+# include <unistd.h>
+#endif
 /* Some systems declare various items in the wrong headers.  */
 #if !(defined __GLIBC__ && !defined __UCLIBC__)
 # include <fcntl.h>
@@ -33,8 +39,8 @@ AC_DEFUN([gl_UNISTD_H],
 #  include <io.h>
 # 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])
index 49cd3bb..d6865a9 100644 (file)
@@ -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 <unistd.h>
+         [[#if HAVE_UNISTD_H
+           # include <unistd.h>
+           #else /* on Windows with MSVC */
+           # include <io.h>
+           #endif
            #include <errno.h>
          ]],
          [[int result = 0;
@@ -70,7 +75,12 @@ AC_DEFUN([gl_FUNC_UNLINK],
            AC_RUN_IFELSE(
              [AC_LANG_SOURCE([[
                 #include <stdlib.h>
-                #include <unistd.h>
+                #if HAVE_UNISTD_H
+                # include <unistd.h>
+                #else /* on Windows with MSVC */
+                # include <direct.h>
+                # include <io.h>
+                #endif
                 int main ()
                 {
                   int result = 0;
diff --git a/m4/unlinkat.m4 b/m4/unlinkat.m4
new file mode 100644 (file)
index 0000000..724d3cd
--- /dev/null
@@ -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
+])
index ab9e25a..0a2a9a8 100644 (file)
@@ -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=
index 32ea985..da0a6d9 100644 (file)
@@ -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 <stdio.h>])
+  AC_CHECK_DECLS([_snprintf], , , [[#include <stdio.h>]])
+  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])
index b5ae66e..3b72088 100644 (file)
@@ -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
index 8175d00..85cc620 100644 (file)
@@ -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: <stdio.h> must be included before
    <wchar.h>.
    BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included
@@ -113,7 +113,7 @@ int main ()
 #include <stdio.h>
 #include <time.h>
 #include <wchar.h>
-])
+]])
       if test $ac_cv_have_decl_wctob != yes; then
         HAVE_DECL_WCTOB=0
       fi
index 8a97e38..5d40813 100644 (file)
@@ -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 <string.h>. */
 #include <string.h>
 /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
@@ -29,7 +29,7 @@ AC_DEFUN([gl_FUNC_WCWIDTH],
 #include <stdio.h>
 #include <time.h>
 #include <wchar.h>
-])
+]])
   if test $ac_cv_have_decl_wcwidth != yes; then
     HAVE_DECL_WCWIDTH=0
   fi
index 2853045..082bb87 100644 (file)
@@ -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: <stdio.h> must be included before
+   <wchar.h>.
+   BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included
+   before <wchar.h>.  */
+#include <stddef.h>
+#include <stdio.h>
+#include <time.h>
+#include <wchar.h>
+]],
+          [[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
 ])
index ec86e42..4e6e341 100644 (file)
@@ -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: <stdio.h> must be included before
+   <wchar.h>.
+   BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included
+   before <wchar.h>.  */
+#include <stddef.h>
+#include <stdio.h>
+#include <time.h>
+#include <wchar.h>
+]],
+          [[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
 ])
index 917c603..695de46 100644 (file)
@@ -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: <stdio.h> must be included before
+   <wchar.h>.
+   BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included
+   before <wchar.h>.  */
+#include <stddef.h>
+#include <stdio.h>
+#include <time.h>
+#include <wchar.h>
+]],
+          [[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
 ])
index 73884c8..5f1cf0c 100644 (file)
@@ -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: <stdio.h> must be included before
+   <wchar.h>.
+   BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included
+   before <wchar.h>.  */
+#include <stddef.h>
+#include <stdio.h>
+#include <time.h>
+#include <wchar.h>
+]],
+          [[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
 ])
index 9674c12..9218226 100644 (file)
@@ -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: <stdio.h> must be included before
+   <wchar.h>.
+   BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included
+   before <wchar.h>.  */
+#include <stddef.h>
+#include <stdio.h>
+#include <time.h>
+#include <wchar.h>
+]],
+          [[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
 ])
index c39d3d0..4cfff0e 100644 (file)
@@ -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])
+])
index fb46f98..059a56d 100644 (file)
@@ -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:
 <sys/socket.h>
 
+Link:
+$(LIBSOCKET)
+
 License:
 LGPLv2+
 
diff --git a/modules/accept-tests b/modules/accept-tests
new file mode 100644 (file)
index 0000000..a03be0a
--- /dev/null
@@ -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@
index 009575c..e931976 100644 (file)
@@ -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:
 <sys/socket.h>
 
+Link:
+$(LIBSOCKET)
+
 License:
 LGPL
 
diff --git a/modules/accept4-tests b/modules/accept4-tests
new file mode 100644 (file)
index 0000000..ad8f5fc
--- /dev/null
@@ -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@
index f5913c2..434a634 100644 (file)
@@ -12,6 +12,7 @@ m4/acl.m4
 
 Depends-on:
 error
+fstat
 gettext-h
 quote
 sys_stat
index 3ab9997..36908b3 100644 (file)
@@ -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)
index cceee87..1ddb3fc 100644 (file)
@@ -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 (file)
index 0000000..aa61b03
--- /dev/null
@@ -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:
+<math.h>
+
+Link:
+$(ACOSF_LIBM)
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
diff --git a/modules/acosf-tests b/modules/acosf-tests
new file mode 100644 (file)
index 0000000..a151fbd
--- /dev/null
@@ -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@
index 65152ad..2ca9ebe 100644 (file)
@@ -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
index 8c621d5..a9668cf 100644 (file)
@@ -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])
index 162defe..2cdd959 100644 (file)
@@ -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])
index fa39580..8d49681 100644 (file)
@@ -35,6 +35,7 @@ strcase
 extensions
 vsnprintf
 sleep
+stdalign
 strerror
 memchr
 memmove
index 8802e8f..f7ecaa3 100644 (file)
@@ -18,7 +18,7 @@ lib_SOURCES += argv-iter.c argv-iter.h
 Include:
 "argv-iter.h"
 
-License
+License:
 GPL
 
 Maintainer:
index 6653ed4..005690f 100644 (file)
@@ -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)' \
index e6c496b..ac11458 100644 (file)
@@ -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 (file)
index 0000000..395ff2c
--- /dev/null
@@ -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:
+<math.h>
+
+Link:
+$(ASINF_LIBM)
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
diff --git a/modules/asinf-tests b/modules/asinf-tests
new file mode 100644 (file)
index 0000000..0e234af
--- /dev/null
@@ -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@
index bc9c071..8abb65b 100644 (file)
@@ -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 (file)
index 0000000..524750b
--- /dev/null
@@ -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
index 9c59601..5a82663 100644 (file)
@@ -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:
 
index 877cc6b..9b4bf56 100644 (file)
@@ -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 (file)
index 0000000..f2d7dc6
--- /dev/null
@@ -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:
+<math.h>
+
+Link:
+$(ATAN2F_LIBM)
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
diff --git a/modules/atan2f-tests b/modules/atan2f-tests
new file mode 100644 (file)
index 0000000..6523e8b
--- /dev/null
@@ -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 (file)
index 0000000..b17a4e6
--- /dev/null
@@ -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:
+<math.h>
+
+Link:
+$(ATANF_LIBM)
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
diff --git a/modules/atanf-tests b/modules/atanf-tests
new file mode 100644 (file)
index 0000000..265ea21
--- /dev/null
@@ -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@
index 1fd0d9a..a600846 100644 (file)
@@ -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
index c7ab86c..dbd26b6 100644 (file)
@@ -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 (file)
index 0000000..20f38cf
--- /dev/null
@@ -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 (file)
index 0000000..1422395
--- /dev/null
@@ -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
index 5c4595f..e46bd26 100644 (file)
@@ -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:
 <sys/socket.h>
 
+Link:
+$(LIBSOCKET)
+
 License:
 LGPLv2+
 
diff --git a/modules/bind-tests b/modules/bind-tests
new file mode 100644 (file)
index 0000000..9ffb71f
--- /dev/null
@@ -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)
index 2a168b5..4051d1c 100644 (file)
@@ -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
index 040fd1b..6ead402 100644 (file)
@@ -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
index 4ab7f38..a5d860f 100644 (file)
@@ -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
index 09ae4f3..d6176c8 100644 (file)
@@ -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 (file)
index 0000000..b827339
--- /dev/null
@@ -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:
+<unistd.h>
+
+License:
+LGPLv2+
+
+Maintainer:
+Bruno Haible
index a456b13..74d9c33 100644 (file)
@@ -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]
index 095a408..7455b32 100644 (file)
@@ -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 (file)
index 0000000..5ee0d0c
--- /dev/null
@@ -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
index 1c271f0..9c7294b 100644 (file)
@@ -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]
index 3a76b9e..524716c 100644 (file)
@@ -4,6 +4,7 @@ tests/macros.h
 
 Depends-on:
 binary-io
+msvc-nothrow
 
 configure.ac:
 
index adec040..6451ce2 100644 (file)
@@ -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 (file)
index 0000000..5716319
--- /dev/null
@@ -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 (file)
index 0000000..1ebff9c
--- /dev/null
@@ -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:
+<dirent.h>
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
index c90f094..c77632c 100644 (file)
@@ -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:
 <sys/socket.h>
 
+Link:
+$(LIBSOCKET)
+
 License:
 LGPLv2+
 
diff --git a/modules/connect-tests b/modules/connect-tests
new file mode 100644 (file)
index 0000000..8b3c710
--- /dev/null
@@ -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)
index 4ca553e..6a35db2 100644 (file)
@@ -10,6 +10,7 @@ Depends-on:
 acl
 binary-io
 error
+fstat
 full-write
 gettext-h
 open
index ab7f632..cc06a0b 100644 (file)
@@ -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@
index 5318e80..656aa50 100644 (file)
@@ -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 (file)
index 0000000..a446046
--- /dev/null
@@ -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:
+<math.h>
+
+Link:
+$(COPYSIGNF_LIBM)
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
diff --git a/modules/copysignf-tests b/modules/copysignf-tests
new file mode 100644 (file)
index 0000000..78b042c
--- /dev/null
@@ -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 (file)
index 0000000..f3d1fd3
--- /dev/null
@@ -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:
+<math.h>
+
+Link:
+$(COPYSIGNL_LIBM)
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
diff --git a/modules/copysignl-tests b/modules/copysignl-tests
new file mode 100644 (file)
index 0000000..1cb5f82
--- /dev/null
@@ -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@
index eae9a4d..8337275 100644 (file)
@@ -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 (file)
index 0000000..b9b9860
--- /dev/null
@@ -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:
+<math.h>
+
+Link:
+$(COSF_LIBM)
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
diff --git a/modules/cosf-tests b/modules/cosf-tests
new file mode 100644 (file)
index 0000000..b8c6b33
--- /dev/null
@@ -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@
index 4fd5c3a..ec4e049 100644 (file)
@@ -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 (file)
index 0000000..d8a1e4b
--- /dev/null
@@ -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:
+<math.h>
+
+Link:
+$(COSHF_LIBM)
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
diff --git a/modules/coshf-tests b/modules/coshf-tests
new file mode 100644 (file)
index 0000000..ae9327e
--- /dev/null
@@ -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@
index 65fcbd1..2b7aaea 100644 (file)
@@ -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])
 
index 34a310c..7df6b95 100644 (file)
@@ -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:
index 4900667..bbd9ba9 100644 (file)
@@ -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:
index fd7cb76..685899d 100644 (file)
@@ -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:
index cd1973e..109ec5e 100644 (file)
@@ -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:
index c73351b..6235125 100644 (file)
@@ -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:
index 1240549..5e5beaa 100644 (file)
@@ -5,8 +5,6 @@ Files:
 m4/gc-md2.m4
 
 Depends-on:
-stdint
-minmax
 crypto/gc
 crypto/md2
 
index cdc6005..e46589b 100644 (file)
@@ -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:
index a1075b8..0d6b272 100644 (file)
@@ -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:
index e01e12d..249f47d 100644 (file)
@@ -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:
index b9efdda..f959005 100644 (file)
@@ -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:
index 0a4d061..e0b2b04 100644 (file)
@@ -7,6 +7,7 @@ lib/md4.c
 m4/md4.m4
 
 Depends-on:
+stdalign
 stdint
 
 configure.ac:
index 8cad978..4ae0c57 100644 (file)
@@ -7,6 +7,7 @@ lib/md5.c
 m4/md5.m4
 
 Depends-on:
+stdalign
 stdint
 
 configure.ac:
index 2a347b0..8d00f31 100644 (file)
@@ -7,6 +7,7 @@ lib/sha1.c
 m4/sha1.m4
 
 Depends-on:
+stdalign
 stdint
 
 configure.ac:
index a5732bd..f3f1d64 100644 (file)
@@ -7,6 +7,7 @@ lib/sha256.c
 m4/sha256.m4
 
 Depends-on:
+stdalign
 stdint
 
 configure.ac:
index 9d871d4..a5065c4 100644 (file)
@@ -7,6 +7,7 @@ lib/sha512.c
 m4/sha512.m4
 
 Depends-on:
+stdalign
 stdint
 u64
 
index 562db14..ef151c4 100644 (file)
@@ -17,7 +17,7 @@ lib_SOURCES += di-set.c di-set.h
 Include:
 "di-set.h"
 
-License
+License:
 GPL
 
 Maintainer:
index 2e4fbee..6f615b4 100644 (file)
@@ -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)' \
index 4c22380..b38c58e 100644 (file)
@@ -9,7 +9,9 @@ m4/dirent-safer.m4
 
 Depends-on:
 dirent
+closedir
 dirfd
+opendir
 unistd-safer
 
 configure.ac:
index d516d52..4ae8965 100644 (file)
@@ -4,6 +4,8 @@ tests/macros.h
 
 Depends-on:
 dup2
+opendir
+closedir
 
 configure.ac:
 
index 2423d61..c3b257b 100644 (file)
@@ -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
index 219761f..0c5a6e8 100644 (file)
@@ -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 (file)
index 0000000..1a46c83
--- /dev/null
@@ -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 (file)
index 0000000..85f295d
--- /dev/null
@@ -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:
+<unistd.h>
+
+License:
+LGPLv2+
+
+Maintainer:
+Bruno Haible
diff --git a/modules/dup-tests b/modules/dup-tests
new file mode 100644 (file)
index 0000000..36d9f5b
--- /dev/null
@@ -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
index f9a1ee3..2ad65d1 100644 (file)
@@ -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])
 
index a973fd7..7893b85 100644 (file)
@@ -5,6 +5,9 @@ tests/macros.h
 
 Depends-on:
 binary-io
+close
+fcntl-h
+msvc-nothrow
 open
 
 configure.ac:
index 26dd5d8..03f1cad 100644 (file)
@@ -4,7 +4,9 @@ tests/signature.h
 tests/macros.h
 
 Depends-on:
+msvc-nothrow
 open
+close
 
 configure.ac:
 
index ae12b45..f867617 100644 (file)
@@ -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
index 3dd0225..072a4e6 100644 (file)
@@ -1,4 +1,5 @@
 Files:
+tests/init.sh
 tests/test-exclude.c
 tests/test-exclude1.sh
 tests/test-exclude2.sh
index a65696b..f4584ab 100644 (file)
@@ -14,6 +14,7 @@ error
 fatal-signal
 wait-process
 gettext-h
+msvc-nothrow
 spawn
 posix_spawnp
 posix_spawn_file_actions_init
index f90548a..b8110da 100644 (file)
@@ -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 (file)
index 0000000..857fa25
--- /dev/null
@@ -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:
+<math.h>
+
+Link:
+$(EXPF_LIBM)
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
diff --git a/modules/expf-tests b/modules/expf-tests
new file mode 100644 (file)
index 0000000..ec6d582
--- /dev/null
@@ -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@
index ed377c3..7df4fb6 100644 (file)
@@ -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
index 8b70430..15a1355 100644 (file)
@@ -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 (file)
index 0000000..2b203d1
--- /dev/null
@@ -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:
+<math.h>
+
+Link:
+$(FABSF_LIBM)
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
diff --git a/modules/fabsf-tests b/modules/fabsf-tests
new file mode 100644 (file)
index 0000000..2b8a10d
--- /dev/null
@@ -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@
index ce8fa0d..768ec13 100644 (file)
@@ -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 (file)
index 0000000..144e096
--- /dev/null
@@ -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@
index 7b7cb04..39a62e5 100644 (file)
@@ -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]
index 8f82dce..89ddf71 100644 (file)
@@ -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 (file)
index 0000000..e86678c
--- /dev/null
@@ -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 (file)
index 0000000..f81dd81
--- /dev/null
@@ -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:
+<sys/stat.h>
+
+License:
+GPL
+
+Maintainer:
+Jim Meyering, Eric Blake
diff --git a/modules/fchmodat-tests b/modules/fchmodat-tests
new file mode 100644 (file)
index 0000000..a240129
--- /dev/null
@@ -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 (file)
index 0000000..a57db94
--- /dev/null
@@ -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 (file)
index 0000000..886b6b3
--- /dev/null
@@ -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:
+<unistd.h>
+
+License:
+GPL
+
+Maintainer:
+Jim Meyering, Eric Blake
diff --git a/modules/fchownat-tests b/modules/fchownat-tests
new file mode 100644 (file)
index 0000000..1b79d47
--- /dev/null
@@ -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@
index 85f63fe..3ceba90 100644 (file)
@@ -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
index 6334f65..0f36e0d 100644 (file)
@@ -2,6 +2,7 @@ Files:
 tests/test-fclose.c
 
 Depends-on:
+fdopen
 
 configure.ac:
 
index 4c30e9e..ab7c8ad 100644 (file)
@@ -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
index 44b040c..5e34440 100644 (file)
@@ -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 (file)
index 0000000..62f710d
--- /dev/null
@@ -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:
+<unistd.h>
+
+Link:
+$(LIB_FDATASYNC)
+
+License:
+LGPLv2+
+
+Maintainer:
+Eric Blake
diff --git a/modules/fdatasync-tests b/modules/fdatasync-tests
new file mode 100644 (file)
index 0000000..cacfb8a
--- /dev/null
@@ -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 (file)
index 0000000..45f47fd
--- /dev/null
@@ -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:
+<stdio.h>
+
+License:
+LGPLv2+
+
+Maintainer:
+Bruno Haible
diff --git a/modules/fdopen-tests b/modules/fdopen-tests
new file mode 100644 (file)
index 0000000..043c5da
--- /dev/null
@@ -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
index a1c2519..ee9a875 100644 (file)
@@ -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])
 
index bee2df7..9dd53cc 100644 (file)
@@ -5,6 +5,8 @@ tests/macros.h
 
 Depends-on:
 open
+opendir
+closedir
 progname
 
 configure.ac:
index 446762b..c4dc5af 100644 (file)
@@ -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
index a447521..33c47c4 100644 (file)
@@ -7,6 +7,7 @@ tests/macros.h
 
 Depends-on:
 binary-io
+fdopen
 fseeko
 
 configure.ac:
index 7caf100..d1f78fb 100644 (file)
@@ -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 (file)
index 0000000..9e2934d
--- /dev/null
@@ -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
index 2a79750..a24e80d 100644 (file)
@@ -4,6 +4,7 @@ A correct <float.h>.
 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 $@
index 56ef9b2..73d27c6 100644 (file)
@@ -7,6 +7,7 @@ m4/flock.m4
 
 Depends-on:
 sys_file
+msvc-nothrow    [test $HAVE_FLOCK = 0]
 
 configure.ac:
 gl_FUNC_FLOCK
index 9d5fbe8..c57c3c9 100644 (file)
@@ -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
index 3e9c045..8e70043 100644 (file)
@@ -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
index 9d1bac2..fe6fdb6 100644 (file)
@@ -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
index 5273fb5..68ef0f5 100644 (file)
@@ -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 (file)
index 0000000..8c8057a
--- /dev/null
@@ -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:
+<math.h>
+
+Link:
+$(FMA_LIBM)
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
diff --git a/modules/fma-tests b/modules/fma-tests
new file mode 100644 (file)
index 0000000..b1fbc7e
--- /dev/null
@@ -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 (file)
index 0000000..fe80913
--- /dev/null
@@ -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:
+<math.h>
+
+Link:
+$(FMAF_LIBM)
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
diff --git a/modules/fmaf-tests b/modules/fmaf-tests
new file mode 100644 (file)
index 0000000..aa7fd8d
--- /dev/null
@@ -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 (file)
index 0000000..962632b
--- /dev/null
@@ -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:
+<math.h>
+
+Link:
+$(FMAL_LIBM)
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
diff --git a/modules/fmal-tests b/modules/fmal-tests
new file mode 100644 (file)
index 0000000..5f04dc4
--- /dev/null
@@ -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@
index ae82f4b..a8659c8 100644 (file)
@@ -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 (file)
index 0000000..705ce3b
--- /dev/null
@@ -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:
+<math.h>
+
+Link:
+$(FMODF_LIBM)
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
diff --git a/modules/fmodf-tests b/modules/fmodf-tests
new file mode 100644 (file)
index 0000000..5f9ca38
--- /dev/null
@@ -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@
index 64a7559..b975faa 100644 (file)
@@ -9,6 +9,7 @@ Depends-on:
 stdio
 largefile
 unistd          [test $REPLACE_FOPEN = 1]
+fstat           [test $REPLACE_FOPEN = 1]
 
 configure.ac:
 gl_FUNC_FOPEN
index 47e76c5..e7bb211 100644 (file)
@@ -11,6 +11,7 @@ Files:
 lib/fprintf.c
 m4/fprintf-posix.m4
 m4/printf.m4
+m4/math_h.m4
 
 Depends-on:
 stdio
index d2058ae..258e3bf 100644 (file)
@@ -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 (file)
index 0000000..6d99adf
--- /dev/null
@@ -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 (file)
index 0000000..0423ffc
--- /dev/null
@@ -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
index 95b5915..55e9d71 100644 (file)
@@ -4,6 +4,7 @@ tests/signature.h
 tests/macros.h
 
 Depends-on:
+fdopen
 
 configure.ac:
 
index 82ee57c..963a52e 100644 (file)
@@ -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
index 3f669f9..55ddaa4 100644 (file)
@@ -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 (file)
index 0000000..efb2db7
--- /dev/null
@@ -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:
+<math.h>
+
+Link:
+$(FREXPF_LIBM)
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
diff --git a/modules/frexpf-tests b/modules/frexpf-tests
new file mode 100644 (file)
index 0000000..34252a8
--- /dev/null
@@ -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@
index 9902aff..a06edc5 100644 (file)
@@ -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
index ec1acd2..a9614bb 100644 (file)
@@ -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
index 1648d95..ffc6892 100644 (file)
@@ -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
index a944634..0987955 100644 (file)
@@ -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
index d292abb..22e1e2b 100644 (file)
@@ -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 (file)
index 0000000..5948bad
--- /dev/null
@@ -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:
+<sys/stat.h>
+
+License:
+LGPLv2+
+
+Maintainer:
+Bruno Haible
diff --git a/modules/fstat-tests b/modules/fstat-tests
new file mode 100644 (file)
index 0000000..27ebb38
--- /dev/null
@@ -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 (file)
index 0000000..fa78faf
--- /dev/null
@@ -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:
+<sys/stat.h>
+
+License:
+GPL
+
+Maintainer:
+Jim Meyering, Eric Blake
diff --git a/modules/fstatat-tests b/modules/fstatat-tests
new file mode 100644 (file)
index 0000000..25dc559
--- /dev/null
@@ -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@
index 0092226..660eb59 100644 (file)
@@ -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
index e3df22d..3db181b 100644 (file)
@@ -4,6 +4,7 @@ tests/signature.h
 tests/macros.h
 
 Depends-on:
+errno
 
 configure.ac:
 
index 2a668da..90d269e 100644 (file)
@@ -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
index 6be248c..097ed9c 100644 (file)
@@ -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 (file)
index 0000000..1423c30
--- /dev/null
@@ -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
index d57b10c..62c329b 100644 (file)
@@ -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
 
index 356f67e..1b72de5 100644 (file)
@@ -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 (file)
index 0000000..1b7bf2f
--- /dev/null
@@ -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
index 7189a9d..77ad097 100644 (file)
@@ -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]
index 07fdf73..3fc4898 100644 (file)
@@ -10,3 +10,4 @@ configure.ac:
 Makefile.am:
 TESTS += test-getcwd-lgpl
 check_PROGRAMS += test-getcwd-lgpl
+test_getcwd_lgpl_LDADD = $(LDADD) $(LIBINTL)
index 34cc5ac..1cbf0fb 100644 (file)
@@ -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@
index 3b195c0..109be1f 100644 (file)
@@ -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])
 
index 42ee838..b41dfad 100644 (file)
@@ -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
index 6ad3643..69fc7de 100644 (file)
@@ -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:
index 89b7a54..b82d6b2 100644 (file)
@@ -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)
index 4cdae38..d1ef822 100644 (file)
@@ -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:
 <sys/socket.h>
 
+Link:
+$(LIBSOCKET)
+
 License:
 LGPLv2+
 
diff --git a/modules/getpeername-tests b/modules/getpeername-tests
new file mode 100644 (file)
index 0000000..b77f58a
--- /dev/null
@@ -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@
index 223479e..15cf490 100644 (file)
@@ -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:
 <sys/socket.h>
 
+Link:
+$(LIBSOCKET)
+
 License:
 LGPLv2+
 
diff --git a/modules/getsockname-tests b/modules/getsockname-tests
new file mode 100644 (file)
index 0000000..0134e4c
--- /dev/null
@@ -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@
index 5b8c18d..1cd1f2e 100644 (file)
@@ -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:
 <sys/socket.h>
 
+Link:
+$(LIBSOCKET)
+
 License:
 LGPLv2+
 
diff --git a/modules/getsockopt-tests b/modules/getsockopt-tests
new file mode 100644 (file)
index 0000000..c6e5c16
--- /dev/null
@@ -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@
index a731c27..cef81cc 100644 (file)
@@ -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"]
index c5e76f0..77c7bc3 100644 (file)
@@ -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:
 <stdlib.h>
 
 License:
-LGPL
+LGPLv2+
 
 Maintainer:
 Bruno Haible
diff --git a/modules/grantpt-tests b/modules/grantpt-tests
new file mode 100644 (file)
index 0000000..b1fdae2
--- /dev/null
@@ -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 (file)
index 0000000..5f54654
--- /dev/null
@@ -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 (file)
index 0000000..aa2cc40
--- /dev/null
@@ -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
index fd4c7f9..275aa3c 100644 (file)
@@ -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
index 7e64a66..43cde40 100644 (file)
@@ -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
index 06ee51d..c340d1e 100644 (file)
@@ -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 (file)
index 0000000..e757772
--- /dev/null
@@ -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 (file)
index 0000000..e03ef57
--- /dev/null
@@ -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 (file)
index 0000000..93a423c
--- /dev/null
@@ -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 (file)
index 0000000..8c3e9cb
--- /dev/null
@@ -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 (file)
index 0000000..9cacf82
--- /dev/null
@@ -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 (file)
index 0000000..be6aaae
--- /dev/null
@@ -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
index 9842a53..ba4a85a 100644 (file)
@@ -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 (file)
index 0000000..4662956
--- /dev/null
@@ -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
index cc62ea8..25a87b1 100644 (file)
@@ -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 (file)
index 0000000..ce699e3
--- /dev/null
@@ -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
index d494069..6e65027 100644 (file)
@@ -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
index f577aa9..53e9c31 100644 (file)
@@ -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
index 1bc2b72..417e559 100644 (file)
@@ -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
index ee6f880..d2cbc79 100644 (file)
@@ -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
 
index a23ba4d..89d2ae0 100644 (file)
@@ -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
 
index ff89c1d..88c15d0 100644 (file)
@@ -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
 
index ba301df..86caabe 100644 (file)
@@ -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
 
index 5a98e49..b3884fc 100644 (file)
@@ -8,6 +8,7 @@ lib/isnan.c
 lib/float+.h
 m4/exponentl.m4
 m4/isnanl.m4
+m4/math_h.m4
 
 Depends-on:
 float
index 78427b4..ddc3c94 100644 (file)
@@ -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
index 68411fe..82a41e9 100644 (file)
@@ -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
index e5d796c..bd252cf 100644 (file)
@@ -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 (file)
index 0000000..3c1f15c
--- /dev/null
@@ -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:
+<math.h>
+
+Link:
+$(LDEXPF_LIBM)
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
diff --git a/modules/ldexpf-tests b/modules/ldexpf-tests
new file mode 100644 (file)
index 0000000..5de3203
--- /dev/null
@@ -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@
index b6d3117..35e52ab 100644 (file)
@@ -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
index 1daeb6f..828143e 100644 (file)
@@ -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
index 3392e57..f31dcf7 100644 (file)
@@ -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
index a65a382..92cb43f 100644 (file)
@@ -10,6 +10,7 @@ areadlink-with-size
 filenamecat-lgpl
 getcwd-lgpl
 same-inode
+unlinkat
 
 configure.ac:
 
index 7c77557..baaadc2 100644 (file)
@@ -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:
 <sys/socket.h>
 
+Link:
+$(LIBSOCKET)
+
 License:
 LGPLv2+
 
diff --git a/modules/listen-tests b/modules/listen-tests
new file mode 100644 (file)
index 0000000..1c0fca4
--- /dev/null
@@ -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@
index cbee37b..9f320a3 100644 (file)
@@ -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:
 
index a0b4c29..4385288 100644 (file)
@@ -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 (file)
index 0000000..d6c5b8b
--- /dev/null
@@ -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:
+<math.h>
+
+Link:
+$(LOG10F_LIBM)
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
diff --git a/modules/log10f-tests b/modules/log10f-tests
new file mode 100644 (file)
index 0000000..1cd295c
--- /dev/null
@@ -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 (file)
index 0000000..a2e3f25
--- /dev/null
@@ -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:
+<math.h>
+
+Link:
+$(LOGF_LIBM)
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
diff --git a/modules/logf-tests b/modules/logf-tests
new file mode 100644 (file)
index 0000000..d56c49e
--- /dev/null
@@ -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@
index 8ed3c0f..1f0a956 100644 (file)
@@ -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
index 0fc7923..1ec6e2a 100644 (file)
@@ -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
index bc3d34c..5bca0e1 100644 (file)
@@ -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' \
index 24aa810..796e3d1 100644 (file)
@@ -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
index 562c1e2..fed3490 100644 (file)
@@ -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 (file)
index 0000000..0108920
--- /dev/null
@@ -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:
+<sys/stat.h>
+
+License:
+GPL
+
+Maintainer:
+Jim Meyering, Eric Blake
diff --git a/modules/mkdirat-tests b/modules/mkdirat-tests
new file mode 100644 (file)
index 0000000..103a5ac
--- /dev/null
@@ -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@
index 6197d64..bc0c8e3 100644 (file)
@@ -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:
 
index 8be33df..4c0e23f 100644 (file)
@@ -5,8 +5,10 @@ tests/signature.h
 tests/macros.h
 
 Depends-on:
+fstatat
 ignore-value
 symlink
+unlinkat
 
 configure.ac:
 
index 0c5e467..c0dffeb 100644 (file)
@@ -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 (file)
index 0000000..1551213
--- /dev/null
@@ -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:
+<math.h>
+
+Link:
+$(MODFF_LIBM)
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
diff --git a/modules/modff-tests b/modules/modff-tests
new file mode 100644 (file)
index 0000000..9d35b73
--- /dev/null
@@ -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 (file)
index 0000000..bb86633
--- /dev/null
@@ -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 (file)
index 0000000..46d71aa
--- /dev/null
@@ -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
index 2d469eb..96881f5 100644 (file)
@@ -12,6 +12,7 @@ m4/asm-underscore.m4
 Depends-on:
 fcntl-h
 ioctl
+msvc-nothrow
 stdbool
 stdio
 sys_socket
index df56087..c2036a8 100644 (file)
@@ -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:
index a504aee..398efe4 100644 (file)
@@ -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:
index 5b32d85..7846401 100644 (file)
@@ -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:
 <fcntl.h>
-<sys/stat.h>
-<unistd.h>
-"openat.h"
 
 License:
 GPL
index 76cc44d..08bef77 100644 (file)
@@ -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 (file)
index 0000000..2af3b88
--- /dev/null
@@ -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
index b83fb72..c42d843 100644 (file)
@@ -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 (file)
index 0000000..04a3359
--- /dev/null
@@ -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:
+<dirent.h>
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
index 27a8bfc..8d174da 100644 (file)
@@ -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 (file)
index 0000000..833186f
--- /dev/null
@@ -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:
+<stdio.h>
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
diff --git a/modules/pclose-tests b/modules/pclose-tests
new file mode 100644 (file)
index 0000000..6173820
--- /dev/null
@@ -0,0 +1,8 @@
+Files:
+
+Depends-on:
+popen-tests
+
+configure.ac:
+
+Makefile.am:
index 04adee2..5e41800 100644 (file)
@@ -8,6 +8,7 @@ tests/test-perror.sh
 
 Depends-on:
 dup2
+ftruncate
 strerror
 
 configure.ac:
index 7afafdc..3f428a0 100644 (file)
@@ -6,6 +6,7 @@ tests/macros.h
 Depends-on:
 stdbool
 binary-io
+msvc-nothrow
 
 configure.ac:
 
index 2e6c3f7..74f9d5f 100644 (file)
@@ -5,6 +5,7 @@ tests/macros.h
 
 Depends-on:
 stdbool
+msvc-nothrow
 
 configure.ac:
 
index f1f22bf..8fa88fd 100644 (file)
@@ -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:
 <poll.h>
 
+Link:
+$(LIB_POLL)
+
 License:
 LGPLv2+
 
index 7ca908c..8dd6262 100644 (file)
@@ -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
index d34107e..ab291a0 100644 (file)
@@ -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)
index 37b3cf6..eb41029 100644 (file)
@@ -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
index 8b212ae..2fa7b2d 100644 (file)
@@ -6,6 +6,7 @@ tests/macros.h
 
 Depends-on:
 dup2
+pclose
 sys_wait
 
 configure.ac:
index f3465b6..25a0e91 100644 (file)
@@ -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 (file)
index 0000000..5bef9e2
--- /dev/null
@@ -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:
+<stdlib.h>
+
+License:
+LGPLv2+
+
+Maintainer:
+Eric Blake
diff --git a/modules/posix_openpt-tests b/modules/posix_openpt-tests
new file mode 100644 (file)
index 0000000..9ebf805
--- /dev/null
@@ -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
index eef7b63..b106e65 100644 (file)
@@ -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 (file)
index 0000000..716ddb2
--- /dev/null
@@ -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
index 1cab62f..b7a6188 100644 (file)
@@ -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 (file)
index 0000000..32e0fe5
--- /dev/null
@@ -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
index 464e649..0af2497 100644 (file)
@@ -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 (file)
index 0000000..d866c02
--- /dev/null
@@ -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
index 49465d8..6363585 100644 (file)
@@ -19,6 +19,7 @@ sigprocmask
 stdbool
 unistd
 sys_wait
+dup
 
 configure.ac:
 AC_EGREP_CPP([notposix], [[
index dec50d1..a2cb311 100644 (file)
@@ -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 (file)
index 0000000..0f31ce2
--- /dev/null
@@ -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:
+<math.h>
+
+Link:
+$(POWF_LIBM)
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
diff --git a/modules/powf-tests b/modules/powf-tests
new file mode 100644 (file)
index 0000000..dea0f65
--- /dev/null
@@ -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@
index c23550e..c506a62 100644 (file)
@@ -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
index 8e8ec6d..8a99cd6 100644 (file)
@@ -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
 
index fa69c53..1ca08ed 100644 (file)
@@ -23,7 +23,7 @@ Include:
 <sys/select.h>
 
 Link:
-$(LIBSOCKET) $(LIB_PTHREAD_SIGMASK)
+$(LIB_SELECT) $(LIB_PTHREAD_SIGMASK)
 
 License:
 LGPLv2+
index 0dccb36..0c37ff6 100644 (file)
@@ -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)
index 0002ab7..515df4b 100644 (file)
@@ -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
index b9a8f96..f451259 100644 (file)
@@ -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]
 
index 985b79b..f0ce256 100644 (file)
@@ -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:
 <stdlib.h>
 
 License:
-LGPL
+LGPLv2+
 
 Maintainer:
 Bruno Haible
index 344b8a7..e26bc9e 100644 (file)
@@ -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 (file)
index 0000000..7520847
--- /dev/null
@@ -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:
+<stdlib.h>
+
+License:
+LGPLv2+
+
+Maintainer:
+Bruno Haible, Eric Blake
diff --git a/modules/ptsname_r-tests b/modules/ptsname_r-tests
new file mode 100644 (file)
index 0000000..50b3f81
--- /dev/null
@@ -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
index 7476af1..3321a5e 100644 (file)
@@ -7,6 +7,7 @@ m4/putenv.m4
 
 Depends-on:
 stdlib
+environ         [test $REPLACE_PUTENV = 1]
 malloc-posix    [test $REPLACE_PUTENV = 1]
 
 configure.ac:
index 7735dfe..734e03a 100644 (file)
@@ -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 (file)
index 0000000..257f9e3
--- /dev/null
@@ -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
index 12d97c7..baa758b 100644 (file)
@@ -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])
 
index 0f380ca..506e88f 100644 (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 (file)
index 0000000..9a13867
--- /dev/null
@@ -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 (file)
index 0000000..487a888
--- /dev/null
@@ -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:
+<dirent.h>
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
index ea35d88..f31d3fe 100644 (file)
@@ -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:
index de23df8..1fdaa59 100644 (file)
@@ -6,7 +6,9 @@ tests/macros.h
 
 Depends-on:
 ignore-value
+openat
 symlinkat
+unlinkat
 
 configure.ac:
 
index c225917..b47d8f5 100644 (file)
@@ -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:
 <sys/socket.h>
 
+Link:
+$(LIBSOCKET)
+
 License:
 LGPLv2+
 
diff --git a/modules/recv-tests b/modules/recv-tests
new file mode 100644 (file)
index 0000000..e533611
--- /dev/null
@@ -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@
index 9a6d833..2b051b4 100644 (file)
@@ -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:
 <sys/socket.h>
 
+Link:
+$(LIBSOCKET)
+
 License:
 LGPLv2+
 
diff --git a/modules/recvfrom-tests b/modules/recvfrom-tests
new file mode 100644 (file)
index 0000000..ac20942
--- /dev/null
@@ -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@
index 52ca382..582d630 100644 (file)
@@ -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]
index 339ecdf..b3cd973 100644 (file)
@@ -11,6 +11,9 @@ link
 stdbool
 symlink
 sys_stat
+opendir
+readdir
+closedir
 
 configure.ac:
 
index 6e1012a..ca03f9a 100644 (file)
@@ -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])
index 187928c..970ebd7 100644 (file)
@@ -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 (file)
index 0000000..050cfe8
--- /dev/null
@@ -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:
+<dirent.h>
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
index 276c926..08cdc4c 100644 (file)
@@ -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:
 
index 315fda3..bb69767 100644 (file)
@@ -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 (file)
index 0000000..92b93a3
--- /dev/null
@@ -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:
+<math.h>
+
+Link:
+$(RINTF_LIBM)
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
diff --git a/modules/rintf-tests b/modules/rintf-tests
new file mode 100644 (file)
index 0000000..1b5a9c1
--- /dev/null
@@ -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 (file)
index 0000000..dac2618
--- /dev/null
@@ -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:
+<math.h>
+
+Link:
+$(RINTL_LIBM)
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
diff --git a/modules/rintl-tests b/modules/rintl-tests
new file mode 100644 (file)
index 0000000..3a1d80d
--- /dev/null
@@ -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@
index 9e154c8..2c4b37b 100644 (file)
@@ -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
index 7ee4178..cd8af30 100644 (file)
@@ -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
index 91671f4..3b5c962 100644 (file)
@@ -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
index f9bd467..7e7aca3 100644 (file)
@@ -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
index 1415eeb..f17ab0a 100644 (file)
@@ -7,8 +7,11 @@ lib/savedir.c
 m4/savedir.m4
 
 Depends-on:
+closedir
 dirent-safer
 fdopendir
+opendir
+readdir
 xalloc
 
 configure.ac:
index 1e95b41..9a7b8c7 100644 (file)
@@ -7,6 +7,7 @@ lib/savewd.c
 m4/savewd.m4
 
 Depends-on:
+chdir
 dosname
 errno
 fchdir
index 54b57df..71ef465 100644 (file)
@@ -6,9 +6,12 @@ lib/scandir.c
 m4/scandir.m4
 
 Depends-on:
+closedir
 dirent
 extensions
 largefile
+opendir
+readdir
 
 configure.ac:
 gl_FUNC_SCANDIR
index 5969a4e..7b25a8b 100644 (file)
@@ -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:
 <sys/select.h>
 
 Link:
-$(LIBSOCKET)
+$(LIB_SELECT)
 
 License:
 LGPLv2+
index a3b13db..bd7b731 100644 (file)
@@ -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@
index 925219d..62dd6e6 100644 (file)
@@ -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])
index 8a07da9..5e115c3 100644 (file)
@@ -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:
 <sys/socket.h>
 
+Link:
+$(LIBSOCKET)
+
 License:
 LGPLv2+
 
diff --git a/modules/send-tests b/modules/send-tests
new file mode 100644 (file)
index 0000000..334b4ab
--- /dev/null
@@ -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@
index b28a7ea..924818e 100644 (file)
@@ -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:
 <sys/socket.h>
 
+Link:
+$(LIBSOCKET)
+
 License:
 LGPLv2+
 
diff --git a/modules/sendto-tests b/modules/sendto-tests
new file mode 100644 (file)
index 0000000..afacb2a
--- /dev/null
@@ -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)
index 33726b1..bfe8acd 100644 (file)
@@ -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:
 <sys/socket.h>
 
+Link:
+$(LIBSOCKET)
+
 License:
 LGPLv2+
 
diff --git a/modules/setsockopt-tests b/modules/setsockopt-tests
new file mode 100644 (file)
index 0000000..4704d93
--- /dev/null
@@ -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@
index 322ff8d..32845db 100644 (file)
@@ -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:
 <sys/socket.h>
 
+Link:
+$(LIBSOCKET)
+
 License:
 LGPLv2+
 
diff --git a/modules/shutdown-tests b/modules/shutdown-tests
new file mode 100644 (file)
index 0000000..d90299d
--- /dev/null
@@ -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@
index 9fde5f6..2180766 100644 (file)
@@ -7,7 +7,7 @@ lib/sig-handler.h
 m4/sigaction.m4
 
 Depends-on:
-signal
+signal-h
 sigprocmask     [test $HAVE_SIGACTION = 0]
 
 configure.ac:
index b8d96be..5bf24bc 100644 (file)
@@ -1,59 +1,19 @@
 Description:
-A GNU-like <signal.h>.
+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 <signal.h> 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:
-<signal.h>
 
 License:
 LGPLv2+
 
 Maintainer:
-all
+Bruno Haible
diff --git a/modules/signal-c++-tests b/modules/signal-c++-tests
deleted file mode 100644 (file)
index 02a92fb..0000000
+++ /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 (file)
index 0000000..fe9af81
--- /dev/null
@@ -0,0 +1,62 @@
+Description:
+A GNU-like <signal.h>.
+
+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 <signal.h> 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:
+<signal.h>
+
+License:
+LGPLv2+
+
+Maintainer:
+all
diff --git a/modules/signal-h-c++-tests b/modules/signal-h-c++-tests
new file mode 100644 (file)
index 0000000..c7b2371
--- /dev/null
@@ -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 (file)
index 0000000..dab83e9
--- /dev/null
@@ -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 (file)
index 9b882a5..0000000
+++ /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
index b824765..65d5602 100644 (file)
@@ -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
index 4f03c9e..8bb7442 100644 (file)
@@ -12,8 +12,9 @@ lib/stdio-write.c
 m4/asm-underscore.m4
 
 Depends-on:
+msvc-nothrow
 raise
-signal
+signal-h
 sigprocmask
 stdio
 unistd
index ba12f39..644654c 100644 (file)
@@ -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
index ba5e92d..357e7b2 100644 (file)
@@ -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 (file)
index 0000000..f349687
--- /dev/null
@@ -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:
+<math.h>
+
+Link:
+$(SINF_LIBM)
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
diff --git a/modules/sinf-tests b/modules/sinf-tests
new file mode 100644 (file)
index 0000000..5d05bea
--- /dev/null
@@ -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@
index d02ef56..d4dd720 100644 (file)
@@ -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 (file)
index 0000000..f45bbe3
--- /dev/null
@@ -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:
+<math.h>
+
+Link:
+$(SINHF_LIBM)
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
diff --git a/modules/sinhf-tests b/modules/sinhf-tests
new file mode 100644 (file)
index 0000000..5733a54
--- /dev/null
@@ -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@
index 187f949..6ee7834 100644 (file)
@@ -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])
 
index 874ba5a..78c12a3 100644 (file)
@@ -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
index 9a5c3ab..0f7257e 100644 (file)
@@ -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.])
 
index 92df980..4962549 100644 (file)
@@ -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:
 <sys/socket.h>
 
+Link:
+$(LIBSOCKET)
+
 License:
 LGPLv2+
 
index fe92926..b6dffab 100644 (file)
@@ -11,6 +11,7 @@ Depends-on:
 socketlib
 sys_socket
 fd-hook
+msvc-nothrow
 
 configure.ac:
 gl_SOCKETS
index 9898b37..bcb0c9d 100644 (file)
@@ -14,6 +14,7 @@ environ
 error
 fatal-signal
 gettext-h
+msvc-nothrow
 open
 pipe2
 pipe2-safer
index 16d96fc..f7831d5 100644 (file)
@@ -5,6 +5,7 @@ tests/test-spawn-pipe-child.c
 tests/macros.h
 
 Depends-on:
+close
 
 configure.ac:
 
index cdcc8aa..c8bc2a3 100644 (file)
@@ -11,6 +11,7 @@ Files:
 lib/sprintf.c
 m4/sprintf-posix.m4
 m4/printf.m4
+m4/math_h.m4
 
 Depends-on:
 stdio
index 333c584..ba23199 100644 (file)
@@ -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 (file)
index 0000000..4123649
--- /dev/null
@@ -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:
+<math.h>
+
+Link:
+$(SQRTF_LIBM)
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
diff --git a/modules/sqrtf-tests b/modules/sqrtf-tests
new file mode 100644 (file)
index 0000000..3cd8d62
--- /dev/null
@@ -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@
index df01005..9bfa381 100644 (file)
@@ -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
index 4643421..e309d73 100644 (file)
@@ -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]
 
index 9c00ce5..60ecc17 100644 (file)
@@ -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 (file)
index 0000000..c91e5e0
--- /dev/null
@@ -0,0 +1,38 @@
+Description:
+A <stdalign.h> 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 <stdalign.h> 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:
+<stdalign.h>
+
+License:
+LGPLv2+
+
+Maintainer:
+Paul Eggert, Bruno Haible
diff --git a/modules/stdalign-tests b/modules/stdalign-tests
new file mode 100644 (file)
index 0000000..6d97a3d
--- /dev/null
@@ -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
index 84d3e7b..44029cd 100644 (file)
@@ -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
index f8880df..2e094b8 100644 (file)
@@ -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' \
index 533d6f2..fcda690 100644 (file)
@@ -4,6 +4,10 @@ tests/test-stdio.c
 Depends-on:
 verify
 stdio-c++-tests
+fgetc-tests
+fputc-tests
+fread-tests
+fwrite-tests
 
 configure.ac:
 
index 9ab19ee..2beee3d 100644 (file)
@@ -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' \
index 9ca97af..486a277 100644 (file)
@@ -1,12 +1,6 @@
 Description:
 Case-insensitive string comparison functions.
 
-Status:
-obsolete
-
-Notice:
-This module is obsolete.
-
 Files:
 lib/strcasecmp.c
 lib/strncasecmp.c
index 631cabb..ced757d 100644 (file)
@@ -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 (file)
index 0000000..10b8e6f
--- /dev/null
@@ -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 (file)
index 0000000..cb776bb
--- /dev/null
@@ -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
index 7636b29..f5d712d 100644 (file)
@@ -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:
index 9033149..c8a05ff 100644 (file)
@@ -6,6 +6,7 @@ tests/macros.h
 
 Depends-on:
 ignore-value
+openat
 
 configure.ac:
 
index 49a0360..97262bb 100644 (file)
@@ -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
index cd9c85e..e9f0b25 100644 (file)
@@ -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
index df0844b..704f2a5 100644 (file)
@@ -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:
index 531562c..372e653 100644 (file)
@@ -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' \
index 18700e8..cdf0d46 100644 (file)
@@ -4,6 +4,7 @@ A <sys/time.h> 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 (file)
index 0000000..810f640
--- /dev/null
@@ -0,0 +1,42 @@
+Description:
+A <sys/types.h> 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 <sys/types.h> 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:
+<sys/types.h>
+
+License:
+LGPLv2+
+
+Maintainer:
+all
diff --git a/modules/sys_types-c++-tests b/modules/sys_types-c++-tests
new file mode 100644 (file)
index 0000000..68e21ae
--- /dev/null
@@ -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 (file)
index 0000000..cd1a83f
--- /dev/null
@@ -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
index b6ca3d8..45b15ee 100644 (file)
@@ -7,6 +7,8 @@ m4/sys_uio_h.m4
 
 Depends-on:
 include_next
+ssize_t
+sys_types
 
 configure.ac:
 gl_HEADER_SYS_UIO
index 4f14961..0553e08 100644 (file)
@@ -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 (file)
index 0000000..943f7c7
--- /dev/null
@@ -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:
+<math.h>
+
+Link:
+$(TANF_LIBM)
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
diff --git a/modules/tanf-tests b/modules/tanf-tests
new file mode 100644 (file)
index 0000000..f65fb2b
--- /dev/null
@@ -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@
index 6969caf..d09afad 100644 (file)
@@ -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 (file)
index 0000000..44f606e
--- /dev/null
@@ -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:
+<math.h>
+
+Link:
+$(TANHF_LIBM)
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
diff --git a/modules/tanhf-tests b/modules/tanhf-tests
new file mode 100644 (file)
index 0000000..5521bd0
--- /dev/null
@@ -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@
index ce1f20d..c91c6fe 100644 (file)
@@ -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])
 
index 8bb8e83..b4708d9 100644 (file)
@@ -8,6 +8,7 @@ m4/tempname.m4
 
 Depends-on:
 extensions
+fcntl-h
 gettimeofday
 lstat
 stdint
index 6c254e0..1ec87d7 100644 (file)
@@ -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
index 27b93f2..1c847e7 100644 (file)
@@ -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
index 8dbb752..f02d61e 100644 (file)
@@ -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
index 01bcf73..f6b7dd3 100644 (file)
@@ -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
index f68d9b1..62ca572 100644 (file)
@@ -23,7 +23,7 @@ Include:
 <unistd.h>
 
 License:
-LGPL
+LGPLv2+
 
 Maintainer:
 Bruno Haible
index 6c8ea1e..0cee9b3 100644 (file)
@@ -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' \
index cc4b97a..cd2bbcd 100644 (file)
@@ -5,7 +5,10 @@ tests/macros.h
 Depends-on:
 binary-io
 cloexec
+close
+dup
 fd-safer-flag
+msvc-nothrow
 stdbool
 
 configure.ac:
index c321669..7a7f46f 100644 (file)
@@ -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
index a382ce4..09e1330 100644 (file)
@@ -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
index 800c61e..ac248ba 100644 (file)
@@ -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
index fe71cb2..6539a3e 100644 (file)
@@ -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
index 5e95521..52d3c44 100644 (file)
@@ -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
index 3aaf935..adb9616 100644 (file)
@@ -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
index 8228a06..8caa7ec 100644 (file)
@@ -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 (file)
index 0000000..4a7b87e
--- /dev/null
@@ -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:
+<unistd.h>
+
+License:
+GPL
+
+Maintainer:
+Jim Meyering, Eric Blake
diff --git a/modules/unlinkat-tests b/modules/unlinkat-tests
new file mode 100644 (file)
index 0000000..266ead7
--- /dev/null
@@ -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@
index b5d98cf..c917964 100644 (file)
@@ -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:
 <stdlib.h>
 
 License:
-LGPL
+LGPLv2+
 
 Maintainer:
 Bruno Haible
diff --git a/modules/unlockpt-tests b/modules/unlockpt-tests
new file mode 100644 (file)
index 0000000..fd4b5ac
--- /dev/null
@@ -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
index 1a9687f..accd74b 100644 (file)
@@ -9,8 +9,9 @@ m4/utimens.m4
 m4/utimes.m4
 
 Depends-on:
-dup2
 errno
+fcntl-h
+fstat
 lstat
 gettime
 stat-time
index 7335c5d..802d8e5 100644 (file)
@@ -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
index a70ca8c..a905909 100644 (file)
@@ -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
index 6acfe89..ec426bb 100644 (file)
@@ -14,6 +14,7 @@ usleep
 utimecmp
 
 configure.ac:
+AC_REQUIRE([AC_C_INLINE])
 
 Makefile.am:
 TESTS += test-utimensat
index 35f5f3a..54db892 100644 (file)
@@ -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
index 6a6177a..090b1d2 100644 (file)
@@ -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
index 01f0188..6ba745b 100644 (file)
@@ -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
 
index 5e90506..9665b76 100644 (file)
@@ -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
index 8702bdc..ae486a7 100644 (file)
@@ -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
index 518ecde..c994a4f 100644 (file)
@@ -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
index a7dff7a..032cae9 100644 (file)
@@ -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 (file)
index 0000000..72557aa
--- /dev/null
@@ -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
index 69b6608..aba18b5 100644 (file)
@@ -11,6 +11,7 @@ Files:
 lib/vfprintf.c
 m4/vfprintf-posix.m4
 m4/printf.m4
+m4/math_h.m4
 
 Depends-on:
 stdio
index d4dab2d..87e8809 100644 (file)
@@ -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
 
index 84f250b..1d7e50b 100644 (file)
@@ -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
 
index 198beeb..e3456fb 100644 (file)
@@ -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
index 687d28d..645c581 100644 (file)
@@ -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.])
 
index 10e5385..99c80f1 100644 (file)
@@ -11,6 +11,7 @@ Files:
 lib/vsprintf.c
 m4/vsprintf-posix.m4
 m4/printf.m4
+m4/math_h.m4
 
 Depends-on:
 stdio
index 2f04f87..c8c8baf 100644 (file)
@@ -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
index d60b5a7..3620741 100644 (file)
@@ -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 (file)
index 0000000..4f1036e
--- /dev/null
@@ -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
index 7882b43..a8b2984 100644 (file)
@@ -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 (file)
index 0000000..19a6873
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+
+/* 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
index 0da6c1e..19c0cf4 100644 (file)
@@ -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.
index 5e1c0c3..eb5fd95 100644 (file)
@@ -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 (file)
index 0000000..75161a4
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+#include <sys/socket.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (accept, int, (int, struct sockaddr *, socklen_t *));
+
+#include <errno.h>
+#include <netinet/in.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 (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 (file)
index 0000000..68049ea
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+#include <sys/socket.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (accept4, int, (int, struct sockaddr *, socklen_t *, int));
+
+#include <errno.h>
+#include <fcntl.h>
+#include <netinet/in.h>
+
+#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 (file)
index 0000000..f1fcea8
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2010-2011.  */
+
+#include <config.h>
+
+#include <math.h>
+
+#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 (file)
index 0000000..95352be
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2010-2011.  */
+
+#include <config.h>
+
+#include <math.h>
+
+#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 (file)
index 0000000..bcc17c3
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2010-2011.  */
+
+#include <config.h>
+
+#include <math.h>
+
+#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 (file)
index 0000000..8d7e04f
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2010-2011.  */
+
+#include <config.h>
+
+#include <math.h>
+
+#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 (file)
index 0000000..6012885
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+#include "base32.h"
+
+#include <stddef.h>
+#include <stdbool.h>
+#include <stdlib.h>
+#include <string.h>
+#include <stdint.h>
+
+#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;
+}
index b1979b4..41efc5a 100644 (file)
@@ -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);
index 8e5d193..468485d 100644 (file)
@@ -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;
 }
index 33e128c..272edef 100755 (executable)
@@ -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 (file)
index 0000000..490c2fb
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+#include <sys/socket.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (bind, int, (int, const struct sockaddr *, socklen_t));
+
+#include <errno.h>
+#include <netinet/in.h>
+#include <arpa/inet.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;
+
+    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;
+}
index 7d4d325..c6b3025 100644 (file)
@@ -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 ())));
 
index c4581c6..d2898c8 100644 (file)
@@ -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 ())));
 
index e0b8ff2..8af3ba1 100644 (file)
@@ -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 (file)
index 0000000..cd8f0c6
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include <unistd.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (chdir, int, (const char *));
+
+#include "macros.h"
+
+int
+main (void)
+{
+  ASSERT (chdir ("/") == 0);
+
+  return 0;
+}
index 374de30..c1473d5 100644 (file)
@@ -28,6 +28,8 @@
 /* Get declarations of the Win32 API functions.  */
 # define WIN32_LEAN_AND_MEAN
 # include <windows.h>
+/* 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 (file)
index 0000000..2b87db1
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+#include <unistd.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (close, int, (int));
+
+#include <errno.h>
+
+#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 (file)
index 0000000..84f00b5
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+#include <sys/socket.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (connect, int, (int, const struct sockaddr *, socklen_t));
+
+#include <errno.h>
+#include <netinet/in.h>
+#include <arpa/inet.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;
+
+    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 (executable)
index 0000000..2f9880e
--- /dev/null
@@ -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 (executable)
index 0000000..984602d
--- /dev/null
@@ -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 (executable)
index 0000000..b38c821
--- /dev/null
@@ -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 (executable)
index 0000000..d4d959f
--- /dev/null
@@ -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 (file)
index 0000000..b745e79
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2010-2011.  */
+
+#include <config.h>
+
+#include <math.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (copysignf, float, (float, float));
+
+#include "macros.h"
+#include "minus-zero.h"
+
+#include <string.h>
+
+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 (file)
index 0000000..29b3c3f
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2010-2011.  */
+
+#include <config.h>
+
+#include <math.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (copysignl, long double, (long double, long double));
+
+#include "macros.h"
+#include "minus-zero.h"
+
+#include <string.h>
+
+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 (file)
index 0000000..7943e18
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2010-2011.  */
+
+#include <config.h>
+
+#include <math.h>
+
+#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 (file)
index 0000000..8b606e6
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2010-2011.  */
+
+#include <config.h>
+
+#include <math.h>
+
+#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;
+}
index 34b5491..414f8d4 100644 (file)
@@ -27,6 +27,7 @@ SIGNATURE_CHECK (dprintf, int, (int, const char *, ...));
 #include <stdint.h>
 #include <string.h>
 
+#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 (file)
index 0000000..0204e34
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+#include <stdio.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (dprintf, int, (int, const char *, ...));
+
+#include <errno.h>
+
+#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;
+}
index 14cfaff..5cb45f5 100644 (file)
@@ -32,6 +32,8 @@
 /* Get declarations of the Win32 API functions.  */
 # define WIN32_LEAN_AND_MEAN
 # include <windows.h>
+/* 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 (file)
index 0000000..70c09fe
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+#include <unistd.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (dup, int, (int));
+
+#include <errno.h>
+
+#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;
+}
index e2ad88b..a14807a 100644 (file)
@@ -36,6 +36,8 @@ SIGNATURE_CHECK (dup2, int, (int, int));
 /* Get declarations of the Win32 API functions.  */
 # define WIN32_LEAN_AND_MEAN
 # include <windows.h>
+/* 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));
index ed3a88f..033193d 100644 (file)
@@ -32,6 +32,8 @@ SIGNATURE_CHECK (dup3, int, (int, int, int));
 /* Get declarations of the Win32 API functions.  */
 # define WIN32_LEAN_AND_MEAN
 # include <windows.h>
+/* Get _get_osfhandle.  */
+# include "msvc-nothrow.h"
 #endif
 
 #include "binary-io.h"
index 9c7997d..88af36a 100644 (file)
@@ -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)
index 9c5f709..d85c4c7 100755 (executable)
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-TMP=excltmp.$$
-LIST=flist.$$
-ERR=0
+. "${srcdir=.}/init.sh"; path_prepend_ .
+fail=0
 
 # Test literal matches
 
-cat > $LIST <<EOT
+cat > in <<EOT
 foo*
 bar
 Baz
 EOT
 
-cat > $TMP <<EOT
+cat > expected <<EOT
 foo: 0
 foo*: 1
 bar: 1
@@ -37,9 +36,15 @@ baz: 0
 bar/qux: 0
 EOT
 
-./test-exclude$EXEEXT $LIST -- foo 'foo*' bar foobar baz bar/qux |
- tr -d '\015' |
- diff -c $TMP - || ERR=1
+test-exclude in -- foo 'foo*' bar foobar baz bar/qux > 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
index 7011754..33ee734 100755 (executable)
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-TMP=excltmp.$$
-LIST=flist.$$
-ERR=0
+. "${srcdir=.}/init.sh"; path_prepend_ .
+fail=0
 
-cat > $LIST <<EOT
+cat > in <<EOT
 foo*
 bar
 Baz
@@ -28,7 +27,7 @@ EOT
 
 # Test case-insensitive literal matches
 
-cat > $TMP <<EOT
+cat > expected <<EOT
 foo: 0
 foo*: 1
 bar: 1
@@ -37,9 +36,15 @@ baz: 1
 bar/qux: 0
 EOT
 
-./test-exclude$EXEEXT -casefold $LIST -- foo 'foo*' bar foobar baz bar/qux |
- tr -d '\015' |
- diff -c $TMP - || ERR=1
+test-exclude -casefold in -- foo 'foo*' bar foobar baz bar/qux > 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
index 6b8512e..a9a4d23 100755 (executable)
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-TMP=excltmp.$$
-LIST=flist.$$
-ERR=0
+. "${srcdir=.}/init.sh"; path_prepend_ .
+fail=0
 
 # Test include
 
-cat > $LIST <<EOT
+cat > in <<EOT
 foo*
 bar
 Baz
 EOT
 
-cat > $TMP <<EOT
+cat > expected <<EOT
 foo: 1
 foo*: 0
 bar: 0
@@ -37,9 +36,15 @@ baz: 1
 bar/qux: 1
 EOT
 
-./test-exclude$EXEEXT -include $LIST -- foo 'foo*' bar foobar baz bar/qux |
- tr -d '\015' |
- diff -c $TMP - || ERR=1
+test-exclude -include in -- foo 'foo*' bar foobar baz bar/qux > 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
index 99c4c9f..b3ecdae 100755 (executable)
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-TMP=excltmp.$$
-LIST=flist.$$
-ERR=0
+. "${srcdir=.}/init.sh"; path_prepend_ .
+fail=0
 
 # Test wildcard matching
 
-cat > $LIST <<EOT
+cat > in <<EOT
 foo*
 bar
 Baz
 EOT
 
-cat > $TMP <<EOT
+cat > expected <<EOT
 foobar: 1
 EOT
 
-./test-exclude$EXEEXT -wildcards $LIST -- foobar |
- tr -d '\015' |
- diff -c $TMP - || ERR=1
+test-exclude -wildcards in -- foobar > 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
index 7f95ea7..d9558f7 100755 (executable)
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-TMP=excltmp.$$
-LIST=flist.$$
-ERR=0
+. "${srcdir=.}/init.sh"; path_prepend_ .
+fail=0
 
 # Test FNM_LEADING_DIR
 
-cat > $LIST <<EOT
+cat > in <<EOT
 foo*
 bar
 Baz
 EOT
 
-cat > $TMP <<EOT
+cat > expected <<EOT
 bar: 1
 bar/qux: 1
 barz: 0
 foo/bar: 1
 EOT
 
-./test-exclude$EXEEXT -leading_dir $LIST -- bar bar/qux barz foo/bar |
- tr -d '\015' |
- diff -c $TMP - || ERR=1
+test-exclude -leading_dir in -- bar bar/qux barz foo/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
index eb4f5f1..b2093d6 100755 (executable)
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-TMP=excltmp.$$
-LIST=flist.$$
-ERR=0
+. "${srcdir=.}/init.sh"; path_prepend_ .
+fail=0
 
 # Test anchored
 
-cat > $LIST <<EOT
+cat > in <<EOT
 foo*
 bar
 Baz
 EOT
 
-cat > $TMP <<EOT
+cat > expected <<EOT
 bar: 1
 foo/bar: 0
 EOT
 
-./test-exclude$EXEEXT -anchored $LIST -- bar foo/bar |
- tr -d '\015' |
- diff -c $TMP - || ERR=1
+test-exclude -anchored in -- bar foo/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
index 03ed2a6..f75b814 100755 (executable)
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-TMP=excltmp.$$
-LIST=flist.$$
-ERR=0
+. "${srcdir=.}/init.sh"; path_prepend_ .
+fail=0
 
 # Test exclude precedence
 
-cat > $LIST <<EOT
+cat > in <<EOT
 foo*
 bar
 Baz
 EOT
 
-cat > $TMP <<EOT
+cat > expected <<EOT
 bar: 1
 bar: 0
 EOT
 
-./test-exclude$EXEEXT $LIST -include $LIST -- bar |
- tr -d '\015' >$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
index 9592070..b1b010e 100755 (executable)
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-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 (file)
index 0000000..ed71383
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2010-2011.  */
+
+#include <config.h>
+
+#include <math.h>
+
+#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 (file)
index 0000000..d9dfa84
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2010-2011.  */
+
+#include <config.h>
+
+#include <math.h>
+
+#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 (file)
index 0000000..0c7afe0
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+#include <unistd.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (faccessat, int, (int, const char *, int, int));
+
+#include <errno.h>
+#include <fcntl.h>
+
+#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;
+}
index 0375c31..2e6b067 100644 (file)
@@ -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 (file)
index 0000000..c167f16
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+#include <sys/stat.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (fchmod, int, (int, mode_t));
+
+#include <errno.h>
+
+#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 (file)
index 0000000..d52f5c3
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+#include <sys/stat.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (fchmodat, int, (int, const char *, mode_t, int));
+
+#include <errno.h>
+
+#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 (file)
index 0000000..a7e9804
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+#include <unistd.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (fchown, int, (int, uid_t, gid_t));
+
+#include <errno.h>
+
+#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;
+}
index 060013e..dda6c0f 100644 (file)
@@ -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);
index a11eca9..ecc60cd 100644 (file)
@@ -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);
index 648701e..7f350b4 100644 (file)
@@ -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)
 {
index 23a0dba..c6066ea 100644 (file)
@@ -34,6 +34,8 @@ SIGNATURE_CHECK (fcntl, int, (int, int, ...));
 /* Get declarations of the Win32 API functions.  */
 # define WIN32_LEAN_AND_MEAN
 # include <windows.h>
+/* 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 (file)
index 0000000..a394a4c
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+#include <unistd.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (fdatasync, int, (int));
+
+#include <errno.h>
+#include <fcntl.h>
+
+#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 (file)
index 0000000..304e520
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+#include <stdio.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (fdopen, FILE *, (int, const char *));
+
+#include <errno.h>
+
+#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;
+}
index 13653fe..b578a5c 100644 (file)
@@ -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);
index a6c0e18..7c7c474 100644 (file)
 #include "signature.h"
 SIGNATURE_CHECK (fflush, int, (FILE *));
 
+#include <errno.h>
 #include <unistd.h>
 
+#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 (file)
index 0000000..4df46fb
--- /dev/null
@@ -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 <config.h>
+
+#include <stdio.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (fgetc, int, (FILE *));
+
+#include <errno.h>
+#include <fcntl.h>
+#include <unistd.h>
+
+#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 (executable)
index 0000000..e3ad9c0
--- /dev/null
@@ -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 (executable)
index 0000000..6b92b1d
--- /dev/null
@@ -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"
index 57a472f..1d3edbb 100644 (file)
@@ -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.  */
index bfb1f1d..2d2ce86 100644 (file)
@@ -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 ())));
 
index 378b994..38d4a50 100644 (file)
@@ -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 ())));
 
index df745f4..e9696d9 100644 (file)
@@ -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 (file)
index 0000000..f3ef31e
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2011.  */
+
+#include <config.h>
+
+#include <math.h>
+
+#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 (file)
index 0000000..3ea3c4a
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 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 (file)
index 0000000..0fe91c7
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2011.  */
+
+#include <config.h>
+
+#include <math.h>
+
+#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 (file)
index 0000000..349cf98
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 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 (file)
index 0000000..aaa15c3
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2011.  */
+
+#include <config.h>
+
+#include <math.h>
+
+#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 (file)
index 0000000..e2823a9
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2011.  */
+
+#include <config.h>
+
+#include <math.h>
+
+#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 (file)
index 0000000..8f477c4
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2011.  */
+
+#include <config.h>
+
+#include <math.h>
+
+#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 (file)
index 0000000..bdc542b
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2011.  */
+
+#include <config.h>
+
+#include <math.h>
+
+#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 (file)
index 0000000..a0a5f39
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2010-2011.  */
+
+#include <config.h>
+
+#include <math.h>
+
+#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;
+}
index 9481aaa..e0fa537 100644 (file)
@@ -16,6 +16,8 @@
 
 /* Written by Bruno Haible <bruno@clisp.org>, 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 (file)
index 0000000..03a3716
--- /dev/null
@@ -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 <config.h>
+
+#include <stdio.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (fputc, int, (int, FILE *));
+
+#include <errno.h>
+#include <fcntl.h>
+#include <unistd.h>
+
+#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 (file)
index 0000000..e205c9e
--- /dev/null
@@ -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 <config.h>
+
+#include <stdio.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (fread, size_t, (void *, size_t, size_t, FILE *));
+
+#include <errno.h>
+#include <fcntl.h>
+#include <unistd.h>
+
+#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;
+}
index 4c26476..cac907c 100644 (file)
 #include "signature.h"
 SIGNATURE_CHECK (freopen, FILE *, (char const *, char const *, FILE *));
 
+#include <errno.h>
+#include <unistd.h>
+
 #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;
 }
index 4ed24d2..a7ec639 100644 (file)
@@ -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 (file)
index 0000000..fb6003e
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2007.  */
+
+#include <config.h>
+
+#include <math.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (frexpf, float, (float, int *));
+
+#include <float.h>
+
+#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;
+}
index ccb547b..905b293 100644 (file)
@@ -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 (file)
index 0000000..61559e1
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+#include <stdio.h>
+
+#include <errno.h>
+#include <unistd.h>
+
+#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 (executable)
index 0000000..e6464ae
--- /dev/null
@@ -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 (file)
index 0000000..6c120d9
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+#include <sys/stat.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (fstat, int, (int, struct stat *));
+
+#include <errno.h>
+
+#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;
+}
index aef1136..297eb79 100644 (file)
@@ -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);
index 2627d0c..eb22ae9 100644 (file)
@@ -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 (file)
index 0000000..d503f71
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+#include <stdio.h>
+
+#include <errno.h>
+#include <unistd.h>
+
+#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 (executable)
index 0000000..e3702bb
--- /dev/null
@@ -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 (file)
index 0000000..c5da4eb
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+#include <unistd.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (ftruncate, int, (int, off_t));
+
+#include <errno.h>
+#include <fcntl.h>
+
+#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 (executable)
index 0000000..d7394d2
--- /dev/null
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+exec ./test-ftruncate${EXEEXT} "$srcdir/test-ftruncate.sh"
index 13e7d92..648de67 100644 (file)
@@ -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 (file)
index 0000000..76ed05c
--- /dev/null
@@ -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 <config.h>
+
+#include <stdio.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (fwrite, size_t, (const void *, size_t, size_t, FILE *));
+
+#include <errno.h>
+#include <fcntl.h>
+#include <unistd.h>
+
+#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;
+}
index e9832f0..5f875ac 100644 (file)
@@ -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 (executable)
index 0000000..a886b6e
--- /dev/null
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+. "${srcdir=.}/init.sh"; path_prepend_ .
+
+test-getcwd
+
+Exit $?
index 294a88e..2033702 100644 (file)
@@ -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
index 2a20fd9..bbb58a3 100644 (file)
@@ -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 (file)
index 0000000..1ccd9b4
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+#include <sys/socket.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (getpeername, int, (int, struct sockaddr *, socklen_t *));
+
+#include <errno.h>
+#include <netinet/in.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 (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 (file)
index 0000000..8760d61
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+#include <sys/socket.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (getsockname, int, (int, struct sockaddr *, socklen_t *));
+
+#include <errno.h>
+#include <netinet/in.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 (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 (file)
index 0000000..582703f
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+#include <sys/socket.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (getsockopt, int, (int, int, int, void *, socklen_t *));
+
+#include <errno.h>
+
+#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 (file)
index 0000000..e32add8
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+#include <stdlib.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (grantpt, int, (int));
+
+#include <errno.h>
+
+#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 (file)
index 0000000..319001d
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+#include <inttypes.h>
+
+#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 (file)
index 0000000..bbae71a
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+#include <inttypes.h>
+
+#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 (file)
index 0000000..b165501
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+#include "integer_length.h"
+
+#include <limits.h>
+
+#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 (file)
index 0000000..3648646
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+#include "integer_length.h"
+
+#include <limits.h>
+
+#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 (file)
index 0000000..34a6663
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+#include "integer_length.h"
+
+#include <limits.h>
+
+#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 (file)
index 0000000..130ee42
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include <sys/ioctl.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (ioctl, int, (int, int, ...));
+
+#include <errno.h>
+
+#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 (file)
index 0000000..dba8854
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+#include <unistd.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (isatty, int, (int));
+
+#include <errno.h>
+
+#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;
+}
index ed87ccf..ca5e543 100644 (file)
@@ -29,6 +29,7 @@
 #include <float.h>
 #include <limits.h>
 
+#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
index d0d2cda..a17b0af 100644 (file)
@@ -29,6 +29,7 @@
 #include <float.h>
 #include <limits.h>
 
+#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
index 57475a3..6c735f2 100644 (file)
@@ -30,6 +30,7 @@
 #include <limits.h>
 
 #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
index de69331..181e36f 100644 (file)
@@ -19,6 +19,7 @@
 #include <limits.h>
 
 #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
index f4b0e86..4a33508 100644 (file)
@@ -19,6 +19,7 @@
 #include <limits.h>
 
 #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
index c07f3a9..9f1d763 100644 (file)
@@ -20,6 +20,7 @@
 #include <limits.h>
 
 #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
index 9eb6e5e..ea8a9cc 100644 (file)
@@ -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 <http://www.gnu.org/licenses/>.  */
 
-/* Written by Bruno Haible <bruno@clisp.org>, 2010.  */
+/* Written by Bruno Haible <bruno@clisp.org>, 2007, 2010.  */
 
 #include <config.h>
 
 #include "signature.h"
 SIGNATURE_CHECK (ldexp, double, (double, int));
 
+#include <float.h>
+
+#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 (file)
index 0000000..260f54c
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 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 (file)
index 0000000..e90c13d
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2007, 2010.  */
+
+#include <config.h>
+
+#include <math.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (ldexpf, float, (float, int));
+
+#include <float.h>
+
+#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;
+}
index d8e7e15..5dd9b4a 100644 (file)
@@ -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;
 }
index 2aea565..6da82b0 100644 (file)
@@ -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 (file)
index 0000000..becc453
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+#include <sys/socket.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (listen, int, (int, int));
+
+#include <errno.h>
+
+#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 (file)
index 0000000..afdc34d
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2010-2011.  */
+
+#include <config.h>
+
+#include <math.h>
+
+#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 (file)
index 0000000..2ff5076
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2010-2011.  */
+
+#include <config.h>
+
+#include <math.h>
+
+#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;
+}
index ce2263c..f74516c 100644 (file)
@@ -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:
index e5b57eb..75d1642 100644 (file)
@@ -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.  */
index 2a3acff..1a8726d 100644 (file)
 
 #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<rettype(*)parameters>(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 ()
index 0eb5e2d..cd0c6cd 100644 (file)
@@ -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);
index fe086fd..4a8edd1 100644 (file)
@@ -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);
index c1b3cc1..c845662 100644 (file)
@@ -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 (file)
index 0000000..98fa9f2
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2010-2011.  */
+
+#include <config.h>
+
+#include <math.h>
+
+#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;
+}
index c4e6561..a7be063 100644 (file)
@@ -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
      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
index 5f2268d..944ecb1 100644 (file)
      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
index 6e6ba5b..f36145a 100644 (file)
@@ -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);
index 45dbae6..22fe9bc 100644 (file)
@@ -36,7 +36,7 @@
 #define LOG(str, now, res) (void) 0
 #endif
 
-static const charconst 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";
index 5302c3e..90f41f9 100644 (file)
@@ -29,6 +29,8 @@ SIGNATURE_CHECK (pipe, int, (int[2]));
 /* Get declarations of the Win32 API functions.  */
 # define WIN32_LEAN_AND_MEAN
 # include <windows.h>
+/* Get _get_osfhandle.  */
+# include "msvc-nothrow.h"
 #endif
 
 #include "binary-io.h"
index d83162c..c278f7a 100644 (file)
@@ -29,6 +29,8 @@ SIGNATURE_CHECK (pipe2, int, (int[2], int));
 /* Get declarations of the Win32 API functions.  */
 # define WIN32_LEAN_AND_MEAN
 # include <windows.h>
+/* 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 (file)
index 0000000..8cd6a41
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+/* Written by Eric Blake <eblake@redhat.com>, 2011.  */
+
+#include <config.h>
+
+#include <stdlib.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (posix_openpt, int, (int));
+
+#include <errno.h>
+#include <fcntl.h>
+#include <stdio.h>
+#include <unistd.h>
+
+#if defined __sun || defined __hpux /* Solaris, HP-UX */
+# include <stropts.h>
+#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 (file)
index 0000000..d223f6e
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+#include <spawn.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (posix_spawn_file_actions_addclose, int,
+                 (posix_spawn_file_actions_t *, int));
+
+#include <errno.h>
+
+#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 (file)
index 0000000..18b7ca5
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+#include <spawn.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (posix_spawn_file_actions_adddup2, int,
+                 (posix_spawn_file_actions_t *, int, int));
+
+#include <errno.h>
+
+#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 (file)
index 0000000..6007725
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+#include <spawn.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (posix_spawn_file_actions_addopen, int,
+                 (posix_spawn_file_actions_t *, int,
+                  const char *, int, mode_t));
+
+#include <errno.h>
+#include <fcntl.h>
+
+#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;
+}
index 629b908..539feff 100644 (file)
@@ -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 (file)
index 0000000..1f70773
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2010-2011.  */
+
+#include <config.h>
+
+#include <math.h>
+
+#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;
+}
index 3e35640..5515f59 100644 (file)
@@ -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;
 }
index 9337854..0bc3def 100644 (file)
@@ -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 *, ...)
index 73365a5..3d29212 100644 (file)
@@ -16,6 +16,8 @@
 
 /* Written by Bruno Haible <bruno@clisp.org>, 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
      <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00107.html> */
-  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.  */
 
index ccf2ab1..921367c 100644 (file)
@@ -22,6 +22,7 @@
 SIGNATURE_CHECK (ptsname, char *, (int));
 
 #include <fcntl.h>
+#include <signal.h>
 #include <stdio.h>
 #include <string.h>
 #include <unistd.h>
@@ -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 (file)
index 0000000..76521fe
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+#include <stdlib.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (ptsname_r, int, (int, char *, size_t));
+
+#include <errno.h>
+#include <fcntl.h>
+#include <signal.h>
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+#include <sys/stat.h>
+
+#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;
+}
index 0139391..5875b5a 100644 (file)
@@ -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 (file)
index 0000000..79a1af0
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+#include <signal.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (raise, int, (int));
+
+#include <stdlib.h>
+
+#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 <stdlib.h> 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 (file)
index 0000000..58f8eeb
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+#include <unistd.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (read, ssize_t, (int, void *, size_t));
+
+#include <errno.h>
+#include <fcntl.h>
+#include <string.h>
+
+#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;
+}
index 1d588ac..5685934 100644 (file)
@@ -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 (file)
index 0000000..ae811b6
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+#include <sys/socket.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (recv, ssize_t, (int, void *, size_t, int));
+
+#include <errno.h>
+
+#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 (file)
index 0000000..069b9cf
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+#include <sys/socket.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (recvfrom, ssize_t,
+                 (int, void *, size_t, int,
+                  struct sockaddr *, socklen_t *));
+
+#include <errno.h>
+#include <netinet/in.h>
+
+#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;
+}
index 64bab09..8825f73 100644 (file)
@@ -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;
index 96fe3a7..9b67da0 100644 (file)
@@ -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);
index 3390f40..0a8a010 100644 (file)
 #include "signature.h"
 SIGNATURE_CHECK (rint, double, (double));
 
-#include "macros.h"
+#include <float.h>
+#include <stdio.h>
 
-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.
+     <http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/float.h.html>  */
+  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 (file)
index 0000000..29d77ef
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2010.  */
+
+#include <config.h>
+
+#include <math.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (rintf, float, (float));
+
+#include <float.h>
+#include <stdio.h>
+
+#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.
+     <http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/float.h.html>  */
+  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 (file)
index 0000000..13c5119
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2010.  */
+
+#include <config.h>
+
+#include <math.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (rintl, long double, (long double));
+
+#include <float.h>
+#include <stdio.h>
+
+#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.
+     <http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/float.h.html>  */
+  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;
+    }
+}
index 6633773..f99ec1d 100644 (file)
@@ -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 ())));
 
index 2ccbe29..8413e82 100644 (file)
@@ -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 ())));
 
index 0daace5..7af95a4 100644 (file)
@@ -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 ())));
 
index 3fafa3c..421f841 100644 (file)
@@ -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)
     {
index 8d0c8cd..177d33e 100644 (file)
@@ -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
index 1ddfda3..4612dfc 100644 (file)
@@ -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 (file)
index 0000000..9fb24d4
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+#include <sys/socket.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (send, ssize_t, (int, const void *, size_t, int));
+
+#include <errno.h>
+
+#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 (file)
index 0000000..9e8a519
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+#include <sys/socket.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (sendto, ssize_t,
+                 (int, const void *, size_t, int,
+                  const struct sockaddr *, socklen_t));
+
+#include <errno.h>
+#include <netinet/in.h>
+#include <arpa/inet.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;
+
+    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 (executable)
index 0000000..68c247c
--- /dev/null
@@ -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 (executable)
index 0000000..d1377df
--- /dev/null
@@ -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 (file)
index 0000000..7a16cfa
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+#include <sys/socket.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (setsockopt, int, (int, int, int, const void *, socklen_t));
+
+#include <errno.h>
+
+#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 (file)
index 0000000..d154f8e
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+#include <sys/socket.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (shutdown, int, (int, int));
+
+#include <errno.h>
+
+#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 (file)
index de35295..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-/* Test of <signal.h> 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 <http://www.gnu.org/licenses/>.  */
-
-/* Written by Bruno Haible <bruno@clisp.org>, 2010.  */
-
-#define GNULIB_NAMESPACE gnulib
-#include <config.h>
-
-#include <signal.h>
-
-#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 (file)
index 744e9a4..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Test of <signal.h> 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 <http://www.gnu.org/licenses/>.  */
-
-#define GNULIB_NAMESPACE gnulib
-#include <config.h>
-
-#include <csignal>
diff --git a/tests/test-signal-h-c++.cc b/tests/test-signal-h-c++.cc
new file mode 100644 (file)
index 0000000..11b70c8
--- /dev/null
@@ -0,0 +1,60 @@
+/* Test of <signal.h> 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 <http://www.gnu.org/licenses/>.  */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2010.  */
+
+#define GNULIB_NAMESPACE gnulib
+#include <config.h>
+
+#include <signal.h>
+
+#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 (file)
index 0000000..744e9a4
--- /dev/null
@@ -0,0 +1,20 @@
+/* Test of <signal.h> 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 <http://www.gnu.org/licenses/>.  */
+
+#define GNULIB_NAMESPACE gnulib
+#include <config.h>
+
+#include <csignal>
diff --git a/tests/test-signal-h.c b/tests/test-signal-h.c
new file mode 100644 (file)
index 0000000..7103e1f
--- /dev/null
@@ -0,0 +1,129 @@
+/* Test of <signal.h> 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 <http://www.gnu.org/licenses/>.  */
+
+/* Written by Eric Blake <ebb9@byu.net>, 2009.  */
+
+#include <config.h>
+
+#include <signal.h>
+
+/* 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 (file)
index 7103e1f..0000000
+++ /dev/null
@@ -1,129 +0,0 @@
-/* Test of <signal.h> 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 <http://www.gnu.org/licenses/>.  */
-
-/* Written by Eric Blake <ebb9@byu.net>, 2009.  */
-
-#include <config.h>
-
-#include <signal.h>
-
-/* 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;
-}
index c898149..940156e 100644 (file)
@@ -29,6 +29,7 @@
 #include <limits.h>
 
 #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 (file)
index 0000000..55af46f
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2010-2011.  */
+
+#include <config.h>
+
+#include <math.h>
+
+#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 (file)
index 0000000..8227b06
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2010-2011.  */
+
+#include <config.h>
+
+#include <math.h>
+
+#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;
+}
index c0c9593..d0d5e58 100644 (file)
@@ -17,6 +17,7 @@
 /* Written by Bruno Haible <bruno@clisp.org>, 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
        <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00107.html> */
     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
        <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00107.html> */
     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));
index 3003b42..28fabe0 100644 (file)
@@ -17,6 +17,7 @@
 /* Written by Bruno Haible <bruno@clisp.org>, 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
        <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00107.html> */
     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
        <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00107.html> */
     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 (file)
index 0000000..ec8d5e8
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2010-2011.  */
+
+#include <config.h>
+
+#include <math.h>
+
+#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 (file)
index 0000000..1c19aa8
--- /dev/null
@@ -0,0 +1,116 @@
+/* Test of <stdalign.h>.
+   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 <http://www.gnu.org/licenses/>.  */
+
+/* Written by Paul Eggert, inspired by Bruno Haible's test-alignof.c.  */
+
+#include <config.h>
+
+#include <stdalign.h>
+
+#include <stddef.h>
+#include <stdint.h>
+
+#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
+}
index 07faf0f..213dcfd 100644 (file)
@@ -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 (file)
index 0000000..94da61a
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+#include <inttypes.h>
+
+#include "signature.h"
+#ifndef strtoimax
+SIGNATURE_CHECK (strtoimax, intmax_t, (const char *, char **, int));
+#endif
+
+#include <errno.h>
+
+#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 (file)
index 0000000..acc851c
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+#include <inttypes.h>
+
+#include "signature.h"
+#ifndef strtoumax
+SIGNATURE_CHECK (strtoumax, uintmax_t, (const char *, char **, int));
+#endif
+
+#include <errno.h>
+
+#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;
+}
index 1795c0e..46826ec 100644 (file)
@@ -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);
index a6e99d6..58c1899 100644 (file)
@@ -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;
 
index 2efa9b7..b803420 100644 (file)
@@ -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,
index cd07d86..3303bad 100644 (file)
 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 (file)
index 0000000..4358f2e
--- /dev/null
@@ -0,0 +1,28 @@
+/* Test of <sys/types.h> 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 <http://www.gnu.org/licenses/>.  */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2011.  */
+
+#define GNULIB_NAMESPACE gnulib
+#include <config.h>
+
+#include <sys/types.h>
+
+
+int
+main ()
+{
+}
diff --git a/tests/test-sys_types.c b/tests/test-sys_types.c
new file mode 100644 (file)
index 0000000..816c9d6
--- /dev/null
@@ -0,0 +1,34 @@
+/* Test of <sys/types.h> 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 <http://www.gnu.org/licenses/>.  */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2011.  */
+
+#include <config.h>
+
+#include <sys/types.h>
+
+/* 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 (file)
index 0000000..4539fb5
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2010-2011.  */
+
+#include <config.h>
+
+#include <math.h>
+
+#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 (file)
index 0000000..22e1cf2
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2010-2011.  */
+
+#include <config.h>
+
+#include <math.h>
+
+#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;
+}
index 9144b1b..f6b1d02 100644 (file)
@@ -20,6 +20,9 @@
 
 #include <termios.h>
 
+/* Check that the types are all defined.  */
+pid_t t1;
+
 int
 main (void)
 {
index 0c78f36..d499a5c 100644 (file)
 
 #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 <time.h> 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.  */
index f272aae..4e18ef4 100644 (file)
@@ -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 ())));
 
index 5d7a4ef..c356d93 100644 (file)
@@ -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 ())));
 
index ef93456..c648166 100644 (file)
@@ -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 ())));
 
index 698eb87..c28fe30 100644 (file)
@@ -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;
 }
index 12e415b..e9244b3 100644 (file)
 #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
index 30af671..7d25b6e 100644 (file)
@@ -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 (file)
index 0000000..4717e7d
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+#include <stdlib.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (unlockpt, int, (int));
+
+#include <errno.h>
+
+#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;
+}
index a1fce0b..87054ec 100755 (executable)
@@ -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 <<EOF || exit 1
 $TMP.4: warning: copyright statement not found
@@ -145,7 +145,7 @@ Copyright (C) 1990-2005, 2007-2009 Acme, Inc.
 EOF
 
 UPDATE_COPYRIGHT_YEAR=2010 UPDATE_COPYRIGHT_USE_INTERVALS=1 \
-  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 <<EOF || exit 1
 $TMP.4: warning: copyright statement not found
@@ -183,7 +183,7 @@ Copyright (C) 1990-2005, 2007-2009 Acme, Inc.
 EOF
 
 UPDATE_COPYRIGHT_YEAR=2010 UPDATE_COPYRIGHT_FORCE=1 \
-  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 <<EOF || exit 1
 $TMP.4: warning: copyright statement not found
index f3ffaf5..1730beb 100644 (file)
@@ -57,4 +57,21 @@ enum {
 #  define check_ctime 1
 # endif
 
+/* Compare two st_ctime values.  Return -1, 0 or 1, respectively
+   when A's st_ctime is smaller than, equal to or greater than B's.  */
+static inline int
+ctime_compare (struct stat const *a, struct stat const *b)
+{
+  if (a->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 */
index c61bae5..80618e5 100644 (file)
@@ -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.  */
index d5b306f..c3672db 100644 (file)
@@ -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);
index dea0d3c..c2715ea 100644 (file)
@@ -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
        <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00107.html> */
@@ -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
        <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00107.html> */
@@ -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);
index b819b5b..60fa698 100644 (file)
@@ -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
        <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00107.html> */
@@ -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
        <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00107.html> */
@@ -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 (file)
index 0000000..f860c66
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+#include <stdio.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (vdprintf, int, (int, const char *, va_list));
+
+#include <errno.h>
+
+#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 (file)
index 0000000..9027f19
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+#include <unistd.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (write, ssize_t, (int, const void *, size_t));
+
+#include <errno.h>
+#include <fcntl.h>
+#include <string.h>
+
+#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;
+}
index 6e00ec8..86bc60f 100644 (file)
@@ -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)
index 0299c82..d9f86b1 100644 (file)
@@ -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"
 
index d364934..e4efb5f 100644 (file)
 # 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 ?= \<init\.sh\>
+
+# In tests, use "compare expected actual", not the reverse.
+sc_prohibit_reversed_compare_failure:
+       @prohibit='\<compare [^ ]+ ([^ ]*exp|/dev/null)'                \
+       containing='$(_test_script_regex)'                              \
+       halt='reversed compare arguments'                               \
+         $(_sc_search_regexp)
+
 # #if HAVE_... will evaluate to false for any non numeric string.
 # That would be flagged by using -Wundef, however gnulib currently
 # tests many undefined macros, and so we can't enable that option.
@@ -1182,9 +1213,9 @@ bootstrap-tools ?= autoconf,automake,gnulib
 # If it's not already specified, derive the GPG key ID from
 # the signed tag we've just applied to mark this release.
 gpg_key_ID ?= \
-  $$(git cat-file tag v$(VERSION) > .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)