* NEWS, doc/gnulib.texi: Mention this.
* m4/nullptr.m4: Rename from m4/c-nullptr.m4.
(gl_NULLPTR): Rename from gl_C_NULLPTR.
* modules/nullptr: Rename from modules/nullptr.
* modules/nullptr-c++-tests: Rename from modules/c-nullptr-c++-tests.
* modules/nullptr-tests: Rename from modules/c-nullptr-tests.
All uses changed.
+2023-02-07 Paul Eggert <eggert@cs.ucla.edu>
+
+ nullptr: rename from c-nullptr
+ * NEWS, doc/gnulib.texi: Mention this.
+ * m4/nullptr.m4: Rename from m4/c-nullptr.m4.
+ (gl_NULLPTR): Rename from gl_C_NULLPTR.
+ * modules/nullptr: Rename from modules/nullptr.
+ * modules/nullptr-c++-tests: Rename from modules/c-nullptr-c++-tests.
+ * modules/nullptr-tests: Rename from modules/c-nullptr-tests.
+ All uses changed.
+
2023-02-07 Bruno Haible <bruno@clisp.org>
Fix a copyright header - module license mismatch.
Date Modules Changes
+2023-02-07 c-nullptr Rename this module to nullptr.
+
2023-01-21 getprogname The include file is changed from "getprogname.h"
to <stdlib.h>.
@node nullptr
@section @code{nullptr}
-Gnulib module: c-nullptr
+Gnulib module: nullptr
@cindex null pointer
-The @code{c-nullptr} module arranges for @code{nullptr} to act
-like standard C@.
+The @code{nullptr} module arranges for @code{nullptr} to act
+like standard C and C++.
-The C @code{nullptr} keyword yields a null pointer. It differs from
+The @code{nullptr} keyword yields a null pointer. It differs from
the @code{NULL} macro, in that @code{NULL} might be an integer whereas
@code{nullptr} is of a special @code{nullptr_t} type with only one
value, namely @code{nullptr} itself. Using @code{nullptr} can help
@itemize
@item
Some platforms lack @code{nullptr}:
-GCC 12, Clang 15, and other pre-2023 C compilers.
+For C: GCC 12, Clang 15, and other pre-2023 C compilers.
+For C++: pre-2011 C++ compilers.
@end itemize
Portability problems not fixed by Gnulib:
+++ /dev/null
-# Check for nullptr that conforms to C23.
-
-dnl Copyright 2023 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_C_NULLPTR],
-[
- AC_CACHE_CHECK([for nullptr], [gl_cv_c_nullptr],
- [AC_COMPILE_IFELSE(
- [AC_LANG_SOURCE([[int *p = nullptr;]])],
- [gl_cv_c_nullptr=yes],
- [gl_cv_c_nullptr=no])])
- if test "$gl_cv_c_nullptr" = yes; then
- AC_DEFINE([HAVE_C_NULLPTR], [1], [Define to 1 if nullptr works.])
- fi
-])
-
- AH_VERBATIM([nullptr],
-[#ifndef nullptr /* keep config.h idempotent */
-# ifdef __cplusplus
-/* For the C++ compiler the result of the configure test is irrelevant.
- We know that at least g++ and clang with option -std=c++11 or higher, as well
- as MSVC 14 or newer, already have nullptr. */
-# if !(((defined __GNUC__ || defined __clang__) && __cplusplus >= 201103L) \
- || (defined _MSC_VER && 1900 <= _MSC_VER))
-/* Define nullptr as a macro, the best we can. */
-# if 3 <= __GNUG__
-# define nullptr __null
-# else
-# define nullptr 0L
-# endif
-# endif
-# else
-/* For the C compiler, use the result of the configure test. */
-# ifndef HAVE_C_NULLPTR
-# define nullptr ((void *) 0)
-# endif
-# endif
-#endif])
-])
--- /dev/null
+# Check for nullptr that conforms to C23.
+
+dnl Copyright 2023 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_NULLPTR],
+[
+ AC_CACHE_CHECK([for nullptr], [gl_cv_c_nullptr],
+ [AC_COMPILE_IFELSE(
+ [AC_LANG_SOURCE([[int *p = nullptr;]])],
+ [gl_cv_c_nullptr=yes],
+ [gl_cv_c_nullptr=no])])
+ if test "$gl_cv_c_nullptr" = yes; then
+ AC_DEFINE([HAVE_C_NULLPTR], [1], [Define to 1 if nullptr works.])
+ fi
+])
+
+ AH_VERBATIM([nullptr],
+[#ifndef nullptr /* keep config.h idempotent */
+# ifdef __cplusplus
+/* For the C++ compiler the result of the configure test is irrelevant.
+ We know that at least g++ and clang with option -std=c++11 or higher, as well
+ as MSVC 14 or newer, already have nullptr. */
+# if !(((defined __GNUC__ || defined __clang__) && __cplusplus >= 201103L) \
+ || (defined _MSC_VER && 1900 <= _MSC_VER))
+/* Define nullptr as a macro, the best we can. */
+# if 3 <= __GNUG__
+# define nullptr __null
+# else
+# define nullptr 0L
+# endif
+# endif
+# else
+/* For the C compiler, use the result of the configure test. */
+# ifndef HAVE_C_NULLPTR
+# define nullptr ((void *) 0)
+# endif
+# endif
+#endif])
+])
+++ /dev/null
-Description:
-A nullptr that is like C23.
-
-Files:
-m4/c-nullptr.m4
-
-Depends-on:
-
-configure.ac:
-gl_C_NULLPTR
-
-Makefile.am:
-
-Include:
-
-License:
-LGPLv2+
-
-Maintainer:
-all
+++ /dev/null
-Files:
-tests/test-nullptr-c++.cc
-
-Status:
-c++-test
-
-Depends-on:
-ansi-c++-opt
-
-configure.ac:
-
-Makefile.am:
-if ANSICXX
-TESTS += test-nullptr-c++
-check_PROGRAMS += test-nullptr-c++
-test_nullptr_c___SOURCES = test-nullptr-c++.cc
-endif
+++ /dev/null
-Files:
-tests/test-nullptr.c
-tests/macros.h
-
-Depends-on:
-c-nullptr-c++-tests
-
-configure.ac:
-
-Makefile.am:
-TESTS += test-nullptr
-check_PROGRAMS += test-nullptr
--- /dev/null
+Description:
+A nullptr that is like C23.
+
+Files:
+m4/nullptr.m4
+
+Depends-on:
+
+configure.ac:
+gl_NULLPTR
+
+Makefile.am:
+
+Include:
+
+License:
+LGPLv2+
+
+Maintainer:
+all
--- /dev/null
+Files:
+tests/test-nullptr-c++.cc
+
+Status:
+c++-test
+
+Depends-on:
+ansi-c++-opt
+
+configure.ac:
+
+Makefile.am:
+if ANSICXX
+TESTS += test-nullptr-c++
+check_PROGRAMS += test-nullptr-c++
+test_nullptr_c___SOURCES = test-nullptr-c++.cc
+endif
--- /dev/null
+Files:
+tests/test-nullptr.c
+tests/macros.h
+
+Depends-on:
+nullptr-c++-tests
+
+configure.ac:
+
+Makefile.am:
+TESTS += test-nullptr
+check_PROGRAMS += test-nullptr