diff options
Diffstat (limited to 'lib/CodeGen/CGValue.h')
-rw-r--r-- | lib/CodeGen/CGValue.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/CodeGen/CGValue.h b/lib/CodeGen/CGValue.h index ee9dc524c6..2a06f51f66 100644 --- a/lib/CodeGen/CGValue.h +++ b/lib/CodeGen/CGValue.h @@ -156,6 +156,7 @@ class LValue { // Lvalue is a global reference of an objective-c object bool GlobalObjCRef : 1; + Expr *BaseIvarExp; private: void SetQualifiers(Qualifiers Quals) { this->Quals = Quals; @@ -163,6 +164,7 @@ private: // FIXME: Convenient place to set objc flags to 0. This should really be // done in a user-defined constructor instead. this->Ivar = this->ObjIsArray = this->NonGC = this->GlobalObjCRef = false; + this->BaseIvarExp = 0; } public: @@ -185,6 +187,9 @@ public: bool isGlobalObjCRef() const { return GlobalObjCRef; } bool isObjCWeak() const { return Quals.getObjCGCAttr() == Qualifiers::Weak; } bool isObjCStrong() const { return Quals.getObjCGCAttr() == Qualifiers::Strong; } + + Expr *getBaseIvarExp() const { return BaseIvarExp; } + void setBaseIvarExp(Expr *V) { BaseIvarExp = V; } unsigned getAddressSpace() const { return Quals.getAddressSpace(); } |