diff options
author | Richard Biener <rguenther@suse.de> | 2014-12-15 14:24:06 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2014-12-15 14:24:06 +0000 |
commit | 27a7de71c70787a522bd0706dbcbe95311bde552 (patch) | |
tree | 372fd7198a3addca864a82b66c96926244e5e089 | |
parent | 249700b5f180c66cab7ea3914db89ac77c6e1e25 (diff) | |
download | gcc-27a7de71c70787a522bd0706dbcbe95311bde552.zip gcc-27a7de71c70787a522bd0706dbcbe95311bde552.tar.gz gcc-27a7de71c70787a522bd0706dbcbe95311bde552.tar.bz2 |
vec.h (vec::safe_grow): Guard against a grow to zero size.
2014-12-15 Richard Biener <rguenther@suse.de>
* vec.h (vec::safe_grow): Guard against a grow to zero size.
From-SVN: r218749
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/vec.h | 5 |
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3e3eda6..9007563 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,9 @@ 2014-12-15 Richard Biener <rguenther@suse.de> + * vec.h (vec::safe_grow): Guard against a grow to zero size. + +2014-12-15 Richard Biener <rguenther@suse.de> + PR middle-end/64295 * match.pd (X / CST -> X * (1 / CST): Use const_binop instead of fold_binary to compute the constant to multiply with. @@ -1574,7 +1574,10 @@ vec<T, va_heap, vl_ptr>::safe_grow (unsigned len MEM_STAT_DECL) unsigned oldlen = length (); gcc_checking_assert (oldlen <= len); reserve_exact (len - oldlen PASS_MEM_STAT); - m_vec->quick_grow (len); + if (m_vec) + m_vec->quick_grow (len); + else + gcc_checking_assert (len == 0); } |