[all-commits] [llvm/llvm-project] 36cab9: [clang] fix P3310 overload resolution flag propaga...

Matheus Izvekov via All-commits all-commits at lists.llvm.org
Sun Feb 2 08:33:36 PST 2025


  Branch: refs/heads/users/mizvekov/clang-nfc-rename-strict-pack-match
  Home:   https://github.com/llvm/llvm-project
  Commit: 36cab9c0ae9bd24b86dcfa0c260f1b0701d7468e
      https://github.com/llvm/llvm-project/commit/36cab9c0ae9bd24b86dcfa0c260f1b0701d7468e
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2025-02-02 (Sun, 02 Feb 2025)

  Changed paths:
    M clang/include/clang/AST/DeclTemplate.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    M clang/test/AST/ast-dump-templates.cpp
    M clang/test/SemaTemplate/cwg2398.cpp

  Log Message:
  -----------
  [clang] fix P3310 overload resolution flag propagation

Class templates might be only instantiated when they are required
to be complete, but checking the template args against the primary
template is immediate.

This result is cached so that later when the class is instantiated,
checking against the primary template is not repeated.

The 'MatchedPackOnParmToNonPackOnArg' flag is also produced upon
checking against the primary template, so it needs to be cached
in the specialziation as well.

This fixes a bug which has not been in any release, so there are no
release notes.

Fixes #125290


  Commit: 772973a841ad739172a9f23bc1403924eea4cba8
      https://github.com/llvm/llvm-project/commit/772973a841ad739172a9f23bc1403924eea4cba8
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2025-02-02 (Sun, 02 Feb 2025)

  Changed paths:
    M clang/include/clang/AST/DeclTemplate.h
    M clang/include/clang/Sema/Overload.h
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Sema/TemplateDeduction.h
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/AST/TextNodeDumper.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/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp

  Log Message:
  -----------
  [clang] NFC: rename MatchedPackOnParmToNonPackOnArg to StrictPackMatch

This rename follows the proposed wording in P3310R5, which introduces
the term 'strict pack match' to refer to the same thing.


Compare: https://github.com/llvm/llvm-project/compare/36cab9c0ae9b%5E...772973a841ad

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