From b2738f59a2c98c9e8b85447a8dc84f3ffc2c5815 Mon Sep 17 00:00:00 2001 From: Kazu Hirata Date: Wed, 20 Aug 2025 13:03:17 -0700 Subject: [PATCH 1/2] Revert "[Clang] Add a builtin that deduplicate types into a pack (#106730)" This reverts commits 85043c1c146fd5658ad4c5b5138e58994333e645 and 65de318d186c815f43b892aa20b98c50f22ab6fe. The first commit above triggers the following warnings: clang/lib/Sema/SemaTemplateVariadic.cpp:1069:22: error: variable 'TST' set but not used [-Werror,-Wunused-but-set-variable] lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp:4148:11: error: enumeration value 'SubstBuiltinTemplatePack' not handled in switch [-Werror,-Wswitch] 4148 | switch (qual_type->getTypeClass()) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp:4852:11: error: enumeration value 'SubstBuiltinTemplatePack' not handled in switch [-Werror,-Wswitch] 4852 | switch (qual_type->getTypeClass()) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp:5153:11: error: enumeration value 'SubstBuiltinTemplatePack' not handled in switch [-Werror,-Wswitch] 5153 | switch (qual_type->getTypeClass()) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ --- .../clangd/unittests/FindTargetTests.cpp | 6 - clang/docs/LanguageExtensions.rst | 31 -- clang/docs/ReleaseNotes.rst | 16 - clang/include/clang/AST/ASTContext.h | 3 - clang/include/clang/AST/DeclTemplate.h | 3 - clang/include/clang/AST/RecursiveASTVisitor.h | 30 +- clang/include/clang/AST/Type.h | 80 +---- clang/include/clang/AST/TypeLoc.h | 22 +- clang/include/clang/AST/TypeProperties.td | 19 +- clang/include/clang/Basic/BuiltinTemplates.td | 4 - .../clang/Basic/DiagnosticSemaKinds.td | 7 - clang/include/clang/Basic/TypeNodes.td | 4 +- clang/include/clang/Sema/Sema.h | 18 +- clang/include/clang/Sema/SemaInternal.h | 11 +- .../clang/Serialization/TypeBitCodes.def | 1 - clang/lib/AST/ASTContext.cpp | 31 +- clang/lib/AST/ASTImporter.cpp | 8 - clang/lib/AST/ASTStructuralEquivalence.cpp | 8 - clang/lib/AST/DeclTemplate.cpp | 13 +- clang/lib/AST/ItaniumMangle.cpp | 15 - clang/lib/AST/MicrosoftMangle.cpp | 5 - clang/lib/AST/Type.cpp | 87 ++--- clang/lib/AST/TypePrinter.cpp | 10 - clang/lib/Parse/ParseTemplate.cpp | 2 - clang/lib/Sema/SemaConcept.cpp | 13 +- clang/lib/Sema/SemaDeclCXX.cpp | 3 +- clang/lib/Sema/SemaTemplate.cpp | 57 ---- clang/lib/Sema/SemaTemplateDeduction.cpp | 18 +- clang/lib/Sema/SemaTemplateInstantiate.cpp | 177 ++-------- .../lib/Sema/SemaTemplateInstantiateDecl.cpp | 52 +-- clang/lib/Sema/SemaTemplateVariadic.cpp | 122 +------ clang/lib/Sema/TreeTransform.h | 319 ++++++------------ clang/lib/Serialization/ASTReader.cpp | 5 - clang/lib/Serialization/ASTWriter.cpp | 6 - .../test/Import/builtin-template/Inputs/S.cpp | 10 - clang/test/Import/builtin-template/test.cpp | 12 +- clang/test/PCH/dedup_types.cpp | 20 -- clang/test/SemaCXX/pr100095.cpp | 1 + .../test/SemaTemplate/dedup-types-builtin.cpp | 226 ------------- clang/tools/libclang/CIndex.cpp | 1 - 40 files changed, 237 insertions(+), 1239 deletions(-) delete mode 100644 clang/test/PCH/dedup_types.cpp delete mode 100644 clang/test/SemaTemplate/dedup-types-builtin.cpp diff --git a/clang-tools-extra/clangd/unittests/FindTargetTests.cpp b/clang-tools-extra/clangd/unittests/FindTargetTests.cpp index f369e1b0341e8..20fd23ed4fcdc 100644 --- a/clang-tools-extra/clangd/unittests/FindTargetTests.cpp +++ b/clang-tools-extra/clangd/unittests/FindTargetTests.cpp @@ -731,12 +731,6 @@ TEST_F(TargetDeclTest, BuiltinTemplates) { using type_pack_element = [[__type_pack_element]]; )cpp"; EXPECT_DECLS("TemplateSpecializationTypeLoc", ); - - Code = R"cpp( - template