Commit Graph

97460 Commits

Author SHA1 Message Date
Jakub Jelinek 288d6a77c3 sarray.c (sarray_free): Use old_buckets variable.
* sarray.c (sarray_free): Use old_buckets variable.
	* encoding.c (objc_layout_structure_next_member): Remove unused
	bfld_type_size variable.

	* decContext.c (decContextTestEndian): Move adj definition into
	#if DECCHECK guarded code.

From-SVN: r154730
2009-11-28 21:31:39 +01:00
Jakub Jelinek 14ca4cf89c pack_generic.c (pack_internal): Remove unused zero_sized variable.
* intrinsics/pack_generic.c (pack_internal): Remove unused
	zero_sized variable.
	* intrinsics/unpack_generic.c (unpack0): Remove unused size
	variable.
	* io/write.c (namelist_write_newline): Remove unused length
	variable.
	* io/unix.c (find_file): Remove unused id variable.
	* m4/ifunction.m4 (SCALAR_ARRAY_FUNCTION): Remove unused sstride
	variable.
	* generated/maxloc1_16_i1.c: Regenerated.
	* generated/maxloc1_16_i16.c: Regenerated.
	* generated/maxloc1_16_i2.c: Regenerated.
	* generated/maxloc1_16_i4.c: Regenerated.
	* generated/maxloc1_16_i8.c: Regenerated.
	* generated/maxloc1_16_r10.c: Regenerated.
	* generated/maxloc1_16_r16.c: Regenerated.
	* generated/maxloc1_16_r4.c: Regenerated.
	* generated/maxloc1_16_r8.c: Regenerated.
	* generated/maxloc1_4_i1.c: Regenerated.
	* generated/maxloc1_4_i16.c: Regenerated.
	* generated/maxloc1_4_i2.c: Regenerated.
	* generated/maxloc1_4_i4.c: Regenerated.
	* generated/maxloc1_4_i8.c: Regenerated.
	* generated/maxloc1_4_r10.c: Regenerated.
	* generated/maxloc1_4_r16.c: Regenerated.
	* generated/maxloc1_4_r4.c: Regenerated.
	* generated/maxloc1_4_r8.c: Regenerated.
	* generated/maxloc1_8_i1.c: Regenerated.
	* generated/maxloc1_8_i16.c: Regenerated.
	* generated/maxloc1_8_i2.c: Regenerated.
	* generated/maxloc1_8_i4.c: Regenerated.
	* generated/maxloc1_8_i8.c: Regenerated.
	* generated/maxloc1_8_r10.c: Regenerated.
	* generated/maxloc1_8_r16.c: Regenerated.
	* generated/maxloc1_8_r4.c: Regenerated.
	* generated/maxloc1_8_r8.c: Regenerated.
	* generated/maxval_i1.c: Regenerated.
	* generated/maxval_i16.c: Regenerated.
	* generated/maxval_i2.c: Regenerated.
	* generated/maxval_i4.c: Regenerated.
	* generated/maxval_i8.c: Regenerated.
	* generated/maxval_r10.c: Regenerated.
	* generated/maxval_r16.c: Regenerated.
	* generated/maxval_r4.c: Regenerated.
	* generated/maxval_r8.c: Regenerated.
	* generated/minloc1_16_i1.c: Regenerated.
	* generated/minloc1_16_i16.c: Regenerated.
	* generated/minloc1_16_i2.c: Regenerated.
	* generated/minloc1_16_i4.c: Regenerated.
	* generated/minloc1_16_i8.c: Regenerated.
	* generated/minloc1_16_r10.c: Regenerated.
	* generated/minloc1_16_r16.c: Regenerated.
	* generated/minloc1_16_r4.c: Regenerated.
	* generated/minloc1_16_r8.c: Regenerated.
	* generated/minloc1_4_i1.c: Regenerated.
	* generated/minloc1_4_i16.c: Regenerated.
	* generated/minloc1_4_i2.c: Regenerated.
	* generated/minloc1_4_i4.c: Regenerated.
	* generated/minloc1_4_i8.c: Regenerated.
	* generated/minloc1_4_r10.c: Regenerated.
	* generated/minloc1_4_r16.c: Regenerated.
	* generated/minloc1_4_r4.c: Regenerated.
	* generated/minloc1_4_r8.c: Regenerated.
	* generated/minloc1_8_i1.c: Regenerated.
	* generated/minloc1_8_i16.c: Regenerated.
	* generated/minloc1_8_i2.c: Regenerated.
	* generated/minloc1_8_i4.c: Regenerated.
	* generated/minloc1_8_i8.c: Regenerated.
	* generated/minloc1_8_r10.c: Regenerated.
	* generated/minloc1_8_r16.c: Regenerated.
	* generated/minloc1_8_r4.c: Regenerated.
	* generated/minloc1_8_r8.c: Regenerated.
	* generated/minval_i1.c: Regenerated.
	* generated/minval_i16.c: Regenerated.
	* generated/minval_i2.c: Regenerated.
	* generated/minval_i4.c: Regenerated.
	* generated/minval_i8.c: Regenerated.
	* generated/minval_r10.c: Regenerated.
	* generated/minval_r16.c: Regenerated.
	* generated/minval_r4.c: Regenerated.
	* generated/minval_r8.c: Regenerated.
	* generated/product_c10.c: Regenerated.
	* generated/product_c16.c: Regenerated.
	* generated/product_c4.c: Regenerated.
	* generated/product_c8.c: Regenerated.
	* generated/product_i1.c: Regenerated.
	* generated/product_i16.c: Regenerated.
	* generated/product_i2.c: Regenerated.
	* generated/product_i4.c: Regenerated.
	* generated/product_i8.c: Regenerated.
	* generated/product_r10.c: Regenerated.
	* generated/product_r16.c: Regenerated.
	* generated/product_r4.c: Regenerated.
	* generated/product_r8.c: Regenerated.
	* generated/sum_c10.c: Regenerated.
	* generated/sum_c16.c: Regenerated.
	* generated/sum_c4.c: Regenerated.
	* generated/sum_c8.c: Regenerated.
	* generated/sum_i1.c: Regenerated.
	* generated/sum_i16.c: Regenerated.
	* generated/sum_i2.c: Regenerated.
	* generated/sum_i4.c: Regenerated.
	* generated/sum_i8.c: Regenerated.
	* generated/sum_r10.c: Regenerated.
	* generated/sum_r16.c: Regenerated.
	* generated/sum_r4.c: Regenerated.
	* generated/sum_r8.c: Regenerated.

