[libcxx-commits] [libcxxabi] 5af7086 - Make caches protected (#101184)
via libcxx-commits
libcxx-commits at lists.llvm.org
Tue Jul 30 10:36:36 PDT 2024
Author: Dmitry Chestnykh
Date: 2024-07-30T20:36:34+03:00
New Revision: 5af7086a50249315109f0fabe8aaad344b37ac5a
URL: https://github.com/llvm/llvm-project/commit/5af7086a50249315109f0fabe8aaad344b37ac5a
DIFF: https://github.com/llvm/llvm-project/commit/5af7086a50249315109f0fabe8aaad344b37ac5a.diff
LOG: Make caches protected (#101184)
Added:
Modified:
libcxxabi/src/demangle/ItaniumDemangle.h
Removed:
################################################################################
diff --git a/libcxxabi/src/demangle/ItaniumDemangle.h b/libcxxabi/src/demangle/ItaniumDemangle.h
index 36bf454636366..2637d2d456673 100644
--- a/libcxxabi/src/demangle/ItaniumDemangle.h
+++ b/libcxxabi/src/demangle/ItaniumDemangle.h
@@ -200,8 +200,7 @@ class Node {
Prec Precedence : 6;
- // FIXME: Make these protected.
-public:
+protected:
/// Tracks if this node has a component on its right side, in which case we
/// need to call printRight.
Cache RHSComponentCache : 2;
@@ -255,6 +254,9 @@ class Node {
Kind getKind() const { return K; }
Prec getPrecedence() const { return Precedence; }
+ Cache getRHSComponentCache() const { return RHSComponentCache; }
+ Cache getArrayCache() const { return ArrayCache; }
+ Cache getFunctionCache() const { return FunctionCache; }
virtual bool hasRHSComponentSlow(OutputBuffer &) const { return false; }
virtual bool hasArraySlow(OutputBuffer &) const { return false; }
@@ -424,8 +426,8 @@ class QualType final : public Node {
public:
QualType(const Node *Child_, Qualifiers Quals_)
- : Node(KQualType, Child_->RHSComponentCache,
- Child_->ArrayCache, Child_->FunctionCache),
+ : Node(KQualType, Child_->getRHSComponentCache(), Child_->getArrayCache(),
+ Child_->getFunctionCache()),
Quals(Quals_), Child(Child_) {}
Qualifiers getQuals() const { return Quals; }
@@ -554,8 +556,8 @@ struct AbiTagAttr : Node {
std::string_view Tag;
AbiTagAttr(Node *Base_, std::string_view Tag_)
- : Node(KAbiTagAttr, Base_->RHSComponentCache, Base_->ArrayCache,
- Base_->FunctionCache),
+ : Node(KAbiTagAttr, Base_->getRHSComponentCache(), Base_->getArrayCache(),
+ Base_->getFunctionCache()),
Base(Base_), Tag(Tag_) {}
template<typename Fn> void match(Fn F) const { F(Base, Tag); }
@@ -615,7 +617,7 @@ class PointerType final : public Node {
public:
PointerType(const Node *Pointee_)
- : Node(KPointerType, Pointee_->RHSComponentCache),
+ : Node(KPointerType, Pointee_->getRHSComponentCache()),
Pointee(Pointee_) {}
const Node *getPointee() const { return Pointee; }
@@ -699,7 +701,7 @@ class ReferenceType : public Node {
public:
ReferenceType(const Node *Pointee_, ReferenceKind RK_)
- : Node(KReferenceType, Pointee_->RHSComponentCache),
+ : Node(KReferenceType, Pointee_->getRHSComponentCache()),
Pointee(Pointee_), RK(RK_) {}
template<typename Fn> void match(Fn F) const { F(Pointee, RK); }
@@ -742,7 +744,7 @@ class PointerToMemberType final : public Node {
public:
PointerToMemberType(const Node *ClassType_, const Node *MemberType_)
- : Node(KPointerToMemberType, MemberType_->RHSComponentCache),
+ : Node(KPointerToMemberType, MemberType_->getRHSComponentCache()),
ClassType(ClassType_), MemberType(MemberType_) {}
template<typename Fn> void match(Fn F) const { F(ClassType, MemberType); }
@@ -1383,16 +1385,14 @@ class ParameterPack final : public Node {
public:
ParameterPack(NodeArray Data_) : Node(KParameterPack), Data(Data_) {
ArrayCache = FunctionCache = RHSComponentCache = Cache::Unknown;
- if (std::all_of(Data.begin(), Data.end(), [](Node* P) {
- return P->ArrayCache == Cache::No;
- }))
+ if (std::all_of(Data.begin(), Data.end(),
+ [](Node *P) { return P->getArrayCache() == Cache::No; }))
ArrayCache = Cache::No;
- if (std::all_of(Data.begin(), Data.end(), [](Node* P) {
- return P->FunctionCache == Cache::No;
- }))
+ if (std::all_of(Data.begin(), Data.end(),
+ [](Node *P) { return P->getFunctionCache() == Cache::No; }))
FunctionCache = Cache::No;
- if (std::all_of(Data.begin(), Data.end(), [](Node* P) {
- return P->RHSComponentCache == Cache::No;
+ if (std::all_of(Data.begin(), Data.end(), [](Node *P) {
+ return P->getRHSComponentCache() == Cache::No;
}))
RHSComponentCache = Cache::No;
}
More information about the libcxx-commits
mailing list