Jason Merrill [Wed, 22 Mar 2006 05:08:48 +0000 (00:08 -0500)]
* builtins.c (expand_builtin_fork_or_exec): Fix pasto.
From-SVN: r112275
Jason Merrill [Wed, 22 Mar 2006 04:20:52 +0000 (23:20 -0500)]
re PR middle-end/20297 (#pragma GCC visibility isn't properly handled for builtin functions)
PR middle-end/20297
* expr.c (init_block_move_fn): Force default visibility.
(init_block_clear_fn): Likewise.
* builtins.c (expand_builtin_fork_or_exec): Likewise.
* targhooks.c (default_external_stack_protect_fail): Likewise.
From-SVN: r112270
GCC Administrator [Wed, 22 Mar 2006 00:17:30 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r112268
Janis Johnson [Tue, 21 Mar 2006 23:50:37 +0000 (23:50 +0000)]
gcc-dg.exp (cleanup-modules): New proc.
* lib/gcc-dg.exp (cleanup-modules): New proc.
* gfortran.dg/allocatable_function_1.f90,
gfortran.dg/allocate_char_star_scalar_1.f90,
gfortran.dg/assumed_charlen_function_1.f90,
gfortran.dg/assumed_dummy_1.f90,
gfortran.dg/assumed_shape_ranks_1.f90,
gfortran.dg/assumed_shape_ranks_2.f90,
gfortran.dg/assumed_size_dt_dummy.f90,
gfortran.dg/auto_char_dummy_array_1.f90,
gfortran.dg/auto_char_len_3.f90,
gfortran.dg/automatic_module_variable.f90,
gfortran.dg/bad_automatic_objects_1.f90,
gfortran.dg/char_array_constructor.f90,
gfortran.dg/char_array_structure_constructor.f90,
gfortran.dg/char_result_11.f90, gfortran.dg/char_result_9.f90,
gfortran.dg/contained_1.f90, gfortran.dg/convert_1.f90,
gfortran.dg/cray_pointers_5.f90, gfortran.dg/data_constraints_1.f90,
gfortran.dg/default_initialization.f90, gfortran.dg/der_charlen_1.f90,
gfortran.dg/der_io_2.f90, gfortran.dg/der_io_3.f90,
gfortran.dg/derived_pointer_recursion.f90,
gfortran.dg/derived_recursion.f90, gfortran.dg/der_pointer_1.f90,
gfortran.dg/der_pointer_3.f90, gfortran.dg/der_pointer_4.f90,
gfortran.dg/dummy_functions_1.f90,
gfortran.dg/elemental_initializer_1.f90,
gfortran.dg/elemental_non_intrinsic_dummy_1.f90,
gfortran.dg/elemental_pointer_1.f90,
gfortran.dg/elemental_subroutine_1.f90,
gfortran.dg/elemental_subroutine_2.f90, gfortran.dg/entry_1.f90,
gfortran.dg/entry_3.f90, gfortran.dg/enum_10.f90,
gfortran.dg/equiv_constraint_3.f90, gfortran.dg/func_derived_1.f90,
gfortran.dg/func_derived_2.f90, gfortran.dg/func_derived_3.f90,
gfortran.dg/generic_1.f90, gfortran.dg/generic_2.f90,
gfortran.dg/generic_3.f90, gfortran.dg/generic_4.f90,
gfortran.dg/global_references_1.f90,
gfortran.dg/host_used_types_1.f90, gfortran.dg/implicit_1.f90,
gfortran.dg/implicit_2.f90, gfortran.dg/implicit_actual.f90,
gfortran.dg/initialization_1.f90, gfortran.dg/int_1.f90,
gfortran.dg/intent_used_1.f90, gfortran.dg/interface_1.f90,
gfortran.dg/interface_2.f90, gfortran.dg/internal_references_2.f90,
gfortran.dg/io_constraints_1.f90, gfortran.dg/io_constraints_2.f90,
gfortran.dg/large_integer_kind_1.f90,
gfortran.dg/large_real_kind_1.f90,
gfortran.dg/module_blank_common.f90, gfortran.dg/module_commons_1.f90,
gfortran.dg/module_double_reuse.f90,
gfortran.dg/module_equivalence_1.f90,
gfortran.dg/module_interface_1.f90,
gfortran.dg/module_parameter_array_refs_1.f90,
gfortran.dg/named_interface.f90, gfortran.dg/namelist_14.f90,
gfortran.dg/namelist_15.f90, gfortran.dg/namelist_1.f90,
gfortran.dg/namelist_4.f90, gfortran.dg/namelist_use.f90,
gfortran.dg/namelist_use_only.f90, gfortran.dg/nested_modules_1.f90,
gfortran.dg/nested_modules_2.f90, gfortran.dg/nested_modules_3.f90,
gfortran.dg/nested_modules_4.f90, gfortran.dg/nested_modules_5.f90,
gfortran.dg/parens_5.f90, gfortran.dg/parent_result_ref_4.f90,
gfortran.dg/pr15164.f90, gfortran.dg/pr16861.f90,
gfortran.dg/pr17615.f90, gfortran.dg/pr19926.f90,
gfortran.dg/pr21177.f90, gfortran.dg/pr26246_1.f90,
gfortran.dg/private_type_1.f90, gfortran.dg/private_type_2.f90,
gfortran.dg/private_type_3.f90, gfortran.dg/private_type_4.f90,
gfortran.dg/procedure_lvalue.f90, gfortran.dg/pure_byref_3.f90,
gfortran.dg/same_name_1.f90,
gfortran.dg/sibling_dummy_procedure_1.f90,
gfortran.dg/sibling_dummy_procedure_2.f90,
gfortran.dg/sibling_dummy_procedure_3.f90,
gfortran.dg/substr_1.f90, gfortran.dg/substring_equivalence.f90,
gfortran.dg/use_allocated_1.f90, gfortran.dg/used_dummy_types_1.f90,
gfortran.dg/used_dummy_types_2.f90,
gfortran.dg/used_dummy_types_3.f90,
gfortran.dg/used_dummy_types_4.f90,
gfortran.dg/used_dummy_types_5.f90,
gfortran.dg/used_interface_ref.f90, gfortran.dg/used_types_1.f90,
gfortran.dg/userdef_operator_1.f90: Use it.
From-SVN: r112264
Richard Sandiford [Tue, 21 Mar 2006 21:49:13 +0000 (21:49 +0000)]
predicates.md (const_call_insn_operand): Allow direct calls to locally-defined functions if TARGET_ABSOLUTE_ABICALLS.
* config/mips/predicates.md (const_call_insn_operand): Allow direct
calls to locally-defined functions if TARGET_ABSOLUTE_ABICALLS.
* config/mips/mips.md (jal_macro): Test TARGET_ABSOLUTE_ABICALLS.
Use TARGET_OLDABI instead of !TARGET_NEWABI.
(loadgp): Use mips_current_loadgp_style.
(loadgp_noshared): New pattern.
(sibcall_internal): Use MIPS_CALL.
(sibcall_value_internal): Likewise.
(sibcall_value_multiple_internal): Likewise.
(call_internal): Likewise.
(call_value_internal): Likewise.
(call_value_multiple_internal): Likewise.
(call_split): Use MIPS_CALL and add an 'S' constraint.
(call_value_split): Likewise.
(call_value_multiple_split): Likewise.
* config/mips/mips.opt (-mabicalls): Tweak docstring.
(-mshared): New option.
* config/mips/mips-protos.h (mips_loadgp_style): New enum.
(mips_current_loadgp_style): Declare.
* config/mips/mips.c (mips_classify_symbol): Avoid using
SYMBOL_GOT_LOCAL if TARGET_ABSOLUTE_ABICALLS. Use SYMBOL_GENERAL
rather than SYMBOL_GOT_GLOBAL for locally-binding symbols if
TARGET_ABSOLUTE_ABICALLS.
(override_options): Adjust comments. Improve the warning that is
issued when -mabicalls and -G are used together.
(mips_file_start): Remove comment.
(mips_current_loadgp_style): New function.
(mips_gnu_local_gp): New variable.
(mips_emit_loadgp): Use mips_current_loadgp_style. Handle
LOADGP_ABSOLUTE.
(mips_output_function_prologue): Use mips_current_laodgp_style.
(mips_expand_prologue): Call mips_emit_loadgp before emitting
the cprestore instruction.
(mips_extra_live_on_entry): Fix reversed test. Don't make $25
live for TARGET_ABSOLUTE_ABICALLS.
* config/mips/mips.h (TARGET_ABSOLUTE_ABICALLS): New macro.
(ASM_SPEC): Pass down -mshared and -mno-shared.
(MIPS_CALL): New macro.
* config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Remove __ABICALLS__
definition.
* doc/invoke.texi (-mabicalls): Update documentation.
(-mshared): Document.
From-SVN: r112261
Steve Ellcey [Tue, 21 Mar 2006 21:19:10 +0000 (21:19 +0000)]
unwind-hpux.c: New file.
* config/ia64/unwind-hpux.c: New file.
* config/ia64/t-hpux: Add unwind-hpux.c to libgcc.
From-SVN: r112259
Kaveh R. Ghazi [Tue, 21 Mar 2006 21:17:54 +0000 (21:17 +0000)]
advance.f90, [...]: Delete temp file.
* gfortran.dg/advance.f90, gfortran.dg/backspace_2.f,
gfortran.dg/comma.f, gfortran.dg/direct_io_2.f90,
gfortran.dg/tl_editing.f90, gfortran.dg/unf_io_convert_1.f90,
gfortran.dg/write_back.f,
gfortran.fortran-torture/execute/inquire_1.f90,
gfortran.fortran-torture/execute/inquire_3.f90: Delete temp file.
From-SVN: r112258
Steve Ellcey [Tue, 21 Mar 2006 21:12:00 +0000 (21:12 +0000)]
re PR libgomp/26384 (FAIL: libgomp.c/appendix-a/a.18.1.c execution test)
PR libgomp/26384
* config/pa/pa64-hpux.h (LIB_SPEC): Fix for -mt and -pthread options.
From-SVN: r112257
Jeff Law [Tue, 21 Mar 2006 21:01:42 +0000 (14:01 -0700)]
tree-vrp.c (extract_range_from_unary_expr): Derive ranges for type conversions of a VR_VARYING source to a wider type.
* tree-vrp.c (extract_range_from_unary_expr): Derive ranges for
type conversions of a VR_VARYING source to a wider type.
* gcc.dg/tree-ssa/vrp28.c: New test.
From-SVN: r112256
Eric Botcazou [Tue, 21 Mar 2006 20:59:11 +0000 (21:59 +0100)]
config.gcc (i[34567]86-*-solaris2*): Add config/sol2-10.h to tm_file on Solaris 10 and later.
2006-03-21 Eric Botcazou <ebotcazou@libertysurf.fr>
* config.gcc (i[34567]86-*-solaris2*): Add config/sol2-10.h to
tm_file on Solaris 10 and later.
(sparc64-*-solaris2*): Likewise.
(sparc-*-solaris2*): Likewise.
* config/sol26.h: Rename to config/sol2-6.h.
* config/sol2-10.h: New file.
testsuite/
* gcc.dg/builtins-config.h (Solaris case): Define HAVE_C99_RUNTIME
if _STDC_C99 is defined.
* gcc.dg/builtins-18.c: Pass -std=c99 on Solaris.
* gcc.dg/builtins-20.c: Likewise.
* gcc.dg/builtins-53.c: Likewise.
* gcc.dg/single-precision-constant.c: Likewise. Also pass
-mmacosx-version-min=10.3 on PowerPC/Darwin.
From-SVN: r112255
Andrew Pinski [Tue, 21 Mar 2006 18:58:50 +0000 (18:58 +0000)]
re PR tree-optimization/26781 (ICE in tree-ssa-pre.c at create_component_ref_by_piec)
2006-03-21 Andrew Pinski <pinskia@physics.uc.edu>
PR tree-opt/26781
* tree-ssa-pre.c (create_component_ref_by_pieces):
Handle STRING_CST.
2006-03-21 Andrew Pinski <pinskia@physics.uc.edu>
PR tree-opt/26781
* gcc.c-torture/compile/pr26781-1.c: New test.
* gcc.c-torture/compile/pr26781-2.c: New test.
From-SVN: r112254
Jakub Jelinek [Tue, 21 Mar 2006 18:35:20 +0000 (19:35 +0100)]
re PR c++/26690 (ICE in get_callee_fndecl, at tree.c:5806 with OpenMP)
PR c++/26690
* tree.c (get_callee_fndecl): If CALL is error_mark_node,
return it immediately.
* g++.dg/gomp/pr26690-1.C: New test.
* g++.dg/gomp/pr26690-2.C: New test.
From-SVN: r112253
Michael Matz [Tue, 21 Mar 2006 17:27:56 +0000 (17:27 +0000)]
genautomata.c (<struct state>, [...]): New members.
* genautomata.c (<struct state>, num_out_arcs, presence_signature):
New members.
(remove_arc, add_arc): Update num_out_arcs member.
(set_out_arc_insns_equiv_num): Returns nothing instead of number
of out arcs.
(cache_presence): New function.
(compare_states_for_equiv): New function.
(state_is_differed): Don't take number of outargs, adjust callers.
Use new invariant for speeding up.
(init_equiv_class): Create initial classes based on sorted
input.
(partition_equiv_class): Don't track out_arcs_num.
(evaluate_equiv_classes): Call cache_presence on all states and
sort them.
From-SVN: r112252
Jakub Jelinek [Tue, 21 Mar 2006 16:21:24 +0000 (17:21 +0100)]
re PR c++/26691 (Wrong code for constructor with default value)
PR c++/26691
* cp-gimplify.c (cxx_omp_clause_apply_fn): Handle default arguments.
* testsuite/libgomp.c++/pr26691.C: New test.
From-SVN: r112251
Jason Merrill [Tue, 21 Mar 2006 16:15:25 +0000 (11:15 -0500)]
re PR c++/21581 ((optimisation) Functions in anonymous namespaces should default to "hidden" visibility)
PR c++/21581
* parser.c (cp_parser_declaration): Support attributes on
anonymous namespaces.
* name-lookup.c (push_namespace_with_attribs): Anonymous
namespaces default to hidden visibility.
From-SVN: r112250
Bernd Schmidt [Tue, 21 Mar 2006 13:07:33 +0000 (13:07 +0000)]
bfin-protos.h (bfin_dsp_memref_p): Declare.
* config/bfin/bfin-protos.h (bfin_dsp_memref_p): Declare.
* config/bfin/bfin.c (bfin_dsp_memref_p): New function.
(bfin_valid_reg_p): Test for pseudos explicitly and use only
REGNO_MODE_CODE_OK_FOR_BASE_P. New args MODE and OUTER_CODE; all
callers changed.
* config/bfin/bfin.h (PREG_P): Use P_REGNO_P.
(IREG_P, P_REGNO_P, I_REGNO_P): New macros.
(enum reg_class, REG_CLASS_CONTENTS): Add IPREGS.
(BASE_REG_CLASS, REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P,
REGNO_OK_FOR_BASE_STRICT_P, REGNO_OK_FOR_BASE_NONSTRICT_P): Delete
macros.
(IREG_POSSIBLE_P, MODE_CODE_BASE_REG_CLASS,
REGNO_MODE_CODE_OK_FOR_BASE_P): New macros.
(REGNO_REG_CLASS): ARGP is in PREGS.
* config/bfin/bfin.md (movhi_insn): Allow for addresses containing
IREGS.
(zero_extendhisi2, extendhisi2): Likewise; changed to define_and_split
to deal with those addresses.
* addresses.h: New file.
* caller-save.c: Include "addresses.h".
(init_caller_save): Use new base_reg_class function.
* rtl-factoring.c: Include "addresses.h".
(recompute_gain_for_pattern_seq): Use new function ok_for_base_p_1.
* recog.c: Include "addresses.h".
(preprocess_constraints): Use new base_reg_class function.
* regrename.c: Include "addresses.h".
(scan_rtx_address): Use new regno_ok_for_base_p and base_reg_class
functions. Keep track of a new var INDEX_CODE to compute valid
classes.
(replace_oldest_value_addr): Likewise.
(replace_oldest_value_mem): Use base_reg_class.
* reload.c: Include "addresses.h".
(REGNO_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P): Delete macros.
(find_reloads): Use new base_reg_class function.
(find_reloads_address): Likewise; also use regno_ok_for_base_p.
(find_reloads_address_1): Likewise. New args OUTER_CODE and INDEX_CODE;
all callers and prototype changed.
* reload1.c: Include "addresses.h".
(maybe_fix_stack_asms): Use base_reg_class.
* regclass.c: Include "addresses.h".
(ok_for_index_p_nonstrict, ok_for_base_p_nonstrict): New functions.
(init_reg_autoinc): Use new base_reg_class function.
(record_reg_classes): Likewise.
(record_address_regs): Delete arg CLASS; add args CONTEXT, MODE,
OUTER_CODE and INDEX_CODE. All callers and prototype changed.
Use new args to compute necessary class.
* Makefile.in (regclass.o, reload.o, reload1.o, caller-save.o, recog.o,
regrename.o, rtl-factoring.o): Update dependencies.
* doc/tm.texi (MODE_CODE_BASE_REG_CLASS): Document.
(REGNO_MODE_CODE_OK_FOR_BASE_P): Likewise.
(REG_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_REG_BASE_P,
REG_OK_FOR_INDEX_P): Delete documentation.
From-SVN: r112248
Paolo Carlini [Tue, 21 Mar 2006 12:25:11 +0000 (12:25 +0000)]
re PR libstdc++/25482 (Specialize (overload) std::copy/find for streambuf iterators)
2006-03-21 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/25482
* include/bits/stl_algobase.h (__copy_aux(_CharT*, _CharT*,
ostreambuf_iterator<_CharT>), __copy_aux(const _CharT*, const _CharT*,
ostreambuf_iterator<_CharT>), __copy_aux(istreambuf_iterator<_CharT>,
istreambuf_iterator<_CharT>, _CharT*), copy(istreambuf_iterator<_CharT>,
istreambuf_iterator<_CharT>, ostreambuf_iterator<_CharT>)): Declare.
* include/bits/stl_algo.h (find(istreambuf_iterator<_CharT>,
istreambuf_iterator<_CharT>, _CharT)): Likewise.
* include/bits/streambuf_iterator.h (copy(istreambuf_iterator<_CharT>,
istreambuf_iterator<_CharT>, ostreambuf_iterator<_CharT>),
__copy_aux(_CharT*, _CharT*, ostreambuf_iterator<_CharT>),
__copy_aux(const _CharT*, const _CharT*, ostreambuf_iterator<_CharT>),
__copy_aux(istreambuf_iterator<_CharT>, istreambuf_iterator<_CharT>,
_CharT*), find(istreambuf_iterator<_CharT>, istreambuf_iterator<_CharT>,
_CharT)): Define.
(class istreambuf_iterator<>, class ostreambuf_iterator<>): Declare
friends.
* include/std/std_streambuf.h (class basic_streambuf<>): Likewise.
* include/bits/cpp_type_traits.h (struct __is_char<>): Add.
* testsuite/25_algorithms/copy/streambuf_iterators/char/1.cc: New.
* testsuite/25_algorithms/copy/streambuf_iterators/char/2.cc: New.
* testsuite/25_algorithms/copy/streambuf_iterators/char/3.cc: New.
* testsuite/25_algorithms/copy/streambuf_iterators/char/4.cc: New.
* testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/1.cc: New.
* testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/2.cc: New.
* testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/3.cc: New.
* testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/4.cc: New.
* testsuite/25_algorithms/find/istreambuf_iterators/char/1.cc: New.
* testsuite/25_algorithms/find/istreambuf_iterators/char/2.cc: New.
* testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/1.cc: New.
* testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/2.cc: New.
* testsuite/performance/25_algorithms/copy_streambuf_iterators.cc: New.
* testsuite/performance/25_algorithms/find_istreambuf_iterators.cc: New.
From-SVN: r112247
Alexey Starovoytov [Tue, 21 Mar 2006 11:15:44 +0000 (11:15 +0000)]
config.gcc (sparc-*-solaris2*): Change the default CPU setting from V7 to V9 for Solaris 7 and above.
* config.gcc (sparc-*-solaris2*): Change the default CPU setting
from V7 to V9 for Solaris 7 and above.
From-SVN: r112246
Toon Moene [Tue, 21 Mar 2006 06:32:57 +0000 (07:32 +0100)]
options.c (gfc_init_options): Initialize flag_argument_noalias to 3.
2006-03-21 Toon Moene <toon@moene.indiv.nluug.nl>
* fortran/options.c (gfc_init_options): Initialize
flag_argument_noalias to 3.
* doc/invoke.texi: Document new flag -fargument-noalias-anything.
* tree-ssa-alias.c (may_alias_p): If flag_argument_noalias > 2,
argument pointers may not alias any other storage.
* common.opt: Define option -fargument-noalias-anything.
* tree-ssa-structalias.c (intra_create_variable_infos): Fortran
alias semantics is specified by flag_argument_noalias > 2.
From-SVN: r112243
Jeff Law [Tue, 21 Mar 2006 05:07:37 +0000 (22:07 -0700)]
tree-pass.h (pass_phi_only_copy_prop): Delete.
* tree-pass.h (pass_phi_only_copy_prop): Delete.
(pass_phi_only_cprop): Declare.
* passes.c (init_optimization_passes): Replace pass_phi_only_copy_prop
with phi_only_cprop
* tree-ssa-dom.c (degenerate_phi_result): New function.
(remove_stmt_or_phi, get_lhs_or_phi_result): Likewise.
(get_rhs_or_phi_arg, propagate_rhs_into_lhs): Likewise.
(eliminate_const_or_copy, eliminate_degenerate_phis_1): Likewise.
(eliminate_degenerate_phis): Likewise.
(pass_phi_only_cprop): New pass descriptor.
* tree-ssa-copy.c (init_copy_prop): Lose PHIS_ONLY argument and
support code. Callers updated.
(execute_copy_prop, do_copy_prop): Likewise and corresponding changes.
(store_copy_prop): Likewise.
(do_phi_only_copy_prop, pass_phi_only_copy_prop): Remove.
* gcc.dg/tree-ssa/pr21829.c: New test.
From-SVN: r112242
Jason Merrill [Tue, 21 Mar 2006 04:00:36 +0000 (23:00 -0500)]
use scan-hidden
From-SVN: r112241
Jeff Law [Tue, 21 Mar 2006 03:44:56 +0000 (20:44 -0700)]
20030807-2.c: Make sure to run VRP.
* gcc.dg/tree-ssa/
20030807-2.c: Make sure to run VRP.
From-SVN: r112240
Jason Merrill [Tue, 21 Mar 2006 03:19:06 +0000 (22:19 -0500)]
re PR c++/21764 (visibility attributes on namespace scope)
PR c++/21764
* c-pragma.c (visstack): Move out of handle_pragma_visibility.
(push_visibility, pop_visibility): Likewise.
* c-pragma.h: Declare them.
* cp/name-lookup.h (struct cp_binding_level): Add has_visibility
bitfield.
* cp/name-lookup.c: Include c-pragma.h.
(push_namespace_with_attribs): Split out from push_namespace.
Push visibility if appropriate. Set TREE_PUBLIC on namespaces.
(leave_scope): Pop visibility if appropriate.
* cp/parser.c (cp_parser_declaration, cp_parser_namespace_name): Allow
attributes on namespace declarations.
PR c++/19238
* cp/decl.c (cp_finish_decl): Call determine_visibility later.
(start_preparsed_function): Likewise.
* cp/cp-tree.h (CP_TYPE_CONTEXT, TYPE_NAMESPACE_SCOPE_P): New macros.
(TYPE_CLASS_SCOPE_P, TYPE_FUNCTION_SCOPE_P): New macros.
* cp/decl2.c (determine_visibility_from_class): Split out from...
(determine_visibility): ...here. Handle function scope and
nested classes.
(import_export_decl): Move visibility handling to
determine_visibility_from_class.
From-SVN: r112239
GCC Administrator [Tue, 21 Mar 2006 00:17:17 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r112236
Richard Sandiford [Mon, 20 Mar 2006 23:22:13 +0000 (23:22 +0000)]
target-supports.exp (check_no_compiler_messages): New procedure.
* lib/target-supports.exp (check_no_compiler_messages): New procedure.
(check_visibility_available): Use it.
(check_effective_target_default_packed): Likewise.
(check_effective_target_pcc_bitfield_type_matters): Likewise.
(check_effective_target_fopenmp): Likewise.
(check_effective_target_freorder): Likewise.
(check_effective_target_fpic): Likewise.
(check_named_sections_available): Likewise.
(check_effective_target_ilp32): Likewise.
(check_effective_target_lp64): Likewise.
From-SVN: r112232
Kaz Kojima [Mon, 20 Mar 2006 22:58:32 +0000 (22:58 +0000)]
sh.c (untangle_mova): Initialize n_addr and n_target.
* config/sh/sh.c (untangle_mova): Initialize n_addr and n_target.
* config/sh/sh.c (find_regmode_weight): Change the type of the first
parameter and use get_ebb_head_tail.
(sh_md_init_global): Adjust uses of find_regmode_weight.
From-SVN: r112231
Thomas Koenig [Mon, 20 Mar 2006 21:56:00 +0000 (21:56 +0000)]
re PR fortran/20935 (failed assertion for maxloc(n, mask=.true.))
2006-03-20 Thomas Koenig <Thomas.Koenig@online.de>
PR fortran/20935
* iresolve.c (gfc_resolve_maxloc): If mask is scalar,
prefix the function name with an "s". If the mask is scalar
or if its kind is smaller than gfc_default_logical_kind,
coerce it to default kind.
(gfc_resolve_maxval): Likewise.
(gfc_resolve_minloc): Likewise.
(gfc_resolve_minval): Likewise.
(gfc_resolve_product): Likewise.
(gfc_resolve_sum): Likewise.
2006-03-20 Thomas Koenig <Thomas.Koenig@online.de>
PR fortran/20935
* m4/iforeach.m4: Add SCALAR_FOREACH_FUNCTION macro.
* m4/ifunction.m4: Add SCALAR_ARRAY_FUNCTION macro.
* m4/minloc0.m4: Use SCALAR_FOREACH_FUNCTION.
* m4/minloc1.m4: Use SCALAR_ARRAY_FUNCTION.
* m4/maxloc0.m4: Use SCALAR_FOREACH_FUNCTION.
* m4/maxloc1.m4: Use SCALAR_ARRAY_FUNCTION.
* m4/minval.m4: Likewise.
* m4/maxval.m4: Likewise.
* m4/product.m4: Likewise.
* m4/sum.m4: Likewise.
* minloc0_16_i16.c : Regenerated.
* minloc0_16_i4.c : Regenerated.
* minloc0_16_i8.c : Regenerated.
* minloc0_16_r10.c : Regenerated.
* minloc0_16_r16.c : Regenerated.
* minloc0_16_r4.c : Regenerated.
* minloc0_16_r8.c : Regenerated.
* minloc0_4_i16.c : Regenerated.
* minloc0_4_i4.c : Regenerated.
* minloc0_4_i8.c : Regenerated.
* minloc0_4_r10.c : Regenerated.
* minloc0_4_r16.c : Regenerated.
* minloc0_4_r4.c : Regenerated.
* minloc0_4_r8.c : Regenerated.
* minloc0_8_i16.c : Regenerated.
* minloc0_8_i4.c : Regenerated.
* minloc0_8_i8.c : Regenerated.
* minloc0_8_r10.c : Regenerated.
* minloc0_8_r16.c : Regenerated.
* minloc0_8_r4.c : Regenerated.
* minloc0_8_r8.c : Regenerated.
* minloc1_16_i16.c : Regenerated.
* minloc1_16_i4.c : Regenerated.
* minloc1_16_i8.c : Regenerated.
* minloc1_16_r10.c : Regenerated.
* minloc1_16_r16.c : Regenerated.
* minloc1_16_r4.c : Regenerated.
* minloc1_16_r8.c : Regenerated.
* minloc1_4_i16.c : Regenerated.
* minloc1_4_i4.c : Regenerated.
* minloc1_4_i8.c : Regenerated.
* minloc1_4_r10.c : Regenerated.
* minloc1_4_r16.c : Regenerated.
* minloc1_4_r4.c : Regenerated.
* minloc1_4_r8.c : Regenerated.
* minloc1_8_i16.c : Regenerated.
* minloc1_8_i4.c : Regenerated.
* minloc1_8_i8.c : Regenerated.
* minloc1_8_r10.c : Regenerated.
* minloc1_8_r16.c : Regenerated.
* minloc1_8_r4.c : Regenerated.
* minloc1_8_r8.c : Regenerated.
* maxloc0_16_i16.c : Regenerated.
* maxloc0_16_i4.c : Regenerated.
* maxloc0_16_i8.c : Regenerated.
* maxloc0_16_r10.c : Regenerated.
* maxloc0_16_r16.c : Regenerated.
* maxloc0_16_r4.c : Regenerated.
* maxloc0_16_r8.c : Regenerated.
* maxloc0_4_i16.c : Regenerated.
* maxloc0_4_i4.c : Regenerated.
* maxloc0_4_i8.c : Regenerated.
* maxloc0_4_r10.c : Regenerated.
* maxloc0_4_r16.c : Regenerated.
* maxloc0_4_r4.c : Regenerated.
* maxloc0_4_r8.c : Regenerated.
* maxloc0_8_i16.c : Regenerated.
* maxloc0_8_i4.c : Regenerated.
* maxloc0_8_i8.c : Regenerated.
* maxloc0_8_r10.c : Regenerated.
* maxloc0_8_r16.c : Regenerated.
* maxloc0_8_r4.c : Regenerated.
* maxloc0_8_r8.c : Regenerated.
* maxloc1_16_i16.c : Regenerated.
* maxloc1_16_i4.c : Regenerated.
* maxloc1_16_i8.c : Regenerated.
* maxloc1_16_r10.c : Regenerated.
* maxloc1_16_r16.c : Regenerated.
* maxloc1_16_r4.c : Regenerated.
* maxloc1_16_r8.c : Regenerated.
* maxloc1_4_i16.c : Regenerated.
* maxloc1_4_i4.c : Regenerated.
* maxloc1_4_i8.c : Regenerated.
* maxloc1_4_r10.c : Regenerated.
* maxloc1_4_r16.c : Regenerated.
* maxloc1_4_r4.c : Regenerated.
* maxloc1_4_r8.c : Regenerated.
* maxloc1_8_i16.c : Regenerated.
* maxloc1_8_i4.c : Regenerated.
* maxloc1_8_i8.c : Regenerated.
* maxloc1_8_r10.c : Regenerated.
* maxloc1_8_r16.c : Regenerated.
* maxloc1_8_r4.c : Regenerated.
* maxloc1_8_r8.c : Regenerated.
* maxval_i16.c : Regenerated.
* maxval_i4.c : Regenerated.
* maxval_i8.c : Regenerated.
* maxval_r10.c : Regenerated.
* maxval_r16.c : Regenerated.
* maxval_r4.c : Regenerated.
* maxval_r8.c : Regenerated.
* minval_i16.c : Regenerated.
* minval_i4.c : Regenerated.
* minval_i8.c : Regenerated.
* minval_r10.c : Regenerated.
* minval_r16.c : Regenerated.
* minval_r4.c : Regenerated.
* minval_r8.c : Regenerated.
* sum_c10.c : Regenerated.
* sum_c16.c : Regenerated.
* sum_c4.c : Regenerated.
* sum_c8.c : Regenerated.
* sum_i16.c : Regenerated.
* sum_i4.c : Regenerated.
* sum_i8.c : Regenerated.
* sum_r10.c : Regenerated.
* sum_r16.c : Regenerated.
* sum_r4.c : Regenerated.
* sum_r8.c : Regenerated.
* product_c10.c : Regenerated.
* product_c16.c : Regenerated.
* product_c4.c : Regenerated.
* product_c8.c : Regenerated.
* product_i16.c : Regenerated.
* product_i4.c : Regenerated.
* product_i8.c : Regenerated.
* product_r10.c : Regenerated.
* product_r16.c : Regenerated.
* product_r4.c : Regenerated.
* product_r8.c : Regenerated.
2006-03-20 Thomas Koenig <Thomas.Koenig@online.de>
PR fortran/20935
* gfortran.dg/scalar_mask_2.f90: New test case.
From-SVN: r112230
Steven Bosscher [Mon, 20 Mar 2006 21:22:55 +0000 (21:22 +0000)]
function.h (struct function): Rename to x_stack_check_probe_note.
* function.h (struct function) <x_tail_recursion_reentry>:
Rename to x_stack_check_probe_note.
(tail_recursion_reentry): Rename to stack_check_probe_note.
* function.c: Replace tail_recursion_reentry with
stack_check_probe_note everywhere.
(expand_function_start): Only emit a note for
stack_check_probe_note with -fstack-protect.
* stmt.c (expand_case): Don't emit NOTE_INSN_DELETED notes.
* emit-rtl.c (remove_unnecessary_notes): Remove.
(pass_remove_unnecessary_notes): Remove.
* rtl.h (remove_unnecessary_notes): Remove prototype.
* final.c (final_start_function): Don't call remove_unnecessary_notes.
* tree-pass.h (pass_remove_unnecessary_notes): Remove.
* passes.c (pass_remove_unnecessary_notes): Don't run it.
From-SVN: r112229
Andrew Pinski [Mon, 20 Mar 2006 21:00:18 +0000 (21:00 +0000)]
re PR tree-optimization/26629 (tree load PRE does not work on array references)
2006-03-20 Andrew Pinski <pinskia@physics.uc.edu>
PR tree-opt/26629
* tree-ssa-pre (phi_translate): Handle ARRAY_REF's operands.
(valid_in_set): Handle ARRAY_REF.
Change "if min_variant or VH" to asserts.
(create_component_ref_by_pieces): Handle ARRAY_REF.
(create_expression_by_pieces): Likewise.
(can_PRE_operation): ARRAY_REFs can now be PRE'd.
2006-03-20 Andrew Pinski <pinskia@physics.uc.edu>
PR tree-opt/26629
* gcc.dg/tree-ssa/loadpre12.c: New test.
* gcc.dg/tree-ssa/loadpre13.c: New test.
* gcc.dg/tree-ssa/loadpre14.c: New test.
* gcc.dg/tree-ssa/loadpre15.c: New test.
* gcc.dg/tree-ssa/loadpre16.c: New test.
* gcc.dg/tree-ssa/loadpre17.c: New test.
* gcc.dg/tree-ssa/loadpre18.c: New test.
* gcc.dg/tree-ssa/loadpre19.c: New test.
* gcc.dg/tree-ssa/loadpre20.c: New test.
* gcc.dg/tree-ssa/loadpre21.c: New test.
* gcc.dg/tree-ssa/loadpre22.c: New test.
From-SVN: r112227
David Edelsohn [Mon, 20 Mar 2006 16:09:52 +0000 (16:09 +0000)]
genpreds.c (write_insn_extra_address_constraint): Argument `c' is operand of switch, not str[0].
* genpreds.c (write_insn_extra_address_constraint): Argument `c'
is operand of switch, not str[0].
From-SVN: r112225
Richard Guenther [Mon, 20 Mar 2006 08:55:50 +0000 (08:55 +0000)]
README: New file.
2006-03-20 Richard Guenther <rguenther@suse.de>
* README: New file.
From-SVN: r112224
Alan Modra [Mon, 20 Mar 2006 07:56:35 +0000 (07:56 +0000)]
rs6000.c (rs6000_handle_option): Use TARGET_NO_FP_IN_TOC inside #ifdef TARGET_USES_SYSV4_OPT too.
* config/rs6000/rs6000.c (rs6000_handle_option): Use
TARGET_NO_FP_IN_TOC inside #ifdef TARGET_USES_SYSV4_OPT too.
From-SVN: r112223
GCC Administrator [Mon, 20 Mar 2006 00:16:58 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r112221
David Edelsohn [Sun, 19 Mar 2006 23:12:17 +0000 (23:12 +0000)]
genpreds.c (write_tm_preds_h): Add semicolon and newline at end of insn_extra_address_constraint declaration.
* genpreds.c (write_tm_preds_h): Add semicolon and newline at
end of insn_extra_address_constraint declaration.
From-SVN: r112217
David Edelsohn [Sun, 19 Mar 2006 20:57:43 +0000 (20:57 +0000)]
rs6000.opt (no-fp-in-toc): Use Var not Mask.
* config/rs6000/rs6000.opt (no-fp-in-toc): Use Var not Mask.
(no-sum-in-toc): Same.
* config/rs6000/rs6000.c (rs6000_handle_option): Use new
variables.
* config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set
NO_FP_IN_TOC for -fPIC instead of mask.
* config/rs6000/t-aix43 (T_ADAFLAGS): Delete.
(BOOT_LDFLAGS): Delete.
(LDFLAGS): Delete.
* config/rs6000/t-aix52: Same.
* config/rs6000/rs6000.md (store_multiple_power): Delete.
(stmsi[345678]_power): New.
From-SVN: r112215
Paul Thomas [Sun, 19 Mar 2006 12:56:31 +0000 (12:56 +0000)]
Correct error in PR number
From-SVN: r112212
Paul Thomas [Sun, 19 Mar 2006 10:36:09 +0000 (10:36 +0000)]
re PR fortran/26716 (gfortran: incorrect choice of overloaded function)
2006-03-19 Paul Thomas <pault@gcc.gnu.org>
PR fortran/26716
*expr.c (external_spec_function): Permit elemental functions.
PR fortran/26716
*interface.c (compare_actual_formal): Detect call for procedure
usage and require rank checking, in this case, for assumed shape
and deferred shape arrays.
(gfc_procedure_use): Revert to pre-PR25070 call to
compare_actual_formal that does not require rank checking..
2006-03-19 Paul Thomas <pault@gcc.gnu.org>
PR fortran/26716
* gfortran.dg/elemental_initializer_1.f90: New test.
PR fortran/26716
* gfortran.dg/assumed_shape_ranks_2: New test.
From-SVN: r112210
GCC Administrator [Sun, 19 Mar 2006 00:17:10 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r112208
Joseph Myers [Sat, 18 Mar 2006 21:44:50 +0000 (21:44 +0000)]
980523-1.c, [...]: Use target fpic.
* gcc.dg/980523-1.c, gcc.dg/980526-1.c, gcc.dg/switch-1.c: Use
target fpic.
From-SVN: r112204
Kaveh R. Ghazi [Sat, 18 Mar 2006 17:08:54 +0000 (17:08 +0000)]
direct_io_1.f90, [...]: Delete temporary files from testcases.
* gfortran.dg/direct_io_1.f90, gfortran.dg/iostat_2.f90,
gfortran.dg/open_new.f90, gfortran.dg/open_readonly_1.f90,
gfortran.dg/pr16935.f90, gfortran.dg/pr20954.f,
gfortran.dg/read_many_1.f, gfortran.dg/unf_io_convert_2.f90,
gfortran.fortran-torture/execute/direct_io.f90,
gfortran.fortran-torture/execute/inquire_2.f90,
gfortran.fortran-torture/execute/inquire_4.f90,
gfortran.fortran-torture/execute/list_read_1.f90,
gfortran.fortran-torture/execute/open_replace.f90,
gfortran.fortran-torture/execute/slash_edit.f90,
gfortran.fortran-torture/execute/unopened_unit_1.f90: Delete
temporary files from testcases.
From-SVN: r112201
Jerry DeLisle [Sat, 18 Mar 2006 01:59:50 +0000 (01:59 +0000)]
re PR fortran/26509 (incorrect behaviour of error-handler for direct access write)
2006-03-17 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/26509
gfortran.dg/write_direct_eor.f90: New test.
From-SVN: r112199
Jerry DeLisle [Sat, 18 Mar 2006 01:56:07 +0000 (01:56 +0000)]
re PR fortran/26509 (incorrect behaviour of error-handler for direct access write)
2006-03-17 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/26509
* libgfortran.h: Add ERROR_DIRECT_EOR.
* runtime/error.c (translate_error): Add translation for new error.
* io/transfer.c (write_buf): Add check for EOR when mode is
direct access.
From-SVN: r112198
GCC Administrator [Sat, 18 Mar 2006 00:17:03 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r112195
Steve Ellcey [Fri, 17 Mar 2006 18:42:40 +0000 (18:42 +0000)]
* config/ia64/ia64.opt: Add empty line to end of file.
From-SVN: r112180
Richard Guenther [Fri, 17 Mar 2006 17:38:51 +0000 (17:38 +0000)]
re PR target/26721 (Gcc generates unaligned access)
2006-03-17 Richard Guenther <rguenther@suse.de>
PR middle-end/26721
* builtins.c (get_pointer_alignment): For component style references
adjust alignment to the component type alignment. Make sure
to adjust alignment for component access of constants.
From-SVN: r112177
David Edelsohn [Fri, 17 Mar 2006 16:45:46 +0000 (16:45 +0000)]
pr26350.c: New.
* gcc.target/powerpc/pr26350.c: New.
* gcc.target/powerpc/indexed-addr.c: New.
From-SVN: r112176
David Edelsohn [Fri, 17 Mar 2006 15:37:33 +0000 (15:37 +0000)]
rs6000.md (strlensi): Emit barrier after unconditional jump.
* config/rs6000/rs6000.md (strlensi): Emit barrier after
unconditional jump.
From-SVN: r112175
Paul Brook [Fri, 17 Mar 2006 14:48:58 +0000 (14:48 +0000)]
install.texi: Docuemnt --with-mode.
2006-03-17 Paul Brook <paul@codesourcery.com>
* doc/install.texi: Docuemnt --with-mode.
* config.gcc: Add --with-mode for arm*-*-*.
* config/arm/arm.h (OPTION_DEFAULT_SPECS): Add "mode".
From-SVN: r112174
J"orn Rennecke [Fri, 17 Mar 2006 14:29:08 +0000 (14:29 +0000)]
sh.c (max_labelno_before_reorg): New variable.
* sh.c (max_labelno_before_reorg): New variable.
(sh_reorg): Initialize it.
(find_barrier): Check max_labelno_before_reorg before using
label_to_alignment. Take length of explicit alignment insns
into account. When seeing a UNSPECV_CONST_END, return it.
* sh.c (fixup_mova): Set mode of affected label to QImode.
(untangle_mova): New function.
(find_barrier): Use it. Check mode of label before decrementing
num_mova.
(sh_reorg): Likewise.
Set mode of all insns back to VOIDmode.
* sh.c (MOVA_LABELREF): New macro.
(mova_p, fixup_mova, sh_reorg): Use it.
(find_barrier, sh_reorg): Don't count num_mova back to 0 unless
ADDR_DIFF_VEC matches mova.
From-SVN: r112173
Steven Bosscher [Fri, 17 Mar 2006 07:11:35 +0000 (07:11 +0000)]
dwarf2asm.c (dw2_asm_output_offset): Mark 'base' argument with ATTRIBUTE_UNUSED.
* dwarf2asm.c (dw2_asm_output_offset): Mark 'base' argument
with ATTRIBUTE_UNUSED.
From-SVN: r112171
Alexandre Oliva [Fri, 17 Mar 2006 06:08:49 +0000 (06:08 +0000)]
dwarf2out.c (dwarf2out_stack_adjust): Always track the stack pointer...
* dwarf2out.c (dwarf2out_stack_adjust): Always track the stack
pointer, instead of assuming it is possible to derive the
correct args size from a call insn.
From-SVN: r112170
Jan-Benedict Glaw [Fri, 17 Mar 2006 01:12:33 +0000 (01:12 +0000)]
rtl.h (CONST_INT_P): Define.
* rtl.h (CONST_INT_P): Define.
* config/vax/vax.c (print_operand_address): Use CONST_INT_P()
instead of GET_CODE(x) == CONST_INT.
(vax_rtx_costs): Likewise.
(vax_output_int_move): Likewise.
(vax_output_int_add): Likewise.
(legitimate_constant_address_p): Likewise.
(index_term_p): Likewise.
* config/vax/vax.h (PRINT_OPERAND): Likewise.
* config/vax/vax.md (and<mode>3): Likewise.
(ashrsi3): Likewise.
(extv): Likewise.
(movstricthi): Likewise.
(movstrictqi): Likewise.
(rotrsi3): Likewise.
(five unnamed insns): Likewise.
From-SVN: r112169
Geoffrey Keating [Fri, 17 Mar 2006 00:35:32 +0000 (00:35 +0000)]
tm.texi (SDB and DWARF): Add extra parameter to ASM_OUTPUT_DWARF_OFFSET.
* doc/tm.texi (SDB and DWARF): Add extra parameter to
ASM_OUTPUT_DWARF_OFFSET. Use @var to indicate metavariables.
* dwarf2asm.h (dw2_asm_output_offset): Add section parameter.
* dwarf2asm.c (dw2_asm_output_offset): Add base section parameter.
Pass to ASM_OUTPUT_DWARF_OFFSET.
* dwarf2out.c (debug_frame_section): New.
(output_call_frame_info): Use debug_frame_section. Pass it to
dw2_asm_output_offset.
(output_die): Pass appropriate section to dw2_asm_output_offset.
(output_compilation_unit_header): Likewise.
(output_pubnames): Likewise.
(output_aranges): Likewise.
(enum dw_val_class): Break dw_val_class_lbl_offset into
dw_val_class_lineptr and dw_val_class_macptr.
(add_AT_lbl_offset): Delete.
(add_AT_lineptr): New.
(add_AT_macptr): New.
(AT_lbl): Expect a lineptr or macptr.
(print_die): Handle dw_val_class_lineptr and dw_val_class_macptr.
(attr_checksum): Likewise.
(same_dw_val_p): Likewise.
(size_of_die): Likewise.
(value_format): Likewise.
(output_die): Likewise.
(dwarf2out_finish): Call add_AT_lineptr and add_AT_macptr instead of
add_AT_lbl_offset.
* config/i386/cygming.h (ASM_OUTPUT_DWARF_OFFSET): Add extra parameter.
* config/i386/i386.c (x86_file_start): Call darwin_file_start.
* config/darwin-protos.h (darwin_file_start): New.
(darwin_asm_output_dwarf_offset): New.
* config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): Add extra parameter.
* config/rs6000/rs6000.c (rs6000_darwin_file_start): Call
darwin_file_start.
* config/darwin.c (darwin_emit_unwind_label): Don't output label
if not EH section; simplify.
(darwin_file_start): New.
(darwin_asm_output_dwarf_offset): New.
* config/darwin.h (DEBUG_FRAME_SECTION): In __DWARF segment,
mark as 'debug'.
(DEBUG_INFO_SECTION): Likewise.
(DEBUG_ABBREV_SECTION): Likewise.
(DEBUG_ARANGES_SECTION): Likewise.
(DEBUG_MACINFO_SECTION): Likewise.
(DEBUG_LINE_SECTION): Likewise.
(DEBUG_LOC_SECTION): Likewise.
(DEBUG_PUBNAMES_SECTION): Likewise.
(DEBUG_STR_SECTION): Likewise.
(DEBUG_RANGES_SECTION): Likewise.
(FRAME_BEGIN_LABEL): Must start with 'L' in debug section.
(ASM_OUTPUT_DWARF_OFFSET): New.
From-SVN: r112168
GCC Administrator [Fri, 17 Mar 2006 00:17:02 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r112166
Roger Sayle [Fri, 17 Mar 2006 00:02:53 +0000 (00:02 +0000)]
gfortran.h (gfc_equiv_info): Add length field.
* gfortran.h (gfc_equiv_info): Add length field.
* trans-common.c (copy_equiv_list_to_ns): Set the length field.
* dependency.c (gfc_are_equivalenced_arrays): Use both the offset
and length fields to determine whether the two equivalenced symbols
overlap in memory.
* gfortran.dg/dependency_13.f90: New test case.
From-SVN: r112162
Joseph Myers [Thu, 16 Mar 2006 23:58:00 +0000 (23:58 +0000)]
config.gcc (tm_defines): Always add to previous value rather than replacing it.
* config.gcc (tm_defines): Always add to previous value rather
than replacing it.
From-SVN: r112160
Richard Sandiford [Thu, 16 Mar 2006 20:24:42 +0000 (20:24 +0000)]
predicates.md (splittable_const_int_operand): New, split from move_operand.
* config/mips/predicates.md (splittable_const_int_operand): New,
split from move_operand.
(splittable_symbolic_operand): New.
(move_operand): Add commentary. Use splittable_const_int_operand.
Inline mips_atomic_symbolic_constant_p.
* config/mips/mips.md: Add combine splitters for handling moves
of splittable_const_int_operands and splittable_symbolic_operands.
* config/mips/mips-protos.h (mips_atomic_symbolic_constant_p): Delete.
(mips_split_symbol): Declare.
(mips_move_integer): Declare.
* config/mips/mips.c (mips_split_p): Make global.
(TARGET_MIN_ANCHOR_OFFSET): Override default.
(TARGET_MAX_ANCHOR_OFFSET): Likewise.
(TARGET_USE_BLOCKS_FOR_CONSTANT_P): Likewise.
(TARGET_USE_ANCHORS_FOR_SYMBOL_P): Likewise.
(mips_offset_within_object_p): Handle block symbols.
(mips_atomic_symbolic_constant_p): Delete.
(mips_cannot_force_const_mem): Return false for constants that
mips_legitimize_move can handle.
(mips_use_blocks_for_constant_p): New function.
(mips_split_symbol): Make global.
(mips_move_integer): Likewise. Add a temporary register argument.
(mips_legitimize_const_move): Use splittable_const_int_operand and
splittable_symbolic_operand.
(mips_use_anchors_for_symbol_p): New function.
* config/mips/mips.h: Protect externs with !USED_FOR_TARGET.
(mips_split_p): Declare.
From-SVN: r112150
Richard Sandiford [Thu, 16 Mar 2006 20:21:11 +0000 (20:21 +0000)]
config.gcc (mips64*-*-linux*): Keep existing tm_defines.
* config.gcc (mips64*-*-linux*): Keep existing tm_defines.
(mips*-*-linux*): Likewise.
From-SVN: r112149
Roger Sayle [Thu, 16 Mar 2006 19:47:19 +0000 (19:47 +0000)]
re PR middle-end/18259 (-fdump-tree-tu omits real constant values)
2006-03-16 Roger Sayle <roger@eyesopen.com>
Daniel Speyer <dspeyer@wam.umd.edu>
PR middle-end/18259
* tree-dump.c (dump_real): New function.
(dequeue_and_dump) <REAL_CST>: Use it to dump FP constants.
* Makefile.in (REAL_H): New macro for dependencies on real.h.
(tree-dump.o): Add $(REAL_H) to the dependencies.
Co-Authored-By: Daniel Speyer <dspeyer@wam.umd.edu>
From-SVN: r112147
Tom Tromey [Thu, 16 Mar 2006 19:08:07 +0000 (19:08 +0000)]
re PR libgcj/26706 ([4.1/4.2] Unexpanded macro in libjava/classpath/configure)
PR libgcj/26706:
* aclocal.m4, configure: Rebuilt.
* configure.ac (GCC_NO_EXECUTABLES): Moved earlier.
From-SVN: r112142
Paul Brook [Thu, 16 Mar 2006 16:54:59 +0000 (16:54 +0000)]
Fix ChangeLog typo.
From-SVN: r112138
Roger Sayle [Thu, 16 Mar 2006 16:34:05 +0000 (16:34 +0000)]
re PR middle-end/21781 (real.c incorrectly values zero with a large exponent)
PR middle-end/21781
* real.c (real_from_string): If the mantissa is zero, don't bother
parsing the exponent as the result should always be zero.
* gcc.dg/real-const-1.c: New test case.
From-SVN: r112136
Andreas Krebbel [Thu, 16 Mar 2006 08:15:35 +0000 (08:15 +0000)]
simplify-rtx.c (simplify_plus_minus): Simplify within CONST terms.
2006-03-16 Andreas Krebbel <krebbel1@de.ibm.com>
* simplify-rtx.c (simplify_plus_minus): Simplify within CONST terms.
From-SVN: r112131
Maxim Kuvyrkov [Thu, 16 Mar 2006 05:29:44 +0000 (05:29 +0000)]
ia64.c (stops_p): Added explicit initialization.
2006-03-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
* config/ia64/ia64.c (stops_p): Added explicit initialization.
(ia64_first_cycle_multipass_dfa_lookahead_guard_spec,
ia64_h_i_d_extended, ia64_set_sched_flags, ia64_speculate_insn,
ia64_needs_block_p, ia64_gen_check, ia64_sched_init_global,
ia64_sched_finish_global): New static functions to implement
hooks from gcc_target.sched.
(spec_check_no, max_uid, pending_data_specs): New static variables.
(ia64_mode_to_int, ia64_gen_spec_insn, ia64_spec_check_p,
ia64_spec_check_src_p): New static functions.
(ia64_adjust_cost): Renamed to ia64_adjust_cost_2.
(TARGET_SCHED_ADJUST_COST): Removed.
(TARGET_SCHED_ADJUST_COST_2, TARGET_SCHED_INIT_GLOBAL,
TARGET_SCHED_FINISH_GLOBAL, TARGET_SCHED_H_I_D_EXTENDED,
TARGET_SCHED_SPECULATE_INSN, TARGET_SCHED_NEEDS_BLOCK_P,
TARGET_SCHED_GEN_CHECK,
TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC,
TARGET_SCHED_SET_SCHED_FLAGS): New macros.
(update_set_flags, group_barrier_needed, set_src_needs_barrier):
Fixed to handle speculation checks.
(rtx_needs_barrier): Fixed to handle speculative loads and
their checks.
(ia64_variable_issue): Added code to count speculative loads and their
checks.
(ia64_first_cycle_multipass_dfa_lookahead_guard): Fixed to handle
speculative loads.
(enum SPEC_MODES, enum SPEC_GEN_LD_MAP, SPEC_GEN_CHECK_OFFSET):
New enumerations.
(SPEC_GEN_EXTEND_OFFSET, SPEC_N, SPEC_GEN_CHECK_MUTATION_OFFSET):
New constants.
(ia64_ld_address_bypass_p): Fixed to handle speculative loads.
(ia64_reorg): Reset stops_p to NULL after it is freed.
* config/ia64/ia64.md (UNSPEC_LDA, UNSPEC_LDS, UNSPEC_LDSA,
UNSPEC_LDCCLR, UNSPEC_CHKACLR, UNSPEC_CHKS): New constants.
(itanium_class): chk_s renamed to chk_s_i. New constants: chk_s_f,
chk_a.
(data_speculative, control_speculative, check_load): New attributes.
(mov<mode>_advanced, mov<mode>_speculative,
mov<mode>_speculative_advanced, zero_extend<mode>di2_advanced,
zero_extend<mode>di2_speculative,
zero_extend<mode>di2_speculative_advanced): New patterns for
data and control speculative loads.
(mov<mode>_clr, zero_extend<mode>di2_clr): New patterns for
check loads.
(advanced_load_check_clr_<mode>, speculation_check_<mode>):
New pattern for data and control speculation checks.
(MODE, MODE_FOR_EXTEND, output_a, output_s, output_sa, output_c_clr,
ld_reg_constr, ldc_reg_constr, chk_reg_constr, mem_constr,
reg_pred_prefix, ld_class, chka_class, chks_class, attr_yes):
Auxiliary definitions for the patterns.
* config/ia64/itanium1.md (1_fldc, 1_fldpc, 1_ldc, 1_chk_s_f, 1_chk_a,
1b_fldc, 1b_fldpc, 1b_ldc, 1b_chk_s_f, 1b_chk_a): New resource
constraints.
(1_fld, 1_fldp, 1_ld, 1b_fld, 1b_fldp, 1b_ld): Add a condition
for speculation.
(1_chk_s, 1b_chk_s): Renamed to 1_chk_s_i, 1b_chk_s_i.
* config/ia64/itanium2.md (2_flda, 2_fldc, 2_fldpc, 2_ldc, 2_chk_s_f,
2_chk_a, 2b_flda, 2b_fldc, 2b_fldpc, 2b_ldc, 2b_chk_s_f, 2b_chk_a):
New resource constraints.
(2_fld, 2_fldp, 2_ld, 2b_fld, 2b_fldp, 2b_ld): Add a condition
for speculation.
(2_chk_s, 2b_chk_s): Renamed to 2_chk_s_i, 2b_chk_s_i.
* config/ia64/ia64.opt (msched-br-data-spec, msched-ar-data-spec,
msched-control-spec, msched-br-in-data-spec, msched-ar-in-data-spec,
msched-in-control-spec, msched-ldc, msched-control-ldc,
msched-spec-verbose, msched-prefer-non-data-spec-insns,
msched-prefer-non-control-spec-insns,
msched-count-spec-in-critical-path): New flags to tune speculative
scheduling.
* doc/invoke.texi (msched-br-data-spec, msched-ar-data-spec,
msched-control-spec, msched-br-in-data-spec, msched-ar-in-data-spec,
msched-in-control-spec, msched-ldc, msched-control-ldc,
msched-spec-verbose, msched-prefer-non-data-spec-insns,
msched-prefer-non-control-spec-insns,
msched-count-spec-in-critical-path): Document new flags.
From-SVN: r112129
Maxim Kuvyrkov [Thu, 16 Mar 2006 05:27:03 +0000 (05:27 +0000)]
target.h (struct spec_info_def): New opaque declaration.
2006-03-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
* target.h (struct spec_info_def): New opaque declaration.
(struct gcc_target.sched): New fields: adjust_cost_2, h_i_d_extended,
speculate_insn, needs_block_p, gen_check,
first_cycle_multipass_dfa_lookahead_guard_spec, set_sched_flags.
* target-def.h (TARGET_SCHED_ADJUST_COST_2,
TARGET_SCHED_H_I_D_EXTENDED, TARGET_SCHED_SPECULATE_INSN,
TARGET_SCHED_NEEDS_BLOCK_P, TARGET_SCHED_GEN_CHECK,
TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC,
TARGET_SCHED_SET_SCHED_FLAGS): New macros to initialize fields in
gcc_target.sched.
(TARGET_SCHED): Use new macros.
* rtl.h (copy_DEPS_LIST_list): New prototype.
* sched-int.h (struct sched_info): Change signature of new_ready field,
adjust all initializations. New fields: add_remove_insn,
begin_schedule_ready, add_block, advance_target_bb, fix_recovery_cfg,
region_head_or_leaf_p.
(struct spec_info_def): New structure declaration.
(spec_info_t): New typedef.
(struct haifa_insn_data): New fields: todo_spec, done_spec, check_spec,
recovery_block, orig_pat.
(glat_start, glat_end): New variables declaraions.
(TODO_SPEC, DONE_SPEC, CHECK_SPEC, RECOVERY_BLOCK, ORIG_PAT):
New access macros.
(enum SCHED_FLAGS): New constants: SCHED_RGN, SCHED_EBB,
DETACH_LIFE_INFO, USE_GLAT.
(enum SPEC_SCHED_FLAGS): New enumeration.
(NOTE_NOTE_BB_P): New macro.
(extend_dependency_caches, xrecalloc, unlink_bb_notes, add_block,
attach_life_info, debug_spec_status, check_reg_live): New functions.
(get_block_head_tail): Change signature to get_ebb_head_tail, adjust
all uses in ddg.c, modulo-sched.c, haifa-sched.c, sched-rgn.c,
sched-ebb.c
(get_dep_weak, ds_merge): Prototype functions from sched-deps.c .
* ddg.c (get_block_head_tail): Adjust all uses.
* modulo-sched.c (get_block_head_tail): Adjust all uses.
(sms_sched_info): Initialize new fields.
(contributes_to_priority): Removed.
* haifa-sched.c (params.h): New include.
(get_block_head_tail): Adjust all uses.
(ISSUE_POINTS): New macro.
(glat_start, glat_end): New global variables.
(spec_info_var, spec_info, added_recovery_block_p, nr_begin_data,
nr_be_in_data, nr_begin_control, nr_be_in_control, bb_header,
old_last_basic_block, before_recovery, current_sched_info_var,
rgn_n_insns, luid): New static variables.
(insn_cost1): New function. Move logic from insn_cost to here.
(find_insn_reg_weight1): New function. Move logic from
find_insn_reg_weight to here.
(reemit_notes, move_insn, max_issue): Change signature.
(move_insn1): Removed.
(extend_h_i_d, extend_ready, extend_global, extend_all, init_h_i_d,
extend_bb): New static functions to support extension of scheduler's
data structures.
(generate_recovery_code, process_insn_depend_be_in_spec,
begin_speculative_block, add_to_speculative_block,
init_before_recovery, create_recovery_block, create_check_block_twin,
fix_recovery_deps): New static functions to support
generation of recovery code.
(fix_jump_move, find_fallthru_edge, dump_new_block_header,
restore_bb_notes, move_block_after_check, move_succs): New static
functions to support ebb scheduling.
(init_glat, init_glat1, attach_life_info1, free_glat): New static
functions to support handling of register live information.
(associate_line_notes_with_blocks, change_pattern, speculate_insn,
sched_remove_insn, clear_priorities, calc_priorities, bb_note,
add_jump_dependencies): New static functions.
(check_cfg, has_edge_p, check_sched_flags): New static functions for
consistancy checking.
(debug_spec_status): New function to call from debugger.
(priority): Added code to handle speculation checks.
(rank_for_schedule): Added code to distinguish speculative instructions.
(schedule_insn): Added code to handle speculation checks.
(unlink_other_notes, rm_line_notes, restore_line_notes, rm_other_notes):
Fixed to handle ebbs.
(move_insn): Added code to handle ebb scheduling.
(max_issue): Added code to use ISSUE_POINTS of instructions.
(choose_ready): Added code to choose between speculative and
non-speculative instructions.
(schedule_block): Added code to handle ebb scheduling and scheduling of
speculative instructions.
(sched_init): Initialize new variables.
(sched_finish): Free new variables. Print statistics.
(try_ready): Added code to handle speculative instructions.
* lists.c (copy_DEPS_LIST_list): New function.
* sched-deps.c (extend_dependency_caches): New function. Move logic
from create_dependency_caches to here.
(get_dep_weak, ds_merge): Make global.
* genattr.c (main): Code to output prototype for
dfa_clear_single_insn_cache.
* genautomata.c (DFA_CLEAR_SINGLE_INSN_CACHE_FUNC_NAME): New macros.
(output_dfa_clean_insn_cache_func): Code to output
dfa_clear_single_insn_cache function.
* sched-ebb.c (target_n_insns): Remove. Adjust all users to use
n_insns.
(can_schedule_ready_p, fix_basic_block_boundaries, add_missing_bbs):
Removed.
(n_insns, dont_calc_deps, ebb_head, ebb_tail, last_bb):
New static variables.
(begin_schedule_ready, add_remove_insn, add_block1, advance_target_bb,
fix_recovery_cfg, ebb_head_or_leaf_p): Implement hooks from
struct sched_info.
(ebb_sched_info): Initialize new fields.
(get_block_head_tail): Adjust all uses.
(compute_jump_reg_dependencies): Fixed to use glat_start.
(schedule_ebb): Code to remove unreachable last block.
(schedule_ebbs): Added code to update register live information.
* sched-rgn.c (region_sched_info): Initialize new fields.
(get_block_head_tail): Adjust all uses.
(last_was_jump): Removed. Adjust users.
(begin_schedule_ready, add_remove_insn, insn_points, extend_regions,
add_block1, fix_recovery_cfg, advance_target_bb, region_head_or_leaf_p):
Implement new hooks.
(check_dead_notes1): New static function.
(struct region): New fields: dont_calc_deps, has_real_ebb.
(RGN_DONT_CALC_DEPS, RGN_HAS_REAL_EBB): New access macros.
(BB_TO_BLOCK): Fixed to handle EBBs.
(EBB_FIRST_BB, EBB_LAST_BB): New macros.
(ebb_head): New static variable.
(debug_regions, contributes_to_priority): Fixed to handle EBBs.
(find_single_block_regions, find_rgns, find_more_rgns): Initialize
new fields.
(compute_dom_prob_ps): New assertion.
(check_live_1, update_live_1): Fixed to work with glat_start instead of
global_live_at_start.
(init_ready_list): New assertions.
(can_schedule_ready_p): Split update code to begin_schedule_ready.
(new_ready): Add support for BEGIN_CONTROL speculation.
(schedule_insns): Fixed code that updates register live information
to handle EBBs.
(schedule_region): Fixed to handle EBBs.
(init_regions): Use extend_regions and check_dead_notes1.
* params.def (PARAM_MAX_SCHED_INSN_CONFLICT_DELAY,
PARAM_SCHED_SPEC_PROB_CUTOFF): New parameters.
* doc/tm.texi (TARGET_SCHED_ADJUST_COST_2, TARGET_SCHED_H_I_D_EXTENDED,
TARGET_SCHED_SPECULATE_INSN, TARGET_SCHED_NEEDS_BLOCK_P,
TARGET_SCHED_GEN_CHECK,
TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC,
TARGET_SCHED_SET_SCHED_FLAGS): Document.
* doc/invoke.texi (max-sched-insn-conflict-delay,
sched-spec-prob-cutoff): Document.
From-SVN: r112128
Maxim Kuvyrkov [Thu, 16 Mar 2006 05:23:21 +0000 (05:23 +0000)]
sched-int.h (struct haifa_insn_data): New fields: resolved_deps, inter_tick, queue_index.
2006-03-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
* sched-int.h (struct haifa_insn_data): New fields: resolved_deps,
inter_tick, queue_index.
(struct sched_info): Change signature of init_ready_list field.
Adjust all initializations.
(RESOLVED_DEPS): New access macro.
(ready_add): Remove prototype.
(try_ready): Add prototype.
* sched-rgn.c (init_ready_list): Use try_ready.
(schedule_region): Initialize
current_sched_info->{sched_max_insns_priority, queue_must_finish_empty}.
* sched-ebb.c (new_ready): Remove. Adjust ebb_sched_info.
(init_ready_list): Use try_ready.
(schedule_ebb): Initialize current_sched_info->sched_max_insns_priority.
* lists.c (remove_list_elem): Remove `static'.
(remove_free_INSN_LIST_elem): New function.
* rtl.h (remove_list_elem, remove_free_INSN_LIST_elem): Add prototypes.
* haifa-sched.c (INTER_TICK, QUEUE_INDEX): New macros.
(INVALID_TICK, MIN_TICK, QUEUE_SCHEDULED, QUEUE_NOWHERE, QUEUE_READY):
New constants.
(readyp): New variable.
(queue_remove, ready_remove_insn, fix_inter_tick, fix_tick_ready,
change_queue_index, resolve_dep): New static functions.
(try_ready): New function. Adjust callers in sched-rgn.c and
sched-ebb.c to use it instead of ready_add.
(clock_var): Move at the begining of file.
(rank_for_schedule): Fix typo.
(queue_insn): Add assertion. Handle QUEUE_INDEX.
(ready_lastpos): Enforce assertion.
(ready_add): Make it static. Handle QUEUE_INDEX. Add new argument,
update all callers.
(ready_remove_first, ready_remove): Handle QUEUE_INDEX.
(schedule_insn): Rewrite to use try_ready and resolve_dep.
(queue_to_ready): Use free_INSN_LIST_list.
(early_queue_to_ready): Fix typo.
(schedule_block): Init readyp. Move init_ready_list call after the
initialization of clock_var. Fix error in rejecting insn by
targetm.sched.dfa_new_cycle. Add call to fix_inter_tick. Remove code
that previously corrected INSN_TICKs. Add code for handling
QUEUE_INDEX.
(set_priorities): Fix typo.
(sched_init): Initialize INSN_TICK, INTER_TICK and QUEUE_INDEX.
Clarify comment and code that keeps current_sched_info->next_tail
non-null.
From-SVN: r112127
Maxim Kuvyrkov [Thu, 16 Mar 2006 05:20:39 +0000 (05:20 +0000)]
sched-rgn.c (extend_rgns): New static function.
2006-03-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
* sched-rgn.c (extend_rgns): New static function.
(find_rgns): Use it.
(gather_region_statistics, print_region_statistics): New static
functions.
* params.def (PARAM_MAX_SCHED_EXTEND_REGIONS_ITERS): New parameter.
* doc/invoke.texi (max-sched-extend-regions-iters): Document.
From-SVN: r112126
Maxim Kuvyrkov [Thu, 16 Mar 2006 05:17:41 +0000 (05:17 +0000)]
ddg.c (build_intra_loop_deps): Adjust add_forward_dependence call.
2006-03-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
Andrey Belevantsev <abel@ispras.ru>
* ddg.c (build_intra_loop_deps): Adjust add_forward_dependence call.
* lists.c (unused_deps_list): New variable.
(free_list): Add assertions to verify the proper distinguishing
between INSN_LISTs and DEPS_LISTs.
(find_list_elem, remove_list_elem, remove_list_node): New static
functions.
(alloc_DEPS_LIST, free_DEPS_LIST, free_DEPS_LIST_node,
remove_free_INSN_LIST_elem, remove_free_DEPS_LIST_elem,
remove_free_INSN_LIST_node, remove_free_DEPS_LIST_node): New functions.
(alloc_INSN_LIST): Assert that the list we're working on is indeed
an INSN_LIST.
(free_INSN_LIST_node): Likewise.
* modulo-sched.c (current_sched_info): Initialize flags field.
* reg-notes.def: Exchange DEP_ANTI and DEP_OUTPUT.
* rtl.def (DEPS_LIST): Define.
* rtl.h: Declare new functions from lists.c.
* sched-deps.c (spec_dependency_cache): New static variable.
(maybe_add_or_update_back_dep_1, add_back_dep): New static functions.
(add_dependence): Change return type to void. Move the logic to ...
(add_or_update_back_dep_1): ... here. Handle speculative dependencies.
(delete_all_dependences): Add comment about forward_dependency_cache.
Handle spec_dependency_cache. Handle DEPS_LISTs.
(fixup_sched_groups): Clarify the change of priority of output
and anti dependencies.
(sched_analyze_2): Adjust add_dependence calls to create data
speculative dependence.
(add_forward_dependence): Renamed to add_forw_dep, change prototype.
Adjust all callers. Handle DEPS_LISTS.
(compute_forward_dependences): Use add_forw_dep. Sort LOG_LINKs in
presence of speculation.
(init_dependency_caches, free_dependency_caches):
Handle spec_dependency_cache.
(adjust_add_sorted_back_dep, adjust_back_add_forw_dep, delete_forw_dep,
estimate_dep_weak, get_dep_weak, ds_merge, check_dep_status):
New static functions.
(add_or_update_back_dep, add_or_update_back_forw_dep,
add_back_forw_dep, delete_back_forw_dep): New functions.
* sched-int.h (ds_t, dw_t): New typedefs.
(struct sched_info): Add new field flags.
(struct haifa_insn_data): Add new bitfield has_internal_dep.
Prototype new sched-deps.c functions.
(HAS_INTERNAL_DEP, DEP_STATUS): New access macros.
(BITS_PER_DEP_STATUS, BITS_PER_DEP_WEAK, DEP_WEAK_MASK, MAX_DEP_WEAK,
MIN_DEP_WEAK, NO_DEP_WEAK, UNCERTAIN_DEP_WEAK, BEGIN_DATA, BE_IN_DATA,
BEGIN_CONTROL, BE_IN_CONTROL, BEGIN_SPEC, DATA_SPEC, CONTROL_SPEC,
SPECULATIVE, BE_IN_SPEC, FIRST_SPEC_TYPE, LAST_SPEC_TYPE,
SPEC_TYPE_SHIFT, DEP_TRUE, DEP_OUTPUT, DEP_ANTI, DEP_TYPES, HARD_DEP):
New constants.
(enum SPEC_TYPES_OFFSETS, enum DEPS_ADJUST_RESULT, enum SCHED_FLAGS):
New enums.
* sched-rgn.c (current_sched_info): Initialize flags field.
(schedule_insns): Initialize current_sched_info before the sched_init
call.
* sched-ebb.c (current_sched_info): Initialize flags field.
(add_deps_for_risky_insns): Use control_flow_insn_p instead of JUMP_P.
Call add_or_update_back_dep instead of add_dependence.
Create control speculative dependencies.
(schedule_insns): Initialize current_sched_info before the sched_init
call.
Co-Authored-By: Andrey Belevantsev <abel@ispras.ru>
From-SVN: r112125
Kaz Kojima [Thu, 16 Mar 2006 02:44:10 +0000 (02:44 +0000)]
linux-unwind.h (shmedia_fallback_frame_state): Set fs->signal_frame.
* config/sh/linux-unwind.h (shmedia_fallback_frame_state): Set
fs->signal_frame.
(sh_fallback_frame_state): Likewise.
* include/sh-signal.h (MAKE_THROW_FRAME): Change into empty
macro.
From-SVN: r112122
Geoffrey Keating [Thu, 16 Mar 2006 02:37:09 +0000 (02:37 +0000)]
config.gcc (*-*-darwin*): Don't build crt2.o for all Darwin ports.
2006-03-15 Geoffrey Keating <geoffk@apple.com>
* config.gcc (*-*-darwin*): Don't build crt2.o for all Darwin ports.
Do switch on default_use_cxa_atexit.
(powerpc*-*-darwin*): Build crt2.o on powerpc.
* config/darwin-crt3.o: New.
* config/darwin.h (LINK_SPEC): If -shared-libgcc, make linker default
to 10.3. Pass '-multiply_defined suppress' if crt3.o is in use.
(STARTFILE_SPEC): Add crt3.o when -shared-libgcc and appropriate
OS version.
* config/rs6000/t-darwin: Move crt2.o building to here.
* config/rs6000/darwin.h (C_COMMON_OVERRIDE_OPTIONS): Update
Mac OS version for using __cxa_get_exception_ptr. Don't test versions
of __cxa_atexit.
2006-03-15 Geoffrey Keating <geoffk@apple.com>
* g++.old-deja/g++.other/init18.C: New.
* g++.old-deja/g++.other/init5.C: Remove xfail.
From-SVN: r112121
Tom Tromey [Thu, 16 Mar 2006 01:54:51 +0000 (01:54 +0000)]
re PR classpath/26688 (Classpath Makefiles assume CVS source control)
PR libgcj/26688:
* lib/Makefile.in: Rebuilt.
* lib/Makefile.am (propertydirs): Ignore .svn directories.
(metafiles): Likewise.
From-SVN: r112115
Jan-Benedict Glaw [Thu, 16 Mar 2006 01:32:19 +0000 (01:32 +0000)]
vax.c (nonindexed_address_p): Change logical negation from '!
* config/vax/vax.c (nonindexed_address_p): Change logical negation
from '! xxx' to '!xxx' for coding-style conformance.
* config/vax/vax.h (PCC_BITFIELD_TYPE_MATTERS): Likewise.
(EXTRA_CONSTRAINT): Likewise.
* config/vax/vax.md (four unnamed insns): Likewise.
From-SVN: r112113
Kaveh R. Ghazi [Thu, 16 Mar 2006 01:00:01 +0000 (01:00 +0000)]
pr15551.C: Cleanup temp file.
* g++.dg/opt/pr15551.C: Cleanup temp file.
From-SVN: r112108
GCC Administrator [Thu, 16 Mar 2006 00:17:01 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r112106
Tom Tromey [Thu, 16 Mar 2006 00:08:12 +0000 (00:08 +0000)]
jcf-write.c (generate_bytecode_insns): Use qualifying type for non-static method calls.
gcc/java
* jcf-write.c (generate_bytecode_insns): Use qualifying type for
non-static method calls.
libjava
* testsuite/libjava.jacks/jacks.xfail: Removed
13.1-runtime-method-5.
From-SVN: r112102
Paul Brook [Wed, 15 Mar 2006 20:22:56 +0000 (20:22 +0000)]
arm.c (minipool_pad): New.
2006-03-15 Paul Brook <paul@codesourcery.com>
* config/arm/arm.c (minipool_pad): New.
(add_minipool_forward_ref): Unclude pool alignment padding in address
calculation.
(push_minipool_fix): Set minipool_pad.
(minipool_pad): Ditto.
From-SVN: r112099
David Daney [Wed, 15 Mar 2006 19:28:42 +0000 (19:28 +0000)]
java-tree.h: Moved comment for TYPE_DOT_CLASS adjacent to its declaration.
* java-tree.h : Moved comment for TYPE_DOT_CLASS adjacent to its
declaration.
From-SVN: r112098
David Daney [Wed, 15 Mar 2006 19:10:23 +0000 (19:10 +0000)]
lang.opt (-freduced-reflection): New option.
* lang.opt (-freduced-reflection): New option.
* lang.c (java_post_options): Generate an error if
-freduced-reflection used with -fjni or -findirect-dispatch.
* java-tree.h (flag_reduced_reflection): Declare new variable.
* boehm.c (get_boehm_type_descriptor): Indicate all pointers
if bitmap overflows and flag_reduced_reflection set.
* class.c (uses_jv_markobj_p): New function.
(make_class_data): Moved generation of vtable to before
reflection data, generate less reflection data if
flag_reduced_reflection set.
* gcj.texi: Document -freduced-reflection.
From-SVN: r112095
Tom Tromey [Wed, 15 Mar 2006 18:45:02 +0000 (18:45 +0000)]
Correctly reference PR java/26638 in ChangeLogs
From-SVN: r112094
Tom Tromey [Wed, 15 Mar 2006 18:29:44 +0000 (18:29 +0000)]
re PR java/26390 (Problem dispatching method call when method does not exist in superclass)
gcc/java
PR java/26390:
* class.c (get_interface_method_index): Don't put <clinit> into
interface table.
libjava
PR java/26390:
* link.cc (get_interfaces): Skip <clinit>.
(append_partial_itable): Likewise.
From-SVN: r112093
Tom Tromey [Wed, 15 Mar 2006 17:39:16 +0000 (17:39 +0000)]
* parse.y (analyze_clinit_body): Ignore empty statements.
From-SVN: r112092
Jan-Benedict Glaw [Wed, 15 Mar 2006 16:49:20 +0000 (16:49 +0000)]
vax.c (split_quadword_operands): Use MEM_P() instead of GET_CODE() == MEM and REG_P() instead of GET_CODE() == REG.
* config/vax/vax.c (split_quadword_operands): Use MEM_P()
instead of GET_CODE() == MEM and REG_P() instead of
GET_CODE() == REG.
(print_operand_address): Likewise.
(vax_address_cost): Likewise.
(vax_rtx_costs): Likewise.
(vax_notice_update_cc): Likewise.
(vax_output_int_add): Likewise.
(INDEX_REGISTER_P): Likewise.
(BASE_REGISTER_P): Likewise.
(nonindexed_address_p): Likewise.
(vax_mode_dependent_address_p): Likewise.
* config/vax/vax.h (EXTRA_CONSTRAINT): Likewise.
(PRINT_OPERAND): Likewise.
* config/vax/vax.md (ashlsi3): Likewise.
(ashlsi3): Likewise.
(some more unnamed insns): Likewise.
From-SVN: r112090
Kazu Hirata [Wed, 15 Mar 2006 16:14:55 +0000 (16:14 +0000)]
tree-ssa-dce.c (EXECUTE_IF_CONTROL_DEPENDENT): Make it an iterator-style macro.
* tree-ssa-dce.c (EXECUTE_IF_CONTROL_DEPENDENT): Make it an
iterator-style macro.
(mark_control_dependent_edges_necessary): Update the use of
EXECUTE_IF_CONTROL_DEPENDENT.
From-SVN: r112089
J"orn Rennecke [Wed, 15 Mar 2006 15:52:34 +0000 (15:52 +0000)]
predicates.md (cache_address_operand): Special.
* config/sh/predicates.md (cache_address_operand): Special.
(ua_address_operand): Likewise.
From-SVN: r112085
Volker Reichelt [Wed, 15 Mar 2006 15:27:11 +0000 (15:27 +0000)]
re PR c++/6634 (wrong parsing of "long long double")
PR c++/6634
decl.c (grokdeclarator): Do not accept long long double.
Reorganize checks for invalid (combinations of) type modifiers.
Quote modifiers in messages.
g++.dg/parse/long1.C: New test.
From-SVN: r112084
Kaz Kojima [Wed, 15 Mar 2006 11:50:24 +0000 (11:50 +0000)]
ffi.c (ffi_prep_cif_machdep): Handle float arguments passed with FP registers correctly.
* src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
passed with FP registers correctly.
(ffi_closure_helper_SYSV): Likewise.
* src/sh64/sysv.S: Likewise.
From-SVN: r112083
Zdenek Dvorak [Wed, 15 Mar 2006 10:50:46 +0000 (11:50 +0100)]
haifa-sched.c (unlink_other_notes, [...]): Do not handle loop notes.
* haifa-sched.c (unlink_other_notes, reemit_notes): Do not handle
loop notes.
* sched-deps.c (sched_analyze_insn, sched_analyze): Ditto.
From-SVN: r112082
Andreas Schwab [Wed, 15 Mar 2006 10:14:51 +0000 (10:14 +0000)]
gensupport.c (identify_predicable_attribute): Don't free p_false when it is still in use.
* gensupport.c (identify_predicable_attribute): Don't free p_false
when it is still in use.
From-SVN: r112081
Eric Botcazou [Wed, 15 Mar 2006 07:49:33 +0000 (08:49 +0100)]
config.gcc (default with_cpu setting): Do not modify the default setting here.
* config.gcc (default with_cpu setting) <sparc*-*-*>: Do not modify
the default setting here.
From-SVN: r112080
Jerry DeLisle [Wed, 15 Mar 2006 07:08:06 +0000 (07:08 +0000)]
re PR fortran/19101 (missing & in character continuation not caught)
2006-03-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/19101
* gfortran.dg/continuation.f90: New test.
* gfortran.dg/fmt_read_bz_bn.f90: Fix use of continuation.
From-SVN: r112079
Jerry DeLisle [Wed, 15 Mar 2006 07:03:20 +0000 (07:03 +0000)]
re PR fortran/19101 (missing & in character continuation not caught)
2006-03-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/19101
* gfortran.h: Add warn_ampersand.
* invoke.texi: Add documentation for new option.
* lang.opt: Add Wampersand.
* options.c (gfc_init_options): Initialize warn_ampersand.
(gfc_post_options): Set the warn if pedantic.
(set_Wall): Set warn_ampersand.
(gfc_handle_option: Add Wampersand for itself, -std=f95, and -std=f2003.
* scanner.c (gfc_next_char_literal): Add test for missing '&' in
continued character constant and give warning if missing.
From-SVN: r112078
GCC Administrator [Wed, 15 Mar 2006 00:17:04 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r112074
Steven Bosscher [Tue, 14 Mar 2006 21:04:56 +0000 (21:04 +0000)]
tree-pass.h (pass_cfg): Remove.
* tree-pass.h (pass_cfg): Remove.
* alias.c (rest_of_handle_cfg, pass_cfg): Remove.
* passes.c (pass_cfg): Don't run it.
From-SVN: r112069
Janne Blomqvist [Tue, 14 Mar 2006 20:49:52 +0000 (22:49 +0200)]
Re-add ChangeLog entry that somehow managed to get itself missing in action.
From-SVN: r112068
Kazu Hirata [Tue, 14 Mar 2006 20:47:17 +0000 (20:47 +0000)]
re PR middle-end/26684 (ppc-Darwin bootstrap failure)
PR middle-end/26684
* reg-stack.c (stack_regs_mentioned_data): Put it undef #ifdef
STACK_REGS.
From-SVN: r112067
Steven G. Kargl [Tue, 14 Mar 2006 19:37:49 +0000 (19:37 +0000)]
re PR fortran/18537 (no warning about tabs with std=f95 option)
PR 18537
* gfortran.h: Wrap Copyright line.
(gfc_option_t): add warn_tabs member.
* lang.opt: Update Coyright year. Add the Wtabs.
* invoke.texi: Document -Wtabs.
* scanner.c (gfc_gobble_whitespace): Use warn_tabs. Add linenum to
suppress multiple warnings.
(load_line): Use warn_tabs. Add linenum, current_line, seen_comment
to suppress multiple warnings.
* options.c (gfc_init_options): Initialize warn_tabs.
(set_Wall): set warn_tabs for -Wall.
(gfc_post_options): Adjust flag_tabs depending on -pedantic.
(gfc_handle_option): Process command-line option -W[no-]tabs
From-SVN: r112066
Kazu Hirata [Tue, 14 Mar 2006 18:16:21 +0000 (18:16 +0000)]
* combine.c (UWIDE_SHIFT_LEFT_BY_BITS_PER_WORD): Remove.
From-SVN: r112062
Kazu Hirata [Tue, 14 Mar 2006 18:14:52 +0000 (18:14 +0000)]
bfin.h (UNALIGNED_WORD_ASM_OP): Remove.
* config/bfin/bfin.h (UNALIGNED_WORD_ASM_OP): Remove.
* system.h (UNALIGNED_WORD_ASM_OP): Poison.
From-SVN: r112061
Kazu Hirata [Tue, 14 Mar 2006 18:11:11 +0000 (18:11 +0000)]
Makefile.in (reg-stack.o): Don't depend on gt-reg-stack.h.
* Makefile.in (reg-stack.o): Don't depend on gt-reg-stack.h.
* reg-stack.c (stack_regs_mentioned_data): Change the type to
VEC(char,heap) *.
(stack_regs_mentioned): Update the uses of
stack_regs_mentioned_data. Don't access the array beyond its
end.
(reg_to_stack): Update the uses of stack_regs_mentioned_data.
Don't include gt-reg-stack.h.
From-SVN: r112060
Jason Merrill [Tue, 14 Mar 2006 17:36:29 +0000 (12:36 -0500)]
tweak comments
From-SVN: r112059