public inbox for gcc-cvs-wwwdocs@sourceware.org
help / color / mirror / Atom feed
From: Marek Polacek <mpolacek@sourceware.org>
To: gcc-cvs-wwwdocs@gcc.gnu.org
Subject: gcc-wwwdocs branch master updated. 72814a26ba0be689c4c7f0a54227ce6ec4e2cd96
Date: Tue, 23 Nov 2021 19:18:43 +0000 (GMT)	[thread overview]
Message-ID: <20211123191843.DFA0F3858D28@sourceware.org> (raw)

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "gcc-wwwdocs".

The branch, master has been updated
       via  72814a26ba0be689c4c7f0a54227ce6ec4e2cd96 (commit)
      from  e8cffe6d8fa529066a3e012599f9f417ddf0e855 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 72814a26ba0be689c4c7f0a54227ce6ec4e2cd96
Author: Marek Polacek <polacek@redhat.com>
Date:   Tue Nov 23 14:15:44 2021 -0500

    gcc-12/changes.html: Document new C++ features in GCC 12

diff --git a/htdocs/gcc-12/changes.html b/htdocs/gcc-12/changes.html
index 89cbbdd8..49be40fd 100644
--- a/htdocs/gcc-12/changes.html
+++ b/htdocs/gcc-12/changes.html
@@ -143,13 +143,19 @@ a work-in-progress.</p>
 <h3 id="c-family">C family</h3>
 <ul>
   <li>Support for <code>__builtin_shufflevector</code> compatible with
-      the clang language extension was added.
-  </li>
+      the clang language extension was added.</li>
+  <li>Support for attribute <code>unavailable</code> was added.</li>
+  <li>A new built-in function, <code>__builtin_assoc_barrier</code>, was added.
+      It can be used to inhibit re-association of floating-point
+      expressions.</li>
   <li>New warnings:
     <ul>
       <li><code>-Wbidi-chars</code> warns about potentially misleading UTF-8
-	bidirectional control characters.  The default is <code>-Wbidi-chars=unpaired</code>.
-      </li>
+	bidirectional control characters.  The default is
+	<code>-Wbidi-chars=unpaired</code>
+	(<a href="https://gcc.gnu.org/PR103026">PR103026</a>)</li>
+      <li><code>-Warray-compare</code> warns about comparisons between two operands of
+	  array type (<a href="https://gcc.gnu.org/PR97573">PR97573</a>)</li>
     </ul>
   </li>
   <li>Enhancements to existing warnings:
@@ -159,7 +165,8 @@ a work-in-progress.</p>
 	<code>-Wno-attributes=ns::</code> to suppress warnings about unknown scoped
 	attributes (in C++11 and C2X).  Similarly,
 	<code>#pragma GCC diagnostic ignored_attributes "vendor::attr"</code> can
-	be used to achieve the same effect.</li>
+	be used to achieve the same effect
+	(<a href="https://gcc.gnu.org/PR101940">PR101940</a>)</li>
     </ul>
   </li>
 </ul>
@@ -168,23 +175,115 @@ a work-in-progress.</p>
 <ul>
   <li>Several C++23 features have been implemented:
     <ul>
-      <li>P1938R3, <code>if consteval</code></li>
-      <li>P0849R8, <code>auto(x)</code>: decay-copy in the language</li>
-      <li>P2242R3, Non-literal variables (and labels and gotos) in constexpr functions</li>
-      <li>P2334R1, Support for preprocessing directives <code>elifdef</code> and
-	  <code>elifndef</code></li>
-      <li>P2360R0, Extend <em>init-statement</em> to allow <em>alias-declaration</em></li>
-      <li>DR 2397, <code>auto</code> specifier for pointers and references to arrays</li>
+      <li><a href="https://wg21.link/p1938">P1938R3</a>, <code>if consteval</code>
+	  (<a href="https://gcc.gnu.org/PR100974">PR100974</a>)</li>
+      <li><a href="https://wg21.link/p0849">P0849R8</a>, <code>auto(x)</code>:
+	  decay-copy in the language
+	  (<a href="https://gcc.gnu.org/PR103049">PR103049</a>)</li>
+      <li><a href="https://wg21.link/p2242">P2242R3</a>, Non-literal variables (and
+	  labels and gotos) in constexpr functions
+	  (<a href="https://gcc.gnu.org/PR102612">PR102612</a>)</li>
+      <li><a href="https://wg21.link/p2334">P2334R1</a>, Support for preprocessing
+	  directives <code>elifdef</code> and <code>elifndef</code>
+	  (<a href="https://gcc.gnu.org/PR102616">PR102616</a>)</li>
+      <li><a href="https://wg21.link/p2360">P2360R0</a>, Extend <em>init-statement</em>
+	  to allow <em>alias-declaration</em>
+	  (<a href="https://gcc.gnu.org/PR102617">PR102617</a>)</li>
+      <!--
+      <li><a href="https://wg21.link/p2128">P2128R6</a>, Multidimensional subscript
+	  operator</li>
+      -->
+      <li><a href="https://wg21.link/cwg2397">DR 2397</a>, <code>auto</code> specifier
+	  for pointers and references to arrays
+	  (<a href="https://gcc.gnu.org/PR100975">PR100975</a>)</li>
     </ul>
   </li>
   <li>Several C++ Defect Reports have been resolved, e.g.:
     <ul>
