[all-commits] [llvm/llvm-project] a1fe05: [clang] Preserve Qualifiers and type sugar in Temp...
Matheus Izvekov via All-commits
all-commits at lists.llvm.org
Sun May 26 17:40:36 PDT 2024
Branch: refs/heads/users/mizvekov/clang-improved-template-name-qualifiers
Home: https://github.com/llvm/llvm-project
Commit: a1fe052b0fb0c96fc5ae38af7f13b19110d8096d
https://github.com/llvm/llvm-project/commit/a1fe052b0fb0c96fc5ae38af7f13b19110d8096d
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2024-05-26 (Sun, 26 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/TemplateName.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/ODRHash.cpp
M clang/lib/AST/TemplateBase.cpp
M clang/lib/AST/TemplateName.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprMember.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/AST/ast-dump-ctad-alias.cpp
M clang/test/AST/ast-dump-decl.cpp
M clang/test/AST/ast-dump-expr.cpp
M clang/test/AST/ast-dump-template-decls.cpp
M clang/test/AST/ast-dump-template-name.cpp
M clang/test/AST/ast-dump-using-template.cpp
M clang/test/CXX/drs/cwg1xx.cpp
M clang/test/CXX/over/over.match/over.match.funcs/over.match.oper/p3-2a.cpp
M clang/test/CXX/temp/temp.fct.spec/temp.deduct/temp.deduct.type/p9-0x.cpp
M clang/test/Index/print-type.cpp
M clang/test/OpenMP/declare_mapper_messages.cpp
M clang/test/Parser/cxx-template-template-recovery.cpp
M clang/test/SemaCXX/cxx1y-variable-templates_in_class.cpp
M clang/test/SemaTemplate/cwg2398.cpp
M clang/test/SemaTemplate/instantiate-requires-expr.cpp
M clang/test/SemaTemplate/nested-implicit-deduction-guides.cpp
M clang/unittests/AST/TemplateNameTest.cpp
Log Message:
-----------
[clang] Preserve Qualifiers and type sugar in TemplateNames
This patch improves the preservation of qualifiers
and loss of type sugar in TemplateNames.
This problem is analogous to https://reviews.llvm.org/D112374
and this patch takes a very similar approach to that patch,
except the impact here is much lesser.
When a TemplateName was written bare, without qualifications,
we wouldn't produce a QualifiedTemplate which could be used
to disambiguate it from a Canonical TemplateName. This had
effects in the TemplateName printer, which had workarounds
to deal with this, and wouldn't print the TemplateName
as-written in most situations.
There are also some related fixes to help preserve this type
sugar along the way into diagnostics, so that this patch can
be properly tested.
- Fix dropping the template keyword.
- Fix type deduction to preserve sugar in TST TemplateNames.
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