From-SVN: r154729
2009-11-28 21:29:51 +01:00
Richard Guenther f1c1964807 re PR middle-end/42183 (internal compiler error: verify_stmts failed)
2009-11-28  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/42183
	* tree-nrv.c (tree_nrv): Bail out if the RESULT_DECL has its
	address taken.  Merge the addressable state of the NRV
	variable and the result instead of copying it.

	* g++.dg/torture/pr42183.C: New testcase.

From-SVN: r154728
2009-11-28 19:11:22 +00:00
Jakub Jelinek c750c20870 jvspec.c (lang_specific_driver): Remove unused saw_verbose_flag variable.
* jvspec.c (lang_specific_driver): Remove unused
	saw_verbose_flag variable.
	* jcf-dump.c (main): Remove unused general_purpose_bits
	variable.
	* builtins.c (initialize_builtins): Remove unused float_ftype_float
	variable.
	* expr.c (java_stack_pop): Remove unused val variable.
	(build_jni_stub): Remove unused res_type variable.
	* verify-impl.c (check_field_constant): Remove unused len variable.

From-SVN: r154727
2009-11-28 17:21:52 +01:00
Jakub Jelinek 0f900dfafa matrix-reorg.c (analyze_matrix_allocation_site): Remove unused malloc_fname variable.
* matrix-reorg.c (analyze_matrix_allocation_site): Remove unused
	malloc_fname variable.
	(check_allocation_function): Remove unused gsi and bb_level_0
	variables.
	(transform_access_sites): Remove unused d_type_size and d_type_size_k
	variables.
	* omega.c (resurrect_subs): Remove unused n variable.
	(omega_solve_geq): Remove unused neweqns variable.
	* lto-streamer-in.c (lto_read_tree): Remove unused end_marker variable.
	* tree-inline.c (declare_return_variable): Remove USE_P argument,
	return use instead of var.
	(remap_decl, remap_block): Remove unused fn variable.
	(expand_call_inline): Remove unused retvar variable, adjust
	declare_return_variable caller.
	(optimize_inline_calls): Remove unused prev_fn variable.
	* tree-vect-slp.c (vect_analyze_slp_instance): Remove unused ncopies
	variable.
	(vect_create_mask_and_perm): Remove unused group_size and dr_chain_size
	variables.
	* tree-ssa-loop-niter.c (split_to_var_and_offset): Handle MINUS_EXPR
	properly.
	* tree-vect-loop.c (vect_analyze_loop_form): Remove unused backedge
	variable.
	(vect_create_epilog_for_reduction): Remove unused bytesize variable.
	* omp-low.c (workshare_safe_to_combine_p): Remove par_entry_bb
	parameter.  Remove unused par_stmt variable.
	(determine_parallel_type): Adjust workshare_safe_to_combine_p caller.
	(expand_omp_sections): Remove unused l1 variable.
	(lower_omp_for): Remove unused ilist variable.
	* tree-loop-distribution.c (mark_nodes_having_upstream_mem_writes):
	Remove unused has_upstream_mem_write_p variable.
	* recog.c (decode_asm_operands): Remove unused noperands variable.
	* tree-ssa-alias.c (refs_may_alias_p_1): Remove unused size1 and
	size2 variable.
	* libgcov.c (__gcov_merge_delta): Remove unused last variable.
	* tree-call-cdce.c (gen_conditions_for_pow_int_base): Remove unused
	base_nm variable.
	(gen_conditions_for_pow): Remove unused ec variable.
	* tree-ssa-sccvn.c (vn_reference_lookup_3): Remove unused size
	variable.
	* ipa-struct-reorg.c (program_redefines_malloc_p): Remove unused
	fndecl variable.
	* tree-ssa-sink.c (statement_sink_location): Remove unused code
	variable.
	* regmove.c (copy_src_to_dest): Remove unused insn_uid and move_uid
	variables.
	* tree-complex.c (create_one_component_var): Remove unused inner_type
	variable.
	* calls.c (emit_call_1): Don't GEN_INT (struct_value_size)
	unnecessarily when GEN_*CALL omits that argument.
	* regrename.c (regrename_optimize): Remove unused regs_seen variable.
	(build_def_use): Remove unused icode variable.
	* ipa-pure-const.c (check_call): Remove unused callee and avail
	variables.
	* tree-dfa.c (add_referenced_var): Remove unused v_ann variable.
	* tree-vect-patterns.c (vect_recog_pow_pattern): Remove unused type
	variable.
	(vect_pattern_recog): Remove unused stmt variable.
	* sel-sched-ir.c (make_regions_from_the_rest): Remove unused
	new_regions variable.
	* postreload.c (reload_cse_simplify_operands): Remove unused mode
	variable.
	* tree-parloops.c (create_call_for_reduction_1): Remove unused
	addr_type variable.
	(create_parallel_loop): Remove unused res variable.
	(gen_parallel_loop): Remove unused nloop variable.
	* tree-vect-loop-manip.c (vect_loop_versioning): Likewise.
	* value-prof.c (gimple_mod_subtract_transform,
	gimple_stringops_transform): Remove unused value variable.
	(gimple_stringops_values_to_profile): Remove unused fcode variable.
	* tree-vrp.c (register_new_assert_for): Remove unused found variable.
	(vrp_visit_switch_stmt): Remove unused n variable.
	* tree-vect-stmts.c (vectorizable_conversion): Remove unused expr
	variable.
	(vectorizable_operation): Remove unused shift_p variable.
	(vectorizable_store): Remove unused first_stmt_vinfo variable.
	* tree-ssa-operands.c (add_stmt_operand): Remove unused v_ann variable.
	* tree-vect-data-refs.c (vect_analyze_data_refs): Remove unused bb
	variable.
	(vect_permute_store_chain): Remove unused scalar_dest variable.
	(vect_supportable_dr_alignment): Remove unused invariant_in_outerloop
	variable.
	* tree-ssa-threadupdate.c (thread_single_edge): Remove unused
	local_info variable.
	* tree-optimize.c (tree_rest_of_compilation): Remove unused node
	variable.
	* optabs.c (expand_binop): Remove unused equiv_value variable.
	(emit_libcall_block): Remove unused prev variable.
	(init_optabs): Remove unused int_mode variable.
	* tree-ssa-structalias.c (scc_visit): Remove unused have_ref_node
	variable.
	(do_structure_copy): Remove unused lhsbase and rhsbase variables.
	(find_func_aliases): Remove unused rhstype variable.
	(ipa_pta_execute): Remove unused varid variable.
