aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/CGValue.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/CodeGen/CGValue.h')
-rw-r--r--lib/CodeGen/CGValue.h14
1 files changed, 8 insertions, 6 deletions
diff --git a/lib/CodeGen/CGValue.h b/lib/CodeGen/CGValue.h
index fa4cb3db04..04467c564f 100644
--- a/lib/CodeGen/CGValue.h
+++ b/lib/CodeGen/CGValue.h
@@ -347,14 +347,16 @@ public:
/// \param LifetimeExternallyManaged - true if the slot's lifetime
/// is being externally managed; false if a destructor should be
/// registered for any temporaries evaluated into the slot
+ /// \param RequiresGCollection - true if the slot is located
+ /// somewhere that ObjC GC calls should be emitted for
static AggValueSlot forAddr(llvm::Value *Addr, bool Volatile,
bool LifetimeExternallyManaged,
bool RequiresGCollection=false) {
AggValueSlot AV;
AV.AddrAndFlags = reinterpret_cast<uintptr_t>(Addr);
- if (Volatile) AV.VolatileFlag = 1;
- if (LifetimeExternallyManaged) AV.LifetimeFlag = 1;
- if (RequiresGCollection) AV.RequiresGCollection = 1;
+ AV.VolatileFlag = Volatile;
+ AV.LifetimeFlag = LifetimeExternallyManaged;
+ AV.RequiresGCollection = RequiresGCollection;
return AV;
}
@@ -368,18 +370,18 @@ public:
return LifetimeFlag;
}
void setLifetimeExternallyManaged() {
- LifetimeFlag = 1;
+ LifetimeFlag = true;
}
bool isVolatile() const {
return VolatileFlag;
}
- bool isRequiresGCollection() const {
+ bool requiresGCollection() const {
return RequiresGCollection;
}
void setRequiresGCollection() {
- RequiresGCollection = 1;
+ RequiresGCollection = true;
}
llvm::Value *getAddr() const {