[all-commits] [llvm/llvm-project] 3a3b84: [clang] remove ClassScopeFunctionSpecializationDec...

Krystian Stasiowski via All-commits all-commits at lists.llvm.org
Fri Oct 6 23:55:47 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 3a3b84b180278207731451dfac24f47d02b50e84
      https://github.com/llvm/llvm-project/commit/3a3b84b180278207731451dfac24f47d02b50e84
  Author: Krystian Stasiowski <sdkrystian at gmail.com>
  Date:   2023-10-07 (Sat, 07 Oct 2023)

  Changed paths:
    M clang-tools-extra/clang-tidy/modernize/UseEmplaceCheck.cpp
    M clang-tools-extra/clangd/SemanticHighlighting.cpp
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/ASTNodeTraverser.h
    M clang/include/clang/AST/Decl.h
    M clang/include/clang/AST/DeclTemplate.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/Basic/DeclNodes.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Sema/Template.h
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/include/clang/Serialization/ASTRecordReader.h
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/DeclBase.cpp
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/AST/ODRHash.cpp
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/lib/Index/IndexSymbol.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Serialization/ASTCommon.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    M clang/lib/StaticAnalyzer/Checkers/SmartPtrModeling.cpp
    M clang/test/AST/ast-dump-decl.cpp
    M clang/test/CXX/drs/dr7xx.cpp
    M clang/test/SemaTemplate/instantiate-method.cpp
    M clang/tools/libclang/CIndex.cpp

  Log Message:
  -----------
  [clang] remove ClassScopeFunctionSpecializationDecl (#66636)

This removes the `ClassScopeFunctionSpecializationDecl` `Decl` node, and
instead uses `DependentFunctionTemplateSpecializationInfo` to handle
such declarations. `DependentFunctionTemplateSpecializationInfo` is also
changed to store a `const ASTTemplateArgumentListInfo*` to be more in
line with `FunctionTemplateSpecializationInfo`.

This also changes `FunctionDecl::isFunctionTemplateSpecialization` to
return `true` for dependent specializations, and
`FunctionDecl::getTemplateSpecializationKind`/`FunctionDecl::getTemplateSpecializationKindForInstantiation`
to return `TSK_ExplicitSpecialization` for non-friend dependent
specializations (the same behavior as dependent class scope
`ClassTemplateSepcializationDecl` & `VarTemplateSepcializationDecl`).




More information about the All-commits mailing list