gcc/objc/
	* objc-act.c (generate_shared_structures): Remove unused sc_spec and
	decl_specs variables.
	(objc_build_message_expr): Remove unused loc variable.
	(objc_finish_message_expr): Remove unused saved_rtype variable.
	(encode_field_decl): Remove unused type variable.
gcc/lto/
	* lto-lang.c (handle_nonnull_attribute): Remove unused attr_arg_num
	variable.

From-SVN: r154726
2009-11-28 17:21:00 +01:00
Andy Hutchinson e86b4c032a * config/avr/avr.h (ASM_OUTPUT_EXTERNAL): Add.
From-SVN: r154724
2009-11-28 12:39:45 +00:00
Jakub Jelinek c4fae39e15 trans-common.c (create_common): Remove unused offset variable.
* trans-common.c (create_common): Remove unused offset variable.
	* io.c (gfc_match_wait): Remove unused loc variable.
	* trans-openmp.c (gfc_trans_omp_clauses): Remove unused old_clauses
	variable.
	(gfc_trans_omp_do): Remove unused outermost variable.
	* iresolve.c (gfc_resolve_alarm_sub, gfc_resolve_fseek_sub): Remove
	unused status variable.
	* module.c (number_use_names): Remove unused c variable.
	(load_derived_extensions): Remove unused nuse variable.
	* trans-expr.c (gfc_conv_substring): Remove unused var variable.
	* trans-types.c (gfc_get_array_descr_info): Remove unused offset_off
	variable.
	* matchexp.c (match_primary): Remove unused where variable.
	* trans-intrinsic.c (gfc_conv_intrinsic_bound): Remove unused cond2
	variable.
	(gfc_conv_intrinsic_sizeof): Remove unused source variable.
	(gfc_conv_intrinsic_transfer): Remove unused stride variable.
	(gfc_conv_intrinsic_function): Remove unused isym variable.
	* arith.c (gfc_hollerith2real, gfc_hollerith2complex,
	gfc_hollerith2logical): Remove unused len variable.
	* parse.c (parse_derived): Remove unused derived_sym variable.
	* decl.c (variable_decl): Remove unused old_locus variable.
	* resolve.c (check_class_members): Remove unused tbp_sym variable.
	(resolve_ordinary_assign): Remove unused assign_proc variable.
	(resolve_equivalence): Remove unused value_name variable.
	* data.c (get_array_index): Remove unused re variable.
	* trans-array.c (gfc_conv_array_transpose): Remove unused src_info
	variable.
	(gfc_conv_resolve_dependencies): Remove unused aref and temp_dim
	variables.
	(gfc_conv_loop_setup): Remove unused dim and len variables.
	(gfc_walk_variable_expr): Remove unused head variable.
	* match.c (match_typebound_call): Remove unused var variable.
	* intrinsic.c (gfc_convert_chartype): Remove unused from_ts variable.

