aboutsummaryrefslogtreecommitdiff
path: root/gcc/vec.h
diff options
context:
space:
mode:
authorMartin Liska <mliska@suse.cz>2020-07-24 14:33:27 +0200
committerMartin Liska <mliska@suse.cz>2020-07-27 09:16:16 +0200
commit7f5c0f328eced560a204bb8e3eae0d45795dd235 (patch)
treec6f100254eb806a20eb3845e469bd68c4b05bed9 /gcc/vec.h
parent20d0d6527c36005a9664f7ac9eb50f1071d5670c (diff)
downloadgcc-7f5c0f328eced560a204bb8e3eae0d45795dd235.zip
gcc-7f5c0f328eced560a204bb8e3eae0d45795dd235.tar.gz
gcc-7f5c0f328eced560a204bb8e3eae0d45795dd235.tar.bz2
Use vec::reserve before vec_safe_grow_cleared is called
gcc/ChangeLog: PR lto/45375 * symbol-summary.h: Call vec_safe_reserve before grow is called in order to grow to a reasonable size. * vec.h (vec_safe_reserve): Add missing function for vl_ptr type.
Diffstat (limited to 'gcc/vec.h')
-rw-r--r--gcc/vec.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/gcc/vec.h b/gcc/vec.h
index bd7c7351..3ad99b8 100644
--- a/gcc/vec.h
+++ b/gcc/vec.h
@@ -753,6 +753,17 @@ vec_safe_grow_cleared (vec<T, va_heap, vl_ptr> *&v,
v->safe_grow_cleared (len PASS_MEM_STAT);
}
+/* If V does not have space for NELEMS elements, call
+ V->reserve(NELEMS, EXACT). */
+
+template<typename T>
+inline bool
+vec_safe_reserve (vec<T, va_heap, vl_ptr> *&v, unsigned nelems, bool exact = false
+ CXX_MEM_STAT_INFO)
+{
+ return v->reserve (nelems, exact);
+}
+
/* If V is NULL return false, otherwise return V->iterate(IX, PTR). */
template<typename T, typename A>