From mboxrd@z Thu Jan 1 00:00:00 1970
Return-Path:
Received: by sourceware.org (Postfix, from userid 1734)
id 90D97384AB60; Wed, 10 Apr 2024 21:22:39 +0000 (GMT)
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 90D97384AB60
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org;
s=default; t=1712784159;
bh=EYMIpEHJK/lFqIQ10FhfcmN6y1+m8yZ8llMTTDHZjS0=;
h=To:Subject:Date:From:From;
b=ni8hUtylP6lHIJq0fafvnjAXvdOm8qsvL1LPTi6DVVkSBwGs6vsHPNVm0u0RdzuRZ
B12gKH2GDHxpHfY570sYcPZsh9PEEm5EeNvhBS3AnMGigDr+PATWNzBEGukNx2oDDm
kIEegzVR4tFaIg8x9wGPNyv+MI/wVGKcR2QQJicI=
To: gcc-cvs-wwwdocs@gcc.gnu.org
Subject: gcc-wwwdocs branch master updated. d65752191baaa137eb6d604b802e7b9170a39752
X-Git-Refname: refs/heads/master
X-Git-Reftype: branch
X-Git-Oldrev: 73b90bbb8534ccf21dc1d4c6edca36a894a84d3b
X-Git-Newrev: d65752191baaa137eb6d604b802e7b9170a39752
Message-Id: <20240410212239.90D97384AB60@sourceware.org>
Date: Wed, 10 Apr 2024 21:22:39 +0000 (GMT)
From: Marek Polacek
List-Id:
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 d65752191baaa137eb6d604b802e7b9170a39752 (commit)
from 73b90bbb8534ccf21dc1d4c6edca36a894a84d3b (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 d65752191baaa137eb6d604b802e7b9170a39752
Author: Marek Polacek
Date: Wed Apr 10 17:21:09 2024 -0400
gcc-14/changes: Document more C++ changes
diff --git a/htdocs/gcc-14/changes.html b/htdocs/gcc-14/changes.html
index 4a063346..5c2439ab 100644
--- a/htdocs/gcc-14/changes.html
+++ b/htdocs/gcc-14/changes.html
@@ -273,6 +273,9 @@ a work-in-progress.
Several C++23 features have been implemented:
+ - P0847R7, Deducing this
+ (PR102609)
+
- P2280R4, Using unknown
references in constant expressions
(PR106650)
@@ -289,12 +292,26 @@ a work-in-progress.
- Several C++ Defect Reports have been resolved, e.g.:
+ - DR 532,
+ Member/nonmember operator template partial ordering
- DR 976,
Deduction for
const T&
conversion operators
+ - DR 2262,
+ Attributes for asm-definition
+ - DR 2359,
+ Unintended copy initialization with designated initializers
+ - DR 2386,
+
tuple_size
requirements for structured binding
- DR 2406,
[[fallthrough]]
attribute and iteration statements
- DR 2543,
constinit
and optimized dynamic initialization
+ - DR 2586,
+ Explicit object parameter for assignment and comparison
+ - DR 2735,
+ List-initialization and conversions in overload resolution
+ - DR 2799,
+ Inheriting default constructors
-
@@ -304,6 +321,85 @@ a work-in-progress.
the template is instantiated ("
required from here
"),
rather than just print filename and line/column numbers.
+ - New built-in
__type_pack_element
to speed up traits
+ such as std::tuple_element
+ (PR100157)
+ goto
can cross the initialization of a trivially initialized
+ object with a non-trivial destructor
+ (DR 2256)
+ -Wdangling-reference
false positives have been reduced. The
+ warning does not warn about std::span
-like classes; there is
+ also a new attribute gnu::no_dangling
to suppress the
+ warning. See
+ the manual
+ for more info.
+ - noexcept(expr) is now mangled as per the Itanium ABI
+ - the named return value optimization can now be performed even for
+ variables declared in an inner block of a function, see the
+
+ test
+ - New
-Wnrvo
warning, to warn if the named return value
+ optimization is not performed although it is allowed by
+ [class.copy.elision]. See
+ the manual
+ for more info.
+ - The backing array for
std::initializer_list
has been made
+ static, allowing combining multiple equivalent initializer-lists
+ (git)
+
+ - New
-Welaborated-enum-base
warning, to warn if an additional
+ enum-base is used in an elaborated-type-specifier
+ - Better
#include
hints for missing headers
+ (PR110164)
+ - The arguments of a variable template-id are coerced earlier than
+ before, so various problems are detected earlier
+ (PR89442)
+ -Wmissing-field-initializers
is no longer emitted for
+ empty classes
+ (PR110064)
+ - The constexpr code now tracks lifetimes in constant evaluation; this
+ change helps to detect bugs such as accessing a variable whose
+ lifetime has ended
+ (PR70331,
+ PR96630,
+ PR98675)
+
+ - Array destruction can now be devirtualized
+ - In-class member variable template partial specializations are now
+ accepted (PR71954)
+ - Improved diagnostic for explicit conversion functions: when a conversion
+ doesn't work out only because the conversion function necessary to do the
+ conversion couldn't be used because it was marked explicit, explain that
+ to the user
+ (git)
+ - Corrected mangling of
static
/thread_local
+ structured bindings at function/block scope
+ (PR111069)
+ - [basic.scope.block]/2 violations are detected even in compound-stmt of
+ function-try-block and for block-scope external variables
+ (PR52953)
+ - Improved "not a constant expression" diagnostic when taking the address
+ of a non-static constexpr variable
+ (PR91483)
+ - Non-dependent simple assignments are checked even in templates
+ (PR18474)
+ - Attributes
hot
and cold
can be applied to
+ classes as well. See
+ the manual
+ for more info.
+ - Function template constraints, as well as CTAD placeholders, are
+ now mangled
+ - Various
decltype
fixes:
+ PR79620,
+ PR79378,
+ PR83167,
+ PR96917
+ - New option
-fdiagnostics-all-candidates
to note all
+ candidates during overload resolution failure
+ -Walloc-size
and -Wcalloc-transposed-args
+ warnings are enabled for C++ as well
+ - The DR 2237 code no longer gives an error, it emits
+ a
-Wtemplate-id-cdtor
warning instead
Runtime Library (libstdc++)
-----------------------------------------------------------------------
Summary of changes:
htdocs/gcc-14/changes.html | 96 ++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 96 insertions(+)
hooks/post-receive
--
gcc-wwwdocs