vec.h (vec::safe_grow): Guard against a grow to zero size.
authorRichard Biener <rguenther@suse.de>
Mon, 15 Dec 2014 14:24:06 +0000 (14:24 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Mon, 15 Dec 2014 14:24:06 +0000 (14:24 +0000)
2014-12-15  Richard Biener  <rguenther@suse.de>

* vec.h (vec::safe_grow): Guard against a grow to zero size.

From-SVN: r218749

gcc/ChangeLog
gcc/vec.h

index 3e3eda67b243f0e3c11e2cb2d5fd33960a9e8f0b..90075639ab8848a411f7e2a7f1d01f57e1dbdd17 100644 (file)
@@ -1,3 +1,7 @@
+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
index 2e5313dd14682d0ac569e515f440ac552d91e2e0..ca568accdcf30b7e06d1f9a85615ca8d63f50d3b 100644 (file)
--- a/gcc/vec.h
+++ b/gcc/vec.h
@@ -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);
 }