aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2023-04-04 12:04:14 +0100
committerJonathan Wakely <jwakely@redhat.com>2023-04-27 21:36:14 +0100
commitee1a8294754af16b00538b17414679c8d72a575b (patch)
tree9d7cf335ec1ae409f9270e9ba6e6b444ddd1bf48 /libstdc++-v3
parentb9e35103581cdbd5368ccfbe6dab474f32834246 (diff)
libstdc++: Fix outdated docs about demangling exception messages
The string returned by std::bad_exception::what() hasn't been a mangled name since PR libstdc++/14493 was fixed for GCC 4.2.0, so remove the docs showing how to demangle it. libstdc++-v3/ChangeLog: * doc/xml/manual/extensions.xml: Remove std::bad_exception from example program. * doc/html/manual/ext_demangling.html: Regenerate. (cherry picked from commit 688d126b69215db29774c249b052e52d765782b3)
Diffstat (limited to 'libstdc++-v3')
-rw-r--r--libstdc++-v3/doc/html/manual/ext_demangling.html13
-rw-r--r--libstdc++-v3/doc/xml/manual/extensions.xml13
2 files changed, 4 insertions, 22 deletions
diff --git a/libstdc++-v3/doc/html/manual/ext_demangling.html b/libstdc++-v3/doc/html/manual/ext_demangling.html
index 879497f7d08..028ec71d8c8 100644
--- a/libstdc++-v3/doc/html/manual/ext_demangling.html
+++ b/libstdc++-v3/doc/html/manual/ext_demangling.html
@@ -39,14 +39,6 @@ int main()
int status;
char *realname;
- // exception classes not in &lt;stdexcept&gt;, thrown by the implementation
- // instead of the user
- std::bad_exception e;
- realname = abi::__cxa_demangle(e.what(), 0, 0, &amp;status);
- std::cout &lt;&lt; e.what() &lt;&lt; "\t=&gt; " &lt;&lt; realname &lt;&lt; "\t: " &lt;&lt; status &lt;&lt; '\n';
- free(realname);
-
-
// typeid
bar&lt;empty,17&gt; u;
const std::type_info &amp;ti = typeid(u);
@@ -61,13 +53,12 @@ int main()
This prints
</p><pre class="screen">
<code class="computeroutput">
- St13bad_exception =&gt; std::bad_exception : 0
3barI5emptyLi17EE =&gt; bar&lt;empty, 17&gt; : 0
</code>
</pre><p>
The demangler interface is described in the source documentation
linked to above. It is actually written in C, so you don't need to
be writing C++ in order to demangle C++. (That also means we have to
- use crummy memory management facilities, so don't forget to free()
- the returned char array.)
+ use crummy memory management facilities, so don't forget to
+ <code class="code">free()</code> the returned char array.)
</p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ext_io.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="extensions.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ext_concurrency.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 27. Input and Output </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 29. Concurrency</td></tr></table></div></body></html> \ No newline at end of file
diff --git a/libstdc++-v3/doc/xml/manual/extensions.xml b/libstdc++-v3/doc/xml/manual/extensions.xml
index 86e92beffd3..196b55d8347 100644
--- a/libstdc++-v3/doc/xml/manual/extensions.xml
+++ b/libstdc++-v3/doc/xml/manual/extensions.xml
@@ -534,14 +534,6 @@ int main()
int status;
char *realname;
- // exception classes not in &lt;stdexcept&gt;, thrown by the implementation
- // instead of the user
- std::bad_exception e;
- realname = abi::__cxa_demangle(e.what(), 0, 0, &amp;status);
- std::cout &lt;&lt; e.what() &lt;&lt; "\t=&gt; " &lt;&lt; realname &lt;&lt; "\t: " &lt;&lt; status &lt;&lt; '\n';
- free(realname);
-
-
// typeid
bar&lt;empty,17&gt; u;
const std::type_info &amp;ti = typeid(u);
@@ -559,7 +551,6 @@ int main()
<screen>
<computeroutput>
- St13bad_exception =&gt; std::bad_exception : 0
3barI5emptyLi17EE =&gt; bar&lt;empty, 17&gt; : 0
</computeroutput>
</screen>
@@ -568,8 +559,8 @@ int main()
The demangler interface is described in the source documentation
linked to above. It is actually written in C, so you don't need to
be writing C++ in order to demangle C++. (That also means we have to
- use crummy memory management facilities, so don't forget to free()
- the returned char array.)
+ use crummy memory management facilities, so don't forget to
+ <code>free()</code> the returned char array.)
</para>
</chapter>