[Sanitizer] Add methods back() and pop_back() to InternalVector. Patch by Sergey Matveev

llvm-svn: 176478
This commit is contained in:
Alexey Samsonov 2013-03-05 11:58:25 +00:00
parent 87aeeecc65
commit 434dde9996
2 changed files with 13 additions and 0 deletions

View File

@ -287,6 +287,14 @@ class InternalVector {
}
data_[size_++] = element;
}
T &back() {
CHECK_GT(size_, 0);
return data_[size_ - 1];
}
void pop_back() {
CHECK_GT(size_, 0);
size_--;
}
uptr size() {
return size_;
}

View File

@ -105,6 +105,11 @@ TEST(SanitizerCommon, InternalVector) {
for (uptr i = 0; i < 100; i++) {
EXPECT_EQ(vector[i], i);
}
for (int i = 99; i >= 0; i--) {
EXPECT_EQ(vector.back(), i);
vector.pop_back();
EXPECT_EQ(vector.size(), i);
}
}
} // namespace __sanitizer