aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2010-07-02tree-ssa-structalias.c (find_func_aliases): Handle pointer alignment via ↵Richard Guenther3-8/+37
BIT_AND_EXPR. 2010-07-02 Richard Guenther <rguenther@suse.de> * tree-ssa-structalias.c (find_func_aliases): Handle pointer alignment via BIT_AND_EXPR. * tree-vrp.c (extract_range_from_binary_expr): Likewise. From-SVN: r161707
2010-07-02tree-data-ref.c (initialize_data_dependence_relation): Handle mismatching ↵Richard Guenther4-1/+54
number of dimensions properly. 2010-07-02 Richard Guenther <rguenther@suse.de> * tree-data-ref.c (initialize_data_dependence_relation): Handle mismatching number of dimensions properly. * g++.dg/torture/20100702-1.C: New testcase. From-SVN: r161705
2010-07-02misc.c (gnat_handle_option): Do not populate gnat_argv.Eric Botcazou2-47/+15
* gcc-interface/misc.c (gnat_handle_option): Do not populate gnat_argv. (gnat_handle_option): Allocate only one element for gnat_argv. (gnat_init): Do not populate gnat_argv. From-SVN: r161704
2010-07-02re PR target/44707 (operand requires impossible reload)Ulrich Weigand4-0/+36
ChangeLog: PR target/44707 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Recognize (lo_sum (high ...) ...) patterns generated by earlier passes. testsuite/ChangeLog: PR target/44707 * gcc.c-torture/compile/pr44707.c: New test. From-SVN: r161703
2010-07-02re PR c++/44039 (ICE: Segmentation fault on error recovery)Paolo Carlini4-0/+25
/cp 2010-07-02 Paolo Carlini <paolo.carlini@oracle.com> PR c++/44039 * pt.c (tsubst_baselink): Return error_mark_node if lookup_fnfields returns NULL_TREE. /testsuite 2010-07-02 Paolo Carlini <paolo.carlini@oracle.com> PR c++/44039 * g++.dg/template/crash101.C: New. From-SVN: r161698
2010-07-02gc++filt.m4: New file.Rainer Orth2-1/+18
config: * gc++filt.m4: New file. contrib: * make_sunver.pl: New file. libstdc++v3: * acinclude.m4 (GLIBCXX_ENABLE_SYMVERS): Handle sun style. Require GCC_PROG_GNU_CXXFILT. (_GLIBCXX_HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless targetting solaris2*. Include ../config/gc++filt.m4. * configure.host (i?86-*-solaris2*): Set abi_baseline_pair. (sparc-*-solaris2*): Likewise. * src/Makefile.am [ENABLE_SYMVERS_SUN] (version_dep, version_arg): New variables. (libstdc++-symbols.ver-sun): New target. * configure: Regenerate. * config.h.in: Regenerate. * Makefile.in: Likewise. * doc/Makefile.in: Likewise. * include/Makefile.in: Likewise. * libsupc++/Makefile.in: Likewise. * po/Makefile.in: Likewise. * python/Makefile.in: Likewise. * src/Makefile.in: Likewise. * src/atomic.cc: Only define/use _GLIBCXX_ASM_SYMVER if _GLIBCXX_HAVE_SYMVER_RENAMING_RUNTIME_SUPPORT. * src/compatibility.cc: Likewise. * testsuite/Makefile.am (baseline_subdir): Define. (baseline_symbols): Use it. (new-abi-baseline): Likewise. * testsuite/Makefile.in: Regenerate. * config/abi/pre/gnu.ver (GLIBCXX_3.4.5): Enclose duplicates in #ifdef HAVE_SYMVER_RENAMING_RUNTIME_SUPPORT. (GLIBCXX_3.4.6): Likewise. * doc/xml/manual/configure.xml (--enable-symvers): Document sun style. * doc/xml/manual/abi.xml: Fix grammar. (Symbol versioning on the libstdc++.so binary): Fix mapfile path. (Incremental bumping of a library pre-defined macro): Fix c++config path. (Incremental bumping of a library pre-defined macro, _GLIBCPP_VERSION): Likewise. (Matching each specific C++ compiler release to a specific set of C++ include files): Fix acinclude.m4 path. (Prerequisites): Allow for Sun linker on Solaris 2.5+. Use proper link to Configuring. Fix acinclude.m4 path. (Checking Active): Allow for additional symbol versioning styles. Provide Solaris 2 example with pvs -r. (Bibliography): Update Linker and Libraries Guide, C++ Migration Guide entries. gcc: * doc/install.texi (Prerequisites): Document Perl requirement on Solaris 2. (Specific, *-*-solaris2*): Document GNU c++filt requirement. From-SVN: r161696
2010-07-02re PR middle-end/44777 (ICE: SIGSEGV with -fprofile-use in ↵Richard Guenther2-1/+6
gcc.c-torture/execute/comp-goto-2.c) 2010-07-02 Richard Guenther <rguenther@suse.de> PR middle-end/44777 * tree-cfg.c (gimple_block_ends_with_call_p): Handle empty BBs. From-SVN: r161694
2010-07-02restore cxx-ivar-3 test functionalityIain Sandoe2-13/+16
* obj-c++.dg/cxx-ivars-3.mm: Make the test require OSX <= 10.4. Use the ABI-0 accessors and fail it for m64. From-SVN: r161692
2010-07-02re PR middle-end/44706 (Failed to build 483.xalancbmk in SPEC CPU 2006)Jan Hubicka4-1/+82
PR middle-end/44706 * predict.c (predict_paths_for_bb): Handle case when control dependence BB has only abnormal edges. * g++.dg/tree-ssa/pr44706.C: New testcase. From-SVN: r161691
2010-07-02re PR tree-optimization/44748 (ICE: in fold_convert_const_int_from_real, at ↵Richard Guenther4-1/+30
fold-const.c:1548) 2010-07-02 Richard Guenther <rguenther@suse.de> PR tree-optimization/44748 * tree-ssa-ccp.c (fold_const_aggregate_ref): Properly handle the embedded conversion in MEM_REFs. * gcc.dg/tree-ssa/ssa-ccp-29.c: New testcase. From-SVN: r161689
2010-07-02restore darwin8 objc/c++ test functionality.Iain Sandoe3-6/+15
* objc-obj-c++-shared/next-abi.h: Remove dependency on system headers. Add clause to reflect that, pre-10.5, ABI is always 0. * objc/execute/forward-1.m: Depend only on __NEXT_RUNTIME__ for the method types to forward:. From-SVN: r161687
2010-07-02Daily bump.GCC Administrator1-1/+1
From-SVN: r161685
2010-07-01nullptr04.C: Use __INTPTR_TYPE__.Jason Merrill3-11/+12
* g++.dg/cpp0x/nullptr04.C: Use __INTPTR_TYPE__. * g++.dg/other/pr25632.C: Likewise. From-SVN: r161673
2010-07-01reload.c: Include toplev.h.Manuel López-Ibáñez4-2/+10
* reload.c: Include toplev.h. * recog.c: Likewise. * Makefile.in: Adjust dependencies. From-SVN: r161671
2010-07-01re PR tree-optimization/40421 (Revision 148352 failed 416.gamess in SPEC CPU ↵Jakub Jelinek2-0/+20
2006) PR tree-optimization/40421 * gfortran.fortran-torture/compile/pr40421.f90: New test. From-SVN: r161669
2010-07-01* config/ia64/ia64.c (ia64_register_move_cost): Fix argument types.Joern Rennecke2-4/+6
From-SVN: r161667
2010-07-01re PR debug/44694 (Long var tracking compile time of GiNaC tests)Jakub Jelinek2-0/+26
PR debug/44694 * dwarf2out.c (reg_loc_descriptor): For eliminated arg_pointer_rtx or frame_pointer_rtx use DW_OP_fbreg offset DW_OP_stack_value. From-SVN: r161662
2010-07-01emit-rtl.c (set_mem_attributes_minus_bitpos): Use unsigned types for offsets.Richard Guenther2-2/+7
2010-07-01 Richard Guenther <rguenther@suse.de> * emit-rtl.c (set_mem_attributes_minus_bitpos): Use unsigned types for offsets. From-SVN: r161659
2010-07-01re PR target/44732 (bootstrap broken on ia64)Joern Rennecke2-1/+6
PR target/44732 * config/ia64/ia64.c (ia64_register_move_cost): Remove stray '{'. From-SVN: r161658
2010-07-01re PR bootstrap/44727 (Failed to bootstrap with --with-cpu=atom)Bernd Schmidt2-0/+8
PR target/44727 * config/i386/i386.md (peephole2 for arithmetic ops with memory): Make sure operand 0 dies. From-SVN: r161656
2010-07-01re PR middle-end/42834 (memcpy folding overeager)Richard Guenther136-1469/+3112
2010-07-01 Richard Guenther <rguenther@suse.de> PR middle-end/42834 PR middle-end/44468 * doc/gimple.texi (is_gimple_mem_ref_addr): Document. * doc/generic.texi (References to storage): Document MEM_REF. * tree-pretty-print.c (dump_generic_node): Handle MEM_REF. (print_call_name): Likewise. * tree.c (recompute_tree_invariant_for_addr_expr): Handle MEM_REF. (build_simple_mem_ref_loc): New function. (mem_ref_offset): Likewise. * tree.h (build_simple_mem_ref_loc): Declare. (build_simple_mem_ref): Define. (mem_ref_offset): Declare. * fold-const.c: Include tree-flow.h. (operand_equal_p): Handle MEM_REF. (build_fold_addr_expr_with_type_loc): Likewise. (fold_comparison): Likewise. (fold_unary_loc): Fold VIEW_CONVERT_EXPR <T1, MEM_REF <T2, ...>> to MEM_REF <T1, ...>. (fold_binary_loc): Fold MEM[&MEM[p, CST1], CST2] to MEM[p, CST1 + CST2], fold MEM[&a.b, CST2] to MEM[&a, offsetof (a, b) + CST2]. * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Handle MEM_REF. (ptr_deref_may_alias_ref_p_1): Likewise. (ao_ref_base_alias_set): Properly differentiate base object for offset and TBAA. (ao_ref_init_from_ptr_and_size): Use MEM_REF. (indirect_ref_may_alias_decl_p): Handle MEM_REFs properly. (indirect_refs_may_alias_p): Likewise. (refs_may_alias_p_1): Likewise. Remove pointer SSA name def chasing code. (ref_maybe_used_by_call_p_1): Handle MEM_REF. (call_may_clobber_ref_p_1): Likewise. * dwarf2out.c (loc_list_from_tree): Handle MEM_REF. * expr.c (expand_assignment): Handle MEM_REF. (store_expr): Handle MEM_REFs from STRING_CSTs. (store_field): If expanding a MEM_REF of a non-addressable decl use bitfield operations. (get_inner_reference): Handle MEM_REF. (expand_expr_addr_expr_1): Likewise. (expand_expr_real_1): Likewise. * tree-eh.c (tree_could_trap_p): Handle MEM_REF. * alias.c (ao_ref_from_mem): Handle MEM_REF. (get_alias_set): Likewise. Properly handle VIEW_CONVERT_EXPRs. * tree-data-ref.c (dr_analyze_innermost): Handle MEM_REF. (dr_analyze_indices): Likewise. (dr_analyze_alias): Likewise. (object_address_invariant_in_loop_p): Likewise. * gimplify.c (mark_addressable): Handle MEM_REF. (gimplify_cond_expr): Build MEM_REFs. (gimplify_modify_expr_to_memcpy): Likewise. (gimplify_init_ctor_preeval_1): Handle MEM_REF. (gimple_fold_indirect_ref): Adjust. (gimplify_expr): Handle MEM_REF. Gimplify INDIRECT_REF to MEM_REF. * tree.def (MEM_REF): New tree code. * tree-dfa.c: Include toplev.h. (get_ref_base_and_extent): Handle MEM_REF. (get_addr_base_and_unit_offset): New function. * emit-rtl.c (set_mem_attributes_minus_bitpos): Handle MEM_REF. * gimple-fold.c (may_propagate_address_into_dereference): Handle MEM_REF. (maybe_fold_offset_to_array_ref): Allow possibly out-of bounds accesses if the array has just one dimension. Remove always true parameter. Do not require type compatibility here. (maybe_fold_offset_to_component_ref): Remove. (maybe_fold_stmt_indirect): Remove. (maybe_fold_reference): Remove INDIRECT_REF handling. Fold back to non-MEM_REF. (maybe_fold_offset_to_address): Simplify. Deal with type mismatches here. (maybe_fold_reference): Likewise. (maybe_fold_stmt_addition): Likewise. Also handle &ARRAY + I in addition to &ARRAY[0] + I. (fold_gimple_assign): Handle ADDR_EXPR of MEM_REFs. (gimple_get_relevant_ref_binfo): Handle MEM_REF. * cfgexpand.c (expand_debug_expr): Handle MEM_REF. * tree-ssa.c (useless_type_conversion_p): Make most pointer conversions useless. (warn_uninitialized_var): Handle MEM_REF. (maybe_rewrite_mem_ref_base): New function. (execute_update_addresses_taken): Implement re-writing of MEM_REFs to SSA form. * tree-inline.c (remap_gimple_op_r): Handle MEM_REF, remove INDIRECT_REF handling. (copy_tree_body_r): Handle MEM_REF. * gimple.c (is_gimple_addressable): Adjust. (is_gimple_address): Likewise. (is_gimple_invariant_address): ADDR_EXPRs of MEM_REFs with invariant base are invariant. (is_gimple_min_lval): Adjust. (is_gimple_mem_ref_addr): New function. (get_base_address): Handle MEM_REF. (count_ptr_derefs): Likewise. (get_base_loadstore): Likewise. * gimple.h (is_gimple_mem_ref_addr): Declare. (gimple_call_fndecl): Handle invariant MEM_REF addresses. * tree-cfg.c (verify_address): New function, split out from ... (verify_expr): ... here. Use for verifying ADDR_EXPRs and the address operand of MEM_REFs. Verify MEM_REFs. Reject INDIRECT_REFs. (verify_types_in_gimple_min_lval): Handle MEM_REF. Disallow INDIRECT_REF. Allow conversions. (verify_types_in_gimple_reference): Verify VIEW_CONVERT_EXPR of a register does not change its size. (verify_types_in_gimple_reference): Verify MEM_REF. (verify_gimple_assign_single): Disallow INDIRECT_REF. Handle MEM_REF. * tree-ssa-operands.c (opf_non_addressable, opf_not_non_addressable): New. (mark_address_taken): Handle MEM_REF. (get_indirect_ref_operands): Pass through opf_not_non_addressable. (get_asm_expr_operands): Pass opf_not_non_addressable. (get_expr_operands): Handle opf_[not_]non_addressable. Handle MEM_REF. Remove INDIRECT_REF handling. * tree-vrp.c: (check_array_ref): Handle MEM_REF. (search_for_addr_array): Likewise. (check_array_bounds): Likewise. (vrp_stmt_computes_nonzero): Adjust for MEM_REF. * tree-ssa-loop-im.c (for_each_index): Handle MEM_REF. (ref_always_accessed_p): Likewise. (gen_lsm_tmp_name): Likewise. Handle ADDR_EXPR. * tree-complex.c (extract_component): Do not handle INDIRECT_REF. Handle MEM_REF. * cgraphbuild.c (mark_load): Properly check for NULL result from get_base_address. (mark_store): Likewise. * tree-ssa-loop-niter.c (array_at_struct_end_p): Handle MEM_REF. * tree-loop-distribution.c (generate_builtin): Exchange INDIRECT_REF handling for MEM_REF. * tree-scalar-evolution.c (follow_ssa_edge_expr): Handle &MEM[ptr + CST] similar to POINTER_PLUS_EXPR. * builtins.c (stabilize_va_list_loc): Use the function ABI valist type if we couldn't canonicalize the argument type. Always dereference with the canonical va-list type. (maybe_emit_free_warning): Handle MEM_REF. (fold_builtin_memory_op): Simplify and handle MEM_REFs in folding memmove to memcpy. * builtins.c (fold_builtin_memory_op): Use ref-all types for all memcpy foldings. * omp-low.c (build_receiver_ref): Adjust for MEM_REF. (build_outer_var_ref): Likewise. (scan_omp_1_op): Likewise. (lower_rec_input_clauses): Likewise. (lower_lastprivate_clauses): Likewise. (lower_reduction_clauses): Likewise. (lower_copyprivate_clauses): Likewise. (expand_omp_atomic_pipeline): Likewise. (expand_omp_atomic_mutex): Likewise. (create_task_copyfn): Likewise. * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Handle MEM_REF. Remove old union trick. Initialize constant offsets. (ao_ref_init_from_vn_reference): Likewise. Do not handle INDIRECT_REF. Init base_alias_set properly. (vn_reference_lookup_3): Replace INDIRECT_REF handling with MEM_REF. (vn_reference_fold_indirect): Adjust for MEM_REFs. (valueize_refs): Fold MEM_REFs. Re-evaluate constant offset for ARRAY_REFs. (may_insert): Remove. (visit_reference_op_load): Do not test may_insert. (run_scc_vn): Remove parameter, do not fiddle with may_insert. * tree-ssa-sccvn.h (struct vn_reference_op_struct): Add a field to store the constant offset this op applies. (run_scc_vn): Adjust prototype. * cgraphunit.c (thunk_adjust): Adjust for MEM_REF. * tree-ssa-ccp.c (ccp_fold): Replace INDIRECT_REF folding with MEM_REF. Propagate &foo + CST as &MEM[&foo, CST]. Do not bother about volatile qualifiers on pointers. (fold_const_aggregate_ref): Handle MEM_REF, do not handle INDIRECT_REF. * tree-ssa-loop-ivopts.c * tree-ssa-loop-ivopts.c (determine_base_object): Adjust for MEM_REF. (strip_offset_1): Likewise. (find_interesting_uses_address): Replace INDIRECT_REF handling with MEM_REF handling. (get_computation_cost_at): Likewise. * ipa-pure-const.c (check_op): Handle MEM_REF. * tree-stdarg.c (check_all_va_list_escapes): Adjust for MEM_REF. * tree-ssa-sink.c (is_hidden_global_store): Handle MEM_REF and constants. * ipa-inline.c (likely_eliminated_by_inlining_p): Handle MEM_REF. * tree-parloops.c (take_address_of): Adjust for MEM_REF. (eliminate_local_variables_1): Likewise. (create_call_for_reduction_1): Likewise. (create_loads_for_reductions): Likewise. (create_loads_and_stores_for_name): Likewise. * matrix-reorg.c (may_flatten_matrices_1): Sanitize. (ssa_accessed_in_tree): Handle MEM_REF. (ssa_accessed_in_assign_rhs): Likewise. (update_type_size): Likewise. (analyze_accesses_for_call_stmt): Likewise. (analyze_accesses_for_assign_stmt): Likewise. (transform_access_sites): Likewise. (transform_allocation_sites): Likewise. * tree-affine.c (tree_to_aff_combination): Handle MEM_REF. * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref): Do not handle INDIRECT_REF. * tree-ssa-phiopt.c (add_or_mark_expr): Handle MEM_REF. (cond_store_replacement): Likewise. * tree-ssa-pre.c (create_component_ref_by_pieces_1): Handle MEM_REF, no not handle INDIRECT_REFs. (insert_into_preds_of_block): Properly initialize avail. (phi_translate_1): Fold MEM_REFs. Re-evaluate constant offset for ARRAY_REFs. Properly handle reference lookups that require a bit re-interpretation. (can_PRE_operation): Do not handle INDIRECT_REF. Handle MEM_REF. * tree-sra.c * tree-sra.c (build_access_from_expr_1): Handle MEM_REF. (build_ref_for_offset_1): Remove. (build_ref_for_offset): Build MEM_REFs. (gate_intra_sra): Disable for now. (sra_ipa_modify_expr): Handle MEM_REF. (ipa_early_sra_gate): Disable for now. * tree-sra.c (create_access): Swap INDIRECT_REF handling for MEM_REF handling. (disqualify_base_of_expr): Likewise. (ptr_parm_has_direct_uses): Swap INDIRECT_REF handling for MEM_REF handling. (sra_ipa_modify_expr): Remove INDIRECT_REF handling. Use mem_ref_offset. Remove bogus folding. (build_access_from_expr_1): Properly handle MEM_REF for non IPA-SRA. (make_fancy_name_1): Add support for MEM_REF. * tree-predcom.c (ref_at_iteration): Handle MEM_REFs. * tree-mudflap.c (mf_xform_derefs_1): Adjust for MEM_REF. * ipa-prop.c (compute_complex_assign_jump_func): Handle MEM_REF. (compute_complex_ancestor_jump_func): Likewise. (ipa_analyze_virtual_call_uses): Likewise. * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Replace INDIRECT_REF folding with more generalized MEM_REF folding. (tree_ssa_forward_propagate_single_use_vars): Adjust accordingly. (forward_propagate_addr_into_variable_array_index): Also handle &ARRAY + I in addition to &ARRAY[0] + I. * tree-ssa-dce.c (ref_may_be_aliased): Handle MEM_REF. * tree-ssa-ter.c (find_replaceable_in_bb): Avoid TER if that creates assignments with overlap. * tree-nested.c (get_static_chain): Adjust for MEM_REF. (get_frame_field): Likewise. (get_nonlocal_debug_decl): Likewise. (convert_nonlocal_reference_op): Likewise. (struct nesting_info): Add mem_refs pointer-set. (create_nesting_tree): Allocate it. (convert_local_reference_op): Insert to be folded mem-refs. (fold_mem_refs): New function. (finalize_nesting_tree_1): Perform defered folding of mem-refs (free_nesting_tree): Free the pointer-set. * tree-vect-stmts.c (vectorizable_store): Adjust for MEM_REF. (vectorizable_load): Likewise. * tree-ssa-phiprop.c (phiprop_insert_phi): Adjust for MEM_REF. (propagate_with_phi): Likewise. * tree-object-size.c (addr_object_size): Handle MEM_REFs instead of INDIRECT_REFs. (compute_object_offset): Handle MEM_REF. (plus_stmt_object_size): Handle MEM_REF. (collect_object_sizes_for): Dispatch to plus_stmt_object_size for &MEM_REF. * tree-flow.h (get_addr_base_and_unit_offset): Declare. (symbol_marked_for_renaming): Likewise. * Makefile.in (tree-dfa.o): Add $(TOPLEV_H). (fold-const.o): Add $(TREE_FLOW_H). * tree-ssa-structalias.c (get_constraint_for_1): Handle MEM_REF. (find_func_clobbers): Likewise. * ipa-struct-reorg.c (decompose_indirect_ref_acc): Handle MEM_REF. (decompose_access): Likewise. (replace_field_acc): Likewise. (replace_field_access_stmt): Likewise. (insert_new_var_in_stmt): Likewise. (get_stmt_accesses): Likewise. (reorg_structs_drive): Disable. * config/i386/i386.c (ix86_va_start): Adjust for MEM_REF. (ix86_canonical_va_list_type): Likewise. cp/ * cp-gimplify.c (cp_gimplify_expr): Open-code the rhs predicate we are looking for, allow non-gimplified INDIRECT_REFs. testsuite/ * gcc.c-torture/execute/20100316-1.c: New testcase. * gcc.c-torture/execute/pr44468.c: Likewise. * gcc.c-torture/compile/20100609-1.c: Likewise. * gcc.dg/volatile2.c: Adjust. * gcc.dg/plugin/selfassign.c: Likewise. * gcc.dg/pr36902.c: Likewise. * gcc.dg/tree-ssa/foldaddr-2.c: Remove. * gcc.dg/tree-ssa/foldaddr-3.c: Likewise. * gcc.dg/tree-ssa/forwprop-8.c: Adjust. * gcc.dg/tree-ssa/pr17141-1.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-13.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-14.c: Likewise. * gcc.dg/tree-ssa/ssa-ccp-21.c: Likewise. * gcc.dg/tree-ssa/pta-ptrarith-1.c: Likewise. * gcc.dg/tree-ssa/20030807-7.c: Likewise. * gcc.dg/tree-ssa/forwprop-10.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-1.c: Likewise. * gcc.dg/tree-ssa/pta-ptrarith-2.c: Likewise. * gcc.dg/tree-ssa/ssa-ccp-23.c: Likewise. * gcc.dg/tree-ssa/forwprop-1.c: Likewise. * gcc.dg/tree-ssa/forwprop-2.c: Likewise. * gcc.dg/tree-ssa/struct-aliasing-1.c: Likewise. * gcc.dg/tree-ssa/ssa-ccp-25.c: Likewise. * gcc.dg/tree-ssa/ssa-pre-26.c: Likewise. * gcc.dg/tree-ssa/struct-aliasing-2.c: Likewise. * gcc.dg/tree-ssa/ssa-ccp-26.c: Likewise. * gcc.dg/tree-ssa/ssa-sccvn-4.c: Likewise. * gcc.dg/tree-ssa/ssa-pre-7.c: Likewise. * gcc.dg/tree-ssa/forwprop-5.c: Likewise. * gcc.dg/struct/w_prof_two_strs.c: XFAIL. * gcc.dg/struct/wo_prof_escape_arg_to_local.c: Likewise. * gcc.dg/struct/wo_prof_global_var.c: Likewise. * gcc.dg/struct/wo_prof_malloc_size_var.c: Likewise. * gcc.dg/struct/w_prof_local_array.c: Likewise. * gcc.dg/struct/w_prof_single_str_global.c: Likewise. * gcc.dg/struct/wo_prof_escape_str_init.c: Likewise. * gcc.dg/struct/wo_prof_array_through_pointer.c: Likewise. * gcc.dg/struct/w_prof_global_array.c: Likewise. * gcc.dg/struct/wo_prof_array_field.c: Likewise. * gcc.dg/struct/wo_prof_single_str_local.c: Likewise. * gcc.dg/struct/w_prof_local_var.c: Likewise. * gcc.dg/struct/wo_prof_two_strs.c: Likewise. * gcc.dg/struct/wo_prof_empty_str.c: Likewise. * gcc.dg/struct/wo_prof_local_array.c: Likewise. * gcc.dg/struct/w_prof_global_var.c: Likewise. * gcc.dg/struct/wo_prof_single_str_global.c: Likewise. * gcc.dg/struct/wo_prof_escape_substr_value.c: Likewise. * gcc.dg/struct/wo_prof_global_array.c: Likewise. * gcc.dg/struct/wo_prof_escape_return.c: Likewise. * gcc.dg/struct/wo_prof_escape_substr_array.c: Likewise. * gcc.dg/struct/wo_prof_double_malloc.c: Likewise. * gcc.dg/struct/w_ratio_cold_str.c: Likewise. * gcc.dg/struct/wo_prof_escape_substr_pointer.c: Likewise. * gcc.dg/struct/wo_prof_local_var.c: Likewise. * gcc.dg/tree-prof/stringop-1.c: Adjust. * g++.dg/tree-ssa/pr31146.C: Likewise. * g++.dg/tree-ssa/copyprop-1.C: Likewise. * g++.dg/tree-ssa/pr33604.C: Likewise. * g++.dg/plugin/selfassign.c: Likewise. * gfortran.dg/array_memcpy_3.f90: Likewise. * gfortran.dg/array_memcpy_4.f90: Likewise. * c-c++-common/torture/pr42834.c: New testcase. From-SVN: r161655
2010-07-01Daily bump.GCC Administrator1-1/+1
From-SVN: r161653
2010-06-30re PR c++/44628 (ICE in cp_build_unary_op at cp/typeck.c:4671)Paolo Carlini5-3/+43
/cp 2010-06-30 Paolo Carlini <paolo.carlini@oracle.com> PR c++/44628 * typeck.c (cp_build_unary_op): Early return error_mark_node when arg is NULL_TREE too. * call.c (convert_class_to_reference): Return error_mark_node when expr is NULL_TREE. /testsuite 2010-06-30 Paolo Carlini <paolo.carlini@oracle.com> PR c++/44628 * g++.dg/template/crash100.C: New. From-SVN: r161639
2010-06-30re PR middle-end/44566 (configuration with multiple targets / backends is ↵Joern Rennecke26-104/+175
not supported.) PR other/44566 * coretypes.h [!USED_FOR_TARGET] (reg_class_t): Define. * target.def (struct gcc_target): Replace enum reg_class with reg_class_t in hook argument / return types. * doc/tm.texi.in (TARGET_SECONDARY_RELOAD): Likewise. (TARGET_IRA_COVER_CLASSES, TARGET_MEMORY_MOVE_COST): Likewise. (TARGET_BRANCH_TARGET_REGISTER_CLASS): Likewise. * targhooks.h (default_branch_target_register_class): Likewise. (default_ira_cover_classes, default_secondary_reload): Likewise. (default_memory_move_cost, default_register_move_cost): Likewise. * targhooks.c (default_branch_target_register_class): Likewise. (default_ira_cover_classes, default_secondary_reload): Likewise. (default_memory_move_cost, default_register_move_cost): Likewise. * reload.c (push_secondary_reload, secondary_reload_class): Likewise. * bt-load.c (branch_target_load_optimize): Likewise. * ira.c (setup_cover_and_important_classes): Likewise. * ira-costs.c (copy_cost): Likewise. * reload1.c (emit_input_reload_insns): Likewise. * config/alpha/alpha.c (alpha_secondary_reload): Likewise. * config/frv/frv.c (frv_secondary_reload): Likewise. * config/s390/s390.c (s390_secondary_reload): Likewise. * config/i386/i386.c (i386_ira_cover_classes): Likewise. (ix86_secondary_reload, ix86_memory_move_cost): Likewise. (ix86_register_move_cost): Likewise. * config/sh/sh-protos.h (sh_secondary_reload): Likewise. * config/sh/sh.c (sh_target_reg_class, sh_secondary_reload): Likewise. * config/xtensa/xtensa.c (xtensa_secondary_reload): Likewise. * config/xtensa/xtensa-protos.h (xtensa_secondary_reload): Likewise. * config/rs6000/rs6000.c (rs6000_secondary_reload): Likewise. (rs6000_ira_cover_classes): Likewise. * config/picochip/picochip.c (picochip_secondary_reload): Likewise. * config/picochip/picochip-protos.h (picochip_secondary_reload): Likewise. * config/pa/pa.c (pa_secondary_reload): Likewise. * config/mips/mips.c (mips_ira_cover_classes): Likewise. * config/bfin/bfin.c (bfin_secondary_reload): Likewise. * config/ia64/ia64.c (ia64_register_move_cost): Likewise. * doc/tm.texi: Regenerate. From-SVN: r161633
2010-06-30re PR bootstrap/44726 (Yet another broken bootstrap)Sebastian Pop2-7/+16
2010-06-30 Sebastian Pop <sebastian.pop@amd.com> PR bootstrrap/44726 * graphite-sese-to-poly.c (build_poly_dr): Avoid uninitialized use. (build_alias_set_optimal_p): Likewise. (build_base_obj_set_for_drs): Likewise. From-SVN: r161631
2010-06-30target.def (print_operand, [...]): Update comment.Joern Rennecke2-9/+9
* target.def (print_operand, print_operand_address): Update comment. (print_operand_punct_valid_p): Likewise. From-SVN: r161629
2010-06-30target.def (dfa_new_cycle): Use DEFHOOK.Joern Rennecke4-8/+9
* target.def (dfa_new_cycle): Use DEFHOOK. Rename dump_file to dump, last-sched_cycle to last_clock, cur_cycle to clock. * doc/tm.texi.in: Use @hook. * doc/tm.texi: Regenerate. From-SVN: r161628
2010-06-30target.def (return_pops_args): Use DEFHOOK.Joern Rennecke4-7/+12
* target.def (return_pops_args): Use DEFHOOK. * doc/tm.texi.in (TARGET_RETURN_POPS_ARGS): Use @hook. Rename stack-size to size. * doc/tm.texi: Regenerate. From-SVN: r161627
2010-06-30target.def (resolve_overloaded_builtin): Rename params to arglist.Joern Rennecke4-7/+8
* target.def (resolve_overloaded_builtin): Rename params to arglist. Use DEFHOOK. * doc/tm.texi.in (TARGET_RESOLVE_OVERLOADED_BUILTIN): Use @hook. * doc/tm.texi: Regenerate. From-SVN: r161626
2010-06-30target.def (pass_by_reference): Use DEFHOOK.Joern Rennecke4-4/+7
* target.def (pass_by_reference): Use DEFHOOK. * doc/tm.texi.in (TARGET_PASS_BY_REFERENCE): Use @hook. * doc/tm.texi: Regenerate. From-SVN: r161625
2010-06-30target.def (pragma_parse): Use DEFHOOK.Joern Rennecke4-6/+11
* target.def (pragma_parse): Use DEFHOOK. * doc/tm.texi.in (TARGET_OPTION_PRAGMA_PARSE): Use @hook. s/TARGET_VALID_OPTION_ATTRIBUTE_P/TARGET_OPTION_VALID_ATRIBUTE_P/ . * doc/tm.texi: Regenerate. From-SVN: r161624
2010-06-30target.def (memory_move_cost): Use DEFHOOK.Joern Rennecke4-7/+12
* target.def (memory_move_cost): Use DEFHOOK. * doc/tm.texi.in (TARGET_MEMORY_MOVE_COST): Use @hook. Rename regclass AKA class to rclass. * doc/tm.texi: Regenerate. From-SVN: r161623
2010-06-30target.def (fold_builtin): Rename nargs to n_args.Joern Rennecke4-6/+7
* target.def (fold_builtin): Rename nargs to n_args. Use DEFHOOK. * doc/tm.texi.in (TARGET_FOLD_BUILTIN): Use @hook. * doc/tm.texi: Regenerate. From-SVN: r161622
2010-06-30target.def (enum_va_list_p): Use DEFHOOK.Joern Rennecke4-8/+12
* target.def (enum_va_list_p): Use DEFHOOK. * doc/tm.texi.in (TARGET_ENUM_VA_LIST_P): Use @hook. Rename ptype to ptree. * doc/tm.texi: Regenerate. From-SVN: r161621
2010-06-30target.def (builtin_reciprocal): Change tm_fn to md_fn.Joern Rennecke3-4/+6
* target.def (builtin_reciprocal): Change tm_fn to md_fn. Use DEFHOOK. * doc/tm.texi.in (TARGET_BUILTIN_RECIPROCAL): Use @hook. From-SVN: r161620
2010-06-30target.def (declare_constant_name): Change exp to expr.Joern Rennecke4-5/+8
* target.def (declare_constant_name): Change exp to expr. Use DEFHOOK. * doc/tm.texi.in (TARGET_ASM_DECLARE_CONSTANT_NAME): Use @hook. * doc/tm.texi: Regenerate. From-SVN: r161619
2010-06-30target.def: Remove comment about licensing problems of function declaration.Joern Rennecke2-2/+7
* target.def: Remove comment about licensing problems of function declaration. From-SVN: r161618
2010-06-30toplev.h (_fatal_insn_not_found, [...]): Move declarations to rtl.h.Manuel López-Ibáñez15-51/+88
2010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org> * toplev.h (_fatal_insn_not_found, _fatal_insn): Move declarations to rtl.h. (error_for_asm, warning_for_asm): Move declarations to rtl-error.h. * rtl.h (_fatal_insn_not_found, _fatal_insn): Move declarations here. * rtl-error.h: New. * regrename.c: Do not include toplev.h. Include rtl-error.h. * rtl-error.c: Likewise. * reload.c: Likewise. * recog.c: Likewise. * sel-sched.c: Likewise. * function.c: Likewise. * reg-stack.c: Likewise. * cfgrtl.c: Likewise. * reload1.c: Likewise. * final.c: Include rtl-error. * Makefile.in: Adjust dependencies. From-SVN: r161617
2010-06-30Fix typo.Jan Hubicka1-1/+3
From-SVN: r161616
2010-06-30PR middle-end/PR44706Jan Hubicka4-0/+44
PR middle-end/PR44706 * ipa-split (split_function): Refine conditions when to use DECL_RESULT to return the value. * gcc.dg/tree-ssa/ipa-split-4.c: New testcase. From-SVN: r161615
2010-06-30re PR bootstrap/44699 (Bootstrap failure for x86_64-apple-darwin10: ICE ↵Michael Matz5-8/+193
while compiling genmodes.c) PR bootstrap/44699 * tree-vrp.c (vrp_finalize): Deal with changing num_ssa_names. * gimple-fold.c (gimplify_and_update_call_from_tree): If LHS is a gimple reg, attach the original VDEF to the last store in the sequence. testsuite/ PR bootstrap/44699 * gcc.dg/pr44699.c: New test. From-SVN: r161614
2010-06-30* repo.c (finish_repo): Fix typo.Michael Matz2-1/+5
From-SVN: r161612
2010-06-30re PR other/44034 (target hooks are hard to maintain)Iain Sandoe2-1/+7
PR other/44034 * config/darwin.c (darwin_override_options): Use renamed targetm.asm_out.emit_unwind_label. From-SVN: r161606
2010-06-30re PR tree-optimization/39799 (missing 'may be used uninitialized' warning)Bernd Schmidt4-0/+37
PR tree-optimization/39799 * tree-inline.c (remap_ssa_name): Initialize variable only if SSA_NAME_OCCURS_IN_ABNORMAL_PHI. testsuite/ PR tree-optimization/39799 * c-c++-common/uninit-17.c: New test. From-SVN: r161605
2010-06-30c-parser.c (c_parser_omp_for_loop): Use a VEC for for_block.Nathan Froyd4-14/+20
gcc/ * c-parser.c (c_parser_omp_for_loop): Use a VEC for for_block. gcc/cp/ * parser.c (cp_parser_omp_for_loop): Use a VEC for for_block. From-SVN: r161599
2010-06-30repo.c (pending_repo): Change type to a VEC.Nathan Froyd2-5/+13
* repo.c (pending_repo): Change type to a VEC. (finish_repo): Adjust for new type of pending_repo. (repo_emit_p): Likewise. From-SVN: r161598
2010-06-30re PR rtl-optimization/44722 (Bootstrap fails during libjava)Richard Guenther2-0/+7
2010-06-30 Richard Guenther <rguenther@suse.de> PR target/44722 * config/i386/i386.md (peephole2 for fix:SSEMODEI24): Guard against oscillation with reverse peephole2. From-SVN: r161597
2010-06-30re PR bootstrap/44721 (Failed to bootstrap (ICE in extract_insn, at ↵H.J. Lu2-3/+12
recog.c:2127)) 2010-06-30 H.J. Lu <hongjiu.lu@intel.com> PR target/44721 * config/i386/i386.md (peephole2 for arithmetic ops with memory): Fix last commit. From-SVN: r161594
2010-06-30rx-modes.def: New file.Nick Clifton7-313/+601
* config/rx/rx-modes.def: New file. * config/rx/rx.h (FIRST_PSEUDO_REGISTER): Increase to 17. (CC_REGNUM): Define. (FIXED_REGISTERS, CALL_USED_REGISTERS, REGISTER_NAMES): Add cc register. (CC_NO_CARRY, NOTICE_UPDATE_CC): Delete. (SELECT_CC_MODE): Define. * config/rx/rx.md (CC_REG): Define. Update all patterns to use (reg:CC CC_REG) instead of (cc0). (attr "cc"): Delete. (cbranchsi4): Do not split compare and branch here. Instead move it to... (cbranchsi4_<code>): ... here. New patterns. (cmpsi): Call rx-compare_redundant to find out if it is necessary to emit the compare instruction. * config/rx/rx.c (rx_gen-cond_branch_template): Remove tests of cc_status flags. (rx_get_stack_layout): Iterate up to before CC_REGNUM not FIRST_PSEUDO_REGNUM. (rx_expand_prologue, rx_expand_epilogue): Likewise. (rx_notice_update_cc): Delete. (rx_cc_modes_compatible): New function. (flags_needed_for_conditional): New function. (flags_from_mode): New function. (rx_compare_redundant): New function - scans backwards through insn list to find out if condition flags are already set correctly. (TARGET_CC_MODES_COMPATIBLE): Define. * config/rx/rx-protos.h (rx_compare_redundant): Prototype. * config/rx/rx.h (BRANCH_COST): Define. (REGISTER_MOVE_COST): Define. * config/rx/predicates (rx_source_operand): Allow all constant types. * config/rx/rx.md (addsi3): Add alternative for swapped operands. (tstsi4): New pattern. * config/rx/rx.c (rx_memory_move_cost): Define. (TARGET_MEMORY_MOVE_COST): Define. From-SVN: r161592
2010-06-30tree.h (block_may_fallthru): Declare here.Manuel López-Ibáñez14-15/+35
2010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org> * tree.h (block_may_fallthru): Declare here. * tree-flow.h (block_may_fallthru): Do not declare here. * c-typeck.c: Do not include tree-flow.h. Include gimple.h and bitmap.h * Makefile.in (c-typeck.o): Update dependencies. c-family/ * c-gimplify.c: Do not include tree-flow.h cp/ * tree.c: Include gimple.h. Do not include tree-flow.h * decl.c: Do not include tree-flow.h * Make-lang.in: Adjust dependencies. ada/ * gcc-interface/trans.c: Do not include tree-flow.h. * gcc-interface/Make-lang.in: Adjust dependencies. From-SVN: r161591