aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2010-06-27trans.c: Include tree-flow.h.Eric Botcazou6-15/+68
* gcc-interface/trans.c: Include tree-flow.h. (gnu_switch_label_stack): Delete. (Case_Statement_to_gnu): Do not emit the goto at the end of a case if its associated block cannot fall through. Do not emit the final label if no cases branche to it. * gcc-interface/Make-lang.in (ada/trans.o): Add $(TREE_FLOW_H). From-SVN: r161461
2010-06-27dump-parse-tree.c (show_symbol): Dump target-expression for associate names.Daniel Kraft2-8/+32
2010-06-27 Daniel Kraft <d@domob.eu> * dump-parse-tree.c (show_symbol): Dump target-expression for associate names. (show_code_node): Make distinction between BLOCK and ASSOCIATE. (show_namespace): Use show_level for correct indentation of "inner namespaces" (contained procedures or BLOCK). From-SVN: r161460
2010-06-27re PR middle-end/44684 (FAIL: g++.dg/opt/pmf1.C)Richard Guenther2-4/+17
2010-06-27 Richard Guenther <rguenther@suse.de> PR middle-end/44684 * tree-ssa-alias.c (refs_may_alias_p_1): Allow SSA name refs. (stmt_may_clobber_ref_p_1): Do not bother to call the oracle for register LHS. Or non-store assignments. From-SVN: r161456
2010-06-27Daily bump.GCC Administrator1-1/+1
From-SVN: r161451
2010-06-26re PR fortran/44678 (ICE with -fdump-parse-tree and select type)Thomas Koenig2-0/+16
2010-06-27 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/44678 * dump-parse-tree.c (show_code_node): Show namespace for EXEC_BLOCK. From-SVN: r161444
2010-06-26call.c (add_function_candidate): Set LOOKUP_COPY_PARM for any constructor ↵Jason Merrill4-18/+76
called with a single argument that... * call.c (add_function_candidate): Set LOOKUP_COPY_PARM for any constructor called with a single argument that takes a reference to the constructor's class. (BAD_CONVERSION_RANK): New. (compare_ics): Use it to compare bad ICSes. From-SVN: r161443
2010-06-26sparc.c (sparc_emit_set_const32): Make static.Eric Botcazou3-9/+12
* config/sparc/sparc.c (sparc_emit_set_const32): Make static. (sparc_emit_set_const64): Likewise. Remove disabled code. * config/sparc/sparc-protos.h (sparc_emit_set_const32): Delete. (sparc_emit_set_const64): Likewise. From-SVN: r161442
2010-06-26mips.md (alu_type): New attribute.Catherine Moore2-21/+40
2010-06-26 Catherine Moore <clm@codesourcery.com> * config/mips/mips.md (alu_type): New attribute. (type): Infer type from alu_type. (*add<mode>3, *add<mode>3_mips16, *addsi3_extended, *baddu_si_eb, *baddu_si_el, *baddu_di, sub<mode>3, *subsi3_extended, negsi2, negdi2, *low<mode>, *low<mode>_mips16, *ior<mode>3, *ior<mode>3_mips16, xor<mode>3, *nor<mode>3, *zero_extend<GPR:mode>_trunc<SHORT:mode>, *zero_extendhi_truncqi): Set alu_type instead of type. From-SVN: r161440
2010-06-26Fix typo in last ChangeLog entry.Douglas Rupp1-1/+1
From-SVN: r161438
2010-06-26Fix the Alpha/VMS build. Installed as obvious.Douglas B Rupp2-4/+19
* config/alpha/alpha.c (alpha_need_linkage): Adjust splay_tree_new_gcc_call. (alpha_use_linkage): Likewise. From-SVN: r161437
2010-06-26collect2.c (main): Remove SWITCHES_NEED_SPACES conditional.Joseph Myers5-32/+16
* collect2.c (main): Remove SWITCHES_NEED_SPACES conditional. * doc/tm.texi (SWITCHES_NEED_SPACES): Don't document. * gcc.c (SWITCHES_NEED_SPACES, switches_need_spaces): Remove. (static_specs): Remove switches_need_spaces. (process_command, do_self_spec): Hardcode handling "-o" instead of checking switches_need_spaces. * system.h (SWITCHES_NEED_SPACES): Poison. From-SVN: r161436
2010-06-26re PR tree-optimization/44393 (ICE: verify_ssa failed: no immediate_use list ↵Richard Guenther6-32/+47
with -Os -ftree-loop-distribution) 2010-06-26 Richard Guenther <rguenther@suse.de> PR tree-optimization/44393 * tree-loop-distribution.c (generate_loops_for_partition): Fix stmt removal and VOP renaming. (generate_memset_zero): Remove redundant stmt updating. * tree-flow.h (mark_virtual_ops_in_bb): Remove. * tree-cfg.c (mark_virtual_ops_in_bb): Likewise. * gcc.dg/pr44393.c: New testcase. From-SVN: r161434
2010-06-26ipa-split-2.c: New testcase.Jan Hubicka5-27/+120
* gcc.dg/tree-ssa/ipa-split-2.c: New testcase. * ipa-split.c (consider_split): PHI in entry block is OK as long as all edges comming from header are equivalent. (visit_bb): Handle PHIs correctly. * tree-inline.c (copy_phis_for_bb): Be able to copy PHI from entry edge. (copy_cfg_body): Produce edge from entry BB before copying PHIs. From-SVN: r161433
2010-06-26re PR tree-optimization/44674 (ICE: in refs_may_alias_p_1, at ↵Richard Biener4-17/+39
tree-ssa-alias.c:953 with -fprofile-generate) 2010-06-26 Richard Guenther <rguenther@suse.de> PR middle-end/44674 * tree-ssa-alias.c (refs_may_alias_p_1): Allow all kind of decls. Handle LABEL_DECLs like FUNCTION_DECLs. * gcc.dg/pr44674.c: New testcase. From-SVN: r161431
2010-06-26gcc.c (n_switches_alloc, [...]): New.Joseph Myers4-281/+244
* gcc.c (n_switches_alloc, n_infiles_alloc, alloc_infile, add_infile, alloc_switch): New. (process_command): Remove variable lang_n_infiles. Process options in a single pass. Use new functions for allocating infiles and switches arrays. Properly skip operands of -Xpreprocessor and -Xassembler. testsuite: * gcc.dg/opts-3.c: New test. From-SVN: r161430
2010-06-26decl.c (gfc_match_decl_type_spec): Support TYPE(intrinsic-type-spec).Tobias Burnus5-15/+131
2010-06-26 Tobias Burnus <burnus@net-b.de> * decl.c (gfc_match_decl_type_spec): Support TYPE(intrinsic-type-spec). 2010-06-26 Tobias Burnus <burnus@net-b.de> * gfortran.dg/type_decl_1.f90: New. * gfortran.dg/type_decl_2.f90: New. From-SVN: r161429
2010-06-26re PR middle-end/44671 (Partial inlining breaks C++)Jan Hubicka2-2/+7
PR middle-end/44671 * cgraphunit.c (cgraph_function_versioning): Remove wrong cgraph_make_decl_local call; fix typo copying RTL data. From-SVN: r161428
2010-06-26semicolon_fixed.f: Fix dg syntax..Tobias Burnus3-2/+7
2010-06-26 Tobias Burnus <burnus@net-b.de> * gfortran.dg/semicolon_fixed.f: Fix dg syntax.. * gfortran.dg/semicolon_fixed_2.f: Ditto. From-SVN: r161426
2010-06-25m32c-protos.h (m32c_note_pragma_address): Declare.DJ Delorie7-6/+206
* config/m32c/m32c-protos.h (m32c_note_pragma_address): Declare. (m32c_output_aligned_common): Likewise. * config/m32c/m32c.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): New. (ASM_OUTPUT_ALIGNED_DECL_LOCAL): New. * config/m32c/m32c-pragma.c (m32c_pragma_address): New. (m32c_register_pragmas): Register it. * config/m32c/m32c.c (m32c_get_pragma_address): New. (m32c_insert_attributes): Set #pragma address decls volatile. (pragma_entry_eq): New. (pragma_entry_hash): New. (m32c_note_pragma_address): New. (m32c_get_pragma_address): New. (m32c_output_aligned_common): New. * doc/extend.texi: Document the new pragma. * config/m32c/m32c.c (m32c_illegal_subreg_p): Reject illegal MEMs also. * config/m32c/predicates.md (m32c_any_operand): Check the code instead of memory_operand so as to allow matching volatile MEMs. (m32c_nonimmediate_operand): Likewise. (mra_operand): Allow volatiles. From-SVN: r161425
2010-06-26Daily bump.GCC Administrator1-1/+1
From-SVN: r161424
2010-06-25re PR testsuite/38946 (gcc trunk 143562 - Testsuite - gfortran failing tests ↵Jerry DeLisle2-2/+8
that worked previously) 2010-06-25 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR testsuite/38946 * gfortran.dg/array_constructor_23.f: Update test to allow for small error in comparing reals. From-SVN: r161416
2010-06-25re PR debug/44610 (VTA produces wrong variable location information)Alexandre Oliva2-4/+10
PR debug/44610 * simplify-rtx.c (delegitimize_mem_from_attrs): Don't use a base address if the offset is unknown. From-SVN: r161413
2010-06-25intrinsic.h (gfc_check_selected_real_kind, [...]): Update prototypes.Tobias Burnus10-38/+156
2010-06-25 Tobias Burnus <burnus@net-b.de> * intrinsic.h (gfc_check_selected_real_kind, gfc_simplify_selected_real_kind): Update prototypes. * intrinsic.c (add_functions): Add radix support to selected_real_kind. * check.c (gfc_check_selected_real_kind): Ditto. * simplify.c (gfc_simplify_selected_real_kind): Ditto. * trans-decl.c (gfc_build_intrinsic_function_decls): Change call from selected_real_kind to selected_real_kind2008. * intrinsic.texi (SELECTED_REAL_KIND): Update for radix. (PRECISION, RANGE, RADIX): Add cross @refs. 2010-06-25 Tobias Burnus <burnus@net-b.de> * intrinsics/selected_real_kind.f90 (_gfortran_selected_real_kind2008): Add function. (_gfortran_selected_real_kind): Stub which calls _gfortran_selected_real_kind2008. * gfortran.map (GFORTRAN_1.4): Add _gfortran_selected_real_kind2008. * mk-srk-inc.sh: Save also RADIX. 2010-06-25 Tobias Burnus <burnus@net-b.de> * selected_real_kind_2.f90: New. * selected_real_kind_3.f90: New. From-SVN: r161411
2010-06-25decl.c (gfc_match_entry): Mark ENTRY as GFC_STD_F2008_OBS.Tobias Burnus8-18/+48
2010-06-25 Tobias Burnus <burnus@net-b.de> * decl.c (gfc_match_entry): Mark ENTRY as GFC_STD_F2008_OBS. * gfortran.texi (_gfortran_set_options): Update for GFC_STD_F2008_OBS addition. * libgfortran.h: Add GFC_STD_F2008_OBS. * options.c (set_default_std_flags, gfc_handle_option): Handle GFC_STD_F2008_OBS. io.c (check_format): Fix allow_std check. 2010-06-25 Tobias Burnus <burnus@net-b.de> * runtime/compile_options.c (init_compile_options): Update compile_options.allow_std for GFC_STD_F2008_OBS. * io/transfer.c (formatted_transfer_scalar_read, formatted_transfer_scalar_write): Fix allow_std check. * io/list_read.c (nml_parse_qualifier): Ditto. 2010-06-25 Tobias Burnus <burnus@net-b.de> * gfortran.dg/entry_19.f90: New. From-SVN: r161409
2010-06-25decl.c (gfc_match_entry): Allow END besides END SUBROUTINE/END FUNCTION for ↵Tobias Burnus6-4/+61
contained procedures. 2010-06-25 Tobias Burnus <burnus@net-b.de> * decl.c (gfc_match_entry): Allow END besides END SUBROUTINE/END FUNCTION for contained procedures. 2010-06-25 Tobias Burnus <burnus@net-b.de> * gfortran.dg/end_subroutine_1.f90: New. * gfortran.dg/end_subroutine_2.f90: New. * gfortran.dg/interface_proc_end.f90: Update. From-SVN: r161406
2010-06-25parse.c (next_free, next_fixed): Allow ";" as first character.Tobias Burnus7-6/+48
2010-06-25 Tobias Burnus <burnus@net-b.de> * parse.c (next_free, next_fixed): Allow ";" as first character. 2010-06-25 Tobias Burnus <burnus@net-b.de> * gfortran.dg/semicolon_fixed.f: Update. * gfortran.dg/semicolon_fixed_2.f: New. * gfortran.dg/semicolon_free_2.f90: New. * gfortran.dg/semicolon_free.f90: Update. From-SVN: r161405
2010-06-25dwarf2out.c (dwarf2out_vms_debug_main_pointer): New function.Douglas B Rupp6-8/+73
* dwarf2out.c (dwarf2out_vms_debug_main_pointer): New function. * dwarf2out.h (dwarf2out_vms_debug_main_pointer): Declare new function. * config/ia64/ia64-protos.h (ia64_start_function): Declare. * config/ia64/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Move contents to ia64_start_function. Invoke it. * config/ia64/ia64.c (ia64_start_function): Call new function dwarf2out_vms_debug_main_pointer. From-SVN: r161402
2010-06-25Do not insert statements computing the true predicate.Sebastian Pop2-0/+14
2010-06-25 Sebastian Pop <sebastian.pop@amd.com> * tree-if-conv.c (insert_gimplified_predicates): Do not insert statements computing the true predicate. From-SVN: r161398
2010-06-25Use reset_bb_predicate whenever the predicate of a BB should be reset to true.Sebastian Pop2-4/+20
2010-06-25 Sebastian Pop <sebastian.pop@amd.com> * tree-if-conv.c (init_bb_predicate): Initialize the predicate to boolean_true_node. (reset_bb_predicate): New. (predicate_bbs): Call reset_bb_predicate. From-SVN: r161397
2010-06-25Call cleanup_tree_cfg after if-conversion.Sebastian Pop2-7/+17
2010-06-25 Sebastian Pop <sebastian.pop@amd.com> * tree-if-conv.c (combine_blocks): Remove FIXME comment. (tree_if_conversion): Returns true when something has been changed. (main_tree_if_conversion): Return TODO_cleanup_cfg when if-conversion changed something. From-SVN: r161396
2010-06-25Add a debug counter for the tree-ssa level if-conversion.Sebastian Pop4-5/+16
2010-06-25 Sebastian Pop <sebastian.pop@amd.com> * Makefile.in (tree-if-conv.o): Depends on DBGCNT_H. * dbgcnt.def (if_conversion_tree): New DEBUG_COUNTER. * tree-if-conv.c: Include dbgcnt.h. (tree_if_conversion): Use if_conversion_tree to count the number of if-convertible loops. From-SVN: r161395
2010-06-25re PR fortran/44448 (32-bit gfortran.dg/atan2_1.f90 fails on Solaris ↵Jerry DeLisle2-0/+6
1[01]/x86 at -O0) 2010-06-25 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR fortran/44448 * gfortran.dg/atan2_1.f90: Add -ffloat-store. From-SVN: r161392
2010-06-25Enable prefetching at -O3 for AMD cpus.Changpeng Fang5-5/+46
2010-06-25 Changpeng Fang <changpeng.fang@amd.com> * common.opt (fprefetch-loop-arrays): Re-define -fprefetch-loop-arrays as a tri-state option with the initial value of -1. * tree-ssa-loop.c (gate_tree_ssa_loop_prefetch): Invoke prefetch pass only when flag_prefetch_loop_arrays > 0. * toplev.c (process_options): Note that, with tri-states, flag_prefetch_loop_arrays>0 means prefetching is enabled. * config/i386/i386.c (override_options): Enable prefetching at -O3 for a set of CPUs that sw prefetching is helpful. (software_prefetching_beneficial_p): New. Return TRUE if software prefetching is beneficial for the given CPU. From-SVN: r161391
2010-06-25Don't search DEBUG_INSNs for removable zero extends.H.J. Lu2-1/+7
2010-06-25 H.J. Lu <hongjiu.lu@intel.com> PR rtl-optimization/44326 * implicit-zee.c (find_removable_zero_extends): Replace INSN_P with NONDEBUG_INSN_P. From-SVN: r161389
2010-06-25ipa-prop.h (struct ipa_param_descriptor): Removed the modified flag.Martin Jambor8-223/+292
2010-06-25 Martin Jambor <mjambor@suse.cz> * ipa-prop.h (struct ipa_param_descriptor): Removed the modified flag. (struct ipa_node_params): Removed the modification_analysis_done flag. (ipa_is_param_modified): Removed. (ipa_analyze_node): Declare. (ipa_compute_jump_functions): Remove declaration. (ipa_count_arguments): Likewise. (ipa_detect_param_modifications): Likewise. (ipa_analyze_params_uses): Likewise. * ipa-prop.c (struct param_analysis_info): New type. (visit_store_addr_for_mod_analysis): Removed. (visit_load_for_mod_analysis): Renamed to visit_ref_for_mod_analysis, moved down in the file. (ipa_detect_param_modifications): Merged into ipa_analyze_params_uses. (ipa_count_arguments): Made static. (mark_modified): New function. (is_parm_modified_before_call): New function. (compute_pass_through_member_ptrs): New parameter parms_info, call is_parm_modified_before_call instead of ipa_is_param_modified. (ipa_compute_jump_functions_for_edge): New parameter parms_info, pass it to compute_pass_through_member_ptrs. (ipa_compute_jump_functions): New parameter parms_info, pass it to ipa_compute_jump_functions_for_edge. Call ipa_initialize_node_params on the callee if it is analyzed. Made static. (ipa_analyze_indirect_call_uses): New parameter parms_info, call is_parm_modified_before_call instead of ipa_is_param_modified. (ipa_analyze_call_uses): New parameter parms_info, pass it to ipa_analyze_indirect_call_uses. (ipa_analyze_stmt_uses): New parameter parms_info, pass it to ipa_analyze_call_uses. (ipa_analyze_params_uses): New parameter parms_info, pass it to ipa_analyze_stmt_uses. Also perform the used analysis. Made static. (ipa_analyze_node): New function. (ipa_print_node_params): Do not dump the modified flag. (ipa_write_node_info): Assert uses_analysis_done rather than streaming it. Do not stream the modified parameter flag. (ipa_read_node_info): Set uses_analysis_done to 1 instead of streaming it. Do not stream the modified parameter flag. * ipa-cp.c (ipcp_analyze_node): Removed. (ipcp_init_stage): Iterate only once over the nodes, analyze each one with only a call to ipa_analyze_node. * ipa-inline.c (inline_indirect_intraprocedural_analysis): Analyze the node with only a call to ipa_analyze_node. * testsuite/g++.dg/ipa/iinline-3.C: New test. * testsuite/gcc.dg/ipa/modif-1.c: Removed. From-SVN: r161384
2010-06-25invoke.texi (-Wsuggest-attribute): Add item for noreturn.Manuel López-Ibáñez2-2/+7
2010-06-25 Manuel López-Ibáñez <manu@gcc.gnu.org> * doc/invoke.texi (-Wsuggest-attribute): Add item for noreturn. From-SVN: r161383
2010-06-25tree-pass.h (pass_split_functions): Declare.Jan Hubicka12-1/+1147
* tree-pass.h (pass_split_functions): Declare. * opts.c (decode_options): Enable function splitting at -O2 * timevar.def (TV_IPA_FNSPLIT): New macro. * ipa-split.c: New file. * common.opt (-fpartial-inlining): New flag. * Makefile.in (ipa-split.o): New object file. * passes.c (init_optimization_passes): Add ipa-split. * params.def (max-inline-insns-auto): Reduce max-inline-insns-auto to 40. (partial-inlining-entry-probability): New parameters. * doc/invoke.texi (-fpartial-inlining): New. * testsuite/gcc.dg/tree-ssa/ipa-split.c From-SVN: r161382
2010-06-25re PR middle-end/44665 (typo in comment, incorrect/out-of-date comment)Manuel López-Ibáñez3-3/+10
2010-06-25 Manuel López-Ibáñez <manu@gcc.gnu.org> PR 44665 * tree-inline.c (gimple_expand_calls_inline): Fix typo in comment. * gimplify.c (is_gimple_reg_rhs_or_call): Likewise. (gimplify_expr): Likewise. From-SVN: r161380
2010-06-25ipa-prop.c (determine_cst_member_ptr): Ignore non-clobbering statements ↵Martin Jambor4-7/+85
instead of bailing out on them. 2010-06-25 Martin Jambor <mjambor@suse.cz> * ipa-prop.c (determine_cst_member_ptr): Ignore non-clobbering statements instead of bailing out on them. (ipa_analyze_indirect_call_uses): Do not require that loads from the parameter are in the same BB as the condition. Update comments. * testsuite/g++.dg/ipa/iinline-2.C: New test. From-SVN: r161377
2010-06-25re PR middle-end/43866 (wrong code with -fbounds-check -funswitch-loops)Jakub Jelinek4-20/+165
PR middle-end/43866 * tree-ssa-loop-unswitch.c (tree_may_unswitch_on): If stmt is always true or always false, return NULL_TREE. (tree_unswitch_single_loop): Optimize conditions even when reaching max-unswitch-level parameter. If num > 0, optimize first all conditions using entry checks, then do still reachable block discovery and consider only conditions in still reachable basic blocks in the loop. * gfortran.dg/pr43866.f90: New test. From-SVN: r161375
2010-06-25re PR tree-optimization/44539 (ICE: verify_ssa failed: type mismatch between ↵Jakub Jelinek4-0/+43
an SSA_NAME and its symbol) PR tree-optimization/44539 * tree-cfgcleanup.c (fixup_noreturn_call): Call update_stmt even when the call doesn't have LHS, but has VDEF. * gcc.dg/pr44539.c: New test. From-SVN: r161374
2010-06-25pa.h (MODIFY_TARGET_NAME): Remove.Joseph Myers5-105/+11
* config/pa/pa.h (MODIFY_TARGET_NAME): Remove. * doc/tm.texi (MODIFY_TARGET_NAME): Don't document. * gcc.c (enum add_del, struct modify_target, modify_target): Remove. (process_command): Remove code conditional on MODIFY_TARGET_NAME. * system.h (MODIFY_TARGET_NAME): Poison. From-SVN: r161372
2010-06-25invoke.texi: Delete mcmodel=medium from powerpc options.Alan Modra5-51/+17
* doc/invoke.texi: Delete mcmodel=medium from powerpc options. * config/rs6000/rs6000.h (enum rs6000_cmodel): Delete CMODEL_MEDIUM. * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Set CMODEL_LARGE as default. * config/rs6000/rs6000.c (rs6000_handle_option): Remove mcmodel=medium. (offsettable_ok_by_alignment): Delete. (rs6000_emit_move): Remove mcmodel=medium optimization. From-SVN: r161371
2010-06-25With large parts from Jim Wilson:Bernd Schmidt24-288/+763
PR target/43902 * tree-pretty-print.c (dump_generic_node, op_code_prio): Add WIDEN_MULT_PLUS_EXPR and WIDEN_MULT_MINUS_EXPR. * optabs.c (optab_for_tree_code): Likewise. (expand_widen_pattern_expr): Likewise. * tree-ssa-math-opts.c (convert_mult_to_widen): New function, broken out of execute_optimize_widening_mul. (convert_plusminus_to_widen): New function. (execute_optimize_widening_mul): Use the two new functions. * expr.c (expand_expr_real_2): Add support for GIMPLE_TERNARY_RHS. Remove code to generate widening multiply-accumulate. Add support for WIDEN_MULT_PLUS_EXPR and WIDEN_MULT_MINUS_EXPR. * gimple-pretty-print.c (dump_ternary_rhs): New function. (dump_gimple_assign): Call it when appropriate. * tree.def (WIDEN_MULT_PLUS_EXPR, WIDEN_MULT_MINUS_EXPR): New codes. * cfgexpand.c (gimple_assign_rhs_to_tree): Likewise. (expand_gimple_stmt_1): Likewise. (expand_debug_expr): Support WIDEN_MULT_PLUS_EXPR and WIDEN_MULT_MINUS_EXPR. * tree-ssa-operands.c (get_expr_operands): Likewise. * tree-inline.c (estimate_operator_cost): Likewise. * gimple.c (extract_ops_from_tree_1): Renamed from extract_ops_from_tree. Add new arg for a third operand; fill it. (gimple_build_assign_stat): Support operations with three operands. (gimple_build_assign_with_ops_stat): Likewise. (gimple_assign_set_rhs_from_tree): Likewise. (gimple_assign_set_rhs_with_ops_1): Renamed from gimple_assign_set_rhs_with_ops. Add new arg for a third operand. (get_gimple_rhs_num_ops): Support GIMPLE_TERNARY_RHS. (get_gimple_rhs_num_ops): Handle WIDEN_MULT_PLUS_EXPR and WIDEN_MULT_MINUS_EXPR. * gimple.h (enum gimple_rhs_class): Add GIMPLE_TERNARY_RHS. (extract_ops_from_tree_1): Adjust declaration. (gimple_assign_set_rhs_with_ops_1): Likewise. (gimple_build_assign_with_ops): Pass NULL for last operand. (gimple_build_assign_with_ops3): New macro. (gimple_assign_rhs3, gimple_assign_rhs3_ptr, gimple_assign_set_rhs3, gimple_assign_set_rhs_with_ops, extract_ops_from_tree): New inline functions. * tree-cfg.c (verify_gimple_assign_ternary): New static function. (verify_gimple_assign): Call it. * doc/gimple.texi (Manipulating operands): Document GIMPLE_TERNARY_RHS. (Tuple specific accessors, subsection GIMPLE_ASSIGN): Document new functions for dealing with three-operand statements. * tree.c (commutative_ternary_tree_code): New function. * tree.h (commutative_ternary_tree_code): Declare it. * tree-vrp.c (gimple_assign_nonnegative_warnv_p): Return false for ternary statements. (gimple_assign_nonzero_warnv_p): Likewise. * tree-ssa-sccvn.c (stmt_has_constants): Handle GIMPLE_TERNARY_RHS. * tree-ssa-ccp.c (get_rhs_assign_op_for_ccp): New static function. (ccp_fold): Use it. Handle GIMPLE_TERNARY_RHS. * tree-ssa-dom.c (enum expr_kind): Add EXPR_TERNARY. (struct hashtable_expr): New member ternary in the union. (initialize_hash_element): Handle GIMPLE_TERNARY_RHS. (hashable_expr_equal_p): Fix indentation. Handle EXPR_TERNARY. (iterative_hash_hashable_expr): Likewise. (print_expr_hash_elt): Handle EXPR_TERNARY. * gimple-fold.c (fold_gimple_assign): Handle GIMPLE_TERNARY_RHS. * tree-ssa-threadedge.c (fold_assignment_stmt): Remove useless break statements. Handle GIMPLE_TERNARY_RHS. testsuite/ PR target/43902 * gcc.target/mips/madd-9.c: New test. From-SVN: r161366
2010-06-25* doc/invoke.texi (-Wsuggest-attribute): Add noreturn.Jan Hubicka2-1/+5
From-SVN: r161364
2010-06-25re PR c/44517 (improve diagnostic for mispelled typename in function ↵Shujing Zhao5-36/+65
declaration) gcc/ 2010-06-25 Shujing Zhao <pearly.zhao@oracle.com> PR c/44517 * c-parser.c (c_parser_parms_list_declarator): Return NULL if one of parameters are not good. (c_parser_parameter_declaration): Error unknown type name if the type name can't start declaration specifiers. gcc/testsuite/ 2010-06-25 Shujing Zhao <pearly.zhao@oracle.com> PR c/44517 * gcc.dg/noncompile/pr44517.c: New. * gcc.dg/noncompile/990416-1.c: Adjust expected error. From-SVN: r161363
2010-06-25gcc.c (translate_options): Don't mention +e in comment.Joseph Myers6-26/+23
* gcc.c (translate_options): Don't mention +e in comment. (process_command): Don't handle +e specially. cp: * lang-specs.h: Remove +e handling. objcp: * lang-specs.h: Remove +e handling. From-SVN: r161355
2010-06-25Daily bump.GCC Administrator1-1/+1
From-SVN: r161354
2010-06-24ira-int.h (struct live_range, [...]): Renamed from struct ↵Bernd Schmidt7-74/+73
ira_allocno_live_range and allocno_live_range_t... * ira-int.h (struct live_range, live_range_t): Renamed from struct ira_allocno_live_range and allocno_live_range_t; all uses changed. * ira-build.c (live_range_pool): Renamed from allocno_live_range_pool. All uses changed. From-SVN: r161350
2010-06-24ira-int.h (SET_MINMAX_SET_BIT, [...]): Renamed from SET_ALLOCNO_SET_BIT...Bernd Schmidt4-51/+65
* ira-int.h (SET_MINMAX_SET_BIT, CLEAR_MINMAX_SET_BIT, TEST_MINMAX_SET_BIT, minmax_set_iterator, minmax_set_iter_init, minmax_set_iter_cond, minmax_set_iter_next, FOR_EACH_BIT_IN_MINMAX_SET): Renamed from SET_ALLOCNO_SET_BIT, CLEAR_ALLOCNO_SET_BIT, TEST_ALLOCNO_SET_BIT, ira_allocno_set_iterator, ira_allocno_set_iter_init, ira_allocno_set_iter_cond, ira_allocno_set_iter_Next and FOR_EACH_ALLOCNO_IN_ALLOCNO_SET. All uses changed. From-SVN: r161349