From-SVN: r154722
2009-11-28 13:13:21 +01:00
Jakub Jelinek 76dcaf33d5 re PR objc++/42156 (Hundreds of objc++ testsuite regressions)
PR obj-c++/42156
	* objc-act.c (objc_build_struct): INIT_TYPE_OBJC_INFO for
	type variants that don't have it initialized yet.

From-SVN: r154721
2009-11-28 13:12:32 +01:00
David Binderman 11895e28ee ira-color.c (put_allocno_into_bucket): Remove set but not used local variable hard_regs_num.
2009-11-28  David Binderman  <dcb314@hotmail.com>

	* ira-color.c (put_allocno_into_bucket): Remove set but not used
	local variable hard_regs_num.
	* ira-lives.c (process_single_reg_class_operands): Remove cover_class.
	* loop-unswitch.c (unswitch_loop): Remove zero_bitmap.
	* lower-subreg.c (decompose_multiword_subregs): Remove next.

From-SVN: r154720
2009-11-28 09:49:56 +00:00
Kai Tietz dcbb944675 20081210-1_0.c (uintptr_t): Use for w64 target type 'unsigned long long'.
2009-11-28  Kai Tietz  <kai.tietz@onevision.com>

        * gcc.dg/lto/20081210-1_0.c (uintptr_t): Use for
        w64 target type 'unsigned long long'.

From-SVN: r154719
2009-11-28 09:10:30 +01:00
GCC Administrator 51b60ac8d2 Daily bump.
From-SVN: r154718
2009-11-28 00:16:45 +00:00
Martin Jambor c4ea52007a re PR middle-end/42006 (Termination problem with -O2 and -O3)
2009-11-27  Martin Jambor  <mjambor@suse.cz>

	PR middle-end/42006
	* tree-sra.c (get_replaced_param_substitute): Call create_tmp_var
	instead of create_tmp_var.  Set DECL_GIMPLE_REG_P to one manually
	for vector and complex types.
	(get_adjustment_for_base): Describe return value in the comment.

	* testsuite/gcc.c-torture/execute/pr42006.c: New test.

From-SVN: r154715
2009-11-27 23:34:40 +01:00
Nick Clifton ba96438334 stormy16-lib2.c: Arrange for separate compilation of each function.
* config/stormy16/stormy16-lib2.c: Arrange for separate
        compilation of each function.
        (__ffshi2): New function.
        (__stormy16_count_leading_zeros): New function.
        * config/stormy16/t-stormy16 (LIB2FUNCS_EXTRA): Use stub files to
        compile each function into its own object file.
        (stormy16-lib2-ashlsi3.c): New stub file.
        (stormy16-lib2-ashrsi3.c): New stub file.
        (stormy16-lib2-clzhi2.c): New stub file.
        (stormy16-lib2-count-leading-zeros.c): New stub file.
        (stormy16-lib2-ctzhi2.c): New stub file.
        (stormy16-lib2-divsi3.c): New stub file.
        (stormy16-lib2-ffshi2.c): New stub file.
        (stormy16-lib2-lshrsi3.c): New stub file.
        (stormy16-lib2-modsi3.c): New stub file.
        (stormy16-lib2-parityhi2.c): New stub file.
        (stormy16-lib2-popcounthi2.c): New stub file.
        (stormy16-lib2-udivmodsi4.c): New stub file.
        (stormy16-lib2-udivsi3.c): New stub file.
        (stormy16-lib2-umodsi3.c): New stub file.
        * longlong.h (count_leading_zeros): Define macro for stormy16
        target.
        (COUNT_LEADING_ZEROS_0): Likewise.

From-SVN: r154713
2009-11-27 18:56:10 +00:00
Paolo Carlini c7f06e1309 re PR c++/38656 (Broken diagnostic: 'template_id_expr' not supported by pp_c_expression)
cp/
2009-11-27  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/38656
	* cxx-pretty-print.c (pp_cxx_expression): Handle TEMPLATE_ID_EXPR.

testsuite/
2009-11-27  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/38656
	* g++.dg/cpp0x/error2.C: New.

From-SVN: r154712
2009-11-27 16:36:43 +00:00
Richard Henderson b0d49a6e80 sse.md (vec_interleave_highv16qi, [...]): Remove expanders.
* config/i386/sse.md (vec_interleave_highv16qi,
	vec_interleave_lowv16qi, vec_interleave_highv8hi,
	vec_interleave_lowv8hi, vec_interleave_highv4si,
	vec_interleave_lowv4si, vec_interleave_highv2di,
	vec_interleave_lowv2di, vec_interleave_highv4sf,
	vec_interleave_lowv4sf, vec_interleave_highv2df,
	vec_interleave_lowv2df): Remove expanders.
	(sse_unpcklps, sse_unpckhps, sse2_unpckhpd_exp, sse2_unpcklpd_exp,
	sse2_punpckhqdq, sse2_punpcklqdq, sse2_punpckhbw, sse2_punpcklbw,
	sse2_punpckhwd, sse2_punpcklwd, sse2_punpckhdq, sse2_punpckldq):
	Rename to their proper vec_interleave equivalent.  Update all users
	to the new name.
	* config/i386/i386.c, config/i386/i386.md: Update all users.

