Commit 1281fc99 by Richard Biener Committed by Prathamesh Kulkarni

vec.h (vec<T, [...]): Guard call to memset if len-oldlen != 0.

2016-12-01  Richard Biener  <rguenther@suse.de>
	    Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>

	* vec.h (vec<T, A, vl_embed>::quick_grow_cleared): Guard call to
	memset if len-oldlen != 0.
	(vec<T, va_heap, vl_ptr>::safe_grow_cleared): Likewise.

Co-Authored-By: Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>

From-SVN: r243125
parent 3c708994
2016-12-01 Richard Biener <rguenther@suse.de>
Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
* vec.h (vec<T, A, vl_embed>::quick_grow_cleared): Guard call to
memset if len-oldlen != 0.
(vec<T, va_heap, vl_ptr>::safe_grow_cleared): Likewise.
2016-12-01 Uros Bizjak <ubizjak@gmail.com> 2016-12-01 Uros Bizjak <ubizjak@gmail.com>
* config/i386/i386.md (*andndi3_doubleword): Depend on TARGET_SSE2. * config/i386/i386.md (*andndi3_doubleword): Depend on TARGET_SSE2.
...@@ -1092,8 +1092,10 @@ inline void ...@@ -1092,8 +1092,10 @@ inline void
vec<T, A, vl_embed>::quick_grow_cleared (unsigned len) vec<T, A, vl_embed>::quick_grow_cleared (unsigned len)
{ {
unsigned oldlen = length (); unsigned oldlen = length ();
size_t sz = sizeof (T) * (len - oldlen);
quick_grow (len); quick_grow (len);
memset (&(address ()[oldlen]), 0, sizeof (T) * (len - oldlen)); if (sz != 0)
memset (&(address ()[oldlen]), 0, sz);
} }
...@@ -1605,8 +1607,10 @@ inline void ...@@ -1605,8 +1607,10 @@ inline void
vec<T, va_heap, vl_ptr>::safe_grow_cleared (unsigned len MEM_STAT_DECL) vec<T, va_heap, vl_ptr>::safe_grow_cleared (unsigned len MEM_STAT_DECL)
{ {
unsigned oldlen = length (); unsigned oldlen = length ();
size_t sz = sizeof (T) * (len - oldlen);
safe_grow (len PASS_MEM_STAT); safe_grow (len PASS_MEM_STAT);
memset (&(address ()[oldlen]), 0, sizeof (T) * (len - oldlen)); if (sz != 0)
memset (&(address ()[oldlen]), 0, sz);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment