aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/VMCore/Attributes.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/VMCore/Attributes.cpp b/lib/VMCore/Attributes.cpp
index c9240e534c..37a217fc8c 100644
--- a/lib/VMCore/Attributes.cpp
+++ b/lib/VMCore/Attributes.cpp
@@ -131,8 +131,8 @@ public:
}
void DropRef() {
sys::SmartScopedLock<true> Lock(*ALMutex);
- sys::cas_flag old = RefCount++;
- if (old == 1)
+ sys::cas_flag new_val = RefCount--;
+ if (new_val == 0)
delete this;
}