2010-03-07 Bruno Haible <bruno@clisp.org>
+ Tests of module 'dirent' in C++ mode.
+ * tests/test-dirent-c++.cc: New file.
+ * modules/dirent-tests (Files): Add it and tests/signature.h.
+ (Depends-on): Add ansi-c++-opt.
+ (Makefile.am): Arrange to compile and run test-dirent-c++.
+ * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
+ gl_MODULE_INDICATOR.
+
+ New module 'ansi-c++-opt'.
+ * modules/ansi-c++-opt: New file.
+ * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
+
+ Document C++ namespace mode.
+ * doc/gnulib.texi (A C++ namespace for gnulib): New section.
+
+ wctype: Avoid #define replacements in C++ mode.
+ * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
+ (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
+ iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
+ In C++, define a namespaced alias symbol.
+ * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
+ * modules/wctype (Depends-on): Add c++defs, warn-on-use.
+ (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
+ rule.
+
+ wchar: Avoid #define replacements in C++ mode.
+ * lib/wchar.in.h: Include c++defs.h.
+ (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
+ wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
+ symbol.
+ (wcwidth): Likewise. Fix prototype to be POSIX compliant.
+ * modules/wchar (Depends-on): Add c++defs.
+ (Makefile.am): Update wchar.h rule.
+
+ unistd: Avoid #define replacements in C++ mode.
+ * lib/unistd.in.h: Include c++defs.h.
+ (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
+ fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
+ getgroups, gethostname, getlogin, getlogin_r, getpagesize,
+ getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
+ pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
+ unlink, unlinkat, usleep, write): In C++, define a namespaced alias
+ symbol.
+ (environ): Update.
+ * modules/unistd (Depends-on): Add c++defs.
+ (Makefile.am): Update unistd.h rule.
+
+ time: Avoid #define replacements in C++ mode.
+ * lib/time.in.h: Include c++defs.h, warn-on-use.h.
+ (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
+ define a namespaced alias symbol.
+ * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
+ (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
+ GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
+ * modules/time (Depends-on): Add c++defs, warn-on-use.
+ (Makefile.am): Update time.h rule.
+ * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
+ * modules/nanosleep (configure.ac): Likewise.
+ * modules/strptime (configure.ac): Likewise.
+ * modules/timegm (configure.ac): Likewise.
+
+ sys_time: Avoid #define replacements in C++ mode.
+ * lib/sys_time.in.h: Include c++defs.h.
+ (gettimeofday): In C++, define a namespaced alias symbol.
+ * modules/sys_time (Depends-on): Add c++defs.
+ (Makefile.am): Update sys/time.h rule.
+
+ sys_stat: Avoid #define replacements in C++ mode.
+ * lib/sys_stat.in.h: Include c++defs.h.
+ (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
+ mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
+ namespaced alias symbol.
+ In C++, define a namespaced alias symbol.
+ * modules/sys_stat (Depends-on): Add c++defs.
+ (Makefile.am): Update sys/stat.h rule.
+
+ sys_socket: Avoid #define replacements in C++ mode.
+ * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
+ Include c++defs.h. Include warn-on-use.h earlier. Enable the function
+ definitions also when the system has a <sys/socket.h>.
+ (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
+ listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
+ In C++, define a namespaced alias symbol.
+ * modules/sys_socket (Depends-on): Add c++defs.
+ (Makefile.am): Update sys/socket.h rule.
+
+ sys_select: Avoid #define replacements in C++ mode.
+ * lib/sys_select.in.h: Include c++defs.h. Enable the function
+ definitions also when the system has a <sys/select.h>.
+ (select): In C++, define a namespaced alias symbol.
+ * modules/sys_select (Depends-on): Add c++defs.
+ (Makefile.am): Update sys/select.h rule.
+
sys_ioctl: Avoid #define replacements in C++ mode.
* lib/sys_ioctl.in.h: Include c++defs.h.
(ioctl): In C++, define a namespaced alias symbol.