aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2007-05-15Daily bump.GCC Administrator1-1/+1
From-SVN: r124736
2007-05-14c-typeck.c (build_binary_op): Return early for error.Janis Johnson4-2/+26
gcc/ * c-typeck.c (build_binary_op): Return early for error. gcc/testsuite/ * gcc.dg/dfp/usual-arith-conv-bad.c: New test. From-SVN: r124732
2007-05-14expr.c (cpp_classify_number): Warn about dfp constant for -pedantic.Janis Johnson2-0/+8
libcpp/ * expr.c (cpp_classify_number): Warn about dfp constant for -pedantic. gcc/testsuite/ * gcc.dg/fltconst-pedantic-dfp.c: New test. From-SVN: r124731
2007-05-14re PR c/31924 (gcc accepts invalid suffixes for decimal float constants)Janis Johnson2-0/+19
libcpp/ PR c/31924 * expr.c (interpret_float_suffix): Check for invalid suffix. gcc/testsuite/ PR c/31924 * gcc.dg/fltconst-1.c: New test. From-SVN: r124730
2007-05-14func-mixed.c: Replace invalid constant suffixes.Janis Johnson3-20/+25
* gcc.dg/dfp/func-mixed.c: Replace invalid constant suffixes. * gcc.dg/dfp/operator-assignment.c: Ditto. From-SVN: r124729
2007-05-14tree-ssa-loop-niter.c (record_estimate): Use GGC_NEW to allocate struct ↵Zdenek Dvorak12-67/+133
nb_iter_bound. * tree-ssa-loop-niter.c (record_estimate): Use GGC_NEW to allocate struct nb_iter_bound. (free_numbers_of_iterations_estimates_loop): Use ggc_free. * gengtype.c (open_base_files): Add cfhloop.h to the list of includes. * cfgloopmanip.c (place_new_loop): Vector larray is gc-allocated. * tree-scalar-evolution.c: Include gt-tree-scalar-evolution.h. (struct scev_info_str, scalar_evolution_info): Add GTY markers. (new_scev_info_str): Use GGC_NEW to allocate struct scev_info_str. (del_scev_info): Use ggc_free. (scev_initialize): Allocate scalar_evolution_info in gc memory. * loop-init.c: Include ggc.h. (loop_optimizer_init): Use GGC_CNEW to allocate struct loops. (loop_optimizer_finalize): Use ggc_free. * tree-ssa-loop.c (pass_tree_unswitch, pass_vectorize, pass_linear_transfom, pass_empty_loop, pass_complete_unroll, pass_iv_optimize): Add TODO_ggc_collect. * function.h (struct function): Remove skip marker from x_current_loops. * cfgloop.c: Include ggc.h. (flow_loops_free, flow_loop_free): Free the loop descriptions in gc memory. (establish_preds): Vector superloops is gc allocated. (alloc_loop): Allocate loop using GGC_CNEW. Allocate head of loop->exits list. (flow_loops_find): Vector larray is gc allocated. (loop_exit_free): Use ggc_free. (rescan_loop_exit): Use GGC_NEW to allocate struct loop_exit. Reflect that head of exits list is now not a part of struct loop. (record_loop_exits): Allocate exits table in gc memory. (get_loop_exit_edges, verify_loop_structure, single_exit): Reflect that head of exits list is now not a part of struct loop. * cfgloop.h (struct lpt_decision, struct nb_iter_bound, struct loop_exit): Add GTY marker. (struct loop): Add GTY marker. Make superloops vector gc allocated. Add skip marker to aux field. Make head of exits list a separate object. (struct loops): Add GTY marker. Make larray vector gc allocated. Add param marker to exits table. (get_loops): Type changed. * Makefile.in (tree-scalar-evolution.o): Add gt-tree-scalar-evolution.h dependency. (cfgloop.o, loop-init.o): Add ggc.h dependency. (GTFILES): Add cfgloop.h and tree-scalar-evolution.c. * basic-block.h (struct basic_block_def): Remove skip marker from loop_father field. From-SVN: r124727
2007-05-14re PR c++/29928 (typeid of unknown bound array)Paolo Carlini4-2/+26
/cp 2007-05-14 Paolo Carlini <pcarlini@suse.de> PR c++/29928 * rtti.c (get_tinfo_decl_dynamic, get_typeid): Try to complete the type only if is a class type (5.2.8/4). /testsuite 2007-05-14 Paolo Carlini <pcarlini@suse.de> PR c++/29928 * g++.dg/rtti/typeid5.C: New. From-SVN: r124724
2007-05-14builtins.c (expand_builtin_mathfn): Use EXPAND_NORMAL instead of 0 in the ↵Uros Bizjak7-57/+111
call to expand_expr(). * builtins.c (expand_builtin_mathfn): Use EXPAND_NORMAL instead of 0 in the call to expand_expr(). (expand_builtin_mathfn_3): Ditto. (expand_builtin_interclass_mathfn): Ditto. (expand_builtin_cexpi): Ditto. (expand_builtin_int_roundingfn): Ditto. (expand_builtin_int_roundingfn_2): Ditto. (expand_builtin_pow): Ditto. (expand_builtin_powi): Ditto. (expand_builtin_bswap): Ditto. (expand_builtin_unop): Ditto. (expand_builtin_fabs): Ditto. (get_builtin_sync_mem): Use NULL_RTX instead of NULL in the call to expand_expr(). (expand_builtin_sync_operation): Ditto. (expand_builtin_compare_and_swap): Ditto. (expand_builtin_lock_test_and_set): Ditto. * except.c (expand_builtin_eh_return_data_regno): Use EXPAND_NORMAL instead of 0 in the call to expand_expr(). (expand_builtin_extract_return_addr): Ditto. (expand_builtin_eh_return): Ditto. (expand_eh_return): Ditto. * explow.c (expr_size): Ditto. * expr.c (optimize_bitfield_assignment_op): Ditto. (expand_assignement): Ditto. (store_expr): Ditto. (store_field): Ditto. (expand_expr_addr_expr_1): Use NULL_RTX instead of NULL in the call to expand_expr(). (expand_expr_real_1) [COMPLEX_CST]: Use EXPAND_NORMAL instead of 0 in the call to expand_expr(). [CONSTRUCTOR, PLUS_EXPR, MINUS_EXPR, NEGATE_EXPR, ABS_EXPR, BIT_NOT_EXPR, LSHIFT_EXPR, LT_EXPR, TRUTH_NOT_EXPR]: Ditto. [VEC_UNPACK_HI_EXPR, VEC_UNPACK_LO]: Use expand_normal() instead of expand_expr(). * optabs.c (expand_vec_shift_expr): Ditto. (expand_vec_cond_expr): Ditto. (vector_compare_rtx): Use EXPAND_STACK_PARM instead of 1 in the call to expand_expr(). * stmt.c (expand_return): Use EXPAND_NORMAL instead of 0 in the call to expand_expr(). From-SVN: r124722
2007-05-14re PR fortran/30723 (Freeing memory doesn't need to call a library function)Francois-Xavier Coudert9-75/+155
PR fortran/30723 * trans.h (gfor_fndecl_internal_malloc, gfor_fndecl_internal_malloc64, gfor_fndecl_internal_free): Remove prototypes. (gfor_fndecl_os_error, gfc_call_free, gfc_call_malloc): Add prototypes. * trans.c (gfc_call_malloc, gfc_call_free): New functions. * f95-lang.c (gfc_init_builtin_functions): Add __builtin_free and __builtin_malloc builtins. * trans-decl.c (gfor_fndecl_internal_malloc, gfor_fndecl_internal_malloc64, gfor_fndecl_internal_free): Remove. (gfor_fndecl_os_error): Add. (gfc_build_builtin_function_decls): Don't create internal_malloc, internal_malloc64 and internal_free library function declaration. Create os_error library call function declaration. * trans-array.c (gfc_trans_allocate_array_storage, gfc_trans_auto_array_allocation, gfc_trans_dummy_array_bias, gfc_conv_array_parameter, gfc_duplicate_allocatable): Use gfc_call_malloc and gfc_call_free instead of building calls to internal_malloc and internal_free. * trans-expr.c (gfc_conv_string_tmp): Likewise. * trans-stmt.c (gfc_do_allocate, gfc_trans_assign_need_temp, gfc_trans_pointer_assign_need_temp, gfc_trans_forall_1, gfc_trans_where_2: Likewise. * trans-intrinsic.c (gfc_conv_intrinsic_ctime, gfc_conv_intrinsic_fdate, gfc_conv_intrinsic_ttynam, gfc_conv_intrinsic_array_transfer, gfc_conv_intrinsic_trim): Likewise. * runtime/memory.c (internal_malloc, internal_malloc64, internal_free): Remove. * runtime/error.c (os_error): Export function. * intrinsics/move_alloc.c: Include stdlib.h. (move_alloc): Call free instead of internal_free. (move_alloc_c): Wrap long lines. * libgfortran.h (os_error): Export prototype. (internal_free): Remove prototype. * gfortran.map (GFORTRAN_1.0): Remove _gfortran_internal_free, _gfortran_internal_malloc and _gfortran_internal_malloc64. Add _gfortran_os_error. From-SVN: r124721
2007-05-14re PR fortran/31725 ([4.1 only] substring bound evaluated multiple times: ↵François-Xavier Coudert4-1/+88
wrong code for string(function():) = 'X') PR fortran/31725 * trans-expr.c (gfc_conv_substring): Evaluate substring bounds only once. * gfortran.dg/substr_4.f: New test. From-SVN: r124720
2007-05-14genautomata.c (gen_regexp_el): Allocate correct size for regexp.Dave Korn2-2/+6
2007-05-14 Dave Korn <dave.korn@artimi.com> * genautomata.c (gen_regexp_el): Allocate correct size for regexp. From-SVN: r124718
2007-05-14c-common.c (warnings_for_convert_and_check): Use unsigned_type_for instead ↵Rafael Avila de Espindola31-103/+100
of c_common_unsigned_type. gcc/ * c-common.c (warnings_for_convert_and_check): Use unsigned_type_for instead of c_common_unsigned_type. (c_common_unsigned_type): Remove. (shorten_compare): Use c_common_signed_or_unsigned_type instead of c_common_unsigned_type. (c_common_nodes_and_builtins): Use unsigned_type_for instead of c_common_unsigned_type. * c-common.h (c_common_unsigned_type): Remove. * c-decl.c (grokdeclarator): Use unsigned_type_for instead of c_common_unsigned_type. * c-format.c (check_format_types): Use unsigned_type_for instead of c_common_unsigned_type. * c-objc-common.h (LANG_HOOKS_UNSIGNED_TYPE): Remove. * c-typeck.c (convert_for_assignment): Use unsigned_type_for instead of c_common_unsigned_type. * convert.c (convert_to_integer): Use unsigned_type_for instead of lang_hooks.types.unsigned_type. * expmed.c (make_tree): Use unsigned_type_for instead of lang_hooks.types.unsigned_type. * fold-const.c (fold_negate_expr): Use unsigned_type_for instead of lang_hooks.types.unsigned_type. (build_range_check): Likewise. (fold_unary): Likewise. (fold_binary): Likewise. (fold_ternary): Likewise. * langhooks-def.h (LANG_HOOKS_UNSIGNED_TYPE): Remove. * langhooks.h (lang_hooks_for_types): Remove unsigned_type. * tree.c (get_unsigned_type): New. (unsigned_type_for): Use get_unsigned_type instead of lang_hooks.types.unsigned_type gcc/ada * misc.c (LANG_HOOKS_UNSIGNED_TYPE): Remove. gcc/cp * cp-objcp-common.h (LANG_HOOKS_UNSIGNED_TYPE): Remove. * decl.c (grokdeclarator): Use unsigned_type_for instead of c_common_unsigned_type. gcc/fortran * f95-lang.c (LANG_HOOKS_UNSIGNED_TYPE): Remove. * trans-intrinsic.c (gfc_conv_intrinsic_ishft): Use unsigned_type_for instead of gfc_unsigned_type. * trans-stmt.c (gfc_trans_do): Use unsigned_type_for instead of gfc_unsigned_type. * trans-types.c (gfc_unsigned_type): Remove. * trans-types.h (gfc_unsigned_type): Remove. gcc/java * expr.c (build_java_binop): Use unsigned_type_for instead of java_unsigned_type. * java-tree.h (java_unsigned_type): Remove. * lang.c (LANG_HOOKS_UNSIGNED_TYPE): Remove. * typeck.c (java_unsigned_type): Remove. gcc/treelang * treetree.c (tree_lang_unsigned_type): Remove. (LANG_HOOKS_UNSIGNED_TYPE): Remove. From-SVN: r124715
2007-05-14m68k-protos.h: Rename m68k_interrupt_function_p to m68k_get_function_kind.Kazu Hirata8-30/+115
gcc/ * config/m68k/m68k-protos.h: Rename m68k_interrupt_function_p to m68k_get_function_kind. Update its prototype. * config/m68k/m68k.c (m68k_attribute_table): Add an entry for interrupt_thread. (m68k_interrupt_function_p): Return enum m68k_function_type instead of bool. Rename to m68k_get_function_kind. (m68k_handle_fndecl_attribute): Reject interrupt_thread if the target is not fido. (m68k_compute_frame_layout): Don't mark any register for save if an interrupt_thread attribute is specified. (m68k_hard_regno_rename_ok): Update a use of m68k_interrupt_function_p. * config/m68k/m68k.h (EPILOGUE_USES): Update a use of m68k_interrupt_function_p. (m68k_function_type): New. * config/m68k/m68k.md (*return): Output a 'sleep' instruction for a function with an interrupt_thread attribute. * doc/extend.texi: Document the interrupt_thread attribute. gcc/testsuite/ * gcc.target/m68k/interrupt_thread-1.c, gcc.target/m68k/interrupt_thread-2.c, gcc.target/m68k/interrupt_thread-3.c: New. * gcc.target/m68k/m68k.exp: Accept fido. From-SVN: r124713
2007-05-14Daily bump.GCC Administrator1-1/+1
From-SVN: r124661
2007-05-14alloc_comp_basics_1.f90: Fix dg directive.Dominique d'Humieres15-65/+86
2007-05-13 Dominique d'Humières <dominiq@lps.ens.fr> * alloc_comp_basics_1.f90: Fix dg directive. * altreturn_3.f90: Likewise. * assumed_dummy_1.f90: Likewise. * default_numeric_type_1.f90: Likewise. * inquire_iolength.f90: Likewise. * module_naming_1.f90: Likewise. * oldstyle_2.f90: Likewise. * operator_2.f90: Likewise. * parameter_array_element_1.f90: Likewise. * used_types_11.f90: Likewise. * zero_array_components_1.f90: Likewise. * fmt_zero_precision.f90: Fix dg-output directives. * parameter_array_dummy.f90: Likewise. * real_const_3.f90: Likewise. From-SVN: r124658
2007-05-13re PR tree-optimization/31911 (Short function (md4) takes very long to compile)Daniel Berlin2-4/+10
2007-05-13 Daniel Berlin <dberlin@dberlin.org> Fix PR tree-optimization/31911 * tree-ssa-pre.c (phi_translate): Make sure to cache results even if they didn't change the expression. From-SVN: r124657
2007-05-13tree-scalar-evolution.c (resolve_mixers): Exported.Zdenek Dvorak10-1632/+565
* tree-scalar-evolution.c (resolve_mixers): Exported. * tree-scalar-evolution.h (resolve_mixers): Declare. * tree-data-ref.c (object_analysis, ptr_decl_may_alias_p, ptr_ptr_may_alias_p, may_alias_p, record_ptr_differ_p, record_record_differ_p, record_array_differ_p, array_ptr_differ_p, base_object_differ_p, base_addr_differ_p, analyze_array_indexes, init_array_ref, init_pointer_ref, analyze_indirect_ref, strip_conversion, analyze_offset_expr, address_analysis, object_analysis, analyze_offset): Removed. (dr_analyze_innermost, dr_analyze_indices, dr_analyze_alias, split_constant_offset, canonicalize_base_object_address, object_address_invariant_in_loop_p, disjoint_objects_p, dr_may_alias_p, dr_address_invariant_p): New functions. (create_data_ref): Use dr_analyze_innermost, dr_analyze_indices and dr_analyze_alias. (initialize_data_dependence_relation): Use dr_may_alias_p and object_address_invariant_in_loop_p. (compute_self_dependence): Handle the case when DDR_ARE_DEPENDENT (ddr) is chrec_dont_know. (find_data_references_in_stmt): Restrict the analysis of data references to the given loop nest. (find_data_references_in_loop): Made static. Pass loop nest to find_data_references_in_stmt. (compute_data_dependences_for_loop): Use DR_VOPS. (free_data_ref): Free DR_VOPS. * tree-data-ref.h (struct first_location_in_loop): Replaced by ... (struct innermost_loop_behavior): ... new. (struct base_object_info): Replaced by ... (struct indices): ... new. (struct dr_alias): New. (enum data_ref_type): Removed. (struct data_reference): Consist of struct innermost_loop_behavior, struct indices and struct dr_alias. (DR_SET_ACCESS_FNS, DR_FREE_ACCESS_FNS): Removed. (DR_MEMTAG): Renamed to ... (DR_SYMBOL_TAG): ... this. (find_data_references_in_loop): Declaration removed. * tree-vect-analyze.c (vect_compute_data_ref_alignment): Use DR_INIT instead of DR_OFFSET_MISALIGNMENT. DR_ALIGNED_TO is never NULL. (vect_analyze_data_refs): Use DR_SYMBOL_TAG instead of DR_MEMTAG. * tree-vect-transform.c (vect_create_data_ref_ptr): Ditto. * gcc.dg/vect/no-section-anchors-vect-69.c: Fix outcome. * gcc.dg/tree-ssa/loop-30.c: New test. From-SVN: r124655
2007-05-13pr17141-1.c: Scan in forwprop2, xfail scanning forwprop1.Richard Guenther3-9/+14
2007-05-13 Richard Guenther <rguenther@suse.de> * gcc.dg/tree-ssa/pr17141-1.c: Scan in forwprop2, xfail scanning forwprop1. * g++.dg/tree-ssa/pr31146.C: Likewise. From-SVN: r124653
2007-05-13Extend dseRevital Eres4-4/+118
From-SVN: r124651
2007-05-13Daily bump.GCC Administrator1-1/+1
From-SVN: r124645
2007-05-12gcse.c (gcse_main): Do jump bypassing in CPROP2.Steven Bosscher4-3/+12
* gcse.c (gcse_main): Do jump bypassing in CPROP2. * passes.c (init_optimization_passes): Move pass_jump_bypass after loop2. * basic-block.h (bb_has_eh_pred): Fix style issue. From-SVN: r124640
2007-05-12re PR rtl-optimization/31848 (Invalid loop optimization causes bootstrap ↵Steven Bosscher2-0/+19
failure in genautomata) PR rtl-optimization/31848 * loop-invariant.c (move_invariant_reg): If we move an insn with a REG_EQUAL note, and that insn is not always executed, remove the REG_EQUAL note. From-SVN: r124639
2007-05-12re PR tree-optimization/31797 (infinite loop in tree-ssa-pre or ICE)Richard Guenther4-2/+51
2007-05-12 Richard Guenther <rguenther@suse.de> PR tree-optimization/31797 * tree-ssa-forwprop.c (forward_propagate_addr_expr): Do not propagate into a stmt that has volatile ops. * gcc.c-torture/compile/pr31797.c: New testcase. From-SVN: r124637
2007-05-12configure.ac (gcc_gxx_include_dir): Use $(libsubdir_to_prefix).Richard Sandiford4-75/+46
gcc/ * configure.ac (gcc_gxx_include_dir): Use $(libsubdir_to_prefix). (gcc_tooldir): Likewise. * configure: Regenerate. * Makefile.in (libsubdir_to_prefix): New variable, based on the old configure.ac gcc_tooldir setting. (prefix_to_exec_prefix): New variable. (DRIVER_DEFINES): Use $(libsubdir_to_prefix)$(prefix_to_exec_prefix) rather than $(unlibsubdir)/../ to derive TOOLDIR_BASE_PREFIX. From-SVN: r124634
2007-05-12re PR fortran/30746 (50th Anniversary Bug - Forward reference to contained ↵Paul Thomas6-7/+132
function) 2007-05-12 Paul Thomas <pault@gcc.gnu.org> PR fortran/30746 * resolve.c (check_host_association): New function that detects incorrect host association and corrects it. (gfc_resolve_expr): Call the new function for variables and functions. * match.h : Remove prototype for gfc_match_rvalue. * gfortran.h : Add prototype for gfc_match_rvalue. 2007-05-12 Paul Thomas <pault@gcc.gnu.org> PR fortran/30746 * gfortran.dg/host_assoc_function_1.f90: New test. From-SVN: r124633
2007-05-12Daily bump.GCC Administrator1-1/+1
From-SVN: r124631
2007-05-11re PR c++/31829 (FAIL: g++.dg/warn/multiple-overflow-warn-3.C (test for ↵Steve Ellcey2-2/+7
warnings, line 8)) PR c++/31829 * g++.dg/warn/multiple-overflow-warn-3.C: Change wchar_t to short. From-SVN: r124628
2007-05-11Makefile.in (OBJS-common): Add tree-ssa-alias-warnings.o.Silvius Rus31-30/+1362
gcc/ * Makefile.in (OBJS-common): Add tree-ssa-alias-warnings.o. * c-common.c (strict_aliasing_warning): Modify -Wstrict-aliasing logic. * c-common.h (strict_aliasing_warning): Change return type. * c-opts.c (c_common_handle_option): Add call to set_Wstrict_aliasing. * c-typeck.c (build_indirect_ref): Add call to strict_aliasing_warning. (build_c_cast): Condition call to strict_aliasing_warning. * doc/invoke.texi: Update description of -Wstrict-aliasing[=n]. * flags.h (set_Wstrict_aliasing): Declare. * opts.c (set_Wstrict_alising): Define, add call to. * tree-flow.h (strict_aliasing_warning_backend): Declare. * tree-ssa-alias-warnings.c: New file. * tree-ssa-alias.c (compute_may_aliases): Add call to strict_aliasing_warning_backend. gcc/cp * cp/typeck.c (build_indirect_ref): Add call to strict_aliasing_warning. (build_reinterpret_cast_1): Condition call to strict_aliasing_warning. gcc/testsuite * gcc.dg/Wstrict-aliasing-bogus-const-ptr-nonconst-ptr.c: New test. * gcc.dg/Wstrict-aliasing-bogus-never-dereferenced.c: New test. * gcc.dg/Wstrict-aliasing-bogus-struct-included.c: New test. * gcc.dg/Wstrict-aliasing-converted-assigned.c: New test. * gcc.dg/Wstrict-aliasing-float-ptr-int-obj.c: New test. * gcc.dg/alias-1.c: Update option: -Wstrict-aliasing=2. * gcc.dg/alias-9.c: Update option: -Wstrict-aliasing=2. * g++.dg/warn/Wstrict-aliasing-7.C: Update option: -Wstrict-aliasing=2. * g++.dg/warn/Wstrict-aliasing-bogus-base-derived.C: New test. * g++.dg/warn/Wstrict-aliasing-bogus-char-1.C: New test. * g++.dg/warn/Wstrict-aliasing-bogus-const.C: New test. * g++.dg/warn/Wstrict-aliasing-bogus-nested-arrays.C: New test. * g++.dg/warn/Wstrict-aliasing-bogus-signed-unsigned.C: New test. * g++.dg/warn/Wstrict-aliasing-bogus-struct-included.C: New test. * g++.dg/warn/Wstrict-aliasing-bogus-union.C: New test. * g++.dg/warn/Wstrict-aliasing-float-ref-int-obj.C: New test. From-SVN: r124622
2007-05-11tree-loop-linear.c (gather_interchange_stats, [...]): Use loop_depth and ↵Zdenek Dvorak14-110/+174
loop_outer accessor functions. * tree-loop-linear.c (gather_interchange_stats, try_interchange_loops): Use loop_depth and loop_outer accessor functions. * tree-ssa-loop-im.c (outermost_invariant_loop, set_level, determine_invariantness_stmt, move_computations_stmt): Ditto. * cfgloopmanip.c (fix_bb_placement, fix_loop_placement, remove_path, add_loop, loopify, unloop, fix_loop_structure): Ditto. * tree-ssa-loop-manip.c (find_uses_to_rename_use): Ditto. * tree-scalar-evolution.c (interpret_loop_phi, compute_scalar_evolution_in_loop, analyze_scalar_evolution_in_loop, instantiate_parameters_1, scev_const_prop): Ditto. * cfghooks.c (make_forwarder_block): Ditto. * cfgloopanal.c (mark_irreducible_loops, mark_loop_exit_edges): Ditto. * modulo-sched.c (loop_canon_p): Ditto. * tree-vectorizer.c (slpeel_tree_duplicate_loop_to_edge_cfg, slpeel_can_duplicate_loop_p): Ditto. * lambda-code.c (invariant_in_loop_and_outer_loops): Ditto. * tree-cfg.c (tree_duplicate_sese_region): Ditto. * cfgloop.c (flow_loop_dump, flow_loop_nodes_find, rescan_loop_exit, cancel_loop, verify_loop_structure): Ditto. (flow_loop_nested_p, superloop_at_depth, flow_loop_free, add_bb_to_loop, remove_bb_from_loops, find_common_loop): Use the superloops vector instead of "pred" array. (establish_preds): Take father loop as an argument. Initialize the superloops vector. (flow_loop_tree_node_add): Pass father loop to establish_preds. Do not initialize loop->outer. (flow_loop_tree_node_remove): Truncate the superloops vector. * cfgloop.h (struct loop): Removed field "outer", fields "depth" and "pred" merged to "superloops" vector. (loop_depth, loop_outer): New. (fel_init): Use loop_outer. From-SVN: r124619
2007-05-11semantics.c (expand_or_defer_fn): Do not call c_record_cdtor_fn.Jan Hubicka9-86/+101
* semantics.c (expand_or_defer_fn): Do not call c_record_cdtor_fn. * decl2.c (start_objects): ctors and dtors are no longer public. (cp_write_global_declarations): Do not call c_build_cdtor_fns. * cgraphunit.c: Include gt-cgraphunit.h (static_ctors, static_dtors): New static vars. (record_cdtor_fn, build_cdtor, cgraph_build_cdtor_fns): New functions, based on implementation in c-common.c (cgraph_finalize_function): Call record_cdtor_fn. (cgraph_optimize): Call cgraph_build_cdtor_fns. * decl.c (finish_function): Do not call c_record_cdtor_fn. (c_write_global_declarations): Do not call c_build_cdtor_fns. * c-common.c (static_ctors, static_dtors, c_record_cdtor_fn, build_cdtor, c_build_cdtor_fns): Remove. * c-common.h (static_ctors, static_dtors, c_record_cdtor_fn, c_build_cdtor_fns): Remove prototype. From-SVN: r124618
2007-05-11re PR other/31852 (Missing __builtin_memchr)Paolo Carlini9-9/+164
2007-05-11 Paolo Carlini <pcarlini@suse.de> PR other/31852 * builtin-types.def: Add BT_FN_PTR_CONST_PTR_INT_SIZE. * builtins.def: Add BUILT_IN_MEMCHR, use the latter. * builtins.c (fold_builtin_memchr): New. (expand_builtin_memchr): Call the latter. (expand_builtin, fold_builtin_3): Deal with BUILT_IN_MEMCHR. * doc/extend.texi ([Other built-in functions provided by GCC]): Document memchr. /testsuite 2007-05-11 Paolo Carlini <pcarlini@suse.de> PR other/31852 * gcc.c-torture/execute/builtins/memchr.c: New. * gcc.c-torture/execute/builtins/memchr-lib.c: New. * gcc.c-torture/execute/builtins/lib/memchr.c: New. From-SVN: r124617
2007-05-11re PR fortran/30876 (Array valued recursive function rejected)Paul Thomas6-12/+73
2007-05-11 Paul Thomas <pault@gcc.gnu.org> PR fortran/30876 * trans-expr.c (gfc_conv_function_call): Reduce indirection for direct assignments of recursive array valued functions. * primary.c (gfc_match_rvalue): Correct error for recursive function calls such that directly recursive calls of scalar function without an explicit result are disallowed. 2007-05-11 Paul Thomas <pault@gcc.gnu.org> PR fortran/30876 * gfortran.dg/recursive_reference_1.f90: Put error at correct line. * gfortran.dg/recursive_reference_2.f90: New test. From-SVN: r124616
2007-05-11re PR fortran/30878 (Rejects function f1; namelist /nml/ f1)Paul Thomas6-5/+56
2007-05-11 Paul Thomas <pault@gcc.gnu.org> PR fortran/30878 * resolve.c (resolve_fl_namelist): It is not an error if the namelist element is the result variable of the enclosing function. Search for the symbol in current and all parent namespaces for a potential conflict. * symbol.c (check_conflict): Remove the conflict between 'in_namelist' and 'FL_PROCEDURE' because the symbol info is not available to exclude function result variables. * trans-io.c (nml_get_addr_expr): Use the fake result decl if the symbol is an implicit result variable. 2007-05-11 Paul Thomas <pault@gcc.gnu.org> PR fortran/30878 * gfortran.dg/namelist_29.f90: New test. From-SVN: r124615
2007-05-11s390.md (GPR0_REGNUM, [...]): Constants added.Andreas Krebbel2-0/+172
2007-05-11 Andreas Krebbel <krebbel1@de.ibm.com> * config/s390/s390.md (GPR0_REGNUM, FPR0_REGNUM, FPR2_REGNUM, PFPO_CONVERT, PFPO_OP_TYPE_SF, PFPO_OP_TYPE_DF, PFPO_OP_TYPE_TF, PFPO_OP_TYPE_SD, PFPO_OP_TYPE_DD, PFPO_OP_TYPE_TD, PFPO_OP0_TYPE_SHIFT, PFPO_OP1_TYPE_SHIFT): Constants added. (DFP_ALL): Mode macro defined. ("*trunc<BFP:mode><DFP_ALL:mode>2", "*trunc<DFP_ALL:mode><BFP:mode>2", "*extend<BFP:mode><DFP_ALL:mode>2", "*extend<DFP_ALL:mode><BFP:mode>2"): Insn definitions added. ("trunc<BFP:mode><DFP_ALL:mode>2", "trunc<DFP_ALL:mode><BFP:mode>2", "extend<BFP:mode><DFP_ALL:mode>2", "extend<DFP_ALL:mode><BFP:mode>2"): Expanders added. From-SVN: r124614
2007-05-11re PR fortran/31474 (ENTRY & procedural pointer: insert_bbt(): Duplicate key ↵Paul Thomas4-6/+65
found!) 2007-05-11 Paul Thomas <pault@gcc.gnu.org> PR fortran/31474 * decl.c (get_proc_name): If an entry has already been declared as a module procedure, pick up the symbol and the symtree and use them for the entry. 2007-05-11 Paul Thomas <pault@gcc.gnu.org> PR fortran/31474 * gfortran.dg/entry_10.f90: New test. From-SVN: r124613
2007-05-11Daily bump.GCC Administrator1-1/+1
From-SVN: r124607
2007-05-10re PR tree-optimization/31885 (Not removing empty loop, scev not finding the ↵Zdenek Dvorak5-5/+38
correct result) PR tree-optimization/31885 * tree-chrec.c (chrec_contains_undetermined): Do not consider NULL_TREE to be undetermined. (automatically_generated_chrec_p): Return false for NULL. * gcc.dg/tree-ssa/loop-29.c: New test. From-SVN: r124602
2007-05-10assumed_dummy_1.f90: Fix dg directive.Dominique d'Humieres5-4/+11
2007-05-10 Dominique d'Humieres <dominiq@lps.ens.fr> * assumed_dummy_1.f90: Fix dg directive. * char_initialiser_actual.f90: Likewise. * nested_modules_2.f90: Likewise. * shift-alloc.f90: Likewise. From-SVN: r124598
2007-05-10Improve comment...Mike Stump1-2/+3
From-SVN: r124597
2007-05-10bfin.h (MOVE_RATIO): Define.Bernd Schmidt2-0/+8
* config/bfin/bfin.h (MOVE_RATIO): Define. From-SVN: r124596
2007-05-10config.gcc (sparc-wrs-vxworks): New target.Richard Sandiford8-20/+184
gcc/ * config.gcc (sparc-wrs-vxworks): New target. * config/sparc/vxworks.h, config/sparc/t-vxworks: New files. * config/sparc/sparc-protos.h (sparc_emit_call_insn): Declare. * config/sparc/sparc.h: Include vxworks-dummy.h. (PRINT_OPERAND_ADDRESS): Extend SYMBOL_REF handling to include LABEL_REFs too. * config/sparc/sparc.c (sparc_expand_move): Don't assume that _GLOBAL_OFFSET_TABLE_ - label_ref is a link-time constant on VxWorks. (legitimize_pic_address): Handle LABEL_REFs like SYMBOL_REFs on VxWorks. (load_pic_register): Use gen_vxworks_load_got for VxWorks. (sparc_emit_call_insn): New function. (sparc_function_ok_for_sibcall): Restrict sibcalls to locally-binding functions when generating VxWorks PIC. * config/sparc/sparc.md (vxworks_load_got): New pattern. (call, call_value): Use sparc_emit_call_insn instead of emit_call_insn. libgcc/ * config.host (sparc-wrs-vxworks): New target. From-SVN: r124595
2007-05-1020070507-1.c: Disable for non-pic targets.Andreas Krebbel2-1/+5
2007-05-10 Andreas Krebbel <krebbel1@de.ibm.com> * gcc.dg/20070507-1.c: Disable for non-pic targets. From-SVN: r124593
2007-05-10re PR libfortran/31880 ([4.2 only] silent data corruption in gfortran read ↵Jerry DeLisle1-1/+1
statement) 2007-05-09 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libfortran/31880 * gfortran.dg/unf_read_corrupted_2.f90: Fix test. From-SVN: r124591
2007-05-10re PR libfortran/31880 ([4.2 only] silent data corruption in gfortran read ↵Jerry DeLisle2-0/+32
statement) 2007-05-09 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libfortran/31880 * gfortran.dg/unf_read_corrupted_2.f90: New test. From-SVN: r124590
2007-05-10* g++.dg/parse/attr-externally-visible-1.C: Likewise.Mike Stump2-0/+2
From-SVN: r124589
2007-05-10Daily bump.GCC Administrator1-1/+1
From-SVN: r124586
2007-05-09Fix whitespacingMike Stump1-1/+1
From-SVN: r124583
2007-05-09* g++.dg/other/first-global.C: Add -fpie for darwin.Mike Stump2-0/+6
From-SVN: r124580
2007-05-09* config/xtensa/xtensa.c (xtensa_output_literal): Don't use #if.Bob Wilson2-7/+11
From-SVN: r124579
2007-05-09xtensa.c (xtensa_output_literal): Mask out high bits for floating-point ↵Bob Wilson2-2/+17
values if HOST_BITS_PER_LONG > 32. * config/xtensa/xtensa.c (xtensa_output_literal): Mask out high bits for floating-point values if HOST_BITS_PER_LONG > 32. Use split_double instead of operand_subword. From-SVN: r124578