From e0573431410eff8653d4b462e276613ab416744c Mon Sep 17 00:00:00 2001 From: jakub Date: Fri, 16 Feb 2018 09:05:35 +0000 Subject: PR bootstrap/84405 * system.h (BROKEN_VALUE_INITIALIZATION): Define for GCC < 4.3. * vec.h (vec_default_construct): Use memset instead of placement new if BROKEN_VALUE_INITIALIZATION is defined. * hash-table.h (hash_table::empty_slow): Use memset instead of value initialization if BROKEN_VALUE_INITIALIZATION is defined. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@257726 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/vec.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'gcc/vec.h') diff --git a/gcc/vec.h b/gcc/vec.h index 24f57b183a3..c707bccf51c 100644 --- a/gcc/vec.h +++ b/gcc/vec.h @@ -490,8 +490,12 @@ template inline void vec_default_construct (T *dst, unsigned n) { +#ifndef BROKEN_VALUE_INITIALIZATION for ( ; n; ++dst, --n) ::new (static_cast(dst)) T (); +#else + memset (dst, '\0', sizeof (T) * n); +#endif } /* Copy-construct N elements in DST from *SRC. */ -- cgit v1.2.1