re PR bootstrap/78817 (stage2 bootstrap failure in vec.h:1613:5: error: argument...
authorJakub Jelinek <jakub@redhat.com>
Thu, 22 Dec 2016 08:53:56 +0000 (09:53 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Thu, 22 Dec 2016 08:53:56 +0000 (09:53 +0100)
PR bootstrap/78817
* vec.h (vec<T, va_heap, vl_ptr>::safe_grow_cleared): Revert
2016-12-15 change.

From-SVN: r243883

gcc/ChangeLog
gcc/vec.h

index 45743607cdb3d9f550e2af28817ba27af21ac8e7..0b3c84f814df9352b654794924509a03129030dc 100644 (file)
@@ -1,3 +1,9 @@
+2016-12-22  Jakub Jelinek  <jakub@redhat.com>
+
+       PR bootstrap/78817
+       * vec.h (vec<T, va_heap, vl_ptr>::safe_grow_cleared): Revert
+       2016-12-15 change.
+
 2016-12-21  Vladimir Makarov  <vmakarov@redhat.com>
 
        PR rtl-optimization/78580
index 3877f2d8ffef416172082065c676c735a588f430..aa93411132b54094830306a436001aa8296b3be7 100644 (file)
--- a/gcc/vec.h
+++ b/gcc/vec.h
@@ -1607,16 +1607,10 @@ inline void
 vec<T, va_heap, vl_ptr>::safe_grow_cleared (unsigned len MEM_STAT_DECL)
 {
   unsigned oldlen = length ();
-  gcc_checking_assert (oldlen <= len);
-
-  if (size_t sz = sizeof (T) * (len - oldlen))
-    {
-      safe_grow (len PASS_MEM_STAT);
-
-      T *p = address ();
-      gcc_assert (p != NULL);
-      memset (p + oldlen, 0, sz);
-    }
+  size_t sz = sizeof (T) * (len - oldlen);
+  safe_grow (len PASS_MEM_STAT);
+  if (sz != 0)
+    memset (&(address ()[oldlen]), 0, sz);
 }