[all-commits] [llvm/llvm-project] 0a113c: [clang] Mark CWG2009 as N/A

Vlad Serebrennikov via All-commits all-commits at lists.llvm.org
Mon Apr 24 01:53:18 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 0a113c4c50f65a7d26d20be84bfb56562154753f
      https://github.com/llvm/llvm-project/commit/0a113c4c50f65a7d26d20be84bfb56562154753f
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2023-04-24 (Mon, 24 Apr 2023)

  Changed paths:
    M clang/test/CXX/drs/dr20xx.cpp
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  [clang] Mark CWG2009 as N/A

[[https://wg21.link/p1787 | P1787]]: CWG2331 is resolved by defining lookup from complete-class contexts and out-of-line member definitions. The rest of CWG2009 is resolved by making it ill-formed NDR for forward lookup outside a complete-class context to change the results (before overload resolution, to avoid differences in instantiation).
Wording: The result of the search is the declaration set of S(N, T). If it is an invalid set, the program is ill-formed. If it differs from the result of a search in T for N from immediately after the class-specifier of T, the program is ill-formed, no diagnostic required. ([class.member.lookup]/7)

Reviewed By: #clang-language-wg, shafik

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




More information about the All-commits mailing list