Richard Henderson [Thu, 26 Aug 2004 02:37:41 +0000 (19:37 -0700)]
alpha.c (alpha_cannot_force_const_mem): New.
* config/alpha/alpha.c (alpha_cannot_force_const_mem): New.
(TARGET_CANNOT_FORCE_CONST_MEM): New.
From-SVN: r86602
Ziemowit Laski [Thu, 26 Aug 2004 02:00:37 +0000 (02:00 +0000)]
const-str-3.m: Include <stdlib.h> and <memory.h>.
[gcc/testsuite/ChangeLog]
2004-08-25 Ziemowit Laski <zlaski@apple.com>
* objc.dg/const-str-3.m: Include <stdlib.h> and <memory.h>.
From-SVN: r86600
Andrew MacLeod [Thu, 26 Aug 2004 01:28:10 +0000 (01:28 +0000)]
Document new ssa operand iterator.
From-SVN: r86599
Alan Modra [Thu, 26 Aug 2004 01:20:25 +0000 (01:20 +0000)]
re PR target/16480 (using -msdata causes internal compiler error)
PR target/16480
* config/rs6000/rs6000.c (rs6000_split_multireg_move): Don't abort
on "(mem (symbol_ref ..))" rtl. Look at LO_SUM base regs as well
as PLUS base regs.
From-SVN: r86598
Paul Brook [Thu, 26 Aug 2004 01:01:25 +0000 (01:01 +0000)]
Fix typo.
From-SVN: r86596
Paul Brook [Thu, 26 Aug 2004 00:58:56 +0000 (00:58 +0000)]
symbian.h (SUBTARGET_ASM_FLOAT_SPEC): Default to -mfpu=vfp -march=armv5t
* config/arm/symbian.h (SUBTARGET_ASM_FLOAT_SPEC): Default to
-mfpu=vfp -march=armv5t
* config/arm/t-symbian: Change multilib to mfloat-aby=softfp.
From-SVN: r86594
Richard Henderson [Thu, 26 Aug 2004 00:24:37 +0000 (17:24 -0700)]
target-def.h (TARGET_SCALAR_MODE_SUPPORTED_P): New.
* target-def.h (TARGET_SCALAR_MODE_SUPPORTED_P): New.
* target.h (struct gcc_target): Add scalar_mode_supported_p.
* targhooks.c (default_scalar_mode_supported_p): New.
* targhooks.h (default_scalar_mode_supported_p): Declare.
* doc/tm.texi (TARGET_SCALAR_MODE_SUPPORTED_P): Document.
* c-common.c (handle_mode_attribute): Query scalar_mode_supported_p
before attempting to create types. Tidy.
* expr.c (vector_mode_valid_p): Use scalar_mode_supported_p.
* config/alpha/alpha.c (alpha_scalar_mode_supported_p): New.
(TARGET_SCALAR_MODE_SUPPORTED_P): New.
From-SVN: r86593
GCC Administrator [Thu, 26 Aug 2004 00:16:14 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r86591
Richard Henderson [Thu, 26 Aug 2004 00:13:39 +0000 (17:13 -0700)]
freebsd.h (SUBTARGET_OVERRIDE_OPTIONS): Don't set REAL_MODE_FORMAT for TFmode.
* config/i386/freebsd.h (SUBTARGET_OVERRIDE_OPTIONS): Don't
set REAL_MODE_FORMAT for TFmode.
From-SVN: r86588
Ziemowit Laski [Wed, 25 Aug 2004 23:39:11 +0000 (23:39 +0000)]
c-decl.c (grokparm): New function.
[gcc/ChangeLog]
2004-08-25 Ziemowit Laski <zlaski@apple.com>
* c-decl.c (grokparm): New function.
* c-tree.h (grokparm): New prototype.
From-SVN: r86587
Paolo Carlini [Wed, 25 Aug 2004 23:38:29 +0000 (23:38 +0000)]
PR libstdc++/17038 (partial)
2004-08-25 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/17038 (partial)
* include/bits/locale_facets.tcc (time_put<>::do_put): Increase
__maxlen to 128.
* include/bits/locale_facets.h (class __timepunct): Add FIXME
comment about _M_put.
* config/locale/generic/time_members.cc (_M_put): Always null
terminate __s.
* config/locale/gnu/time_members.cc (_M_put): Likewise.
* testsuite/22_locale/time_put/put/char/17038.cc: New.
* testsuite/22_locale/time_put/put/wchar_t/17038.cc: New.
From-SVN: r86586
Tobias Schlüter [Wed, 25 Aug 2004 22:07:32 +0000 (00:07 +0200)]
expr.c (gfc_check_assign): Add comment.
fortran/
* expr.c (gfc_check_assign): Add comment. Add new warning.
* trans-expr.c (gfc_conv_function_call): Correctly dereference
result of pointer valued function when not in pointer assignment.
testsuite/
* gfortran.dg/assignment_1.f90: New test.
From-SVN: r86585
Andrew MacLeod [Wed, 25 Aug 2004 21:21:19 +0000 (21:21 +0000)]
tree-ssa-operands.h (struct ssa_operand_iterator_d): New.
2004-08-25 Andrew MacLeod <amacleod@redhat.com>
* tree-ssa-operands.h (struct ssa_operand_iterator_d): New. SSA operand
iterator controlling structure.
(SSA_OP_USE, SSA_OP_DEF, SSA_OP_VUSE, SSA_OP_VMAYUSE, SSA_OP_VMAYDEF,
SSA_OP_VMUSTDEF, SSA_OP_VIRTUAL_USES, SSA_OP_VIRTUAL_DEFS,
SSA_OP_ALL_USES, SSA_OP_ALL_DEFS, SSA_OP_ALL_OPERANDS): New. Operand
iterator flags.
(FOR_EACH_SSA_TREE_OPERAND): New. Iterate over operands as trees.
(FOR_EACH_SSA_USE_OPERAND): New. Iterate over operands as uses.
(FOR_EACH_SSA_DEF_OPERAND): New. Iterate over operands as defs.
(FOR_EACH_SSA_MAYDEF_OPERAND): New. Iterate over V_MAY_DEFs.
* tree-ssa-operands.c (NULL_DEF_OPERAND_P, NULL_USE_OPERAND_P): New.
Empty operand pointers.
* tree-flow-inline.h (op_iter_done): New. Return true if finished.
(op_iter_next_use): New. Return next use_operand_p.
(op_iter_next_def): New. Return next def_operand_p.
(op_iter_next_tree): New. Return next operands as a tree.
(op_iter_init): New. Initialize an iterator structure.
(op_iter_init_use): New. Initialize structure and get the first use.
(op_iter_init_def): New. Initialize structure and get the first def.
(op_iter_init_tree): New. Initialize structure and get the first tree.
(op_iter_next_maydef): New. Return next V_MAY_DEF operands.
(op_iter_init_maydef): New. Initialize structure and get the first
V_MAY_DEF operands.
* tree-cfg.c (tree_duplicate_bb): Use new operand iterator.
* tree-dfa.c (compute_immediate_uses_for_stmt,
redirect_immediate_uses): Use new operand iterator.
(v_may_defs_disappeared_p, v_must_defs_disappeared_p): Delete.
(mark_new_vars_to_rename): Use new operand iterator. Count virtual
operands instead of using *_disappeared_p routines.
* tree-into-ssa.c (mark_def_sites, ssa_mark_def_sites, rewrite_stmt,
ssa_rewrite_stmt): Use new operand iterator.
* tree-outof-ssa.c (check_replaceable, find_replaceable_in_bb,
rewrite_trees): Use new operand iterator.
* tree-pretty-print.c (dump_vops): Use new operand iterator.
* tree-sra.c (mark_all_v_defs): Use new operand iterator.
* tree-ssa-alias.c (compute_points_to_and_addr_escape,
dump_points_to_info): Use new operand iterator.
* tree-ssa-ccp.c (cp_lattice_meet, visit_stmt, initialize,
replace_uses_in, replace_vuse_in, likely_value, set_rhs): Use new
operand iterator.
* tree-ssa-dce.c (mark_stmt_if_obviously_necessary,
propagate_necessity): Use new operand iterator.
* tree-ssa-dom.c (cprop_into_stmt, optimize_stmt): Use operand iterator.
(register_definitions_for_stmt): Use new operand iterator. Take stmt as
a parameter instead of a stmt_ann_t.
* tree-ssa-live.c (create_ssa_var_map, calculate_live_on_entry,
build_tree_conflict_graph): Use new operand iterator.
* tree-ssa-loop-im.c (determine_max_movement, single_reachable_address,
rewrite_mem_refs): Use new operand iterator.
* tree-ssa-loop-manip.c (find_uses_to_rename_stmt,
check_loop_closed_ssa_use): Use new operand iterator.
* tree-ssa.c (verify_ssa, replace_immediate_uses): Use operand iterator.
* tree-ssanames.c (release_defs): Use new operand iterator.
* tree-vectorizer.c (vect_create_data_ref): Use new operand iterator.
From-SVN: r86583
Paul Brook [Wed, 25 Aug 2004 21:18:35 +0000 (21:18 +0000)]
config-lang.in: Remove dead commented line.
* config-lang.in: Remove dead commented line.
* module.c: Replace g95 with gfortran in comment.
From-SVN: r86582
Paul Brook [Wed, 25 Aug 2004 21:04:49 +0000 (21:04 +0000)]
re PR fortran/17190 (MPFR semantics for mpfr_get_z_exp changed)
PR fortran/17190
* arith.c (gfc_mpfr_to_mpz): Workaround mpfr bug.
From-SVN: r86581
Adam Nemet [Wed, 25 Aug 2004 20:52:41 +0000 (20:52 +0000)]
* g++.dg/template/repo3.C: New test.
From-SVN: r86578
Adam Nemet [Wed, 25 Aug 2004 20:51:19 +0000 (20:51 +0000)]
tlink.c (initial_cwd): New variable.
* tlink.c (initial_cwd): New variable.
(tlink_init): Initialize it.
(recompile_files): Use tlink_execute() instead of system(). Don't
duplicate verbose output of collect_execute. Restore initial_cwd.
Update comment before the function.
From-SVN: r86577
Roger Sayle [Wed, 25 Aug 2004 20:51:02 +0000 (20:51 +0000)]
re PR middle-end/16693 (Bitwise AND is lost when used within a cast to an enum of the same precision)
PR middle-end/16693
PR tree-optimization/16372
* decl.c (finish_enum): Make the precision of the enumerated type
the same width as the underlying integer type.
* g++.dg/opt/pr16372-1.C: New test case.
* g++.dg/opt/pr16693-1.C: New test case.
* g++.dg/opt/pr16693-2.C: New test case.
From-SVN: r86576
Ziemowit Laski [Wed, 25 Aug 2004 20:38:53 +0000 (20:38 +0000)]
c-typeck.c (build_c_cast): In ObjC...
[gcc/ChangeLog]
2004-08-25 Ziemowit Laski <zlaski@apple.com>
* c-typeck.c (build_c_cast): In ObjC, always preserve (and silently
accept) a cast from one Objective-C pointer type to another.
[gcc/testsuite/ChangeLog]
2004-08-25 Ziemowit Laski <zlaski@apple.com>
* objc.dg/proto-lossage-4.m: New test.
From-SVN: r86574
Paolo Carlini [Wed, 25 Aug 2004 20:24:46 +0000 (20:24 +0000)]
install.texi: Document that libstdc++-v3 requires now automake 1.9.1.
2004-08-25 Paolo Carlini <pcarlini@suse.de>
* doc/install.texi: Document that libstdc++-v3 requires
now automake 1.9.1.
From-SVN: r86572
Mark Mitchell [Wed, 25 Aug 2004 20:06:30 +0000 (20:06 +0000)]
re PR c++/17155 (Another link problem with function-local classes)
PR c++/17155
* lex.c (build_lang_decl): Set DECL_NO_STATIC_CHAIN for all C++
functions.
PR c++/17155
* g++.dg/inherit/local2.C: New test.
From-SVN: r86571
Caroline Tice [Wed, 25 Aug 2004 19:52:54 +0000 (19:52 +0000)]
Add more details to hot/cold partitioning comments and documentation.
2004-08-25 Caroline Tice <ctice@apple.com>
* bb-reorder.c (partition_hot_cold_basic_blocks): Add more details
to comments at start of function.
* cfgbuild.c (make_edges): Add more details to hot/cold partitioning
comment.
* cfgcleanup.c (try_simplify_condjump, try_forward_edges,
merge_blocks_move_predecessor_nojumps,
merge_blocks_move_successor_nojumps, merge_blocks_move,
try_crossjump_to_edge, try_crossjump_bb): Likewise.
* cfglayout.c (fixup_reorder_chain): Likewise.
* cfgrtl.c (rtl_can_merge_blocks, try_redirect_by_replacing_jump,
cfg_layout_can_merge_blocks_p): Likewise.
* ifcvt.c (find_if_case_1, find_if_case_2): Likewise.
* passes.c (rest_of_compilation): Update comments for calling
optimization that partitions hot/cold basic blocks.
* doc/invoke.texi: Update documentation of
freorder-blocks-and-partition flag.
From-SVN: r86570
Richard Sandiford [Wed, 25 Aug 2004 19:35:05 +0000 (19:35 +0000)]
mips.md (reg): Renamed mode attribute from ccreg.
* config/mips/mips.md (reg): Renamed mode attribute from ccreg.
(*mov*_on_*): Adjust accordingly. Add an explicit MOVECC: prefix.
From-SVN: r86568
Mark Mitchell [Wed, 25 Aug 2004 19:23:11 +0000 (19:23 +0000)]
* mangle.c (get_identifier_nocopy): Add cast.
From-SVN: r86567
Richard Sandiford [Wed, 25 Aug 2004 19:18:22 +0000 (19:18 +0000)]
mips.md (any_shift): New code macro.
* config/mips/mips.md (any_shift): New code macro.
(optab, insn): New code attributes.
({ashl,ashr,lshr}[sd]i3): Redefine using :GPR and any_shift.
Use the standard rather than internal patterns for the MIPS16
double-shift optimization.
(*{ashl,ashr,lshr}[sd]i3): New names for the non-mips16 shift patterns.
Redefine using :GPR and any_shift.
(*{ashl,ashr,lshr}si3_extend): Generalize ashlsi3_internal1_extend
to cover all three shifts.
(*{ashl,ashr,lshr}si3_mips16): New names for the mips16 SImode shifts.
Redefine using any_shift. Use :GPR and any_shift to combine splitters.
(*{ashl,ashr,lshr}di3_mips16): New names for the mips16 DImode shifts.
From-SVN: r86566
Mark Mitchell [Wed, 25 Aug 2004 19:02:56 +0000 (19:02 +0000)]
config.gcc (arm*-*-symbianelf*): Add t-symbian Makefile fragment.
* config.gcc (arm*-*-symbianelf*): Add t-symbian Makefile
fragment.
* config/arm/bpabi.h (RENAME_LIBRARY_SET): Fix typo.
(SUBTARGET_EXTRA_ASM_SPEC): Pass -meabi=3 to the assembler.
* config/arm/symbian.h (SUBTARGET_CPU_DEFAULT): Assume ARMV5
architecture.
(SUBTARGET_ASM_FLOAT_SPEC): Default to -mfpu=vfp for hard-float
configurations.
* config/arm/t-symbian: New file.
From-SVN: r86565
Geoffrey Keating [Wed, 25 Aug 2004 18:11:12 +0000 (18:11 +0000)]
gimplify.c (lookup_tmp_var): Separate temporaries when not optimizing.
* gimplify.c (lookup_tmp_var): Separate temporaries when not
optimizing.
From-SVN: r86563
John David Anglin [Wed, 25 Aug 2004 17:49:58 +0000 (17:49 +0000)]
PR libstdc++/17005 (fix for HP-UX 11.11)
PR libstdc++/17005 (fix for HP-UX 11.11)
* config.gcc (hppa*-*-*): Move MASK_BIG_SWITCH to target_cpu_default2.
(hppa*-*-hpux*): Consolidate hppa1.0-*-* code. Rework handling of
tm_file including pa-hpux1010.h or pa-hpux1111.h when appropriate.
* config/pa/pa-hpux1010.h, config/pa/pa-hpux1111.h: New files.
* config/pa/pa-hpux.h (TARGET_HPUX): Define.
(LINK_SPEC): Handle march=1.0 option.
* config/pa/pa-hpux10.h (TARGET_OS_CPP_BUILTINS): Predefine _XOPEN_UNIX
and _XOPEN_SOURCE_EXTENDED for UNIX 95.
(SUBTARGET_OPTIONS): New define.
(LINK_SPEC): Handle march=1.0 option.
(STARTFILE_SPEC): New define.
* config/pa/pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Predefine _XOPEN_UNIX
and _XOPEN_SOURCE_EXTENDED for UNIX 95. Additionally, predefine
_INCLUDE__STDC_A1_SOURCE and _INCLUDE_XOPEN_SOURCE_500 for UNIX 98.
(SUBTARGET_OPTIONS): New define.
(LINK_SPEC): Handle march=1.0 option.
(STARTFILE_SPEC): New define.
* config/pa/pa.c (override_options): Add code to process -munix= option.
* config/pa/pa.h (pa_unix_string, flag_pa_unix): Declare.
(TARGET_HPUX, TARGET_HPUX_10_10, TARGET_HPUX_11_11): Provide default
defines.
(TARGET_OPTIONS): Add SUBTARGET_OPTIONS to option list.
(SUBTARGET_OPTIONS): Provide default define.
* config/pa/pa64-hpux.h (STANDARD_STARTFILE_PREFIX_1,
STANDARD_STARTFILE_PREFIX_2): New defines.
(STARTFILE_SPEC): Provide unix95.o or unix98.o startfiles as necessary.
(ENDFILE_SPEC): Use %O.
* doc/install.texi (hppa*-*-hpux*): Reword paragraph on -g and gas.
Mention issue caused by changing namespace and runtime to UNIX 95/98.
* doc/invoke.texi (HPPA options): Move misplaced text to FRV options.
Document -munix=std option.
From-SVN: r86561
Mark Mitchell [Wed, 25 Aug 2004 16:58:23 +0000 (16:58 +0000)]
cp-tree.h (mangle_type): Remove.
* cp-tree.h (mangle_type): Remove.
* mangle.c (globals): GTY it.
(mangle_obstack): New variable.
(name_obstack): Likewise.
(name_base): Likewise.
(write_char): Adjust accordingly.
(write_chars): Likewise.
(write_string): Likewise.
(start_mangling): Initialize G.substitutions only one. Add
ident_p parameter.
(finish_mangling): Use VARRAY_CLEAR to reclaim
storage in G.substitutions. Use obstack_finish.
(init_mangle): Adjust for changes to variable names above.
Initialize G.substitutions.
(mangle_decl_string): Adjust call to start_mangling.
(get_identifier_nocopy): New function.
(mangle_decl): Use it.
(mangle_type_string): Adjust call to start_mangling.
(mangle_special_for_type): Likewise.
(mangle_vtt_for_type): Likewise.
(mangle_ctor_vtbl_for_type): Likewise.
(mangle_thunk): Likewise.
(mangle_guard_variable): Likewise.
(mangle_ref_init_variable): Likewise.
From-SVN: r86559
Paul Brook [Wed, 25 Aug 2004 16:50:13 +0000 (16:50 +0000)]
re PR fortran/17144 (Not Implemented: Character string array constructors / Assignment to char array)
PR fortran/17144
* trans-array.c (gfc_trans_allocate_temp_array): Remove
string_length argument.
(gfc_trans_array_ctor_element): New function.
(gfc_trans_array_constructor_subarray): Use it.
(gfc_trans_array_constructor_value): Ditto. Handle constant
character arrays.
(get_array_ctor_var_strlen, get_array_ctor_strlen): New functions.
(gfc_trans_array_constructor): Use them.
(gfc_add_loop_ss_code): Update to new gfc_ss layout.
(gfc_conv_ss_descriptor): Remember section string length.
(gfc_conv_scalarized_array_ref): Ditto. Remove dead code.
(gfc_conv_resolve_dependencies): Update to new gfc_ss layout.
(gfc_conv_expr_descriptor): Ditto.
(gfc_conv_loop_setup): Ditto. Spelling fixes.
* trans-array.h (gfc_trans_allocate_temp_array): Update prototype.
* trans-const.c (gfc_conv_constant): Update to new gfc_ss layout.
* trans-expr.c (gfc_conv_component_ref): Turn error into ICE.
(gfc_conv_variable): Set string_length from section.
(gfc_conv_function_call): Remove extra argument.
(gfc_conv_expr, gfc_conv_expr_reference): Update to new gfc_ss layout.
* trans-types.c (gfc_get_character_type_len): New function.
(gfc_get_character_type): Use it.
(gfc_get_dtype): Return zero for internal types.
* trans-types.h (gfc_get_character_type_len): Add prototype.
* trans.h (struct gfc_ss): Move string_length out of union.
testsuite/
* gfortran.dg/string_ctor_1.f90: New test.
From-SVN: r86558
Tobias Schlüter [Wed, 25 Aug 2004 15:50:36 +0000 (17:50 +0200)]
trans.h (build2_v, build3_v): New macros.
* trans.h (build2_v, build3_v): New macros.
(build_v): Remove.
* f95-lang.c (gfc_truthvalue_conversion): Use build2 instead of
build.
* trans-array.c (gfc_conv_descriptor_data,
gfc_conv_descriptor_offset, gfc_conv_descriptor_dimension,
gfc_conv_descriptor_stride, gfc_conv_descriptor_lbound,
gfc_conv_descriptor_ubound, gfc_trans_allocate_array_storage,
gfc_trans_allocate_temp_array,
gfc_trans_array_constructor_subarray,
gfc_trans_array_constructor_value, gfc_conv_array_index_ref,
gfc_trans_array_bound_check, gfc_conv_array_index_offset,
gfc_conv_scalarized_array_ref, gfc_conv_array_ref,
gfc_conv_array_ref, gfc_trans_preloop_setup,
gfc_trans_scalarized_loop_end, gfc_conv_ss_startstride,
gfc_conv_loop_setup, gfc_array_init_size,
gfc_conv_array_initializer, gfc_trans_array_bounds,
gfc_trans_auto_array_allocation, gfc_trans_dummy_array_bias,
gfc_conv_expr_descriptor, gfc_conv_array_parameter,
gfc_trans_deferred_array): Use buildN and buildN_v macros instead
of build and build_v as appropriate.
* trans-common.c (create_common): Same.
* trans-decl.c (gfc_trans_auto_character_variable,
gfc_trans_entry_master_switch, gfc_generate_function_code): Same.
* trans-expr.c (gfc_conv_expr_present, gfc_conv_substring,
gfc_conv_component_ref, gfc_conv_unary_op, gfc_conv_powi,
gfc_conv_cst_int_power, gfc_conv_string_tmp, gfc_conv_concat_op,
gfc_conv_expr_op, gfc_conv_function_call,
gfc_trans_structure_assign): Same.
* trans-intrinsic.c (build_fixbound_expr, build_round_expr,
gfc_conv_intrinsic_aint, gfc_conv_intrinsic_bound,
gfc_conv_intrinsic_cmplx, gfc_conv_intrinsic_mod,
gfc_conv_intrinsic_dim, gfc_conv_intrinsic_sign,
gfc_conv_intrinsic_dprod, gfc_conv_intrinsic_minmax,
gfc_conv_intrinsic_anyall, gfc_conv_intrinsic_count,
gfc_conv_intrinsic_arith, gfc_conv_intrinsic_minmaxloc,
gfc_conv_intrinsic_minmaxval, gfc_conv_intrinsic_btest,
gfc_conv_intrinsic_bitop, gfc_conv_intrinsic_singlebitop,
gfc_conv_intrinsic_ibits, gfc_conv_intrinsic_ishft,
gfc_conv_intrinsic_merge, gfc_conv_intrinsic_strcmp,
gfc_conv_allocated, gfc_conv_associated, prepare_arg_info,
gfc_conv_intrinsic_spacing, gfc_conv_intrinsic_rrspacing,
gfc_conv_intrinsic_trim, gfc_conv_intrinsic_repeat,
gfc_conv_intrinsic_iargc): Same.
* trans-io.c (set_parameter_value, set_parameter_ref, set_string,
set_flag, add_case, io_result, transfer_namelist_element,
transfer_expr): Same.
* trans-stmt.c (gfc_trans_goto, gfc_trans_return, gfc_trans_if_1,
gfc_trans_arithmetic_if, gfc_trans_do, gfc_trans_do_while,
gfc_trans_integer_select, gfc_trans_logical_select,
gfc_trans_character_select, gfc_trans_forall_loop,
gfc_trans_nested_forall_loop, gfc_do_allocate,
generate_loop_for_temp_to_lhs, generate_loop_for_rhs_to_temp,
compute_inner_temp_size, compute_overall_iter_number,
allocate_temp_for_forall_nest, gfc_trans_pointer_assign_need_temp,
gfc_trans_forall_1, gfc_evaluate_where_mask,
gfc_trans_where_assign, gfc_trans_allocate): Same.
* trans-types.c (gfc_get_dtype, gfc_get_array_type_bounds): Same.
* trans.c (gfc_add_modify_expr, gfc_finish_block,
gfc_build_array_ref, gfc_build_function_call,
gfc_trans_runtime_check): Same.
From-SVN: r86554
Jason Merrill [Wed, 25 Aug 2004 15:16:36 +0000 (11:16 -0400)]
re PR c++/15461 (ICE due to NRV and inlining)
PR c++/15461
* semantics.c (nullify_returns_r): Replace a DECL_STMT
for the NRV with an INIT_EXPR.
From-SVN: r86552
David Daney [Wed, 25 Aug 2004 15:12:25 +0000 (15:12 +0000)]
Makefile.am (AM_GCJFLAGS): Add LIBGCJ_JAVAFLAGS.
2004-08-25 David Daney <daney@avtrex.com>
* Makefile.am (AM_GCJFLAGS): Add LIBGCJ_JAVAFLAGS.
* Makefile.in: Regenerated.
From-SVN: r86551
Kriang Lerdsuwanakij [Wed, 25 Aug 2004 14:56:10 +0000 (14:56 +0000)]
re PR c++/14428 (incompatible template declarations accepted)
PR c++/14428
* pt.c (redeclare_class_template): Check the type of non-type and
template template parameter.
* g++.dg/template/redecl2.C: New test.
From-SVN: r86550
Tobias Schlüter [Wed, 25 Aug 2004 14:37:10 +0000 (16:37 +0200)]
trans-const.c (gfc_conv_mpz_to_tree): Change call to build_int_cst to build_int_cst_wide in accordance to Nathan's...
* trans-const.c (gfc_conv_mpz_to_tree): Change call to
build_int_cst to build_int_cst_wide in accordance to Nathan's
previous patch.
From-SVN: r86549
Paolo Bonzini [Wed, 25 Aug 2004 12:57:05 +0000 (12:57 +0000)]
Makefile.in: Add back top_builddir.
2004-08-25 Paolo Bonzini <bonzini@gnu.org>
* Makefile.in: Add back top_builddir.
From-SVN: r86548
Steven Bosscher [Wed, 25 Aug 2004 12:31:01 +0000 (12:31 +0000)]
cse.c (cse_around_loop, [...]): Remove.
* cse.c (cse_around_loop, cse_check_loop_start,
cse_set_around_loop): Remove.
(cse_basic_block): Remove the around_loop argument.
(cse_end_of_basic_block): Remove the after_loop argument.
(cse_main): Likewise.
* rtl.h (cse_main): Update prototype.
* passes.c (rest_of_handle_cse, rest_of_handle_cse2,
rest_of_handle_gcse): Update cse_main calls.
From-SVN: r86546
Nathan Sidwell [Wed, 25 Aug 2004 11:24:11 +0000 (11:24 +0000)]
ada-tree.h (TYPE_RM_SIZE_INT): Use TYPE_LANG_SLOT_1.
* ada-tree.h (TYPE_RM_SIZE_INT): Use TYPE_LANG_SLOT_1.
Co-Authored-By: Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
From-SVN: r86545
Nathan Sidwell [Wed, 25 Aug 2004 09:52:54 +0000 (09:52 +0000)]
tree.h (build_int_cst): New, sign extended constant.
* tree.h (build_int_cst): New, sign extended constant.
(build_int_cstu): New, zero extended constant.
(build_int_cst_wide): Renamed from build_int_cst.
* tree.c (build_int_cst, build_int_cstu): New.
(build_int_cst_wide): Renamed from build_int_cst.
(make_vector_type, build_common_tree_nodes,
build_common_tree_nodes_2): Adjust build_int_cst calls.
* builtins.c (expand_builtin_prefetch, expand_builtin_strstr,
expand_builtin_strpbrk, expand_builtin_fputs,
build_string_literal, expand_builtin_printf,
expand_builtin_sprintf, fold_builtin_classify_type,
fold_builtin_lround, fold_builtin_bitop, fold_builtin_isascii,
fold_builtin_toascii, fold_builtin_isdigit,
simplify_builtin_strstr, simplify_builtin_strpbrk,
fold_builtin_fputs, simplify_builtin_sprintf): Likewise.
* c-common.c (start_fname_decls, fix_string_type, shorten_compare,
DEF_ATTR_INT): Likewise.
* c-decl.c (complete_array_type, check_bitfield_type_and_width):
Likewise.
* c-lex.c (interpret_integer, lex_charconst): Likewise.
* c-parse.in (primary) <TYPES_COMPATIBLE_P> Likewise.
* c-pretty-print.c (pp_c_integer_constant): Likewise.
* c-typeck.c (really_start_incremental_init, push_init_level,
set_nonincremental_init_from_string): Likewise.
* calls.c (load_register_parameters): Likewise.
convert.c (convert_to_pointer): Likewise.
coverage.c (coverage_counter_alloc, tree_coverage_counter_ref,
build_fn_info_type, build_fn_info_value, build_ctr_info_value,
build_gcov_info): Likewise.
* except.c (init_eh, assign_filter_values): Likewise.
* expmed.c (store_fixed_bit_field, extract_bit_field,
extract_fixed_bit_field, extract_split_bit_field, expand_shift,
expand_mult_const, expand_mult_highpart_adjust, extract_high_half,
expand_sdiv_pow2, expand_divmod, make_tree): Likewise.
* expr.c (convert_move, emit_group_load, emit_group_store,
expand_assignment, store_constructor, store_field,
expand_expr_real_1, reduce_to_bit_field_precision): Likewise.
fold-const.c (force_fit_type, int_const_binop, fold_convert_const,
invert_truthvalue, optimize_bit_field_compare,
decode_field_reference, all_ones_mask_p, constant_boolean_node,
fold_div_compare, fold, fold_read_from_constant_string,
fold_negate_const, fold_abs_const, fold_not_const, round_up,
round_down): Likewise.
* function.c (assign_parm_setup_block): Likewise.
* stmt.c (shift_return_value, expand_case, estimate_case_costs):
Likewise.
* stor-layout.c (layout_type, initialize_sizetypes,
set_min_and_max_values_for_integral_type): Likewise.
* tree-chrec.c (chrec_fold_multiply_poly_poly,
reset_evolution_in_loop): Likewise.
* tree-chrec.h (build_polynomial_chrec): Likewise.
* tree-complex.c (build_replicated_const): Likewise.
* tree-eh.c (honor_protect_cleanup_actions,
lower_try_finally_onedest, lower_try_finally_copy,
lower_try_finally_switch): Likewise.
* tree-mudflap.c (mf_build_string, mx_register_decls,
mudflap_register_call, mudflap_enqueue_constant): Likewise.
* tree-nested.c (get_trampoline_type, get_nl_goto_field): Likewise.
* tree-pretty-print.c (dump_generic_node): Likewise.
* tree-ssa-ccp.c (widen_bitfield, maybe_fold_offset_to_array_ref):
Likewise.
* tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Likewise.
* tree-ssa-loop-niter.c (number_of_iterations_cond,
loop_niter_by_eval, upper_bound_in_type, lower_bound_in_type):
Likewise.
* tree-ssa-loop-ivcanon.c (create_canonical_iv,
canonicalize_loop_induction_variables): Likewise.
* tree-vectorizer.c (vect_create_index_for_array_ref,
vect_transform_loop_bound, vect_compute_data_ref_alignment):
Likewise.
* config/alpha/alpha.c (alpha_initialize_trampoline, alpha_va_start,
alpha_gimplify_va_arg_1): Likewise.
* config/arm/arm.c (arm_get_cookie_size): Likewise.
* config/c4x/c4x.c (c4x_gimplify_va_arg_expr): Likewise.
* config/i386/i386.c (ix86_va_start, ix86_gimplify_va_arg): Likewise.
* config/ia64/ia64.c (ia64_gimplify_va_arg): Likewise.
* config/mips/mips.c (mips_build_builtin_va_list, mips_va_start,
mips_gimplify_va_arg_expr): Likewise.
* config/pa/pa.c (hppa_gimplify_va_arg_expr): Likewise.
* config/rs6000/rs6000.c (rs6000_va_start, rs6000_gimplify_va_arg,
add_compiler_branch_island): Likewise.
* config/s390/s390.c (s390_va_start): Likewise.
* config/sh/sh.c (sh_va_start): Likewise.
* config/stormy16/stormy16.c (xstormy16_expand_builtin_va_start):
Likewise.
* config/xtensa/xtensa.c (xtensa_va_start,
xtensa_gimplify_va_arg_expr): Likewise.
* objc/objc-act.c (build_objc_string_object,
build_objc_symtab_template, init_def_list, init_objc_symtab,
init_module_descriptor, generate_static_references,
build_selector_translation_table, get_proto_encoding,
build_typed_selector_reference, build_selector_reference,
build_next_objc_exception_stuff,
build_method_prototype_list_template, generate_descriptor_table,
generate_protocols, build_protocol_initializer,
build_ivar_list_template, build_method_list_template,
build_ivar_list_initializer, generate_ivars_list,
generate_dispatch_table, generate_protocol_list,
build_category_initializer, build_shared_structure_initializer,
generate_shared_structures, handle_impent,
generate_objc_image_info): Likewise.
2004-04-25 Paolo Bonzini <bonzini@gnu.org>
* cfglayout.c (duplicate_insn_chain): Remove references to
NOTE_INSN_LOOP_VTOP and NOTE_INSN_LOOP_CONT.
* cfgloop.h (struct loop): Remove fields vtop, cont and cont_dominator.
* cfgrtl.c (rtl_delete_block): Remove handling of NOTE_INSN_LOOP_CONT.
* final.c (final_scan_insn): Remove references to NOTE_INSN_LOOP_VTOP
and NOTE_INSN_LOOP_CONT.
* insn-notes.def (NOTE_INSN_LOOP_VTOP, NOTE_INSN_LOOP_CONT): Remove.
* jump.c (squeeze_notes): Remove references to NOTE_INSN_LOOP_VTOP
and NOTE_INSN_LOOP_CONT.
* loop.c (scan_loops, find_and_verify_loops, for_each_insn_in_loop,
check_dbra_loop, loop_dump_aux): Remove references to removed notes
and fields.
* reorg.c (mostly_true_jump): Do not rely on NOTE_INSN_LOOP_VTOPs.
* unroll.c (unroll_loop, copy_loop_body, loop_iterations): Remove
references to removed notes and fields.
(subtract_reg_term, ujump_to_loop_cont): Remove.
From-SVN: r86544
Ben Elliston [Wed, 25 Aug 2004 09:07:43 +0000 (09:07 +0000)]
* gcc_update (libcpp/Makefile.in): Remove libcpp/Makefile.am.
From-SVN: r86543
Paolo Bonzini [Wed, 25 Aug 2004 08:20:11 +0000 (08:20 +0000)]
cfglayout.c (duplicate_insn_chain): Remove references to NOTE_INSN_LOOP_VTOP and NOTE_INSN_LOOP_CONT.
2004-04-25 Paolo Bonzini <bonzini@gnu.org>
* cfglayout.c (duplicate_insn_chain): Remove references to
NOTE_INSN_LOOP_VTOP and NOTE_INSN_LOOP_CONT.
* cfgloop.h (struct loop): Remove fields vtop, cont and cont_dominator.
* cfgrtl.c (rtl_delete_block): Remove handling of NOTE_INSN_LOOP_CONT.
* final.c (final_scan_insn): Remove references to NOTE_INSN_LOOP_VTOP
and NOTE_INSN_LOOP_CONT.
* insn-notes.def (NOTE_INSN_LOOP_VTOP, NOTE_INSN_LOOP_CONT): Remove.
* jump.c (squeeze_notes): Remove references to NOTE_INSN_LOOP_VTOP
and NOTE_INSN_LOOP_CONT.
* loop.c (scan_loops, find_and_verify_loops, for_each_insn_in_loop,
check_dbra_loop, loop_dump_aux): Remove references to removed notes
and fields.
* reorg.c (mostly_true_jump): Do not rely on NOTE_INSN_LOOP_VTOPs.
* unroll.c (unroll_loop, copy_loop_body, loop_iterations): Remove
references to removed notes and fields.
(subtract_reg_term, ujump_to_loop_cont): Remove.
From-SVN: r86542
Paolo Bonzini [Wed, 25 Aug 2004 08:10:02 +0000 (08:10 +0000)]
configure.ac: Replace Automake macro invocations with manual Autoconf checks and substitutions.
libcpp/ChangeLog:
2004-08-25 Paolo Bonzini <bonzini@gnu.org>
* configure.ac: Replace Automake macro invocations
with manual Autoconf checks and substitutions.
* Makefile.am: Removed.
* Makefile.in: Heavy simplification and reorganization.
gcc/ChangeLog:
2004-08-25 Paolo Bonzini <bonzini@gnu.org>
* doc/invoke.texi: Document that libcpp does not require
Automake any longer. Document that Automake 1.9.1 should
work everywhere.
From-SVN: r86541
Zack Weinberg [Wed, 25 Aug 2004 07:34:54 +0000 (07:34 +0000)]
flags.h (enum debug_info_type): Remove DWARF_DEBUG.
* flags.h (enum debug_info_type): Remove DWARF_DEBUG.
* defaults.h (PREFERRED_DEBUGGING_TYPE): Remove check for
DWARF_DEBUGGING_INFO from choice-of-definition chain;
restructure using C89 features (#elif, #error).
* c-lex.c, final.c, opts.c, config/cris/cris.c, config/frv/frv.c
* config/sh/sh.h: Remove references to DWARF_DEBUG.
* doc/invoke.texi: Remove references to DWARF version 1;
clarify why -gdwarf-2<n> doesn't work.
cp:
* class.c, search.c: Remove references to DWARF_DEBUG.
From-SVN: r86540
Zack Weinberg [Wed, 25 Aug 2004 07:32:52 +0000 (07:32 +0000)]
* ifcvt.c (find_if_case_1): Remove ??? comment.
From-SVN: r86539
Adam Nemet [Wed, 25 Aug 2004 07:25:36 +0000 (07:25 +0000)]
repo.c (extract_string): Reset backquote after one character.
* repo.c (extract_string): Reset backquote after one character.
(get_base_filename): Fix indentation.
From-SVN: r86538
Zack Weinberg [Wed, 25 Aug 2004 07:25:06 +0000 (07:25 +0000)]
basic-block.h (BB_SET_PARTITION): Clear old value first.
* basic-block.h (BB_SET_PARTITION): Clear old value first.
* cfg.c (clear_bb_flags): Don't clear partition setting.
From-SVN: r86537
David Daney [Wed, 25 Aug 2004 05:06:55 +0000 (05:06 +0000)]
closure_fn0.c: Xfail mips64* instead of mips*.
2004-08-24 David Daney <daney@avtrex.com>
* testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
* testsuite/libffi.call/closure_fn1.c: Likewise.
* testsuite/libffi.call/closure_fn2.c Likewise.
* testsuite/libffi.call/closure_fn3.c: Likewise.
* testsuite/libffi.call/closure_fn4.c: Likewise.
* testsuite/libffi.call/closure_fn5.c: Likewise.
* testsuite/libffi.call/cls_18byte.c: Likewise.
* testsuite/libffi.call/cls_19byte.c: Likewise.
* testsuite/libffi.call/cls_1_1byte.c: Likewise.
* testsuite/libffi.call/cls_20byte.c: Likewise.
* testsuite/libffi.call/cls_20byte1.c: Likewise.
* testsuite/libffi.call/cls_24byte.c: Likewise.
* testsuite/libffi.call/cls_2byte.c: Likewise.
* testsuite/libffi.call/cls_3_1byte.c: Likewise.
* testsuite/libffi.call/cls_3byte1.c: Likewise.
* testsuite/libffi.call/cls_3byte2.c: Likewise.
* testsuite/libffi.call/cls_4_1byte.c: Likewise.
* testsuite/libffi.call/cls_4byte.c: Likewise.
* testsuite/libffi.call/cls_64byte.c: Likewise.
* testsuite/libffi.call/cls_6byte.c: Likewise.
* testsuite/libffi.call/cls_7byte.c: Likewise.
* testsuite/libffi.call/cls_8byte.c: Likewise.
* testsuite/libffi.call/cls_9byte1.c: Likewise.
* testsuite/libffi.call/cls_9byte2.c: Likewise.
* testsuite/libffi.call/cls_align_double.c: Likewise.
* testsuite/libffi.call/cls_align_float.c: Likewise.
* testsuite/libffi.call/cls_align_longdouble.c: Likewise.
* testsuite/libffi.call/cls_align_pointer.c: Likewise.
* testsuite/libffi.call/cls_align_sint16.c: Likewise.
* testsuite/libffi.call/cls_align_sint32.c: Likewise.
* testsuite/libffi.call/cls_align_sint64.c: Likewise.
* testsuite/libffi.call/cls_align_uint16.c: Likewise.
* testsuite/libffi.call/cls_align_uint32.c: Likewise.
* testsuite/libffi.call/cls_align_uint64.c: Likewise.
* testsuite/libffi.call/cls_double.c: Likewise.
* testsuite/libffi.call/cls_float.c: Likewise.
* testsuite/libffi.call/cls_multi_schar.c: Likewise.
* testsuite/libffi.call/cls_multi_sshort.c: Likewise.
* testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
* testsuite/libffi.call/cls_multi_uchar.c: Likewise.
* testsuite/libffi.call/cls_multi_ushort.c: Likewise.
* testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
* testsuite/libffi.call/cls_schar.c: Likewise.
* testsuite/libffi.call/cls_sint.c: Likewise.
* testsuite/libffi.call/cls_sshort.c: Likewise.
* testsuite/libffi.call/cls_uchar.c: Likewise.
* testsuite/libffi.call/cls_uint.c: Likewise.
* testsuite/libffi.call/cls_ulonglong.c: Likewise.
* testsuite/libffi.call/cls_ushort.c: Likewise.
* testsuite/libffi.call/nested_struct.c: Likewise.
* testsuite/libffi.call/nested_struct1.c: Likewise.
* testsuite/libffi.call/nested_struct2.c: Likewise.
* testsuite/libffi.call/nested_struct3.c: Likewise.
* testsuite/libffi.call/problem1.c: Likewise.
* testsuite/libffi.special/unwindtest.cc: Likewise.
* testsuite/libffi.call/cls_12byte.c: Likewise and set return value
to zero.
* testsuite/libffi.call/cls_16byte.c: Likewise.
* testsuite/libffi.call/cls_5byte.c: Likewise.
From-SVN: r86534
Alan Modra [Wed, 25 Aug 2004 03:40:27 +0000 (03:40 +0000)]
re PR target/17052 (altivec varargs failure if no optimization)
PR target/17052
* config/rs6000/rs6000.h (machine_function): Remove sysv_varargs_p.
* config/rs6000/sysv4.h (RS6000_VARARGS_AREA): Use
current_function_stdarg in place of sysv_varargs_p.
* config/rs6000/rs6000.c (setup_incoming_varargs): Don't set
sysv_varargs_p.
From-SVN: r86533
Bud Davis [Wed, 25 Aug 2004 00:31:33 +0000 (00:31 +0000)]
re PR libfortran/17143 (2**63 prints garbage)
2004-08-24 Bud Davis <bdavis9659@comcast.net>
PR fortran/17143
* runtime/error.c (itoa): keep from overflowing during
mod operation by using unsigned variable.
* gfortran.dg/pr17143.f90: New test.
From-SVN: r86532
GCC Administrator [Wed, 25 Aug 2004 00:16:16 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r86530
Bud Davis [Wed, 25 Aug 2004 00:14:07 +0000 (00:14 +0000)]
re PR libfortran/17164 (index function not working properly)
2004-08-24 Bud Davis <bdavis9659@comcast.net>
PR fortran/17164
* runtime/string_intrinsics.c (string_index):check for
substring longer than string.
* gfortran.dg/pr17164.f90: New test.
From-SVN: r86527
Richard Henderson [Tue, 24 Aug 2004 21:45:59 +0000 (14:45 -0700)]
re PR target/16298 (ICE in output_operand)
PR target/16298
* config/i386/i386.c (legitimate_constant_p): Rework to not accept
random codes within CONST.
From-SVN: r86522
James E Wilson [Tue, 24 Aug 2004 21:38:35 +0000 (21:38 +0000)]
Fix linux make profiledbootstrap.
* Makefile.in (STAGEFEEDBACK_FLAGS_TO_PASS): Remove
-freorder-blocks-and-partition.
From-SVN: r86521
John David Anglin [Tue, 24 Aug 2004 20:59:34 +0000 (20:59 +0000)]
re PR middle-end/17044 (libgcc2.c:169: internal compiler error: Segmentation fault)
PR middle-end/17044
* tree-ssa-threadupdate.c (redirection_data): Make static.
(thread_block): Use ggc_alloc_cleared to allocate struct
redirection_data. Don't free elements in redirection_data.
From-SVN: r86519
Richard Sandiford [Tue, 24 Aug 2004 20:53:32 +0000 (20:53 +0000)]
* config/mips/predicates.md (small_data_pattern): Match prefetches.
From-SVN: r86518
Zdenek Dvorak [Tue, 24 Aug 2004 20:50:42 +0000 (22:50 +0200)]
re PR tree-optimization/17016 (ICE with struct passed as reference)
PR tree-optimization/17016
* tree-ssa-loop-niter.c (number_of_iterations_cond,
number_of_iterations_exit): Use POINTER_TYPE_P instead
of testing for POINTER_TYPE.
From-SVN: r86517
Zdenek Dvorak [Tue, 24 Aug 2004 20:48:23 +0000 (22:48 +0200)]
tree-ssa-loop-ivcanon.c: New file.
* tree-ssa-loop-ivcanon.c: New file.
* tree-ssa-loop-manip.c (create_iv): New function.
* Makefile.in (tree-ssa-loop-ivcanon.o): Add.
(tree-ssa-loop.o, tree-ssa-loop-manip.o): Add SCEV_H dependency.
* cfgloop.c (mark_single_exit_loops): New function.
(verify_loop_structure): Verify single-exit loops.
* cfgloop.h (struct loop): Add single_exit field.
(LOOPS_HAVE_MARKED_SINGLE_EXITS): New constant.
(mark_single_exit_loops): Declare.
(tree_num_loop_insns): Declare.
* cfgloopmanip.c (update_single_exits_after_duplication): New function.
(duplicate_loop_to_header_edge): Use it.
* common.opt (fivcanon): New flag.
* timevar.def (TV_TREE_LOOP_IVCANON, TV_COMPLETE_UNROLL): New timevars.
* tree-cfg.c (tree_find_edge_insert_loc): Return newly created block.
(bsi_commit_edge_inserts_1): Pass null to tree_find_edge_insert_loc.
(bsi_insert_on_edge_immediate): New function.
* tree-flow.h (bsi_insert_on_edge_immediate,
canonicalize_induction_variables, tree_unroll_loops_completely,
create_iv): Declare.
* tree-optimize.c (init_tree_optimization_passes): Add
pass_iv_canon and pass_complete_unroll.
* tree-pass.h (pass_iv_canon, pass_complete_unroll): Declare.
* tree-scalar-evolution.c (get_loop_exit_condition,
get_exit_conditions_rec, number_of_iterations_in_loop,
scev_initialize): Use single_exit information.
* tree-ssa-loop-niter.c (number_of_iterations_cond): Record
missing assumptions.
(loop_niter_by_eval): Return number of iterations as unsigned
int.
* tree-ssa-loop.c (tree_ssa_loop_init): Mark single exit loops.
(tree_ssa_loop_ivcanon, gate_tree_ssa_loop_ivcanon, pass_iv_canon,
tree_complete_unroll, gate_tree_complete_unroll, pass_complete_unroll):
New passes.
(tree_ssa_loop_done): Call free_numbers_of_iterations_estimates.
* tree-ssanames.c (make_ssa_name): Allow creating ssa name before
the defining statement is ready.
* tree-vectorizer.c (vect_create_iv_simple): Removed.
(vect_create_index_for_array_ref, vect_transform_loop_bound):
Use create_iv.
(vect_transform_loop_bound): Use single_exit information.
(vect_analyze_loop_form): Cleanup bogus tests.
(vectorize_loops): Do not call flow_loop_scan.
* tree.h (may_negate_without_overflow_p): Declare.
* fold-const.c (may_negate_without_overflow_p): Split out from ...
(negate_expr_p): ... this function.
(tree_expr_nonzero_p): Handle overflowed constants correctly.
* doc/invoke.texi (-fivcanon): Document.
* doc/passes.texi: Document canonical induction variable creation.
* gcc.dg/tree-ssa/loop-1.c: New test.
From-SVN: r86516
Richard Sandiford [Tue, 24 Aug 2004 20:43:57 +0000 (20:43 +0000)]
mips.h (ISA_HAS_INT_CONDMOVE): Delete.
* config/mips/mips.h (ISA_HAS_INT_CONDMOVE): Delete.
* config/mips/mips.c (print_operand): Fold %B/%b handling into %T/%t,
using the mode of the operand to decide between them.
* config/mips/mips.md (MOVECC): New mode macro.
(ccreg): New mode attribute.
(*mov{si,di,sf,df}_on_{cc,si,di}): Name formerly unnamed patterns.
Redefine using :GPR and :MOVECC. Use %T and %t for the condition.
(mov[sd]icc): Redefine using :GPR.
From-SVN: r86515
Richard Sandiford [Tue, 24 Aug 2004 20:41:20 +0000 (20:41 +0000)]
Fix logs for last delta. Sorry for the screw-up.
From-SVN: r86514
Richard Sandiford [Tue, 24 Aug 2004 20:24:00 +0000 (20:24 +0000)]
* gcc.c-torture/compile/
20040824-1.c: New test.
From-SVN: r86513
Richard Earnshaw [Tue, 24 Aug 2004 20:16:41 +0000 (20:16 +0000)]
arm.md: Include predicates.md.
* arm.md: Include predicates.md.
* predicates.md: New file.
* arm.c (s_register_operand, arm_hard_register_operand)
(arm_general_register_operand, f_register_operand, reg_or_int_operand)
(arm_immediate_operand, arm_neg_immediate_operand)
(arm_not_immediate_operand, arm_rhs_operand, arm_rhsm_operand)
(arm_add_operand, arm_addimm_operand, arm_not_operand)
(offsettable_memory_operand, alignable_memory_operand)
(arm_reload_memory_operand, arm_float_rhs_operand)
(arm_float_add_operand, vfp_compare_operand, arm_float_compare_operand)
(index_operand, shiftable_operator, logical_binary_operator)
(shift_operator, equality_operator, arm_comparison_operator)
(minmax_operator, cc_register, dominant_cc_register)
(arm_extendqisi_mem_op, power_of_two_operand, nonimmediate_di_operand)
(di_operand, nonimmediate_soft_df_operand, soft_df_operand)
(const_shift_operand, load_multiple_operation)
(store_multiple_operation, multi_register_push, thumb_cmp_operand)
(thumb_cmpneg_operand, thumb_cbrch_target_operand)
(cirrus_register_operand, cirrus_fp_register)
(cirrus_shift_const): Delete, replaced with equivalents in
predicates.md.
(shift_op): Handle ROTATE.
* arm-protos.h: Delete declarations for above.
* arm.h (PREDICATE_CODES, SPECIAL_MODE_PREDICATES): Delete.
* t-arm (MD_INCLUDES): Add predicates.md.
(s-preds): Depends on MD_INCLUDES.
From-SVN: r86512
Richard Sandiford [Tue, 24 Aug 2004 20:04:57 +0000 (20:04 +0000)]
mips.c (mips_gen_conditional_trap): Fix mode.
* config/mips/mips.c (mips_gen_conditional_trap): Fix mode.
* config/mips/mips.md (*conditional_trap[sd]i): Name previously unnamed
patterns. Redefine using :GPR. Give the match_operator a mode.
Use '%2' rather than '%z2' for operand 2.
From-SVN: r86511
Richard Sandiford [Tue, 24 Aug 2004 19:53:32 +0000 (19:53 +0000)]
mips.md (load_call[sd]i): Redefine using :P.
* config/mips/mips.md (load_call[sd]i): Redefine using :P. Add mode
attribute.
From-SVN: r86510
Richard Sandiford [Tue, 24 Aug 2004 19:50:22 +0000 (19:50 +0000)]
mips.md (indirect_jump): Use force_reg.
* config/mips/mips.md (indirect_jump): Use force_reg. Adjust names
of internal patterns.
(indirect_jump[sd]i): Renamed from indirect_jump_internal[12].
Redefine using :P.
(tablejump): Use expand_binop to calculate address. Adjust names
of internal patterns.
(tablejump[sd]i): Renamed from tablejump_internal[12].
Redefine using :P.
(tablejump_mips16[12]): Delete.
From-SVN: r86509
Richard Sandiford [Tue, 24 Aug 2004 19:39:00 +0000 (19:39 +0000)]
* config/mips/mips.md (*seq_[sd]i, *seq_[sd]i_mips16, *sne_[sd]i)
(*sgt_[sd]i, *sgt_[sd]i_mips16, *sge_[sd]i, *slt_[sd]i)
(*slt_[sd]i_mips16, *sle_[sd]i, *sle_[sd]i_mips16, *sgtu_[sd]i)
(*sgtu_[sd]i_mips16, *sge_[sd]i, *sltu_[sd]i, *sltu_[sd]i_mips16)
(*sleu_[sd]i, *sleu_[sd]i_mips16): Redefine using :GPR.
From-SVN: r86508
Richard Sandiford [Tue, 24 Aug 2004 19:35:07 +0000 (19:35 +0000)]
mips.md (cmpsi, cmpdi): Redefine using :GPR.
* config/mips/mips.md (cmpsi, cmpdi): Redefine using :GPR.
(*branch_zero[sd]i): Renamed from branch_zero{,_di}. Redefine
using :GPR.
(*branch_zero[sd]i_inverted): Likewise branch_zero{,_di}_inverted.
(*branch_equality[sd]i): Likewise branch_equality{,_di}.
(*branch_equality[sd]i_inverted): Likewise
branch_equality{,_di}_inverted.
(*branch_equality[sd]i_mips16): Name formerly unnamed patterns.
Redefine using :GPR.
From-SVN: r86507
Tobias Schlüter [Tue, 24 Aug 2004 18:40:32 +0000 (20:40 +0200)]
trans-decl.c, [...]: Add and remove blank lines as required.
* trans-decl.c, trans-types.c: Add and remove blank lines as
required.
From-SVN: r86505
Richard Henderson [Tue, 24 Aug 2004 18:23:11 +0000 (11:23 -0700)]
* trans-const.c (gfc_conv_mpz_to_tree): Fix 64-bit shift warning.
From-SVN: r86504
Zack Weinberg [Tue, 24 Aug 2004 17:00:54 +0000 (17:00 +0000)]
rtl.def: Wrap MD-only codes in #ifdef GENERATOR_FILE.
* rtl.def: Wrap MD-only codes in #ifdef GENERATOR_FILE.
* gengtype.c: Don't include rtl.h. Define enum rtx_code and
rtx_name, rtx_format arrays by direct reference to rtl.def,
first undefining GENERATOR_FILE. Define enum insn_note and
note_insn_name array by direct reference to insn-notes.def.
(adjust_field_rtx_def): Remove local definition of rtx_name.
Use symbolic names for insn notes.
* Makefile.in (gengtype.o): Update dependencies.
From-SVN: r86499
Tobias Schlüter [Tue, 24 Aug 2004 16:58:33 +0000 (18:58 +0200)]
resolve.c (merge_argument_lists): Revert unintentionally committed change.
* resolve.c (merge_argument_lists): Revert unintentionally
committed change.
From-SVN: r86498
Tobias Schlüter [Tue, 24 Aug 2004 16:54:52 +0000 (18:54 +0200)]
* resolve.c (resolve_entries): Fix a bunch of comment typos.
From-SVN: r86497
Zack Weinberg [Tue, 24 Aug 2004 16:49:54 +0000 (16:49 +0000)]
rtl.def: Reorganize, placing all codes used only in machine descriptions at the end.
* rtl.def: Reorganize, placing all codes used only in machine
descriptions at the end.
From-SVN: r86496
Zack Weinberg [Tue, 24 Aug 2004 16:46:32 +0000 (16:46 +0000)]
basic-block.h (struct basic_block_def): Reorder fields to eliminate interior padding.
* basic-block.h (struct basic_block_def): Reorder fields to
eliminate interior padding. Remove 'partition' field.
(BB_DISABLE_SCHEDULE, BB_HOT_PARTITION, BB_COLD_PARTITION)
(BB_UNPARTITIONED, BB_PARTITION, BB_SET_PARTITION)
(BB_COPY_PARTITION): New macros.
* bb-reorder.c, cfgcleanup.c, cfglayout.c, cfgrtl.c, ifcvt.c
Replace all references to the 'partition' field of a basic
block with new macros.
* insn-notes.def: Delete NOTE_INSN_DISABLE_SCHED_OF_BLOCK.
* final.c (final_scan_insn): Don't handle it.
* modulo-sched.c: Set BB_DISABLE_SCHEDULE flag on g->bb
instead of emitting a NOTE_INSN_DISABLE_SCHED_OF_BLOCK note.
* sched-rgn.c (sched_is_disabled_for_current_region_p):
Look for a BB_DISABLE_SCHEDULE flag on the block instead of a note.
From-SVN: r86495
Tobias Schlüter [Tue, 24 Aug 2004 16:43:26 +0000 (18:43 +0200)]
trans-decl.c (build_function_decl): Fix spelling in comment.
* trans-decl.c (build_function_decl): Fix spelling in comment.
(build_entry_thunks): Remove code with no function.
(gfc_build_intrinsic_function_decls): Remove empty line.
From-SVN: r86494
Nathan Sidwell [Tue, 24 Aug 2004 16:39:43 +0000 (16:39 +0000)]
c-decl.c (c_init_decl_processing): Adjust build_common_tree_nodes call.
* c-decl.c (c_init_decl_processing): Adjust
build_common_tree_nodes call.
* expmed.c (const_mult_add_overflow_p): Use
build_distinct_type_copy.
* stor-layout.c (early_type_list): Remove.
(layout_type): Don't append to early_type_list.
(initialize_sizetypes): Add signed_p argument.
(set_sizetype): Overwrite the stub type nodes directly.
* tree.c (copy_node_stat): Clear a type's value cache here ...
(build_distinct_type): ... not here.
(build_common_tree_nodes): Add signed_sizetype argument. Adjust.
* tree.h (initialize_sizetypes): Add signed_p argument.
(build_common_tree_nodes): Likewise.
* ada/utils.c (gnat_init_decl_processing): Adjust
build_common_tree_nodes call.
* cp/decl.c (cxx_init_decl_processing): Adjust
build_common_tree_nodes call.
* fortran/f95-lang.c (gfc_init_decl_processing): Adjust
build_common_tree_nodes call.
* java/decl.c (java_init_decl_processing): Adjust
initialize_sizetypes call.
* objc/objc-act.c (get_static_reference): Use
build_variant_type_copy.
(get_protocol_reference): Likewise.
* objc/objc-act.h (TREE_STATIC_TEMPLATE): Use TREE_PRIVATE.
* treelang/treetree.c (treelang_init_decl_processing): Adjust
build_common_tree_nodes call.
From-SVN: r86493
Tobias Schlüter [Tue, 24 Aug 2004 16:25:16 +0000 (18:25 +0200)]
* trans-types.c: Spelling and formatting fixes.
From-SVN: r86490
Paul Brook [Tue, 24 Aug 2004 16:20:45 +0000 (16:20 +0000)]
* gfortran.dg/entry_2.f90: New test.
From-SVN: r86489
Nathan Sidwell [Tue, 24 Aug 2004 16:06:22 +0000 (16:06 +0000)]
re PR c++/16889 (ambiguity is not detected)
cp:
PR c++/16889
* (is_subobject_of_p): Resurrect & optimize.
(lookup_field_r): Use it.
testsuite:
PR c++/16889
* g++.dg/lookup/ambig[12].C: New.
From-SVN: r86488
Richard Henderson [Tue, 24 Aug 2004 15:46:38 +0000 (08:46 -0700)]
gimplify.c (gimplify_array_ref_to_plus): Delete.
2004-08-24 Richard Henderson <rth@redhat.com>
Andrew Pinski <apinski@apple.com>
* gimplify.c (gimplify_array_ref_to_plus): Delete.
(gimplify_addr_expr): Do not call gimplify_array_ref_to_plus
for ARRAY_REF.
* config/rs6000/rs6000.c (altivec_expand_builtin): Go passed
ARRAY_REF also to get to the STRING_CST.
Co-Authored-By: Andrew Pinski <apinski@apple.com>
From-SVN: r86487
David Edelsohn [Tue, 24 Aug 2004 15:20:52 +0000 (15:20 +0000)]
Makefile.am (libgfortran_la_LDFLAGS): Add -lm.
* Makefile.am (libgfortran_la_LDFLAGS): Add -lm.
* Makefile.in: Rebuilt.
From-SVN: r86486
Kriang Lerdsuwanakij [Tue, 24 Aug 2004 14:13:50 +0000 (14:13 +0000)]
re PR c++/16706 (ICE in finish_member_declaration, at cp/semantics.c:2126)
PR c++/16706
* search.c (friend_accessible_p): Increment processing_template_decl
when deal with TEMPLATE_DECL of SCOPE.
* g++.dg/template/crash21.C: New test.
* g++.dg/template/crash22.C: Likewise.
From-SVN: r86482
Paolo Carlini [Tue, 24 Aug 2004 13:55:44 +0000 (13:55 +0000)]
2832.cc: New.
2004-08-24 Paolo Carlini <pcarlini@suse.de>
* testsuite/27_io/basic_istringstream/rdbuf/wchar_t/2832.cc: New.
* testsuite/27_io/basic_istringstream/str/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_ostringstream/cons/wchar_t/3.cc: Likewise.
* testsuite/27_io/basic_ostringstream/rdbuf/wchar_t/2832.cc: Likewise.
* testsuite/27_io/basic_ostringstream/str/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_ostringstream/str/wchar_t/2.cc: Likewise.
* testsuite/27_io/basic_istringstream/rdbuf/char/2832.cc: Trim excess
newlines.
* testsuite/27_io/basic_istringstream/str/char/1.cc: Likewise.
From-SVN: r86481
Paul Brook [Tue, 24 Aug 2004 11:32:53 +0000 (11:32 +0000)]
arm.c (arm_override_options): Update error message.
* config/arm/arm.c (arm_override_options): Update error message.
* config/arm/arm.h (TARGET_HARD_FLOAT): Rename to
TARGET_HARD_FLOAT_ABI.
(TARGET_SOFT_FLOAT_ABI): Rename to TARGET_HARD_FLOAT.
(LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Use TARGET_HARD_FLOAT_ABI.
From-SVN: r86479
Nick Clifton [Tue, 24 Aug 2004 09:33:59 +0000 (09:33 +0000)]
re PR target/17093 ([m32r-*-gcc] ICE with -msdata=use -O0)
PR target/17093
* config/m32r.md (movsi_sda): Add SI mode specification to UNSPEC.
From-SVN: r86474
Nathan Sidwell [Tue, 24 Aug 2004 09:04:06 +0000 (09:04 +0000)]
re PR c++/17149 (ICE: tree check: expected record_type or union_type or qual_union_type, have template_type_parm in check_accessibility_of_qualified_id, at cp/semantics.c:1388)
cp:
PR c++/17149
* semantics.c (check_accessibility_of_qualified_id): Defer check
if qualifying_type is a template parameter.
testsuite:
PR c++/17149
* g++.dg/template/access15.C: New.
From-SVN: r86472
Nathan Sidwell [Tue, 24 Aug 2004 08:52:38 +0000 (08:52 +0000)]
Makefile.in (PROTO_OBJS): Add errors.o.
* Makefile.in (PROTO_OBJS): Add errors.o.
* protoize.c (fancy_abort): Remove.
* mips-tfile.c (fancy_abort): Add parameters.
From-SVN: r86471
Jonathan Wakely [Tue, 24 Aug 2004 08:46:15 +0000 (09:46 +0100)]
trouble.texi (C++ misunderstandings): Fix example code.
2004-08-24 Jonathan Wakely <redi@gcc.gnu.org>
* doc/trouble.texi (C++ misunderstandings): Fix example code.
From-SVN: r86470
Nick Clifton [Tue, 24 Aug 2004 08:07:31 +0000 (08:07 +0000)]
(PREDICATE_CODES): Remove duplicate defintion of seth_add3_operand.
From-SVN: r86469
Andreas Tobler [Tue, 24 Aug 2004 07:31:33 +0000 (09:31 +0200)]
Makefile.in (HOOKS_H): Add dependency on MACHMODE_H.
2004-08-24 Andreas Tobler <a.tobler@schweiz.ch>
* Makefile.in (HOOKS_H): Add dependency on MACHMODE_H.
(host-default.o): Add dependency on HOOKS_H.
* config/x-linux: Likewise.
* config/x-solaris: Likewise.
* config/i386/x-mingw32: Likewise.
* config/rs6000/x-darwin: Likewise.
From-SVN: r86468
Mark Mitchell [Tue, 24 Aug 2004 06:37:58 +0000 (06:37 +0000)]
re PR c++/17163 (ICE with -frepo and static class variables)
PR c++/17163
* pt.c (instantiate_decl): Do not try to apply
DECL_DECLARED_INLINED_P to a VAR_DECL.
PR c++/17163
* g++.dg/template/repo2.C: New test.
From-SVN: r86467
James E Wilson [Tue, 24 Aug 2004 05:14:07 +0000 (05:14 +0000)]
Fix typo reported by Kai Henningsen.
* reg-notes.def (REG_NOTE): In comment, change DEF_INSN_NOTE to
DEF_REG_NOTE.
From-SVN: r86465
Richard Henderson [Tue, 24 Aug 2004 04:32:10 +0000 (21:32 -0700)]
trans-const.c (gfc_conv_mpz_to_tree): Use mpz_getlimbn instead of going through an intermediate string.
* trans-const.c (gfc_conv_mpz_to_tree): Use mpz_getlimbn instead
of going through an intermediate string. Fix 32/64 int/long bug.
From-SVN: r86464
Roger Sayle [Tue, 24 Aug 2004 04:23:31 +0000 (04:23 +0000)]
re PR rtl-optimization/17078 (Jump into if(0)-substatement fails)
PR rtl-optimization/17078
* gcc.c-torture/execute/pr17078-1.c: New test case.
From-SVN: r86463
Mark Mitchell [Tue, 24 Aug 2004 02:10:12 +0000 (02:10 +0000)]
re PR debug/14492 (loc_descriptor_from_tree, in dwarf2out.c:9031)
PR c/14492
* dwarf2out.c (loc_descriptor_from_tree): Robustify.
PR c/14492
* gcc.dg/debug/crash1.c: New test.
From-SVN: r86461
Mark Mitchell [Tue, 24 Aug 2004 01:45:23 +0000 (01:45 +0000)]
re PR rtl-optimization/16180 (gcc crashes when optimization is turned on)
PR c/16180
* jump.c (duplicate_loop_exit_test): If the location reached by
the unconditional jump at the top of the loop is outside the loop,
then do not treat it as the exit test.
PR c/16180
* gcc.dg/loop-5.c: New test.
From-SVN: r86459
Diego Novillo [Tue, 24 Aug 2004 01:13:01 +0000 (01:13 +0000)]
cfg.c (check_bb_profile): Fix typos.
* cfg.c (check_bb_profile): Fix typos.
* function.c (assign_parm_is_stack_parm): Likewise.
* tree-nested.c: Likewise.
From-SVN: r86457
Daniel Jacobowitz [Tue, 24 Aug 2004 00:46:11 +0000 (00:46 +0000)]
ggc-zone.c (struc alloc_chunk): Rearrange flag bits and SIZE.
* ggc-zone.c (struc alloc_chunk): Rearrange flag bits and SIZE.
Remove TYPECODE.
(ggc_alloc_zone_1): Mark TYPE as unused. Don't save it in the chunk.
From-SVN: r86456
Eric Christopher [Tue, 24 Aug 2004 00:30:52 +0000 (00:30 +0000)]
defaults.h (VECTOR_MODE_SUPPORTED_P): Remove macro.
2004-08-23 Eric Christopher <echristo@redhat.com>
* defaults.h (VECTOR_MODE_SUPPORTED_P): Remove macro.
* system.h (VECTOR_MODE_SUPPORTED_P): Poison.
* target-def.h (TARGET_VECTOR_MODE_SUPPORTED_P): Define.
* target.h: Ditto.
* hooks.h: Include machmode.h.
(hook_bool_mode_false): Declare.
* hooks.c (hook_bool_mode_false): Define.
* expr.c (vector_mode_valid_p): Use targetm.vector_mode_supported_p.
* stor-layout.c (layout_type): Ditto.
* config/alpha/alpha.c (alpha_vector_mode_supported_p): New function.
Define to target macro.
* config/alpha/alpha.h (VECTOR_MODE_SUPPORTED_P): Delete.
* config/arm/arm.c: Ditto. Use.
* config/arm/arm.h: Ditto.
* config/arm/arm-protos.h: Ditto.
* config/i386/i386.c: Ditto.
* config/i386/i386.h: Ditto.
* config/rs6000/rs6000.c: Ditto.
* config/rs6000/rs6000.h: Ditto.
* config/sh/sh.c: Ditto.
* config/sh/sh.h: Ditto.
* config/sh/sh-protos.h: Ditto.
* config/sh/sh.md: Use.
* doc/tm.texi: Move documentation for VECTOR_MODE_SUPPORTED_P
to TARGET_VECTOR_MODE_SUPPORTED_P.
2004-08-23 Eric Christopher <echristo@redhat.com>
* trans-types.c (gfc_type_for_mode): Remove VECTOR_TYPE_SUPPORTED_P
usage. Use build_vector_type_for_mode for vector types.
From-SVN: r86453
GCC Administrator [Tue, 24 Aug 2004 00:16:21 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r86449
R. Kelley Cook [Mon, 23 Aug 2004 23:51:56 +0000 (23:51 +0000)]
ignore autom4te.cache
From-SVN: r86446