After the previous patches, the only remaining uses of build_vector are
in the selftests in tree.c.  This patch makes it static and moves it to
the selftest part of the file.

Tested on aarch64-linux-gnu, x86_64-linux-gnu and powerpc64le-linux-gnu.
Also spot-checked on sparc64-linux-gnu.  OK to install?

Thanks,
Richard


2017-12-06  Richard Sandiford  <richard.sandif...@linaro.org>

gcc/
        * tree.c (build_vector): Delete.
        * tree.h (build_vector): Make static and move into the self-testing
        block.

Index: gcc/tree.c
===================================================================
--- gcc/tree.c  2017-12-06 14:48:52.891162052 +0000
+++ gcc/tree.c  2017-12-06 14:49:10.295445836 +0000
@@ -1736,18 +1736,6 @@ make_vector (unsigned log2_npatterns,
 }
 
 /* Return a new VECTOR_CST node whose type is TYPE and whose values
-   are given by VALS.  */
-
-tree
-build_vector (tree type, vec<tree> vals MEM_STAT_DECL)
-{
-  gcc_assert (vals.length () == TYPE_VECTOR_SUBPARTS (type));
-  tree_vector_builder builder (type, vals.length (), 1);
-  builder.splice (vals);
-  return builder.build ();
-}
-
-/* Return a new VECTOR_CST node whose type is TYPE and whose values
    are extracted from V, a vector of CONSTRUCTOR_ELT.  */
 
 tree
@@ -14066,6 +14054,18 @@ test_labels ()
   ASSERT_FALSE (FORCED_LABEL (label_decl));
 }
 
+/* Return a new VECTOR_CST node whose type is TYPE and whose values
+   are given by VALS.  */
+
+static tree
+build_vector (tree type, vec<tree> vals MEM_STAT_DECL)
+{
+  gcc_assert (vals.length () == TYPE_VECTOR_SUBPARTS (type));
+  tree_vector_builder builder (type, vals.length (), 1);
+  builder.splice (vals);
+  return builder.build ();
+}
+
 /* Check that VECTOR_CST ACTUAL contains the elements in EXPECTED.  */
 
 static void
Index: gcc/tree.h
===================================================================
--- gcc/tree.h  2017-12-06 14:46:14.133599820 +0000
+++ gcc/tree.h  2017-12-06 14:49:10.296445794 +0000
@@ -4044,7 +4044,6 @@ extern tree build_int_cst (tree, HOST_WI
 extern tree build_int_cstu (tree type, unsigned HOST_WIDE_INT cst);
 extern tree build_int_cst_type (tree, HOST_WIDE_INT);
 extern tree make_vector (unsigned, unsigned CXX_MEM_STAT_INFO);
-extern tree build_vector (tree, vec<tree> CXX_MEM_STAT_INFO);
 extern tree build_vector_from_ctor (tree, vec<constructor_elt, va_gc> *);
 extern tree build_vector_from_val (tree, tree);
 extern void recompute_constructor_flags (tree);

Reply via email to