This is the mail archive of the gcc-regression@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

new FAILs on HEAD


If you directly receive this mail, your name is tagged to one of the ChangeLog
entries. A copy is also mailed to gcc-regressions.

The build system:
Fedora Core release 3 (Heidelberg)
i686
i686-pc-linux-gnu
configure flags: --enable-threads=posix --prefix=/opt/gcc/install/HEAD --enable-__cxa_atexit --with-system-zlib --enable-languages=c,ada,c++,f95,java,objc

These new FAILs appeared since the last run:

FAIL:	c41203a
FAIL:	c41203b
FAIL:	c52102b
FAIL:	c52102d
FAIL:	c62002a
FAIL:	cxg2009
FAIL:	cxh1001
FAIL: g++.dg/other/static11.C (test for excess errors)
FAIL: gcc.dg/uninit-1.c uninitialized variable warning (test for bogus messages, line 16)
FAIL: gcc.dg/vect/vect-dv-2.c execution test
FAIL: gcc.dg/vect/vect-ifcvt-1.c execution test
FAIL: gcc.dg/vect/vect-ifcvt-2.c execution test
FAIL: gcc.dg/vect/vect-ifcvt-3.c execution test
FAIL: gcc.dg/vect/vect-ifcvt-4.c execution test
FAIL: gcc.dg/vect/vect-ifcvt-5.c execution test
FAIL: gcc.dg/vect/vect-ifcvt-6.c execution test
FAIL: gcc.dg/vect/vect-ifcvt-7.c execution test
FAIL: gcc.dg/vect/vect-ifcvt-9.c execution test
FAIL: gfortran.dg/namelist_13.f90  -O0  execution test
FAIL: gfortran.dg/namelist_13.f90  -O1  execution test
FAIL: gfortran.dg/namelist_13.f90  -O2  execution test
FAIL: gfortran.dg/namelist_13.f90  -O3 -fomit-frame-pointer  execution test
FAIL: gfortran.dg/namelist_13.f90  -O3 -fomit-frame-pointer -funroll-loops  execution test
FAIL: gfortran.dg/namelist_13.f90  -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions  execution test
FAIL: gfortran.dg/namelist_13.f90  -O3 -g  execution test
FAIL: gfortran.dg/namelist_13.f90  -Os  execution test
FAIL: pr21115 run

The complete testsuite logs can be found at
http://www.mailsys.de/~gcc/logs-HEAD-i686-1114234579.tar.bz2

These are the new ChangeLog entries since the last run:

2005-04-08  Ian Lance Taylor  <ian@airs.com>

	* cp-tree.def: Define FOR_STMT, WHILE_STMT, DO_STMT, BREAK_STMT,
	CONTINUE_STMT, SWITCH_STMT.
	* cp-tree.h (cp_stmt_codes): Add FOR_STMT, WHILE_STMT, DO_STMT,
	BREAK_STMT, CONTINUE_STMT, SWITCH_STMT.
	(WHILE_COND, WHILE_BODY): Define.
	(DO_COND, DO_BODY): Define.
	(FOR_INIT_STMT, FOR_COND, FOR_EXPR, FOR_BODY): Define.
	(SWITCH_STMT_COND, SWITCH_STMT_BODY, SWITCH_STMT_TYPE): Define.
	* cp-gimplify.c (enum bc_t): Define.
	(struct cp_gimplify_ctx, ctxp): Define.
	(push_context, pop_context): New static functions.
	(begin_bc_block, finish_bc_block): New static functions.
	(build_bc_goto): New static function.
	(gimplify_cp_loop, gimplify_for_stmt): New static functions.
	(gimplify_while_stmt, gimplify_do_stmt): Likewise.
	(gimplify_switch_stmt): Likewise.
	(cp_gimplify_expr): Handle FOR_STMT, WHILE_STMT, DO_STMT,
	SWITCH_STMT, CONTINUE_STMT, BREAK_STMT.
	(cp_genericize): Call push_context and pop_context.
	* semantics.c (finish_break_stmt): Just call build_stmt
	(BREAK_STMT) rather than build_break_stmt.
	(finish_continue_stmt): Corresponding change.
	* decl.c (pop_switch): Update call to c_do_switch_warnings for new
	parameters.
	* cxx-pretty-print.c (pp_cxx_statement): Handle SWITCH_STMT,
	WHILE_STMT, DO_STMT, FOR_STMT, BREAK_STMT, CONTINUE_STMT.
	* dump.c (cp_dump_tree): Likewise.

2005-04-08  Diego Novillo  <dnovillo@redhat.com>

	* g++.dg/tree-ssa/pr18178.C: New test.
	* gcc.c-torture/execute/20030216-1.x: Ignore at -O1.
	* gcc.c-torture/execute/20041019-1.c: New test.
	* gcc.dg/tree-ssa/20041008-1.c: New test.
	* gcc.dg/tree-ssa/ssa-ccp-12.c: New test.
	* gcc.dg/tree-ssa/20030731-2.c: Update to use -fdump-tree-store_ccp.
	* gcc.dg/tree-ssa/20030917-1.c: Likewise.
	* gcc.dg/tree-ssa/20030917-3.c: Likewise.
	* gcc.dg/tree-ssa/20040721-1.c: Likewise.
	* gcc.dg/tree-ssa/ssa-ccp-1.c: Likewise.
	* gcc.dg/tree-ssa/ssa-ccp-2.c: Likewise.
	* gcc.dg/tree-ssa/ssa-ccp-3.c: Likewise.
	* gcc.dg/tree-ssa/ssa-ccp-7.c: Likewise.
	* gcc.dg/tree-ssa/ssa-ccp-9.c: Likewise.

2005-04-08  Ian Lance Taylor  <ian@airs.com>

	* c-common.def: Move FOR_STMT, WHILE_STMT, DO_STMT, BREAK_STMT,
	CONTINUE_STMT, and SWITCH_STMT to cp/cp-tree.def.
	* c-common.h (WHILE_COND, WHILE_BODY): Move to cp/cp-tree.h.
	(DO_COND, DO_BODY): Likewise.
	(FOR_INIT_STMT, FOR_COND, FOR_EXPR, FOR_BODY): Likewise.
	(SWITCH_STMT_COND, SWITCH_STMT_BODY, SWITCH_STMT_TYPE): Likewise.
	(c_common_stmt_codes): Remove FOR_STMT, WHILE_STMT, DO_STMT,
	BREAK_STMT, CONTINUE_STMT, and SWITCH_STMT.
	(build_continue_stmt, build_break_stmt): Don't declare.
	(c_do_switch_warnings): Update declaration.
	* c-gimplify.c (enum bc_t): Remove.
	(struct c_gimplify_ctx, ctxp): Remove.
	(push_context, pop_context): Remove static functions.
	(c_genericize): Don't call push_context or pop_context.
	(begin_bc_block, finish_bc_block): Remove static functions.
	(build_bc_goto): Likewise.
	(gimplify_c_loop): Likewise.
	(gimplify_for_stmt, gimplify_while_stmt): Likewise.
	(gimplify_do_stmt, gimplify_switch_stmt): Likewise.
	(c_gimplify_expr): Remove handling of FOR_STMT, WHILE_STMT,
	DO_STMT, SWITCH_STMT, CONTINUE_STMT, BREAK_STMT.
	* c-common.c (c_do_switch_warnings): Rename from
	c_do_switch_warnings_1.
	(c_do_switch_warnings) [old version]: Remove.
	(c_do_switch_expr_warnings): Remove.
	* c-typeck.c (c_finish_case): Call new c_do_switch_warnings
	function instead of c_do_switch_expr_warnings.
	* c-dump.c (c_dump_tree): Remove handling of BREAK_STMT,
	CONTINUE_STMT, DO_STMT, FOR_STMT, SWITCH_STMT, and WHILE_STMT.
	* c-pretty-print.c (pp_c_statement): Likewise.
	* c-semantics.c (build_break_stmt, build_continue_stmt): Remove.

2005-04-08  Diego Novillo  <dnovillo@redhat.com>

	Merge from tree-cleanup-branch: VRP, store CCP, store
	    copy-prop, incremental SSA updating of FUD chains and
	    newly exposed symbols.

	* Makefile.in (tree-ssa-copy.o): Depend on tree-ssa-propagate.h.
	(OBJS-common): Add tree-vrp.o.
	(tree-vrp.o): New rule.
	* basic-block.h (nearest_common_dominator_for_set): Declare.
	* common.opt (ftree-store-ccp): New flag.
	(ftree-copy-prop): New flag.
	(ftree-vrp): New flag.
	(ftree-store-copy-prop): New flag.
	* dominance.c (nearest_common_dominator_for_set): New.
	* domwalk.c (walk_dominator_tree): Only traverse
	statements in blocks marked in walk_data->interesting_blocks.
	* domwalk.h (struct dom_walk_data): Add field interesting_blocks.
	* fold-const.c (fold): Handle ASSERT_EXPR.
	* opts.c (decode_options): Set flag_tree_copy_prop at -O1.
	Set flag_tree_store_ccp, flag_tree_store_copy_prop and
	flag_tree_vrp at -O2.
	* timevar.def (TV_TREE_VRP): Define.
	(TV_TREE_COPY_PROP): Define.
	(TV_TREE_STORE_COPY_PROP): Define.
	(TV_TREE_SSA_INCREMENTAL): Define.
	(TV_TREE_STORE_CCP): Define.
	* tree-cfg.c (tree_can_merge_blocks_p): Remove reference
	to kill_redundant_phi_nodes from comment.
	(verify_expr): Handle ASSERT_EXPR.
	* tree-dfa.c (mark_new_vars_to_rename): Remove second
	argument.  Update all users.
	(mark_call_clobbered_vars_to_rename): Remove.  Update all
	users.
	* tree-flow-inline.h (unmodifiable_var_p): New.
	* tree-flow.h (enum value_range_type): Declare.
	(struct value_range_def): Declare.
	(value_range): Declare.
	(remove_all_phi_nodes_for): Remove.  Update all users.
	(find_phi_node_for): Declare.
	(add_type_alias): Declare.
	(count_uses_and_derefs): Declare.
	(kill_redundant_phi_nodes): Remove.
	(rewrite_into_ssa): Remove.
	(rewrite_def_def_chains): Remove.
	(update_ssa, register_new_name_mapping, create_new_def_for,
	need_ssa_update_p, name_registered_for_update_p,
	release_ssa_name_after_update_ssa, dump_repl_tbl,
	debug_repl_tbl, dump_names_replaced_by,
	debug_names_replaced_by, mark_sym_for_renaming,
	mark_set_for_renaming, get_current_def, set_current_def,
	get_value_range, dump_value_range, debug_value_range,
	dump_all_value_ranges, debug_all_value_ranges,
	expr_computes_nonzero, loop_depth_of_name,
	unmodifiable_var_p): Declare.
	* tree-gimple.c (is_gimple_formal_tmp_rhs): Handle
	ASSERT_EXPR.
	* tree-into-ssa.c (block_defs_stack): Update comment.
	(old_ssa_names, new_ssa_names, old_virtual_ssa_names,
	syms_to_rename, names_to_release, repl_tbl,
	need_to_initialize_update_ssa_p, need_to_update_vops_p,
	need_to_replace_names_p): New locals.
	(NAME_SETS_GROWTH_FACTOR): Define.
	(struct repl_map_d): Declare.
	(struct mark_def_sites_global_data): Add field
	interesting_blocks.
	(enum rewrite_mode): Declare.
	(REGISTER_DEFS_IN_THIS_STMT): Define.
	(compute_global_livein): Use last_basic_block instead of
	n_basic_blocks.
	(set_def_block): Remove last argument.  Update all callers.
	(prepare_use_operand_for_rename): Remove.  Update all callers.
	(prepare_def_operand_for_rename): Remove.  Update all callers.
	(symbol_marked_for_renaming): New.
	(is_old_name): New.
	(is_new_name): New.
	(repl_map_hash): New.
	(repl_map_eq): New.
	(repl_map_free): New.
	(names_replaced_by): New.
	(add_to_repl_tbl): New.
	(add_new_name_mapping): New.
	(mark_def_sites): Assume that all the operands in the
	statement are in normal form.
	(find_idf): Assert that the block in the stack is valid.
	(get_default_def_for): New.
	(insert_phi_nodes_for): Add new argument 'update_p'.
	Add documentation.
	If update_p is true, add a new mapping between the LHS of
	each new PHI and the name that it replaces.
	(insert_phi_nodes_1): Only call find_idf if needed.
	(get_reaching_def): Call get_default_def_for.
	(rewrite_operand): Remove.
	(rewrite_stmt): Do nothing if REGISTER_DEFS_IN_THIS_STMT
	and REWRITE_THIS_STMT are false.
	Assume that all the operands in the statement are in
	normal form.
	(rewrite_add_phi_arguments): Don't use PHI_REWRITTEN.
	(rewrite_virtual_phi_arguments): Remove.
	(invalidate_name_tags): Remove.
	(register_new_update_single, register_new_update_set,
	rewrite_update_init_block, replace_use,
	rewrite_update_fini_block, rewrite_update_stmt,
	rewrite_update_phi_arguments): New.
	rewrite_blocks): Remove argument 'fix_virtual_phis'.
	Add arguments 'entry', 'what' and 'blocks'.
	Initialize the dominator walker according to 'what' and
	'blocks'.
	Start the dominator walk at 'entry'.
	(mark_def_site_blocks): Add argument 'interesting_blocks'.
	Use it to configure the dominator walker.
	(rewrite_into_ssa): Remove argument 'all'.
	Make internal.
	(rewrite_all_into_ssa): Remove.
	(rewrite_def_def_chains): Remove.
	(mark_def_interesting, mark_use_interesting,
	prepare_phi_args_for_update, prepare_block_for_update,
	prepare_def_site_for, prepare_def_sites,
	dump_names_replaced_by, debug_names_replaced_by,
	dump_repl_tbl, debug_repl_tbl, init_update_ssa,
	delete_update_ssa, create_new_def_for,
	register_new_name_mapping, mark_sym_for_renaming,
	mark_set_for_renaming, need_ssa_update_p,
	name_registered_for_update_p, ssa_names_to_replace,
	release_ssa_name_after_update_ssa,
	insert_updated_phi_nodes_for, update_ssa): New.
	* tree-loop-linear.c (linear_transform_loops): Call
	update_ssa instead of rewrite_into_ssa.
	* tree-optimize.c (vars_to_rename): Remove.
	Update all users.
	(init_tree_optimization_passes): Replace
	pass_redundant_phi with pass_copy_prop.
	Add pass_vrp.
	Replace pass_ccp with pass_store_ccp.
	Add pass_store_copy_prop after pass_store_ccp.
	(execute_todo): If the TODO_ flags don't include updating
	the SSA form, assert that it does not need to be updated.
	Call update_ssa instead of rewrite_into_ssa and
	rewrite_def_def_chains.
	If TODO_verify_loops is set, call verify_loop_closed_ssa.
	(tree_rest_of_compilation):
	* tree-pass.h (TODO_dump_func, TODO_ggc_collect,
	TODO_verify_ssa, TODO_verify_flow, TODO_verify_stmts,
	TODO_cleanup_cfg): Renumber.
	(TODO_verify_loops, TODO_update_ssa,
	TODO_update_ssa_no_phi, TODO_update_ssa_full_phi,
	TODO_update_ssa_only_virtuals): Define.
	(pass_copy_prop, pass_store_ccp, pass_store_copy_prop, pass_vrp):
	Declare.
	* tree-phinodes.c (make_phi_node): Update documentation.
	(remove_all_phi_nodes_for): Remove.
	(find_phi_node_for): New.
	* tree-pretty-print.c (dump_generic_node): Handle ASSERT_EXPR.
	* tree-scalar-evolution.c (follow_ssa_edge_in_rhs): Likewise.
	(interpret_rhs_modify_expr): Likewise.
	* tree-sra.c (decide_instantiations): Mark all symbols in
	SRA_CANDIDATES for renaming.
	(mark_all_v_defs_1): Rename from mark_all_v_defs.
	(mark_all_v_defs): New function.  Update all users to call it 
	with the whole list of scalarized statements, not just the
	first one.
	* tree-ssa-alias.c (count_ptr_derefs): Make extern.
	(compute_flow_insensitive_aliasing): If the tag is
	unmodifiable and the variable isn't or vice-versa, don't
	make them alias of each other.
	(setup_pointers_and_addressables): If the type tag for
	VAR is about to change, mark the old one for renaming.
	(add_type_alias): New.
	* tree-ssa-ccp.c: Document SSA-CCP and STORE-CCP.
	(ccp_lattice_t): Rename from latticevalue.
	(value): Remove.  Update all users.
	(const_val): New local variable.
	(do_store_ccp): New local variable.
	(dump_lattice_value): Handle UNINITIALIZED.
	(debug_lattice_value): New.
	(get_default_value): Re-write.
	(set_lattice_value): Re-write.
	(def_to_varying): Remove.  Update all users.
	(likely_value): Return VARYING for statements that make
	stores when STORE_CCP is false.
	Return VARYING for any statement other than MODIFY_EXPR,
	COND_EXPR and SWITCH_EXPR.
	(ccp_initialize): Re-write.
	(replace_uses_in, replace_vuse_in, substitute_and_fold):
	Move to tree-ssa-propagate.c.
	(ccp_lattice_meet): Handle memory stores when
	DO_STORE_CCP is true.
	(ccp_visit_phi_node): Likewise.
	(ccp_fold): Likewise.
	(evaluate_stmt): Likewise.
	(visit_assignment): Likewise.
	(ccp_visit_stmt): Likewise.
	(execute_ssa_ccp): Add argument 'store_ccp'.  Copy it
	into DO_STORE_CCP.
	(do_ssa_ccp): New.
	(pass_ccp): Use it.
	(do_ssa_store_ccp): New.
	(gate_store_ccp): New.
	(pass_store_ccp): Declare.
	* tree-ssa-copy.c: Include tree-ssa-propagate.h.
	(may_propagate_copy): Reformat.
	Don't abort if ORIG is a virtual and DEST isn't.
	If NEW does not have alias information but DEST does,
	copy it.
	(copy_of, cached_last_copy_of, do_store_copy_prop, enum
	copy_prop_kind, which_copy_prop): Declare.
	(stmt_may_generate_copy, get_copy_of_val,
	get_last_copy_of, set_copy_of_val, dump_copy_of,
	copy_prop_visit_assignment, copy_prop_visit_cond_stmt,
	copy_prop_visit_stmt, copy_prop_visit_phi_node,
	init_copy_prop, fini_copy_prop, execute_copy_prop,
	gate_copy_prop, do_copy_prop, gate_store_copy_prop,
	store_copy_prop): New.
	(pass_copy_prop, pass_store_copy_prop): Declare.
	* tree-ssa-dom.c (struct opt_stats_d): Add fields
	'num_const_prop' and 'num_copy_prop'.
	(cprop_operand): Update them.
	(dump_dominator_optimization_stats): Dump them.
	(tree_ssa_dominator_optimize): Call update_ssa instead of
	rewrite_into_ssa.
	(loop_depth_of_name): Declare extern.
	(simplify_cond_and_lookup_avail_expr): Guard against NULL
	values for LOW or HIGH.
	(cprop_into_successor_phis): Only propagate if NEW != ORIG.
	(record_equivalences_from_stmt): Call expr_computes_nonzero.
	(cprop_operand): Only propagate if VAL != OP.
	* tree-ssa-dse.c (dse_optimize_stmt): Mark symbols in removed
	statement for renaming.
	* tree-ssa-loop-im.c (move_computations): Call update_ssa.
	* tree-ssa-loop-ivopts.c (rewrite_address_base): Call
	add_type_alias if necessary.
	Call mark_new_vars_to_rename.
	(tree_ssa_iv_optimize): If new symbols need to be renamed,
	mark every statement updated, call update_ssa and
	rewrite_into_loop_closed_ssa.
	* tree-ssa-loop-manip.c (add_exit_phis): Do not remove DEF_BB
	from LIVEIN if VAR is a virtual.
	* tree-ssa-loop.c (tree_loop_optimizer_init): Call update_ssa.
	* tree-ssa-operands.c (get_expr_operands): Handle ASSERT_EXPR.
	(get_call_expr_operands): Reformat statement.
	(add_stmt_operand): Don't create V_MAY_DEFs for read-only
	symbols.
	* tree-ssa-propagate.c (ssa_prop_init): Initialize
	SSA_NAME_VALUE for every name.
	(first_vdef, stmt_makes_single_load, stmt_makes_single_store,
	get_value_loaded_by): New.
	(replace_uses_in, replace_vuses_in, replace_phi_args_in,
	substitute_and_fold): Move from tree-ssa-ccp.c.
	* tree-ssa-propagate.h (struct prop_value_d, prop_value_t,
	first_vdef, stmt_makes_single_load, stmt_makes_single_store,
	get_value_loaded_by, replace_uses_in, substitute_and_fold):
	Declare.
	* tree-ssa.c (verify_use): Fix error message.
	(propagate_into_addr, replace_immediate_uses, get_eq_name,
	check_phi_redundancy, kill_redundant_phi_nodes,
	pass_redundant_phi): Remove.  Update all users.
	* tree-vect-transform.c (vect_create_data_ref_ptr): Call
	add_type_alias, if necessary.
	* tree-vectorizer.h (struct _stmt_vect_info): Update
	documentation for field 'memtag'.
	* tree-vrp.c: New file.
	* tree.def (ASSERT_EXPR): Define.
	* tree.h (ASSERT_EXPR_VAR): Define.
	(ASSERT_EXPR_COND): Define.
	(SSA_NAME_VALUE_RANGE): Define.
	(struct tree_ssa_name): Add field 'value_range'.
	(PHI_REWRITTEN): Remove.
	(struct tree_phi_node): Remove field 'rewritten'.
	* doc/invoke.texi (-fdump-tree-storeccp, -ftree-copy-prop,
	-ftree-store-copy-prop): Document.
	* doc/tree-ssa.texi: Remove broken link to McCAT's compiler.
	Document usage of update_ssa.

