[all-commits] [llvm/llvm-project] 128b3b: [Clang] Defer the instantiation of explicit-specif...

刘雨培 via All-commits all-commits at lists.llvm.org
Wed Nov 1 06:46:01 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 128b3b61fe6768c724975fd1df2be0abec848cf6
      https://github.com/llvm/llvm-project/commit/128b3b61fe6768c724975fd1df2be0abec848cf6
  Author: 刘雨培 <liuyupei951018 at hotmail.com>
  Date:   2023-11-01 (Wed, 01 Nov 2023)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    A clang/test/SemaCXX/cxx2a-explicit-bool-deferred.cpp

  Log Message:
  -----------
  [Clang] Defer the instantiation of explicit-specifier until constraint checking completes (#70548)

Modifications:

- Skip the instantiation of the explicit-specifier during Decl
substitution if we are deducing template arguments and the
explicit-specifier is value dependent.

- Instantiate the explicit-specifier after the constraint checking
completes.

- Make `instantiateExplicitSpecifier` a member function in order to
instantiate the explicit-specifier in different stages.


This PR doesn’t defer the instantiation of the explicit specifier for
deduction guides, because I’m not familiar with deduction guides yet.
I’ll dig into it after this PR.

According to my local test, GCC 13 tuple works with this PR.

Fixes #59827.

---------

Co-authored-by: Erich Keane <ekeane at nvidia.com>




More information about the All-commits mailing list