[clang] [clang][AST] Make ASTContext::UnwrapSimilar{Array,}Types const (PR #106992)
Timm Baeder via cfe-commits
cfe-commits at lists.llvm.org
Mon Sep 2 07:01:28 PDT 2024
https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/106992
>From b886f4aa5e6cab7e0105c2d415b21dfe614b5010 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Timm=20B=C3=A4der?= <tbaeder at redhat.com>
Date: Mon, 2 Sep 2024 15:50:56 +0200
Subject: [PATCH] [clang][AST] Make ASTContext::UnwrapSimilar{Array,}Types
const
---
clang/include/clang/AST/ASTContext.h | 6 +++---
clang/lib/AST/ASTContext.cpp | 6 +++---
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/clang/include/clang/AST/ASTContext.h b/clang/include/clang/AST/ASTContext.h
index 3c43892b6ff719..89bb5768dbd40d 100644
--- a/clang/include/clang/AST/ASTContext.h
+++ b/clang/include/clang/AST/ASTContext.h
@@ -2722,9 +2722,9 @@ class ASTContext : public RefCountedBase<ASTContext> {
const ObjCMethodDecl *MethodImp);
bool UnwrapSimilarTypes(QualType &T1, QualType &T2,
- bool AllowPiMismatch = true);
+ bool AllowPiMismatch = true) const;
void UnwrapSimilarArrayTypes(QualType &T1, QualType &T2,
- bool AllowPiMismatch = true);
+ bool AllowPiMismatch = true) const;
/// Determine if two types are similar, according to the C++ rules. That is,
/// determine if they are the same other than qualifiers on the initial
@@ -2733,7 +2733,7 @@ class ASTContext : public RefCountedBase<ASTContext> {
///
/// Clang offers a number of qualifiers in addition to the C++ qualifiers;
/// those qualifiers are also ignored in the 'similarity' check.
- bool hasSimilarType(QualType T1, QualType T2);
+ bool hasSimilarType(QualType T1, QualType T2) const;
/// Determine if two types are similar, ignoring only CVR qualifiers.
bool hasCvrSimilarType(QualType T1, QualType T2);
diff --git a/clang/lib/AST/ASTContext.cpp b/clang/lib/AST/ASTContext.cpp
index 7e3713f44801a2..c61234aa4d1af1 100644
--- a/clang/lib/AST/ASTContext.cpp
+++ b/clang/lib/AST/ASTContext.cpp
@@ -6581,7 +6581,7 @@ QualType ASTContext::getUnqualifiedArrayType(QualType type,
/// \param AllowPiMismatch Allow the Pi1 and Pi2 to differ as described in
/// C++20 [conv.qual], if permitted by the current language mode.
void ASTContext::UnwrapSimilarArrayTypes(QualType &T1, QualType &T2,
- bool AllowPiMismatch) {
+ bool AllowPiMismatch) const {
while (true) {
auto *AT1 = getAsArrayType(T1);
if (!AT1)
@@ -6632,7 +6632,7 @@ void ASTContext::UnwrapSimilarArrayTypes(QualType &T1, QualType &T2,
/// \return \c true if a pointer type was unwrapped, \c false if we reached a
/// pair of types that can't be unwrapped further.
bool ASTContext::UnwrapSimilarTypes(QualType &T1, QualType &T2,
- bool AllowPiMismatch) {
+ bool AllowPiMismatch) const {
UnwrapSimilarArrayTypes(T1, T2, AllowPiMismatch);
const auto *T1PtrType = T1->getAs<PointerType>();
@@ -6668,7 +6668,7 @@ bool ASTContext::UnwrapSimilarTypes(QualType &T1, QualType &T2,
return false;
}
-bool ASTContext::hasSimilarType(QualType T1, QualType T2) {
+bool ASTContext::hasSimilarType(QualType T1, QualType T2) const {
while (true) {
Qualifiers Quals;
T1 = getUnqualifiedArrayType(T1, Quals);
More information about the cfe-commits
mailing list