2005-04-09  Uros Bizjak  <uros@kss-loka.si>

	* gcc.dg/builtins-53.c: New test.

2005-04-09  Uros Bizjak  <uros@kss-loka.si>

	* config/i386/i386.md (*fp_jcc_7_387): Use 'const0_operand' instead
	of 'const_double_operand' in operand 2 constraints.  Update enable
	condition.

2005-04-09  Uros Bizjak  <uros@kss-loka.si>

	* builtins.def (BUILT_IN_LFLOOR, BUILT_IN_LFLOORF, BUILT_IN_LFLOORL)
	(BUILT_IN_LLFLOOR, BUILT_IN_LLFLOORF, BUILT_IN_LLFLOORL): New.
	* optabs.h (enum optab_index): Add new OTI_lfloor.
	(lfloor_optab): Define corresponding macro.
	* optabs.c (init_optabs): Initialize lfloor_optab.
	* genopinit.c (optabs): Implement lfloor_optab using lfloorsi2
	and lfloordi2 patterns.
	* builtins.c (expand_builtin_int_roundingfn): New prototype.
	(expand_builtin_int_roundingfn): New function.
	(fold_builtin_int_roundingfn): New prototype.
	(fold_builtin_int_roundingfn): New function, renamed from
	fold_builtin_lround.
	Handle BUILT_IN_LROUND{,F,L}, BUILT_IN_LLROUND{,F,L} and
	BUILT_IN_LFLOOR{,F,L}, BUILT_IN_LLFLOOR{,F,L}.
	(fold_builtin_1): Fold BUILT_IN_LFLOOR{,F,L} and
	BUILT_IN_LLFLOOR{,F,L} using fold_builtin_int_roundingfn.
	(mathfn_built_in): Handle BUILT_IN LFLOOR and BUILT_IN_LLFLOOR.
	(expand_builtin): Expand BUILT_IN_LFLOOR{,F,L} and
	BUILT_IN_LLFLOOR{,F,L} using expand_builtin_int_roundingfn.
	* convert.c (convert_to_integer): Convert (long int)floor{,f,l},
	into lfloor built-in function and (long long int)floor{,f,l} into
	llfloor built-in function.
	* fold-const.c (tree_expr_nonnegative_p): Add BUILT_IN_LFLOOR and
	BUILT_IN_LLFLOOR.

2005-04-09  Francois-Xavier Coudert  <coudert@clipper.ens.fr>

	* match.c (match_arithmetic_if): Remove gfc_ prefix and correct
	comment according to GNU coding style.

2005-04-09  Andrew MacLeod  <amacleod@redhat.com>

	* doc/tree-ssa.texi: Add immediate use documentation.

2005-04-09  Richard Earnshaw <richard.earnshaw@arm.com>

	* arm.c (FL_WBUF): Define.
	(arm_tune_strongarm): Renamed from arm_is_strong.  All uses changed.
	(arm_is_6_or_7): Delete.
	(arm_tune_wbuf): New.
	(arm_override_options): Set arm_tune_wbuf.
	* arm.h (arm_tune_strongarm): Renamed from arm_is_strong.
	(arm_is_6_or_7): Delete declaration.
	(arm_tune_wbuf): New declartion.
	* arm.md (is_strongarm): Derive from arm_tune_strongarm.
	(model_wbuf): Derive from arm_tune_wbuf.
	* arm-cores.def (arm600, arm610, arm620, arm700, arm700i, arm710)
	(arm720, arm710c, arm7100, arm7500, arm7500fe, arm710t, arm720t)
	(arm740t): Mark CPUs as having a write buffer.

2005-04-09  Jan Hubicka  <jh@suse.cz>

	Forgotten hunk from my last merge patch:
	* final.c (output_addr_const): Do not call mark_referenced.

2005-04-09  David Edelsohn  <edelsohn@gnu.org>

	* config/rs6000/predicates.md (altivec_register_operand): Remove
	redundant match_code test.
	(gpc_reg_operand): Same.
	(cc_reg_operand): Same.
	(cc_reg_not_cr0_operand): Same.

2005-04-09  Kazu Hirata  <kazu@cs.umass.edu>

	* dominance.c, gthr-win32.h, reg-stack.c, tree-ssa-copy.c,
	tree-ssa-operands.c, tree-ssa.c, tree-vrp.c, varasm.c,
	config/alpha/alpha.c, config/arm/arm.c, config/m32r/m32r.h,
	config/rs6000/predicates.md: Fix comment typos.

2005-04-09  Jan Hubicka  <jh@suse.cz>
	    Steven Bosscher  <stevenb@suse.de>

	* cfglayout.c (copy_bbs): Rename n_edges to num_edges.
	* cfgloop.c (get_loop_exit_edges): Likewise.
	* cfgloopmanip.c (fix_irreducible_loops): Likewise.
	(unloop): Likewise.
	* loop-unroll.c (analyze_insns_in_loop): Likewise.
	* tree-cfg.c (dump_cfg_status): Likewise.

2005-04-09  Kazu Hirata  <kazu@cs.umass.edu>

	* cp-tree.h (cxx_alignof): Remove.

	* cp-tree.h (DECL_ARRAY_DELETE_OPERATOR_P): Remove.

	* cp-tree.h (EXCEPTION_CLEANUP_NAME, B_SET, B_CLR, B_TST,
	CONV_STATIC_CAST): Remove.

	* pt.c (UNIFY_ALLOW_MAX_CORRECTION): Remove.

	* cp-tree.h (VF_BINFO_VALUE, VF_BASETYPE_VALUE): Remove.

2005-04-09  Jakub Jelinek  <jakub@redhat.com>

	* gcc.dg/tree-ssa/stdarg-1.c: New test.
	* gcc.dg/tree-ssa/stdarg-2.c: New test.
	* gcc.dg/tree-ssa/stdarg-3.c: New test.
	* gcc.dg/tree-ssa/stdarg-4.c: New test.
	* gcc.dg/tree-ssa/stdarg-5.c: New test.
	* gcc.c-torture/execute/stdarg-4.c: New test.

	* gcc.dg/vmx/varargs-1.c (f1, f2, f3): Add missing va_end.

	PR target/20795
	* g++.dg/abi/param2.C: New test.

2005-04-09  Jakub Jelinek  <jakub@redhat.com>

	* tree.h (enum tree_index): Add TI_VA_LIST_GPR_COUNTER_FIELD
	and TI_VA_LIST_FPR_COUNTER_FIELD.
	(va_list_gpr_counter_field, va_list_fpr_counter_field): Define.
	* tree-pass.h (pass_stdarg): Add.
	* tree-optimize.c (init_tree_optimization_passes): Add pass_stdarg.
	* tree-stdarg.c: New file.
	* tree-stdarg.h: New file.
	* Makefile.in (OBJS-common): Add tree-stdarg.o.
	(tree-stdarg.o): Add dependencies.
	* function.h (struct function): Add va_list_gpr_size and
	va_list_fpr_size fields.
	* function.c (allocate_struct_function): Initialize them.
	* target.h (struct gcc_target): Add stdarg_optimize_hook.
	* target-def.h (TARGET_STDARG_OPTIMIZE_HOOK): Define.
	(TARGET_INITIALIZER): Add it.

	* config/i386/i386.c (ix86_build_builtin_va_list): Initialize
	va_list_{g,f}pr_counter_field.
	(ix86_setup_incoming_varargs): Don't do anything if reg_save
	area will not be used.  Only save registers that tree-stdarg.c
	detected they need saving.
	(ix86_va_start): Don't set up fields that won't be used.

	* config/rs6000/rs6000.c (rs6000_build_builtin_va_list): Initialize
	va_list_{g,f}pr_counter_field.
	(setup_incoming_varargs): Don't do anything if reg_save
	area will not be used.  Only save registers that tree-stdarg.c
	detected they need saving.
	(rs6000_va_start): Don't set up fields that won't be used.

	* config/alpha/alpha.c: Include tree-flow.h and tree-stdarg.h.
	(alpha_build_builtin_va_list): Initialize va_list_gpr_counter_field.
	(va_list_skip_additions, alpha_stdarg_optimize_hook): New functions.
	(TARGET_STDARG_OPTIMIZE_HOOK): Define.

2005-04-09  Jakub Jelinek  <jakub@redhat.com>

	PR target/20795
	* config/i386/i386.c (construct_container): Pass empty aligned
	struct, union or class in memory.

	* sched-int.h (haifa_insn_data): Remove blockage and units.
	(INSN_UNIT, INSN_BLOCKAGE, UNIT_BITS, BLOCKAGE_MASK,
	ENCODE_BLOCKAGE, UNIT_BLOCKED, BLOCKAGE_RANGE,
	MIN_BLOCKAGE_COST, MAX_BLOCKAGE_COST): Remove.

2005-04-09  Andrew Pinski  <pinskia@physics.uc.edu>

	PR fortran/13257
	* io.c (check_format): Allow an optional comma
	between descriptors.

2005-04-09  Andrew Pinski  <pinskia@physics.uc.edu>

	PR fortran/13257
	* gfortran.dg/comma_format_extension_[1234].f: New tests.

2005-04-09  Andrew Pinski  <pinskia@physics.uc.edu>

	PR fortran/13257
	* format.c (parse_format_list): Allow an optional comma
	between descriptors.

	* cp-tree.h (cp_deprecated): Remove.

2005-04-09  Thomas Koenig  <Thomas.Koenig@online.de>

	PR libfortran/20163
	* gfortran.dg/open-options-blanks.f:  New test.

2005-04-09  Thomas Koenig <Thomas.Koenig@online.de>

	PR libfortran/20163
	* runtime/string.c (compare0): Use fstrlen() to 
	strip trailing blanks from option string.

2005-04-08  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/Makefile.am: Remove libv3test.a.
	* testsuite/Makefile.in: Regenerate.
	* testsuite/lib/libstdc++.exp (v3_target_compile): Fix comments.
	
2005-04-09  Caroline Tice  <ctice@apple.com>

	* bb-reorder.c (find_rarely_executed_basic_blocks_and_crossing_edges):
	Remove targetm.have_named_sections test.
	(fix_edges_for_rarely_executed_code): Likewise.
	(insert_section_boundary_note): Likewise.
	(reorder_basic_blocks): Check partitioning flag before calling
	verify_hot_cold_block_grouping.
	* dbxout.c (dbxout_function_end): Get hot/cold section labels from
	the function struct rather than global variables.
	* dwarf2out.c (COLD_TEXT_SECTION_LABEL): New macro.
	(COLD_END_LABEL): Likewise
	(cold_text_section_label): New static global variable.
	(cold_end_label): Likewise.
	(dwarf2out_switch_text_section): Get hot/cold section labels from
	the function struct rather than global variables.
	(output_aranges): Use cold_text_section_label and cold_end_label;
	check partitioning flag before putting out delta.
	(output_ranges): Remove incorrect code attempting to use
	hot/cold labels.
	(output_line_info): Get cold section label from function struct.
	(add_location_or_const_value_attribute): Likewise.
	(get_subprogram_die): Get hot/cold section labels from function struct.
	(dwarf2out_var_location): Likewise.
	(dwarf2out_init): Generate cold_text_section_label and cold_end_label;
	write out cold_text_section_label if partition flag is set.
	(dwarf2out_finish): Write out cold_end_label if partition flag is set;
	* function.h (struct function): Add new fields to point to hot/cold
	section labels: hot_section_label, cold_section_label,
	hot_section_end_label and cold_section_end_label; also add new field
	for cold text section name, unlikely_text_section_name.
	* opts.c (decode_options): Turn off partitioning flag if
	!targetm.have_named_sections.
	* output.h (hot_section_label): Remove.
	(hot_section_end_label): Remove.
	(cold_section_end_label): Remove.
	(unlikely_section_label): Remove.
	(unlikely_text_section_name): Remove.
	* passes.c (rest_of_handle_final):  Remove code that frees
	unlikely_text_section_name.
	* varasm.c (unlikely_section_label): Remove.
	(hot_section_label): Remove.
	(hot_section_end_label): Remove.
	(cold_section_end_label): Remove.
	(unlikely_text_section_name):  Remove.
	(initialize_cold_section_name): Modify to call
	targetm.strip_name_encoding; to store cold section name in current
	function struct, if it exists; and to only use the decl_section_name
	if flag_named_sections is true.
	(unlikely_text_section): Modify to get section name out of current
	function struct, if there is one; otherwise build it from
	UNLIKELY_EXECUTED_TEXT_SECTION_NAME.
	(in_unlikely_text_section): Likewise.
	(named_section): Modify to get/put cold section name in current function
	struct, if there is one.
	(function_section):  Change 'bool unlikely' to 'int reloc'; check
	targetm.have_named_sections before calling named_section.
	(current_function_section): Likewise.
	(assemble_start_function): Modify to get/put unlikely_text_section_name
	in current function struct; modify to get hot/cold section labels
	from function struct; initialize labels using 
	ASM_GENERATE_INTERNAL_LABEL;
	test partitioning flag before writing out hot section label.
	(assemble_end_function): Test partitioning flag before writing out
	hot/cold section labels.
	(default_section_type_flags_1):  Modify to use array instead of
	 char* for unlikely_text_section_name; set flags correctly for
	 cold text section if there is not a current function decl.

	* gfortran.fortran-torture/execute/intrinsic_anyall.f90:
	Added test for callee-allocated arrays with write statements.
	* gfortran.fortran-torture/execute/intrinsic_count.f90: Likewise.
	* gfortran.fortran-torture/execute/intrinsic_mmloc.f90: Likewise.
	* gfortran.fortran-torture/execute/intrinsic_mmval.f90: Likewise.
	* gfortran.fortran-torture/execute/intrinsic_product.f90: Likewise.
	* gfortran.fortran-torture/execute/intrinsic_sum.f90: Likewise.

