[all-commits] [llvm/llvm-project] fbee4a: [C++20] [P1825] More implicit moves

nullptr-cpp via All-commits all-commits at lists.llvm.org
Tue Feb 16 14:24:45 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: fbee4a0c79cc4ee87c34e51342742a5bc6fcf872
      https://github.com/llvm/llvm-project/commit/fbee4a0c79cc4ee87c34e51342742a5bc6fcf872
  Author: Yang Fan <nullptr.cpp at gmail.com>
  Date:   2021-02-16 (Tue, 16 Feb 2021)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/SemaCoroutine.cpp
    M clang/lib/Sema/SemaStmt.cpp
    M clang/test/CXX/class/class.init/class.copy.elision/p3.cpp
    A clang/test/SemaCXX/P1155.cpp
    M clang/test/SemaCXX/warn-return-std-move.cpp
    M clang/www/cxx_status.html

  Log Message:
  -----------
  [C++20] [P1825] More implicit moves

Implement all of P1825R0:

- implicitly movable entity can be an rvalue reference to non-volatile
    automatic object.
- operand of throw-expression can be a function or catch-clause parameter
    (support for function parameter has already been implemented).
- in the first overload resolution, the selected function no need to be
    a constructor.
- in the first overload resolution, the first parameter of the selected
    function no need to be an rvalue reference to the object's type.

This patch also removes the diagnostic `-Wreturn-std-move-in-c++11`.

Differential Revision: https://reviews.llvm.org/D88220




More information about the All-commits mailing list