From: Richard Biener Date: Thu, 1 Dec 2016 18:18:30 +0000 (+0000) Subject: vec.h (vec Prathamesh Kulkarni * vec.h (vec::quick_grow_cleared): Guard call to memset if len-oldlen != 0. (vec::safe_grow_cleared): Likewise. Co-Authored-By: Prathamesh Kulkarni From-SVN: r243125 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6768c5f..b567324 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2016-12-01 Richard Biener + Prathamesh Kulkarni + + * vec.h (vec::quick_grow_cleared): Guard call to + memset if len-oldlen != 0. + (vec::safe_grow_cleared): Likewise. + 2016-12-01 Uros Bizjak * config/i386/i386.md (*andndi3_doubleword): Depend on TARGET_SSE2. diff --git a/gcc/vec.h b/gcc/vec.h index 14fb2a6..aa93411 100644 --- a/gcc/vec.h +++ b/gcc/vec.h @@ -1092,8 +1092,10 @@ inline void vec::quick_grow_cleared (unsigned len) { unsigned oldlen = length (); + size_t sz = sizeof (T) * (len - oldlen); 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 vec::safe_grow_cleared (unsigned len MEM_STAT_DECL) { unsigned oldlen = length (); + size_t sz = sizeof (T) * (len - oldlen); safe_grow (len PASS_MEM_STAT); - memset (&(address ()[oldlen]), 0, sizeof (T) * (len - oldlen)); + if (sz != 0) + memset (&(address ()[oldlen]), 0, sz); }