summaryrefslogtreecommitdiff
path: root/gcc/vec.h
diff options
context:
space:
mode:
authorian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>2018-02-23 22:36:54 +0000
committerian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>2018-02-23 22:36:54 +0000
commit88a3ea34080ad3087a8191fbf479543153175d59 (patch)
tree34eaec34d3588e09f9a77abba776266f124dc823 /gcc/vec.h
parent25e15aaed275cdfef34b3ee6eb3cb4b43a48d44f (diff)
parente65055a558093bd4fc0b1b0024b7814cc187b8e8 (diff)
downloadgccgo.tar.gz
Merge from trunk revision 257954.gccgo
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gccgo@257955 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/vec.h')
-rw-r--r--gcc/vec.h4
1 files changed, 4 insertions, 0 deletions
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 <typename T>
inline void
vec_default_construct (T *dst, unsigned n)
{
+#ifndef BROKEN_VALUE_INITIALIZATION
for ( ; n; ++dst, --n)
::new (static_cast<void*>(dst)) T ();
+#else
+ memset (dst, '\0', sizeof (T) * n);
+#endif
}
/* Copy-construct N elements in DST from *SRC. */