Configure with --disable-build-poststage1-with-cxx exposed functions that should have been marked static. Bootstrapped on powerpc-unknown-linux-gnu, committed as obvious.
Thanks, Bill 2012-07-13 Bill Schmidt <wschm...@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. Index: gcc/config/spu/spu.c =================================================================== --- gcc/config/spu/spu.c (revision 189460) +++ gcc/config/spu/spu.c (working copy) @@ -6919,7 +6919,7 @@ spu_builtin_vectorization_cost (enum vect_cost_for /* Implement targetm.vectorize.init_cost. */ -void * +static void * spu_init_cost (struct loop *loop_info ATTRIBUTE_UNUSED) { unsigned *cost = XNEW (unsigned); @@ -6929,7 +6929,7 @@ spu_init_cost (struct loop *loop_info ATTRIBUTE_UN /* 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) { @@ -6956,7 +6956,7 @@ spu_add_stmt_cost (void *data, int count, enum vec /* Implement targetm.vectorize.finish_cost. */ -unsigned +static unsigned spu_finish_cost (void *data) { return *((unsigned *) data); @@ -6964,7 +6964,7 @@ spu_finish_cost (void *data) /* Implement targetm.vectorize.destroy_cost_data. */ -void +static void spu_destroy_cost_data (void *data) { free (data); Index: gcc/config/i386/i386.c =================================================================== --- gcc/config/i386/i386.c (revision 189460) +++ gcc/config/i386/i386.c (working copy) @@ -40066,7 +40066,7 @@ ix86_autovectorize_vector_sizes (void) /* Implement targetm.vectorize.init_cost. */ -void * +static void * ix86_init_cost (struct loop *loop_info ATTRIBUTE_UNUSED) { unsigned *cost = XNEW (unsigned); @@ -40076,7 +40076,7 @@ ix86_init_cost (struct loop *loop_info ATTRIBUTE_U /* 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) { @@ -40103,7 +40103,7 @@ ix86_add_stmt_cost (void *data, int count, enum ve /* Implement targetm.vectorize.finish_cost. */ -unsigned +static unsigned ix86_finish_cost (void *data) { return *((unsigned *) data); @@ -40111,7 +40111,7 @@ ix86_finish_cost (void *data) /* Implement targetm.vectorize.destroy_cost_data. */ -void +static void ix86_destroy_cost_data (void *data) { free (data); Index: gcc/config/rs6000/rs6000.c =================================================================== --- gcc/config/rs6000/rs6000.c (revision 189460) +++ gcc/config/rs6000/rs6000.c (working copy) @@ -3522,7 +3522,7 @@ rs6000_preferred_simd_mode (enum machine_mode mode /* Implement targetm.vectorize.init_cost. */ -void * +static void * rs6000_init_cost (struct loop *loop_info ATTRIBUTE_UNUSED) { unsigned *cost = XNEW (unsigned); @@ -3532,7 +3532,7 @@ rs6000_init_cost (struct loop *loop_info ATTRIBUTE /* 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) { @@ -3559,7 +3559,7 @@ rs6000_add_stmt_cost (void *data, int count, enum /* Implement targetm.vectorize.finish_cost. */ -unsigned +static unsigned rs6000_finish_cost (void *data) { return *((unsigned *) data); @@ -3567,7 +3567,7 @@ rs6000_finish_cost (void *data) /* Implement targetm.vectorize.destroy_cost_data. */ -void +static void rs6000_destroy_cost_data (void *data) { free (data);