From-SVN: r154711
2009-11-27 07:58:50 -08:00
Michael Matz 315adedaf3 re PR rtl-optimization/42084 (Wrong result with -Os -fno-delete-null-pointer-checks)
PR rtl-optimization/42084
        * cfgexpand.c (maybe_cleanup_end_of_block): Add new parameter,
        use it to stop walking.
        (expand_gimple_cond): Adjust call to above.

testsuite/
        * gcc.dg/pr42084.c: New test.

From-SVN: r154709
2009-11-27 15:35:50 +00:00
Rainer Orth 67c330aec4 re PR target/41810 (Cannot build gcc: gthr-default.h:466: error: '__mutex' was not declared in this scope)
PR target/41810
	* gthr-solaris.h (__gthread_mutex_destroy): Remove UNUSED.
	[SUPPORTS_WEAK && GTHREAD_USE_WEAK] (__gthread_active_p): Use
	__extension__ to allow cast from function pointer to object
	pointer in C++.
	* doc/install.texi (--enable-threads): Clarify use of Solaris
	threads.

From-SVN: r154708
2009-11-27 15:17:04 +00:00
Steven Bosscher 7400e46be6 Remove support for Itanium1 (Merced)
* config/ia64/itanium1.md: Remove.
	* config/ia64/ia64.md: Do not include it.
	* config/ia64/ia64.c (ia64_handle_option): Remove "itanium",
	"itanium1", and "merced" from the processor alias table.
	(clocks, add_cycles): Remove global variables.
	(ia64_sched_reorder2): Don't set/use them.
	(ia64_dfa_new_cycle, ia64_h_i_d_extended, ia64_reorg): Likewise.
	(bundling): Likewise. Remove extra pass for MMMUL/MMSHF.

From-SVN: r154707
2009-11-27 14:30:34 +00:00
Andreas Krebbel 3a892e4495 s390.c (last_scheduled_insn): New variable.
2009-11-27  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* config/s390/s390.c (last_scheduled_insn): New variable.
	(s390_fpload_toreg, s390_z10_prevent_earlyload_conflicts): New
	functions.
	(s390_sched_reorder, s390_sched_variable_issue): New functions.
	(TARGET_SCHED_VARIABLE_ISSUE, TARGET_SCHED_REORDER): Target hooks
	defined.

From-SVN: r154705
2009-11-27 13:12:25 +00:00
Michael Matz d815d34e46 re PR c++/41906 (ICE with catch(...) and -fpermissive)
PR c++/41906
        * tree-eh.c (lower_catch): Stop after expanding a catch-all.

testsuite/
        * g++.dg/tree-ssa/pr41906.C: New testcase.

From-SVN: r154704
2009-11-27 13:08:58 +00:00
Richard Guenther b56ae8c7c7 timevar.def (TV_LOOP_MOVE_INVARIANTS, [...]): New timevars.
2009-11-27  Richard Guenther  <rguenther@suse.de>

	* timevar.def (TV_LOOP_MOVE_INVARIANTS, TV_LOOP_UNSWITCH,
	TV_LOOP_UNROLL, TV_LOOP_DOLOOP): New timevars.
	* loop-init.c (pass_rtl_move_loop_invariants): Use
	TV_LOOP_MOVE_INVARIANTS.
	(pass_rtl_unswitch): Use TV_LOOP_UNSWITCH.
	(pass_rtl_unroll_and_peel): Use TV_LOOP_UNROLL.
	(pass_rtl_doloop): Use TV_LOOP_DOLOOP.

From-SVN: r154703
2009-11-27 12:43:08 +00:00
Andreas Krebbel 9c517bf372 emit-rtl.c (next_active_insn, [...]): Correct comment.
2009-11-27  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* emit-rtl.c (next_active_insn, prev_active_insn): Correct
	comment.

From-SVN: r154702
2009-11-27 12:00:28 +00:00
Jakub Jelinek f1ed99cda5 i386.c (ix86_emit_restore_sse_regs_using_mov): Remove unused insn variable.
* config/i386/i386.c (ix86_emit_restore_sse_regs_using_mov): Remove
	unused insn variable.
	* genemit.c (output_peephole2_scratches): Only declare and initialize
	_regs_allocated if it will be ever used.
	* cfgloopmanip.c (create_empty_if_region_on_edge): Remove unused
	succ_bb variable.
	(create_empty_loop_on_edge): Remove unused freq and cnt variables.
	* unwind-c.c (PERSONALITY_FUNCTION): Remove unused action_record
	variable.

From-SVN: r154701
2009-11-27 12:37:06 +01:00
Jakub Jelinek e96fee3e91 opts.c (decode_options): If optimize is bigger than 255, set it to 255.
* opts.c (decode_options): If optimize is bigger than 255,
	set it to 255.

	* gcc.dg/O16384.c: New test.

