1. 28 Apr, 2011 8 commits
  2. 27 Apr, 2011 26 commits
    • re PR fortran/48788 (ICE: SIGSEGV in resolve_global_procedure (resolve.c:2190)… · fa9f7c70
      re PR fortran/48788 (ICE: SIGSEGV in resolve_global_procedure (resolve.c:2190) on invalid (?) fortran code)
      
      2011-04-27  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/48788
              * resolve.c (resolve_global_procedure): Error recovery -
              avoid segfault for (non)character-returning functions.
      
      2011-04-27  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/48788
              * gfortran.dg/whole_file_34.f90: New.
      
      From-SVN: r173048
      Tobias Burnus committed
    • move.h (move_if_noexcept): Add. · 1f428429
      2011-04-27  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* include/bits/move.h (move_if_noexcept): Add.
      	* testsuite/20_util/move_if_noexcept/requirements/
      	explicit_instantiation.cc: New.
      	* testsuite/20_util/move_if_noexcept/1.cc: Likewise.
      
      From-SVN: r173044
      Paolo Carlini committed
    • i386.md (ssemodesuffix): Merge with ssevecsize, ssemodefsuffix,… · cbb734aa
      i386.md (ssemodesuffix): Merge with ssevecsize, ssemodefsuffix, ssescalarmodesuffix and avxmodesuffixp.
      
      	* config/i386/i386.md (ssemodesuffix):  Merge with ssevecsize,
      	ssemodefsuffix, ssescalarmodesuffix and avxmodesuffixp.
      	Move from sse.md.
      	(ssemodefsuffix): Remove.
      	(ssevecmodesuffix): New mode attribute.
      	(fix_trunc<mode>di_sse, fix_trunc<mode>si_sse,
      	*float<SSEMODEI24:mode><MODEF:mode>2_mixed_interunit,
      	*float<SSEMODEI24:mode><MODEF:mode>2_mixed_nointerunit,
      	*float<SSEMODEI24:mode><MODEF:mode>2_sse_interunit,
      	*float<SSEMODEI24:mode><MODEF:mode>2_sse_nointerunit, setcc_<mode>_sse,
      	*sqrt<mode>2_sse, sse4_1_round<mode>2, <smaxmin:code><mode>3,
      	*ieee_smin<mode>3, *ieee_smax<mode>3): Adjust assembler templates for
      	ssemodesuffix mode attribute.
      	(float splitters): Use ssevecmodesuffix mode attribute.
      	* config/i386/sse.md (ssescalarmode): Merge with avxscalarmode.
      	(sseinsmode): Rename from avxvecmode.
      	(avxsizesuffix): Rename from avxmodesuffix.
      	(sseintvecmode): Rename from avxpermvecmode.
      	(ssedoublevecmode): Rename from ssedoublesizemode.
      	(ssehalfvecmode): Rename from avxhalfvecmode.
      	(ssescalarmode): Rename from avxscalarmode.
      	(<sse>_comi, <sse>_ucomi, sse4a_movnt<mode>): Adjust assembler
      	templates for ssemodesuffix mode attribute.
      	(*andnot<mode>3, *<any_logic:code><mode>3): Use ssevecmodesuffix
      	mode attribute.
      
      	Adjust RTX patterns globally for renamed mode attributes.
      
      From-SVN: r173043
      Uros Bizjak committed
    • inline-9.c: New testcase. · 991278ab
      	* testsuite/gcc.dg/tree-ssa/inline-9.c: New testcase.
      	* ipa-inline.h (struct inline_edge_summary): Add predicate pointer.
      	* ipa-inline-analysis.c: Include alloc-pool.h.
      	(edge_predicate_pool): New.
      	(trye_predicate_p): New function
      	(false_predicate_p): New function.
      	(add_clause): Sanity check that false clauses are "optimized";
      	never add clauses to predicate that is already known to be false.
      	(and_predicate): Use flase_predicate_p.
      	(evaulate_predicate): Rename to ...
      	(evaluate_predicate): ... this one; update all callers; assert
      	that false is not listed among possible truths.
      	(dump_predicate): Use true_predicate_p.
      	(account_size_time): Use false_predicate_p.
      	(evaulate_conditions_for_edge): Rename to ...
      	(evaluate_conditions_for_edge) ... this one.
      	(edge_set_predicate): New function.
      	(inline_edge_duplication_hook): Duplicate edge predicates.
      	(inline_edge_removal_hook): Free edge predicates.
      	(dump_inline_edge_summary): Add INFO parameter; dump
      	edge predicates.
      	(dump_inline_summary): Update.
      	(estimate_function_body_sizes): Set edge predicates.
      	(estimate_calls_size_and_time): Handle predicates.
      	(estimate_callee_size_and_time): Update.
      	(remap_predicate): Add toplev_predicate; update comment.
      	(remap_edge_predicates): New function.
      	(inline_merge_summary): Compute toplev predicate; update.
      	(read_predicate): New function.
      	(read_inline_edge_summary): Use it.
      	(inline_read_section): Likewise.
      	(write_predicate): New function.
      	(write_inline_edge_summary): Use it.
      	(inline_write_summary): Likewise.
      	(inline_free_summary): Free alloc pool and edge summary vec.
      
      From-SVN: r173042
      Jan Hubicka committed
    • tree-ssa-structalias.c (changed_count): Remove. · 648b5f85
      2011-04-27  Richard Guenther  <rguenther@suse.de>
      
      	* tree-ssa-structalias.c (changed_count): Remove.
      	(changed): Use a bitmap.
      	(unify_nodes): Adjust.
      	(do_sd_constraint): Likewise.
      	(do_ds_constraint): Likewise.
      	(do_complex_constraint): Likewise.
      	(solve_graph): Likewise.
      
      From-SVN: r173040
      Richard Guenther committed
    • class.c (resolve_address_of_overloaded_function): Don't change OVERLOAD to TREE_LIST. · c224bdc1
      	* class.c (resolve_address_of_overloaded_function): Don't
      	change OVERLOAD to TREE_LIST.
      	* pt.c (print_candidates_1): Remove nonsensical assert.
      
      From-SVN: r173037
      Jason Merrill committed
    • re PR c++/48046 (Expected diagnostic "reference to 'type' is ambiguous" not… · 9e0541d9
      re PR c++/48046 (Expected diagnostic "reference to  'type' is ambiguous" not given for function-local static declaration)
      
      	PR c++/48046
      	* parser.c (cp_parser_diagnose_invalid_type_name): Commit
      	to tentative parse sooner.
      
      From-SVN: r173036
      Jason Merrill committed
    • 20020312-2.c: Add definition for RX. · 7036ee24
      	* gcc.dg/20020312-2.c: Add definition for RX.
      
      	* lib/target-supports.exp (add_options_for_ieee): Use -mnofpu
      	option with RX targets.
      
      	* gcc.target/rx/pack.c: Replace C++ style // comments with C style
      	/* */ comments.
      
      From-SVN: r173034
      Nick Clifton committed
    • predicates.md (avx_vpermilp_*_operand): Remove. · 200eb7d2
      	* config/i386/predicates.md (avx_vpermilp_*_operand): Remove.
      	(avx_vperm2f128_*_operand): Ditto.
      	* config/i386/sse.md (*avx_vpermilp<mode>): Remove operand2 predicate.
      	Use avx_vpermilp_parallel in insn condition.
      	(*avx_vperm2f128<mode>_nozero): Remove operand3 predicate.
      	Use avx_vperm2f128_parallel in insn condition.
      
      From-SVN: r173031
      Uros Bizjak committed
    • Makefile.in (tree-ssa-structalias.o): Remove gt-tree-ssa-structalias.h dependency. · 7d6e2521
      2011-04-27  Richard Guenther  <rguenther@suse.de>
      
      	* Makefile.in (tree-ssa-structalias.o): Remove
      	gt-tree-ssa-structalias.h dependency.
      	(GTFILES): Remove tree-ssa-structalias.c.
      	* tree.c (allocate_decl_uid): New function.
      	(make_node_stat): Use it.
      	(copy_node_stat): Likewise.
      	* tree.h (allocate_decl_uid): Declare.
      	* tree-ssa-alias.h (delete_alias_heapvars): Remove.
      	* tree-ssa.c (delete_tree_ssa): Do not call delete_alias_heapvars.
      	* tree-flow.h (struct var_ann_d): Remove is_heapvar flag.
      	* tree-ssa-live.c (remove_unused_locals): Do not check is_heapvar
      	flag.
      	* tree-ssa-structalias.c (heapvar_for_stmt): Remove.
      	(struct heapvar_map): Likewise.
      	(heapvar_map_eq, heapvar_map_hash, heapvar_lookup,
      	heapvar_insert): Likewise.
      	(make_heapvar_for): Rename to ...
      	(make_heapvar): ... this.  Simplify.
      	(fake_var_decl_obstack): New global var.
      	(build_fake_var_decl): New function.
      	(make_constraint_from_heapvar): Adjust.
      	(handle_lhs_call): Likewise.
      	(create_function_info_for): Likewise.
      	(intra_create_variable_infos): Likewise.
      	(init_alias_vars): Allocate fake_var_decl_obstack.
      	(init_alias_heapvars, delete_alias_heapvars): Remove.
      	(compute_points_to_sets): Do not call init_alias_heapvars.
      	(ipa_pta_execute): Likewise.
      	(delete_points_to_sets): Free fake_var_decl_obstack.
      
      	* gcc.dg/tree-ssa/pr23382.c: Remove.
      
      From-SVN: r173030
      Richard Guenther committed
    • divmovti4.c (union qword_UTItype): New data type. · 526ed6c2
      	* config/spu/divmovti4.c (union qword_UTItype): New data type.
      	(si_from_UTItype, si_to_UTItype): New functions.
      	(__udivmodti4): Use them to implement type-punning.
      	* config/spu/multi3.c (union qword_TItype): New data type.
      	(si_from_TItype, si_to_TItype): New functions.
      	(__multi3): Use them to implement type-punning.
      
      From-SVN: r173029
      Ulrich Weigand committed
    • ipa-prop.c (function_insertion_hook_holder): New holder. · 40982661
      	* ipa-prop.c (function_insertion_hook_holder): New holder.
      	(ipa_add_new_function): New function.
      	(ipa_register_cgraph_hooks, ipa_unregister_cgraph_hooks): Register/deregister
      	holder.
      
      From-SVN: r173026
      Jan Hubicka committed
    • pr48767.c: New test. · 7a735dd4
      	* gcc.c-torture/compile/pr48767.c: New test.
      
      From-SVN: r173020
      Kaz Kojima committed
    • re PR tree-optimization/48772 (ICE: SIGSEGV in walk_non_aliased_vuses… · 9aef53ee
      re PR tree-optimization/48772 (ICE: SIGSEGV in walk_non_aliased_vuses (gimple.h:1100) with -O -fnon-call-exceptions -fno-tree-ccp -fno-tree-dce)
      
      2011-04-27  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/48772
      	* tree-ssa-pre.c (eliminate): Update call stmts after elimination
      	only.
      
      	* g++.dg/pr48772.C: New testcase.
      
      From-SVN: r173019
      Richard Guenther committed
    • tree-ssa-alias.c (indirect_refs_may_alias_p): Fix TARGET_MEM_REF handling. · f63d806d
      2011-04-27  Richard Guenther  <rguenther@suse.de>
      
      	* tree-ssa-alias.c (indirect_refs_may_alias_p): Fix
      	TARGET_MEM_REF handling.
      
      From-SVN: r173018
      Richard Guenther committed
    • Fix typo. · 97d20907
      From-SVN: r173017
      Nick Clifton committed
    • frv.h (enum reg_class): Delete EVEN_ACC_REGS, ACC_REGS, FEVEN_REGS, FPR_REGS, EVEN_REGS. · 9b5db25d
      	* config/frv/frv.h (enum reg_class): Delete EVEN_ACC_REGS,
      	ACC_REGS, FEVEN_REGS, FPR_REGS, EVEN_REGS.
      	(REG_CLASS_NAMES): Likewise.
      	(REG_CLASS_CONTENTS): Likewise.
      	(EVEN_ACC_REGS): New macro.  Alias for QUAD_ACC_REGS.
      	(ACC_REGS): New macro.  Alias for QUAD_ACC_REGS.
      	(FEVEN_REGS): New macro.  Alias for QUAD_ACC_REGS.
      	(FPR_REGS): New macro.  Alias for QUAD_ACC_REGS.
      	(EVEN_REGS): New macro.  Alias for QUAD_REGS.
      	* config/frv/frv.c (frv_secondary_reload_class): Remove use of
      	duplicate register classes.
      	(frv_class_likely_spileld_p): Likewise.
      	(frv_register_move_cost): Likewise.
      
      From-SVN: r173016
      Nick Clifton committed
    • mcore.h (REGNO_REG_CLASS): Do not index beyond the end of the regno_reg_class array. · e1ea7451
      	* config/mcore/mcore.h (REGNO_REG_CLASS): Do not index beyond the
      	end of the regno_reg_class array.
      
      From-SVN: r173015
      Nick Clifton committed
    • re PR c/48742 (Internal error in gimplify_expr) · 5c2f94b4
      	PR c/48742
      	* c-typeck.c (build_binary_op): Don't wrap arguments if
      	int_operands is true.
      
      	* gcc.c-torture/compile/pr48742.c: New test.
      
      From-SVN: r173011
      Jakub Jelinek committed
    • re PR c++/42687 (The prevention of ADL with the help of parentheses doesn't work) · a4bd198c
      	PR c++/42687
      	* parser.c (cp_parser_primary_expression): Set *idk to
      	CP_ID_KIND_NONE for a parenthesized identifier.
      
      From-SVN: r173007
      Jason Merrill committed
    • ptree.c (cxx_print_type): Dump fullname. · a0dc5e4a
      	* ptree.c (cxx_print_type) [TYPENAME_TYPE]: Dump fullname.
      	(cxx_print_identifier): Correct indentation.
      
      From-SVN: r173006
      Jason Merrill committed
    • * g++.dg/cpp0x/initlist48.C: New. · 36a9902d
      From-SVN: r173005
      Jason Merrill committed
    • Use backend interface for struct types. · 6d69c02e
      	* go-gcc.cc (Gcc_backend::struct_type): Implement.
      
      From-SVN: r173004
      Ian Lance Taylor committed
    • Daily bump. · dcd83a81
      From-SVN: r173002
      GCC Administrator committed
  3. 26 Apr, 2011 6 commits
    • sh.c (sh_gimplify_va_arg_expr): Don't call targetm.calls.must_pass_in_stack for void type. · 57a944d7
      	* config/sh/sh.c (sh_gimplify_va_arg_expr): Don't call
      	targetm.calls.must_pass_in_stack for void type.
      
      From-SVN: r172991
      Kaz Kojima committed
    • decl.c (gfc_match_end): Check that the block name starts with "block@". · 3a1fd30c
      2011-04-26  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	* decl.c (gfc_match_end):  Check that the block name starts
      	with "block@".
      	* parse.c (gfc_build_block_ns):  Make block names unique by
      	numbering them.
      
      From-SVN: r172990
      Thomas Koenig committed
    • cgraphbuild.c (build_cgraph_edges): Update call of cgraph_create_edge and… · 898b8927
      cgraphbuild.c (build_cgraph_edges): Update call of cgraph_create_edge and cgraph_create_indirect_edge.
      
      
      	* cgraphbuild.c (build_cgraph_edges): Update call
      	of cgraph_create_edge and cgraph_create_indirect_edge.
      	* cgraph.c (cgraph_create_edge_including_clones,
      	cgraph_create_edge_1, cgraph_allocate_init_indirect_info,
      	cgraph_update_edges_for_call_stmt_node): Do not take nest
      	argument; do not initialize call_stmt_size/time.
      	(dump_cgraph_node): Do not dump nest.
      	(cgraph_clone_edge): Do not take loop_nest argument;
      	do not propagate it; do not clone call_stmt_size/time.
      	(cgraph_clone_node): Likewise.
      	(cgraph_create_virtual_clone): Update.
      	* cgraph.h (struct cgraph_edge): Remove
      	call_stmt_size/call_stmt_time/loop_nest.
      	(cgraph_create_edge, cgraph_create_indirect_edge,
      	cgraph_create_edge_including_clones, cgraph_clone_node): Update
      	prototype.
      	* tree-emutls.c (gen_emutls_addr): Update.
      	* ipa-inline-transform.c (update_noncloned_frequencies): Do not handle
      	loop_nest; handle indirect calls, too.
      	(clone_inlined_nodes): Do not care about updating inline summaries.
      	* cgraphunit.c (cgraph_copy_node_for_versioning): Update.
      	* lto-cgraph.c (lto_output_edge, input_node, input_edge): Do not
      	stream call_stmt_size/call_stmt_time/loop_nest.
      	* ipa-inline.c (edge_badness): Update.
      	(ipa_inline): dump summaries after inlining.
      	* ipa-inline.h (struct inline_edge_summary, inline_edge_summary_t):
      	new.
      	(inline_edge_summary): New function.
      	* ipa-inline-analysis.c (edge_duplication_hook_holder): New holder.
      	(inline_edge_removal_hook): Handle edge summaries.
      	(inline_edge_duplication_hook): New hook.
      	(inline_summary_alloc): Alloc hooks.
      	(initialize_growth_caches): Do not register removal hooks.
      	(free_growth_caches); Do not free removal hook.
      	(dump_inline_edge_summary): New function.
      	(dump_inline_summary): Use it.
      	(estimate_function_body_sizes, estimate_edge_size_and_time): Update.
      	(inline_update_callee_summaries): New function.
      	(inline_merge_summary): Use it.
      	(do_estimate_edge_time, do_estimate_edge_growth): Update.
      	(read_inline_edge_summary): New function.
      	(inline_read_section): Use it.
      	(write_inline_edge_summary): New function.
      	(inline_write_summary): Use it.
      	(inline_free_summary): Free edge new holders.
      	* tree-inline.c (copy_bb): Update.
      
      From-SVN: r172989
      Jan Hubicka committed
    • tree-eh.c (lower_try_finally_switch): Create the label along with the CASE_LABEL_EXPR. · ffa03772
      	* tree-eh.c (lower_try_finally_switch): Create the label along with
      	the CASE_LABEL_EXPR.
      
      From-SVN: r172988
      Jason Merrill committed
    • objc-act.c (objc_fold_objc_type_ref): Remove. · 3982d356
      	* objc-act.c (objc_fold_objc_type_ref): Remove.
      	* objc-act.h: Remove prototype.
      
      From-SVN: r172986
      Jason Merrill committed
    • re PR c++/48530 ([C++0x][SFINAE] Hard errors with deleted d'tors) · 574cfaa4
      	PR c++/48530
      	* decl.c (cxx_maybe_build_cleanup): Add complain parm.
      	* tree.c (force_target_expr): Add complain parm.
      	(build_target_expr_with_type): Likewise.
      	(get_target_expr_sfinae): Split out.
      	(build_vec_init_expr, bot_manip): Adjust.
      	* init.c (build_vec_delete, build_vec_delete_1): Add complain parm.
      	(build_delete, build_dtor_call): Likewise.
      	(perform_direct_initialization_if_possible): Adjust.
      	(build_vec_init): Handle error return.
      	* cvt.c (force_rvalue): Add complain parm.
      	Call build_special_member_call directly.
      	* decl2.c (delete_sanity): Add complain parm.
      	(build_cleanup): Adjust.
      	* pt.c (tsubst_copy_and_build, tsubst_expr): Adjust.
      	* semantics.c (finish_stmt_expr_expr): Adjust.
      	(finish_compound_literal): Adjust.
      	* parser.c (cp_parser_delete_expression): Adjust.
      	* typeck2.c (build_functional_cast): Adjust.
      	* cp-tree.h: Adjust.
      
      From-SVN: r172985
      Jason Merrill committed