2005-04-09  Thomas Koenig  <Thomas.Koenig@online.de>

	PR libfortran/19106
	PR libfortran/19014
	* m4/ifunction.m4 (name`'rtype_qual`_'atype_code): ditto.
	If retarray->data is NULL (i.e. the front end does not
	know the rank and dimenson of the array), fill in its
	properties and allocate memory.
	Change the assertions about rank and dimension of retarray into
	runtime errors and only check them for retarray->data != NULL.
	Do the same for correcting the stride from 0 to 1 in retarray.
	(`m'name`'rtype_qual`_'atype_code): Likewise.
	* m4/iforeach.m4 (name`'rtype_qual`_'atype_code): Likewise.
	Change assertion about rank of array to runtime error.
	(`m'name`'rtype_qual`_'atype_code): Likewise.
	* generated/all_l4.c: Regenerated.
	* generated/all_l8.c: Regenerated.
	* generated/any_l4.c: Regenerated.
	* generated/any_l8.c: Regenerated.
	* generated/count_4_l4.c: Regenerated.
	* generated/count_4_l8.c: Regenerated.
	* generated/count_8_l4.c: Regenerated.
	* generated/count_8_l8.c: Regenerated.
	* generated/maxloc0_4_i4.c: Regenerated.
	* generated/maxloc0_4_i8.c: Regenerated.
	* generated/maxloc0_4_r4.c: Regenerated.
	* generated/maxloc0_4_r8.c: Regenerated.
	* generated/maxloc0_8_i4.c: Regenerated.
	* generated/maxloc0_8_i8.c: Regenerated.
	* generated/maxloc0_8_r4.c: Regenerated.
	* generated/maxloc0_8_r8.c: Regenerated.
	* generated/maxloc1_4_i4.c: Regenerated.
	* generated/maxloc1_4_i8.c: Regenerated.
	* generated/maxloc1_4_r4.c: Regenerated.
	* generated/maxloc1_4_r8.c: Regenerated.
	* generated/maxloc1_8_i4.c: Regenerated.
	* generated/maxloc1_8_i8.c: Regenerated.
	* generated/maxloc1_8_r4.c: Regenerated.
	* generated/maxloc1_8_r8.c: Regenerated.
	* generated/maxval_i4.c: Regenerated.
	* generated/maxval_i8.c: Regenerated.
	* generated/maxval_r4.c: Regenerated.
	* generated/maxval_r8.c: Regenerated.
	* generated/minloc0_4_i4.c: Regenerated.
	* generated/minloc0_4_i8.c: Regenerated.
	* generated/minloc0_4_r4.c: Regenerated.
	* generated/minloc0_4_r8.c: Regenerated.
	* generated/minloc0_8_i4.c: Regenerated.
	* generated/minloc0_8_i8.c: Regenerated.
	* generated/minloc0_8_r4.c: Regenerated.
	* generated/minloc0_8_r8.c: Regenerated.
	* generated/minloc1_4_i4.c: Regenerated.
	* generated/minloc1_4_i8.c: Regenerated.
	* generated/minloc1_4_r4.c: Regenerated.
	* generated/minloc1_4_r8.c: Regenerated.
	* generated/minloc1_8_i4.c: Regenerated.
	* generated/minloc1_8_i8.c: Regenerated.
	* generated/minloc1_8_r4.c: Regenerated.
	* generated/minloc1_8_r8.c: Regenerated.
	* generated/minval_i4.c: Regenerated.
	* generated/minval_i8.c: Regenerated.
	* generated/minval_r4.c: Regenerated.
	* generated/minval_r8.c: Regenerated.
	* generated/product_c4.c: Regenerated.
	* generated/product_c8.c: Regenerated.
	* generated/product_i4.c: Regenerated.
	* generated/product_i8.c: Regenerated.
	* generated/product_r4.c: Regenerated.
	* generated/product_r8.c: Regenerated.
	* generated/sum_c4.c: Regenerated.
	* generated/sum_c8.c: Regenerated.
	* generated/sum_i4.c: Regenerated.
	* generated/sum_i8.c: Regenerated.
	* generated/sum_r4.c: Regenerated.
	* generated/sum_r8.c: Regenerated.

2005-04-09  Thomas Koenig <Thomas.Koenig@online.de>

2005-04-09  Steven G. Kargl  <kargls@comcast.net>

	* simplify.c (gfc_simplify_anint): Use mpfr_round()
	(gfc_simplify_dnint): ditto.
	(gfc_simplify_nint): ditto.

2005--4-09  Steven G. Kargl  <kargls@comcast.net>

	* gfortran.dg/nint_1.f90: New test.

	* gfortran.dg/nint_1.f90:  Fix dg-do directive

2005--4-09  Steven G. Kargl  <kargls@comcast.net>

2005-04-09  Bud Davis  <bdavis@gfortran.org>
            Steven G. Kargl <kargls@comcast.net>

	PR fortran/19872
	* io/transfer.c (data_transfer_init): truncate an existing
	file on the first write.

2005-04-09  Alexandre Oliva  <aoliva@redhat.com>

	* gcc.dg/pr20126.c: New.

2005-04-09  Bud Davis  <bdavis@gfortran.org>
            Steven G. Kargl <kargls@comcast.net>

	* gfortran.dg/PR19872.f: New test.

2005-04-09  Steven G. Kargl  <kargls@comcast.net>
2005-04-09  Steven G. Kargl  <kargls@comcast.net>
2005-04-09  Alexandre Oliva  <aoliva@redhat.com>

	PR target/20126
	* loop.c (loop_givs_rescan): If replacement of DEST_ADDR failed,
	set the original address pseudo to the correct value before the
	original insn, if possible, and leave the insn alone, otherwise
	create a new pseudo, set it and replace it in the insn.
	* recog.c (validate_change_maybe_volatile): New.
	* recog.h (validate_change_maybe_volatile): Declare.

2005-04-10  Richard Sandiford  <rsandifo@redhat.com>

	* gcc.c-torture/execute/20050410-1.c: New test.

2005-04-10  Richard Sandiford  <rsandifo@redhat.com>

	* combine.c (combine_simplify_rtx): Remove a transformation that
	relies on an invalid assumption about rtl sign-extension semantics.

2005-04-10  Richard Sandiford  <rsandifo@redhat.com>

	* value-prof.c (tree_divmod_fixed_value_transform): Fix arguments
	to build_int_cst_wide.

2005-04-10  Thomas Koenig  <Thomas.Koenig@online.de>

	* eor_handling_1.f90: New test case.
	* eor_handling_2.f90: New test case.
	* eor_handling_3.f90: New test case.
	* eor_handling_4.f90: New test case.
	* eor_handling_5.f90: New test case.
	* noadv_size.f90: New test case.
	* pad_no.f90: New test case.

2005-04-10  Thomas Koenig <Thomas.Koenig@online.de>

	PR libfortran/17992
	PR libfortran/19568
	PR libfortran/19595
	PR libfortran/20005
	PR libfortran/20092
	PR libfortran/20131
	PR libfortran/20661
	PR libfortran/20744
	* io/transfer.c (top level): eor_condition: New static variable.
	(read_sf): Remove unnecessary zeroing of buffer (there is enough
	information in its length).
	Return a string of length 0 (to be padded by caller) if EOR was
	seen previously.
	Remove erroneous special casing of EOR for standard input.
	Set eor_condition for non-advancing I/O if an end of line was
	detected.
	Increment ioparm.size if necessary.
	(formatted_transfer):  Skip the function if there is an EOR condition.
	(data_transfer_init):  Initialize eor_condition to zero (false).
	(next_record_r):  Clear sf_seen_eor if a \n has been seen already.
	(finalize_transfer):  If there is an EOR condition, raise the error.

2005-04-10  Steven Bosscher  <stevenb@suse.de>

	* cselib.c (clear_table): Rename to cselib_clear_table.
	* cselib.h (cselib_clear_table): Add prototype.
	* gcse.c (gcse_main): Make 'f' argument unused.
	(alloc_gcse_mem): Do not walk the insn chain, walk the contents
	of each basic block instead.
	(compute_sets, compute_hash_table_work): Likewise.
	(constprop_register): Change int 'alter_jumps' argument to bool.
	(do_local_cprop): Likewise.
	(local_cprop_pass): Likewise.  Also walk basic blocks instead of
	the insn chain.  Explicitly clear the cselib tables after finishing
	one basic block.  Make sure there are no unterminated libcall blocks.
	Update compute_sets call.
	(cprop): Walk basic blocks instead of the insn chain.
	(one_cprop_pass, compute_ld_motion_mems, compute_store_table):
	Likewise.
	(bypass_jumps): Update alloc_gcse_mem, compute_sets, and
	one_cprop_pass calls.

2005-04-10  Francois-Xavier Coudert  <coudert@clipper.ens.fr>

	PR libfortran/20788
	* runtime/environ.c (init_unsigned_integer): Function for
	environment variables we want to be positive.
	(init_integer): Function to allow negative environment
	variables (e.g. for GFORTRAN_STDIN_UNIT).
	
2005-04-10  Francois-Xavier Coudert  <coudert@clipper.ens.fr>

	* match.c (match_arithmetic_if): Arithmetic IF is obsolete in
	Fortran 95.

2005-04-10  Francois-Xavier Coudert  <coudert@clipper.ens.fr>

	* gfortran.dg/pr17229.f: Take care of the new obsolescence
	warning for arithmetic IF statements.

2005-04-10  Kazu Hirata  <kazu@cs.umass.edu>

	* adaint.c, init.c, tracebak.c: Fix comment typos.
	* gnat-style.texi, gnat_rm.texi, gnat_ugn.texi: Fix typos.

2005-04-10  Kazu Hirata  <kazu@cs.umass.edu>

	* config/arm/arm.c: Fix a comment typo.
	* doc/tree-ssa.texi: Fix a typo.

2005-04-10  Kazu Hirata  <kazu@cs.umass.edu>

	* interface.c: Fix a comment typo.

2005-04-10  Mark Mitchell  <mark@codesourcery.com>

	* g++.dg/warn/Wdtor1.C: Declare template in system header with
	explicit C++ linkage.

2005-04-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>

	* pa/quadlib.c (_U_Qfneg): Toggle sign bit instead of subtracting from
	zero.

2005-04-11  Uros Bizjak  <uros@kss-loka.si>

	* gcc.dg/builtins-53.c: Also check (int)ceil* and
	(long long int)ceil*.
	
	* gcc.dg/builtins-53.c: Also check lceil* and llceil*.

2005-04-09  Uros Bizjak  <uros@kss-loka.si>

2005-04-11  Uros Bizjak  <uros@kss-loka.si>

	* builtins.def (BUILT_IN_LCEIL, BUILT_IN_LCEILF, BUILT_IN_LCEILL)
	(BUILT_IN_LLCEIL, BUILT_IN_LLCEILF, BUILT_IN_LLCEILL): New.
	* optabs.h (enum optab_index): Add new OTI_lceil.
	(lceil_optab): Define corresponding macro.
	* optabs.c (init_optabs): Initialize lceil_optab.
	* genopinit.c (optabs): Implement lceil_optab using lceilsi2
	and lceildi2 patterns.
	* builtins.c (expand_builtin_int_roundingfn): Handle
	BUILT_IN_LCEIL{,F,L} and BUILT_IN_LLCEIL{,F,L}.
	(fold_builtin_int_roundingfn): Handle BUILT_IN_LCEIL{,F,L} and
	BUILT_IN_LLCEIL{,F,L}.
	(fold_builtin_1): Fold BUILT_IN_LCEIL{,F,L} and
	BUILT_IN_LLCEIL{,F,L} using fold_builtin_int_roundingfn.
	(mathfn_built_in): Handle BUILT_IN LCEIL and BUILT_IN_LLCEIL.
	(expand_builtin): Expand BUILT_IN_LCEIL{,F,L} and
	BUILT_IN_LLCEIL{,F,L} using expand_builtin_int_roundingfn.
	* convert.c (convert_to_integer): Convert (long int)ceil{,f,l},
	into lceil built-in function and (long long int)ceil{,f,l} into
	llceil built-in function.
	* fold-const.c (tree_expr_nonnegative_p): Add BUILT_IN_LCEIL and
	BUILT_IN_LLCEIL.

2005-04-11  Paolo Bonzini  <bonzini@gnu.org>

	* tree-vect-analyze (vect_determine_vectorization_factor):
	Do not use GET_MODE_NUNITS.
	* tree-vect-transform.c (vect_get_vec_def_for_operand,
	(vectorizable_load, vect_transform_loop): Likewise.

	* tree-complex.c (expand_vector_operations): Call
	update_stmt_if_modified.

2005-04-11  Paolo Bonzini  <bonzini@gnu.org>

2005-04-11  Richard Sandiford  <rsandifo@redhat.com>

	* config/s390/s390.h (s390_tune_string, s390_arch_string)
	(s390_warn_framesize_string, s390_warn_dynamicstack_string)
	(s390_stack_size_string, s390_stack_guard_string, target_flags)
	(MASK_HARD_FLOAT, MASK_SMALL_EXEC, MASK_DEBUG_ARG, MASK_64BIT)
	(MASK_ZARCH, MASK_MVCLE, MASK_TPF_PROFILING, MASK_NO_FUSED_MADD)
	(MASK_BACKCHAIN, MASK_PACKED_STACK, TARGET_HARD_FLOAT)
	(TARGET_SOFT_FLOAT, TARGET_SMALL_EXEC, TARGET_DEBUG_ARG)
	(TARGET_64BIT, TARGET_ZARCH, TARGET_MVCLE, TARGET_TPF_PROFILING)
	(TARGET_NO_FUSED_MADD, TARGET_FUSED_MADD, TARGET_BACKCHAIN)
	(TARGET_PACKED_STACK, TARGET_SWITCHES, TARGET_OPTIONS): Delete.
	* config/s390/s390.c (TARGET_DEFAULT_TARGET_FLAGS): Override default.
	(TARGET_HANDLE_OPTION): Likewise.
	(s390_tune): Initialize to PROCESSOR_max.
	(s390_arch_string): Make static.
	(s390_tune_string, s390_warn_framesize_string): Delete.
	(s390_warn_dynamicstack_string, s390_stack_size_string): Delete.
	(s390_stack_guard_string, s390_warn_dynamicstack_p): Delete.
	(s390_handle_arch_option, s390_handle_option): New functions.
	(override_options): Remove parsing of option strings.
	* config/s390/s390.opt: New file.

2005-04-11  Diego Novillo  <dnovillo@redhat.com>

	PR tree-optimization/20920
	* g++.dg/tree-ssa/pr20920.C: New test.

2005-04-11  Diego Novillo  <dnovillo@redhat.com>

	PR tree-optimization/20920
	* tree-pretty-print.c (dump_generic_node): Show '(ab)' if an
	SSA_NAME flows through an abnormal edge.
	* tree-vrp.c (infer_value_range): Ignore SSA names that flow
	through abnormal edges.
	(maybe_add_assert_expr): Likewise.

2005-04-08  Devang Patel  <dpatel@apple.com>

	* tree-if-conv.c (find_phi_replacement_condition): New parameter, loop.
	While selecting replacement condition pay attention to loop header.

2005-04-11  Kazu Hirata  <kazu@cs.umass.edu>

	* tree-vrp.c (maybe_add_assert_expr): Move a comment.

	* tree-vrp.c: Fix a comment typo.

2005-04-11  James A. Morrison  <phython@gcc.gnu.org>

	* config/sparc/sparc.c: Use gcc_assert and gcc_unreachable.
	* config/sparc/sparc.h: Likewise.
	* config/sparc/sparc.md: Likewise.

2005-04-11  Andrew Pinski  <pinskia@physics.uc.edu>

	* gcc.dg/tree-ssa/alias-1.c: New test.

2005-04-11  Andrew Pinski  <pinskia@physics.uc.edu>

	* tree-ssa-alias.c (may_alias_p): If the variable
	is a global variable and the pointer is parameter
	and -fargument-noalias-global is used, then
	the pointer cannot alias the variable.

2005-04-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* libiberty.h (fopen_unlocked, fdopen_unlocked, freopen_unlocked):
	Provide prototypes for new functions.

2005-04-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* Makefile.in (CFILES): Add fopen_unlocked.c.
	(REQUIRED_OFILES): Add ./fopen_unlocked.o.
	Regenerate dependencies.

	* configure.ac: Check for stdio_ext.h and __fsetlocking.

	* fopen_unlocked.c: New file.

	* functions.texi, configure, config.in: Regenerate.

	* fold-const.c (fold_binary_op_with_conditional_arg):
	use fold_buildN instead of "fold (buildN" in some
	non obvious places.
	(fold_unary): Likewise.
	(fold_binary): Likewise.

2005-04-11  Daniel Berlin  <dberlin@dberlin.org>
	
	Fix PR tree-optimization/20612
	* lambda-code.c (lambda_loopnest_to_gcc_loopnest): Fix increment
	handling
	(perfect_nestify): preheaderbb is *not* part of loop of the
	old destination.

2005-04-11  Andrew Pinski  <pinskia@physics.uc.edu>

2005-04-11  David Edelsohn  <edelsohn@gnu.org>

	* tree-ssa-loop-im.c: Include real.h.
	(determine_invariantness_stmt): If real division divisor is
	invariant and flag_unsafe_math_optimizations enabled, generate
	invariant reciprocal for hoisting.
	* Makefile.in (tree-ssa-loop-im.o): Add real.h dependency.

2005-04-11  Daniel Berlin  <dberlin@dberlin.org>

	Fix PR tree-optimization/20926
	
	* tree-ssa-alias.c (add_type_alias): Handle subvars.
	
2005-04-11  Devang Patel  <dpatel@apple.com>

	* config/rs6000.c (rs6000_emit_vector_select): Fix vector select
	operand ordering.
	
2005-04-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* configure.ac (fixincludes_UNLOCKED_FUNCS): New.
	(AC_CHECK_FUNCS, AC_CHECK_DECLS): Check for fixincludes_UNLOCKED_FUNCS.
	* system.h (putchar, getc, getchar, clearerr, feof, fileno,
	fflush, fgetc, fgets, ferror, fread): Redefine to the associated
	_unlocked function.
	(fwrite_unlocked): Fix prototype.
	
	* configure, config.h.in: Regenerate.

2005-04-11  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>

	* simplify.c (gfc_simplify_nearest): Overhaul.

2005-04-11  Diego Novillo  <dnovillo@redhat.com>

	PR tree-optimization/20933
	* gcc.dg/tree-ssa/pr20933.c: New test.

2005-04-11  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>

	* gfortran.dg/fold_nearest.f90: New test.

2005-04-11  Diego Novillo  <dnovillo@redhat.com>

	PR tree-optimization/20933
	* tree-ssa-alias.c (compute_flow_insensitive_aliasing): Move
	logic to reject aliases between read-only and writable
	variables ...
	(may_alias_p): ... here.
	(get_tmt_for): Do not associate read-only tags to pointers
	whose pointed-to type is not read-only.
	* tree-ssa.c (verify_ssa): Check that memory stores have at
	least one V_MAY_DEF or V_MUST_DEF.

2005-04-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	PR/17092
	* configure.ac (gcc_UNLOCKED_FUNCS): New.
	(AC_CHECK_FUNCS, AC_CHECK_DECLS): Check for gcc_UNLOCKED_FUNCS.
	* system.h (putchar, getc, getchar, clearerr, feof, fileno,
	fflush, fgetc, fgets, ferror, fread): Redefine to the associated
	_unlocked function.
	(fwrite_unlocked): Fix prototype.
	
	* configure, config.in: Regenerate.

2005-04-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* configure.ac (libcpp_UNLOCKED_FUNCS): New.
	(AC_CHECK_FUNCS, AC_CHECK_DECLS): Check for libcpp_UNLOCKED_FUNCS.
	* system.h (putchar, getc, getchar, clearerr, feof, fileno,
	fflush, fgetc, fgets, ferror, fread): Redefine to the associated
	_unlocked function.
	(fwrite_unlocked): Fix prototype.
	
	* configure, config.in: Regenerate.

2005-04-11  Geoffrey Keating  <geoffk@apple.com>

	* config/t-slibgcc-darwin: Don't put shared libraries in
	directories other than $(slibdir).
	* config/rs6000/darwin.h: Find -m64 libgcc under the name the
	OS uses for it.

2004-04-11  Devang Patel  <dpatel@apple.com>

        * lib/target-supports.exp (check_effective_target_vect_condition): New.
        * gcc.dg/vect/vect-ifcvt-1.c: New test.
        * gcc.dg/vect/vect-ifcvt-2.c: New test.
        * gcc.dg/vect/vect-ifcvt-3.c: New test.
        * gcc.dg/vect/vect-ifcvt-4.c: New test.
        * gcc.dg/vect/vect-ifcvt-5.c: New test.
        * gcc.dg/vect/vect-ifcvt-6.c: New test.
        * gcc.dg/vect/vect-ifcvt-7.c: New test.
        * gcc.dg/vect/vect-none.c: Now one loop is vectorized.
	
2004-04-11  Devang Patel  <dpatel@apple.com>

        * gcc.dg/vect/vect-dv-1.c: New test.
        * gcc.dg/vect/vect-dv-2.c: New test.
	
2005-04-11  Devang Patel  <dpatel@apple.com>

        * tree-data-ref.c (build_classic_dist_vector,
        compute_subscript_distance): Make externally visible.
        * tree-data-ref.h (build_classic_dist_vector,
        compute_subscript_distance): Same.
        * tree-vect-analyze.c (vect_analyze_data_ref_dependence):
        Check distance vector against vectorization factor.
        (vect_analyze_loop): Determine vectorizaion factor before
        analyzing data dependences.
        * tree-vectorizer.c (loops_num): Make it externally visible and
        rename ...
        * tree-vectorizer.c (vect_loops_num): ... new name.
        * tree-vectorizer.h  (vect_loops_num): New.

2005-04-11  Devang Patel  <dpatel@apple.com>

        * tree-vect-analyze.c (vect_analyze_operations): Check
        vectorizable codition.
        * tree-vect-transform.c (vect_is_simple_cond): New function.
        (vectorizable_condition): New function.
        (vect_transform_stmt): Handle condition_vec_info_type.
        * tree-vectorizer.h (enum stmt_vec_info_type): Add
        condition_vec_info_type.
        (vectorizable_condition): New.
	
	* dwarf2out.c (output_line_info): Don't try to dereference
	a NULL current_function_decl.

2005-04-11  Geoffrey Keating  <geoffk@apple.com>

	* gcc.dg/i386-darwin-fpmath.c: New.

	* config/i386/i386.h (TARGET_FPMATH_DEFAULT): New.
	* config/i386/darwin.h (TARGET_FPMATH_DEFAULT): New.
	* config/i386/i386.c (override_options): Use TARGET_FPMATH_DEFAULT.

	* config/i386/darwin.h (ASM_SPEC): Use -arch i386 not -arch i686.
	(SUBTARGET_EXTRA_SPECS): Always 'i386'.

2005-04-11  Mark Mitchell  <mark@codesourcery.com>

	* decl2.c (determine_visibility): Don't use export_class_data.
	(import_export_decl): Honor TARGET_CXX_CLASS_DATA_ALWAYS_WEAK and
	TARGET_CXX_DETERMINE_CLASS_DATA_VISIBILITY. 

2005-04-11  Mark Mitchell  <mark@codesourcery.com>

	* target-def.h (TARGET_CXX_EXPORT_CLASS_DATA): Remove.
	(TARGET_CXX_DETERMINE_CLASS_VISIBILITY): New macro.
	(TARGET_CXX_CLASS_DATA_ALWAYS_COMDAT): Likewise.
	(TARGET_CXX): Adjust accordingly.
	* target.h (struct gcc_target): Remove epxort_class_data.  Add
	determine_class_data_visibility and class_data_always_comdat.
	* doc/tm.texi (TARGET_CXX_EXPORT_CLASS_DATA): Remove.
	(TARGET_CXX_DETERMINE_CLASS_DATA_VISIBILITY): Document.
	(TARGET_CXX_CLASS_DATA_ALWAYS_COMDAT): Likewise.
	* config/arm/arm.c (arm_cxx_export_class_data): Remove.
	(arm_cxx_determine_class_data_visibility): New.
	(arm_cxx_class_data_always_comdat): Likewise.
	(TARGET_CXX_EXPORT_CLASS_DATA): Remove.
	(TARGET_CXX_DETERMINE_CLASS_DATA_VISIBILITY): Define.
	(TARGET_CXX_CLASS_DATA_ALWAYS_COMDAT): Likewise.
	* config/arm/arm.h (TARGET_ARM_DYNAMIC_VAGUE_LINKAGE_P): Define.
	* config/arm/symbian.h (TARGET_ARM_DYNAMIC_VAGUE_LINKAGE_P):
	Define.

2005-04-11  Mark Mitchell  <mark@codesourcery.com>

	* lib/wrapper.exp (${tool}_maybe_build_wrapper): Don't unset gluefile.

2005-04-11  Mark Mitchell  <mark@codesourcery.com>

	* target-def.h (TARGET_CXX_EXPORT_CLASS_DATA): Remove.
	(TARGET_CXX_DETERMINE_CLASS_VISIBILITY): New macro.
	(TARGET_CXX_CLASS_DATA_ALWAYS_COMDAT): Likewise.
	(TARGET_CXX): Adjust accordingly.
	* target.h (struct gcc_target): Remove epxort_class_data.  Add
	determine_class_data_visibility and class_data_always_comdat.
	* doc/tm.texi (TARGET_CXX_EXPORT_CLASS_DATA): Remove.
	(TARGET_CXX_DETERMINE_CLASS_DATA_VISIBILITY): Document.
	(TARGET_CXX_CLASS_DATA_ALWAYS_COMDAT): Likewise.
	* config/arm/arm.c (arm_cxx_export_class_data): Remove.
	(arm_cxx_determine_class_data_visibility): New.
	(arm_cxx_class_data_always_comdat): Likewise.
	(TARGET_CXX_EXPORT_CLASS_DATA): Remove.
	(TARGET_CXX_DETERMINE_CLASS_DATA_VISIBILITY): Define.
	(TARGET_CXX_CLASS_DATA_ALWAYS_COMDAT): Likewise.
	* config/arm/arm.h (TARGET_ARM_DYNAMIC_VAGUE_LINKAGE_P): Define.
	* config/arm/symbian.h (TARGET_ARM_DYNAMIC_VAGUE_LINKAGE_P):
	Define.

2005-04-11  Richard Sandiford  <rsandifo@redhat.com>

	* lang.opt: Refer to the GCC internals documentation instead of c.opt.

2005-04-11  Richard Sandiford  <rsandifo@redhat.com>

	* lang.opt: Refer to the GCC internals documentation instead of c.opt.

2005-04-11  Richard Sandiford  <rsandifo@redhat.com>

	* lang.opt: Refer to the GCC internals documentation instead of c.opt.

2005-04-11  Richard Sandiford  <rsandifo@redhat.com>

	* lang.opt: Refer to the GCC internals documentation instead of c.opt.

2005-04-12  Richard Sandiford  <rsandifo@redhat.com>

	* config/ns32k/ns32k.h (target_flags, MASK_32081, MASK_RTD)
	(MASK_REGPARM, MASK_32532, MASK_32332, MASK_NO_SB, MASK_NO_BITFIELD)
	(MASK_HIMEM, MASK_32381, MASK_MULT_ADD, MASK_SRC, MASK_IEEE_COMPARE)
	(TARGET_32081, TARGET_32381, TARGET_MULT_ADD, TARGET_RTD)
	(TARGET_REGPARM, TARGET_32532, TARGET_32332, TARGET_SB, TARGET_HIMEM)
	(TARGET_BITFIELD, TARGET_IEEE_COMPARE, TARGET_SWITCHES): Delete.
	(OVERRIDE_OPTIONS): Clear MASK_SB instead of setting MASK_NO_SB.
	* config/ns32k/netbsd.h (TARGET_DEFAULT): Remove MASK_NO_SB and
	MASK_NO_BITFIELD.
	* config/ns32k/ns32k.c (ns32k_handle_option): New function.
	(TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Override defaults.
	* config/ns32k/ns32k.opt: New file.

2005-04-12  Richard Sandiford  <rsandifo@redhat.com>

	* config.gcc (m68k-*-linux*): Add m68k/ieee.opt to $extra_options.
	* config/m68k/m68k.h (target_flags, MASK_68020, TARGET_68020)
	(MASK_68030, TARGET_68030, MASK_68040, TARGET_68040, MASK_68040_ONLY)
	(TARGET_68040_ONLY, MASK_68060, TARGET_68060, MASK_5200, TARGET_5200)
	(MASK_CFV3, TARGET_CFV3, MASK_CFV4, TARGET_CFV4, MASK_528x)
	(TARGET_528x, MASK_CF_HWDIV, TARGET_CF_HWDIV, MASK_68881, TARGET_68881)
	(MASK_BITFIELD, TARGET_BITFIELD, MASK_SHORT, TARGET_SHORT)
	(MASK_ALIGN_INT, TARGET_ALIGN_INT, MASK_PCREL, TARGET_PCREL)
	(MASK_NO_STRICT_ALIGNMENT, TARGET_STRICT_ALIGNMENT, MASK_RTD)
	(TARGET_RTD, MASK_SEP_DATA, TARGET_SEP_DATA, MASK_ID_SHARED_LIBRARY)
	(TARGET_ID_SHARED_LIBRARY, MASK_ALL_CF_BITS, TARGET_SWITCHES)
	(TARGET_OPTIONS, SUBTARGET_SWITCHES, SUBTARGET_OPTIONS): Delete.
	(MASK_COLDFIRE): Formatting fixes.
	(TARGET_COLDFIRE): Turn into a boolean value for consistency.
	* config/m68k/linux.h (SUBTARGET_SWITCHES): Delete.
	* config/m68k/m68k.c (m68k_library_id_string): Initialize to
	"_current_shared_library_a5_offset_".
	(TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Override defaults.
	(MASK_ALL_CPU_BITS): New macro.
	(m68k_handle_option): New function.
	(override_options): Remove handling of m68k_library_id_string.
	* config/m68k/m68k.opt: New file.
	* config/m68k/ieee.opt: New file.

2005-04-12 Mostafa Hagog <mustafa@il.ibm.com>

	* postreload-gcse.c (eliminate_partially_redundant_load): Don't
	split critical edges when not possible/profitable.

2005-04-12  Kazu Hirata  <kazu@cs.umass.edu>

	* simplify.c: Fix a comment typo.

2005-04-12  Bernd Schmidt  <bernd.schmidt@analog.com>

	* config/bfin/bfin.c (bfin_library_id_string): Remove.
	(bfin_library_id): New variable.
	(bfin_expand_prologue): Use bfin_library_id and bfin_lib_id_given
	instead of bfin_library_id_string.
	(bfin_handle_option): New function.
	(override_options): Remove most code to deal with shared library IDs,
	just check they aren't used without -mid-shared-library.
	(TARGET_HANDLE_OPTION): Define.
	* config/bfin/bfin.h (TARGET_OPTIONS): Delete macro.
	* config/bfin/bfin.opt (mshared-library-id=): New.

2005-04-12  Kazu Hirata  <kazu@cs.umass.edu>

	* tree-vect-transform.c: Fix comment typos.

2005-04-12  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* configure.ac: Check declarations for basename, ffs, asprintf,
	vasprintf.
	* configure: Regenerate.
	* config.in: Likewise.

2005-04-12  Andrew Pinski  <pinskia@physics.uc.edu>

	* gcc.dg/tree-ssa/alias-1.c: Fix spelling of optimized.

2004-04-12  Richard Henderson  <rth@redhat.com>

	* config/i386/i386.md (UNSPEC_FIX, UNSPEC_MOVA, UNSPEC_SHUFFLE,
	UNSPEC_PSHUFLW, UNSPEC_PSHUFHW, UNSPEC_ADDSUB, UNSPEC_HADD,
	UNSPEC_HSUB, UNSPEC_MOVSHDUP, UNSPEC_MOVSLDUP, UNSPEC_MOVDDUP): Remove.
	(UNSPEC_*, UNSPECV_*): Renumber.

2005-04-12  Frank Ch. Eigler  <fche@redhat.com>

	PR mudflap/19266
	From Richard Henderson <rth@redhat.com>:
	* tree-mudflap.c (mf_build_check_statement_for): Correct block
	splitting logic.

2005-04-12  Dorit Naishlos  <dorit@il.ibm.com>

	* tree-cfg.c (tree_verify_flow_info): Use LABEL_EXPR_LABEL.

2005-04-11  Michael Koch  <konqueror@gmx.de>

	* javax/imageio/ImageIO.java (ReaderFormatFilter.filter):
	Fixed wrong casting.

2005-04-12  Frank Ch. Eigler  <fche@redhat.com>

	PR mudflap/19266
	* testsuite/libmudflap.c++/c++frags.exp: Also test -O permutation.
	* testsuite/libmudflap.c++/pass57-frag.cxx: New test.

2005-04-12  Richard Henderson  <rth@redhat.com>

	* include/private/gcconfig.h (alpha-linux): Use LINUX_STACKBOTTOM.

2005-04-12  Ulrich Weigand  <uweigand@de.ibm.com>

	PR middle-end/20917
	* gcc.dg/20050409-1.c: New test.

2005-04-12  Ulrich Weigand  <uweigand@de.ibm.com>

	PR middle-end/20917
	* config/s390/s390.md ("*set_tp"): Use SET in pattern.
	("set_tp_64", "set_tp_31"): Adapt expanded pattern.

2005-04-12  Aaron Luchko  <aluchko@redhat.com>

	PR libgcj/20975
	* scripts/TexinfoDoclet.java: Removed.
	* Makefile.am (texinfo): Removed.
	* Makefile.in: Regenerated.

2005-04-12  Steven Bosscher  <stevenb@suse.de>
	    Stuart Hastings <stuart@apple.com>
	    Jan Hubicka  <jh@suse.cz>

	* Makefile.in: Add function.h to BASIC_BLOCK_H.  Remove all
	references to gt-tree-cfg.h.
	* basic-block.h (struct basic_block_def): Don't skip rbi
	for garbage collection.
	(struct reorder_block_def): Make GTY-able.
	(struct control_flow_graph): New structure.
	(n_edges, n_basic_blocks, last_basic_block, basic_block_info,
	BASIC_BLOCK, EXIT_BLOCK_PTR, ENTRY_BLOCK_PTR): No longer vars,
	but instead defines to the control_flow_graph for cfun.
	(label_to_block_map): New define, points to the label map of
	the control_flow_graph for cfun.
	(n_edges_for_function, n_basic_blocks_for_function,
	last_basic_block_for_function, basic_block_info_for_function,
	EXIT_BLOCK_PTR_FOR_FUNCTION, ENTRY_BLOCK_PTR_FOR_FUNCTION,
	basic_block_info_for_function, label_to_block_map_for_function):
	Counterparts for the above, taking a struct function as an extra
	argument.
	(alloc_rbi_pool, free_rbi_pool): Remove prototypes.
	* cfg.c: (n_edges, n_basic_blocks, last_basic_block,
	basic_block_info, ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR): Remove.
	(alloc_rbi_pool, free_rbi_pool): Remove.
	(initialize_bb_rbi): Use ggc_alloc_cleared instead of pool_alloc.
	* cfglayout.c: (cfg_layout_initialize): Don't allocate the rbi pool
	here...
	(cfg_layout_finalize) ... and don't free it here.
	* cfgrtl.c (cfg_layout_delete_block): Zero out rbi so it gets
	garbage collected.
	* flow.c (free_basic_block_vars): Set label_to_block_map and
	n_edges to zero too.
	* function.h (struct function): Add cfg field.
	* function.c (allocate_struct_function): Allocate the cfg.
	* tree-cfg.c (label_to_block_map): Remove.
	(build_tree_cfg): Don't allocate the rbi pool here...
	(delete_tree_cfg_annotations): ...and don't free it here.
	Also don't nullify label_to_block_map for cfun.

2005-04-12  Caroline Tice  <ctice@apple.com>

	* bb-reorder.c (find_rarely_executed_basic_blocks_and_crossing_edges):
	Revert my patch from April 9.
	(fix_edges_for_rarely_executed_code): Revert my patch from April 9.
	(reorder_basic_blocks): Revert my patch from April 9.
	(insert_section_boundary_note): Revert my patch from April 9.
	* dbxout.c (dbxout_function_end): Revert my patch from April 9.
	* dwarf2out.c (COLD_TEXT_SECTION_LABEL): Revert my patch from April 9.
	(COLD_END_LABEL):  Revert my patch from April 9.
	(cold_text_section_label):  Revert my patch from April 9.
	(cold_end_label): Revert my patch from April 9.
	(dwarf2out_switch_text_section): Revert my patch from April 9.
	(output_aranges): Revert my patch from April 9.
	(output_ranges):  Revert my patch from April 9.
	(output_line_info): Revert my patch from April 9.
	(add_location_or_const_value_attribute):  Revert my patch from April 9.
	(dwarf2out_var_location): Revert my patch from April 9.
	(dwarf2out_init):  Revert my patch from April 9.
	(dwarf2out_finish): Revert my patch from April 9.
	* function.h (struct function): Revert my patch from April 9.
	* opts.c (decode_options): Revert my patch from April 9.
	* output.h (unlikely_section_label, hot_section_label,
	hot_section_end_label, cold_section_end_label, 
	unlikely_text_section_name): Revert my patch from April 9.
	* passes.c (rest_of_handle_final): Revert my patch from April 9.
	* varasm.c (unlikely_section_label, hot_section_label,
	hot_section_end_label, cold_section_end_label,
	unlikely_text_section_name): Revert my patch from April 9.
	(initialize_cold_section_name): Revert my patch from April 9.
	(unlikely_text_section): Revert my patch from April 9.
	(in_unlikely_text_section): Revert my patch from April 9.
	(named_section): Revert my patch from April 9.
	(function_section): Revert my patch from April 9.
	(current_function_section): Revert my patch from April 9.
	(assemble_start_function): Revert my patch from April 9.
	(assemble_end_function): Revert my patch from April 9.
	(default_section_type_flags_1): Revert my patch from April 9.
	
2005-04-12  Eric Botcazou  <ebotcazou@libertysurf.fr>

	* config/sparc/sparc.h (APPLY_RESULT_SIZE): Set to 24 in 64-bit mode.
	* config/sparc/sparc.md (untyped_call): Save the registers manually.

	* config/sparc/sparc.c (legitimate_address_p): Use TARGET_ARCH32.

2005-04-12  Caroline Tice  <ctice@apple.com>

	Temporary fix for partitioning problems.
	* passes.c (rest_of_handle_final): Remove code that 
	frees unlikely_text_section_name,
	* varasm.c (assemble_start_function): Test for partitioning
	flag before writing out section labels.
	(assemble_end_function): Test for partitioning flag before
	writing out section labels.
	
2005-04-13  Thomas Koenig  <Thomas.Koenig@online.de>

	PR libfortran/19016
	* gfortran.fortran-torture/execute/intrinsic_mmloc.f90:
	Add tests with mask generated by expression.
	* gfortran.fortran-torture/execute/intrinsic_mmval.f90:  Likewise.
	* gfortran.fortran-torture/execute/intrinsic_product.f90:  Likewise.
	* gfortran.fortran-torture/execute/intrinsic_sum.f90:  Likewise.

2005-04-13  Thomas Koenig  <Thomas.Koenig@online.de>

	PR libfortran/19106
	* m4/iforeach.c (name`'rtype_qual`_'atype_code):  Add TODO
	that setting correct strides is a front end job.
	(`m'name`'rtype_qual`_'atype_code):  Likewise.  If mask has
	a lowest stride of 0, adjust to 1.
	* m4/ifunction.c (name`'rtype_qual`_'atype_code):  Add TODO
	that setting correct strides is a front end job.
	(`m'name`'rtype_qual`_'atype_code):  Likewise.  If mask has
	a lowest stride of 0, adjust to 1.
	* maxloc0_4_i4.c: Regenerated
	* maxloc0_4_i8.c: Regenerated
	* maxloc0_4_r4.c: Regenerated
	* maxloc0_4_r8.c: Regenerated
	* maxloc0_8_i4.c: Regenerated
	* maxloc0_8_i8.c: Regenerated
	* maxloc0_8_r4.c: Regenerated
	* maxloc0_8_r8.c: Regenerated
	* maxloc1_4_i4.c: Regenerated
	* maxloc1_4_i8.c: Regenerated
	* maxloc1_4_r4.c: Regenerated
	* maxloc1_4_r8.c: Regenerated
	* maxloc1_8_i4.c: Regenerated
	* maxloc1_8_i8.c: Regenerated
	* maxloc1_8_r4.c: Regenerated
	* maxloc1_8_r8.c: Regenerated
	* maxval_i4.c: Regenerated
	* maxval_i8.c: Regenerated
	* maxval_r4.c: Regenerated
	* maxval_r8.c: Regenerated
	* minloc0_4_i4.c: Regenerated
	* minloc0_4_i8.c: Regenerated
	* minloc0_4_r4.c: Regenerated
	* minloc0_4_r8.c: Regenerated
	* minloc0_8_i4.c: Regenerated
	* minloc0_8_i8.c: Regenerated
	* minloc0_8_r4.c: Regenerated
	* minloc0_8_r8.c: Regenerated
	* minloc1_4_i4.c: Regenerated
	* minloc1_4_i8.c: Regenerated
	* minloc1_4_r4.c: Regenerated
	* minloc1_4_r8.c: Regenerated
	* minloc1_8_i4.c: Regenerated
	* minloc1_8_i8.c: Regenerated
	* minloc1_8_r4.c: Regenerated
	* minloc1_8_r8.c: Regenerated
	* minval_i4.c: Regenerated
	* minval_i8.c: Regenerated
	* minval_r4.c: Regenerated
	* minval_r8.c: Regenerated
	* product_c4.c: Regenerated
	* product_c8.c: Regenerated
	* product_i4.c: Regenerated
	* product_i8.c: Regenerated
	* product_r4.c: Regenerated
	* product_r8.c: Regenerated
	* sum_c4.c: Regenerated
	* sum_c8.c: Regenerated
	* sum_i4.c: Regenerated
	* sum_i8.c: Regenerated
	* sum_r4.c: Regenerated
	* sum_r8.c: Regenerated

	PR libgcj/20958
	* gnu/gcj/runtime/PersistentByteMap.java (close): Throw IOException.
	* gnu/gcj/tools/gcj_dbtool/Main.java (addJar): Make 'length' an int.

2005-04-12  Aaron Luchko  <aluchko@redhat.com>

2005-04-12  Mike Stump  <mrs@apple.com>

	* configure: Regenerate.

2005-04-12  James E. Wilson  <wilson@specifixinc.com>

	PR target/20670
	* unwind-ia64.c (uw_intall_context): Add missing load of r27.

2005-04-12  Mike Stump  <mrs@apple.com>

	* libtool.m4: Update AC_LIBTOOL_SYS_MAX_CMD_LEN bits from upstream.

2005-04-12  Mike Stump  <mrs@apple.com>

	* configure: Regenerate.

2005-04-12  Mike Stump  <mrs@apple.com>

	* configure: Regenerate.

	* regex.c (wcs_re_match_2_internal, byte_re_match_2_internal):
	Replace not with negate. 

2005-04-12  Gabriel Dos Reis  <gdr@integrable-solutions.net>

2005-04-12  Mike Stump  <mrs@apple.com>

	* configure: Regenerate.

2005-04-12  Mike Stump  <mrs@apple.com>

	* configure: Regenerate.

2005-04-12  Mike Stump  <mrs@apple.com>

	* configure: Regenerate.

2005-04-12  Mike Stump  <mrs@apple.com>

	* configure: Regenerate.

2005-04-12  Jeff Law  <law@redhat.com>

	* Makefile.in (OBJS-common): Add tree-ssa-uncprop.o.
	(tree-ssa-uncprop.o): Add dependencies.
	* tree-cfg.c (remove_useless_stmts_bb, remove_useless_stmts): Remove.
	* tree-flow.h (remove_useless_stmts): Remove prototype.
	* tree-outof-ssa.c (rewrite_out_of_ssa): Remove call to
	remove_useless_stmts.
	* timevar.def (TV_TREE_SSA_UNCPROP): New timevar.
	* tree-optimize.c (init_tree_optimization_passes): Add uncprop pass.
	* tree-pass.h (pass_uncprop): Declare.
	* tree-ssa-uncprop.c: New file.

2005-04-12  Jeff Law  <law@redhat.com>

	* gcc.dg/tree-ssa/20050412-1.c: New test.

2005-04-12  Richard Henderson  <rth@redhat.com>

	* config/i386/i386.c (ix86_prepare_sse_fp_compare_args): Split ...
	(ix86_expand_sse_fp_minmax): ... from ... 
	(ix86_expand_fp_movcc): ... here.
	(ix86_expand_sse_movcc): Rewrite from ix86_split_sse_movcc.
	* config/i386/i386-protos.h: Update.
	* config/i386/i386.md (UNSPEC_IEEE_MIN, UNSPEC_IEEE_MAX): New.
	(sse_setccsf, sse_setccdf): Allow before reload.
	(movsfcc_1_sse_min, movsfcc_1_sse_max, movsfcc_1_sse): Remove.
	(movdfcc_1_sse_min, movdfcc_1_sse_max, movdfcc_1_sse): Remove.
	(ieee_sminsf3, ieee_smaxsf3, ieee_smindf3, ieee_smaxdf3): New.
	* config/i386/sse.md (andsf3, nandsf3, iorsf3, xorsf3): New.
	(anddf3, nanddf3, iordf3, xordf3): New.

2005-04-13  Kazu Hirata  <kazu@cs.umass.edu>

	* rtl.h (CLEAR_RTX_FLAGS): Remove.

	* cgraphunit.c (INSNS_PER_CALL): Remove.

	* tree-ssa-forwprop.c (vars,
	record_single_argument_cond_exprs,
	substitute_single_use_vars): Remove.
	(forward_propagate_into_cond_1, forward_propagate_into_cond):
	New.
	(tree_ssa_forward_propagate_single_use_vars): Call
	forward_propagate_into_cond for each COND_EXPR.

	* tree-inline.c (INSNS_PER_STMT): Remove.

2005-04-13  Matt Thomas  <matt@3am-software.com>
 
 	* config/rs6000/sysv4.h (NO_IMPLICIT_EXTERN_C): undefine before
 	defining.

2005-04-13  Bernd Schmidt  <bernd.schmidt@analog.com>

	* config/bfin/bfin.c (bfin_lib_id_given): New static variable.
	(bfin_handle_options): Set it if -mshared-library-id= is seen.
	* config/bfin/bfin.opt (mshared-library-id=): Lose
	Var(bfin_lib_id_given).

2005-04-13  Eric Botcazou  <ebotcazou@libertysurf.fr>

	* configure.ac (gcc_AC_CHECK_DECLS): Add vsnprintf.
	* configure: Regenerate.
	* config.in: Likewise.
	* system.h: Declare vsnprintf if not already declared.

2005-04-13  Eric Botcazou  <ebotcazou@libertysurf.fr>

	* optc-gen.awk: Handle stand-alone Mask records.
	* opth-gen.awk: Likewise.
	* doc/options.texi (Option file format): Document them.
	* config.gcc (sparc-*-netbsdelf*, sparc-*-linux*, sparc64-*-freebsd*,
	sparc64-*-linux*, sparc64-*-netbsd*): Add long-double-switch.opt.
	(sparc64-*-openbsd*, sparc64-*-elf*): Add little-endian.opt.
	* config/sparc/sparc.h (MASK_FPU, MASK_UNALIGNED_DOUBLES,
	MASK_V8, MASK_SPARCLITE, MASK_SPARCLET, MASK_V9,
	MASK_DEPRECATED_V8_INSNS, MASK_IMPURE_TEXT, MASK_APP_REGS,
	MASK_HARD_QUAD, MASK_LITTLE_ENDIAN, MASK_PTR64, MASK_64BIT,
	MASK_STACK_BIAS, MASK_FPU_SET, MASK_VIS, MASK_V8PLUS,
	MASK_FASTER_STRUCTS, MASK_LONG_DOUBLE_128): Delete.
	(TARGET_FPU, TARGET_UNALIGNED_DOUBLES, TARGET_V8, TARGET_SPARCLITE,
	TARGET_SPARCLET, TARGET_V9, TARGET_DEPRECATED_V8_INSNS,
	TARGET_IMPURE_TEXT, TARGET_APP_REGS, MASK_HARD_QUAD,
	TARGET_LITTLE_ENDIAN, TARGET_PTR64, TARGET_64BIT, MASK_STACK_BIAS,
	TARGET_FPU_SET, TARGET_VIS, TARGET_V8PLUS, TARGET_FASTER_STRUCTS,
	TARGET_LONG_DOUBLE_128): Likewise.
	(TARGET_SWITCHES, SUBTARGET_SWITCHES): Likewise.
	(TARGET_OPTIONS, SUBTARGET_OPTIONS): Likewise.
	* config/sparc/freebsd.h (SUBTARGET_SWITCHES): Likewise.
	* config/sparc/linux.h (SUBTARGET_SWITCHES): Likewise.
	* config/sparc/linux64.h (SUBTARGET_SWITCHES): Likewise.
	* config/sparc/netbsd-elf.h (SUBTARGET_SWITCHES): Likewise.
	* config/sparc/sp64-elf.h (SUBTARGET_SWITCHES): Likewise.
	* config/sparc/sparc.c (fpu_option_set): New global.
	(sparc_handle_option): New function.
	(sparc_override_options): Test fpu_option_set.
	(TARGET_DEFAULT_TARGET_FLAGS): Set to TARGET_DEFAULT.
	(TARGET_HANDLE_OPTION): Set to sparc_handle_option.
	* config/sparc/sparc.opt: New file.
	* config/sparc/little-endian.opt: Likewise.
	* config/sparc/long-double-switch.opt: Likewise.

2005-04-13  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>

	PR c++/13744
	* g++.dg/inherit/local3.C: New test.

2005-04-13  Kazu Hirata  <kazu@cs.umass.edu>

	* basic-block.h, tree-ssa-uncprop.c, varasm.c,
	config/i386/sse.md: Fix comment typos.

	* genattrtab.c (NULL_ATTR): Remove.
	* ifcvt.c (NULL_EDGE): Likewise.

	* rtl.h (RTX_EXPR_FIRST, RTX_EXPR_LAST): Remove.

2005-04-13  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* argv.c (dupargv): Allocate space of argv[argc], not 
	sizeof(char *) of that amount.  Cast result to char *.

2005-04-13  Julian Brown  <julian@codesourcery.com>

	* decl.c (finish_method): Give methods once-only linkage.

2005-04-13  David Edelsohn  <edelsohn@gnu.org>

	* gcc.dg/ucnid-[23456].c: XFAIL on AIX.
	* gcc.dg/ppc-vector-memcpy.c: XFAIL on AIX and SPE.
	* gcc.dg/ppc-vector-memset.c: XFAIL on AIX and SPE.

2005-04-13  Kazu Hirata  <kazu@cs.umass.edu>

	PR tree-optimization/20913
	* gcc.dg/tree-ssa/pr20913.c: New.

	PR tree-optimization/20702
	* gcc.dg/tree-ssa/pr20702.c: New.

	PR tree-optimization/20913
	* tree-ssa-copy.c (copy_prop_visit_cond_stmt): Fold COND_EXPR.

	PR tree-optimization/20702
	* tree-vrp.c (maybe_add_assert_expr): Recurse into
	dominator children that haven't been walked into.

2005-04-13  Julian Brown  <julian@codesourcery.com>

	* config/elfos.h (MAKE_DECL_ONE_ONLY): Redefined to stop DECL_WEAK from
	being used for symbols with vague linkage when HAVE_GAS_COMDAT_GROUP
	is true. 

2005-04-13  Kazu Hirata  <kazu@cs.umass.edu>

	* rtl.h (NOTE_PREDICTION_ALG, NOTE_PREDICTION_FLAGS,
	NOTE_PREDICT): Remove.

2005-04-13  Steve Ellcey  <sje@cup.hp.com>

	PR target/20924
	* config/ia64/ia64.md (divsf3_internal_lat): Generate frcpa with
	fpsr 0 instead of fpsr 1.
	(divsf3_internal_thr): Ditto.
	(divdf3_internal_lat): Ditto.
	(divdf3_internal_thr): Ditto.
	(divxf3_internal_lat): Ditto.
	(divxf3_internal_thr): Ditto.

2005-04-13  Mark Wielaard  <mark@klomp.org>

	* java/lang/natRuntime.cc (insertSystemProperties): Set
	java.class.path to CLASSPATH if not already set.

2005-04-07  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* prims.cc (parse_verbose_args): Fix verbose argument parsing.

2005-04-13  Hans-Peter Nilsson  <hp@axis.com>

	* gcc.target/cris/torture/cris-torture.exp: New driver in new
	directory.
	* gcc.target/cris/torture/no-pro-epi-1.c: New test.

2005-04-13  Hans-Peter Nilsson  <hp@axis.com>

	CRIS prologue as RTL.
	* config/cris/cris-protos.h (cris_emit_movem_store)
	(cris_expand_prologue): Prototype.
	* config/cris/cris.c (struct machine_function): New member
	stdarg_regs.
	(cfa_label_num, cris_target_asm_function_prologue): Remove.
	(TARGET_ASM_FUNCTION_PROLOGUE): Don't override.
	(cris_general_operand_or_gotless_symbol): Accept CRIS_UNSPEC_GOT.
	(cris_load_multiple_op, cris_return_address_on_stack)
	(cris_return_address_on_stack_for_return): ISO-Cify.
	(cris_store_multiple_op): New predicate function.
	(cris_expand_prologue, cris_emit_movem_store): New functions.
	(cris_print_operand) <case 'O'>: Handle modifications other than
	post-increment.
	(cris_symbol, cris_got_symbol): Return 0 for CRIS_UNSPEC_GOT.
	(cris_gotless_symbol): Return 1 for CRIS_UNSPEC_GOT.
	(cris_gen_movem_load): Rearrange slightly to make local variable
	src a parameter, removing osrc.
	(cris_setup_incoming_varargs): Set machine_function member
	stdarg_regs to correspond to the number of registers that need to
	be saved.
	* config/cris/cris.h (EXTRA_CONSTRAINT_S): Accept
	CRIS_UNSPEC_GOT.
	(PREDICATE_CODES): Add cris_store_multiple_op.  Make
	cris_general_operand_or_gotless_symbol accept UNSPEC.
	* config/cris/cris.md (CRIS_UNSPEC_GOT): New constant.
	("*movsi_internal") <alternative 8>: Handle CRIS_UNSPEC_GOT.
	("*cris_store_multiple"): New pattern.  Tweak common comment above
	this and "*cris_load_multiple".
	("prologue"): New define_expand.

	* config/cris/cris.md ("epilogue"): Conditionalize on
	TARGET_PROLOGUE_EPILOGUE.

2005-04-13  Dale Johannesen  <dalej@apple.com>

	* objc.dg/objc-fast-4.m:  New.

2005-04-13 Fariborz Jahanian <fjahanian@apple.com>

	* simplify-rtx.c (simplify_binary_operation_1): Return
	scalar or vector of constant 0, depending on the xor's 
	mode.

2005-04-13  Dale Johannesen  <dalej@apple.com>

        * objc/Make-lang.in (objc-lang.o):  Depend on tree-gimple.h.
        (objc-act.o):  Ditto.
        * objc/objc-act.c (objc_gimplify_expr):  New.
        (objc_get_callee_fndecl):  New.
        * objc/objc-act.h:  Include tree-gimple.h.  Declare new functions.
        * objc/objc-lang.c (LANG_HOOKS_GIMPLIFY_EXPR):  Define.
        (LANG_HOOKS_GET_CALLEE_FNDECL):  Define.

2005-04-13  Devang Patel  <dpatel@apple.com>

	* tree-if-conv.c (tree_if_convert_cond_expr): Do not create extra
	temp variables.
	
2005-04-13  Richard Sandiford  <rsandifo@redhat.com>

	* gcc.dg/torture/pr19683-1.c: Guard with #ifndef __mips16.
	* gcc.target/mips/asm-1.c: Likewise.

2005-04-13  Richard Sandiford  <rsandifo@redhat.com>

	* config/mips/mips.h (ASM_OUTPUT_CASE_LABEL): Delete.
	(JUMP_TABLES_IN_TEXT_SECTION): Define.
	* config/mips/mips.c (mips16_insn_length): Remove reference to
	JUMP_TABLES_IN_TEXT_SECTION.

2005-04-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* libiberty.h (fopen_unlocked, fdopen_unlocked, freopen_unlocked):
	Remove parameter names.

	(gfc_match_if): Remove gfc_ prefix in call to
	match_arithmetic_if.
2005-04-14  Ulrich Weigand  <uweigand@de.ibm.com>

	PR target/20927
	* gcc.dg/pr20927.c: New test.

2005-04-14  Ulrich Weigand  <uweigand@de.ibm.com>

	PR target/20927
	* config/s390/s390-modes.def: Define TFmode.

2005-04-14  Uros Bizjak  <uros@kss-loka.si>

	* gcc.dg/builtins-53.c: Also check (int)trunc* and
	(long long int)trunc*.

2005-04-14  Uros Bizjak  <uros@kss-loka.si>

	* reg-stack.c (subst_stack_regs_pat): Handle <UNSPEC_FIST_FLOOR> and
	<UNSPEC_FIST_CEIL> case.

	* config/i386/i386.md (UNSPEC_FIST_FLOOR, UNSPEC_FIST_CEIL): New.
	(*fist<mode>2_floor_1, fistdi2_floor, fistdi2_floor_with_temp)
	(fist<mode>2_floor, fist<mode>2_floor_with_temp): New isns patterns
	to implement lfloor and llfloor built-ins as x87 intrinsic function.
	(fistdi2_floor, fist<mode>2_floor splitters): New splitters.
	(lfloor<mode>2): New expanders.
	(*fist<mode>2_ceil_1, fistdi2_ceil, fistdi2_ceil_with_temp)
	(fist<mode>2_ceil, fist<mode>2_ceil_with_temp): New isns patterns
	to implement lceil and llceil built-ins as x87 intrinsic function.
	(fistdi2_ceil, fist<mode>2_ceil splitters): New splitters.
	(lceil<mode>2): New expanders.

2005-04-14  Uros Bizjak  <uros@kss-loka.si>

	* convert.c (convert_to_integer): Convert (long int)trunc{,f,l},
	and (long long int)ceil{,f,l} into FIX_TRUNC_EXPR.

2005-04-14  Kazu Hirata  <kazu@cs.umass.edu>

	* cp-tree.h (SET_TMPL_ARG, ENUM_TI_TEMPLATE, ENUM_TI_ARGS,
	CLASSTYPE_TEMPLATE_LEVEL): Remove.

2005-04-14  Kazu Hirata  <kazu@cs.umass.edu>

	PR tree-optimization/20657
	* gcc.dg/tree-ssa/pr20657.c: New.

2005-04-14  Kazu Hirata  <kazu@cs.umass.edu>

	PR tree-optimization/20657
	* tree-vrp.c (extract_range_from_expr): Notice INTEGER_CST to
	create an appropriate range from it.

2005-04-14  Daniel Berlin  <dberlin@dberlin.org>

	Fix PR tree-optimization/20963
	* tree-ssa-pre.c (compute_avail): Remove special case for
	TREE_INVARIANT. 
	(create_expression_by_pieces): Add value numbers for forced out
	statements.

2005-04-14  Hans-Peter Nilsson  <hp@axis.com>

	* config/cris/cris.md: Replace references to (reg:SI 16) with
	(reg:SI CRIS_SRP_REGNUM).

2005-04-14  Steven G. Kargl  <kargls@comcast.net>

	* gfortran.h (gfc_real_info): Add subnormal struct member.
	* arith.c (gfc_arith_init_1): Set it.
	(gfc_check_real_range): Use it.
	* simplify.c (gfc_simplify_nearest): Fix nearest(0.,1.).

2005-04-14  Steven G. Kargl  <kargls@comcast.net>

	* gfortran.dg/underflow.f90: Use tiny(x)/huge(x).

2005-04-14  Andreas Krebbel  <krebbel1@de.ibm.com>

	* config.gcc: Set cpu_type for s390.

2005-04-14  Richard Henderson  <rth@redhat.com>

	* config/i386/i386.c (ix86_expand_sse_cmp): Split out from ...
	(ix86_expand_sse_movcc): ... here.  Take cmp as a pre-computed
	register.
	(ix86_expand_fp_movcc): Update to match.
	(ix86_expand_fp_vcond, ix86_expand_int_vcond): New.
	* config/i386/i386-protos.h: Update.
	* config/i386/sse.md (vcondv4sf, vcondv2df): New.
	(vcond<SSEMODE124>, vcondu<SSEMODE12>): New.

2005-04-14  Joseph S. Myers  <joseph@codesourcery.com>

	* doc/cpp.texi, doc/install.texi: Change references to GCC 3.5 to
	refer to 4.0.

2005-04-14  Julian Brown  <julian@codesourcery.com>

	* Revert elfos.h part of my patch from 2005-04-13 for causing libstdc++
	link failures on ppc64 Linux.

2005-04-14  Janis Johnson  <janis187@us.ibm.com

	PR testsuite/21010
	* gcc.dg/vect/vect-ifcvt-1.c: Remove dg-do, add cleanup.
	* gcc.dg/vect/vect-ifcvt-2.c: Ditto.
	* gcc.dg/vect/vect-ifcvt-3.c: Ditto.
	* gcc.dg/vect/vect-ifcvt-4.c: Ditto.
	* gcc.dg/vect/vect-ifcvt-5.c: Ditto.
	* gcc.dg/vect/vect-ifcvt-6.c: Ditto.
	* gcc.dg/vect/vect-ifcvt-7.c: Ditto.
	* gcc.dg/vect/vect-ifcvt-9.c: Ditto.

2005-04-14  Richard Henderson  <rth@redhat.com>

	* lib/target-supports.exp (check_effective_target_vect_condition):
	Add ia64, i?86, and x86_64.

2005-04-14  Alexandre Oliva  <aoliva@redhat.com>

	* tree-eh.c (lower_try_finally_copy): Generate new code in
	response to goto_queue entries as if the queue was sorted by
	index, not pointers.
	(lower_try_finally_switch): Likewise.

2004-04-14  Richard Henderson  <rth@redhat.com>

	* config/i386/i386.c (x86_cmpxchg, x86_xadd): New.
	(ix86_compare_emitted): New.
	(ix86_expand_compare): Use ix86_compare_emitted if set.
	(ix86_expand_setcc): Only emit REG_EQUAL if both ix86_compare_op0
	and ix86_compare_op0 are set.
	* config/i386/i386.h (x86_cmpxchg, x86_xadd): Declare.
	(TARGET_CMPXCHG, TARGET_XADD): New.
	(ix86_compare_emitted): Declare.
	* config/i386/i386.md: Include sync.md
	(UNSPECV_CMPXCHG_1, UNSPECV_CMPXCHG_2): New.
	(UNSPECV_XCHG, UNSPECV_LOCK): New.
	* config/i386/sync.md: New file.

2004-04-14  Richard Henderson  <rth@redhat.com>

	PR middle-end/14311
	* builtin-types.def (BT_BOOL, BT_VOLATILE_PTR, BT_I1, BT_I2,
	BT_I4, BT_I8, BT_FN_VOID_VPTR, BT_FN_I1_VPTR_I1, BT_FN_I2_VPTR_I2,
	BT_FN_I4_VPTR_I4, BT_FN_I8_VPTR_I8, BT_FN_BOOL_VPTR_I1_I1,
	BT_FN_BOOL_VPTR_I2_I2, BT_FN_BOOL_VPTR_I4_I4, BT_FN_BOOL_VPTR_I8_I8,
	BT_FN_I1_VPTR_I1_I1, BT_FN_I2_VPTR_I2_I2, BT_FN_I4_VPTR_I4_I4,
	BT_FN_I8_VPTR_I8_I8): New.
	* builtins.def (DEF_SYNC_BUILTIN): New.
	(BUILT_IN_FETCH_AND_ADD_N, BUILT_IN_FETCH_AND_ADD_1,
	BUILT_IN_FETCH_AND_ADD_2, BUILT_IN_FETCH_AND_ADD_4,
	BUILT_IN_FETCH_AND_ADD_8, BUILT_IN_FETCH_AND_SUB_N,
	BUILT_IN_FETCH_AND_SUB_1, BUILT_IN_FETCH_AND_SUB_2,
	BUILT_IN_FETCH_AND_SUB_4, BUILT_IN_FETCH_AND_SUB_8,
	BUILT_IN_FETCH_AND_OR_N, BUILT_IN_FETCH_AND_OR_1,
	BUILT_IN_FETCH_AND_OR_2, BUILT_IN_FETCH_AND_OR_4,
	BUILT_IN_FETCH_AND_OR_8, BUILT_IN_FETCH_AND_AND_N,
	BUILT_IN_FETCH_AND_AND_1, BUILT_IN_FETCH_AND_AND_2,
	BUILT_IN_FETCH_AND_AND_4, BUILT_IN_FETCH_AND_AND_8,
	BUILT_IN_FETCH_AND_XOR_N, BUILT_IN_FETCH_AND_XOR_1,
	BUILT_IN_FETCH_AND_XOR_2, BUILT_IN_FETCH_AND_XOR_4,
	BUILT_IN_FETCH_AND_XOR_8, BUILT_IN_FETCH_AND_NAND_N,
	BUILT_IN_FETCH_AND_NAND_1, BUILT_IN_FETCH_AND_NAND_2,
	BUILT_IN_FETCH_AND_NAND_4, BUILT_IN_FETCH_AND_NAND_8,
	BUILT_IN_ADD_AND_FETCH_N, BUILT_IN_ADD_AND_FETCH_1,
	BUILT_IN_ADD_AND_FETCH_2, BUILT_IN_ADD_AND_FETCH_4,
	BUILT_IN_ADD_AND_FETCH_8, BUILT_IN_SUB_AND_FETCH_N,
	BUILT_IN_SUB_AND_FETCH_1, BUILT_IN_SUB_AND_FETCH_2,
	BUILT_IN_SUB_AND_FETCH_4, BUILT_IN_SUB_AND_FETCH_8,
	BUILT_IN_OR_AND_FETCH_N, BUILT_IN_OR_AND_FETCH_1,
	BUILT_IN_OR_AND_FETCH_2, BUILT_IN_OR_AND_FETCH_4,
	BUILT_IN_OR_AND_FETCH_8, BUILT_IN_AND_AND_FETCH_N,
	BUILT_IN_AND_AND_FETCH_1, BUILT_IN_AND_AND_FETCH_2,
	BUILT_IN_AND_AND_FETCH_4, BUILT_IN_AND_AND_FETCH_8,
	BUILT_IN_XOR_AND_FETCH_N, BUILT_IN_XOR_AND_FETCH_1,
	BUILT_IN_XOR_AND_FETCH_2, BUILT_IN_XOR_AND_FETCH_4,
	BUILT_IN_XOR_AND_FETCH_8, BUILT_IN_NAND_AND_FETCH_N,
	BUILT_IN_NAND_AND_FETCH_1, BUILT_IN_NAND_AND_FETCH_2,
	BUILT_IN_NAND_AND_FETCH_4, BUILT_IN_NAND_AND_FETCH_8,
	BUILT_IN_BOOL_COMPARE_AND_SWAP_N, BUILT_IN_BOOL_COMPARE_AND_SWAP_1,
	BUILT_IN_BOOL_COMPARE_AND_SWAP_2, BUILT_IN_BOOL_COMPARE_AND_SWAP_4,
	BUILT_IN_BOOL_COMPARE_AND_SWAP_8, BUILT_IN_VAL_COMPARE_AND_SWAP_N,
	BUILT_IN_VAL_COMPARE_AND_SWAP_1, BUILT_IN_VAL_COMPARE_AND_SWAP_2,
	BUILT_IN_VAL_COMPARE_AND_SWAP_4, BUILT_IN_VAL_COMPARE_AND_SWAP_8,
	BUILT_IN_LOCK_TEST_AND_SET_N, BUILT_IN_LOCK_TEST_AND_SET_1,
	BUILT_IN_LOCK_TEST_AND_SET_2, BUILT_IN_LOCK_TEST_AND_SET_4,
	BUILT_IN_LOCK_TEST_AND_SET_8, BUILT_IN_LOCK_RELEASE_N,
	BUILT_IN_LOCK_RELEASE_1, BUILT_IN_LOCK_RELEASE_2,
	BUILT_IN_LOCK_RELEASE_4, BUILT_IN_LOCK_RELEASE_8,
	BUILT_IN_SYNCHRONIZE: New.
	* builtins.c (called_as_built_in): Rewrite from CALLED_AS_BUILT_IN
	as a function.  Accept __sync_ as a prefix as well.
	(expand_builtin_sync_operation, expand_builtin_compare_and_swap,
	expand_builtin_lock_test_and_set, expand_builtin_synchronize,
	expand_builtin_lock_release): New.
	(expand_builtin): Call them.
	* c-common.c (DEF_BUILTIN): Don't require __builtin_ prefix if
	neither BOTH_P nor FALLBACK_P are defined.
	(builtin_type_for_size): New.
	(sync_resolve_size, sync_resolve_params, sync_resolve_return): New.
	(resolve_overloaded_builtin): New.
	* c-common.h (resolve_overloaded_builtin): Declare.
	(builtin_type_for_size): Declare.
	* c-typeck.c (build_function_call): Invoke resolve_overloaded_builtin.
	* expr.c (sync_add_optab, sync_sub_optab, sync_ior_optab,
	sync_and_optab, sync_xor_optab, sync_nand_optab, sync_old_add_optab,
	sync_old_sub_optab, sync_old_ior_optab, sync_old_and_optab,
	sync_old_xor_optab, sync_old_nand_optab, sync_new_add_optab,
	sync_new_sub_optab, sync_new_ior_optab, sync_new_and_optab,
	sync_new_xor_optab, sync_new_nand_optab, sync_compare_and_swap,
	sync_compare_and_swap_cc, sync_lock_test_and_set,
	sync_lock_release): New.
	* optabs.h: Declare them.
	* expr.h (expand_val_compare_and_swap, expand_bool_compare_and_swap,
	expand_sync_operation, expand_sync_fetch_operation,
	expand_sync_lock_test_and_set): Declare.
	* genopinit.c (optabs): Add sync optabs.
	* optabs.c (init_optabs): Initialize sync optabs.
	(expand_val_compare_and_swap_1, expand_val_compare_and_swap,
	expand_bool_compare_and_swap, expand_compare_and_swap_loop,
	expand_sync_operation, expand_sync_fetch_operation,
	expand_sync_lock_test_and_set): New.
	* doc/extend.texi (Atomic Builtins): New section
	* doc/md.texi (Standard Names): Add sync patterns.

2005-04-14  Joseph S. Myers  <joseph@codesourcery.com>

	* MAINTAINERS (Various Maintainers): Add self as i18n maintainer.

	* config/ia64/ia64.h (enum fetchop_code): Remove.
	(enum ia64_builtins): Move ...
	* config/ia64/ia64.c (enum ia64_builtins): ... here.  Remove all
	members except BSP and FLUSHRS.
	(ia64_init_builtins): Remove __sync builtins.
	(ia64_expand_builtin): Likewise.
	(ia64_expand_fetch_and_op, ia64_expand_op_and_fetch): Remove.
	(ia64_expand_compare_and_swap, ia64_expand_lock_test_and_set): Remove.
	(ia64_expand_lock_release): Remove.
	* config/ia64/ia64.md (mf): Move to sync.md.
	(mf_internal, fetchadd_acq_si, fetchadd_acq_di, cmpxchg_acq_si,
	cmpxchg_acq_di, xchgsi, xchgdi): Likewise.
	* config/ia64/sync.md: New file.
	(memory_barrier): Rename from mf.
	(fetchadd_acq_<I48MODE>): Macroize from _si/_di patterns.
	(cmpxchg_acq_<I48MODE>): Likewise.
	(sync_lock_test_and_set<I48MODE>): Likewise.

	* config/ia64/ia64intrin.h: Define nothing for C; limit #defines
	to c++.  Remove __sync* declarations.  s/_si/_4/.  s/_di/_8/.

2004-04-14  Richard Henderson  <rth@redhat.com>

2005-04-14  Kazu Hirata  <kazu@cs.umass.edu>

	PR tree-optimization/21021
	* gcc.c-torture/compile/pr21021.c: New.

2005-04-14  Kazu Hirata  <kazu@cs.umass.edu>

	PR tree-optimization/21021
	* tree-vrp.c (compare_values): Work around a bug in the front
	end that produces a comparison of mismatched types.

2005-04-14  Mike Stump  <mrs@apple.com>

	* gcc.dg/Foundation.framework/empty: New.
	* gcc.dg/framework-2.c: New.

2005-04-14  Mike Stump  <mrs@apple.com>

	* config/darwin-c.c (framework_construct_pathname): We must
	find all headers of a framework in the first instance of it
	found in the seach path.

2005-04-14  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gij.cc (version): Properly quote java version.
	(main): Fix typo in comment.

2005-04-14  Benjamin Kosnik  <bkoz@redhat.com>

	*  include/ext/pod_char_traits.h (__gnu_cxx::character): Add char_type.
	(character::to): New.
	(character::from): New.
	(operator==): Add state parameter.
	(operator<): Same.
	(char_traits::copy): Use std::copy.
	(char_traits::assign): Use std::fill_n.
	(char_traits::to_char_type): Use character::from.
	(char_traits::to_int_type): Use character::to.
	*  testsuite/testsuite_character.h (__gnu_test::character): Remove.
	(__gnu_test::conversion_state): Remove.
	(__gnu_test::pod_char): Remove.
	(pod_char): New typedef.
	(pod_uchar): New typedef.
	(pod_ushort): New typedef.
	*  testsuite/testsuite_character.cc: Fixups.
	*  testsuite/21_strings/basic_string/inserters_extractors/pod/
	10081-in.cc: Same.
	*  testsuite/21_strings/basic_string/inserters_extractors/pod/
	10081-out.cc: Same.
	*  testsuite/22_locale/numpunct/members/pod/1.cc: Same.
	*  testsuite/22_locale/numpunct/members/pod/2.cc: Same.
	*  testsuite/27_io/basic_filebuf/close/12790-1.cc: Same.
	*  testsuite/27_io/basic_filebuf/open/12790-1.cc: Same.
	*  testsuite/27_io/basic_filebuf/seekoff/12790-1.cc: Same.
	*  testsuite/27_io/basic_filebuf/seekoff/12790-2.cc: Same.
	*  testsuite/27_io/basic_filebuf/seekoff/12790-3.cc: Same.
	*  testsuite/27_io/basic_filebuf/seekoff/12790-4.cc: Same.
	*  testsuite/27_io/basic_filebuf/seekpos/12790-1.cc: Same.
	*  testsuite/27_io/basic_filebuf/seekpos/12790-2.cc: Same.
	*  testsuite/27_io/basic_filebuf/seekpos/12790-3.cc: Same.
	*  testsuite/27_io/basic_ios/imbue/14072.cc: Same.
	*  testsuite/27_io/basic_istream/extractors_arithmetic/pod/
	3983-1.cc: Same.
	*  testsuite/27_io/basic_istream/extractors_character/pod/
	3983-2.cc: Same.
	*  testsuite/27_io/basic_istream/extractors_other/pod/3983-3.cc: Same.
	*  testsuite/27_io/basic_istream/sentry/pod/1.cc: Same.
	*  testsuite/27_io/basic_ostream/sentry/pod/1.cc: Same.

2005-04-15  Alexandre Oliva  <aoliva@redhat.com>

	PR middle-end/20739
	* gcc.dg/tree-ssa/pr20739.c: New test.

2005-04-15  Kazu Hirata  <kazu@cs.umass.edu>

	* cfgrtl.c (purge_all_dead_edge): Remove an unused argument.
	* basic-block.h: Update the prototype for
	purge_all_dead_edges.
	* cfgexpand.c (tree_expand_cfg): Update a call to
	purge_all_dead_edges.
	* combine.c (combine_instructions): Likewise.
	* passes.c (rest_of_handle_old_regalloc, rest_of_handle_cse,
	rest_of_handle_cse2, rest_of_handle_gcse,
	rest_of_handle_postreload): likewise.

2005-04-15  Alexandre Oliva  <aoliva@redhat.com>

	PR middle-end/20739
	* gimplify.c (gimplify_addr_expr): Compensate for removal of
	e.g. cv-qualification conversions.

        * include/ext/bitmap_allocator.h
        (__gnu_cxx::free_list::_M_get_mutex): New.
        (__gnu_cxx::free_list::_M_get_free_list): New.
        (__gnu_cxx::free_list::_S_bfl_mutex): Remove.
        (__gnu_cxx::free_list::_S_free_list): Remove.
        * src/bitmap_allocator.cc: Same.
        * config/linker-map.gnu: Remove free_list and mutex export.

2005-04-14  Benjamin Kosnik  <bkoz@redhat.com>

2005-04-15  Uros Bizjak  <uros@kss-loka.si>

	PR tree-optimization/21004
	* gcc.dg/builtins-53.c: Include builtins-config.h.
	Check floorf, ceilf, floorl and ceill transformations
	only when HAVE_C99_RUNTIME is defined.
	
2005-04-15  Uros Bizjak  <uros@kss-loka.si>

	PR tree-optimization/21004
	* convert.c (convert_to_integer): Convert ceilf, ceill, floorf
	and floorl in c99 mode only.
	* builtins.c (expand_builtin_int_roundingfn): Assert that
	fallback_fndecl is not NULL_TREE.

2005-04-15  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>

	* doc/invoke.texi: Fix typos.
	* doc/md.texi: Likewise.
	* doc/rtl.texi: Likewise.
	* doc/sourcebuild.texi: Likewise.
	* doc/tm.texi: Likewise.

2005-04-15  Kazu Hirata  <kazu@cs.umass.edu>

	PR tree-optimization/20936.
	* tree-ssa-ccp.c (visit_assignment): Fix a typo.

2005-04-15  Kazu Hirata  <kazu@cs.umass.edu>

	* cp-tree.h (lang_type_class): Remove redefined.  Move
	java_interface into where redefined was.  Increment the width
	of dummy.
	(TYPE_REDEFINED): Remove.

2005-03-18  Dale Johannesen <dalej@apple.com>

	* cp/tree.c (cp_tree_equal):  Handle SSA_NAME.

2005-04-15  Richard Guenther  <rguenth@gcc.gnu.org>

	PR fortran/14569
	* gfortran.h (gfc_linebuf): Add truncated field.
	* parse.c (next_statement): Handle warning for truncated
	lines.
	* scanner.c (load_line): Return if line was truncated.
	No longer warn for truncated lines.  Remove unused parameters.
	(load_file): Store load_line return value to linebuf.
	(gfc_error_recovery): Do not advance line at the end.

2005-04-15  Thomas Koenig  <Thomas.Koenig@online.de>

	* gfortran.fortran-torture/execute/intrinsic_spread.f90:
	corrected typo where the wrong variables had been compared.

2005-04-15  Thomas Koenig  <Thomas.Koenig@online.de>

	PR libfortran/18495
	* gfortran.fortran-torture/execute/intrinsic_spread.f90:
	Test callee-allocated version of return array with a write
	statement.
	Test spread with a temporary with another write statement.

2005-04-15  Kazu Hirata  <kazu@cs.umass.edu>

	PR tree-optimization/21031
	* gcc.dg/tree-ssa/pr21031.c: New.

2005-04-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>

	* gthr-posix.c (pthread_cancel): Define.
	(pthread_mutexattr_init): Likewise.
	(pthread_mutexattr_settype): Likewise.
	(pthread_mutexattr_destroy): Likewise.

2005-04-15  David S. Miller  <davem@davemloft.net>

	PR target/20673
	* config/sparc/sparc.h (sparc_hard_reg_printed): Mark as GTY(()).

2005-04-15  Kazu Hirata  <kazu@cs.umass.edu>

	PR tree-optimization/21031
	* tree-ssa-forwprop.c (ssa_name_defined_by_comparison_p): New.
	(forward_propagate_into_cond_1): Call it.  Forward propagate
	integer-integer casts into COND_EXPRs.

2005-04-15  Dave Korn  <dave.korn@artimi.com>

	* gcc.c (default_compilers): Clarify obscure error message when
	reading from standard input.

2005-04-15  Kazu Hirata  <kazu@cs.umass.edu>

	* basic-block.h (PROP_EQUAL_NOTES): Remove.
	* flow.c (propagate_one_insn): Don't use PROP_EQUAL_NOTES.

	* tree-ssa-alias.c (init_alias_info): Remove a call to
	get_stmt_operands.

2005-04-15  Andrew MacLeod  <amacleod@redhat.com>

	* tree-vect-analyze.c (vect_stmt_relevant_p): Process immediate uses
	of non-virtual PHI nodes like we use to.

2005-05-15  Paolo Bonzini  <bonzini@gnu.org>

	* genattrtab.c (ATTR_EQ_ATTR_P): Remove.
	(attr_copy_rtx): Do not use it.

2005-04-15  Andrew Macleod  <amacleod@redhat.com>

	* doc/tree-ssa.texi: Grammer/abbreviation updates.

2005-04-15  Diego Novillo  <dnovillo@redhat.com>

	* tree-vect-transform.c (vectorizable_store): Mark necessary
	objects in the vectorized store needing renaming.  Update the
	SSA graph for V_MAY_DEF operands in the original store.

2005-04-14  Daniel Berlin <dberlin@dberlin.org>

	* tree-ssa-pre.c (compute_avail): It's okay to have
	TREE_INVARIANT's here, and value number the resulting expressions.
	(create_expression_by_pieces): Make sure operands that were
	min_invariant when we started, stay that way.

2005-04-15  David Edelsohn  <edelsohn@gnu.org>

	* doc/install.texi (*-ibm-aix*): Add comment about system limits.

2005-04-15  Thomas Koenig  <Thomas.Koenig@online.de>

	PR libfortran/18495
	* intrinsics/spread_generic.c (spread):  Remove const from
	return array descriptor.
	New variables: rrank (rank of return array),  rs (for
	calculating the size of the return array), srank (rank
	of the source array).
	Generate runtime error if the dim= argument is larger than
	the rank of the return array.
	Generate runtime error if the needed rank of the return
	array is larger than 7.
	If ret->data is null, populate the return array descriptor
	and initialize the variables for the actual operation.
	Otherwise, set ret->dim[0].stride to one if it is zero.
	Change second, independent use of variable dim to srank.

2005-04-15  Tom Tromey  <tromey@redhat.com>

	* Makefile.in: Rebuilt.
	* Makefile.am (libgij_la_LIBADD): Moved SAX and DOM...
	(libgcj0_convenience_la_LIBADD): ... here.

2005-04-16  Laurent GUERBY  <laurent@guerby.net>

        PR ada/18847
        * a-nudira.adb (Value): Check for valid string.
        * a-nuflra.adb (Value): Likewise.

2005-04-15  Richard Henderson  <rth@redhat.com>

	PR middle-end/14311
	* semantics.c (finish_call_expr): Call resolve_overloaded_builtin.

2005-04-15  Roger Sayle  <roger@eyesopen.com>

	* fold-const.c (fold_relational_hi_lo): Delete function and prototype.
	(fold_binary): Update comment mentioning fold_relational_hi_lo.
	(fold_binary_to_constant): Simplify using fold_binary.
	(fold_unary_to_constant): Likewise, simplify using fold_unary.

	* asprintf.c: Include config.h.
	* basename.c: Likewise.
	* fdmatch.c: Likewise.
	* hex.c: Likewise.
	* lbasename.c: Likewise.
	* spaces.c: Likewise.
	* xatexit.c:Likewise.
	* configure.ac:  Do check declarations for basename, ffs, asprintf 
	and vasprintf for real.
	* configure: Regenerate.

2005-04-13  Gabriel Dos Reis  <gdr@integrable-solutions.net>

2005-04-16  Roger Sayle  <roger@eyesopen.com>
	    Steven Bosscher  <stevenb@suse.de>

	* fold-const.c (fold_binary_to_constant): Delete obsolete comment.
	(fold_unary_to_constant): Likewise.

2005-04-16  Kazu Hirata  <kazu@cs.umass.edu>

	* basic-block.h: Adjust the value of PROP_SCAN_DEAD_STORES,
	PROP_ASM_SCAN.

2005-04-16  Gerald Pfeifer  <gerald@pfeifer.com>

	* doc/install.texi (Specific): Avoid using asterisks in @anchor
	names related to target triplets.
	Remove i?86-*-esix from platform directory.
	Remove powerpc-*-eabiaix from platform directory.

2005-04-16  Joseph S. Myers  <joseph@codesourcery.com>

	PR middle-end/20491
	* config/ia64/ia64.c (rtx_needs_barrier): Recurse instead of
	falling through from SUBREG case to REG.

2005-04-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* libiberty.h (unlock_stream): New.

2005-04-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* fopen_unlocked.c (unlock_stream): New.
	Consolidate unlocking code into a helper function.

	* functions.texi: Regenerate.

2005-04-16  Mark Mitchell  <mark@codesourcery.com>

	PR c++/21025
	* typeck.c (cxx_sizeof_or_alignof_type): Check whether the type to
	which sizeof/alignof is dependent, rather than just whether we are
	processing_template_decl.
	
2005-04-17  Kazu Hirata  <kazu@cs.umass.edu>

	* cp-tree.h (LOOKUP_GLOBAL): Remove.
	(LOOKUP_ONLYCONVERTING, DIRECT_BIND, LOOKUP_NO_CONVERSION,
	LOOKUP_DESTRUCTOR, LOOKUP_NO_TEMP_BIND, LOOKUP_PREFER_TYPES,
	LOOKUP_PREFER_NAMESPACES, LOOKUP_CONSTRUCTOR_CALLABLE): Adjust
	their values.

2005-04-16  Mark Mitchell  <mark@codesourcery.com>

	PR c++/21025
	* typeck.c (cxx_sizeof_or_alignof_type): Check whether the type to
	which sizeof/alignof is dependent, rather than just whether we are
	processing_template_decl.
	
2005-04-17  Kazu Hirata  <kazu@cs.umass.edu>

	PR middle-end/21024
	* builtins.c (expand_builtin_strcat): Convert the result of
	strlen to the right type.
	* fold-const.c (fold_binary) <PLUS_EXPR>: Use fold_convert to
	avoid creating type mismatches.
	<GE_EXPR>: Pass op0 and op1 to fold_build2 to avoid creating
	type mismatches.

	* c-lex.c (WCHAR_TYPE_SIZE, WCHAR_BYTES): Remove.

2005-04-16  Richard Henderson  <rth@redhat.com>

	PR target/21051
	* builtins.c (expand_builtin) <BUILT_IN_BOOL_COMPARE_AND_SWAP_*>:
	Use the mode of boolean_type_node when the user doesn't provide one.
	* config/ia64/sync.md (sync_lock_release<I48MODE>): Use operand 1.

2005-04-16  Alexandre Oliva  <aoliva@redhat.com>

	PR target/20126
	* loop.c (loop_givs_rescan): Handle non-replaceable (plus (reg)
	(const)).

	* tree-scalar-evolution.c (interpret_rhs_modify_expr): Fix typo in
	comment.

2005-04-16  Tom Tromey  <tromey@redhat.com>

	* gnu/xml/pipeline/ValidationConsumer.java (Recognizer): Make
	'ANY' package-private.

2005-04-17  Joseph S. Myers  <joseph@codesourcery.com>

	* gennews (files): Update for GCC 4.0.

2005-04-17  Richard Guenther  <rguenth@gcc.gnu.org>

	* scanner.c (gfc_next_char_literal): Reset truncation flag
	for lines ending in a comment for both fixed and free form.
	(load_line): Do not set truncated flag if only truncating
	the EOL marker.

2005-04-17  Richard Guenther  <rguenth@gcc.gnu.org>

	* gfortran.dg/wtruncate.f: New testcase.
	* gfortran.dg/wtruncate.f90: New testcase.

2005-04-17  Richard Sandiford  <rsandifo@redhat.com>

	* config/mips/iris6.h (DRIVER_SELF_SPECS): Check -march as well as
	-mipsN before forcing a default of -mips2.

2005-04-17  Kazu Hirata  <kazu@cs.umass.edu>

	* predict.h (IS_TAKEN): Remove.
	* rtl.h (NOTE_PREDICTION): Likewise.

	* modulo-sched.c (CFG_HOOKS): Remove.

	* c-parser.c (N_C_TTYPES): Remove.

	* tree-flow-inline.h (get_stmt_operands): Remove.
	* lambda-code.c, tree-ssa-loop-unswitch.c,
	tree-ssa-operands.c, tree-ssa-pre.c, tree-ssa-propagate.c,
	tree-ssa-sink.c, tree-ssa.c, tree-tailcall.c,
	tree-vect-transform.c, tree-vectorizer.c, tree-vrp.c): Remove
	calls to get_stmt_operands.
	* doc/tree-ssa.texi: Don't mention get_stmt_operands.

2005-04-17  Richard Henderson  <rth@redhat.com>

	PR target/20375
	* config/alpha/alpha.c (alpha_setup_incoming_varargs): Advance a copy
	of CUMULATIVE_ARGS past the last named argument.
	(alpha_va_start): Expect pretend_args_size only if strictly less than
	6 named arguments.

2005-04-17  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/20914
	* include/bits/locale_facets.tcc (__int_to_char(_CharT*, _ValueT,
	const _CharT*, ios_base::fmtflags, bool)): Don't deal with numeric
	base or sign here, instead...
	(_M_insert_int(_OutIter, ios_base&, _CharT, _ValueT)): ... here,
	after adding the grouping. This fixes the bug and also allows to
	clean-up the code dealing with integer types.
	(_M_group_int(const char*, size_t, _CharT, ios_base&, _CharT*,
	_CharT*, int&)): Simplify, remove bits dealing with numeric base.
	(__int_to_char(_CharT*, unsigned long, const _CharT*,
	ios_base::fmtflags), __int_to_char(_CharT*, unsigned long long,
	const _CharT*, ios_base::fmtflags)): Remove hackish fix for
	libstdc++/15565.
	(__int_to_char(_CharT*, long, const _CharT*, ios_base::fmtflags),
	__int_to_char(_CharT*, long long, const _CharT*, ios_base::fmtflags)):
	Simplify, don't pass the sign.
	(_M_insert_float(_OutIter, ios_base&, _CharT, char, _ValueT)):
	Deal with a sign at the beginning of __cs; robustify the grouping	
	check.
	* testsuite/22_locale/num_put/put/char/20914.cc: New.
	* testsuite/22_locale/num_put/put/wchar_t/20914.cc: Likewise.

2005-04-17  David S. Miller  <davem@davemloft.net>

	* include/private/gcconfig.h (sparc-linux): Use LINUX_STACKBOTTOM.
	* os_dep.c (GC_linux_stack_base): Check for bug present in some
	Sparc glibc variants where __libc_stack_end is erroneously set
	to "1".  Fallback to procfs code in that case.

2005-04-17  Ian Lance Taylor  <ian@airs.com>

	* cp-tree.def: Add SIZEOF_EXPR, ARROW_EXPR and ALIGNOF_EXPR.
	* cxx-pretty-print.c (pp_cxx_postfix_expression): Handle
	ARROW_EXPR.
	(pp_cxx_unary_expression): Handle SIZEOF_EXPR and ALIGNOF_EXPR.
	(pp_cxx_expression): Handle ARROW_EXPR, SIZEOF_EXPR, and
	ALIGNOF_EXPR.
	* typeck.c (cxx_sizeof_or_alignof_type): Update call to
	c_sizeof_or_alignof_type for change in parameter type.

2005-04-17 Paul Thomas <pault@gcc.gnu.org>

	PR fortran/17472
	PR fortran/18209
	PR fortran/18396
	PR fortran/19467
	PR fortran/19657
	* fortran/trans-io.c (gfc_build_io_library_fndecls): Create declaration for
	st_set_nml_var and st_set_nml_var_dim. Remove declarations of old
	namelist functions.
	(build_dt): Simplified call to transfer_namelist_element.
	(nml_get_addr_expr): Generates address expression for start of object data. New function.
	(nml_full_name): Qualified name for derived type components. New function.
	(transfer_namelist_element): Modified for calls to new functions and improved derived
	type handling.

2005-04-17  Joseph S. Myers  <joseph@codesourcery.com>

	* de.po: Update.

2005-04-17  Thomas Koenig  <Thomas.Koenig@online.de>

	PR libfortran/21075
	* gfortran.dg/reshape_rank7.f90: New test.

2005-04-17 Paul Thomas <pault@gcc.gnu.org>

	PR libfortran/12884 gfortran.dg/pr12884.f: New test
	PR libfortran/17285 gfortran.dg/pr17285.f90: New test
	PR libfortran/17472, 18396, 18209 gfortran.dg/pr17472.f: New test
	PR libfortran/18122, 18591 gfortran.dg/pr18122.f90: New test
	PR libfortran/18210 gfortran.dg/pr18210.f90: New test
	PR libfortran/18392 gfortran.dg/pr18392.f90: New test
	PR libfortran/19467 gfortran.dg/pr19467.f90: New test
	PR libfortran/19657 gfortran.dg/pr19657.f90: New test
	* gfortran.dg/namelist_1.f90: Correct comment (PUBLIC and PRIVATE wrong way round).
	* gfortran.dg/namelist_2.f90: Variables with INTENT(IN) cannot be in namelists. New test
	* gfortran.dg/namelist_3.f90: Pointers cannot be in namelists. New test
	* gfortran.dg/namelist_11.f: Tests reals and qualifiers in namelist. New test
	* gfortran.dg/namelist_12.f: Tests integers and qualifiers in namelist. New test
	* gfortran.dg/namelist_13.f90: Tests derived types in namelist. New test
	* gfortran.dg/namelist_14.f90: Tests trans-io.c namelist support. New test
	* gfortran.dg/namelist_15.f90: Tests arrays of derived types in namelist. New test
	* gfortran.dg/namelist_16.f90: Tests complex in namelist. New test
	* gfortran.dg/namelist_17.f90: Tests logical in namelist. New test
	* gfortran.dg/namelist_18.f90: Tests charcter delimiters in namelist. New test
	* gfortran.dg/namelist_19.f90: Tests namelist errors. New test
	* gfortran.dg/namelist_20.f90: Tests negative bounds for explicit arrays. New test

2005-04-17  Ian Lance Taylor  <ian@airs.com>

	* c-common.def (SIZEOF_EXPR, ARROW_EXPR, ALIGNOF_EXPR): Remove.
	* c-common.c (c_sizeof_or_alignof_type): Change second parameter
	from enum tree_code op to bool is_sizeof.
	* c-common.h (c_sizeof_or_alignof_type): Update declaration.
	(c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
	* c-pretty-print.c (pp_c_postfix_expression): Remove ARROW_EXPR
	case.
	(pp_c_unary_expression): Remove SIZEOF_EXPR and ALIGNOF_EXPR
	cases.
	(pp_c_expression): Remove ARROW_EXPR, SIZEOF_EXPR, and
	ALIGNOF_EXPR cases.

2005-04-17  Ian Lance Taylor  <ian@airs.com>

	* system.h: Poison DONT_ACCESS_GBLS_AFTER_EPILOGUE.

2005-04-17  Richard Henderson  <rth@redhat.com>

	* config/alpha/alpha.c (va_list_skip_additions): Only define if
	TARGET_ABI_OSF.
	(TARGET_STDARG_OPTIMIZE_HOOK): Likewise.
	(alpha_stdarg_optimize_hook): Likewise.  Allow for one more round
	of indirection through ssa names while looking for the gpr counter
	field.
	(alpha_setup_incoming_varargs) <TARGET_ABI_OSF>: Make use of the
	saved va_list_gpr_size and va_list_fpr_size.

2005-04-17  Kazu Hirata  <kazu@cs.umass.edu>

	* tree-vrp.c (compare_values): Check that VAL1 and VAL2 are
	both pointers or both integers.

	* tree-vrp.c (maybe_add_assert_expr): Don't assert
	ASSERT_EXPRs for single-use variable.

	* tree-into-ssa.c: Fix a comment typo.

2005-04-17  Thomas Koenig  <Thomas.Koenig@online.de>

	PR libfortran/21075
	* m4/reshape.m4 (reshape_`'rtype_kind):  Change dimension
	of auxiliary arrays from GFC_MAX_DIMENSIONS - 1 to
	GFC_MAX_DIMENSIONS.
	* intrinsics/reshape_generic.c (reshape_generic):  Likewise.
	* generated/reshape_i4.c:  Regenerated.
	* generated/reshape_i8.c:  Regenerated.

2005-04-17 Paul Thomas <pault@gcc.gnu.org>

* io/list_read.c (eat_separator): at_eol = 1 replaced(zapped at some time?).

2005-04-17 Paul Thomas <pault@gcc.gnu.org>


	PR libgfortran/12884
	PR libgfortran/17285
	PR libgfortran/18122
	PR libgfortran/18210
	PR libgfortran/18392
	PR libgfortran/18591
	PR libgfortran/18879
	* io/io.h (nml_ls): Declare.
	(namelist_info): Modify for arrays.
	* io/list_read.c (namelist_read): Reduced to call to new functions.
	(match_namelist_name): Simplified.
	(nml_query): Handles stdin queries ? and =?. New function.
	(nml_get_obj_data): Parses object name. New function.
	(touch_nml_nodes): Marks objects for read. New function.
	(untouch_nml_nodes): Resets objects. New function.
	(parse_qualifier): Parses and checks qualifiers. New function
	(nml_read_object): Reads and stores object data. New function.
	(eat_separator): No new_record on '/' in namelist.
	(finish_separator): No new_record on '/' in namelist.
	(read_logical): Error return for namelist.
	(read_integer): Error return for namelist.
	(read_complex): Error return for namelist.
	(read_real): Error return for namelist.
	* io/lock.c (library_end): Free extended namelist_info types.
	* io/transfer.c (st_set_nml_var): Modified for arrays.
	(st_set_nml_var_dim): Dimension descriptors. New function.
	* io/write.c (namelist_write): Reduced to call to new functions.
	(nml_write_obj): Writes output for object. New function.
	(write_integer): Suppress leading blanks for repeat counts.
	(write_int): Suppress leading blanks for repeat counts.
	(write_float): Suppress leading blanks for repeat counts.
	(output_float): Suppress leading blanks for repeat counts.

2005-04-11  Francois-Xavier Coudert  <coudert@clipper.ens.fr>

	PR libfortran/20950
	* gfortran.dg/pr20950.f: New test.

2005-04-18  Francois-Xavier Coudert  <coudert@clipper.ens.fr>

	PR libfortran/19216
	* gfortran.dg/pr19216.f: New test.

2005-04-18  Kazu Hirata  <kazu@cs.umass.edu>

	PR tree-optimization/21001
	* gcc.dg/tree-ssa/pr21001.c: New.

2005-04-18  Kazu Hirata  <kazu@cs.umass.edu>

	PR tree-optimization/21001
	* tree-optimize.c (init_tree_optimization_passes): Move the
	first pass_forwprop immediately before pass_vrp.

2005-04-11  Francois-Xavier Coudert  <coudert@clipper.ens.fr>

	PR libfortran/20950
	* io/inquire.c (inquire_via_unit): Check for the gfc_unit being
	NULL when setting ioparm.sequential.

2005-04-18  Kazu Hirata  <kazu@cs.umass.edu>

	* decl.c (expand_static_init): Call build2 and build3 instead
	of build.

	* cp-tree.h (VPTR_NAME, VPTR_NAME_P): Remove.

2005-04-18  Laurent GUERBY  <laurent@guerby.net>

	* ada/acats/run_all.sh: Use sync when executable not present.
	
2005-04-18  Devang Patel  <dpatel@apple.com>

	* gcc.dg/vect/vect-11.c: Require effective target vect_int_mult.
	* gcc.dg/vect/vect-11a.c: New.
	* gcc.dg/vect/vect-none.c: Update.
	* lib/target-supports.exp (check_effective_target_vect_int_mult): New.

2005-04-18  James A. Morrison  <phython@gcc.gnu.org>

	PR tree-optimization/20922
	* gcc.dg/pr20922-1.c: New test.
	* gcc.dg/pr20922-2.c: New test.
	* gcc.dg/pr20922-3.c: New test.
	* gcc.dg/pr20922-4.c: New test.
	* gcc.dg/pr20922-5.c: New test.
	* gcc.dg/pr20922-6.c: New test.

2005-04-18  Alexandre Oliva  <aoliva@redhat.com>

	PR middle-end/21049
	* tree-cfg.c (dump_function_to_file): Do not crash if cfun or
	cfun->cfg are NULL.

2005-04-18  Tom Tromey  <tromey@redhat.com>

	* cgraphunit.c (cgraph_finalize_compilation_unit): Fix a comment
	typo.

2005-04-18  Richard Henderson  <rth@redhat.com>

	* config/alpha/alpha.c (alpha_split_atomic_op): New.
	(alphaev5_insn_pipe): Add LD_L, ST_C, MB types.
	(alphaev4_insn_pipe): Likewise.  Correct IST and LDSYM pipes.
	* config/alpha/alpha-protos.h: Update.
	* config/alpha/alpha.md (UNSPECV_MB, UNSPECV_LL, UNSPECV_SC): New.
	(UNSPECV_ATOMIC, UNSPECV_CMPXCHG, UNSPECV_XCHG): New.
	(attr type): Add ld_l, st_c, mb.
	(andsi_internal, andnotsi3, iorsi_internal, one_cmplsi_internal,
	iornotsi3, xorsi_internal, xornotsi3): New.
	* config/alpha/ev4.md (ev4_ld): Add ld_l.
	(ev4_ist_c, ev4_mb): New.
	* config/alpha/ev5.md (ev5_st): Add st_c, mb.
	(ev5_ld_l): New.
	* config/alpha/ev6.md (ev6_ild): Add ld_l.
	(ev6_ist): Add st_c.
	(ev6_mb): New.
	* config/alpha/sync.md: New file.

2005-04-18  Richard Henderson  <rth@redhat.com>

	* builtins.c (expand_builtin_sync_operation): Fold nand to and
	for constants.

	* optabs.c (expand_sync_operation): Fix typo expanding nand to and.

2005-04-18  Devang Patel  <dpatel@apple.com>

	* config/rs6000/atlivec.md (mulv4si3): New pattern.
	
2005-04-18  James A. Morrison  <phython@gcc.gnu.org>

	PR tree-optimization/20922
	* fold-const.c (fold_binary): Fold X - c > X and X + c < X to false.
	Fold X + c >= X and fold X - c <= X to true.

2005-04-18  James A. Morrison  <phython@gcc.gnu.org>

	* config/ia64/unwind-ia64.c (emergency_reg_state_free): Make an
	unsigned int.
	(emergency_labeled_state_free): Likewise.

2005-04-18  Nick Clifton  <nickc@redhat.com>

	* config/h8300/h8300.md (jump): Remove prescan parameter from
	calls to final_scan_insn.

	* config/arc/arc.c (arc_output_function_epilogue): Remove prescan
	parameter from calls to final_scan_insn.

	* config.gcc (m68hc12): Use the m68hc11.opt file for target
	specific options.
	(v850e, v850e1): Use the v850.opt file for target specific
	options.

2005-04-18  Simon Posnjak <simon.posnjak@siol.net> 
	    Hans-Peter Nilsson  <hp@axis.com>

	* Makefile.am: Add CRIS support.
	* configure.ac: Likewise.
	* Makefile.in, configure, testsuite/Makefile.in,
	include/Makefile.in: Regenerate.
	* src/cris: New directory.
	* src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
	* src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.

	* testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
	\r?\n in output tests.

2005-04-18  Chris Burdess  <dog@gnu.org>

	* gnu/java/net/BASE64.java: Truncate encoded byte array.

2005-04-18  Michael Koch  <konqueror@gmx.de>

	gnu/java/awt/EmbeddedWindowSupport.java,
	gnu/java/net/HeaderFieldHelper.java,
	gnu/java/net/URLParseError.java,
	gnu/java/net/protocol/file/Handler.java,
	gnu/java/net/protocol/jar/Handler.java:
	Fixed usage of @author tag.

2005-04-18  Michael Koch  <konqueror@gmx.de>

	* gnu/xml/aelfred2/XmlParser.java:
	Reverted my typo fix.

2005-04-18  Michael Koch  <konqueror@gmx.de>

	* java/awt/geom/CubicCurve2D.java,
	java/awt/geom/QuadCurve2D.java:
	Fixed mentioning of Brian Gouph.

2005-04-18  Michael Koch  <konqueror@gmx.de>

	* gnu/java/awt/Buffers.java,
	gnu/java/awt/image/ImageDecoder.java,
	gnu/java/awt/image/XBMDecoder.java,
	gnu/java/awt/peer/ClasspathFontPeer.java,
	gnu/java/net/CRLFInputStream.java,
	gnu/java/net/EmptyX509TrustManager.java,
	gnu/java/net/LineInputStream.java,
	gnu/java/net/protocol/ftp/ActiveModeDTP.java,
	gnu/java/net/protocol/ftp/BlockInputStream.java,
	gnu/java/net/protocol/ftp/CompressedInputStream.java,
	gnu/java/net/protocol/ftp/DTP.java,
	gnu/java/net/protocol/ftp/DTPInputStream.java,
	gnu/java/net/protocol/ftp/FTPConnection.java,
	gnu/java/net/protocol/ftp/FTPURLConnection.java,
	gnu/java/net/protocol/ftp/PassiveModeDTP.java,
	gnu/java/net/protocol/ftp/StreamInputStream.java,
	gnu/java/net/protocol/http/ChunkedInputStream.java,
	gnu/java/net/protocol/http/HTTPConnection.java,
	gnu/java/net/protocol/http/HTTPURLConnection.java,
	gnu/java/net/protocol/http/Headers.java,
	gnu/java/net/protocol/http/Request.java,
	gnu/java/nio/ChannelInputStream.java,
	gnu/java/nio/ChannelOutputStream.java,
	gnu/java/nio/InputStreamChannel.java,
	gnu/java/nio/OutputStreamChannel.java,
	gnu/java/nio/SelectorProviderImpl.java,
	gnu/java/rmi/RMIMarshalledObjectInputStream.java,
	gnu/java/rmi/RMIMarshalledObjectOutputStream.java,
	gnu/java/rmi/dgc/DGCImpl.java,
	gnu/java/rmi/registry/RegistryImpl.java,
	gnu/java/rmi/server/ProtocolConstants.java,
	gnu/java/rmi/server/RMIDefaultSocketFactory.java,
	gnu/java/rmi/server/RMIIncomingThread.java,
	gnu/java/rmi/server/RMIObjectInputStream.java,
	gnu/java/rmi/server/RMIObjectOutputStream.java,
	gnu/java/rmi/server/RMIVoidValue.java,
	gnu/java/rmi/server/UnicastConnectionManager.java,
	gnu/java/rmi/server/UnicastRef.java,
	gnu/java/rmi/server/UnicastRemoteCall.java,
	gnu/java/rmi/server/UnicastRemoteStub.java,
	gnu/java/rmi/server/UnicastServerRef.java,
	gnu/java/security/OID.java,
	gnu/java/security/der/DERReader.java,
	gnu/java/security/provider/CollectionCertStoreImpl.java,
	gnu/java/security/provider/DSAParameterGenerator.java,
	gnu/java/security/provider/DefaultPolicy.java,
	gnu/java/security/provider/EncodedKeyFactory.java,
	gnu/java/security/provider/GnuDHPublicKey.java,
	gnu/java/security/provider/GnuDSAPrivateKey.java,
	gnu/java/security/provider/GnuDSAPublicKey.java,
	gnu/java/security/provider/GnuRSAPrivateKey.java,
	gnu/java/security/provider/GnuRSAPublicKey.java,
	gnu/java/security/provider/PKIXCertPathValidatorImpl.java,
	gnu/java/security/provider/RSA.java,
	gnu/java/security/provider/SHA1PRNG.java,
	gnu/java/security/provider/SHA1withRSA.java,
	gnu/java/security/provider/X509CertificateFactory.java,
	gnu/java/security/x509/GnuPKIExtension.java,
	gnu/java/security/x509/X500DistinguishedName.java,
	gnu/java/security/x509/X509CRL.java,
	gnu/java/security/x509/X509CRLEntry.java,
	gnu/java/security/x509/X509CertPath.java,
	gnu/java/security/x509/X509CertSelectorImpl.java,
	gnu/java/security/x509/X509Certificate.java,
	gnu/java/security/x509/ext/AuthorityKeyIdentifier.java,
	gnu/java/security/x509/ext/BasicConstraints.java,
	gnu/java/security/x509/ext/CRLNumber.java,
	gnu/java/security/x509/ext/CertificatePolicies.java,
	gnu/java/security/x509/ext/ExtendedKeyUsage.java,
	gnu/java/security/x509/ext/Extension.java,
	gnu/java/security/x509/ext/GeneralNames.java,
	gnu/java/security/x509/ext/IssuerAlternativeNames.java,
	gnu/java/security/x509/ext/KeyUsage.java,
	gnu/java/security/x509/ext/PolicyConstraint.java,
	gnu/java/security/x509/ext/PolicyMappings.java,
	gnu/java/security/x509/ext/PrivateKeyUsagePeriod.java,
	gnu/java/security/x509/ext/ReasonCode.java,
	gnu/java/security/x509/ext/SubjectAlternativeNames.java,
	gnu/java/security/x509/ext/SubjectKeyIdentifier.java:
	Reorganized import statements.

2005-04-18  Michael Koch  <konqueror@gmx.de>

	* gnu/java/awt/color/CieXyzConverter.java,
	gnu/java/awt/color/ClutProfileConverter.java,
	gnu/java/awt/color/ColorLookUpTable.java,
	gnu/java/awt/color/ColorSpaceConverter.java,
	gnu/java/awt/color/GrayProfileConverter.java,
	gnu/java/awt/color/GrayScaleConverter.java,
	gnu/java/awt/color/LinearRGBConverter.java,
	gnu/java/awt/color/ProfileHeader.java,
	gnu/java/awt/color/PyccConverter.java,
	gnu/java/awt/color/RgbProfileConverter.java,
	gnu/java/awt/color/SrgbConverter.java,
	gnu/java/awt/color/TagEntry.java,
	gnu/java/awt/color/ToneReproductionCurve.java:
	Standardized file headers.

2005-04-18  Jonathan Wakely  <redi@gcc.gnu.org>

	* include/bits/stl_algo.h (rotate_copy): Add missing std qualification.

	* fortran/trans-io.c (gfc_build_io_library_fndecls): Create
	declaration for	st_set_nml_var and st_set_nml_var_dim. Remove
	declarations of old namelist functions.
	(nml_get_addr_expr): Generates address expression for start of 
	object data. New function.
	(nml_full_name): Qualified name for derived type components. New 
	function.
	(transfer_namelist_element): Modified for calls to new functions 
	and improved derived type handling.
2005-04-18  James A. Morrison  <phython@gcc.gnu.org>

	* gcc.dg/pr21085.c: New test.

2005-04-18  Richard Sandiford  <rsandifo@redhat.com>

	* gcc.target/mips/mips.exp: Minor formatting.  Call setup_mips_tests.
	(setup_mips_tests, dg-mips-options): New procedures.
	* gcc.target/mips/asm-1.c, gcc.target/mips/fix-vr4130-1.c,
	* gcc.target/mips/fix-vr4130-2.c, gcc.target/mips/fix-vr4130-3.c
	* gcc.target/mips/fix-vr4130-4.c, gcc.target/mips/mips-3d-1.c,
	* gcc.target/mips/mips-3d-2.c, gcc.target/mips/mips-3d-3.c,
	* gcc.target/mips/mips-3d-4.c, gcc.target/mips/mips-3d-5.c,
	* gcc.target/mips/mips-3d-6.c, gcc.target/mips/mips-3d-7.c,
	* gcc.target/mips/mips-3d-8.c, gcc.target/mips/mips-3d-9.c,
	* gcc.target/mips/mips-3d-2.c, gcc.target/mips/mips-3d-3.c,
	* gcc.target/mips/mips-ps-1.c, gcc.target/mips/mips-ps-2.c,
	* gcc.target/mips/mips-ps-3.c, gcc.target/mips/mips-ps-4.c,
	* gcc.target/mips/mips-ps-type.c, gcc.target/mips/sb1-1.c: Use
	dg-mips-options instead of dg-options.  Remove now-redundant
	preprocessor guards.
	* gcc.dg/mips-args-1.c, gcc.dg/mips-args-2.c, gcc.dg/mips-args-3.c,
	* gcc.dg/mips-movcc-1.c, gcc.dg/mips-movcc-2.c, gcc.dg/mips-movcc-3.c,
	* gcc.dg/mips-nmadd-1.c, gcc.dg/mips-nmadd-2.c, gcc.dg/mips-rsqrt-1.c,
	* gcc.dg/mips-rsqrt-2.c, gcc.dg/mips-rsqrt-3.c, gcc.dg/vr-mult-1.c,
	* gcc.dg/vr-mult-2.c: Delete.
	* gcc.target/mips/args-1.c, gcc.target/mips/args-2.c,
	* gcc.target/mips/args-3.c, gcc.target/mips/movcc-1.c,
	* gcc.target/mips/movcc-2.c, gcc.target/mips/movcc-3.c,
	* gcc.target/mips/nmadd-1.c, gcc.target/mips/nmadd-2.c,
	* gcc.target/mips/rsqrt-1.c, gcc.target/mips/rsqrt-2.c,
	* gcc.target/mips/rsqrt-3.c, gcc.target/mips/vr-mult-1.c,
	* gcc.target/mips/vr-mult-2.c: New tests, based on the old gcc.dg ones.

2005-04-19  Alexandre Oliva  <aoliva@redhat.com>

	* tree-cfg.c (dump_function_to_file): Use cfun info only if it
	refers to the function being dumped.

2005-04-18  Daniel Jacobowitz  <dan@codesourcery.com>

	* varasm.c (assemble_start_function): Remove reset of in_section.

2005-04-18  James A. Morrison  <phython@gcc.gnu.org>

	PR tree-optimization/21085
	* fold-const (fold_binary): Don't change X % -C to X % C if C has
	overflowed.

2005-04-19  Ben Elliston  <bje@au.ibm.com>

	* doc/invoke.texi (Optimize Options): Refer to the correct
	optimisation flag -ftree-dominator-opts, not -ftree-dom.

2005-04-18  Christopher Jaillet <christophe.jaillet@wanadoo.fr>

	* config/rs6000/rs6000.c (machopic_output_stub):  Increase
	alloca argument to be big enough.

2005-04-19  Hans-Peter Nilsson  <hp@axis.com>

	* configure.in <crisv32-*-*, cris-*-*>: New local variable
	libgcj_ex_libffi.  Have specific match for *-*-linux*.  Separate
	matches for "*-*-aout" and "*-*-elf".  Don't disable libffi for
	"*-*-elf" and "*-*-linux*".
	* configure: Regenerate.

2005-04-18 Paul Thomas <pault@gcc.gnu.org>

	* io/list_read.c (nml_touch_nodes, nml_read_obj,
	nml_get_obj_data): Fix memory leaks in code for derived types.

	* io/list_read.c (eat_separator): at_eol = 1 replaced
	(zapped at some time?).
2005-04-19  Michael Koch  <konqueror@gmx.de>

	* java/awt/print/PrinterJob.java
	(pageDialog): New method.
	(printDialog): Implemented.

2005-04-19  Michael Koch  <konqueror@gmx.de>

	* java/awt/image/ConvolveOp.java:
	Removed comment added by eclipse.

2005-04-19  Guilhem Lavaux  <guilhem@kaffe.org>

	* java/awt/image/IndexColorModel.java
	(getRGB): Check if pixel is negative.

2005-04-19  Michael Koch  <konqueror@gmx.de>

	* java/awt/image/RasterOp.java:
	Fixed wrong formatting.

2005-04-18  Roman Kennke  <roman@kennke.org>

	* java/awt/Compmonent.java
	(setComponentOrientation): Made this property firing a
	PropertyChangeEvent.

2005-04-18  Roman Kennke  <roman@kennke.org>

	* java/awt/BorderLayout.java
	(calcSize): Check for overflow when component sizes are added.

2005-04-18  Robert Schuster <thebohemian@gmx.net>

	* java/awt/AWTEvent.java (toString): Added case
	for source not being an AWT component.

2005-04-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* system.h (fopen, fdopen, freopen): Define these to the unlocked
	libiberty functions.

2005-04-19  Francois-Xavier Coudert  <coudert@clipper.ens.fr>

	PR fortran/16861
	* resolve.c (resolve_variable): If e->symtree is not set, this
	ought to be a FAILURE, and not a segfault.

2005-04-19  Julian Brown  <julian@codesourcery.com>

	* decl.c (finish_method): Revert patch from 2005-04-13 for breaking
	indirect dispatch with PIC.

2005-04-18  Andrew Haley  <aph@redhat.com>

	* java-except.h (struct eh_range.handler): Remove unused field.
	(handle_nested_ranges): Remove function declaration.
	(sanity_check_exception_range): Add function declaration.	
	* verify.c (verify_jvm_instructions): Remove call to
	handle_nested_ranges.
	* verify-glue.c (verify_jvm_instructions_new): Call
	sanity_check_exception_range.
	* except.c (link_handler, eh_range_freelist, link_handler,
	handle_nested_ranges): Remove.
	(add_handler): Rewrite.
	(sanity_check_exception_range): New function.
	(print_ranges): New function.

2005-04-18  Francois-Xavier Coudert  <coudert@clipper.ens.fr>

	PR fortran/16861
	* gfortran.dg/pr16861.f90: New test.

2005-04-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* system.h (fopen, fdopen, freopen): Define these to the unlocked
	libiberty functions.

2005-04-19  Kazu Hirata  <kazu@cs.umass.edu>

	PR tree-optimization/21096
	* tree-ssa-copy.c (fini_copy_prop): Free cached_last_copy_of.

2005-04-19  Alan Modra  <amodra@bigpond.net.au>

	PR target/21098
	* config/rs6000/rs6000.c (rs6000_elf_end_indicate_exec_stack): New.
	* config/rs6000/linux64.h (TARGET_ASM_FILE_END): Use the above.

2005-04-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* system.h (fopen, fdopen, freopen): Define these to the unlocked
	libiberty functions.

2005-04-19  Andrew John Hughes  <gnu_andrew@member.fsf.org>

	* gnu/xml/dom/html2/DomHTMLParser.java:
	Changed 'enum' references to become 'enumeration'.

2005-04-19  Audrius Meskauskas  <audriusa@bluewin.ch>

	* gnu/xml/dom/html2/DomHTMLParser.java: New file.

2005-04-19  Andrew John Hughes  <gnu_andrew@member.fsf.org>

	* gnu/javax/swing/text/html/parser/htmlAttributeSet.java:
	(getAttributeNames()): Replaced 'enum' with 'enumeration'.
	* gnu/javax/swing/text/html/parser/htmlValidator.java:
	(validateParameters(TagElement,htmlAttributeSet)):
	Replaced 'enum' with 'enumeration'.
	(validateAttribute(TagElement,htmlAttributeSet,Enumeration,Enumeration)):
	Likewise.

2005-04-19  Audrius Meskauskas  <audriusa@bluewin.ch>

	* javax/swing/text/html/parser/Entity.java (getType): New method.
	* javax/swing/text/html/parser/DocumentParser.java:
	Inherit from javax.swing.text.html.parser.Parser.

2005-04-19  Chris Burdess  <dog@gnu.org>

	* gnu/xml/dom/html2/DomHTMLDocument.java: Fixed element creation and
	check for HTML/XHTML namespace.

2005-04-19  Audrius Meskauskas  <audriusa@bluewin.ch>

	* javax/swing/text/html/parser/Parser.java,
	javax/swing/text/html/parser/Entity.java:
	Inheriting from DTDConstants.
	* javax/swing/text/html/parser/AttributeList.java
	(getValues): Changed return type.
	* javax/swing/text/html/parser/DocumentParser
	(parse): Adding the callback parameter that receives
	the parsing events.

2005-04-19  Chris Burdess  <dog@gnu.org>

	* gnu/xml/dom/DomImpl.java,
	gnu/xml/dom/html2/DomHTMLAnchorElement.java,
	gnu/xml/dom/html2/DomHTMLDocument.java,
	gnu/xml/dom/html2/DomHTMLElement.java,
	gnu/xml/dom/html2/DomHTMLFormElement.java,
	gnu/xml/dom/html2/DomHTMLFrameElement.java,
	gnu/xml/dom/html2/DomHTMLIFrameElement.java,
	gnu/xml/dom/html2/DomHTMLImpl.java,
	gnu/xml/dom/html2/DomHTMLInputElement.java,
	gnu/xml/dom/html2/DomHTMLObjectElement.java,
	gnu/xml/dom/html2/DomHTMLOptionElement.java,
	gnu/xml/dom/html2/DomHTMLSelectElement.java,
	gnu/xml/dom/html2/DomHTMLTableCellElement.java,
	gnu/xml/dom/html2/DomHTMLTableElement.java,
	gnu/xml/dom/html2/DomHTMLTableRowElement.java,
	gnu/xml/dom/html2/DomHTMLTableSectionElement.java,
	gnu/xml/dom/html2/DomHTMLTextAreaElement.java: JAXP integration,
	UI events, and tree utility functions.

2005-04-19  Michael Koch  <konqueror@gmx.de>

	* gnu/javax/swing/text/html/parser/HTML_401F.java,
	gnu/javax/swing/text/html/parser/gnuDTD.java,
	gnu/javax/swing/text/html/parser/models/node.java:
	Reworked import statements.

2005-04-19  Audrius Meskauskas, Lithuania  <AudriusA@Bioinformatics.org>

	* javax/swing/text/html/HTMLDocument.java: New file.

2005-04-19  Michael Koch  <konqueror@gmx.de>

	* javax/swing/text/html/HTMLFrameHyperlinkEvent.java:
	Reformatted.
	* javax/swing/text/html/parser/AttributeList.java:
	Fixed order of modifiers.
	(AttributeList): Made final.
	* javax/swing/text/html/parser/ContentModel.java:
	Fixed html characters in javadocs.
	* javax/swing/text/html/parser/DTD.java
	(DTD): Don't implement java.io.Serializable directly.
	(getElement): Simplified.
	* javax/swing/text/html/parser/DTDConstants.java:
	Reformatted file.
	* javax/swing/text/html/parser/Element.java:
	Fixed order of modifiers.
	* javax/swing/text/html/parser/Parser.java:
	Reformatted. Don't use fully-qualified class names.
	* javax/swing/text/html/parser/ParserDelegator.java:
	Fixed order of modifiers.
	* javax/swing/text/rtf/RTFParser.java:
	Re-ordered import statements.
	* javax/swing/text/rtf/RTFScanner.java:
	Removed unused import statement.

2005-04-19  Chris Burdess  <dog@gnu.org>

	* gnu/xml/dom/html2/DomHTMLButtonElement.java,
	gnu/xml/dom/html2/DomHTMLCollection.java,
	gnu/xml/dom/html2/DomHTMLDocument.java,
	gnu/xml/dom/html2/DomHTMLElement.java: Extensions for new element
	types.
	* gnu/xml/dom/html2/DomHTMLDListElement.java,
	gnu/xml/dom/html2/DomHTMLDirectoryElement.java,
	gnu/xml/dom/html2/DomHTMLDivElement.java,
	gnu/xml/dom/html2/DomHTMLFieldSetElement.java,
	gnu/xml/dom/html2/DomHTMLFontElement.java,
	gnu/xml/dom/html2/DomHTMLFormElement.java,
	gnu/xml/dom/html2/DomHTMLFrameElement.java,
	gnu/xml/dom/html2/DomHTMLFrameSetElement.java,
	gnu/xml/dom/html2/DomHTMLHRElement.java,
	gnu/xml/dom/html2/DomHTMLHeadElement.java,
	gnu/xml/dom/html2/DomHTMLHeadingElement.java,
	gnu/xml/dom/html2/DomHTMLHtmlElement.java,
	gnu/xml/dom/html2/DomHTMLIFrameElement.java,
	gnu/xml/dom/html2/DomHTMLImageElement.java,
	gnu/xml/dom/html2/DomHTMLInputElement.java,
	gnu/xml/dom/html2/DomHTMLIsIndexElement.java,
	gnu/xml/dom/html2/DomHTMLLIElement.java,
	gnu/xml/dom/html2/DomHTMLLabelElement.java,
	gnu/xml/dom/html2/DomHTMLLegendElement.java,
	gnu/xml/dom/html2/DomHTMLLinkElement.java,
	gnu/xml/dom/html2/DomHTMLMapElement.java,
	gnu/xml/dom/ht