From-SVN: r154699
2009-11-27 12:31:55 +01:00
Paolo Carlini 85539630e3 re PR c++/35112 (ICE and broken diagnostic with ambiguous class name)
/cp
2009-11-27  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/35112
	* pt.c (print_overloaded_functions): New.
	(print_candidates): Call the latter.
	* parser.c (cp_parser_class_name): Do not duplicate the diagnostics
	after the cp_parser_lookup_name call.

/testsuite
2009-11-27  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/35112
	* g++.dg/parse/crash53.C: New.
	* g++.dg/parse/error17.C: Adjust, error messages are not
	duplicated anymore.
	* g++.dg/template/dtor7.C: Remove xfail-ed dg-bogus directives.

From-SVN: r154698
2009-11-27 10:44:49 +00:00
GCC Administrator 58b9741ecb Daily bump.
From-SVN: r154697
2009-11-27 00:16:49 +00:00
Uros Bizjak 22b9d529e8 vperm-v4sf-1.c (dg-options): Use -msse2.
* gcc.target/i386/vperm-v4sf-1.c (dg-options): Use -msse2.
	* gcc.target/i386/vperm-v4sf-2.c: Require effective target ssse3.
	* gcc.target/i386/vperm-v4si-2.c: Ditto.
	* gcc.target/i386/vperm-v4si-2x.c: Require effective target xop.

From-SVN: r154694
2009-11-27 00:24:10 +01:00
Richard Henderson 08f3084be2 sse.md (mulv16qi3): Change back from an expander to an insn-and-split.
* config/i386/sse.md (mulv16qi3): Change back from an expander
	to an insn-and-split.
	(mulv4si): Mention AVX not XOP for AVX exception.
	(*sse2_mulv4si3): Likewise.
	(mulv2di3): Use vmulld not vpmacsdd for XOP expansion.  Tidy.
testsuite/
        * gcc.target/i386/xop-imul64-vector.c: Look for vpmulld not vpmacsdd.

From-SVN: r154693
2009-11-26 15:09:56 -08:00
Jerry DeLisle 5e1a89f009 re PR fortran/41807 (data statement with nested type constructors)
2009-11-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/41807
	* trans-const.c (gfc_conv_const): Set se->expr to a constant on error.

From-SVN: r154690
2009-11-26 21:52:52 +00:00
Bernd Schmidt 15b83b0f47 cfgexpand (n_stack_vars_conflict): New static variable.
* cfgexpand (n_stack_vars_conflict): New static variable.
	(triangular_index): Reduce likelyhood of overflow by performing
	the division before the multiplication.
	(resize_stack_vars_conflict): Call fatal_error if overflow
	occurred in triangular_index.  Update n_stack_vars_conflict.

From-SVN: r154689
2009-11-26 21:46:45 +00:00
Bernd Schmidt a96caf8085 re PR rtl-optimization/38582 (excessive time in rename registers)
PR rtl-opt/38582
	* regrename.c (struct du_head): New members id, conflicts,
	hard_conflicts and cannot_rename.
	(enum scan_actions): Remove terminate_all_read and
	terminate_overlapping_read; add mark_all_read.
	(scan_actions_name): Likewise.
	(du_head_p): New typedef.  Define a vector type for it.
	(id_to_chain): New static variable.
	(note_sets, clear_dead_regs): Delete functions.
	(free_chain_data): New function.
	(merge_overlapping_regs): Simply walk the conflicts bitmap.
	Remove argument B, all callers changed.
	(regrename_optimize): Allocate id_to_chain.  Ignore chains that have
	the cannot_rename bit set.  Update regno and nregs of a renamed chain.
	Call free_chain_data when done.
	(do_replace): Remove death notes when the renamed reg is set in the
	last insn; add them if not.
	(mark_conflict, note_sets_clobbers): New static function.
	(fail_current_block, current_id, open_chains_set, live_hard_regs): New
	static variables.
	(scan_rtx_reg): Keep track of conflicts between chains, and between
	chains and hard regs.  Don't terminate chains when we find a read we
	can't handle, mark it unrenameable instead.  For terminate_write,
	terminate chains that are written with an exact match or a superset
	of registers.  Set fail_current_block if multi-word lifetimes are too
	complex to handle.
	(scan_rtx_address): Use mark_all_read instead of terminate_all_read.
	(build_def_use): Initialize current_id, live_chains and live_hard_regs;
	free memory for them when done.
	Rearrange the steps so that earlyclobbers are noted before reads
	are processed.  Add new steps to keep track of hard register lifetimes
	outside insn operands.

From-SVN: r154688
2009-11-26 21:41:42 +00:00
Bernd Schmidt 6bda9bdf52 re PR rtl-optimization/38582 (excessive time in rename registers)
PR rtl-opt/38582
	* regrename.c (struct du_chain): Remove member earlyclobber.
	(scan_rtx_reg): Don't set it.  Remove argument earlyclobber,
	all callers changed.
	(scan_rtx): Remove argument earlyclobber, all callers changed.
	(hide_operands, restore_operands, record_out_operands): New functions,
	broken out of build_def_use.
	(build_def_use): Call them as necessary.

