aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJay Foad <jay.foad@gmail.com>2009-05-21 19:48:58 +0000
committerJay Foad <jay.foad@gmail.com>2009-05-21 19:48:58 +0000
commitc5d73afa4801d3cb7abea0244c2e9e687564fd6c (patch)
tree652231c3dc43abd801ab75ec4d1fb9fd910ba20d
parentef854af5bd231ae0c059eb4f07d13352d2a50a9d (diff)
Tighten up the asserts in SmallVector::operator[]().
If this causes any new assertion failures that I didn't catch in testing, the fix is usually to change "&v[0]" to "v.data()" for some SmallVector v. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72221 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--include/llvm/ADT/SmallVector.h6
1 files changed, 2 insertions, 4 deletions
diff --git a/include/llvm/ADT/SmallVector.h b/include/llvm/ADT/SmallVector.h
index de5648fe85..f59a438d3e 100644
--- a/include/llvm/ADT/SmallVector.h
+++ b/include/llvm/ADT/SmallVector.h
@@ -121,14 +121,12 @@ public:
const_reverse_iterator rend() const { return const_reverse_iterator(begin());}
- /* These asserts could be "Begin + idx < End", but there are lots of places
- in llvm where we use &v[v.size()] instead of v.end(). */
reference operator[](unsigned idx) {
- assert (Begin + idx <= End);
+ assert (Begin + idx < End);
return Begin[idx];
}
const_reference operator[](unsigned idx) const {
- assert (Begin + idx <= End);
+ assert (Begin + idx < End);
return Begin[idx];
}