From: Jonathan Wakely <jwakely@redhat.com>
To: gcc-patches@gcc.gnu.org, libstdc++@gcc.gnu.org
Subject: [wwwdocs] Document libstdc++ header dependency changes
Date: Thu, 26 Nov 2020 11:33:09 +0000 [thread overview]
Message-ID: <20201126113309.GA2103723@redhat.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 87 bytes --]
Also explain how to replace dynamic exception specifications.
Committed to wwwdocs.
[-- Attachment #2: patch.txt --]
[-- Type: text/plain, Size: 2054 bytes --]
commit 611da69f7782376d2737fe683f5db7ea7a5cdb31
Author: Jonathan Wakely <jwakely@redhat.com>
Date: Thu Nov 26 11:31:02 2020 +0000
Document libstdc++ header dependency changes
Also explain how to replace dynamic exception specifications.
diff --git a/htdocs/gcc-11/porting_to.html b/htdocs/gcc-11/porting_to.html
index 1e27064c..91cd0b4d 100644
--- a/htdocs/gcc-11/porting_to.html
+++ b/htdocs/gcc-11/porting_to.html
@@ -77,10 +77,43 @@ equality comparisons, not ordered comparisons.
<p>
GCC 11 defaults to C++17 which does not allow dynamic exception specifications.
</p>
+<p>
+An exception specification like <code>throw(std::runtime_error)</code> should
+be removed or replaced with <code>noexcept(false)</code> (meaning the function
+can throw any type of exception).
+An exception specification like <code>throw()</code> can be replaced with
+<code>noexcept</code> or <code>noexcept(true)</code> (meaning the function
+does not throw exceptions).
+</p>
<h3 id="Comparison-Functions">Comparison Functions</h3>
<p>
GCC 11 now enforces that comparison objects be invocable as const.
+</p>
+
+<h3 id="header-dep-changes">Header dependency changes</h3>
+<p>Some C++ Standard Library headers have been changed to no longer include
+other headers that they do need to depend on.
+As such, C++ programs that used standard library components without
+including the right headers will no longer compiler.
+</p>
+<p>
+The following headers are used less widely in libstdc++ and may need to
+be included explicitly by programs that were incorrectly relying on them
+being included implicitly by other headers:
+</p>
+<ul>
+<li> <code><limits></code>
+ (e.g. for <code>std::numeric_limits</code>)
+</li>
+<li> <code><memory></code>
+ (e.g. for <code>std::unique_ptr</code>, <code>std::shared_ptr</code> etc.)
+</li>
+<li> <code><utility></code>
+ (for <code>std::pair</code>, <code>std::tuple_size</code>,
+ <code>std::index_sequence</code> etc.)
+</li>
+</ul>
<!--
<h2 id="fortran">Fortran language issues</h2>
next reply other threads:[~2020-11-26 11:33 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-11-26 11:33 Jonathan Wakely [this message]
2020-11-26 11:53 ` Jonathan Wakely
2020-12-01 21:58 ` Gerald Pfeifer
2020-12-01 22:06 ` Jeff Law
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20201126113309.GA2103723@redhat.com \
--to=jwakely@redhat.com \
--cc=gcc-patches@gcc.gnu.org \
--cc=libstdc++@gcc.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).