From-SVN: r154687
2009-11-26 21:35:35 +00:00
Jason Merrill c5c39ab37a PR c++/42026, DR 239
PR c++/42026, DR 239
	* parser.c (cp_parser_postfix_expression): A local extern also
	prevents arg-dependent lookup.

From-SVN: r154686
2009-11-26 15:58:47 -05:00
Jason Merrill 1e1779fe22 add missing testsuite/ChangeLog entry
From-SVN: r154685
2009-11-26 15:58:41 -05:00
Gabriel Dos Reis 612e541cfc * decl.c (grokdeclarator): Remove period at end of diagnosic message.
From-SVN: r154684
2009-11-26 20:00:43 +00:00
Jerry DeLisle ba2335f224 re PR fortran/41278 (internal compiler error related to matmul and transpose)
2009-11-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/41278
	* gfortran.dg/array_function_5.f90: New test.

From-SVN: r154681
2009-11-26 19:10:29 +00:00
Jerry DeLisle 4252ed2bd7 re PR fortran/41278 (internal compiler error related to matmul and transpose)
2009-11-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/41278
	* trans-array.c (gfc_conv_array_transpose): Delete unnecessary assert.

From-SVN: r154680
2009-11-26 19:05:37 +00:00
Janus Weil 2d71b918d4 re PR fortran/42048 ([F03] Erroneous syntax error message on TBP call)
2009-11-26  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/42048
	PR fortran/42167
	* gfortran.h (gfc_is_function_return_value): New prototype.
	* match.c (gfc_match_call): Use new function
	'gfc_is_function_return_value'.
	* primary.c (gfc_is_function_return_value): New function to check if a
	symbol is the return value of an encompassing function.
	(match_actual_arg,gfc_match_rvalue,match_variable): Use new function
	'gfc_is_function_return_value'.
	* resolve.c (resolve_common_blocks,resolve_actual_arglist): Ditto.

2009-11-26  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/42048
	PR fortran/42167
	* gfortran.dg/select_type_10.f03: New test case.
	* gfortran.dg/typebound_call_11.f03: Extended test case.

From-SVN: r154679
2009-11-26 20:01:02 +01:00
Eric Botcazou 90dcfecb47 utils.c (copy_type): Unshare the language-specific data and the contents of the language-specific...
* gcc-interface/utils.c (copy_type): Unshare the language-specific data
	and the contents of the language-specific slot if needed.

From-SVN: r154678
2009-11-26 17:47:48 +00:00
Eric Botcazou da49a7837a trans.c (gnat_to_gnu): Set the source location of the operator on both branches of the test in the...
* gcc-interface/trans.c (gnat_to_gnu) <N_In>: Set the source location
	of the operator on both branches of the test in the generic case.

From-SVN: r154677
2009-11-26 17:46:16 +00:00
Richard Guenther a61f9cc067 tree-ssa-dce.c (nr_walks): New variable.
2009-11-26  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-dce.c (nr_walks): New variable.
	(mark_aliased_reaching_defs_necessary): Adjust oracle cut-off.
	(perform_tree_ssa_dce): Init nr_walks.

From-SVN: r154676
2009-11-26 17:00:19 +00:00
Jason Merrill 6780e186fc re PR c++/10690 ([DR 115] Even when used within typeid(), a template-id generating an overload set with only one function should silently decay to a pointer to function)
PR c++/10690
	* rtti.c (get_tinfo_decl_dynamic): Call resolve_nondeduced_context.

From-SVN: r154675
2009-11-26 10:59:52 -05:00
Michael Matz 87cd42599c tree-eh.c (lower_eh_constructs_2): Don't add assignments below statements that can't fall thru.
* tree-eh.c (lower_eh_constructs_2): Don't add assignments
        below statements that can't fall thru.

testsuite/
        * g++.dg/tree-ssa/pr41905.C: New testcase.

From-SVN: r154674
2009-11-26 15:54:07 +00:00
Michael Matz 6dc3bf569b builtins.c (expand_builtin_printf, [...]): Remove.
* builtins.c (expand_builtin_printf, expand_builtin_fprintf,
        expand_builtin_sprintf): Remove.
        (expand_builtin): Don't call them.

From-SVN: r154673
2009-11-26 13:49:35 +00:00
Richard Guenther d9b99b4ceb tree-ssa-dce.c (perform_tree_ssa_dce): Allocate visited bitmap.
2009-11-26  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-dce.c (perform_tree_ssa_dce): Allocate visited bitmap.

From-SVN: r154672
2009-11-26 13:09:02 +00:00
Nick Clifton 0d8f38d337 rx.c (rx_expand_epilogue): Add checks for sibcalls being used incorrectly.
* config/rx/rx.c (rx_expand_epilogue): Add checks for sibcalls
        being used incorrectly.
        (rx_function_ok_for_sibcall): New function.  Do not allow indirect
        sibcalls, or sibcalls from interrupt functions.
        (TARGET_FUNCTION_OK_FOR_SIBCALL): Define.
        * config/rx/rx.md (sibcall): Convert to a define_expand.  Check
        for a MEM inside a MEM.
        (sibcall_value): Likewise.
        (sibcall_internal): New pattern containing old sibcall pattern.
        (sibcall_value_internal): Likewise.

