aboutsummaryrefslogtreecommitdiff
path: root/gcc/vec.h
diff options
context:
space:
mode:
authorTrevor Saunders <tsaunders@mozilla.com>2013-11-05 13:51:32 +0000
committerTrevor Saunders <tbsaunde@gcc.gnu.org>2013-11-05 13:51:32 +0000
commitecbffdd88f3f073ded32f1cd632dfb1bfc5d7c38 (patch)
tree57b2f9ccac9f133f2af4e7f3a1e02c3ad7587f55 /gcc/vec.h
parent4f94d87c6171d472fb8f6d2cf0d572d0bd8ebeee (diff)
downloadgcc-ecbffdd88f3f073ded32f1cd632dfb1bfc5d7c38.zip
gcc-ecbffdd88f3f073ded32f1cd632dfb1bfc5d7c38.tar.gz
gcc-ecbffdd88f3f073ded32f1cd632dfb1bfc5d7c38.tar.bz2
don't try and free what must be a null vector when reserving 0 elements
in va_heap::reserve 2013-11-05 Trevor Saunders <tsaunders@mozilla.com> * vec.c (vec_prefix::calculate_allocation): Don't try to handle the case of no prefix and reserving zero slots, because when that's the case we'll never get here. * vec.h (va_heap::reserve): Don't try and handle vec_prefix::calculate_allocation returning zero because that should never happen. From-SVN: r204392
Diffstat (limited to 'gcc/vec.h')
-rw-r--r--gcc/vec.h6
1 files changed, 1 insertions, 5 deletions
diff --git a/gcc/vec.h b/gcc/vec.h
index f97e022..b1ebda4 100644
--- a/gcc/vec.h
+++ b/gcc/vec.h
@@ -283,11 +283,7 @@ va_heap::reserve (vec<T, va_heap, vl_embed> *&v, unsigned reserve, bool exact
{
unsigned alloc
= vec_prefix::calculate_allocation (v ? &v->m_vecpfx : 0, reserve, exact);
- if (!alloc)
- {
- release (v);
- return;
- }
+ gcc_assert (alloc);
if (GATHER_STATISTICS && v)
v->m_vecpfx.release_overhead ();