-      <li>DR 1227, Mixing immediate and non-immediate contexts in deduction failure</li>
-      <li>DR 2397, <code>auto</code> specifier for pointers and references to arrays</li>
+      <li><a href="https://wg21.link/cwg960">DR 960</a>, Covariant functions and
+	  lvalue/rvalue references</li>
+      <li><a href="https://wg21.link/cwg1227">DR 1227</a>, Mixing immediate and
+	  non-immediate contexts in deduction failure</li>
+      <li><a href="https://wg21.link/cwg1315">DR 1315</a>, Restrictions on non-type
+	  template arguments in partial specializations</li>
+      <li><a href="https://wg21.link/cwg2082">DR 2082</a>, Referring to parameters
+	  in unevaluated operands of default arguments</li>
+      <li><a href="https://wg21.link/cwg2351">DR 2351</a>, <code>void{}</code></li>
+      <li><a href="https://wg21.link/cwg2374">DR 2374</a>, Overly permissive
+	  specification of <code>enum</code> direct-list-initialization</li>
+      <li><a href="https://wg21.link/cwg2397">DR 2397</a>, <code>auto</code> specifier
+	  for pointers and references to arrays</li>
+      <li><a href="https://wg21.link/cwg2446">DR 2446</a>, Questionable type-dependency
+	  of <em>concept-ids</em></li>
     </ul>
   </li>
+  <li>New command-line option <code>-fimplicit-constexpr</code> can be used to
+      make inline functions implicitly constexpr
+      (<a href="https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=87c2080b">git</a>)</li>
+  <li>Deduction guides can be declared at class scope
+      (<a href="https://gcc.gnu.org/PR79501">PR79501</a>)</li>
   <li><code>-Wuninitialized</code> warns about using uninitialized variables in
-      member initializer lists</li>
+      member initializer lists (<a href="https://gcc.gnu.org/PR19808">PR19808</a>)
+      </li>
+  <li><code>-Wint-in-bool-context</code> is now disabled when instantiating
+      a template (<a href="https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=3a2b12bc">git</a>)</li>
+  <li>Stricter checking of attributes on friend declarations: if a friend
+      declaration has an attribute, that declaration must be a definition.
+      Moreover, a C++11 attribute cannot appear in the middle of the
+      <em>decl-specifier-seq</em>.
+      (<a href="https://gcc.gnu.org/PR99032">PR99032</a>)</li>
+  <li>New warning options for C++ language mismatches:
+      <code>-Wc++11-extensions</code>, <code>-Wc++14-extensions</code>,
+      <code>-Wc++17-extensions</code>, <code>-Wc++20-extensions</code>,
+      and <code>-Wc++23-extensions</code>.  They are enabled by default
+      and can be used to control existing pedwarns about occurences of
+      new C++ constructs in code using an old C++ standard dialect.</li>
+  <li>New warning <code>-Wmissing-requires</code> warns about missing
+      <code>requires</code>
+      (<a href="https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=e18e56c7">git</a>)</li>
+  <li>The existing <code>std::is_constant_evaluated</code> in <code>if</code>
+      warning was extended to warn in more cases
+      (<a href="https://gcc.gnu.org/PR100995">PR100995</a>)</li>
+  <li><code>-Waddress</code> has been enhanced so that it now warns about, for
+      instance, comparing the address of a nonstatic member function to null
+      (<a href="https://gcc.gnu.org/PR102103">PR102103</a>)</li>
+  <li>Errors about narrowing are no longer hidden if they occur in system
+      headers</li>
+  <li>Ordered comparison of null pointers is now rejected
+      (<a href="https://gcc.gnu.org/PR99701">PR99701</a>)</li>
+  <li>Anonymous structs with bases are now rejected
+      (<a href="https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=3ead06c1">git</a>)</li>
+  <li>The compiler rejects taking the address of an immediate member function
+      (<a href="https://gcc.gnu.org/PR102753">PR102753</a>)</li>
+  <li>The compiler has support for C++20
+      <code>__cpp_lib_is_pointer_interconvertible</code> and
+      <code>__cpp_lib_is_layout_compatible</code> to help the C++
+      library implement <a href="https://wg21.link/p0466">P0466</a>,
+      Layout-compatibility and Pointer-interconvertibility Traits
+      (<a href="https://gcc.gnu.org/PR101539">PR101539</a>)</li>
+  <li>Memory usage of constraint subsumption has been improved
+      (<a href="https://gcc.gnu.org/PR100828">PR100828</a>)</li>
+  <li><code>constinit thread_local</code> variables are optimized better
+      (<a href="https://gcc.gnu.org/PR101786">PR101786</a>)</li>
+  <li>Support for C++17 <code>std::hardware_destructive_interference_size</code>
+      was added, along with the <code>-Winterference-size</code> warning
+      (<a href="https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=76b75018">git</a>)</li>
+  <li>Many bugs in the CTAD handling have been fixed
+      (<a href="https://gcc.gnu.org/PR101344">PR101344</a>,
+       <a href="https://gcc.gnu.org/PR101883">PR101883</a>,
+       <a href="https://gcc.gnu.org/PR89062">PR89062</a>,
+       <a href="https://gcc.gnu.org/PR101233">PR101233</a>,
+       <a href="https://gcc.gnu.org/PR88252">PR88252</a>,
+       <a href="https://gcc.gnu.org/PR86439">PR86439</a>,
+       <a href="https://gcc.gnu.org/PR98832">PR98832</a>,
+      <a href="https://gcc.gnu.org/PR102933">PR102933</a> ...)</li>
+  <li>Several issues with constrained variable templates have been fixed
+      (<a href="https://gcc.gnu.org/PR98486">PR98486</a>)</li>
+  <li>The compiler performs less instantiating when doing speculative constant
+      evaluation
+      (<a href="https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=1595fe44">git</a>)</li>
+  <li>Various diagnostic improvements; e.g., a more precise caret location for
+      pointer-to-member expressions</li>
 </ul>
 
 <h4 id="libstdcxx">Runtime Library (libstdc++)</h4>