From-SVN: r154671
2009-11-26 10:44:28 +00:00
Ben Elliston 5d6b1baca0 posix-threads.cc (ParkHelper::unpark): Do not initialise result, but assign it instead.
* posix-threads.cc (ParkHelper::unpark): Do not initialise result,
	but assign it instead. Eliminates an unused variable warning when
	the result == 0 assertion is disabled.

From-SVN: r154670
2009-11-26 21:06:35 +11:00
Richard Henderson 0fac515143 i386-builtin-types.awk (DEF_VECTOR_TYPE): Allow an optional 3rd argument to define the mode.
* config/i386/i386-builtin-types.awk (DEF_VECTOR_TYPE): Allow an
	optional 3rd argument to define the mode.
	* config/i386/i386-builtin-types.def (UQI, UHI, USI, UDI): New.
	(V2UDI, V4USI, V8UHI, V16UQI): New.
	(V4SF_FTYPE_V4SF_V4SF_V4SI, V2UDI_FTYPE_V2UDI_V2UDI_V2UDI,
	V4USI_FTYPE_V4USI_V4USI_V4USI, V8UHI_FTYPE_V8UHI_V8UHI_V8UHI,
	V16UQI_FTYPE_V16UQI_V16UQI_V16UQI): New.
	* config/i386/i386-modes.def: Rearrange for double-wide AVX.
	* config/i386/i386-protos.h (ix86_expand_vec_extract_even_odd): New.
	* config/i386/i386.c (IX86_BUILTIN_VEC_PERM_*): New.
	(bdesc_args): Add the builtin definitions to match.
	(ix86_expand_builtin): Expand them.
	(ix86_builtin_vectorization_cost): Rename from
	x86_builtin_vectorization_cost.
	(ix86_vectorize_builtin_vec_perm, struct expand_vec_perm_d,
	doublesize_vector_mode, expand_vselect, expand_vselect_vconcat,
	expand_vec_perm_blend, expand_vec_perm_vpermil,
	expand_vec_perm_pshufb, expand_vec_perm_1,
	expand_vec_perm_pshuflw_pshufhw, expand_vec_perm_palignr,
	expand_vec_perm_interleave2, expand_vec_perm_pshufb2,
	expand_vec_perm_even_odd_1, expand_vec_perm_even_odd,
	ix86_expand_vec_perm_builtin_1, extract_vec_perm_cst,
	ix86_expand_vec_perm_builtin, ix86_vectorize_builtin_vec_perm_ok,
	ix86_expand_vec_extract_even_odd, TARGET_VECTORIZE_BUILTIN_VEC_PERM,
	TARGET_VECTORIZE_BUILTIN_VEC_PERM_OK): New.
	* sse.md (SSEMODE_EO): New.
	(vec_extract_even<mode>): Use SSEMODE_EO and
	ix86_expand_vec_extract_even_odd.
	(vec_extract_odd<mode>): Likewise.
	(mulv16qi3, vec_pack_trunc_v8hi, vec_pack_trunc_v4si,
	vec_pack_trunc_v2di): Use ix86_expand_vec_extract_even_odd.

testsuite/
	* gcc.dg/vect/slp-21.c: Succeed with vect_extract_even_odd too.

	* lib/target-supports.exp
	(check_effective_target_vect_extract_even_odd): Add x86.

	* gcc.target/i386/isa-check.h: New.
	* gcc.target/i386/vperm-2-2.inc, gcc.target/i386/vperm-4-1.inc,
	gcc.target/i386/vperm-4-2.inc, gcc.target/i386/vperm-v2df.c,
	gcc.target/i386/vperm-v2di.c, gcc.target/i386/vperm-v4sf-1.c,
	gcc.target/i386/vperm-v4sf-2.c, gcc.target/i386/vperm-v4si-1.c,
	gcc.target/i386/vperm-v4si-2.c, gcc.target/i386/vperm-v4si-2x.c,
	gcc.target/i386/vperm.pl: New files.

From-SVN: r154667
2009-11-25 18:39:42 -08:00
Richard Henderson dac9d53aef pr36493.c: Call check_vect.
* gcc.dg/vect/pr36493.c: Call check_vect.
	* gcc.dg/vect/pr37539.c: Likewise.
	* gcc.dg/vect/vect-nest-cycle-3.c: Call check_vect earlier.
	* tree-vect.h (check_vect): Use cpuid for x86.

From-SVN: r154666
2009-11-25 18:03:50 -08:00
Richard Henderson faf63e3963 target.h (targetm.vectorize.builtin_vec_perm_ok): New.
* target.h (targetm.vectorize.builtin_vec_perm_ok): New.
	* target-def.h (TARGET_VECTORIZE_BUILTIN_VEC_PERM_OK): New.
	* hooks.h, hooks.c (hook_bool_tree_tree_true): New.
	* tree-vect-slp.c (vect_create_mask_and_perm): Don't create
	the vector constant here...
	(vect_transform_slp_perm_load): ... do it here instead.  Validate
	that the permutation vector is implementable by the target.

From-SVN: r154665
2009-11-25 17:52:19 -08:00