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

Matheus Izvekov via All-commits all-commits at lists.llvm.org
Fri Apr 4 16:14:50 PDT 2025


  Branch: refs/heads/users/mizvekov/GH132562
  Home:   https://github.com/llvm/llvm-project
  Commit: 765304cf05864c8f7fa9aceaab9e3de3bb8e6e24
      https://github.com/llvm/llvm-project/commit/765304cf05864c8f7fa9aceaab9e3de3bb8e6e24
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2025-04-04 (Fri, 04 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