diff --git a/htdocs/projects/cxx-dr-status.html b/htdocs/projects/cxx-dr-status.html
index 74aaa2c8..8f750892 100644
--- a/htdocs/projects/cxx-dr-status.html
+++ b/htdocs/projects/cxx-dr-status.html
@@ -6749,7 +6749,7 @@
       <td><a href="https://wg21.link/cwg960">960</a></td>
       <td>CD2</td>
       <td>Covariant functions and lvalue/rvalue references</td>
-      <td class="unsupported">?</td>
+      <td class="supported">12</td>
       <td></td>
     </tr>
     <tr>
@@ -9234,7 +9234,7 @@
       <td><a href="https://wg21.link/cwg1315">1315</a></td>
       <td>CD4</td>
       <td>Restrictions on non-type template arguments in partial specializations</td>
-      <td class="unsupported">?</td>
+      <td class="supported">12</td>
       <td><a href="https://gcc.gnu.org/PR77781">PR77781</a></td>
     </tr>
     <tr>
@@ -16652,7 +16652,7 @@
       <td><a href="https://wg21.link/cwg2374">2374</a></td>
       <td>C++20</td>
       <td>Overly permissive specification of <code>enum</code> direct-list-initialization</td>
-      <td class="unsupported">?</td>
+      <td class="supported">12</td>
       <td></td>
     </tr>
     <tr>
@@ -17156,7 +17156,7 @@
       <td><a href="https://wg21.link/cwg2446">2446</a></td>
       <td>C++20</td>
       <td>Questionable type-dependency of <em>concept-ids</em></td>
-      <td class="unsupported">?</td>
+      <td class="supported">12</td>
       <td></td>
     </tr>
     <tr>
@@ -17492,7 +17492,7 @@
 
   <p>This page is currently maintained by <a href="mailto:polacek@redhat.com">polacek@redhat.com</a>.</p>
   <p>Last update:
-Fri Nov  5 11:06:02 AM EDT 2021
+Tue Nov 23 12:36:13 PM EST 2021
   </p>
 
 </body>

-----------------------------------------------------------------------

Summary of changes:
 htdocs/gcc-12/changes.html         | 129 ++++++++++++++++++++++++++++++++-----
 htdocs/projects/cxx-dr-status.html |  10 +--
 2 files changed, 119 insertions(+), 20 deletions(-)


hooks/post-receive
-- 
gcc-wwwdocs


                 reply	other threads:[~2021-11-23 19:18 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=20211123191843.DFA0F3858D28@sourceware.org \
    --to=mpolacek@sourceware.org \
    --cc=gcc-cvs-wwwdocs@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).