[all-commits] [llvm/llvm-project] 924701: [SemaCXX] Implement CWG2137 (list-initialization f...

Mital Ashok via All-commits all-commits at lists.llvm.org
Fri Jan 19 12:11:04 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 924701311aa79180e86ad8ce43d253f27d25ec7d
      https://github.com/llvm/llvm-project/commit/924701311aa79180e86ad8ce43d253f27d25ec7d
  Author: Mital Ashok <mital at mitalashok.co.uk>
  Date:   2024-01-19 (Fri, 19 Jan 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/test/CXX/drs/dr14xx.cpp
    M clang/test/CXX/drs/dr21xx.cpp
    M clang/test/CXX/drs/dr23xx.cpp
    M clang/www/cxx_dr_status.html
    M libcxx/test/std/utilities/utility/pairs/pairs.pair/ctor.pair_U_V_move.pass.cpp

  Log Message:
  -----------
  [SemaCXX] Implement CWG2137 (list-initialization from objects of the same type) (#77768)

Closes #77638, #24186

Rebased from <https://reviews.llvm.org/D156032>, see there for more
information.

Implements wording change in [CWG2137](https://wg21.link/CWG2137) in the
first commit.

This also implements an approach to [CWG2311](https://wg21.link/CWG2311)
in the second commit, because too much code that relies on `T{ T_prvalue}` 
being an elision would break. Because that issue is still open and
the CWG issue doesn't provide wording to fix the issue, there may be
different behaviours on other compilers.




More information about the All-commits mailing list