[all-commits] [llvm/llvm-project] 638dce: [clang] Implement P0692R1 from C++20 (access check...

orlov-alex via All-commits all-commits at lists.llvm.org
Tue Aug 10 08:21:14 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 638dcea010cfc280f428d0cc13f4aa8578a1d69d
      https://github.com/llvm/llvm-project/commit/638dcea010cfc280f428d0cc13f4aa8578a1d69d
  Author: Alex Orlov <aorlov at accesssoftek.com>
  Date:   2021-08-10 (Tue, 10 Aug 2021)

  Changed paths:
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseDeclCXX.cpp
    M clang/lib/Parse/ParseTemplate.cpp
    M clang/test/CXX/class.access/class.friend/p1.cpp
    M clang/test/CXX/drs/dr1xx.cpp
    A clang/test/CXX/temp/temp.spec/func.spec.cpp
    A clang/test/CXX/temp/temp.spec/part.spec.cpp
    R clang/test/CXX/temp/temp.spec/temp.explicit/p11.cpp
    M clang/test/CXX/temp/temp.spec/temp.explicit/p12.cpp

  Log Message:
  -----------
  [clang] Implement P0692R1 from C++20 (access checking on specializations and instantiations)

This patch implements paper P0692R1 from the C++20 standard. Disable usual access checking rules to template argument names in a declaration of partial specializations, explicit instantiation or explicit specialization (C++20 13.7.5/10, 13.9.1/6).
Fixes: https://llvm.org/PR37424
This patch also implements option *A* from this paper P0692R1 from the C++20 standard.
This patch follows the @rsmith suggestion from D78404.

Reviewed By: krisb

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




More information about the All-commits mailing list