+2012-07-13  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       PR bootstrap/53955
+       * config/spu/spu.c (spu_init_cost): Mark static.
+       (spu_add_stmt_cost): Likewise.
+       (spu_finish_cost): Likewise.
+       (spu_destroy_cost_data): Likewise.
+       * config/i386/i386.c (ix86_init_cost): Mark static.
+       (ix86_add_stmt_cost): Likewise.
+       (ix86_finish_cost): Likewise.
+       (ix86_destroy_cost_data): Likewise.
+       * config/rs6000/rs6000.c (rs6000_init_cost): Mark static.
+       (rs6000_add_stmt_cost): Likewise.
+       (rs6000_finish_cost): Likewise.
+       (rs6000_destroy_cost_data): Likewise.
+
 2012-07-13  Steven Bosscher  <steven@gcc.gnu.org>
 
        * ggc.h (ggc_internal_alloc_stat, ggc_alloc_typed_stat,
 
 
 /* Implement targetm.vectorize.init_cost.  */
 
-void *
+static void *
 ix86_init_cost (struct loop *loop_info ATTRIBUTE_UNUSED)
 {
   unsigned *cost = XNEW (unsigned);
 
 /* Implement targetm.vectorize.add_stmt_cost.  */
 
-unsigned
+static unsigned
 ix86_add_stmt_cost (void *data, int count, enum vect_cost_for_stmt kind,
                    struct _stmt_vec_info *stmt_info, int misalign)
 {
 
 /* Implement targetm.vectorize.finish_cost.  */
 
-unsigned
+static unsigned
 ix86_finish_cost (void *data)
 {
   return *((unsigned *) data);
 
 /* Implement targetm.vectorize.destroy_cost_data.  */
 
-void
+static void
 ix86_destroy_cost_data (void *data)
 {
   free (data);
 
 
 /* Implement targetm.vectorize.init_cost.  */
 
-void *
+static void *
 rs6000_init_cost (struct loop *loop_info ATTRIBUTE_UNUSED)
 {
   unsigned *cost = XNEW (unsigned);
 
 /* Implement targetm.vectorize.add_stmt_cost.  */
 
-unsigned
+static unsigned
 rs6000_add_stmt_cost (void *data, int count, enum vect_cost_for_stmt kind,
                      struct _stmt_vec_info *stmt_info, int misalign)
 {
 
 /* Implement targetm.vectorize.finish_cost.  */
 
-unsigned
+static unsigned
 rs6000_finish_cost (void *data)
 {
   return *((unsigned *) data);
 
 /* Implement targetm.vectorize.destroy_cost_data.  */
 
-void
+static void
 rs6000_destroy_cost_data (void *data)
 {
   free (data);
 
 
 /* Implement targetm.vectorize.init_cost.  */
 
-void *
+static void *
 spu_init_cost (struct loop *loop_info ATTRIBUTE_UNUSED)
 {
   unsigned *cost = XNEW (unsigned);
 
 /* Implement targetm.vectorize.add_stmt_cost.  */
 
-unsigned
+static unsigned
 spu_add_stmt_cost (void *data, int count, enum vect_cost_for_stmt kind,
                   struct _stmt_vec_info *stmt_info, int misalign)
 {
 
 /* Implement targetm.vectorize.finish_cost.  */
 
-unsigned
+static unsigned
 spu_finish_cost (void *data)
 {
   return *((unsigned *) data);
 
 /* Implement targetm.vectorize.destroy_cost_data.  */
 
-void
+static void
 spu_destroy_cost_data (void *data)
 {
   free (data);