1. 25 Aug, 2012 13 commits
  2. 24 Aug, 2012 14 commits
    • re PR c/54363 (ICE when compiling malformed struct initializers) · 6f8f67e9
      	PR c/54363
      	* gimplify.c (optimize_compound_literals_in_ctor): Only recurse
      	if init is a CONSTRUCTOR.
      
      	* gcc.dg/pr54363.c: New test.
      
      From-SVN: r190657
      Jakub Jelinek committed
    • re PR c/54355 (ICE on invalid code in switch statement) · 6265d07c
      	PR c/54355
      	* c-decl.c (c_parser_label): Pass true as nested and fix up comments
      	for nested and empty_ok arguments in the call to
      	c_parser_declaration_or_fndef.
      
      	* gcc.dg/pr54355.c: New test.
      
      From-SVN: r190656
      Jakub Jelinek committed
    • tree-ssa-live.c (dump_var_map): Do not dump the partition map of virtual operands. · 12fdc099
      	* tree-ssa-live.c (dump_var_map): Do not dump the partition
      	map of virtual operands.
      
      From-SVN: r190655
      Steven Bosscher committed
    • Sync plugin-api.h with gold patch : http://sourceware.org/ml/binutils/2012-08/msg00447.html · 36ec6d1c
      
      	* plugin-api.h (ld_plugin_allow_unique_segment_for_sections):
      	New interface.
      	(ld_plugin_unique_segment_for_sections): New interface.
      	(LDPT_ALLOW_UNIQUE_SEGMENT_FOR_SECTIONS): New enum val.
      	(LDPT_UNIQUE_SEGMENT_FOR_SECTIONS): New enum val.
      	(tv_allow_unique_segment_for_sections): New member.
      	(tv_unique_segment_for_sections): New member.
      
      From-SVN: r190654
      Sriraman Tallam committed
    • pt.c (resolve_overloaded_unification): Use coerce_template_parms instead of get_bindings. · 92849267
      	* pt.c (resolve_overloaded_unification): Use coerce_template_parms
      	instead of get_bindings.
      	(resolve_nondeduced_context): Likewise.
      
      From-SVN: r190653
      Jason Merrill committed
    • pt.c (register_specialization): Correct argument to check_specialization_namespace. · 60b5de49
      	* pt.c (register_specialization): Correct argument to
      	check_specialization_namespace.
      	(determine_specialization): Don't consider members of
      	unspecialized types.
      
      From-SVN: r190652
      Jason Merrill committed
    • i386.c (ia32_multipass_dfa_lookahead): Add case for Atom processor. · 013734b9
              * config/i386/i386.c (ia32_multipass_dfa_lookahead) : Add
              case for Atom processor.
      
      From-SVN: r190649
      Yuri Rumyantsev committed
    • dwarf2out.c (gen_producer_string): Omit command line switch if CL_NO_DWARF_RECORD flag set. · 77ee7190
      
      gcc/ChangeLog
      	* dwarf2out.c (gen_producer_string): Omit command line switch if
      	CL_NO_DWARF_RECORD flag set.
      	* opts.h (CL_NO_DWARF_RECORD): New.
      	* opt-functions.awk (switch_flags): Add NoDWARFRecord.
      	* doc/options.texi: Document NoDWARFRecord option flag.
      
      gcc/fortran/ChangeLog
      	* lang.opt (-cpp=): Mark flag NoDWARFRecord.
      
      From-SVN: r190648
      Simon Baldwin committed
    • Allow arg_pointer_rtx/frame_pointer_rtx for based_loc_descr · a9b94d0d
      gcc/
      
      	PR debug/52857
      	* dwarf2out.c (mem_loc_descriptor): Allow arg_pointer_rtx and
      	frame_pointer_rtx for based_loc_descr.
      
      gcc/testsuite/
      
      	PR debug/52857
      	* gcc.target/i386/pr52857-1.c: New.
      	* gcc.target/i386/pr52857-2.c: Likewise.
      
      From-SVN: r190647
      H.J. Lu committed
    • re PR target/54222 ([avr] Implement fixed-point support) · 4aeaaca3
      	PR target/54222
      	* config/avr/t-avr (conv_X): Rename to func_X.
      
      From-SVN: r190646
      Georg-Johann Lay committed
    • predict.c (maybe_hot_frequency_p): New parameter fun. · 2eb712b4
      2012-08-24  Martin Jambor  <mjambor@suse.cz>
      
      	* predict.c (maybe_hot_frequency_p): New parameter fun.  Use its decl
      	instead of current_function_decl, use profile_status_for_function and
      	ENTRY_BLOCK_PTR_FOR_FUNCTION with fun instead of their cfun variants.
      	(maybe_hot_count_p): New parameter fun, use
      	profile_status_for_function instead of its cfun_variant.
      	(maybe_hot_bb_p): New parameter fun, checking-assert it, pass it to
      	all callees.
      	(maybe_hot_edge_p): Pass cfun to maybe_hot_count_p and
      	maybe_hot_frequency_p.
      	(probably_never_executed_bb_p): New parameter fun, use its decl
      	instead of current_function_decl.
      	(optimize_bb_for_size_p): Pass cfun to maybe_hot_bb_p.
      	(rtl_profile_for_bb): Likewise.
      	(compute_function_frequency): Pass cfun to maybe_hot_bb_p and
      	probably_never_executed_bb_p.
      	* tree-ssa-operands.c (ssa_operands_active): New operator fun.  Use it
      	instead of cfun.
      	(update_stmt_operands): Pass cfun as an argument of
      	ssa_operands_active.
      	(swap_tree_operands): Likewise.
      	* gimple-iterator.c (update_modified_stmt): Likewise.
      	(update_modified_stmts): Likewise.
      	* tree-flow-inline.h (delink_stmt_imm_use): Likewise.
      	* tree-ssa.c (delete_tree_ssa): Likewise.
      	* bb-reorder.c (bb_to_key): Pass cfun to probably_never_executed_bb_p.
      	(push_to_next_round_p): Likewise.
      	(find_rarely_executed_basic_blocks_and_crossing_edges ): Likewise.
      	* cfg.c: Inlude tree.h.
      	(check_bb_profile): Use profile_status_for_function,
      	EXIT_BLOCK_PTR_FOR_FUNCTION and ENTRY_BLOCK_PTR_FOR_FUNCTION with
      	DECL_STRUCT_FUNCTION (current_function_decl) instead of their cfun
      	variants.
      	(dump_bb_info): Pass DECL_STRUCT_FUNCTION (current_function_decl) to
      	maybe_hot_bb_p and probably_never_executed_bb_p.
      	* gimple-pretty-print.c (gimple_dump_bb_buff): Checking-assert that
      	DECL_STRUCT_FUNCTION (current_function_decl) is not NULL.  Pass it to
      	dump_histograms_for_stmt.
      	(dump_gimple_mem_ops): Pass DECL_STRUCT_FUNCTION (current_function_decl)
      	as an argument to dump_gimple_mem_ops.
      	* tree-cfg.c (dump_function_to_file): Rename parameter fn to fndecl.
      	Do not change cfun.  Change and restore current_function_decl.
      	* Makefile.in (cfg.o): Include TREE_H in dependencies.
      
      From-SVN: r190645
      Martin Jambor committed
    • re PR target/54222 ([avr] Implement fixed-point support) · e55e4056
      libgcc/
      	PR target/54222
      	* config/avr/lib1funcs-fixed.S: New file.
      	* config/avr/lib1funcs.S: Include it.  Undefine some divmodsi
      	after they are used.
      	(neg2, neg4): New macros.
      	(__mulqihi3,__umulqihi3,__mulhi3): Rewrite non-MUL variants.
      	(__mulhisi3,__umulhisi3,__mulsi3): Rewrite non-MUL variants.
      	(__umulhisi3): Speed up MUL variant if there is enough flash.
      	* config/avr/avr-lib.h (TA, UTA): Adjust according to gcc's
      	avr-modes.def.
      	* config/avr/t-avr (LIB1ASMFUNCS): Add: _fractqqsf, _fractuqqsf,
      	_fracthqsf, _fractuhqsf, _fracthasf, _fractuhasf, _fractsasf,
      	_fractusasf, _fractsfqq, _fractsfuqq, _fractsfhq, _fractsfuhq,
      	_fractsfha, _fractsfsa, _mulqq3, _muluqq3, _mulhq3, _muluhq3,
      	_mulha3, _muluha3, _mulsa3, _mulusa3, _divqq3, _udivuqq3, _divhq3,
      	_udivuhq3, _divha3, _udivuha3, _divsa3, _udivusa3.
      	(LIB2FUNCS_EXCLUDE): Add supported functions.
      
      gcc/
      	PR target/54222
      	* avr-modes.def (HA, SA, DA, TA, UTA): Adjust modes.
      	* avr/avr-fixed.md: New file.
      	* avr/avr.md: Include it.
      	(cc): Add: minus.
      	(adjust_len): Add: minus, minus64, ufract, sfract.
      	(ALL1, ALL2, ALL4, ORDERED234): New mode iterators.
      	(MOVMODE): Add: QQ, UQQ, HQ, UHQ, HA, UHA, SQ, USQ, SA, USA.
      	(MPUSH): Add: HQ, UHQ, HA, UHA, SQ, USQ, SA, USA.
      	(pushqi1, xload8_A, xload_8, movqi_insn, *reload_inqi, addqi3,
      	subqi3, ashlqi3, *ashlqi3, ashrqi3, lshrqi3, *lshrqi3, *cmpqi, 
      	cbranchqi4, *cpse.eq): Generalize to handle all 8-bit modes in ALL1.
      	(*movhi, reload_inhi, addhi3, *addhi3, addhi3_clobber, subhi3,
      	ashlhi3, *ashlhi3_const, ashrhi3, *ashirhi3_const, lshrhi3,
      	*lshrhi3_const, *cmphi, cbranchhi4): Generalize to handle all
      	16-bit modes in ALL2.
      	(subhi3, casesi, strlenhi): Add clobber when expanding minus:HI.
      	(*movsi, *reload_insi, addsi3, subsi3, ashlsi3, *ashlsi3_const,
      	ashrsi3, *ashrhi3_const, *ashrsi3_const, lshrsi3, *lshrsi3_const,
      	*reversed_tstsi, *cmpsi, cbranchsi4): Generalize to handle all
      	32-bit modes in ALL4.
      	* avr-dimode.md (ALL8): New mode iterator.
      	(adddi3, adddi3_insn, adddi3_const_insn, subdi3, subdi3_insn,
      	subdi3_const_insn, cbranchdi4, compare_di2,
      	compare_const_di2, ashrdi3, lshrdi3, rotldi3, ashldi3_insn,
      	ashrdi3_insn, lshrdi3_insn, rotldi3_insn): Generalize to handle
      	all 64-bit modes in ALL8.
      	* config/avr/avr-protos.h (avr_to_int_mode): New prototype.
      	(avr_out_fract, avr_out_minus, avr_out_minus64): New prototypes.
      	* config/avr/avr.c (TARGET_FIXED_POINT_SUPPORTED_P): Define to...
      	(avr_fixed_point_supported_p): ...this new static function.
      	(TARGET_BUILD_BUILTIN_VA_LIST): Define to...
      	(avr_build_builtin_va_list): ...this new static function.
      	(avr_adjust_type_node): New static function.
      	(avr_scalar_mode_supported_p): Allow if ALL_FIXED_POINT_MODE_P.
      	(avr_builtin_setjmp_frame_value): Use gen_subhi3 and return new
      	pseudo instead of gen_rtx_MINUS.
      	(avr_print_operand, avr_operand_rtx_cost): Handle: CONST_FIXED.
      	(notice_update_cc): Handle: CC_MINUS.
      	(output_movqi): Generalize to handle respective fixed-point modes.
      	(output_movhi, output_movsisf, avr_2word_insn_p): Ditto.
      	(avr_out_compare, avr_out_plus_1): Also handle fixed-point modes.
      	(avr_assemble_integer): Ditto.
      	(output_reload_in_const, output_reload_insisf): Ditto.
      	(avr_compare_pattern): Skip all modes > 4 bytes.
      	(avr_2word_insn_p): Skip movuqq_insn, movqq_insn.
      	(avr_out_fract, avr_out_minus, avr_out_minus64): New functions.
      	(avr_to_int_mode): New function.
      	(adjust_insn_length): Handle: ADJUST_LEN_SFRACT,
      	ADJUST_LEN_UFRACT, ADJUST_LEN_MINUS, ADJUST_LEN_MINUS64.
      	* config/avr/predicates.md (const0_operand): Allow const_fixed.
      	(const_operand, const_or_immediate_operand): New.
      	(nonmemory_or_const_operand): New.
      	* config/avr/constraints.md (Ynn, Y00, Y01, Y02, Ym1, Ym2, YIJ):
      	New constraints.
      	* config/avr/avr.h (LONG_LONG_ACCUM_TYPE_SIZE): Define.
      
      From-SVN: r190644
      Georg-Johann Lay committed
    • re PR fortran/54350 (FAIL: gfortran.dg/realloc_on_assign_*.f90 -O (internal… · 2960a368
      re PR fortran/54350 (FAIL: gfortran.dg/realloc_on_assign_*.f90  -O  (internal compiler error) at r190586)
      
      2012-08-24  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/54350
              * trans-array.c (free_ss_info): Free data.array.subscript.
              (gfc_free_ss): No longer free data.array.subscript.
              (walk_coarray): New function, moved from trans-intrinsic.c
              (gfc_conv_expr_descriptor): Walk array descriptor instead
              of taking passed "ss".
              (get_array_ctor_all_strlen, gfc_add_loop_ss_code,
              gfc_conv_array_parameter): Update call and cleanup ss handling.
              * trans-array.h (gfc_conv_expr_descriptor,
              gfc_conv_array_parameter): Update prototype.
              * trans-expr.c (gfc_conv_derived_to_class,
              conv_isocbinding_procedure, gfc_conv_procedure_call,
              gfc_trans_alloc_subarray_assign, gfc_trans_subcomponent_assign,
              gfc_trans_pointer_assignment, gfc_trans_arrayfunc_assign): Update
              call to gfc_conv_expr_descriptor and gfc_conv_array_parameter,
              and clean up.
              * trans-intrinsic.c (walk_coarray): Moved to trans-array.c
              (trans_this_image, trans_image_index, gfc_conv_intrinsic_rank
              gfc_conv_intrinsic_bound, gfc_conv_intrinsic_cobound,
              gfc_conv_intrinsic_len, gfc_conv_intrinsic_size,
              gfc_conv_intrinsic_sizeof, gfc_conv_intrinsic_storage_size,
              gfc_conv_intrinsic_transfer, gfc_conv_allocated,
              gfc_conv_associated, gfc_conv_intrinsic_loc,
              conv_intrinsic_move_alloc): Update calls.
              * trans-io.c (gfc_convert_array_to_string, set_internal_unit,
              gfc_trans_transfer): Ditto.
              * trans-stmt.c (gfc_conv_elemental_dependencies,
              gfc_trans_sync, trans_associate_var,
              gfc_trans_pointer_assign_need_temp): Ditto.
      
      From-SVN: r190641
      Tobias Burnus committed
    • Daily bump. · 3c5e0cc4
      From-SVN: r190636
      GCC Administrator committed
  3. 23 Aug, 2012 13 commits
    • code-readable-4.c: New test. · 9c7ec968
      gcc/testsuite/
      	* gcc.target/mips/code-readable-4.c: New test.
      
      From-SVN: r190630
      Richard Sandiford committed
    • alias.c (rtx_equal_for_memref_p): Convert constant cases. · d8116890
      2012-08-23  Kenneth Zadeck <zadeck@naturalbridge.com>
      
      	* alias.c (rtx_equal_for_memref_p): Convert constant cases.
      	* combine.c (find_single_use_1, mark_used_regs_combine): Convert
      	to CASE_CONST_ANY.
       	* cse.c (exp_equiv_p, canon_reg, fold_rtx, cse_process_notes_1,
      	count_reg_usage): Convert constant cases.
      	* cselib.c (cselib_expand_value_rtx_1): Convert to
      	CASE_CONST_ANY.
      	(cselib_subst_to_values): Convert constant cases.
      	* df-scan.c (df_uses_record): Ditto.
      	* dse.c (const_or_frame_p): Convert case statements to explicit
      	if-then-else using mode classes.
      	* emit-rtl.c (verify_rtx_sharing, copy_insn_1): Convert constant cases.
      	* explow.c (convert_memory_address_addr_space): Ditto.
      	* gcse.c (want_to_gcse_p, oprs_unchanged_p, compute_transp): Ditto.
      	* genattrtab.c (attr_copy_rtx, clear_struct_flag): Ditto.
      	* ira.c (equiv_init_varies_p, contains_replace_regs,
      	memref_referenced_p, rtx_moveable_p): Ditto.
      	* jump.c (mark_jump_label_1): Remove constant cases.
      	(rtx_renumbered_equal_p): Convert to CASE_CONST_UNIQUE.
      	* loop-invariant.c (check_maybe_invariant, hash_invariant_expr_1,
      	invariant_expr_equal_p): Convert to CASE_CONST_ANY.
      	* postreload-gcse.c (oprs_unchanged_p): Convert constant cases.
      	* reginfo.c (reg_scan_mark_refs): Ditto.
      	* regrename.c (scan_rtx): Ditto.
      	* reload1.c (eliminate_regs_1, elimination_effects,
      	scan_paradoxical_subregs): Ditto.
      	* reload.c (operands_match_p, subst_reg_equivs):  Ditto.
      	* resource.c (mark_referenced_resources, mark_set_resources): Ditto.
      	* rtlanal.c (rtx_unstable_p, rtx_varies_p, count_occurrences)
      	(reg_mentioned_p, modified_between_p, modified_in_p)
      	(volatile_insn_p, volatile_refs_p, side_effects_p, may_trap_p_1,
      	inequality_comparisons_p, computed_jump_p_1): Ditto.
      	* rtl.c (copy_rtx, rtx_equal_p_cb, rtx_equal_p): Ditto.
      	* sched-deps.c (sched_analyze_2): Ditto.
      	* valtrack.c (cleanup_auto_inc_dec): Ditto.
      	* rtl.h: (CASE_CONST_SCALAR_INT, CASE_CONST_UNIQUE, 
      	CASE_CONST_ANY): New macros.
      
      From-SVN: r190627
      Kenneth Zadeck committed
    • 2012-08-23 Julian Brown <julian@codesourcery.com> · 545ca0f2
      	    Sandra Loosemore  <sandra@codesourcery.com>
      
      	gcc/
      	* config/mips/mips.md
      	(UNSPEC_CASESI_DISPATCH): New.
      	(MIPS16_T_REGNUM): New constant.
      	(tablejump): Don't use for MIPS16_SHORT_JUMP_TABLES.
      	(casesi): New.
      	(casesi_internal_mips16_<mode>): New.
      	* config/mips/mips.c (mips16_split_long_branches): Adjust test
      	to ignore casesi jump tables.
      	* config/mips/mips.h (TARGET_MIPS16_SHORT_JUMP_TABLES): Update
      	comment.
      	(CASE_VECTOR_MODE): Use SImode unconditionally.
      	(CASE_VECTOR_SHORTEN_MODE): Define.
      	(ASM_OUTPUT_ADDR_DIFF_ELT): Output word-sized addr_diff_elts
      	when necessary for MIPS16_SHORT_JUMP_TABLES.
      
      	gcc/testsuite/
      	* gcc.target/mips/code-readable-1.c: Add -O to options.
      
      Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>
      
      From-SVN: r190625
      Julian Brown committed
    • Makefile.in (fixed-funcs,fixed-conv-funcs): filter-out LIB2FUNCS_EXCLUDE before… · a147b6d2
      Makefile.in (fixed-funcs,fixed-conv-funcs): filter-out LIB2FUNCS_EXCLUDE before adding them to libgcc-objects, libgcc-s-objects.
      
      	* Makefile.in (fixed-funcs,fixed-conv-funcs): filter-out
      	LIB2FUNCS_EXCLUDE before adding them to libgcc-objects,
      	libgcc-s-objects.
      	* fixed-obj.mk: Only expand dependency if $o is not in
      	LIB2FUNCS_EXCLUDE.
      
      From-SVN: r190624
      Georg-Johann Lay committed
    • c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only for pointers,… · c583af79
      c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only for pointers, and add missing Convention C pragma.
      
      	* c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
      	for pointers, and add missing Convention C pragma.
      	(print_ada_struct_decl): Add missing aliased keyword.
      	(dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
      
      From-SVN: r190623
      Arnaud Charlet committed
    • rs6000.c (rs6000_density_test): Free loop body. · 3118cdeb
      2012-08-23  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	* config/rs6000/rs6000.c (rs6000_density_test): Free loop body.
      
      From-SVN: r190622
      Bill Schmidt committed
    • Add -da and remove -dm in GCC manual · 721b405f
      	PR driver/54335
      	* doc/invoke.texi: Add -da and remove -dm.
      
      From-SVN: r190621
      H.J. Lu committed
    • tree-vect-stmts.c (vect_finish_stmt_generation): Update virtual SSA form. · 54e8e2c3
      2012-08-23  Richard Guenther  <rguenther@suse.de>
      
      	* tree-vect-stmts.c (vect_finish_stmt_generation): Update
      	virtual SSA form.
      
      From-SVN: r190620
      Richard Guenther committed
    • tree.c (copy_node_stat): Clear DECL_STRUCT_FUNCTION. · b6b27e98
      	* tree.c (copy_node_stat): Clear DECL_STRUCT_FUNCTION.
      fortran/
      	* trans-decl.c (trans_function_start, generate_coarray_init,
      	create_main_function, gfc_generate_constructors): Call
      	allocate_struct_function instead of init_function_start.
      
      From-SVN: r190619
      Jakub Jelinek committed
    • re PR c++/20420 (Incorrectly Accepts double declarations) · 8597cab1
      /cp
      2012-08-23  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/20420
      	* name-lookup.c (supplement_binding_1): Handle specially enums
      	only in class templates.
      	(validate_nonmember_using_decl): Enforce 7.3.3/10 about duplicate
      	using declarations at function scope.
      
      /testsuite
      2012-08-23  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/20420
      	* g++.dg/lookup/using53.C: New.
      
      From-SVN: r190618
      Paolo Carlini committed
    • Fix typo in gty.texi. · fb489f55
      From-SVN: r190617
      Mingjie Xing committed
    • re PR libstdc++/54354 (TODO extended iomanip manipulators std::get_time and… · 3f6de40f
      re PR libstdc++/54354 (TODO extended iomanip manipulators std::get_time and std::put_time (C++11, section 27.7.5))
      
      	PR libstdc++/54354
      	* doc/xml/manual/status_cxx2011.xml: Note missing manipulators.
      	* doc/html/*: Regenerate.
      
      From-SVN: r190616
      Jonathan Wakely committed