From b153f4e4caeae05a6bcb74c200031f9060139d08 Mon Sep 17 00:00:00 2001 From: Jonathan Wakely Date: Wed, 19 Apr 2023 00:07:36 +0100 Subject: [PATCH] libstdc++: Adjust uses of null pointer constants in docs libstdc++-v3/ChangeLog: * doc/xml/manual/extensions.xml: Fix example to declare and qualify std::free, and use NULL instead of 0. * doc/html/manual/ext_demangling.html: Regenerate. * libsupc++/cxxabi.h: Adjust doxygen comments. --- libstdc++-v3/doc/html/manual/ext_demangling.html | 8 +++----- libstdc++-v3/doc/xml/manual/extensions.xml | 8 +++----- libstdc++-v3/libsupc++/cxxabi.h | 4 ++-- 3 files changed, 8 insertions(+), 12 deletions(-) diff --git a/libstdc++-v3/doc/html/manual/ext_demangling.html b/libstdc++-v3/doc/html/manual/ext_demangling.html index 028ec71d8c81..1e7cdda83266 100644 --- a/libstdc++-v3/doc/html/manual/ext_demangling.html +++ b/libstdc++-v3/doc/html/manual/ext_demangling.html @@ -26,6 +26,7 @@

 #include <exception>
 #include <iostream>
+#include <cstdlib>
 #include <cxxabi.h>
 
 struct empty { };
@@ -33,7 +34,6 @@ struct empty { };
 template <typename T, int N>
   struct bar { };
 
-
 int main()
 {
   int     status;
@@ -43,11 +43,9 @@ int main()
   bar<empty,17>          u;
   const std::type_info  &ti = typeid(u);
 
-  realname = abi::__cxa_demangle(ti.name(), 0, 0, &status);
+  realname = abi::__cxa_demangle(ti.name(), NULL, NULL, &status);
   std::cout << ti.name() << "\t=> " << realname << "\t: " << status << '\n';
-  free(realname);
-
-  return 0;
+  std::free(realname);
 }
    

This prints diff --git a/libstdc++-v3/doc/xml/manual/extensions.xml b/libstdc++-v3/doc/xml/manual/extensions.xml index 196b55d83479..daa98f5cba74 100644 --- a/libstdc++-v3/doc/xml/manual/extensions.xml +++ b/libstdc++-v3/doc/xml/manual/extensions.xml @@ -521,6 +521,7 @@ get_temporary_buffer(5, (int*)0); #include <exception> #include <iostream> +#include <cstdlib> #include <cxxabi.h> struct empty { }; @@ -528,7 +529,6 @@ struct empty { }; template <typename T, int N> struct bar { }; - int main() { int status; @@ -538,11 +538,9 @@ int main() bar<empty,17> u; const std::type_info &ti = typeid(u); - realname = abi::__cxa_demangle(ti.name(), 0, 0, &status); + realname = abi::__cxa_demangle(ti.name(), NULL, NULL, &status); std::cout << ti.name() << "\t=> " << realname << "\t: " << status << '\n'; - free(realname); - - return 0; + std::free(realname); } diff --git a/libstdc++-v3/libsupc++/cxxabi.h b/libstdc++-v3/libsupc++/cxxabi.h index 10179bc0a0df..ac0637b0343c 100644 --- a/libstdc++-v3/libsupc++/cxxabi.h +++ b/libstdc++-v3/libsupc++/cxxabi.h @@ -169,7 +169,7 @@ namespace __cxxabiv1 * @param __output_buffer A region of memory, allocated with * malloc, of @a *__length bytes, into which the demangled name is * stored. If @a __output_buffer is not long enough, it is - * expanded using realloc. @a __output_buffer may instead be NULL; + * expanded using realloc. @a __output_buffer may instead be null; * in that case, the demangled name is placed in a region of memory * allocated with malloc. * @@ -184,7 +184,7 @@ namespace __cxxabiv1 * -3: One of the arguments is invalid. * * @return A pointer to the start of the NUL-terminated demangled - * name, or NULL if the demangling fails. The caller is + * name, or a null pointer if the demangling fails. The caller is * responsible for deallocating this memory using @c free. * * The demangling is performed using the C++ ABI mangling rules, -- 2.47.2