aboutsummaryrefslogtreecommitdiff
path: root/clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.cpp
diff options
context:
space:
mode:
authorMatheus Izvekov <mizvekov@gmail.com>2025-04-16 16:27:24 -0300
committerGitHub <noreply@github.com>2025-04-16 16:27:24 -0300
commitfe94f11407453c2d166597ef6e58d31f5b27d46e (patch)
tree39446b0e54c3656e575853070fff35e2efbbef96 /clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.cpp
parent4903a7b77b56c7d9a650205b6e7dca46581c7134 (diff)
downloadllvm-fe94f11407453c2d166597ef6e58d31f5b27d46e.zip
llvm-fe94f11407453c2d166597ef6e58d31f5b27d46e.tar.gz
llvm-fe94f11407453c2d166597ef6e58d31f5b27d46e.tar.bz2
[clang] Fix elaborated keyword canonicalization (#135916)
Diffstat (limited to 'clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.cpp')
-rw-r--r--clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.cpp b/clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.cpp
index fb82efb..6040cdd 100644
--- a/clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.cpp
+++ b/clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.cpp
@@ -54,8 +54,10 @@ static std::optional<TemplateSpecializationTypeLoc>
matchEnableIfSpecializationImplTypename(TypeLoc TheType) {
if (const auto Dep = TheType.getAs<DependentNameTypeLoc>()) {
const IdentifierInfo *Identifier = Dep.getTypePtr()->getIdentifier();
+ ElaboratedTypeKeyword Keyword = Dep.getTypePtr()->getKeyword();
if (!Identifier || Identifier->getName() != "type" ||
- Dep.getTypePtr()->getKeyword() != ElaboratedTypeKeyword::Typename) {
+ (Keyword != ElaboratedTypeKeyword::Typename &&
+ Keyword != ElaboratedTypeKeyword::None)) {
return std::nullopt;
}
TheType = Dep.getQualifierLoc().getTypeLoc();
@@ -108,8 +110,10 @@ matchEnableIfSpecializationImplTrait(TypeLoc TheType) {
if (const auto *AliasedType =
dyn_cast<DependentNameType>(Specialization->getAliasedType())) {
+ ElaboratedTypeKeyword Keyword = AliasedType->getKeyword();
if (AliasedType->getIdentifier()->getName() != "type" ||
- AliasedType->getKeyword() != ElaboratedTypeKeyword::Typename) {
+ (Keyword != ElaboratedTypeKeyword::Typename &&
+ Keyword != ElaboratedTypeKeyword::None)) {
return std::nullopt;
}
} else {