[all-commits] [llvm/llvm-project] 9411de: [clang] fix partial ordering of NTTP packs

Matheus Izvekov via All-commits all-commits at lists.llvm.org
Sat Apr 5 10:22:43 PDT 2025


  Branch: refs/heads/users/mizvekov/GH132562
  Home:   https://github.com/llvm/llvm-project
  Commit: 9411de369476b24d56fbd495bcf4c76def2c4fe1
      https://github.com/llvm/llvm-project/commit/9411de369476b24d56fbd495bcf4c76def2c4fe1
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2025-04-05 (Sat, 05 Apr 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/ExprCXX.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/SemaTemplateVariadic.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/test/Import/pack-expansion-expr/test.cpp
    M clang/test/SemaTemplate/attributes.cpp
    M clang/test/SemaTemplate/partial-order.cpp
    M clang/test/SemaTemplate/temp_arg_nontype.cpp

  Log Message:
  -----------
  [clang] fix partial ordering of NTTP packs

This fixes partial ordering of pack expansions of NTTPs,
by procedding with the check using the pattern of the NTTP
through the rules of the non-pack case.

This also unifies almost all of the different versions of
FinishTemplateArgumentDeduction (except the function template case).
This makes sure they all follow the rules consistently, instantiating
the parameters and comparing those with the argument.

Fixes #132562



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list