1. 02 Apr, 2009 23 commits
    • config.gcc (powerpc-*-linux*): Merge variants. · 457d1d00
      	* config.gcc (powerpc-*-linux*): Merge variants.
      	* config.host (powerpc-*-linux*altivec*, powerpc-*-linux*spe): Delete.
      
      From-SVN: r145484
      Alan Modra committed
    • [multiple changes] · 8e79468d
      2009-04-02  Benjamin Kosnik  <bkoz@redhat.com>
      
      	* testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
      	Change to mersenne_twister_engine, add same defaults as
      	mersenne_twister_engine/cons/default.cc.
      	* testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Same.
      
      	* include/bits/random.tcc (seed_seq::seed_seq): Uglify parameter
      	to __il.
      	* include/bits/random.h (mersenne_twister_engine): Qualify
      	_ShiftMin1 with namespace __detail.
      	(__detail::_ShiftMin1): Use __gnu_cxx::__numeric_traits::max until
      	constexpr std::numeric_limits::max() can be used.
      	(mersenne_twister_engine): Split apart static asserts into one
      	assert per message. Temporarily disable the last three.
      
      2009-04-02  Edward Smith-Rowland  <3dw4rd@verizon.net>
      
      	* include/Makefile.am: Update to N2836. Modified for new random headers.
      	* include/Makefile.in: Ditto.
      	* include/tr1_impl/random: Moved to tr1/random.h
      	* include/tr1_impl/random.tcc: Moved to tr1
      	* include/tr1/random: Just point to moved tr1 random headers.
      	* include/tr1/random.tcc: Moved from tr1_impl.
      	* include/tr1/random.h: Moved from tr1_impl/random.
      	* include/std/random: Modified to point to std random headers.
      	* include/bits/random.tcc: New implementation of std random facilities.
      	* include/bits/random.h: Ditto.
      	* testsuite/26_numerics/headers/random/std_c++0x_neg.cc: Changed.
      	* testsuite/26_numerics/random/linear_congruential_engine/cons/
      	seed1.cc: New.
      	* testsuite/26_numerics/random/linear_congruential_engine/cons/
      	seed2.cc: New.
      	* testsuite/26_numerics/random/linear_congruential_engine/cons/
      	default.cc: New.
      	* testsuite/26_numerics/random/linear_congruential_engine/requirements/
      	non_uint_neg.cc: New.
      	* testsuite/26_numerics/random/linear_congruential_engine/requirements/
      	typedefs.cc: New.
      	* testsuite/26_numerics/random/linear_congruential_engine/operators/
      	equal.cc: New.
      	* testsuite/26_numerics/random/linear_congruential_engine/operators/
      	serialize.cc: New.
      	* testsuite/26_numerics/random/mersenne_twister_engine/cons/
      	seed1.cc: New.
      	* testsuite/26_numerics/random/mersenne_twister_engine/cons/
      	seed2.cc: New.
      	* testsuite/26_numerics/random/mersenne_twister_engine/cons/
      	default.cc: New.
      	* testsuite/26_numerics/random/mersenne_twister_engine/requirements/
      	typedefs.cc: New.
      	* testsuite/26_numerics/random/mersenne_twister_engine/operators/
      	equal.cc: New.
      	* testsuite/26_numerics/random/mersenne_twister_engine/operators/
      	serialize.cc: New.
      	* testsuite/26_numerics/random/subtract_with_carry_engine/cons/
      	seed1.cc: New.
      	* testsuite/26_numerics/random/subtract_with_carry_engine/cons/
      	seed2.cc: New.
      	* testsuite/26_numerics/random/subtract_with_carry_engine/cons/
      	default.cc: New.
      	* testsuite/26_numerics/random/subtract_with_carry_engine/requirements/
      	typedefs.cc: New.
      	* testsuite/26_numerics/random/subtract_with_carry_engine/operators/
      	equal.cc: New.
      	* testsuite/26_numerics/random/subtract_with_carry_engine/operators/
      	serialize.cc: New.
      	* testsuite/26_numerics/random/discard_block_engine/cons/
      	base_move.cc: New.
      	* testsuite/26_numerics/random/discard_block_engine/cons/
      	seed1.cc: New.
      	* testsuite/26_numerics/random/discard_block_engine/cons/
      	seed2.cc: New.
      	* testsuite/26_numerics/random/discard_block_engine/cons/
      	base_copy.cc: New.
      	* testsuite/26_numerics/random/discard_block_engine/cons/
      	default.cc: New.
      	* testsuite/26_numerics/random/discard_block_engine/cons/
      	seed_seq.cc: New.
      	* testsuite/26_numerics/random/discard_block_engine/requirements/
      	typedefs.cc: New.
      	* testsuite/26_numerics/random/discard_block_engine/operators/
      	equal.cc: New.
      	* testsuite/26_numerics/random/discard_block_engine/operators/
      	serialize.cc: New.
      	* testsuite/26_numerics/random/independent_bits_engine/cons/
      	base_move.cc: New.
      	* testsuite/26_numerics/random/independent_bits_engine/cons/
      	seed1.cc: New.
      	* testsuite/26_numerics/random/independent_bits_engine/cons/
      	seed2.cc: New.
      	* testsuite/26_numerics/random/independent_bits_engine/cons/
      	base_copy.cc: New.
      	* testsuite/26_numerics/random/independent_bits_engine/cons/
      	default.cc: New.
      	* testsuite/26_numerics/random/independent_bits_engine/cons/
      	seed_seq.cc: New.
      	* testsuite/26_numerics/random/independent_bits_engine/requirements/
      	typedefs.cc: New.
      	* testsuite/26_numerics/random/independent_bits_engine/operators/
      	equal.cc: New.
      	* testsuite/26_numerics/random/independent_bits_engine/operators/
      	serialize.cc: New.
      	* testsuite/26_numerics/random/shuffle_order_engine/cons/
      	base_move.cc: New.
      	* testsuite/26_numerics/random/shuffle_order_engine/cons/
      	seed1.cc: New.
      	* testsuite/26_numerics/random/shuffle_order_engine/cons/
      	seed2.cc: New.
      	* testsuite/26_numerics/random/shuffle_order_engine/cons/
      	base_copy.cc: New.
      	* testsuite/26_numerics/random/shuffle_order_engine/cons/
      	default.cc: New.
      	* testsuite/26_numerics/random/shuffle_order_engine/cons/
      	seed_seq.cc: New.
      	* testsuite/26_numerics/random/shuffle_order_engine/requirements/
      	typedefs.cc: New.
      	* testsuite/26_numerics/random/shuffle_order_engine/operators/
      	equal.cc: New.
      	* testsuite/26_numerics/random/shuffle_order_engine/operators/
      	serialize.cc
      	* testsuite/26_numerics/random/mt19937.cc: New.
      	* testsuite/26_numerics/random/mt19937_64.cc: New.
      	* testsuite/26_numerics/random/minstd_rand.cc: New.
      	* testsuite/26_numerics/random/minstd_rand0.cc: New.
      	* testsuite/26_numerics/random/ranlux24_base.cc: New.
      	* testsuite/26_numerics/random/ranlux48_base.cc: New.
      	* testsuite/26_numerics/random/ranlux24.cc: New.
      	* testsuite/26_numerics/random/ranlux48.cc: New.
      	* testsuite/26_numerics/random/knuth_b.cc: New.
      	* testsuite/26_numerics/random/default_random_engine.cc: New.
      	* testsuite/26_numerics/random/chi_squared_distribution/cons/
      	parms.cc: New.
      	* testsuite/26_numerics/random/chi_squared_distribution/cons/
      	default.cc: New.
      	* testsuite/26_numerics/random/chi_squared_distribution/requirements/
      	typedefs.cc: New.
      	* testsuite/26_numerics/random/chi_squared_distribution/operators/
      	serialize.cc: New.
      	* testsuite/26_numerics/random/normal_distribution/cons/
      	parms.cc: New.
      	* testsuite/26_numerics/random/normal_distribution/cons/
      	default.cc: New.
      	* testsuite/26_numerics/random/normal_distribution/requirements/
      	typedefs.cc: New.
      	* testsuite/26_numerics/random/normal_distribution/operators/
      	serialize.cc: New.
      	* testsuite/26_numerics/random/seed_seq/cons/range.cc: New.
      	* testsuite/26_numerics/random/seed_seq/cons/default.cc: New.
      	* testsuite/26_numerics/random/seed_seq/requirements/typedefs.cc: New.
      	* testsuite/26_numerics/random/uniform_int_distribution/cons/
      	parms_neg.cc: New.
      	* testsuite/26_numerics/random/uniform_int_distribution/cons/
      	parms.cc: New.
      	* testsuite/26_numerics/random/uniform_int_distribution/cons/
      	default.cc: New.
      	* testsuite/26_numerics/random/uniform_int_distribution/requirements/
      	typedefs.cc: New.
      	* testsuite/26_numerics/random/uniform_int_distribution/operators/
      	serialize.cc: New.
      	* testsuite/26_numerics/random/uniform_real_distribution/cons/
      	parms_neg.cc: New.
      	* testsuite/26_numerics/random/uniform_real_distribution/cons/
      	parms.cc: New.
      	* testsuite/26_numerics/random/uniform_real_distribution/cons/
      	default.cc: New.
      	* testsuite/26_numerics/random/uniform_real_distribution/requirements/
      	typedefs.cc: New.
      	* testsuite/26_numerics/random/uniform_real_distribution/operators/
      	serialize.cc: New.
      	* testsuite/26_numerics/random/poisson_distribution/cons/
      	parms.cc: New.
      	* testsuite/26_numerics/random/poisson_distribution/cons/
      	default.cc: New.
      	* testsuite/26_numerics/random/poisson_distribution/requirements/
      	typedefs.cc
      	* testsuite/26_numerics/random/poisson_distribution/operators/
      	serialize.cc: New.
      	* testsuite/26_numerics/random/bernoulli_distribution/cons/
      	parms.cc: New.
      	* testsuite/26_numerics/random/bernoulli_distribution/cons/
      	default.cc: New.
      	* testsuite/26_numerics/random/bernoulli_distribution/requirements/
      	typedefs.cc: New.
      	* testsuite/26_numerics/random/bernoulli_distribution/operators/
      	serialize.cc: New.
      	* testsuite/26_numerics/random/discrete_distribution/cons/
      	range.cc: New.
      	* testsuite/26_numerics/random/discrete_distribution/cons/
      	initlist.cc: New.
      	* testsuite/26_numerics/random/discrete_distribution/cons/
      	default.cc: New.
      	* testsuite/26_numerics/random/discrete_distribution/cons/
      	num_xbound_fun.cc: New.
      	* testsuite/26_numerics/random/discrete_distribution/requirements/
      	typedefs.cc: New.
      	* testsuite/26_numerics/random/discrete_distribution/operators/
      	serialize.cc: New.
      	* testsuite/26_numerics/random/weibull_distribution/cons/
      	parms.cc: New.
      	* testsuite/26_numerics/random/weibull_distribution/cons/
      	default.cc: New.
      	* testsuite/26_numerics/random/weibull_distribution/requirements/
      	typedefs.cc: New.
      	* testsuite/26_numerics/random/weibull_distribution/operators/
      	serialize.cc: New.
      	* testsuite/26_numerics/random/negative_binomial_distribution/cons/
      	parms.cc: New.
      	* testsuite/26_numerics/random/negative_binomial_distribution/cons/
      	default.cc: New.
      	* testsuite/26_numerics/random/negative_binomial_distribution/
      	requirements/typedefs.cc: New.
      	* testsuite/26_numerics/random/negative_binomial_distribution/
      	operators/serialize.cc: New.
      	* testsuite/26_numerics/random/cauchy_distribution/cons/
      	parms.cc: New.
      	* testsuite/26_numerics/random/cauchy_distribution/cons/
      	default.cc: New.
      	* testsuite/26_numerics/random/cauchy_distribution/requirements/
      	typedefs.cc: New.
      	* testsuite/26_numerics/random/cauchy_distribution/operators/
      	serialize.cc: New.
      	* testsuite/26_numerics/random/gamma_distribution/cons/
      	parms.cc: New.
      	* testsuite/26_numerics/random/gamma_distribution/cons/
      	default.cc: New.
      	* testsuite/26_numerics/random/gamma_distribution/requirements/
      	typedefs.cc: New.
      	* testsuite/26_numerics/random/gamma_distribution/operators/
      	serialize.cc: New.
      	* testsuite/26_numerics/random/fisher_f_distribution/cons/
      	parms.cc: New.
      	* testsuite/26_numerics/random/fisher_f_distribution/cons/
      	default.cc: New.
      	* testsuite/26_numerics/random/fisher_f_distribution/requirements/
      	typedefs.cc: New.
      	* testsuite/26_numerics/random/fisher_f_distribution/operators/
      	serialize.cc: New.
      
      	* testsuite/26_numerics/random/exponential_distribution/cons/
      	parms.cc: New.
      	* testsuite/26_numerics/random/exponential_distribution/cons/
      	default.cc: New.
      	* testsuite/26_numerics/random/exponential_distribution/requirements/
      	typedefs.cc: New.
      	* testsuite/26_numerics/random/exponential_distribution/operators/
      	serialize.cc: New.
      	* testsuite/26_numerics/random/lognormal_distribution/cons/
      	parms.cc: New.
      	* testsuite/26_numerics/random/lognormal_distribution/cons/
      	default.cc: New.
      	* testsuite/26_numerics/random/lognormal_distribution/requirements/
      	typedefs.cc: New.
      	* testsuite/26_numerics/random/lognormal_distribution/operators/
      	serialize.cc: New.
      	* testsuite/26_numerics/random/binomial_distribution/cons/
      	parms.cc: New.
      	* testsuite/26_numerics/random/binomial_distribution/cons/
      	default.cc: New.
      	* testsuite/26_numerics/random/binomial_distribution/requirements/
      	typedefs.cc: New.
      	* testsuite/26_numerics/random/binomial_distribution/operators/
      	serialize.cc: New.
      	* testsuite/26_numerics/random/random_device/cons/
      	token.cc: New.
      	* testsuite/26_numerics/random/random_device/cons/
      	default.cc: New.
      	* testsuite/26_numerics/random/random_device/requirements/
      	typedefs.cc: New.
      	* testsuite/26_numerics/random/extreme_value_distribution/cons/
      	parms.cc: New.
      	* testsuite/26_numerics/random/extreme_value_distribution/cons/
      	default.cc: New.
      	* testsuite/26_numerics/random/extreme_value_distribution/requirements/
      	typedefs.cc: New.
      	* testsuite/26_numerics/random/extreme_value_distribution/operators/
      	serialize.cc: New.
      	* testsuite/26_numerics/random/piecewise_linear_distribution/cons/
      	range.cc: New.
      	* testsuite/26_numerics/random/piecewise_linear_distribution/cons/
      	default.cc: New.
      	* testsuite/26_numerics/random/piecewise_linear_distribution/cons/
      	num_xbound_fun.cc: New.
      	* testsuite/26_numerics/random/piecewise_linear_distribution/cons/
      	initlist_fun.cc: New.
      	* testsuite/26_numerics/random/piecewise_linear_distribution/
      	requirements/typedefs.cc: New.
      	* testsuite/26_numerics/random/piecewise_linear_distribution/operators/
      	serialize.cc: New.
      	* testsuite/26_numerics/random/student_t_distribution/cons/
      	parms.cc: New.
      	* testsuite/26_numerics/random/student_t_distribution/cons/
      	default.cc: New.
      	* testsuite/26_numerics/random/student_t_distribution/requirements/
      	typedefs.cc: New.
      	* testsuite/26_numerics/random/student_t_distribution/operators/
      	serialize.cc: New.
      	* testsuite/26_numerics/random/geometric_distribution/cons/
      	parms.cc: New.
      	* testsuite/26_numerics/random/geometric_distribution/cons/
      	default.cc: New.
      	* testsuite/26_numerics/random/geometric_distribution/requirements/
      	typedefs.cc: New.
      	* testsuite/26_numerics/random/geometric_distribution/operators/
      	serialize.cc: New.
      	* testsuite/26_numerics/random/piecewise_constant_distribution/cons/
      	range.cc: New.
      	* testsuite/26_numerics/random/piecewise_constant_distribution/cons/
      	default.cc: New.
      	* testsuite/26_numerics/random/piecewise_constant_distribution/cons/
      	num_xbound_fun.cc: New.
      	* testsuite/26_numerics/random/piecewise_constant_distribution/cons/
      	initlist_fun.cc: New.
      	* testsuite/26_numerics/random/piecewise_constant_distribution/
      	requirements/typedefs.cc: New.
      	* testsuite/26_numerics/random/piecewise_constant_distribution/
      	operators/serialize.cc: New.
      
      From-SVN: r145483
      Benjamin Kosnik committed
    • interrupt_handler.c: New test. · e97d7fa9
      2009-04-02  Chao-ying Fu  <fu@mips.com>
      
      	* gcc.target/mips/interrupt_handler.c: New test.
      
      From-SVN: r145482
      Chao-ying Fu committed
    • mips.c (mips_frame_info): Add acc_mask... · e19da24c
      2009-04-02  Chao-ying Fu  <fu@mips.com>
      	    James Grosbach <james.grosbach@microchip.com>
      
      	* config/mips/mips.c (mips_frame_info): Add acc_mask, num_acc,
      	num_cop0_regs, acc_save_offset, cop0_save_offset, acc_sp_offset,
      	cop0_sp_offset.
      	(machine_function): Add interrupt_handler_p, use_shadow_register_set_p,
      	keep_interrupts_masked_p, use_debug_exception_return_p.
      	(mips_attribute_table): Add interrupt, use_shadow_register_set,
      	keep_interrupts_masked, use_debug_exception_return.
      	(mips_interrupt_type_p, mips_use_shadow_register_set_p,
      	mips_keep_interrupts_masked_p, mips_use_debug_exception_return_p):
      	New functions.
      	(mips_function_ok_for_sibcall): Return false for interrupt handlers.
      	(mips_print_operand): Process COP0 registers to print $0 .. $31
      	correctly for GAS to process.
      	(mips_interrupt_extra_call_saved_reg_p): New function.
      	(mips_cfun_call_saved_reg_p): For interrupt handlers, we need to check
      	extra registers.
      	(mips_cfun_might_clobber_call_saved_reg_p): Likewise.
      	(mips_compute_frame_info): Add supports for interrupt context that
      	includes doubleword accumulators and COP0 registers.
      	(mips_for_each_saved_acc): New function.
      	(mips_for_each_saved_gpr_and_fpr): Change the function name from
      	mips_for_each_saved_reg.
      	(mips_save_reg): Save accumulators.
      	(mips_kernel_reg_p): A new for_each_rtx callback.
      	(mips_expand_prologue): Support interrupt handlers.
      	(mips_restore_reg): Restore accumulators.
      	(mips_expand_epilogue): Support interrupt handlers.
      	(mips_can_use_return_insn): Return false for interrupt handlers.
      	(mips_epilogue_uses): New function.
      	* config/mips/mips.md (UNSPEC_ERET, UNSPEC_DERET, UNSPEC_DI,
      	UNSPEC_EHB, UNSPEC_RDPGPR, UNSPEC_COP0): New UNSPEC.
      	(mips_eret, mips_deret, mips_di, mips_ehb, mips_rdpgpr,
      	cop0_move): New instructions.
      	* config/mips/mips-protos.h (mips_epilogue_uses): Declare.
      	* config/mips/mips.h (K0_REG_NUM, K1_REG_NUM, KERNEL_REG_P): New
      	defines.
      	(COP0_STATUS_REG_NUM, COP0_CAUSE_REG_NUM, COP0_EPC_REG_NUM):
      	New defines.
      	(CAUSE_IPL, SR_IPL, SR_EXL, SR_IE): New defines.
      	(MIPS_PROLOGUE_TEMP_REGNUM, MIPS_EPILOGUE_TEMP_REGNUM): For
      	interrupt handlers, we use K0 as the temporary register.
      	(EPILOGUE_USES): Change to a function call.
      	* config/mips/sde.h (MIPS_EPILOGUE_TEMP_REGNUM): For interrupt
      	handlers, we use K0 as the temporary register.
      
      	* doc/extend.texi (Function Attributes): Document interrupt,
      	use_shadow_register_set, keep_interrupts_masked,
      	use_debug_exception_return for MIPS attributes.
      
      Co-Authored-By: James Grosbach <james.grosbach@microchip.com>
      
      From-SVN: r145481
      Chao-ying Fu committed
    • re PR objc/18456 (ICE compiling Objective C code with protocol-qualified objects) · 608f7b2e
      2009-04-02  David Ayers  <ayers@fsfe.org>
      
      	PR objc/18456
      	* objc.dg/bad-receiver-type-2.m: New test contributed by
      	Alexander Mamberg.
      
      From-SVN: r145478
      David Ayers committed
    • config.gcc (powerpc64-*-gnu*): Add rs6000/default64.h to tm_file. · aa1ca044
      	* config.gcc (powerpc64-*-gnu*): Add rs6000/default64.h to tm_file.
      	Remove a number of t-files from tmake_file.
      	* config/rs6000/sysv4.opt (mprototype): Name variable target_prototype.
      	* config/rs6000/sysv4.h (TARGET_PROTOTYPE): Define.
      	* config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Set
      	target_prototype, not TARGET_PROTOTYPE.
      	(LINK_OS_GNU_SPEC): Define.
      	* config/rs6000/t-linux64 (LIB2FUNCS_EXTRA): Delete tramp.S
      	and darwin-ldoubdle.c.
      
      From-SVN: r145477
      Alan Modra committed
    • re PR c++/25185 (deep typedef substitution in error message) · d5c8be27
              PR c++/25185
              * error.c (find_typenames, find_typenames_r): New fns.
              (dump_function_decl): Call find_typenames.
              (dump_template_bindings): Print typenames as well.
              * pt.c (tsubst): Non-static.
              * cp-tree.h: Declare it.
      
      From-SVN: r145476
      Jason Merrill committed
    • [PATCH, committed] Add -save-temps=obj, PR 39293 · 14fdc613
      From-SVN: r145470
      Michael Meissner committed
    • re PR tree-optimization/31677 (gcc.dg/memcpy-1.c tree dump scan fails on several targets) · 9fabb197
      	PR tree-optimization/31677
      	* gcc.dg/memcpy-1.c: Add compiler option.
      
      From-SVN: r145466
      Janis Johnson committed
    • reload1.c (fixup_eh_region_notes): Remove write-only "trap_count" variable. · d3aa398e
      	* reload1.c (fixup_eh_region_notes): Remove write-only "trap_count"
      	variable.
      
      From-SVN: r145459
      Jeff Law committed
    • configure.ac: Support -Bstatic/-Bdynamic for linker version > 2. · 83f0ccb8
      2009-04-02  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* configure.ac: Support -Bstatic/-Bdynamic for linker version > 2.
      	* configure: Regenerated.
      
      From-SVN: r145457
      H.J. Lu committed
    • c-decl.c (merge_decls): Make sure newdecl and olddecl don't share the argument list. · dcb6e951
      2009-04-02  Rafael Avila de Espindola  <espindola@google.com>
      
      	* c-decl.c (merge_decls): Make sure newdecl and olddecl don't
      	share the argument list.
      
      From-SVN: r145456
      Rafael Avila de Espindola committed
    • [multiple changes] · d85478c2
      2009-04-02  Rafael Avila de Espindola  <espindola@google.com>
      
      	Merge
      
      	2009-02-12  Diego Novillo  <dnovillo@google.com>
      
              	* varpool.c (debug_varpool): New.
              	* cgraph.h (debug_varpool): Declare.
      
      From-SVN: r145455
      Rafael Avila de Espindola committed
    • passes.c (init_optimization_passes): Remove two copies of ehcleanup pass. · 34f42a49
      	* passes.c (init_optimization_passes): Remove two copies of ehcleanup
      	pass.
      
      From-SVN: r145451
      Jan Hubicka committed
    • i386.c (ix86_abi): Move initialization to ... · a4747b4a
      2009-04-02  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* config/i386/i386.c (ix86_abi): Move initialization to ...
      	(override_options): Here.
      
      From-SVN: r145449
      H.J. Lu committed
    • [SH] double precision floating point dwarf fix · 63a9de54
      2009-04-02  Christian Bruel  <christian.bruel@st.com>
      
      	* config/sh/sh.c (sh_dwarf_register_span): New function.
      	(TARGET_DWARF_REGISTER_SPAN): Define.
      	* config/sh/sh-protos.h (sh_dwarf_register_span): Declare.
      
      From-SVN: r145448
      Christian Bruel committed
    • re PR tree-optimization/39595 (ICE in vectorizable_store at tree-vect-transform.c:5361) · 2f0fa28e
      
      	PR tree-optimization/39595
      	* tree-vect-slp.c (vect_build_slp_tree): Check that the size of 
      	interleaved loads group is not greater than the SLP group size.
      
      From-SVN: r145445
      Ira Rosen committed
    • builtins.c (is_builtin_name): New. · bbf7ce11
      2009-04-02  Rafael Avila de Espindola  <espindola@google.com>
      
      	* builtins.c (is_builtin_name): New.
      	(called_as_built_in): Use is_builtin_name.
      	* tree.h (is_builtin_name): New.
      	* varasm.c (incorporeal_function_p): Use is_builtin_name
      
      From-SVN: r145444
      Rafael Avila de Espindola committed
    • linux-unwind.h: Disable when inhibit_libc is defined. · 47e4dfcf
      2009-04-02  Andrew Stubbs  <ams@codesourcery.com>
      
      	* config/sh/linux-unwind.h: Disable when inhibit_libc is defined.
      
      From-SVN: r145442
      Andrew Stubbs committed
    • re PR c++/26693 (Access checks not performed for types in templates) · d0940d56
      gcc/ChangeLog:
      2009-04-02  Dodji Seketeli  <dodji@redhat.com>
      
          PR c++/26693
          * c-decl.c: (clone_underlying_type): Move this ...
          * c-common.c (set_underlying_type): ... here.
          Also, make sure the function properly sets TYPE_STUB_DECL() on
          the newly created typedef variant type.
          * c-common.h (is_typedef_decl, set_underlying_type): Declare ...
          * c-common.c (is_typedef_decl, set_underlying_type): ... new entry points.
      
      gcc/cp/ChangeLog:
      2009-04-02  Dodji Seketeli  <dodji@redhat.com>
      
          PR c++/26693
          * decl2.c (grokfield): when a typedef appears in a
          class, create the typedef variant type node for it.
          (save_template_attributes): Creating typedef variant type node
           here is now useless.
          * decl.c (grokdeclarator): If the typedef'ed struct/class was
          anonymous, set the proper type name to all its type variants.
          (xref_basetypes) : Fixup the variant types after setting
          TYPE_BINFO on REF.
          * name-lookup.c (pushdecl_maybe_friend): Reuse the
          set_underlying_type function to install typedef variant types.
          * cp-tree.h (MEMBER_TYPES_NEEDING_ACCESS_CHECK): New template accessor
          macro.
          (append_type_to_template_for_access_check): New entry points.
          * semantics.c (check_accessibility_of_qualified_id):
          When a typedef that is a member of a class appears in a template,
          add it to the template. It will be ...
          * class.c (finish_struct_bits): Split type variant fixup into ...
          (fixup_type_variants): A new entry point.
          * pt.c (instantiate_class_template, instantiate_template ): ... access
          checked at template instantiation time.
          (resolve_type_name_type): The type name should be the name of the
          main type variant.
          (retrieve_specialization): Specializations of template typedefs aren't
          to be looked up in DECL_TEMPLATE_INSTANTIATIONS (tmpl).
          (append_type_to_template_for_access_check): New entry point.
          (tsubst_decl): For typedefs, build the variant type from the correct
          original type.
          (get_class_bindings): Fix function comment.
          (perform_typedefs_access_check): New entry point.
      
      gcc/testsuite/ChangeLog:
      2009-04-02  Dodji Seketeli  <dodji@redhat.com>
      
          PR c++/26693
          * g++.dg/template/typedef11.C: New test.
          * g++.dg/template/typedef12.C: Likewise.
          * g++.dg/template/typedef13.C: Likewise.
          * g++.dg/template/typedef14.C: Likewise.
          * g++.dg/template/typedef15.C: Likewise.
          * g++.dg/template/typedef16.C: Likewise.
          * g++.dg/template/sfinae3.C: Compile this pedantically.
          The only errors expected should be the one saying the typedef is ill
          formed.
          * g++.old-deja/g++.pt/typename8.C: Likewise.
          * g++.dg/template/access11.C: Update this.
      
      libstdc++-v3/ChangeLog:
      2009-04-02  Dodji Seketeli  <dodji@redhat.com>
      
          * include/ext/bitmap_allocator.h: the typedefs should be made public
          if we want them to be accessible. This has been revealed by the patch
          that fixes PR c++/26693 in g++.
      
      From-SVN: r145440
      Dodji Seketeli committed
    • re PR middle-end/37221 (Missed early loop-unroll optimization - causes 40% degradation on SPU) · bf1cbdc6
      2009-04-02  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/37221
      	* tree-flow.h (degenerate_phi_result): Declare.
      	* tree-ssa-dom.c (degenerate_phi_result): Export.
      	* tree-scalar-evolution.c (analyze_initial_condition): If
      	the initial condition is defined by a degenerate PHI node
      	use the degenerate value.
      
      	* gcc.c-torture/compile/20090331-1.c: New testcase.
      
      From-SVN: r145439
      Richard Guenther committed
    • baseline_symbols.txt: Regenerated. · 4bb7dbf6
      	* config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
      	Regenerated.
      	* config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
      	Regenerated.
      	* config/abi/post/i386-linux-gnu/baseline_symbols.txt: Regenerated.
      	* config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Regenerated.
      	* config/abi/post/i486-linux-gnu/baseline_symbols.txt: Regenerated.
      	* config/abi/post/s390-linux-gnu/baseline_symbols.txt: Regenerated.
      	* config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Regenerated.
      	* config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Regenerated.
      	* config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
      	Regenerated.
      	* config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Regenerated.
      
      From-SVN: r145437
      Jakub Jelinek committed
    • Daily bump. · 0024af7e
      From-SVN: r145436
      GCC Administrator committed
  2. 01 Apr, 2009 17 commits
    • re PR rtl-optimization/39588 (internal compiler error: in trunc_int_for_mode, at explow.c:55) · 87cfb32c
      	PR rtl-optimization/39588
      	* combine.c (merge_outer_ops): Do not set the constant when this
      	is not necessary.
      	(simplify_shift_const_1): Do not modify it either in this case.
      
      From-SVN: r145430
      Eric Botcazou committed
    • ia64.c (ia64_handle_option): Inform user that Itanium1 tuning is deprecated if... · bbb6eae8
      	* config/ia64/ia64.c (ia64_handle_option): Inform user that Itanium1
      	tuning is deprecated if -mtune value is set to an Itanium1 variant.
      
      From-SVN: r145427
      Steven Bosscher committed
    • re PR c++/4926 (C++ ABI needs clarification on mangling of complex expressions) · a5b38cdf
      2009-04-01  H.J. Lu  <hongjiu.lu@intel.com>
      
      	PR c++/4926
      	* g++.dg/template/pr4926-1.C: New.
      
      From-SVN: r145423
      H.J. Lu committed
    • re PR target/39027 (double floating point suffix of 'd' and 'D' not accepted) · 839a3b8a
      gcc/
      	PR c/29027
      	* c-lex.c (interpret_float): Default (no suffix) is double.
      
      libcpp/
      	PR c/29027
      	* include/cpplib.h (CPP_N_DEFAULT): Define.
      	* expr.c (interpret_float_suffix): Recognize d or D for double,
      	return new value for default.
      	(cpp_classify_number): Issue pedwarn for use of d or D in suffix.
      
      gcc/testsuite/
      	PR c/29027
      	* gcc.dg/fltconst-1.c: Don't error for use of d or D in suffix.
      	* gcc.dg/fltconst-2.c: New test.
      	* gcc.dg/fltconst-double-pedantic-1.c: New test.
      	* gcc.dg/fltconst-double-pedantic-2.c: New test.
      
      From-SVN: r145422
      Janis Johnson committed
    • better m128i constant materialization · 667e8acb
      From-SVN: r145418
      Xinliang David Li committed
    • re PR c/33466 (mixed-case suffix for decimal float constants) · eec49116
      libcpp/
      	PR c/33466
      	* expr.c (interpret_float_suffix): Reject invalid suffix that uses
      	letters from decimal float and fixed-point suffixes.
      
      gcc/testsuite
      	PR c/33466
      	* gcc.dg/cpp/pr33466.c: New test.
      	* gcc.dg/dfp/pr33466.c: New test.
      	* gcc.dg/fixed-point/pr33466.c: New test.
      
      From-SVN: r145417
      Janis Johnson committed
    • [multiple changes] · c4e75102
      2009-04-01	Jan-Benedict Glaw <jbglaw@jbglaw-dev.homezone.telefonica.de>
      
      	* gcc/config/vax/vax.c: Add #includes to silence warnings.
      	Change #include order to silence two warnings.
      
      2009-04-01	Jan-Benedict Glaw <jbglaw@jbglaw-dev.homezone.telefonica.de>
      
      	* gcc/config/vax/linux.h (TARGET_DEFAULT): Add the MASK_QMATH flag bit.
      	(ASM_SPEC): Pass -k to the assembler for PIC code.
      
      2009-04-01	Jan-Benedict Glaw <jbglaw@jbglaw-dev.homezone.telefonica.de>
      
      	* gcc/config.gcc: Add vax-*-linux* to the switch.
      	* gcc/config/vax/linux.h: New file. (TARGET_VERSION,
      	TARGET_OS_CPP_BUILTINS, TARGET_DEFAULT, CPP_SPEC, LINK_SPEC): Define.
      
      2009-04-01	Jan-Benedict Glaw <jbglaw@jbglaw-dev.homezone.telefonica.de>
      
      	* gcc/config/vax/vax.c (vax_output_int_move, adjacent_operands_p):
      	Use predicate macros instead of GET_CODE() == foo.
      	* gcc/config/vax/vax.md (movsi_2, movstrictqi, and<mode>3, ashrsi3,
      	ashlsi3, rotrsi3, <unnamed>): Likewise.
      
      2009-04-01	Jan-Benedict Glaw <jbglaw@jbglaw-dev.homezone.telefonica.de>
      
      	* gcc/config/vax/builtins.md (jbbssiqi, jbbssihi, jbbssisi, jbbcciqi,
      	jbbccihi, jbbccisi): Remova trailing whitespace.
      	* gcc/config/vax/constraints.md: Likewise.
      	* gcc/config/vax/elf.h: (ASM_PREFERRED_EH_DATA_FORMAT): Likewise.
      	* gcc/config/vax/openbsd1.h (OBSD_OLD_GAS): Likewise.
      	* gcc/config/vax/predicates.md: Likewise.
      	* gcc/config/vax/vax.c (print_operand_address, vax_output_int_move,
      	vax_expand_addsub_di_operands, adjacent_operands_p): Likewise.
      	* gcc/config/vax/vax.h: Likewise.
      	* gcc/config/vax/vax.md (nonlocal_goto): Likewise.
      
      2009-04-01	Jan-Benedict Glaw <jbglaw@jbglaw-dev.homezone.telefonica.de>
      
      	* gcc/config/vax/vax.c (vax_float_literal, vax_output_int_move)
      	(indirectable_address_p, adjacent_operands_p): Add spaces around
      	braces.
      	* gcc/config/vax/vax-protos.h (adjacent_operands_p): Likewise.
      
      2009-04-01	Jan-Benedict Glaw <jbglaw@jbglaw-dev.homezone.telefonica.de>
      
      	* gcc/config/vax/vax.c (legitimate_constant_address_p,
      	legitimate_constant_p, indirectable_address_p, nonindexed_address_p,
      	index_term_p, reg_plus_index_p, legitimate_address_p,
      	vax_mode_dependent_address_p): Update comments to match functions
      	modified by the recent int->bool conversion.
      
      2009-04-01	Jan-Benedict Glaw <jbglaw@jbglaw-dev.homezone.telefonica.de>
      
      	* gcc/config/vax/builtins.md: Update copyright message.
      	* gcc/config/vax/constraints.md: Likewise.
      	* gcc/config/vax/netbsd-elf.h: Likewise.
      	* gcc/config/vax/predicates.md: Likewise.
      	* gcc/config/vax/vax-protos.h: Likewise.
      	* gcc/config/vax/vax.c: Likewise.
      	* gcc/config/vax/vax.h: Likewise.
      	* gcc/config/vax/vax.md: Likewise.
      	* gcc/config/vax/vax.opt: Likewise.
      
      2009-04-01	Jan-Benedict Glaw <jbglaw@jbglaw-dev.homezone.telefonica.de>
      
      	* gcc/config/vax/builtins.md (ffssi2, ffssi2_internal,
      	sync_lock_test_and_set<mode>, sync_lock_release<mode>): Fix indention.
      	* gcc/config/vax/constraints.md (B, R): Likewise.
      	* gcc/config/vax/predicates.md (external_memory_operand,
      	nonimmediate_addsub_di_operand): Likewise.
      	* gcc/config/vax/vax.c (vax_output_int_add): Likewise.
      	* gcc/config/vax/vax.md (movsi, movsi_2, mov<mode>, call_value,
      	untyped_call): Likewise.
      
      2009-04-01	Matt Thomas <matt@3am-software.com>
      
      	* config/vax/predicates.md: New file. (symbolic_operand,
      	local_symbolic_operand, external_symbolic_operand,
      	external_const_operand, nonsymbolic_operand, external_memory_operand,
      	indirect_memory_operand, indexed_memory_operand,
      	illegal_blk_memory_operand, illegal_addsub_di_memory_operand,
      	nonimmediate_addsub_di_operand, general_addsub_di_operand): New
      	predicate.
      	* config/vax/constraints.md: New file. (Z0, U06,  U08, U16, CN6, S08,
      	S16, I, J, K, L, M, N, O, G, Q, B, R, T): New constraint.
      	* config/vax/builtins.md: New file. (ffssi2, ffssi2_internal,
      	sync_lock_test_and_set<mode>, jbbssiqi, jbbssihi, jbbssisi,
      	sync_lock_release<mode>, jbbcciqi, jbbccihi, jbbccisi): Define.
      	* config/vax/vax.opt (mqmath): Add option.
      	* config/vax/vax.md (isfx): Extend with DI.
      	(VAXintQH, VAXintQHSD): Define.
      	(tst<mode>, cmp<mode>, *bit<mode>, movmemhi1, truncsiqi2, truncsihi2,
      	mulsidi3, add<mode>3, sub<mode>, mul<mode>3, div<mode>3, and<mode>,
      	and<mode>_const_int, ior<mode>3, xor<mode>3, neg<mode>2,
      	one_cmpl<mode>2, ashlsi3, lshrsi3, rotlsi3): Update constraints.
      	(movdi): Update constraints and use vax_output_int_move().
      	(movsi, movsi_2, pushlclsymreg, pushextsymreg, movlclsymreg,
      	movextsymreg, adddi3, adcdi3, subdi3, sbcdi3, pushextsym, movextsym,
      	pushlclsym, movlclsym, movaddr<mode>, pushaddr<mode>,
      	nonlocal_goto): New.
      	(mov<mode>): Extend accepted operand types.
      	(subdi3_old): Rename from subdi3, change update constraints and use
      	a new implementation.
      	* gcc/config/vax/vax.h (PCC_BITFIELD_TYPE_MATTERS): Add space.
      	(FRAME_POINTER_CFA_OFFSET, IRA_COVER_CLASSES, CLASS_MAX_NREGS,
      	MOVE_RATIO, CLEAR_RATIO): Define.
      	(REG_CLASS_FROM_LETTER, CONST_OK_FOR_LETTER_P,
      	CONST_DOUBLE_OK_FOR_LETTER_P, EXTRA_CONSTRAINT): Delete.
      	(PRINT_OPERAND): Redefine using a function instead of inlined code.
      	* gcc/config/vax/vax.c (TARGET_BUILTIN_SETJMP_FRAME_VALUE): Define.
      	(split_quadword_operands): Make static and really allow variable
      	splitting.
      	(print_operand_address): Update for PIC generation.
      	(print_operand, vax_builtin_setjmp_frame_value, vax_output_int_subtract,
      	indexable_address_p, fixup_mathdi_operand,
      	vax_expand_addsub_di_operands, adjacent_operands_p): New.
      	(vax_float_literal, legitimate_constant_p,
      	indirectable_constant_address_p, index_term_p,
      	reg_plus_index_p): Return bool instead of int.
      	(vax_rtx_costs): Fix cost for CONST_INT, indent and use HOST_WIDE_INT
      	where needed.
      	(vax_output_int_move, vax_output_int_add): Extend to allow PIC
      	generation.
      	(vax_output_conditional_branch): Indent.
      	(legitimate_constant_address_p, indirectable_constant_address_p,
      	indirectable_address_p, nonindexed_address_p, legitimate_address_p,
      	vax_mode_dependent_address_p): Return bool instead of int, update for
      	PIC generation.
      	* config/vax/vax-protos.h (legitimate_constant_address_p,
      	legitimate_constant_p, legitimate_address_p,
      	vax_mode_dependent_address_p): Change declaration to bool.
      	(legitimate_pic_operand_p, adjacent_operands_p, print_operand,
      	vax_expand_addsub_di_operands, vax_output_int_subtract,
      	vax_output_movmemsi): Declare.
      	(split_quadword_operands, vax_float_literal): Delete declaration.
      	* config/vax/netbsd-elf.h (CC1_SPEC, CC1PLUS_SPEC) Define.
      	* config/vax/elf.h (NO_EXTERNAL_INDIRECT_ADDRESS,
      	VAX_CC1_AND_CC1PLUS_SPEC, ASM_PREFERRED_EH_DATA_FORMAT,
      	ASM_OUTPUT_DWARF_PCREL): Define.
      	(ASM_SPEC): Change definition to allow PIC generation.
      
      From-SVN: r145416
      Matt Thomas committed
    • Makefil.def (languages): New entries. · 60911f14
      	* Makefil.def (languages): New entries.
      	* Makefile.tpl (check-gcc-*): New generic target.
      	* Makefile.in: Regenerate.
      	* gcc/doc/sourcebuild.texi: Update front-end requirements.
      
      From-SVN: r145415
      Steve Ellcey committed
    • re PR tree-optimization/35011 (ICE with -fcheck-data-deps) · 96137f95
      2009-04-01  H.J. Lu  <hongjiu.lu@intel.com>
      
      	PR tree-optimization/35011
      	* g++.dg/other/pr35011.C: New.
      
      From-SVN: r145413
      H.J. Lu committed
    • re PR target/39226 (gcc_assert (verify_initial_elim_offsets ()); ICE) · d93e052c
      	PR target/39226
      	* config/rs6000/rs6000.md (andsi3_internal5_nomc,
      	anddi3_internal2_nomc, anddi3_internal3_nomc): Removed.
      	(booldi3_internal3): Use boolean_or_operator instead of
      	boolean_operator.
      
      	* gcc.dg/pr39226.c: New test.
      
      From-SVN: r145411
      Jakub Jelinek committed
    • re PR c++/35240 (ICE with new in template parameter) · eddd291e
      2009-04-01  H.J. Lu  <hongjiu.lu@intel.com>
      
      	PR c++/35240
      	* g++.dg/template/pr35240.C: New.
      
      From-SVN: r145408
      H.J. Lu committed
    • re PR c/39605 ("error: variable-size type declared outside of any function" is issued twice) · 6ccb2a4a
      	PR c/39605
      	* c-decl.c (grokdeclarator): Pedwarn for file-scope array
      	declarator whose size is not an integer constant expression but
      	folds to an integer constant, then treat it as a constant
      	subsequently.
      
      testsuite:
      	* gcc.dg/vla-17.c, gcc.dg/vla-18.c: New tests.
      	* gcc.dg/pr25682.c: Update expected diagnostics.
      
      From-SVN: r145405
      Joseph Myers committed
    • fold-const.c (fold_plusminus_mult_expr): Do not fold i * 4 + 2 to (i * 2 + 1) * 2. · 299b87f8
      2009-04-01  Richard Guenther  <rguenther@suse.de>
      
      	* fold-const.c (fold_plusminus_mult_expr): Do not fold
      	i * 4 + 2 to (i * 2 + 1) * 2.
      
      	* gcc.dg/fold-plusmult-2.c: New testcase.
      
      From-SVN: r145403
      Richard Guenther committed
    • re PR c/37772 (ICE with empty asm statement) · b85eb797
      	PR c/37772
      	* c-parser.c (c_parser_asm_statement): Skip until close paren and
      	return if c_parser_asm_string_literal returned NULL.
      
      	* gcc.dg/pr37772.c: New test.
      	* g++.dg/ext/asm11.C: New test.
      
      From-SVN: r145401
      Jakub Jelinek committed
    • (restore_ld_library_path_env_vars): Always restore GCC_EXEC_PREFIX to its original value... · 00c7e24f
      2009-04-01  H.J. Lu  <hongjiu.lu@intel.com>
      
      	(restore_ld_library_path_env_vars): Always restore GCC_EXEC_PREFIX
      	to its original value, or unset if it was not defined.
      
      From-SVN: r145400
      H.J. Lu committed
    • Omitted from previous commit. · 3f293bd0
      From-SVN: r145398
      Nick Clifton committed
    • m32c.h (LIBGCC2_UNITS_PER_WORD): Define if not already defined. · 235e1fe8
              * config/m32c/m32c.h (LIBGCC2_UNITS_PER_WORD): Define if not
              already defined.
              * config/m32c/t-m32c (LIB2FUNCS_EXTRA): Add m32c-lib2-trapv.c.
              * config/m32c/m32c-lib2.c: Remove unused typedefs.  Rename the
              other typedefs to avoid conflicts with libgcc2.c.  Define labels
              to gain 16-bit bit-manipulation functions from libgcc2.c and then
              include it.
              * config/m32c/m32c-lib2-trapv.c: New file.  Define labels
              to gain 16-bit trapping arithmetic functions from libgcc2.c and
              then include it.
      
      From-SVN: r145397
      Nick Clifton committed