Author: Timm Baeder Date: 2024-09-02T19:03:52+02:00 New Revision: 38ae53da15c6636c0d13ccf20415b5ce8541aefd
URL: https://github.com/llvm/llvm-project/commit/38ae53da15c6636c0d13ccf20415b5ce8541aefd DIFF: https://github.com/llvm/llvm-project/commit/38ae53da15c6636c0d13ccf20415b5ce8541aefd.diff LOG: [clang][AST][NFC] Make ASTContext::UnwrapSimilar{Array,}Types const (#106992) They don't mutate the context at all, so mark them const. Added: Modified: clang/include/clang/AST/ASTContext.h clang/lib/AST/ASTContext.cpp Removed: ################################################################################ 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 diff er 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); _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits