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