1. 12 Apr, 2010 13 commits
    • i386.c (x86_this_parameter): Handle aggregate for __thiscall convention. · c1b8e139
      2010-04-12  Kai Tietz  <kai.tietz@onevision.com>
      
              PR/43702
              * config/i386/i386.c (x86_this_parameter): Handle aggregate for
              __thiscall convention.
      
      From-SVN: r158232
      Kai Tietz committed
    • pa.c (hppa_legitimize_address): Remove unused variable orig_base. · b38bccca
      2010-04-12  Steve Ellcey  <sje@cup.hp.com>
      
      	* config/pa/pa.c (hppa_legitimize_address): Remove unused variable
      	orig_base.
      	* config/pa/pa.md (call, call_value): Remove unused variable call_insn.
      
      From-SVN: r158230
      Steve Ellcey committed
    • function.c (assign_parms_initialize_all): Add unused attribute to fntype. · fc2f1f53
      2010-04-12  Steve Ellcey  <sje@cup.hp.com>
      
      	* function.c (assign_parms_initialize_all): Add unused attribute
      	to fntype.
      
      From-SVN: r158228
      Steve Ellcey committed
    • gsstruct.def (GSS_CALL): New. · 913a7b5a
      2010-04-12  Richard Guenther  <rguenther@suse.de>
      
      	* gsstruct.def (GSS_CALL): New.
      	* gimple.def (GIMPLE_CALL): Change to GSS_CALL.
      	* gimple.h: Include tree-ssa-alias.h.
      	(struct gimple_statement_call): New.
      	(union gimple_statement_struct_d): Add gimple_call member.
      	(gimple_call_reset_alias_info): Declare.
      	(gimple_call_use_set): New function.
      	(gimple_call_clobber_set): Likewise.
      	* Makefile.in (GIMPLE_H): Add tree-ssa-alias.h.
      	* gimple.c (gimple_call_reset_alias_info): New function.
      	(gimple_build_call_1): Call it.
      	* lto-streamer-in.c (input_gimple_stmt): Likewise.
      	* tree-inline.c (remap_gimple_stmt): Likewise.
      	(expand_call_inline): Remove callused handling.
      	* cfgexpand.c (update_alias_info_with_stack_vars): Likewise.
      	* tree-dfa.c (dump_variable): Likewise.
      	* tree-parloops.c (parallelize_loops): Likewise.
      	* tree-ssa.c (init_tree_ssa): Likewise.
      	(delete_tree_ssa): Likewise.
      	* tree-flow-inline.h (is_call_used): Remove.
      	* tree-flow.h (struct gimple_df): Remove callused member.
      	* tree-nrv.c (dest_safe_for_nrv_p): Adjust predicate.
      	* tree-ssa-alias.c (dump_alias_info): Remove callused handling.
      	(ref_maybe_used_by_call_p_1): Simplify.
      	(call_may_clobber_ref_p_1): Likewise.
      	* tree-ssa-structalias.c (compute_points_to_sets): Set
      	the call stmt used and clobbered sets.
      	* tree-tailcall.c (suitable_for_tail_opt_p): Adjust predicate.
      	(find_tail_calls): Verify the tail call.
      
      From-SVN: r158227
      Richard Biener committed
    • gsstruct.def (GSS_CALL): New. · d086d311
      2010-04-12  Richard Guenther  <rguenther@suse.de>
      
      	* gsstruct.def (GSS_CALL): New.
      	* gimple.def (GIMPLE_CALL): Change to GSS_CALL.
      	* gimple.h: Include tree-ssa-alias.h.
      	(struct gimple_statement_call): New.
      	(union gimple_statement_struct_d): Add gimple_call member.
      	(gimple_call_reset_alias_info): Declare.
      	(gimple_call_use_set): New function.
      	(gimple_call_clobber_set): Likewise.
      	* Makefile.in (GIMPLE_H): Add tree-ssa-alias.h.
      	* gimple.c (gimple_call_reset_alias_info): New function.
      	(gimple_build_call_1): Call it.
      	* lto-streamer-in.c (input_gimple_stmt): Likewise.
      	* tree-inline.c (remap_gimple_stmt): Likewise.
      	(expand_call_inline): Remove callused handling.
      	* cfgexpand.c (update_alias_info_with_stack_vars): Likewise.
      	* tree-dfa.c (dump_variable): Likewise.
      	* tree-parloops.c (parallelize_loops): Likewise.
      	* tree-ssa.c (init_tree_ssa): Likewise.
      	(delete_tree_ssa): Likewise.
      	* tree-flow-inline.h (is_call_used): Remove.
      	* tree-flow.h (struct gimple_df): Remove callused member.
      	* tree-nrv.c (dest_safe_for_nrv_p): Adjust predicate.
      	* tree-ssa-alias.c (dump_alias_info): Remove callused handling.
      	(ref_maybe_used_by_call_p_1): Simplify.
      	(call_may_clobber_ref_p_1): Likewise.
      	* tree-ssa-structalias.c (compute_points_to_sets): Set
      	the call stmt used and clobbered sets.
      	* tree-tailcall.c (suitable_for_tail_opt_p): Adjust predicate.
      	(find_tail_calls): Verify the tail call.
      
      From-SVN: r158226
      Richard Guenther committed
    • ipa.c (cgraph_postorder): Adjust postorder to guarantee single-iteration always-inline inlining. · af961c7f
      2010-04-12  Richard Guenther  <rguenther@suse.de>
      
      	* ipa.c (cgraph_postorder): Adjust postorder to guarantee
      	single-iteration always-inline inlining.
      	* ipa-inline.c (cgraph_mark_inline): Do not return anything.
      	(cgraph_decide_inlining): Do not handle always-inline
      	specially.
      	(try_inline): Remove always-inline cycle detection special case.
      	Do not recurse on always-inlines.
      	(cgraph_early_inlining): Do not iterate if not optimizing.
      	(cgraph_gate_early_inlining): remove.
      	(pass_early_inline): Run unconditionally.
      	(gate_cgraph_decide_inlining): New function.
      	(pass_ipa_inline): Use it.  Do not run the IPA inliner if
      	not inlining or optimizing.
      	(cgraph_decide_inlining_of_small_functions): Also consider
      	always-inline functions.
      	(cgraph_default_inline_p): Return true for nodes which should
      	disregard inline limits.
      	(estimate_function_body_sizes): Assume zero size and time for
      	nodes which are marked as disregarding inline limits.
      	(cgraph_decide_recursive_inlining): Do not perform recursive
      	inlining on always-inline nodes.
      
      	* gcc.dg/torture/inline-2.c: New testcase.
      
      From-SVN: r158225
      Richard Guenther committed
    • re PR bootstrap/43699 ("variable set but not used" error during bootstrap) · fa8351f8
      	PR bootstrap/43699
      	* c-typeck.c (c_process_expr_stmt): Call mark_exp_read even
      	for exprs satisfying handled_component_p.
      
      	* gcc.dg/Wunused-var-7.c: New test.
      
      From-SVN: r158224
      Jakub Jelinek committed
    • re PR tree-optimization/43560 (possible wrong code bug) · f101882a
      	PR tree-optimization/43560
      	* gcc.c-torture/execute/pr43560.c: New test.
      
      From-SVN: r158220
      Jakub Jelinek committed
    • expr.c (categorize_ctor_elements_1): Properly count sub-elements of non-constant… · 675c873b
      expr.c (categorize_ctor_elements_1): Properly count sub-elements of non-constant aggregate elements.
      
      	* expr.c (categorize_ctor_elements_1): Properly count sub-elements of
      	non-constant aggregate elements.
      
      	* gimplify.c (gimplify_init_constructor): Do not pre-evaluate if this
      	is a real initialization.
      
      From-SVN: r158219
      Eric Botcazou committed
    • re PR c++/43611 (ICE: SIGSEGV with -fipa-cp-clone -fkeep-inline-functions) · 3fc20697
      2010-04-12  Richard Guenther  <rguenther@suse.de>
      
      	PR c++/43611
      	* semantics.c (expand_or_defer_fn_1): Do not keep extern
      	template inline functions.
      
      	* g++.dg/torture/pr43611.C: New testcase.
      
      From-SVN: r158218
      Richard Guenther committed
    • trans.c (Identifier_to_gnu): Use boolean variable. · c34f3839
      	* gcc-interface/trans.c (Identifier_to_gnu): Use boolean variable.
      	(call_to_gnu): Test gigi's flag TYPE_BY_REFERENCE_P instead of calling
      	front-end's predicate Is_By_Reference_Type.  Use consistent order and
      	remove ??? comment.  Use original conversion in all cases, if any.
      	* gcc-interface/utils.c (make_dummy_type): Minor tweak.
      	(convert): Use local copy in more cases.
      	<INDIRECT_REF>: Remove deactivated code.
      	(unchecked_convert): Use a couple of local copies.
      
      From-SVN: r158216
      Eric Botcazou committed
    • re PR c/36774 (-Wmissing-prototypes triggers on nested functions) · c4712597
      gcc/
      2010-04-12  Shujing Zhao  <pearly.zhao@oracle.com>
      
              PR c/36774
              * c-decl.c (start_function): Move forward check for nested function.
      
      gcc/testsuite/
      2010-04-12  Shujing Zhao  <pearly.zhao@oracle.com>
      
              PR c/36774
              * gcc.dg/pr36774-1.c: New test.
              * gcc.dg/pr36774-2.c: New test.
      
      From-SVN: r158214
      Shujing Zhao committed
    • Daily bump. · fe5859f0
      From-SVN: r158212
      GCC Administrator committed
  2. 11 Apr, 2010 9 commits
    • sh-protos.h (sh_legitimize_reload_address): Declare. · 6f50eb9c
      	* config/sh/sh-protos.h (sh_legitimize_reload_address): Declare.
      	* config/sh/sh.c: Include reload.h.
      	(sh_legitimize_reload_address): New.
      	* config/sh/sh.h (LEGITIMIZE_RELOAD_ADDRESS): Use
      	sh_legitimize_reload_address.
      
      From-SVN: r158208
      Kaz Kojima committed
    • sh.md (*movqi_pop): New insn pattern. · c11c09f9
      	* config/sh/sh.md (*movqi_pop): New insn pattern.
      	* config/sh/predicates.md (sh_no_delay_pop_operand): New predicate.
      	* gcc.target/sh/rte-delay-slot.c: New test.
      
      From-SVN: r158207
      Kaushik Phatak committed
    • i386.md (any_shiftrt): New code iterator. · d72ebc16
      	* config/i386/i386.md (any_shiftrt): New code iterator.
      	(shiftrt_insn): New code attribute.
      	(shiftrt): Ditto.
      	(<shiftrt_insn><mode>3): Macroize expander from ashr<mode>3 and
      	lshr<mode>3 using any_shiftrt code iterator.
      	(*<shiftrt_insn><mode>3_doubleword): Macroize insn_and_split from
      	*ashr<mode>3_doubleword and *lshr<mode>3_doubleword using
      	any_shiftrt code iterator.
      	(*<shiftrt_insn><mode>3_doubleword peephole2): Macroize peephole2
      	pattern from corresponding peephole2 patterns.
      	(*<shiftrt_insn><mode>3_1): Macroize insn from *ashr<mode>3_1
      	and *lshr<mode>3_1 using any_shiftrt code iterator.
      	(*<shiftrt_insn>si3_1_zext): Ditto from *ashrsi3_1_zext
      	and *lshrsi3_1_zext.
      	(*<shiftrt_insn>qi3_1_slp): Ditto from *ashrqi3_1_slp
      	and *lshrqi3_1_slp.
      	(*<shiftrt_insn><mode>3_cmp): Ditto from *ashr<mode>3_cmp
      	and *lshr<mode>3_cmp.
      	(*<shiftrt_insn><mode>3_cmp_zext): Ditto from *ashr<mode>3_cmp_zext
      	and *lshr<mode>3_cmp_zext.
      	(*<shiftrt_insn><mode>3_cconly): Ditto from *ashr<mode>3_cconly
      	and *lshr<mode>3_cconly.
      
      From-SVN: r158205
      Uros Bizjak committed
    • i386.md (*ashr<mode>3_cconly): Fix wrong mode of scratch register. · 59caab22
      	* config/i386/i386.md (*ashr<mode>3_cconly): Fix wrong mode of
      	scratch register.
      	(*lshr<mode>3_cconly): Ditto.
      
      From-SVN: r158204
      Uros Bizjak committed
    • i386.md (lshr<mode>3): Macroize expander from lshr{qi,hi,si,di,ti}3_1 using SDWIM mode iterator. · 9200ac72
      	* config/i386/i386.md (lshr<mode>3): Macroize expander from
      	lshr{qi,hi,si,di,ti}3_1 using SDWIM mode iterator.
      	(*lshr<mode>3_doubleword): New insn_and_split_pattern.  Macroize
      	pattern from *lshr{di,ti}3_1 and corresponding splitters using
      	DWI mode iterator.
      	(*lshr<mode>3_doubleword peephole2): Macroize peephole2 pattern
      	from corresponding peephole2 patterns.
      	(*lshr<mode>3_1): Merge with *lshr{qi,hi,si}3_1_one_bit and
      	*lshrdi3_1_one_bit_rex64. Macroize insn from *lshr{qi,hi,si}3_cmp
      	and *lshrdi3_cmp_rex64 using SWI mode iterator.
      	(*lshrqi3_1_slp): Merge with *lshrqi3_1_one_bit_slp.
      	(*lshr<mode>3_cmp): Merge with *lshr{qi,hi,si}3_one_bit_cmp and
      	*lshrdi3_one_bit_cmp_rex64. Macroize insn from *lshr{qi,hi,si}3_cmp
      	and *lshrdi3_cmp_rex64 using SWI mode iterator.
      	(*lshrsi3_cmp_zext): Merge with *lshrsi3_cmp_one_bit_zext.
      	(*lshr<mode>3_cconly): Merge with *lshr{qi,hi,si}3_one_bit_cconly and
      	*lshrdi3_one_bit_cconly_rex64. Macroize insn from
      	*lshr{qi,hi,si}3_cconly and *lshrdi3_cconly_rex64 using
      	SWI mode iterator.
      
      From-SVN: r158203
      Uros Bizjak committed
    • trans.c (lvalue_required_for_attribute_p): New static function. · 3cd64bab
      	* gcc-interface/trans.c (lvalue_required_for_attribute_p): New static
      	function.
      	(lvalue_required_p) <N_Attribute_Reference>: Call it.
      	(gnat_to_gnu) <N_Selected_Component>: Prevent build_component_ref from
      	folding the result only if lvalue_required_for_attribute_p is true.
      	* gcc-interface/utils.c (maybe_unconstrained_array): Pass correctly
      	typed constant to build_component_ref.
      	(unchecked_convert): Likewise.
      	* gcc-interface/utils2.c (maybe_wrap_malloc): Likewise.
      	(build_allocator): Likewise.
      
      From-SVN: r158202
      Eric Botcazou committed
    • utils2.c (build_cond_expr): Take the address and dereference if the result type… · 87fa3d34
      utils2.c (build_cond_expr): Take the address and dereference if the result type is passed by reference.
      
      	* gcc-interface/utils2.c (build_cond_expr): Take the address and
      	dereference if the result type is passed by reference.
      
      From-SVN: r158201
      Eric Botcazou committed
    • trans.c (Case_Statement_to_gnu): Bool-ify variable. · 9c69c3af
      	* gcc-interface/trans.c (Case_Statement_to_gnu): Bool-ify variable.
      	(gnat_to_gnu) <N_Null_Statement>: When not optimizing, generate a
      	goto to the next statement.
      
      From-SVN: r158200
      Eric Botcazou committed
    • Daily bump. · c460cd49
      From-SVN: r158199
      GCC Administrator committed
  3. 10 Apr, 2010 8 commits
  4. 09 Apr, 2010 10 commits
    • re PR target/43707 (gcc.c-torture/execute/ashldi-1.c) · ef0f4a03
      	PR target/43707
      	PR target/43709
      	* config/i386/i386.md (*ashl<mode>3_doubleword): Split to insn
      	and splitter pattern.  Change splitter operand 1 predicate to
      	nonmemory_operand.
      
      From-SVN: r158177
      Uros Bizjak committed
    • ipa-cp.c (ipcp_lats_are_equal): Return true also if the two lattices are… · add5d998
      ipa-cp.c (ipcp_lats_are_equal): Return true also if the two lattices are addresses of CONST_DECLs with the same...
      
      2010-04-09  Martin Jambor  <mjambor@suse.cz>
      
      	* ipa-cp.c (ipcp_lats_are_equal): Return true also if the two
      	lattices are addresses of CONST_DECLs with the same initial value.
      	(ipcp_print_all_lattices): Print values of CONST_DECLs.
      	* ipa-prop.c (ipa_print_node_jump_functions): Likewise.
      
      From-SVN: r158176
      Martin Jambor committed
    • loop-invariant.c (replace_uses): New static function. · 43ba743c
      	* loop-invariant.c (replace_uses): New static function.
      	(move_invariant_reg): Use it to ensure we can replace the uses.
      
      From-SVN: r158175
      Eric Botcazou committed
    • picochip.c (picochip_rtx_costs): Use correct function template. · c3fd7b4d
      
              * config/picochip/picochip.c (picochip_rtx_costs): Use correct function
                template.
                (picochip_override_options): Enable section anchors only above O1.
                (picochip_reorg): Fixed a couple of build warnings.
      
      From-SVN: r158174
      Hariharan Sandanagobalane committed
    • configure.ac (plugin -rdynamic test): Log result. · fcf52686
      	* configure.ac (plugin -rdynamic test): Log result.
      	* configure: Regenerate.
      	* config/sol2.h (LINK_SPEC): Handle -rdynamic.
      	(RDYNAMIC_SPEC): Define.
      	* config/sol2-gld.h (RDYNAMIC_SPEC): Redefine.
      
      From-SVN: r158173
      Rainer Orth committed
    • configure.ac: Determine Sun ld version numbers. · 55c4f715
      	* configure.ac: Determine Sun ld version numbers.
      	(comdat_group): Restrict GNU ld version checks to gld.
      	(comdat_group, *-*-solaris2.1[1-9]*): Enable for Sun ld > 1.1688.
      	(enable_comdat): Support --enable-comdat.
      	* configure: Regenerate.
      	* doc/install.texi (Configuration): Document --enable-comdat.
      
      From-SVN: r158172
      Rainer Orth committed
    • sol2-gld.h: Remove SPARC reference. · 62e08523
      	* config/sparc/sol2-gld.h: Remove SPARC reference.
      	Rename ...
      	* config/sol2-gld.h: ... here.
      	* config.gcc (sparc*-*-solaris2*): Reflect this.
      	(i[34567]86-*-solaris2*): Use it.
      
      From-SVN: r158171
      Rainer Orth committed
    • ia64.c (ia64_dfa_new_cycle): Remove unused variable setup_clocks_p. · 034288ef
      2010-04-09  Steve Ellcey  <sje@cup.hp.com>
      
      	* config/ia64/ia64.c (ia64_dfa_new_cycle): Remove unused variable
      	setup_clocks_p.
      	(final_emit_insn_group_barriers): Remove unused variable prev_insn.
      
      From-SVN: r158170
      Steve Ellcey committed
    • re PR preprocessor/43195 (#pragma once and -H) · d8a12e84
      2010-04-09  Manuel López-Ibáñez <manu@gcc.gnu.org>
      
      	PR cpp/43195
      libcpp/
      	* files.c (report_missing_guard): Test for #pragma once.
      testsuite/
      	* gcc.dg/cpp/pr43195.c: New.
      	* gcc.dg/cpp/pr43195.h: New.
      
      From-SVN: r158169
      Manuel López-Ibáñez committed
    • re PR other/42965 (no "warnings being treated as errors" for individual -Werror=x options) · d0b8780d
      2010-04-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>
      
      	PR 42965
      	* diagnostic.c (diagnostic_initialize): Initialize
      	some_warnings_are_errors.
      	(diagnostic_finish): New.
      	(diagnostic_action_after_output): Call it before exiting.
      	(diagnostic_report_diagnostic): Do not print message here. Set
      	some_warnings_are_errors.
      	* diagnostic.h (diagnostic_context): Delete
      	issue_warnings_are_errors_message. Add some_warnings_are_errors.
      	(diagnostic_finish): Declare.
      	* toplev.c (toplev_main): Call it before exit.
      testsuite/
      	* gcc.dg/Werror-6.c: Adjust.
      	* gcc.dg/Werror-implicit-function-declaration.c: Likewise.
      	* gcc.dg/Werror-4.c: Likewise.
      	* gcc.dg/Wdeclaration-after-statement-3.c: Likewise.
      	* gcc.dg/Wswitch-enum-error.c: Likewise.
      	* gcc.dg/Wpointer-arith.c: Likewise.
      	* gcc.dg/Wfatal.c: Likewise.
      	* gcc.dg/Wswitch-error.c: Likewise.
      	* g++.dg/warn/unused-result1-Werror.c: Likewise.
      	* gcc.dg/Werror-9.c: Delete. Duplicate of Werror-4.c.
      	* gcc.dg/cpp/warn-undef-2.c: Likewise.
      	* gcc.dg/cpp/warn-traditional-2.c: Likewise.
      	* gcc.dg/cpp/warn-comments-2.c: Likewise.
      	* gcc.dg/cpp/warn-variadic-2.c: Likewise.
      	* gcc.dg/cpp/warning-directive-2.c: Likewise.
      	* gcc.dg/cpp/warn-long-long-2.c: Likewise.
      	* gcc.dg/cpp/warn-deprecated-2.c: Likewise.
      	* gcc.dg/cpp/warn-multichar-2.c: Likewise.
      	* gcc.dg/cpp/warn-normalized-3.c: Likewise.
      	* gcc.dg/cpp/warn-cxx-compat-2.c: Likewise.
      	* gcc.dg/cpp/warn-trigraphs-3.c: Likewise.
      	* gcc.dg/cpp/warn-unused-macros-2.c: Likewise.
      	* gcc.dg/cpp/warn-trigraphs-4.c: Likewise.
      	* gcc.dg/cpp/warn-redefined-2.c: Likewise.
      	* g++.dg/cpp/warning-directive-2.C: Likewise.
      	* gfortran.dg/warning-directive-2.F90: Likewise.
      
      From-SVN: r158168
      Manuel López-Ibáñez committed