Commit Graph

52343 Commits

Author SHA1 Message Date
David Edelsohn
0a4f029430 linux64.h (PROCESSOR_DEFAULT64): Default to POWER4.
* config/rs6000/linux64.h (PROCESSOR_DEFAULT64): Default to POWER4.

        * config/rs6000/rs6000.c (rs6000_adjust_cost): dep_insn is used.

From-SVN: r87843
2004-09-22 00:05:12 -04:00
Mark Mitchell
1ae57298f9 c-decl.c (implicitly_declare): Call maybe_apply_renaming_pragma.
* c-decl.c (implicitly_declare): Call maybe_apply_renaming_pragma.
	(finish_decl): Likewise.

From-SVN: r87840
2004-09-22 02:24:06 +00:00
Devang Patel
ad9f20cbce tree.def (VEC_COND_EXPR): New tree node.
* tree.def (VEC_COND_EXPR): New tree node.
       * tree-ssa-operands.c (get_expr_operands): Handle VEC_COND_EXPR.

From-SVN: r87839
2004-09-21 18:16:20 -07:00
Ziemowit Laski
86c440722e objc-act.c (objc_fold_objc_type_ref): New function.
[gcc/objc/ChangeLog]
2004-09-21  Ziemowit Laski  <zlaski@apple.com>

        * objc-act.c (objc_fold_objc_type_ref): New function.
        * objc-act.h (objc_fold_objc_type_ref): New prototype.

From-SVN: r87838
2004-09-22 01:13:07 +00:00
Stan Shebs
76419821c6 darwin-tramp.asm: Add __ppc64__ case.
* config/rs6000/darwin-tramp.asm: Add __ppc64__ case.
        * config/rs6000/darwin-world.asm: Likewise.

From-SVN: r87836
2004-09-22 01:06:29 +00:00
Daniel Berlin
7bab95badb tree-ssa.c (verify_def): Use print_generic_stmt, not debug_generic_stmt.
2004-09-21  Daniel Berlin  <dberlin@dberlin.org>

	* tree-ssa.c (verify_def): Use print_generic_stmt,
	not debug_generic_stmt.
	(verify_use): Ditto.
	(verify_phi_args): Ditto.
	(verify_ssa): Ditto.

From-SVN: r87835
2004-09-22 01:03:40 +00:00
GCC Administrator
31b92e3226 Daily bump.
From-SVN: r87833
2004-09-22 00:16:17 +00:00
Paul Brook
a13fd90532 varasm.c (default_assemble_integer): Return false for values wider than the target word size.
* varasm.c (default_assemble_integer): Return false for values wider
	than the target word size.  Works around GAS bug.

From-SVN: r87827
2004-09-21 23:40:21 +00:00
Zack Weinberg
36952deadd parser.c (cp_lexer_peek_token, [...]): Don't handle CPP_PRAGMA tokens specially.
* parser.c (cp_lexer_peek_token, cp_lexer_consume_token):
	Don't handle CPP_PRAGMA tokens specially.
	(cp_lexer_handle_pragma): Use cp_lexer_consume_token.  Don't
	purge the token; do clear token->value after processing.  Add
	assertion at beginning that token->value is nonzero.
	(cp_parser_statement, cp_parser_declaration_seq_opt): Handle
	CPP_PRAGMA as a full statement or declaration in its own right.

From-SVN: r87822
2004-09-21 20:46:57 +00:00
Zack Weinberg
52c5701b4e reg-notes.def (REG_DEP_TRUE): New entry, place first so it gets value 0.
* reg-notes.def (REG_DEP_TRUE): New entry, place first so it
	gets value 0.
	* print-rtl.c (print_rtx): Print the name of a REG_NOTE even
	if it has value 0.

From-SVN: r87821
2004-09-21 20:34:43 +00:00
Matt Austern
e72222acd1 Fix bootstrap.
* gjavah.c (free_method_name_list): Fix function definition so
	it's a proper C prototype.

From-SVN: r87815
2004-09-21 18:27:29 +00:00
Matt Austern
6bdb98d1b0 re PR c++/15049 ([DR 278/132/216/338/389/319] global variables with anonymous types are legal)
PR c++/15049
	* cp/decl.c (grokvardecl): Accept declarations of global variables
	using anonymous types.
	* testsuite/g++.dg/other/anon3.C: New.

From-SVN: r87814
2004-09-21 17:24:44 +00:00
Tom Tromey
b8b639c915 re PR java/17575 (gcjh does not clear its function name cache between files)
PR java/17575:
	* gjavah.c (free_method_name_list): New method.
	(main): Call it.

From-SVN: r87812
2004-09-21 16:28:40 +00:00
Roger Sayle
d211a298ce re PR c++/7503 ((x < Y ? X : Y) used for assignment causes wrong code)
PR c++/7503
	* tree.c (lvalue_p_1):  Disallow MIN_EXPR and MAX_EXPR as lvalues
	if either operand has side-effects.
	* typeck.c (rationalize_conditional_expr): Assert that neither
	operand of MIN_EXPR or MAX_EXPR has side-effects.
	(build_modify_expr):  Add support for MIN_EXPR and MAX_EXPR.
	Check that the "lhs" is a valid lvalue, i.e. that neither operand
	of a MIN_EXPR or MAX_EXPR has a side-effect.

	* g++.dg/opt/pr7503-1.C: New testcase for COND_EXPR lvalues.
	* g++.dg/opt/pr7503-2.C: New testcase for <? and >? lvalues.
	* g++.dg/opt/pr7503-3.C: New testcase for invalid <? lvalue errors.
	* g++.dg/opt/pr7503-4.C: New testcase for <?= and >?= assignments.
	* g++.dg/opt/pr7503-5.C: New testcase for side-effects with <?=.

From-SVN: r87810
2004-09-21 16:20:12 +00:00
Daniel Berlin
f0c721ad7c c-typeck.c (build_function_call): Give name of object we are attempting to call in error message.
2004-09-21  Daniel Berlin <dberlin@dberlin.org>

	* c-typeck.c (build_function_call): Give name of object
	we are attempting to call in error message.
	* c-objc-common.c (c_tree_printer): Call pp_expression,
	not return false, for 'E' case.

From-SVN: r87809
2004-09-21 15:42:44 +00:00
Nathan Sidwell
5775a06aa6 cp-tree.h (struct lang_type_header): Remove uses_multiple_inheritance field.
* cp-tree.h (struct lang_type_header): Remove
	uses_multiple_inheritance field.
	(TYPE_USES_MULTIPLE_INHERITANCE): Remove.
	(TYPE_BASE_CONVS_MAY_REQUIRE_CODE_P): Remove.
	(TYPE_USES_VIRTUAL_BASECLASSES): Remove.
	(DECL_NEEDS_VTT_PARM_P): Use CLASSTYPE_VBASECLASSES.
	(TYPE_CONTAINS_VPTR_P): Likewise.
	* call.c (add_template_candidate_real): Use
	CLASSTYPE_VBASECLASSES.
	(build_special_member_call): Likewise.
	* class.c (finish_struct_bits): Remove
	TYPE_BASE_CONVS_MAY_REQUIRE_CODE_P & TYPE_USES_VIRTUAL_BASECLASSES
	bookkeeping.
	(check_bases_and_members): Use TYPE_CONTAINS_VPTR_P.
	(create_vtable_ptr): Remove TYPE_BASE_CONVS_MAY_REQUIRE_CODE_P
	bookkeeping.
	(build_vtt_inits): Use CLASSTYPE_VBASECLASSES.
	(accumulate_vtbl_inits, build_vbase_offset_vtbl_entries):
	Likewise.
	* decl.c (xref_basetypes): Remove TYPE_USES_MULTIPLE_INHERITANCE,
	TYPE_BASE_CONVS_MAY_REQUIRE_CODE_P, TYPE_USES_VIRTUAL_BASECLASSES
	bookkeeping.
	(cxx_maybe_build_cleanup): Use CLASSTYPE_VBASECLASSES.
	* decl2.c (maybe_retrofit_in_chrg): Likewise.
	* init.c (expand_member, push_base_cleanups): Likewise.
	* pt.c (instantiate_class_template): Remove
	TYPE_USES_MULTIPLE_INHERITANCE,
	TYPE_BASE_CONVS_MAY_REQUIRE_CODE_P, TYPE_USES_VIRTUAL_BASECLASSES
	bookkeeping.
	* ptree.c (cxx_print_type): Remove TYPE_USES_MULTIPLE_INHERITANCE
	check.
	* typeck2.c (process_init_constructor): Replace some sorrys with
	asserts.

From-SVN: r87808
2004-09-21 15:39:00 +00:00
Olivier Hainque
2494e67370 decl.c (gnat_to_gnu_entity): Check for a dummy designated type via TYPE_MODE instead of COMPLETE_TYPE_P.
2004-09-21  Olivier Hainque  <hainque@act-europe.fr>

	* decl.c (gnat_to_gnu_entity) <E_General_Access_Type>: Check for a
	dummy designated type via TYPE_MODE instead of COMPLETE_TYPE_P. This
	ensures proper handling of types with rep clauses, which might have
	their TYPE_SIZE set already.

From-SVN: r87807
2004-09-21 17:34:36 +02:00
Robert Dewar
910d20fcb8 decl.c (gnat_to_gnu_type, [...]): Wrap modular packed array types in both little- and big-endian cases.
2004-09-21  Robert Dewar  <dewar@gnat.com>

	* decl.c (gnat_to_gnu_type, case E_Modular_Integer_Type): Wrap modular
	packed array types in both little- and big-endian cases. This change
	ensures that we no longer count on the unused bits being initialized
	for such types (and in particular ensures that equality testing will
	only read the relevant bits).
	Change name TYPE_LEFT_JUSTIFIED_MODULAR_P to TYPE_JUSTIFIED_MODULAR_P
	These changes mean that we no longer need to initialize small packed
	arrays.
	(gnat_to_gnu_entity) <E_Record_Subtype>: Apply the same
	optimization to an LJM field as to its parent field.

	* ada-tree.h:, trans.c, utils.c, utils2.c:
	Change name TYPE_LEFT_JUSTIFIED_MODULAR_P to TYPE_JUSTIFIED_MODULAR_P

From-SVN: r87806
2004-09-21 17:31:03 +02:00
Bud Davis
77747e5f2d re PR libfortran/17286 (namelist containing more than one value cannot contain whitespace or newlines for READ)
2004-09-21  Bud Davis  <bdavis9659@comcast.net>

        PR fortran/17286
        * io/list_read.c (namelist_read): ignore spaces after
        the '=' for namelist reads.

2004-09-21  Bud Davis  <bdavis9659@comcast.net>

        PR fortran/17286
        * gfortran.dg/pr17286.f90: New test.

From-SVN: r87799
2004-09-21 11:22:47 +00:00
Andreas Tobler
b6ad178e2e decl.c (reshape_init_array): Initialize max_index_cst to fix bootstrap failure.
2004-09-21  Andreas Tobler  <a.tobler@schweiz.ch>

	* decl.c (reshape_init_array): Initialize max_index_cst to fix
	bootstrap failure.

From-SVN: r87798
2004-09-21 11:22:00 +02:00
Steven Bosscher
c93320c457 re PR rtl-optimization/17482 (GCSE after reload replacing changing instructions)
PR rtl-optimization/17482
	* postreload-gcse.c (reg_avail_info, oprs_unchanged_p,
	load_killed_in_block_p): Clarify comments.
	(record_last_reg_set_info): Make static inline.
	(mark_call, mark_set, mark_clobber, mark_oprs_set): Remove.
	(record_opr_changes): New function to replace the above.
	(compute_hash_table): Clarify comments.  Use record_opr_changes.
	(reg_set_between_after_reload_p): Clean up.
	(reg_used_between_after_reload_p): Likewise.
	(eliminate_partially_redundant_load): Clarify comments.

From-SVN: r87794
2004-09-21 07:48:29 +00:00
Eric Botcazou
15ee342b73 re PR rtl-optimization/17266 (Libgfortran doesn't build)
PR rtl-optimization/17266
	* regmove.c (optimize_reg_copy_3): Make a new SUBREG for each insn.

From-SVN: r87793
2004-09-21 05:57:55 +00:00
Mark Mitchell
9b60dfd716 re PR c++/17530 (failure to emit inline function)
PR c++/17530
	* pt.c (tsubst): Fix parentheses to accomodate emacs.
	(tsubst_baselink): If we get a single function, mark it as used.

	PR c++/17530
	* g++.dg/template/static7.C: New test.

From-SVN: r87791
2004-09-21 05:44:10 +00:00
Uros Bizjak
79b82df36c re PR rtl-optimization/14851 (suboptimal fp division with -ffast-math)
PR rtl-optimization/14851
        * rtlanal.c (commutative_operand_precedence): Calculate
        precedence of stripped constant.

From-SVN: r87788
2004-09-21 07:10:54 +02:00
Jeff Law
6f2aec072e tree-ssanames.c (make_ssa_name): No longer need to clear, then initialize key elements here.
* tree-ssanames.c (make_ssa_name): No longer need to clear, then
	initialize key elements here.
	(release_ssa_name): Zero the released SSA_NAME here.
	* tree.h (SSA_NAME_EQUIV, SET_SSA_NAME_EQUIV): New macros.
	(struct tree_ssa_name): Add new "equiv" field.
	* tree-ssa-dom.c (const_and_copies): Kill the global varray.
	(tree_ssa_dominator_optimize): No longer allocate, resize or
	clear CONST_AND_COPIES.
	(get_value_for, set_value_for): Kill.
	(thread_across_edge): Get/set the equivalency using
	SSA_NAME_EQUIV and SET_SSA_NAME_EQUIV.
	(restore_vars_to_original_value): Likewise.
	(record_equivalences_from_phis): Likewise.
	(record_dominating_conditions): Likewise.
	(record_const_or_copy, record_equality): Likewise.
	(lookup_avail_expr): Likewise.
	(record_equivalences_from_stmt, cprop_operand): Likewise.
	(cprop_into_successor_phis): No longer need to pass around
	CONST_AND_COPIES.  Callers updated. Get equivalences via
	SSA_NAME_EQUIV.
	(cprop_into_phis): Likewise.

Co-Authored-By: Jan Hubicka <jh@suse.cz>

From-SVN: r87787
2004-09-20 21:19:00 -06:00
Matt Austern
c162c75e43 c-common.c (fix_string_type): Build the unqualified array type unconditionally...
2004-09-20  Matt Austern <austern@apple.com>
	    Zack Weinberg  <zack@codesourcery.com>

	* c-common.c (fix_string_type): Build the unqualified array
	type unconditionally, then use c_build_qualified_type to get
	the proper const-qualified variant, and set its
	TYPE_MAIN_VARIANT to refer to the unqualified type.
	* c-lex.c (c_lex_return_raw_string): New global.
	(c_lex_with_flags): Honor it.
	* c-pragma.h: Declare it.

cp:
	* decl.c (make_rtl_for_nonlocal_decl, start_preparsed_function):
	Apply lbasename to input_filename before passing to get_fileinfo.
	* semantics.c (begin_class_definition): Likewise.
	* lex.c (handle_pragma_interface): Apply get_fileinfo to the
	correct filename.  Rename variables to be less confusing.
	(handle_pragma_implementation): Likewise.  Disable "appears
	after file is included" diagnostic.

	* parser.c (struct cp_token): Add in_system_header fiag.
	(CP_TOKEN_BLOCK_NUM_TOKENS, struct cp_token_block)
	(CP_TOKEN_BUFFER_SIZE, cp_token_cache_push_token)
	(CPP_NONE, cp_lexer_read_token): Delete.
	(struct cp_lexer): Remove first_token, string_tokens,
	main_lexer_p fields.  Clarify comments.
	(struct cp_token_cache): Now just a pair of pointers.
	(CP_LEXER_BUFFER_SIZE): New #define.
	(CPP_PURGED): New fake token type.
	(cp_lexer_new_from_token_array, cp_lexer_destroy)
	(cp_lexer_peek_token_emit_debug_info, cp_lexer_skip_purged_tokens)
	(cp_lexer_handle_pragma, cp_token_cache_new, cp_parser_string_literal):
	New functions.
	(cp_lexer_new_from_tokens): Now a simple wrapper around
	cp_lexer_new_from_token_array.
	(cp_lexer_set_source_position_from_token): Also update
	in_system_header.
	(cp_lexer_next_token, cp_lexer_prev_token, cp_lexer_advance_token):
	Don't wrap round.
	(cp_lexer_token_difference): Dont handle wrapping round.
	(cp_lexer_new_main): Enable pragma deferral and raw strings,
	read the entire translation unit through c_lex_with_flags into
	this lexer's buffer, then turn raw strings back off again.
	(cp_lexer_grow_buffer): Adjust for buffer no longer being circular.
	(cp_lexer_get_preprocessor_token): No need to handle not being
	the main lexer.  Set token->in_system_header too.
	(cp_lexer_peek_token): Skip purged tokens.  Feed pragma tokens
	to cp_lexer_handle_pragma.  No need to call cp_lexer_read_token.
	(cp_lexer_peek_nth_token): Likewise.
	(cp_lexer_purge_token): Mark the token PURGED, don't shift all
	the other tokens down.
	(cp_lexer_purge_tokens_after): Likewise.
	(cp_lexer_save_tokens, cp_lexer_rollback_tokens): Don't worry
	about there being no tokens.
	(cp_lexer_print_token): Revise to give useful information on
	all tokens.
	(struct cp_parser): Add field translate_strings_p.
	(cp_parser_new): Initialize it.
	(cp_parser_translation_unit): Destroy the lexer when done.
	(cp_parser_parameter_declaration): Restructure saving of
	default arguments.
	(cp_parser_save_member_function_body): Likewise.
	(cp_parser_check_for_invalid_template_id)
	(cp_parser_nested_name_specifier_opt, cp_parser_template_id):
	Adjust calls to cp_lexer_advance_token.
	(cp_parser_skip_to_closing_parenthesis, cp_parser_declaration):
	No need to fiddle c_lex_string_translate.
	(cp_parser_primary_expression, cp_parser_linkage_specification)
	(cp_parser_asm_definition, cp_parser_asm_specification_opt)
	(cp_parser_asm_operand_list, cp_parser_asm_clobber_list)
	Use cp_parser_string_literal.
	(cp_parser_attribute_list): Save and restore
	parser->translate_strings_p, not c_lex_string_translate.
	(cp_parser_cache_group): Delete.
	(cp_parser_cache_group_1): Rename cp_parser_cache_group.  Do
	not take a cache argument.

From-SVN: r87786
2004-09-21 02:22:45 +00:00
Daniel Berlin
5cfa876635 Makefile.in: Fix flags.h dependencies to be $(FLAGS_H).
2004-09-20  Daniel Berlin  <dberlin@dberlin.org>

	* Makefile.in: Fix flags.h dependencies to be $(FLAGS_H).

From-SVN: r87785
2004-09-21 01:00:11 +00:00
GCC Administrator
d6c0b27afa Daily bump.
From-SVN: r87783
2004-09-21 00:16:13 +00:00
Jan Hubicka
d21bede3c1 re PR middle-end/17126 (ICE with -fno-unit-at-a-time and -O3)
PR middle-end/17126
	* tree-optimize.c (update_inlined_to_pointers): Fix the recursion.
	(tree_rest_of_compilation): Cleanup.

From-SVN: r87780
2004-09-21 00:08:53 +00:00
Ulrich Weigand
37337e55bf s390.c (s390_select_rtx_section): Remove.
* config/s390/s390.c (s390_select_rtx_section): Remove.
	(TARGET_ASM_SELECT_RTX_SECTION): Do not redefine.

From-SVN: r87779
2004-09-20 23:42:00 +00:00
Kaz Kojima
455786b6c7 sh.c (sh_expand_prologue): Add a REG_FRAME_RELATED_EXPR note to pretend a direct save from the original...
* config/sh/sh.c (sh_expand_prologue): Add a REG_FRAME_RELATED_EXPR
	note to pretend a direct save from the original register when an
	intermediate register is used for the save.

From-SVN: r87778
2004-09-20 23:10:00 +00:00
Giovanni Bajo
3d142be23b re PR c++/14179 (out of memory while parsing array with many initializers)
PR c++/14179
	* decl.c (reshape_init): Extract array handling into...
	(reshape_init_array): New function. Use integers instead of trees
	for indices. Handle out-of-range designated initializers.

From-SVN: r87777
2004-09-20 23:05:40 +00:00
Kaveh R. Ghazi
2c82eecc78 tsystem.h (alloca): Provide a default definition.
* tsystem.h (alloca): Provide a default definition.

	Revert:
	2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
	    * unwind-dw2.c: Call __builtin_alloca, not alloca.

From-SVN: r87775
2004-09-20 22:23:12 +00:00
Steven Bosscher
d3907cc356 lex.c (cxx_init): Don't set the ridpointer for RID_NULL to null_node.
* lex.c (cxx_init): Don't set the ridpointer for RID_NULL
	to null_node.

From-SVN: r87774
2004-09-20 21:03:56 +00:00
Andrew Pinski
4c9d875031 re PR tree-optimization/17558 (internal compiler error: in merge_alias_info, at tree-ssa-copy.c:182)
2004-09-20  Andrew Pinski  <pinskia@physics.uc.edu>

        PR tree-opt/17558
        * gcc.c-torture/compile/pr17558.c: New test.

From-SVN: r87773
2004-09-20 13:58:23 -07:00
Andrew Pinski
b1940f0c23 re PR tree-optimization/17558 (internal compiler error: in merge_alias_info, at tree-ssa-copy.c:182)
2004-09-20  Andrew Pinski  <pinskia@physics.uc.edu>

        PR tree-opt/17558
        * tree-ssa-copy.c (may_propagate_copy): Only allow if the
        aliasing sets are the same rather than just conflicting.

From-SVN: r87772
2004-09-20 13:53:08 -07:00
Jan Hubicka
1a94c545f0 cgraph.c (cgraph_unnest_node): New function.
* cgraph.c (cgraph_unnest_node): New function.
	(c_finalize): Rename to ....
	(c_warn_unused_result_recursivly): ... this one; do only the warning
	(finish_function): Finalize the toplevel function; do not lower nested tree.
	* cgraph.h (cgraph_unnest_node): Declare.
	* cgraphunit.c (decide_is_function_needed): Do not use cgraph
	nestedness datastructure.
	* cse.c (cse_insn): Do not cprop nonlocal LABEL_REFs.
	* reload1.c (set_label_offsets): Fix call of set_label_offsets.
	* tree-nested.c (finlize_nesting_tree_1):  Use un-nesting code.

From-SVN: r87771
2004-09-20 20:41:20 +00:00
Jan Hubicka
8f2353433c re PR middle-end/16460 (ICE when compiling glibc (ld-ctype.c))
PR middle-end/16460

	* cgraph.c (cgraph_unnest_node): New function.
	(c_finalize): Rename to ....
	(c_warn_unused_result_recursivly): ... this one; do only the warning
	(finish_function): Finalize the toplevel function; do not lower nested tree.
	* cgraph.h (cgraph_unnest_node): Declare.
	* cgraphunit.c (decide_is_function_needed): Do not use cgraph
	nestedness datastructure.
	* cse.c (cse_insn): Do not cprop nonlocal LABEL_REFs.
	* reload1.c (set_label_offsets): Fix call of set_label_offsets.
	* tree-nested.c (finlize_nesting_tree_1):  Use un-nesting code.

	* utils.c (gnat_finalize): Remove.
	(end_subprog_body): Directly call cgraph_finalize_function;
	do not lower the nested functions.

	* trans-decl.c (build_entry_thunks): Finalize the function; do not lower
	tree.
	(gfc_generate_function_code): Likewise.

From-SVN: r87770
2004-09-20 20:38:29 +00:00
Richard Henderson
04161e2bde alpha.c (some_small_symbolic_operand_int): Rename from some_small_symbolic_operand_1; export.
* config/alpha/alpha.c (some_small_symbolic_operand_int): Rename
        from some_small_symbolic_operand_1; export.
        (some_small_symbolic_operand): Remove.
        * config/alpha/alpha.md (some_small_symbolic_operand splitter): Remove
        extra C check.
        * config/alpha/predicates.md (some_small_symbolic_operand): New.

From-SVN: r87769
2004-09-20 13:13:39 -07:00
Jan Hubicka
bb033fd806 predict.c (return_prediction): New function.
* predict.c (return_prediction): New function.
	(apply_return_prediction): Likewise.
	(tree_bb_level_predictions): Likewise.
	(tree_estimate_probability): Add noreturn exit edges; call
	bb_level_predictions; fix logic of return heuristics.
	(predict_paths_leading_to):  Rescuesce from old CVS version of
	process_note_prediction function.
	* predict.def (PRED_TREE_EARLY_RETURN): New predictor.

From-SVN: r87768
2004-09-20 18:43:30 +00:00
Richard Sandiford
348f5701fc sdata-section.h (SDATA_SECTION): Don't use an attribute if SKIP_ATTRIBUTE is defined.
* gcc.dg/compat/sdata-section.h (SDATA_SECTION): Don't use an attribute
	if SKIP_ATTRIBUTE is defined.

From-SVN: r87766
2004-09-20 18:02:53 +00:00
Andreas Krebbel
ea50629789 s390.c (s390_frame_info): Added alignment statement for floating point register area on stack.
2004-09-20  Andreas Krebbel  <krebbel1@de.ibm.com>

	* config/s390/s390.c (s390_frame_info): Added alignment statement for
	floating point register area on stack.

From-SVN: r87765
2004-09-20 17:25:39 +00:00
Tobias Schlüter
da89fba81f re PR fortran/15957 (Error in array assignments; 'shape'-related stuff)
fortran/
PR fortran/15957
* simplify.c (gfc_simplify_reshape): Set shape of return value
correctly.

testsuite/
PR fortran/15957
* gfortran.dg/pr15957.f90: New test.

From-SVN: r87764
2004-09-20 19:22:50 +02:00
Jakub Jelinek
096759ebec * predict.c (expr_expected_value): Use *_CLASS_P macros.
From-SVN: r87763
2004-09-20 18:56:12 +02:00
Dorit Naishlos
1cdcb2cfd1 vect-74.c: Avoid floating point precision error in comparison.
* gcc.dg/vect/vect-74.c: Avoid floating point precision error
        in comparison.
        * gcc.dg/vect/vect-79.c: Likewise.
        * gcc.dg/vect/vect-80.c: Likewise.

From-SVN: r87762
2004-09-20 16:26:24 +00:00
Daniel Berlin
d6fd4b8d11 tree-ssa-pre.c (compute_antic_aux): Use malloc'd worklist, to avoid generating useless garbage.
2004-09-20  Daniel Berlin  <dberlin@dberlin.org>

	* tree-ssa-pre.c (compute_antic_aux): Use malloc'd worklist, to avoid
	generating useless garbage.

From-SVN: r87760
2004-09-20 15:45:21 +00:00
Paolo Bonzini
c2dda19b3b builtins.c (fold_builtin): Call the new omonymous target hook for machine-dependent built-ins.
2004-09-20  Paolo Bonzini  <bonzini@gnu.org>

	* builtins.c (fold_builtin): Call the new omonymous
	target hook for machine-dependent built-ins.
	* target-def.h (TARGET_FOLD_BUILTIN): New.
	* target.h (struct gcc_target): Add the fold_builtin hook.
	* targhooks.c (default_fold_builtin): New.
	* targhooks.h (default_fold_builtin): Declare it.

From-SVN: r87756
2004-09-20 14:47:20 +00:00
Robert Dewar
bb9be5eb9c re PR ada/17540 (Duplicate symbols while building Ada)
2004-09-20  Robert Dewar  <dewar@gnat.com>

	PR ada/17540

	* freeze.adb (Check_Address_Clause): Reset Is_Imported and Is_Public
	if an address clause is present, since that means that the Import
	should be ignored.

From-SVN: r87755
2004-09-20 14:07:47 +02:00
Kazu Hirata
d4a9b3a336 cfg.c, [...]: Fix comment typos.
* cfg.c, tree-ssa-threadupdate.c, tree-vectorizer.c: Fix
	comment typos.

From-SVN: r87753
2004-09-20 11:17:22 +00:00
Tobias Schlüter
b898b8d923 re PR fortran/15750 (IOLENGTH form of INQUIRE statement not implemented)
PR fortran/15750
* gfortran.fortran-torture/execute/iolength_2.f90: New test.

From-SVN: r87752
2004-09-20 13:09:47 +02:00
Arnaud Charlet
796ef2e2d5 * 5tsystem.ads: Removed, no longer used.
From-SVN: r87751
2004-09-20 10:43:00 +02:00
Ira Rosen
479b66524f vect-13.c: Added xfail for non ppc platforms.
2004-09-20  Ira Rosen  <irar@il.ibm.com>

        * gcc.dg/vect/vect-13.c: Added xfail for non ppc platforms.
        * gcc.dg/vect/vect-74.c: Split into 3 tests (vect-79.c, vect-80.c).
        * gcc.dg/vect/vect-62.c: New testcase.
        * gcc.dg/vect/vect-63.c: New testcase.
        * gcc.dg/vect/vect-64.c: New testcase.
        * gcc.dg/vect/vect-65.c: New testcase.
        * gcc.dg/vect/vect-66.c: New testcase.
        * gcc.dg/vect/vect-67.c: New testcase.
        * gcc.dg/vect/vect-68.c: New testcase.
        * gcc.dg/vect/vect-69.c: New testcase.
        * gcc.dg/vect/vect-79.c: New testcase.
        * gcc.dg/vect/vect-80.c: New testcase.

From-SVN: r87745
2004-09-20 07:17:06 +00:00
Richard Sandiford
073cbad3bb re PR target/17565 ([3.3 only] asms in delay slots)
PR target/17565
	* config/mips/mips.md (define_asm_attributes): Set can_delay to no.

From-SVN: r87744
2004-09-20 06:54:52 +00:00
GCC Administrator
82b0258299 Daily bump.
From-SVN: r87739
2004-09-20 00:16:14 +00:00
Jan Hubicka
58016611d8 * predict.c (estimate_probability): Remove unnecesary code.
From-SVN: r87736
2004-09-20 00:05:38 +00:00
Mark Mitchell
5bd916325a decl2.c (determine_visibility): Allow class visibility directives to override targetm.cxx.export_class_data.
* decl2.c (determine_visibility): Allow class visibility
	directives to override targetm.cxx.export_class_data.

[[Split portion of a mixed commit.]]

From-SVN: r87735.2
2004-09-19 23:18:19 +00:00
Ira Rosen
6775f1f3a7 tree-vectorizer.h (stmt_vec_info): Add vect_dr_base field.
2004-09-19  Ira Rosen  <irar@il.ibm.com>

        * tree-vectorizer.h (stmt_vec_info): Add vect_dr_base field.
        (STMT_VINFO_VECT_DR_BASE): Declare.
        (VECT_SMODULO): Declare.
        * tree-vectorizer.c (vect_compute_array_ref_alignment): New function.
        (vect_compute_array_base_alignment): New function.
        (vect_analyze_data_ref_access): Check array indices. Remove one
        dimensional arrays restriction.
        (vect_get_ptr_offset): New function.
        (vect_get_symbl_and_dr): New function.
        (vect_get_base_and_bit_offset): Support additional data refs. Renamed
        (former name vect_get_base_decl_and_bit_offset).
        (vect_create_index_for_array_ref): Removed.
        (vect_create_index_for_vector_ref): New function.
        (vect_create_addr_base_for_vector_ref): New function.
        (vect_create_data_ref): Handle additional data refs. Call
        vect_create_index_for_vector_ref and vect_create_addr_base_for_vector_ref.
        (vect_compute_data_ref_alignment): Support the changes. Call
        vect_get_base_and_bit_offset.
        (vect_analyze_data_refs): Call vect_get_symbl_and_dr. Support additional
        data refs. Store vect_dr_base.
        (vect_analyze_data_ref_accesses): Support nonconstant init.
        (new_stmt_vec_info): Initialize vect_dr_base field.
        (vect_is_simple_iv_evolution): Call initial_condition_in_loop_num.
        (get_vectype_for_scalar_type): Check for BLKmode.
        * tree-chrec.h (initial_condition_in_loop_num): Declare.
        * tree-chrec.c (initial_condition_in_loop_num): New function.
        (chrec_component_in_loop_num): New function.
        (evolution_part_in_loop_num): Call chrec_component_in_loop_num.
        * tree-data-ref.c (analyze_array_indexes): Change parameter (access_fns)
        to be pointer to varray_type.

From-SVN: r87731
2004-09-19 18:01:51 +00:00
Jan Hubicka
15db5571d1 basic-block.h (update_bb_profile_after_threading): Declare.
* basic-block.h (update_bb_profile_after_threading): Declare.
	* cfg.c (update_bb_profile_after_threading): Break out from ...
	* cfgcleanup.c (try_forward_edges): ... here; use it.
	* tree-ssa-dom.c (thread_across_edge): Use it.
	* tree-ssa-threadupdate.c (create_block_for_threading): Zero out
	profile of the new BB.

From-SVN: r87730
2004-09-19 16:04:03 +00:00
Daniel Berlin
9714133875 tree-ssa-pre.c (insert_into_set): Don't put is_gimple_min_invariant values into the set.
2004-09-19  Daniel Berlin  <dberlin@dberlin.org>

	* tree-ssa-pre.c (insert_into_set): Don't put
	is_gimple_min_invariant values into the set.

From-SVN: r87725
2004-09-19 13:57:35 +00:00
Andreas Jaeger
76fd4fd7e2 tree-ssa-dom.c (restore_nonzero_vars_to_original_value): Fix prototype.
* tree-ssa-dom.c (restore_nonzero_vars_to_original_value): Fix
	prototype.

From-SVN: r87721
2004-09-19 08:09:41 +02:00
Kazu Hirata
938688cdf7 cris.h: Preserve the original spelling in a quote.
* config/cris/cris.h: Preserve the original spelling in a
	quote.

From-SVN: r87720
2004-09-19 04:02:34 +00:00
Jeff Law
fdabe5c2ef tree-ssa-dom.c (nonzero_vars_stack, [...]): New global varrays to replace the block local varrays.
* tree-ssa-dom.c (nonzero_vars_stack, vrp_variables_stack): New
	global varrays to replace the block local varrays.
	(struct dom_walk_block_data): Remove, no longer used.
	(get_eq_expr_value): No longer need to pass around pointers to local
	varrays.  Callers updated.  Unused markers added to unused parameters.
	(record_range, record_equivalences_from_stmt): Likewise.
	(record_equivalences_from_incoming_edge): Likewise.
	(record_var_is_nonzero): Likewise.  Update now that we have a
	single global varray of SSA_NAMEs that need restoring.
	(dom_opt_initialize_block_local_data): Kill, no longer used.
	(tree_ssa_dominator_optimize): Initialize new global varrays.
	Update callbacks in dominator walker structure.
	(dom_opt_initialize_block): Add markers to NONZERO_VAR_STACK and
	VRP_VARIABLES_STACK.
	(restore_nonzero_vars_to_original_value): Update now that we have
	a single global varray of SSA_NAMEs that need restoring.
	(dom_opt_finalize_block): Similarly for VRP_VARIABLES_STACK.
	Remove unused variables.
	(optimize_stmt): Remove unused variable.

From-SVN: r87719
2004-09-18 20:51:15 -06:00
GCC Administrator
4557647703 Daily bump.
From-SVN: r87717
2004-09-19 00:16:13 +00:00
Paul Brook
16d1b0bd17 * g++.old-deja/g++.pt/static11.C: XFAIL on arm*-*-eabi.
From-SVN: r87712
2004-09-18 22:58:12 +00:00
Jan Hubicka
4d539f6875 * tree-cfg.c (thread_jumps): Fix updating of the profile.
From-SVN: r87709
2004-09-18 21:54:53 +00:00
Jan Hubicka
0eac5febe6 tree-optimize.c (tree_rest_of_compilation): Kill forgotten verify_cgraph call.
* tree-optimize.c (tree_rest_of_compilation): Kill forgotten
	verify_cgraph call.

From-SVN: r87708
2004-09-18 21:53:00 +00:00
Kazu Hirata
454ff5cbf0 alias.c, [...]: Fix comment typos.
* alias.c, crtstuff.c, dbxout.c, domwalk.c, domwalk.h, gcc.c,
	gcse.c, global.c, lambda-code.c, loop.c, mips-tdump.c,
	optabs.h, predict.c, reg-stack.c, regclass.c, sched-rgn.c,
	tree-optimize.c, tree-ssa-dom.c, tree-ssa-forwprop.c,
	tree-ssa-operands.c, tree-ssa-phiopt.c,
	tree-ssa-threadupdate.c: Fix comment typos.

From-SVN: r87707
2004-09-18 19:47:10 +00:00
Kazu Hirata
112cdef5e6 darwin-c.c, [...]: Fix comment typos.
* config/darwin-c.c, config/arc/arc.c, config/arc/arc.md,
	config/arm/README-interworking, config/arm/arm-cores.def,
	config/arm/arm.c, config/arm/arm.h, config/arm/pe.c,
	config/arm/vfp.md, config/c4x/c4x.c, config/c4x/c4x.h,
	config/cris/cris.c, config/cris/cris.h, config/fr30/fr30.c,
	config/fr30/fr30.h, config/fr30/fr30.md, config/frv/frv.c,
	config/frv/frv.md, config/i386/winnt.c,
	config/ia64/unwind-ia64.c, config/iq2000/iq2000.c,
	config/iq2000/iq2000.h, config/m68hc11/m68hc11.c,
	config/m68hc11/m68hc11.md, config/m68k/m68k.c,
	config/mcore/mcore.c, config/mips/mips.h,
	config/mn10300/mn10300.md, config/pa/pa.c,
	config/pa/pa64-regs.h, config/pdp11/pdp11.c,
	config/rs6000/rs6000.c, config/sh/symbian.c,
	config/sparc/sparc.h: Fix comment typos.  Follow spelling
	conventions.

From-SVN: r87706
2004-09-18 19:19:40 +00:00
Joseph Myers
ad97f4bed6 re PR c/17424 (ICE with sizeof an undeclared variable)
PR c/17424
	* c-typeck.c (c_expr_sizeof_expr): Check for error_mark_node.

testsuite:
	* gcc.dg/pr17424-1.c: New test.

From-SVN: r87705
2004-09-18 19:28:14 +01:00
Kazu Hirata
5995ebfb56 call.c, [...]: Follow spelling conventions.
* call.c, semantics.c: Follow spelling conventions.
	* class.c: Fix a comment typo.

From-SVN: r87704
2004-09-18 17:23:59 +00:00
Diego Novillo
57e28d7d76 tree-ssa-alias.c (setup_pointers_and_addressables): Don't remove TREE_ADDRESSABLE from RESULT_DECL.
* tree-ssa-alias.c (setup_pointers_and_addressables): Don't
	remove TREE_ADDRESSABLE from RESULT_DECL.

testsuite/ChangeLog

	* g++.dg/tree-ssa/pr17153.C: New test.

From-SVN: r87703
2004-09-18 09:56:23 -04:00
Diego Novillo
d804d49087 * tree-ssa-alias.c (dump_alias_info): Ignore NULL SSA_NAMEs.
From-SVN: r87702
2004-09-18 09:53:31 -04:00
Jan Hubicka
8b547e44f7 tree-into-ssa.c (rewrite_ssa_into_ssa): Expect ssa_name to return NULL.
* tree-into-ssa.c (rewrite_ssa_into_ssa):  Expect ssa_name to return
	NULL.
	* tree-ssa-alias.c (init_alias_info): Likewise.
	* tree-ssa.c (verify_flow_sensitive_alias_info): Likewise.
	(verify_ssa): Likewise.
	* tree-ssanames.c (make_ssa_name): Clear out ssa_names arrays.

From-SVN: r87698
2004-09-18 07:31:30 +00:00
Jan Hubicka
b8771ace10 i386.c (legitimize_pic_address): Fix splitting of PLUS with huge offset.
* i386.c (legitimize_pic_address): Fix splitting of PLUS with
	huge offset.

From-SVN: r87697
2004-09-18 07:29:06 +00:00
Kaz Kojima
f4966f8cab linux.h (ASM_PREFERRED_EH_DATA_FORMAT): Remove.
* config/sh/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): Remove.
	* config/sh/sh.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
	DW_EH_PE_sdata* for data.
	(ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Likewise.

From-SVN: r87696
2004-09-18 06:43:09 +00:00
Geoffrey Keating
a396f8ae24 re PR pch/13361 (const wchar_t * strings not stored in pch)
* tree-inline.c (copy_tree_r): Don't duplicate constants, they're
	shared anyway.

	PR pch/13361
	* c-typeck.c (constructor_asmspec): Delete.
	(struct initializer_stack): Delete field 'asmspec'.
	(start_init): Delete saving of asmspec.
	(finish_init): Don't update constructor_asmspec.
	* dwarf2out.c (rtl_for_decl_location): Duplicate string from tree.
	* stmt.c (expand_asm): Duplicate strings from tree.
	(expand_asm_operands): Likewise.
	* tree.c (tree_size): Update computation of size of STRING_CST.
	(make_node): Don't make STRING_CST nodes.
	(build_string): Allocate string with tree node.
	(tree_code_size): Clean up assertions, don't allow requests
	for "the size of a STRING_CST".
	* tree.def (STRING_CST): Update comment.
	* tree.h (TREE_STRING_POINTER): Adjust for change to STRING_CST.
	(tree_string): Place contents of string in tree node.
	* config/sh/sh.c (sh_handle_sp_switch_attribute): Duplicate string
	from tree.

From-SVN: r87695
2004-09-18 05:50:52 +00:00
Zack Weinberg
9aa44508a8 Makefile.in (c-parse.o): Depend on $(C_PRAGMA_H).
* Makefile.in (c-parse.o): Depend on $(C_PRAGMA_H).
	* objc/Make-lang.in (objc/objc-parse.o): Likewise.

From-SVN: r87689
2004-09-18 01:07:25 +00:00
Jones Desougi
bf3b7cd307 configure.ac: Replace AC_COMPILE_CHECK_SIZEOF with AC_CHECK_SIZEOF.
2004-09-17  Jones Desougi  <jones@ingate.com>

	* configure.ac: Replace AC_COMPILE_CHECK_SIZEOF with AC_CHECK_SIZEOF.
	* configure, config.in: Regenerate.

From-SVN: r87686
2004-09-18 00:50:15 +00:00
Zack Weinberg
b85e3643cc tree.c, tree.h (tree_class_strings): Make array const.
* tree.c, tree.h (tree_class_strings): Make array const.
	Reindent per coding convention.  Move asterisk to proper place
	per coding convention.

From-SVN: r87685
2004-09-18 00:43:42 +00:00
GCC Administrator
e407d8cb49 Daily bump.
From-SVN: r87683
2004-09-18 00:16:19 +00:00
Andreas Schwab
6e3363336b Makefile.in (gimple-low.o): Depend on $(EXPR_H).
* Makefile.in (gimple-low.o): Depend on $(EXPR_H).
	(tree-vectorizer.o): Likewise.
	(targhooks.o): Likewise.

From-SVN: r87676
2004-09-17 22:14:58 +00:00
Jeffrey D. Oldham
6615c44615 alias.c (find_base_decl): Remove unreachable case '3' block.
2004-09-17  Jeffrey D. Oldham  <oldham@codesourcery.com>
	    Zack Weinberg  <zack@codesourcery.com>

	* alias.c (find_base_decl): Remove unreachable case '3' block.
	* expr.c (safe_from_p): Abort if passed a type.
	* tree-gimple.c (recalculate_side_effects): Abort if passed
	anything other than an expression.
	* tree-ssa-pre.c (phi_translate): Return expr immediately if
	is_gimple_min_invariant is true for it.  Reorder cases for clarity.
	Abort on un-handled tree classes.
	(valid_in_set): Likewise.
	* tree.c (tree_code_class_strings): New static data.

	* tree.h (enum tree_code_class): New.
	(tree_code_class_strings): Declare.
	(TREE_CODE_CLASS_STRING, EXCEPTIONAL_CLASS_P, CONSTANT_CLASS_P)
	(REFERENCE_CLASS_P, COMPARISON_CLASS_P, UNARY_CLASS_P, BINARY_CLASS_P)
	(STATEMENT_CLASS_P, EXPRESSION_CLASS_P, IS_TYPE_OR_DECL_P): New macros.
	(TYPE_P, DECL_P, IS_NON_TYPE_CODE_CLASS, IS_EXPR_CODE_CLASS)
	(checking macros, EXPR_LOCATION, SET_EXPR_LOCATION, EXPR_LOCUS): Update.

	* tree.def, c-common.def, objc/objc-tree.def: Use
	tree_code_class enumeration constants instead of code letters.

	* alias.c, builtins.c, c-common.c, c-format.c, c-lang.c, c-pragma.c
	* c-typeck.c, cgraphunit.c, convert.c, dbxout.c, dwarf2out.c
	* emit-rtl.c expr.c, fold-const.c, gimplify.c, lambda-code.c
	* langhooks.c, langhooks.h, predict.c, print-tree.c, reload1.c, stmt.c
	* tree-browser.c, tree-cfg.c, tree-chrec.c, tree-complex.c, tree-dfa.c
	* tree-dump.c, tree-eh.c, tree-gimple.c, tree-inline.c, tree-nested.c
	* tree-outof-ssa.c, tree-pretty-print.c, tree-sra.c, tree-ssa-ccp.c
	* tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-forwprop.c, tree-ssa-live.c
	* tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c, tree-ssa-operands.c
	* tree-ssa-phiopt.c, tree-ssa-pre.c, tree-ssa-propagate.c
	* tree-ssa.c, tree-ssanames.c, tree-tailcall.c, tree.c, varasm.c
	* config/sol2-c.c, config/arm/arm.c, config/i386/winnt.c
	* config/pa/pa.c, config/pa/pa.h, config/sh/sh.c, objc/objc-lang.c
	Update to match.

	* LANGUAGES: Add note about change.

ada:
	* ada-tree.def: Use tree_code_class enumeration constants
	instead of code letters.
	* ada-tree.h, decl.c, misc.c, trans.c, utils.c, utils2.c:
	Update for new tree-class enumeration constants.

cp:
	* cp-tree.def: Use tree_code_class enumeration constants
	instead of code letters.
	* call.c, class.c, cp-gimplify.c, cp-lang.c, cxx-pretty-print.c
	* mangle.c, pt.c, semantics.c, tree.c, typeck.c:
	Update for new tree-class enumeration constants.

fortran:
	* f95-lang.c, trans-expr.c, trans.c: Update for new tree-class
	enumeration constants.

java:
	* java-tree.def: Use tree_code_class enumeration constants
	instead of code letters.
	* java-gimplify.c, jcf-write.c, lang.c, parse.y: Update for
	new tree-class enumeration constants.

treelang:
	* treetree.c: Update for new tree-class enumeration constants.

From-SVN: r87675
2004-09-17 21:55:02 +00:00
Kenneth Zadeck
ade2298233 20040917-1.c: New test.
2004-09-17  Kenneth Zadeck  <Kenneth.Zadeck@NaturalBridge.com>

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

From-SVN: r87674
2004-09-17 17:49:39 -04:00
Diego Novillo
823f0809e6 re PR tree-optimization/17319 (-fno-tree-dce cause ICE)
PR tree-optimization/17319
	* tree-ssa-alias.c (compute_points_to_and_addr_escape): Also
	examine pointers on the LHS of an assignment.
	(collect_points_to_info_r): Handle RETURN_EXPR.

testsuite/ChangeLog

	PR tree-optimization/17319
	* gcc.dg/pr17319.c: New test.

From-SVN: r87673
2004-09-17 17:30:23 -04:00
Jeff Law
b5fefcf63d tree-ssa-dom.c (const_and_copies_stack): New.
* tree-ssa-dom.c (const_and_copies_stack): New.
	(dom_walk_block_data): Remove const_and_copies field.
	(record_const_or_copy): No longer need to pass in varray_type *.
	Use CONST_AND_COPIES_STACK rather than passed in block local stack.
	Callers updated.
	(record_equality): Similarly.
	(restore_vars_to_original_value): Similarly.  Revamp to use new
	single global stack rather than per-block stacks.
	(tree_ssa_dominator_optimize): Initialize the CONST_AND_COPIES_STACK.
	(thread_across_edge): Remove now unused parameters.
	(dom_opt_initialize_block_local_data): No longer test the block
	local CONST_AND_COPIES.
	(dom_opt_initialize_block): Push a marker on CONST_AND_COPIES_STACK.

From-SVN: r87670
2004-09-17 15:16:07 -06:00
Jan Hubicka
2c459e7487 re PR tree-optimization/17509 (ICE in verify_cgraph_node)
PR tree-optimization/17509
	* tree-optimize.c (update_inlined_to_pointers): New function.
	(tree_rest_of_compilation): Use it.

From-SVN: r87669
2004-09-17 21:04:56 +00:00
Devang Patel
0456cbf665 dbxout.c (get_lang_number): New.
* dbxout.c (get_lang_number): New.
       (dbxout_init): Include lang number in N_SO  stab.
       * dbxout.h (N_SO_AS, N_SO_C, N_SO_ANSI_C, N_SO_CC, N_SO_FORTRAN,
       N_SO_PASCAL, N_SO_FORTRAN90, N_SO_OBJC, N_SO_OBJCPLUS): New #define.

testsuite
       * gcc.dg/20040813-1.c: New test.

From-SVN: r87663
2004-09-17 11:47:19 -07:00
Diego Novillo
7eae8eb2b1 re PR tree-optimization/17273 (ICE in get_indirect_ref_operands)
PR tree-optimization/17273
	* tree-ssa.c (replace_immediate_uses): Call fold_stmt if the
	replacement is a constant.

testsuite/ChangeLog

	PR tree-optimization/17273
	* gcc.c-torture/compile/pr17273.c: New test.

From-SVN: r87662
2004-09-17 14:42:51 -04:00
Joseph Myers
98c3a78277 c-tree.h (enum c_typespec_keyword): New.
* c-tree.h (enum c_typespec_keyword): New.
	(struct c_declspecs): Adjust description of "type".  Remove
	specbits, explicit_int_p and explicit_char_p.  Rename
	typedef_signed_p to explicit_signed_p.  Add default_int_p, long_p,
	short_p, signed_p, unsigned_p and complex_p.
	(finish_declspecs): New.
	* c-parse.in (datadef, datadecl, setspecs, decl, component_decl,
	typename): Call finish_declspecs.
	* c-decl.c (finish_declspecs): New.
	(declspecs_add_type): Check for combinations which cannot occur in
	valid specifier lists.  Update comments.
	(shadow_tag_warned): Remove checks done in finish_declspecs.
	Don't report useless type name if type defaulted to int.
	(grokdeclarator): Remove checks and actions done in
	finish_declspecs.  Don't allow for type being NULL.  Update for
	datastructures changes.  Initialize decl_attr.
	(build_null_declspecs, quals_from_declspecs): Update for
	datastructures changes.

testsuite:
	* gcc.dg/declspec-4.c, gcc.dg/declspec-5.c, gcc.dg/declspec-6.c:
	Update expected messages.
	* gcc.dg/declspec-13.c: New test.

From-SVN: r87660
2004-09-17 19:18:05 +01:00
Sylvain Pion
254ea84c12 * doc/extend.texi: Fix duplicated word.
From-SVN: r87657
2004-09-17 17:24:17 +00:00
Paul Brook
4cdf72233b gfortran.h (struct gfc_linebuf): Don't use C99 empty arrays.
* gfortran.h (struct gfc_linebuf): Don't use C99 empty arrays.
	(gfc_linebuf_header_size): Define.
	* scanner.c (load_file): Use it.

From-SVN: r87655
2004-09-17 17:07:43 +00:00
Toon Moene
fa151acf6d invoke.texi: Remove stray explanation on -freduce-all-givs and -fmove-all-movables.
2004-09-17  Toon Moene  <toon@moene.indiv.nluug.nl>

	* doc/invoke.texi: Remove stray explanation on
	-freduce-all-givs and -fmove-all-movables.

From-SVN: r87651
2004-09-17 15:51:58 +00:00
James A. Morrison
cd1a8088eb cfg.texi: Use @smallexample.
2004-09-17  James Morrison  <phython@gcc.gnu.org>

        * doc/cfg.texi: Use @smallexample.
        * doc/md.texi: Likewise.
        * doc/tree-ssa.texi: Likewise.
        * doc/extend.texi: Likewise.  Use @r{} in comments.
        * doc/trouble.texi: Use @r{} in comments.

From-SVN: r87646
2004-09-17 13:57:03 +00:00
David Edelsohn
57f0099a96 * gcc.dg/darwin-longlong.c: XFAIL on AIX and SPE.
From-SVN: r87645
2004-09-17 09:48:43 -04:00
Vincent Celier
93ed8a01c6 prj-attr-pm.ads, [...]: New files, to split some private capabilities of the general project manager.
2004-09-17  Vincent Celier  <celier@gnat.com>

	* prj-attr-pm.ads, prj-attr-pm.adb: New files, to split some private
	capabilities of the general project manager.

From-SVN: r87644
2004-09-17 15:46:12 +02:00
Hans-Peter Nilsson
58ea87a9f2 configure.ac (gcc_cv_gld_version): Handle whitespace before "VERSION=".
* configure.ac (gcc_cv_gld_version): Handle whitespace before
	"VERSION=".
	* aclocal.m4 (_gcc_COMPUTE_GAS_VERSION): Ditto.
	* configure: Regenerate.

From-SVN: r87643
2004-09-17 12:45:34 +00:00
Diego Novillo
47bb500f21 pr17252.c: Use post-increment to change what 'a' is pointing to.
* gcc.c-torture/execute/pr17252.c: Use post-increment to
	change what 'a' is pointing to.

From-SVN: r87642
2004-09-17 08:22:19 -04:00
Joern Rennecke
788bb47dc4 Be more precise in last entry.
From-SVN: r87641
2004-09-17 13:01:33 +01:00
Joern Rennecke
0360319200 sh.c (sh_gimplify_va_arg_expr): Don't call pass_by_reference.
* sh.c (sh_gimplify_va_arg_expr): Don't call pass_by_reference.
	(sh_pass_by_reference): Work around std_gimplify_va_arg_expr bug.
	* t-sh (MULTILIB_CPUS): s/ML_m/ML_sh/g .
	* t-sh64 (MULTILIB_CPU_DIRS): Likewise.  Match trailing slashes
	in substitutions.
	(MULTILIB_DIRNAMES): Remove defunct removal of /media32.

From-SVN: r87640
2004-09-17 12:53:14 +01:00
Kazu Hirata
b01d837fa2 basic-block.h, [...]: Fix comment typos.
* basic-block.h, c-decl.c, c-parse.in, cgraphunit.c, ddg.c,
	gimplify.c, lambda-code.c, optabs.c, predict.c,
	tree-scalar-evolution.c, tree-sra.c, tree-ssa-loop-ch.c,
	tree-ssa.c, vec.h: Fix comment typos.  Follow spelling
	conventions.

From-SVN: r87637
2004-09-17 09:14:12 +00:00
Kazu Hirata
4ec7afd748 compat.texi, [...]: Use @option around options.
* doc/compat.texi, doc/cpp.texi, doc/cppopts.texi,
	doc/extend.texi, doc/install.texi, doc/invoke.texi,
	doc/sourcebuild.texi, doc/tm.texi, doc/tree-ssa.texi,
	doc/trouble.texi: Use @option around options.

From-SVN: r87635
2004-09-17 08:22:53 +00:00
Richard Sandiford
6eab2bc3dc * Makefile.in (gen-protos.o): Depend on errors.h.
From-SVN: r87634
2004-09-17 07:15:22 +00:00
Mark Mitchell
996c2b5248 re PR c++/16002 (Strange error message with new parser)
PR c++/16002
	* parser.c (cp_parser_simple_declaration): Commit to tentative
	parses after seeing a decl-specifier.
	(cp_parser_simple_declaration): Eliminate spurious message.
	(cp_parser_init_declarator): Adjust error message.

	PR c++/16029
	* lex.c (unqualified_name_lookup_error): Mark the dummy
	declaration as used.

	PR c++/16002
	* g++.dg/template/error18.C: New test.

	PR c++/16029
	* g++.dg/warn/Wunused-8.C: New test.

From-SVN: r87633
2004-09-17 07:01:11 +00:00
Steven Bosscher
275a418708 re PR rtl-optimization/17513 (ICE: verify_flow_info failed after gcse)
PR tree-optimization/17513
	* cfgexpand.c (construct_init_block): Clear EDGE_EXECUTABLE
	for successors of the entry block.

	* gcc.dg/20040916-1.c: New test.

From-SVN: r87632
2004-09-17 06:23:54 +00:00
Uros Bizjak
b355f2229a re PR rtl-optimization/15187 (Inefficient if optimization with -O2 -ffast-math)
PR rtl-optimization/15187
	* ifcvt.c (noce_try_cmove_arith): Exit early if total
	insn_rtx_cost of both branches > BRANCH_COST

From-SVN: r87631
2004-09-17 07:32:36 +02:00
Diego Novillo
7a1162112b re PR tree-optimization/17528 (tree optimization incorrectly optimizes away entire function (incorrect aliasing detection?))
PR tree-optimization/17528
	* tree-ssa-alias.c (compute_flow_insensitive_aliasing): Do not
	erase the may-alias set for a tag when merging it with
	another.

From-SVN: r87624
2004-09-16 21:10:28 -04:00
GCC Administrator
02382b9149 Daily bump.
From-SVN: r87622
2004-09-17 00:16:17 +00:00
Kaz Kojima
e57450ce82 sh.md (call): Extend 32-bit addresses to DImode for 32-bit TARGET_SHMEDIA.
* config/sh/sh.md (call): Extend 32-bit addresses to DImode
	for 32-bit TARGET_SHMEDIA.
	(call_value): Likewise.

From-SVN: r87619
2004-09-16 23:37:00 +00:00
Mark Mitchell
67bcc25224 re PR c++/17501 (Confusion with member templates)
PR c++/17501
	* parser.c (cp_parser_nested_name_specifier): Do not resolve
	typename types if the user explicitly said "typename".

	PR c++/17501
	* g++.dg/template/typename7.C: New test.

From-SVN: r87616
2004-09-16 22:55:13 +00:00
Diego Novillo
1800536a05 tree-ssa-operands.c (add_call_clobber_ops): Make read-only test apply only to TREE_STATIC and DECL_EXTERNAL.
* tree-ssa-operands.c (add_call_clobber_ops): Make read-only
	test apply only to TREE_STATIC and DECL_EXTERNAL.

From-SVN: r87615
2004-09-16 18:16:56 -04:00
Zdenek Dvorak
42759f1ea0 Makefile.in (tree-cfg.o): Add CFGLAYOUT_H dependency.
* Makefile.in (tree-cfg.o): Add CFGLAYOUT_H dependency.
	* basic-block.h (get_dominated_by_region): Declare.
	* dominance.c (get_dominated_by_region): New function.
	* tree-cfg.c: Include cfglayout.h.
	(tree_duplicate_bb): Duplicate also phi nodes.
	(struct ssa_name_map_entry): New type.
	(add_phi_args_after_copy_bb, add_phi_args_after_copy,
	ssa_name_map_entry_hash, ssa_name_map_entry_eq,
	allocate_ssa_names, rewrite_to_new_ssa_names_def,
	rewrite_to_new_ssa_names_use, rewrite_to_new_ssa_names_bb,
	rewrite_to_new_ssa_names, tree_duplicate_sese_region): New functions.
	* tree-flow.h (tree_duplicate_sese_region, add_phi_args_after_copy_bb,
	add_phi_args_after_copy, rewrite_to_new_ssa_names_bb,
	rewrite_to_new_ssa_names, allocate_ssa_names,
	rewrite_into_loop_closed_ssa, verify_loop_closed_ssa): Declare.
	* tree-ssa-loop-ch.c (duplicate_blocks): Removed.
	(copy_loop_headers): Use tree_duplicate_sese_region.

	* gcc.dg/tree-ssa/copy-headers.c: Update outcome.

From-SVN: r87614
2004-09-16 21:29:43 +00:00
Frank Ch. Eigler
2731cf24d2 profile.c (branch_prob): Restore support for USE_MAPPED_LOCATION.
2004-09-16  Frank Ch. Eigler  <fche@redhat.com>

	* profile.c (branch_prob): Restore support for USE_MAPPED_LOCATION.

From-SVN: r87613
2004-09-16 20:42:00 +00:00
Frank Ch. Eigler
8304ad70b7 bprob.exp, bprob.exp: Iterate tests with -ftree-based-profiling also.
2004-09-16  Frank Ch. Eigler  <fche@redhat.com>

	* gcc.misc-tests/bprob.exp, g++.dg/bprob/bprob.exp: Iterate tests
	with -ftree-based-profiling also.
	* lib/profopt.exp: Support late-set profile_option/feedback_option.

From-SVN: r87612
2004-09-16 20:37:09 +00:00
Jeff Law
9fae925b00 tree-into-ssa.c (block_defs_stack): New toplevel varray.
* tree-into-ssa.c (block_defs_stack): New toplevel varray.
	(rewrite_block_data): Remove, no longer used.
	(rewrite_initialize_block_local_data): Remove, no longer used.
	(rewrite_initialize_block): Mark parameters as unused as needed.
	Change references to the block local block_defs to be block_defs_stack.
	Push a marker onto the block_defs_stack.
	(ssa_rewrite_initialize_block): Similarly.
	(rewrite_stmt, ssa_rewrite_stmt): Similarly.
	(ssa_register_new_def): No longer needs varray argument.  Use
	block_defs_stack instead.  No longer handle possibly null block_defs
	varray.  Reverse order of items we push on the stack to make it
	easier to identify our marker.
	(register_new_def): No longer handle possibly null block_defs
	varray.
	(rewrite_finalize_block): Revamp to look for markers in the global
	block_defs_stack varray rather than wiping a block local varray.
	Mark arguments as unused as needed.
	(ssa_rewrite_finalize_block): Similarly.
	(rewrite_into_ssa): Update initialization of dom walker structure
	to reflect that we don't need block local data anymore.  Initialize
	the block_defs_stack varray.
	(rewrite_ssa_into_ssa): Similarly.
	* tree-ssa-dom.c (block_defs_stack): New toplevel varray.
	(struct dom_walk_data): Kill block_defs field.
	(tree_ssa_dominator_optimize): Initialize block_defs_stack.
	(thread_across_edge): Use the global block_defs_stack instead of
	the old block_defs varray.
	(dom_opt_initialize_block_local_data): Update now that we don't have
	block_defs field to check anymore.
	(dom_opt_initialize_block): Push a marker onto block_defs_stack.
	(restore_currdefs_to_original_value): Use the new block_defs_stack
	instead of a block local varray.
	(dom_opt_finalize_block): Similarly.
	(record_equivalencs_from_phis): Similarly.
	(optimize_stmt, register_definitions_for_stmt): Similarly.

From-SVN: r87611
2004-09-16 13:06:12 -06:00
Andrew MacLeod
2d0db225d3 error.c (dump_decl): Make sure there is lang_specific info before checking for DTOR and CTOR decls.
2004-09-16  Andrew MacLeod  <amacleod@redhat.com>

	* error.c (dump_decl): Make sure there is lang_specific info before
	checking for DTOR and CTOR decls.

From-SVN: r87610
2004-09-16 18:52:48 +00:00
Andrew MacLeod
49f48e9ffc re PR tree-optimization/17517 (ICE: SSA corruption)
2004-09-16  Andrew MacLeod  <amacleod@redhat.com>

	PR tree-optimization/17517
	* tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
	coalesce same-root variables without checking for abnormal PHI usage.

From-SVN: r87609
2004-09-16 18:45:33 +00:00
Daniel Berlin
f67d92e937 [multiple changes]
2004-09-16  Daniel Berlin  <dberlin@dberlin.org>

	* cfgloop.h (duplicate_loop):  Add prototype.
	* cfgloopmanip.c (duplicate_loop): Make non-static.
	* lambda-code.c (perfect_nestify): Factor out test whether
	we can handle this loop into separate function.
	Call it.
	(can_convert_to_perfect_nest): New function.
	(replace_uses_of_x_with_y): Add modify_stmt call.
	* tree-loop-linear.c (linear_transform_loops): Call
	rewrite_into_loop_closed_ssa and free_df.

2004-09-16  Daniel Berlin  <dberlin@dberlin.org>

	* lambda-code.c (invariant_in_loop): is_gimple_min_invariant is
	loop invariant as well.
	(perfect_nestify): new function.
	(gcc_loop_to_lambda_loop): New parameters to track lower bounds,
	upper bounds, and steps.
	Set outerinductionvar properly.
	(gcc_loopnest_to_lambda_loopnest): Add loops and need_perfect
	parameters.
	Return NULL if we need a perfect loop and can't make one.
	(lambda_loopnest_to_gcc_loopnest): Correct algorithm.
	(not_interesting_stmt): New function.
	(phi_loop_edge_uses_def): Ditto.
	(stmt_uses_phi_result): Ditto.
	(stmt_is_bumper_for_loop): Ditto.
	(perfect_nest_p): Ditto.
	(nestify_update_pending_stmts): Ditto.
	(replace_uses_of_x_with_y): Ditto.
	(stmt_uses_op): Ditto.
	(perfect_nestify): Ditto.
	* lambda-mat.c (lambda_matrix_id_p): New function.
	* lambda-trans.c (lambda_trans_matrix_id_p): Ditto.
	* lambda.h: Update prototypes.
	* tree-loop-linear (linear_transform_loop): Use new
	perfect_nest_p. Detect and ignore identity transform.
	* tree-ssa-loop.c (pass_linear_transform): Use TODO_write_loop_closed.

2004-09-16  Sebastian Pop  <pop@cri.ensmp.fr>

	* tree-loop-linear.c (gather_interchange_stats): Add more comments.
	Gather also strides of accessed data.  Pass in the data references
	array.
	(try_interchange_loops): Add a new heuristic for handling the temporal
	locality.  Pass in the data references array.
	(linear_transform_loops): Pass the data references array to
	try_interchange_loops.

From-SVN: r87607
2004-09-16 16:16:14 +00:00
Kazu Hirata
83c9948608 * doc/invoke.texi: Fix typos. Follow spelling conventions.
From-SVN: r87606
2004-09-16 16:12:13 +00:00
Kazu Hirata
1f2959f06e array.c, [...]: Fix comment typos.
* array.c, data.c, decl.c, dependency.c, error.c, f95-lang.c,
	interface.c, intrinsic.c, io.c, misc.c, module.c, parse.h,
	resolve.c, scanner.c, trans-array.c, trans-array.h,
	trans-common.c, trans-const.h, trans-decl.c, trans-expr.c,
	trans-intrinsic.c, trans-stmt.c, trans-types.c, trans.c,
	trans.h: Fix comment typos.  Follow spelling conventions.

From-SVN: r87605
2004-09-16 16:00:45 +00:00
Nathan Sidwell
d1f05f931e class.c (copy_virtuals): Remove.
* class.c (copy_virtuals): Remove.
	(build_primary_vtable): Use copy_list directly.
	(build_secondary_vtable): Likewise.
	(update_vtable_entry_for_fn): Clear BV_CALL_INDEX here.
	(create_vtable_ptr): Likewise.

From-SVN: r87604
2004-09-16 15:21:41 +00:00
Nathan Sidwell
4b30ad7eef c-tree.texi (Classes): Remove index entries for TREE_VIA_{PUBLIC,PROTECTED,PRIVATE}.
* doc/c-tree.texi (Classes): Remove index entries for
	TREE_VIA_{PUBLIC,PROTECTED,PRIVATE}.

From-SVN: r87603
2004-09-16 15:13:34 +00:00
Nathan Sidwell
fbc704f8bb missing changelog entry
missing changelog entry
	* cp-tree.h (struct lang_type_class): Make pure_virtuals a
	VEC(tree).
	(CLASSTYPE_INLINE_FRIENDS, CLASSTYPE_PURE_VIRTUALS): Update
	comments.
	* call.c (build_new_method_call): Don't confirm a pure virtual is
	in CLASSTYPE_PURE_VIRTUALS.  Reorder checks. Make it a warning.
	* class.c (check_methods): CLASSTYPE_INLINE_FRIENDS is a VEC(tree).
	(fixup_inline_methods, finish_struct): Likewise.
	* decl.c (finish_method): Likewise.
	* search.c (dfs_get_pure_virtuals, get_pure_virtuals):
	CLASSTYPE_PURE_VIRTUALS is a VEC(tree).
	* typeck2.c (abstract_virtuals_error): Likewise. Truncate the
	vector to avoid repeating the list in error messages.

From-SVN: r87602
2004-09-16 15:04:34 +00:00
Zdenek Dvorak
2f4675b482 fold-const.c (fold): Fold difference of addresses.
* fold-const.c (fold): Fold difference of addresses.
	(ptr_difference_const): Moved from tree-ssa-loop-ivopts, based on
	get_inner_reference.
	* tree-ssa-loop-ivopts.c (peel_address): Removed.
	(ptr_difference_const): Moved to fold-const.c.
	(split_address_cost): Use get_inner_reference instead of peel_address.
	(ptr_difference_cost): Change type of diff to HOST_WIDE_INT.
	* tree.h (ptr_difference_const): Export.

	* tree-ssa-loop-ivopts.c (dump_iv, dump_use, dump_cand): Add induction
	variable type to the dump.  Fix indentation.
	(idx_find_step): Handle nonconstant array_ref_element_size and
	array_ref_low_bound.
	(idx_record_use): Handle array_ref_element_size and
	array_ref_low_bound.
	(find_interesting_uses_stmt): Handle memory = nontrivial_expression
	statements correctly.
	(get_computation_at, iv_value): Do not unshare expressions here.
	(rewrite_use_outer): Unshare the expression before it is emitted
	to code.
	* tree-ssa-loop-niter.c (unsigned_type_for, signed_type_for):
	Moved to tree.c.
	* tree.c (unsigned_type_for, signed_type_for): Moved from
	tree-ssa-loop-niter.c.  Use langhooks.
	* tree.h (signed_type_for): Export.

From-SVN: r87601
2004-09-16 14:58:01 +00:00
Kazu Hirata
9c763d1957 * search.c: Follow spelling conventions.
From-SVN: r87600
2004-09-16 14:16:42 +00:00
David Edelsohn
8210e4c42d rs6000.c (rs6000_xcoff_asm_named_section): Update prototype.
* config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Update
        prototype.

From-SVN: r87599
2004-09-16 10:09:27 -04:00
Victor Leikehman
d2ccf6aa09 trans-io.c (transfer_array_component): New function.
2004-09-16  Victor Leikehman  <lei@il.ibm.com>

	PR/15364
	* trans-io.c (transfer_array_component): New function.
	(transfer_expr): For array fields, call transfer_array_component.
testsuite/
	* gfortran.dg/der_array_io_1.f90: New test.
	* gfortran.dg/der_array_io_2.f90: New test.
	* gfortran.dg/der_array_io_3.f90: New test.

From-SVN: r87596
2004-09-16 13:29:56 +00:00
Kazu Hirata
de787a9687 * gfortran.texi: Fix a typo.
From-SVN: r87595
2004-09-16 13:13:39 +00:00
Nathan Sidwell
585b44d301 cp-tree.h (struct lang_type_class): Make pure_virtuals a VEC(tree).
* cp-tree.h (struct lang_type_class): Make pure_virtuals a
	VEC(tree).
	(CLASSTYPE_INLINE_FRIENDS, CLASSTYPE_PURE_VIRTUALS): Update
	comments.
	* call.c (build_new_method_call): Don't confirm a pure virtual is
	in CLASSTYPE_PURE_VIRTUALS.  Reorder checks. Make it a warning.
	* class.c (check_methods): CLASSTYPE_INLINE_FRIENDS is a VEC(tree).
	(fixup_inline_methods, finish_struct): Likewise.
	* decl.c (finish_method): Likewise.
	* search.c (dfs_get_pure_virtuals, get_pure_virtuals):
	CLASSTYPE_PURE_VIRTUALS is a VEC(tree).
	* typeck2.c (abstract_virtuals_error): Likewise. Truncate the
	vector to avoid repeating the list in error messages.

From-SVN: r87592
2004-09-16 09:53:40 +00:00
Joseph Myers
a05e4fdbd9 * gcc.pot: Regenerate.
From-SVN: r87590
2004-09-16 09:01:11 +01:00
Andrew Pinski
3dd53121bd re PR libobjc/11572 (GNU libobjc no longer compiled on Darwin)
2004-09-15  Andrew Pinski  <pinskia@physics.uc.edu>

        PR target/11572
        * c-incpath.h (target_c_incpath_s): Add extra_pre_includes.
        Add two parameters to extra_includes.
        (C_INCPATH_INIT): Remove.
        * c-incpath.c (register_include_chains): Call extra_pre_includes
        before adding the standard include directory.
        Update call to extra_includes.
        (!defined TARGET_EXTRA_INCLUDES): Update
        hook_void_charptr_charptr_int and add !define
        TARGET_EXTRA_PRE_INCLUDES.
        (!define TARGET_EXTRA_INCLUDES): Define as
        hook_void_charptr_charptr_int.
        (!define TARGET_EXTRA_PRE_INCLUDES): Likewise.
        (target_c_incpath): Always declare.
        * fixinclude.c (defined TARGET_EXTRA_INCLUDES): Declare a
        empty function.
        (define TARGET_EXTRA_PRE_INCLUDES): Likewise.
        * config/darwin.h: (darwin_register_frameworks): Update for
        the two new parameters.
        (darwin_register_objc_includes): Add prototype.
        (TARGET_EXTRA_PRE_INCLUDES): Define.
        * config/darwin-c.c (darwin_register_objc_includes): New function.
        (darwin_register_frameworks): Update for the two new parameters.
        (target_c_incpath): Remove.
        * config/t-darwin (darwin-c.o): Add $(PREPROCESSOR_DEFINES) to
        the compile line.
        * doc/tm.texi (TARGET_EXTRA_INCLUDES): Document the two new
        parameters.
        (TARGET_EXTRA_PRE_INCLUDES): Document.

        * gcc.c (spec_function): Add replace-outfile.
        (replace_outfile_spec_function): New function.
        * config/darwin.h (LINK_SPEC): Add replace
        -lobjc with -lobjc-gnu if -fgnu-runtime is
        supplied.
        * invoke.texi (replace-outfile): Document.

From-SVN: r87588
2004-09-15 23:49:59 -07:00
Mark Mitchell
511bbc8f91 cxxabi_tweaks.h (__cxa_cdtor_return_type): Define.
* config/cpu/arm/cxxabi_tweaks.h (__cxa_cdtor_return_type):
	Define.
	* config/cpu/generic/cxxabi_tweaks.h (__cxa_cdtor_return_type):
	Define.
	* libsupc++/cxxabi.h (__cxa_cdtor_return_type): New type.
	(__cxa_vec_new): Use it.
	(__cxa_vec_new2): Likewise.
	(__cxa_vec_new3): Likewise.
	(__cxa_vec_cdtor): Likewise.
	(__cxa_vec_cctor): Likeiwse.
	(__cxa_vec_dtor): Likewise.
	(__cxa_vec_cleanup): Likewise.
	(__cxa_vec_delete2): Likewise.
	(__cxa_vec_delete3): Likewise.
	* libsupc++/vec.cc (__cxa_vec_new): Likewise.
	(__cxa_vec_new2): Likewise.
	(__cxa_vec_new3): Likewise.
	(__cxa_vec_cdtor): Likewise.
	(__cxa_vec_cctor): Likeiwse.
	(__cxa_vec_dtor): Likewise.
	(__cxa_vec_cleanup): Likewise.
	(__cxa_vec_delete2): Likewise.
	(__cxa_vec_delete3): Likewise.
	(__aeabi_vec_ctor_nocookie_nodtor): New function.
	(__aeabi_vec_ctor_cookie_nodtor): Likewise.
	(__aeabi_vec_cctor_nocookie_nodtor): Likewise.
	(__aeabi_vec_new_cookie_noctor): Likewise.
	(__aeabi_vec_new_nocookie): Likewise.
	(__aeabi_vec_new_cookie_nodtor): Likewise.
	(__aeabi_vec_new_cookie): Likewise.
	(__aeabi_vec_dtor): Likewise.
	(__aeabi_vec_dtor_cookie): Likewise.
	(__aeabi_vec_delete): Likewise.
	(__aeabi_vec_delete3): Likewise.
	(__aeabi_vec_delete3_nodtor): Likewise.
	(__aeabi_atexit): Likewise.

	* testsuite/g++.old-deja/g++.abi/cxa_vec.C: Adjust for ARM
	EABI.

From-SVN: r87585
2004-09-16 03:41:19 +00:00
Paul Brook
329bed5eb4 Revert accidental commit of unrelated/unfinished changes.
From-SVN: r87583
2004-09-16 02:10:43 +00:00
GCC Administrator
bb15588e23 Daily bump.
From-SVN: r87581
2004-09-16 00:16:16 +00:00
Jan Hubicka
42f97fd2c2 predict.c (expr_expected_value, [...]): New function.
* predict.c (expr_expected_value, strip_builtin_expect): New function.
	(tree_predict_by_opcode): Use it.
	(tree_estimate_probability): Add, for now disabled,
	strip_builtin_expect call.

From-SVN: r87578
2004-09-16 00:01:41 +00:00
James E Wilson
097f3d486a Fix linux kernel miscompilation.
PR target/17455
* config/ia64/ia64.c (ia64_function_ok_for_sibcall): Return false
if current_function_decl is a sibcall.

From-SVN: r87574
2004-09-15 16:26:33 -07:00
Mark Mitchell
04a7518894 varasm.c (default_function_rdodata_section): Make sure to pass along a decl for a link-once section.
* varasm.c (default_function_rdodata_section): Make sure to pass
	along a decl for a link-once section.

	* g++.dg/opt/switch1.C: New test.

From-SVN: r87569
2004-09-15 22:16:33 +00:00
Richard Henderson
e776368b7a tree-ssa-operands.c (add_call_clobber_ops): Fix unused variable warning with code disable.
* tree-ssa-operands.c (add_call_clobber_ops): Fix unused variable
        warning with code disable.  Fix formatting.

From-SVN: r87567
2004-09-15 15:05:39 -07:00
Steven Bosscher
c7f9021961 Makefile.in (tree-ssa-dom.o): Depend on tree-ssa-propagate.h.
* Makefile.in (tree-ssa-dom.o): Depend on tree-ssa-propagate.h.
	* tree-ssa-dom.c (cprop_into_stmt): Recompute TREE_INVARIANT
	after propagating into an ADDR_EXPR.

From-SVN: r87566
2004-09-15 21:47:45 +00:00
Andrew Pinski
2f021b673a re PR rtl-optimization/17427 (powerpc-linux does not bootstrap on HEAD with --disable-checking)
2004-09-15  Andrew Pinski  <apinski@apple.com>

        PR rtl-opt/17427
        * gcse.c (process_insert_insn): insn_invalid_p has side effects.
        Move it out of gcc_assert.

From-SVN: r87565
2004-09-15 14:45:28 -07:00
Kenneth Zadeck
2d2a672d92 turn off code clobbering optimization for static variables until
analysis behind it can be fixed in a couple of days.

From-SVN: r87564
2004-09-15 20:54:38 +00:00
Joseph Myers
971801fff6 attribs.c, [...]: Use %<, %> and %q for quoting in diagnostics going through pretty-print.c.
gcc:
	* attribs.c, builtins.c, c-format.c, c-pch.c, coverage.c,
	except.c, fold-const.c, function.c, langhooks.c, params.c,
	reload.c, reload1.c, stmt.c, stor-layout.c, toplev.c, tree-cfg.c,
	tree-dump.c, tree-mudflap.c, tree.c, varasm.c: Use %<, %> and %q
	for quoting in diagnostics going through pretty-print.c.  Use ''
	for quoting in other diagnostic text.
	* langhooks.c: Include intl.h.  Mark text locating diagnostics for
	translation.
	* Makefile.in (langhooks.o): Update dependencies.
	* pretty-print.h (pp_printf): Mark as accepting GCC diagnostic
	formats.

gcc/testsuite:
	* g++.dg/ext/member-attr.C, g++.dg/warn/deprecated.C,
	gcc.dg/deprecated.c, gcc.dg/noreturn-1.c, gcc.dg/noreturn-4.c:
	Update expected messages.

libmudflap:
	* testsuite/libmudflap.c/pass35-frag.c: Update expected message.

From-SVN: r87563
2004-09-15 21:48:10 +01:00
Zack Weinberg
1daf6f3a5b * Make-lang.in (treelang-warn): Set to $(STRICT_WARN).
From-SVN: r87562
2004-09-15 20:05:11 +00:00
Mark Mitchell
c18a5b6cad configure.ac: Check for COMDAT support.
* configure.ac: Check for COMDAT support.  Robustify check for
	SHF_MERGE support.
	* configure: Regenerated.
	* config.in: Likewise.
	* langhooks-def.h (lhd_comdat_group): New function.
	(LANG_HOOKS_COMDAT_GROUP): New macro.
	(LANG_HOOKS_DECLS): Use it.
	* langhooks.c (lhd_comdat_group): Define.
	* langhooks.h (lang_hooks_for_decls): Add comdat_group.
	* output.h (named_section_flags): Make it a macro.
	(named_section_real): New function.
	(default_no_named_section): Add decl parameter.
	(default_elf_asm_named_section): Likewise.
	(default_coff_asm_named_section): Likewise.
	(default_pe_asm_named_section): Likewise.
	* target.h (gcc_target): Adjust type of named_section.
	* varasm.c (named_section_flags): Rename to named_section_real.
	Add decl parameter.
	(default_no_named_section): Add decl parameter.
	(default_elf_asm_named_section): Use COMDAT, if available.  Deal
	with the case that ASM_COMMENT_START is "@".
	(default_coff_asm_named_section): Add decl parameter.
	(default_pe_asm_named_section): Likewise.
	* config/alpha/alpha.c (vms_asm_named_section): Add decl
	parameter.
	(unicosmk_asm_named_section): Likewise.
	* config/arm/arm.c (arm_elf_asm_named_section): Remove.
	* config/arm/elf.h (TARGET_ASM_NAMED_SECTION): Likewise.
	* config/c4x/c4x.c (c4x_asm_named_section): Add decl parameter.
	* config/cris/cris-protos.h (cris_target_asm_named_section):
	Likewise.
	* config/cris/cris.c (cris_target_asm_named_section):
	Likewise.
	* config/h8300/h8300.c (h8300_asm_named_section): Likewise.
	* config/i386/i386-protos.h (i386_pe_asm_named_section):
	Likewise.
	* config/i386/winnt.c (i386_pe_asm_named_section): Likewise.
	* config/m68k/m68k.c (m68k_coff_asm_named_section): Likewise.
	* config/mcore/mcore.c (mcore_asm_named_section): Likewise.
	* config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section):
	Likewise.
	* config/sparc/sparc.c (sparce_elf_asm_named_section): Likewise.

	* cp-objcp-common.h (LANG_HOOKS_COMDAT_GROUP): Define.
	* cp-tree.h (cxx_comdat_group): Declare.
	* decl.c (cxx_comdat_group): New function.

From-SVN: r87557
2004-09-15 17:03:22 +00:00
Aaron W. LaFramboise
f13ab1ee14 parse.c (eof_buf): Rename eof to eof_buf.
2004-09-15  Aaron W. LaFramboise <aaronavay62@aaronwl.com>

	* parse.c (eof_buf): Rename eof to eof_buf.
	(unexpected_eof): Same.
	(gfc_parse_file): Same.

From-SVN: r87556
2004-09-15 14:19:12 +00:00
Steven G. Kargl
0110c1ec15 check.c (gfc_check_getcwd_sub): New function.
2004-09-15  Steven G. Kargl  <kargls@comcast.net>

	* check.c (gfc_check_getcwd_sub): New function.
	* gfortran.h (GFC_ISYM_GETCWD): New symbol.
	* intrinsic.c (add_functions): Add function definition;
	Use symbol.
	* intrinsic.c (add_subroutines): Add subroutine definitions.
	* intrinsic.h: Add prototypes.
	* iresolve.c (gfc_resolve_getcwd, gfc_resolve_getcwd_sub):
	New functions.
	* trans-intrinsic.c (gfc_conv_intrinsic_function): Use symbol.
libgfortran/
	* intrincics/getcwd.c: New file.
	* Makefile.am: Add getcwd.c.
	* Makefile.in: Regenerated.

From-SVN: r87555
2004-09-15 14:17:26 +00:00
Jan Hubicka
87527e4bcd tree-ssa.c (verify_flow_sensitive_alias_info): Do not walk dead nodes.
* tree-ssa.c (verify_flow_sensitive_alias_info): Do not walk dead nodes.
	* tree-tailcall.c (eliminate_tail_call): Release SSA name.

From-SVN: r87554
2004-09-15 14:15:36 +00:00
Jan Hubicka
fe7139acb1 * tree-cfg.c (remove_bb): Release SSA defs.
From-SVN: r87553
2004-09-15 14:14:03 +00:00
Steven G. Kargl
a8c60d7fff check.c (gfc_check_getcwd_sub): New function.
2004-09-15  Steven G. Kargl  <kargls@comcast.net>

	* check.c (gfc_check_getcwd_sub): New function.
	* gfortran.h (GFC_ISYM_GETCWD): New symbol.
	* intrinsic.c (add_functions): Add function definition;
	Use symbol.
	* intrinsic.c (add_subroutines): Add subroutine definitions.
	* intrinsic.h: Add prototypes.
	* iresolve.c (gfc_resolve_getcwd, gfc_resolve_getcwd_sub):
	New functions.
	* trans-intrinsic.c (gfc_conv_intrinsic_function): Use symbol.
libgfortran/
	* intrinsics/getcwd.c: New file.
	* Makefile.am: Add getcwd.c.
	* Makefile.in: Regenerated.

From-SVN: r87552
2004-09-15 14:09:17 +00:00
Tobias Schlüter
4672f86ad0 re PR fortran/16485 (Private subroutines from different modules collide during linking.)
2004-09-15  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>

	PR fortran/16485
	* module.c (write_symbol): Don't fill in module name here.
	(write_symbol0): Fill in here instead.
testsuite/
	* gfortran.dg/same_name_1.f90: New test.

From-SVN: r87551
2004-09-15 13:12:52 +00:00
Kazu Hirata
1a141fe10a * doc/tm.texi: Follow spelling conventions.
From-SVN: r87550
2004-09-15 13:12:33 +00:00
Kazu Hirata
b3a27618a0 * tree-ssa-dom.c: Fix comment typos.
From-SVN: r87549
2004-09-15 13:06:30 +00:00
Diego Novillo
dad975d22d pr17252.c: Fix thinko.
* gcc.c-torture/execute/pr17252.c: Fix thinko.  Don't
	dereference garbage pointers.

From-SVN: r87545
2004-09-15 08:09:55 -04:00
Alan Modra
43e7c6a4d4 linux-unwind.h (struct gcc_pt_regs): Extend to include ccr.
* config/rs6000/linux-unwind.h (struct gcc_pt_regs): Extend to
	include ccr.
	(ppc_fallback_frame_state): Save location of CR.

From-SVN: r87543
2004-09-15 21:13:31 +09:30
Nathan Sidwell
69862840f8 * search.c (get_pure_virtuals): Remove unused variables.
From-SVN: r87542
2004-09-15 11:01:46 +00:00
Nathan Sidwell
16ae29f1e6 cp-tree.h (struct lang_decl_flags): Remove needs_final_overrider.
* cp-tree.h (struct lang_decl_flags): Remove
	needs_final_overrider.
	(DECL_NEEDS_FINAL_OVERRIDER_P): Remove.
	* decl.c (duplicate_decls): Do not copy DECL_NEEDS_FINAL_OVERRIDER_P.
	* class.c (finish_struct_bits): Correct comment about
	CLASSTYPE_PURE_VIRTUALS.
	* search.c (get_pure_virtuals): Remove useless loop.

From-SVN: r87541
2004-09-15 09:43:52 +00:00
Jakub Jelinek
a45f71f537 expr.c (string_constant): Handle also read-only variables initialized to string literals.
* expr.c (string_constant): Handle also read-only variables
	initialized to string literals.

	* gcc.c-torture/execute/builtins/strlen-3.c: New test.
	* gcc.c-torture/execute/builtins/strlen-3-lib.c: New.

From-SVN: r87540
2004-09-15 11:05:03 +02:00
Jakub Jelinek
9a520f4073 builtins.c (expand_builtin_memmove): Optimize memmove (x, y, 1) into memcpy (x, y, 1) if memcpy can be expanded inline.
* builtins.c (expand_builtin_memmove): Optimize memmove (x, y, 1)
	into memcpy (x, y, 1) if memcpy can be expanded inline.

	* gcc.c-torture/execute/builtins/memmove.c (main_test): Formatting.
	* gcc.c-torture/execute/builtins/memmove-2.c: New test.
	* gcc.c-torture/execute/builtins/memmove-2-lib.c: New.

From-SVN: r87539
2004-09-15 10:19:39 +02:00
Zdenek Dvorak
b1d16eff57 re PR tree-optimization/17468 (Java garbage collector miscompiled at -O1 and higher)
PR tree-optimization/17468
	* tree-ssa.c (verify_use, verify_phi_args, verify_ssa):  Verify that
	definition inside a block precede uses.
	* tree-tailcall.c (adjust_return_value): Emit statements in the
	correct order.

From-SVN: r87538
2004-09-15 07:51:33 +00:00
Richard Sandiford
3657919271 * config/mips/mips.h (POINTERS_EXTEND_UNSIGNED): Delete.
From-SVN: r87537
2004-09-15 06:27:25 +00:00
Eric Botcazou
7c2f2b41c2 * doc/install.texi (sparc-sun-solaris2*): Properly format warning.
From-SVN: r87533
2004-09-15 05:36:05 +00:00
Jeff Law
48732f23bb tree-ssa-dom.c (avail_exprs_stack): New global varray.
* tree-ssa-dom.c (avail_exprs_stack): New global varray.
        (struct dom_walk_block_data): Remove avail_exprs member.
        (tree_ssa_dominator_optimize): Initialize avail_exprs_stack.
        (lookup_avail_expr): No longer need to pass in address of
        the block local available exprs stack.  All callers changed.
        (simplify_cond_and_lookup_avail_expr): Similarly.
        (simplify_switch_and_lookup_avail_expr): Similarly.
        (get_eq_expr_value, record_cond): Likewise.
        (record_dominating_conditions): Likewise.
        (update_rhs_and_lookup_avail_expr): Likewise.
        (record_equivalences_from_stmt): Likewise.
        (dom_opt_initialize_block_local_data): No longer test state of
        block local avail_exprs.
        (dom_opt_initialize_block): Mark unwind point in the global
        avail_expr stack.
        (remove_expressions_from_table): Update to unwind to the
        most recent unwind marker in the global avail_expr stack.
        All callers changed.
        (dom_opt_finalize_block): Mark unwind point in the global
        avail_expr stack as needed.
        (record_cond): Push elements into the global avail_exprs stack.

From-SVN: r87532
2004-09-14 22:38:04 -06:00
Jeff Law
a5c965c17e tree-dfa.c (free_df_for_stmt): No longer static.
* tree-dfa.c (free_df_for_stmt): No longer static.
	(free_df): Update comments.
	* tree-flow.h (free_df_for_stmt): Prototype.
	* tree-ssa-dse.c (dse_optimize_stmt): Call free_df_for_stmt.  Also
	call release_defs.

From-SVN: r87531
2004-09-14 22:12:18 -06:00
Mark Mitchell
bb5ecf2959 re PR c++/17324 (Error: symbol `bRKNS0_IT_SD_EE' is already defined)
PR c++/17324
	* mangle.c (partially_mangled_name): New variable.
	(partially_mangled_name_len): Likewise.
	(save_partially_mangled_name): New function.
	(restore_partially_mangled_name): Likewise.
	(write_encoding): Save and restore partially mangled names around
	calls to get_mostly_instantiated_function_type.
	(write_unqualified_name): Likewise.

	PR c++/17324
	* g++.dg/template/mangle1.C: New test.

From-SVN: r87530
2004-09-15 03:22:19 +00:00
Diego Novillo
391f9afbd2 re PR tree-optimization/17252 (not marking char types as aliasing anything)
PR tree-optimization/17252
	* tree-ssa-alias.c (may_alias_p): Don't assume that a
	pointer may not point to itself when using relaxed
	aliasing rules.

testsuite/ChangeLog

	PR tree-optimization/17252
	* gcc.c-torture/execute/pr17252.c: New test.

From-SVN: r87529
2004-09-14 22:58:28 -04:00
Richard Henderson
67f2362044 re PR middle-end/17397 (gimplify ICE)
PR middle-end/17397
	* gimplify.c (gimplify_addr_expr): Don't inadvertently change types
	while folding <ADDR_EXPR <INDIRECT_REF X>>.

From-SVN: r87528
2004-09-14 19:09:05 -07:00
Andrew Pinski
5ffcd77909 pointer-reference-alias.C: New test.
2004-09-14  Andrew Pinski  <apinski@apple.com>

        * g++.dg/tree-ssa/pointer-reference-alias.C: New test.

2004-09-14  Andrew Pinski  <apinski@apple.com>

        * tree-ssa-copy.c (may_propagate_copy): Don't check the aliasing
        sets of the pointers but the aliasing sets of what they point to.

From-SVN: r87527
2004-09-14 18:18:01 -07:00
GCC Administrator
798e5365d4 Daily bump.
From-SVN: r87523
2004-09-15 00:16:20 +00:00
Roger Sayle
f6ae6c51df re PR rtl-optimization/9771 ([x86] wrong ebp optimisation)
PR rtl-optimization/9771
	* regclass.c (CALL_REALLY_USED_REGNO_P): New macro to eliminate
	conditional compilation in init_reg_sets_1.
	(init_reg_sets_1): Let global_regs[i] take priority over the frame
	(but not stack) pointer exceptions to regs_invalidated_by_call.
	(globalize_reg): Globalizing a fixed register may need to update
	regs_invalidated_by_call.

	* gcc.dg/pr9771-1.c: New test case.

From-SVN: r87516
2004-09-14 22:52:41 +00:00
Diego Novillo
1810f6edaa re PR tree-optimization/15262 ([tree-ssa] Alias analyzer cannot handle addressable fields)
PR tree-optimization/15262
	* tree-dfa.c (dump_variable): Also print the type of the
	variable.
	* tree-ssa-alias.c (compute_flow_insensitive_aliasing): If two
	memory tags are of conflicting alias sets but have no aliased
	symbols in common, add one tag to the alias set of the other.
	(setup_pointers_and_addressables): Remove hack to deal with
	programs with no aliased symbols.
	(may_alias_p): Don't special case aggregate types.


testsuite/ChangeLog

	PR tree-optimization/15262
	* gcc.c-torture/execute/pr15262-1.c: New test.
	* gcc.c-torture/execute/pr15262-2.c: New test.

From-SVN: r87515
2004-09-14 18:45:54 -04:00
Joseph Myers
0e6d31fb86 re PR c/15498 (typo in gcc manual: non-existing locale example en_UK, should be en_GB)
PR c/15498
	* doc/invoke.texi (Environment Variables): Correct example locale.

From-SVN: r87513
2004-09-14 23:30:38 +01:00
Joseph Myers
807ab1f2aa be.po, [...]: Update.
* be.po, ca.po, da.po, de.po, el.po, es.po, fr.po, ja.po, nl.po,
	sv.po, tr.po: Update.
	* gcc.pot: Regenerate.

From-SVN: r87507
2004-09-14 21:31:30 +01:00
Jan Hubicka
ab3b679505 * cfg.c (expunge_block): Revert previous change adding ggc_free call.
From-SVN: r87506
2004-09-14 20:09:47 +00:00
Mark Mitchell
0393a68af0 * config.gcc: Do not build a shared libgcc for arm-none-eabi.
From-SVN: r87504
2004-09-14 19:58:49 +00:00
Mark Mitchell
0c0f840919 config.gcc: Do not build a shared libgcc for arm-none-eabi.
* config.gcc: Do not build a shared libgcc for arm-none-eabi.

[[Split portion of a mixed commit.]]

From-SVN: r87503.2
2004-09-14 19:58:43 +00:00
Joseph Myers
3b53cddc38 c-tree.h (struct c_declspecs): Add const_p, volatile_p and restrict_p.
* c-tree.h (struct c_declspecs): Add const_p, volatile_p and
	restrict_p.
	(struct c_declarator): Change u.array.quals and pointer_quals to
	int.  Add u.array.attrs.
	(quals_from_declspecs): New.
	* c-decl.c (quals_from_declspecs): New.
	(shadow_tag_warned): Give more specific message for useless type
	qualifiers.
	(build_array_declarator, set_array_declarator_inner,
	grokdeclarator, make_pointer_declarator, build_null_declspecs,
	declspecs_add_qual): Update for changed structures.

testsuite:
	* gcc.dg/declspec-12.c: New test.

From-SVN: r87500
2004-09-14 19:59:38 +01:00
Jeff Law
a6e1aa26d9 tree-ssa-dom.c (stmts_to_rescan): Move from a block-local varray to a global varray.
* tree-ssa-dom.c (stmts_to_rescan): Move from a block-local varray
        to a global varray.
        (tree_ssa_dominator_optimize): Allocate stmts_to_rescan.
        (dom_opt_initialize_block_local_data): No longer test stmts_to_rescan's
        state.
        (dom_opt_finalize_block): Update due to change in scope of
        stmts_to_rescan.
        (optimize_stmt): Similarly.

From-SVN: r87494
2004-09-14 09:15:34 -06:00
Kazu Hirata
13795658b5 data.c, [...]: Fix comment typos.
* data.c, decl.c, f95-lang.c, gfortran.h, match.c,
	trans-array.c, trans-common.c, trans-expr.c,
	trans-intrinsic.c, trans-stmt.c, trans-types.c, trans.h: Fix
	comment typos.  Follow spelling conventions.

From-SVN: r87492
2004-09-14 12:37:28 +00:00
Nathan Sidwell
98ddffc1c1 * pt.c (unify): Replace gcc_unreachable with gcc_assert.
From-SVN: r87491
2004-09-14 12:35:28 +00:00
Kazu Hirata
8e3c61c577 cgraph.h, [...]: Fix comment typos.
* cgraph.h, cgraphunit.c, fold-const.c, lambda-mat.c,
	lambda.h, profile.c, tree-optimize.c, tree-sra.c, vec.h: Fix
	comment typos.  Follow spelling conventions.

From-SVN: r87490
2004-09-14 12:21:44 +00:00
Kazu Hirata
0e40b5f29a darwin-c.c, [...]: Follow spelling conventions.
* config/darwin-c.c, config/alpha/alpha.c, config/i386/i386.c,
	config/i386/predicates.md, config/sparc/sparc.c: Follow
	spelling conventions.

From-SVN: r87489
2004-09-14 10:46:00 +00:00
Bud Davis
8121b89976 pr17090.f90: Add directives to test.
2004-09-14  Bud Davis  <bdavis9659@comcast.net>

        * gfortran.dg/pr17090.f90: Add directives to test.

From-SVN: r87488
2004-09-14 09:47:09 +00:00
Zdenek Dvorak
113d659afd Makefile.in (loop-unroll.o): Add HASHTAB_H and RECOG_H dependency.
* Makefile.in (loop-unroll.o): Add HASHTAB_H and RECOG_H dependency.
	* basic-block.h (struct reorder_block_def): Add copy_number field.
	* cfgloop.h (biv_p): Declare.
	* cfgloopmanip.c (duplicate_loop_to_header_edge): Set copy_number.
	* common.opt (fsplit-ivs-in-unroller): New flag.
	* loop-iv.c (biv_p): New function.
	* loop-unroll.c: Include hashtab.h and recog.h.
	(struct iv_to_split, struct split_ivs_info): New types.
	(analyze_ivs_to_split, si_info_start_duplication, split_ivs_in_copies,
	free_si_info, si_info_hash, si_info_eq, analyze_iv_to_split_insn,
	determine_split_iv_delta, get_ivts_expr, allocate_basic_variable,
	insert_base_initialization, split_iv): New functions.
	(peel_loop_completely, unroll_loop_constant_iterations,
	unroll_loop_runtime_iterations, peel_loop_simple, unroll_loop_stupid):
	Use them.
	* doc/invoke.texi (-fsplit-ivs-in-unroller): Document.

Co-Authored-By: Steven Bosscher <stevenb@suse.de>

From-SVN: r87487
2004-09-14 08:05:46 +00:00
Zdenek Dvorak
d840495b15 tree-cfg.c (thread_jumps): Update dominators correctly in case destination of threaded edge dominates its...
* tree-cfg.c (thread_jumps): Update dominators correctly in
	case destination of threaded edge dominates its source.

From-SVN: r87486
2004-09-14 07:49:04 +00:00
Zdenek Dvorak
c94583fe55 unroll.c: Removed.
* unroll.c: Removed.
	* loop.h: Removed.
	* Makefile.in (LOOP_H, unroll.o): Removed.
	(toplev.o, passes.o, stmt.o, integrate.o, loop.o): Remove LOOP_H
	dependency.
	* alias.c (init_alias_analysis): Remove flag_old_unroll_loops
	reference.
	* cfgloop.h (LOOP_PREFETCH, loop_optimize): Moved from loop.h.
	* common.opt (fold-unroll-loops, fold-unroll-all-loops): Removed.
	* loop.c: Do not include loop.h.
	(LOOP_INFO, LOOP_MOVABLES, LOOP_REGS, LOOP_IVS, INSN_LUID,
	REGNO_FIRST_LUID, REGNO_LAST_LUID, enum g_types, struct induction,
	struct iv_class, enum iv_mode, struct iv, REG_IV_TYPE, REG_IV_INFO,
	REG_IV_CLASS, struct loop_ivs, struct loop_mem_info, struct loop_reg,
	struct loop_regs, struct loop_movables, struct loop_info): Moved
	from loop.h.
	(back_branch_in_range_p, fold_rtx_mult_add, biv_total_increment,
	reg_dead_after_loop, final_biv_value, loop_find_equiv_value,
	find_common_reg_term, loop_iterations, final_giv_value): Moved
	from unroll.c.
	(uid_luid, uid_loop, max_uid_for_loop, max_reg_before_loop,
	loop_dump_stream, for_each_insn_in_loop, express_from,
	extend_value_for_giv, loop_iv_add_mult_emit_before,
	loop_iv_add_mult_sink, loop_iv_add_mult_hoist,
	loop_insn_first_p, get_condition_for_loop,
	loop_insn_emit_before, loop_insn_hoist,
	loop_insn_sink): Made static.
	(loop_invariant_p): Made static.  Removed flag_old_unroll_loops
	reference.
	(strength_reduce): Do not call unroller.
	(record_giv): Do not initialize unrolled field.
	(prescan_loop): Do not set loop_info->preconditioned.
	* passes.c: Do not include loop.h.
	(rest_of_handle_loop_optimize): Do not call unroller.
	* predict.c: Do not include loop.h.
	* rtl.h (NOTE_PRECONDITIONED): Removed.
	* stmt.c: Do not include loop.h.
	* toplev.c: Do not include loop.h.
	(process_options): Do not handle flag_old_unroll_loops.

	* doc/invoke.texi (fold-unroll-loops, fold-unroll-all-loops):
	Documentation removed.
	* doc/passes.texi (unroll.c, loop.h): Documentation removed.

From-SVN: r87485
2004-09-14 07:43:08 +00:00
Nathan Sidwell
032618223b Makefile.in (STAGE1_CHECKING): New variable.
* Makefile.in (STAGE1_CHECKING): New variable.
	(stage1_build): Use it.
	* tree-ssa.c (verify_ssa): Preserve state of dominance
	information.

From-SVN: r87484
2004-09-14 07:20:05 +00:00
Mark Mitchell
a52eb3bc7c re PR c++/16162 (Rejects valid member-template-definition)
PR c++/16162
	* parser.c (cp_parser_id_expression): Correct value for
	is_declarator.
	(cp_parser_nested_name_specifier_opt): Look through typenames as
	necessary.
	(cp_parser_template_name): Honor check_dependency_p.

	PR c++/16162
	* g++.dg/template/decl2.C: New test.

From-SVN: r87483
2004-09-14 05:44:39 +00:00
Uros Bizjak
869d095e24 i386.c (output_fp_compare): Add generation of ftst instruction.
* config/i386/i386.c (output_fp_compare): Add generation
	of ftst instruction.
	* config/i386/i386.md (*cmpfp_0_sf, cmpfp_0_df, cmpfp_0_xf):
	Use output_fp_compare () function.
	(cmpfp_i, *cmpfp_i_sse, *cmpfp_i_sse_only): Fix insn constraint.
	(fix_truncdi_memory): Remove operands[5] copy.

From-SVN: r87482
2004-09-14 07:21:51 +02:00
Kazu Hirata
19525b57d1 m32r.md, [...]: Fix comment typos.
* config/m32r/m32r.md, config/m68k/m68kelf.h,
	config/mcore/mcore.md, config/rs6000/linux64.h,
	config/rs6000/rs6000.c, config/sparc/sparc.c: Fix comment
	typos.

From-SVN: r87481
2004-09-14 04:05:40 +00:00
James E Wilson
a140c081d1 Fix gen-proto (fixproto) build failure.
* Makefile.in (GEN_PROTOS_OBJS): Add $(BUILD_ERRORS).
* gen-protos.c: Include errors.h.
(progname): Delete.

From-SVN: r87480
2004-09-13 20:45:46 -07:00
Tom Tromey
4a2dd6fe83 re PR java/17216 (ICE in 3.5, error in 3.4.1 when compiling .class->.o)
PR java/17216:
	* class.c (layout_class_method): Put synthetic methods into the
	vtable.

From-SVN: r87477
2004-09-14 01:50:12 +00:00
Bud Davis
c72477d6a6 re PR libfortran/17090 (Runtime I/O error)
2004-09-13  Bud Davis  <bdavis9659@comcast.net>

        PR fortran/17090

        * io/list_read.c (list_formatted_read): Handle trailing spaces
        at end of line.


2004-09-13  Bud Davis  <bdavis9659@comcast.net>

        PR fortran/17090
        * gfortran.dg/pr17090.f90: New test.

From-SVN: r87474
2004-09-14 00:56:46 +00:00
Jan Hubicka
b6acab32f1 Makefile.in (predict.o): Depend on tree-scalar-evolution.h
* Makefile.in (predict.o): Depend on tree-scalar-evolution.h
	* predict.c: Include tree-scalar-evolution.h and cfgloop.h
	(predict_loops): Use number_of_iterations_exit to predict
	number of iterations on trees.

From-SVN: r87473
2004-09-14 00:52:41 +00:00
Kenneth Zadeck
fa9be75f70 Had wrong date on my the entry.
From-SVN: r87469
2004-09-14 00:40:06 +00:00
Dale Johannesen
c1bbfd3cf8 Fix PR 17408 and PR 17409.
From-SVN: r87468
2004-09-14 00:35:02 +00:00
Mark Mitchell
3590f0a64a re PR c++/16716 (ICE in cp_parser_parse_and_diagnose_invalid_type_name)
PR c++/16716
	* parser.c (cp_parser_parse_and_diagnose_invalid_type_name):
	Robustify.

	PR c++/17327
	* pt.c (unify): Add ENUMERAL_TYPE case.  Replace sorry with
	gcc_unreacable.

	PR c++/16716
	* g++.dg/parse/crash17.C: New test.

	PR c++/17327
	* g++.dg/template/enum3.C: New test.

From-SVN: r87467
2004-09-14 00:29:03 +00:00
GCC Administrator
86620a426f Daily bump.
From-SVN: r87465
2004-09-14 00:16:15 +00:00
Paul Brook
b9705a212d arm.c (arm_expand_prologue): Make args_to_push a HOST_WIDE_INT.
* config/arm/arm.c (arm_expand_prologue): Make args_to_push a
	HOST_WIDE_INT.

[[Split portion of a mixed commit.]]

From-SVN: r87459.2
2004-09-14 00:05:16 +00:00
Daniel Jacobowitz
b919325985 fold-const.c (fold_checksum_tree): Ignore TYPE_CACHED_VALUES.
* fold-const.c (fold_checksum_tree): Ignore TYPE_CACHED_VALUES.
	Only use TYPE_BINFO for aggregates.

From-SVN: r87457
2004-09-13 23:25:45 +00:00
Daniel Jacobowitz
3ab0f29005 expmed.c (synth_mult): Initialize latency.
* expmed.c (synth_mult): Initialize latency.  Check cost before
	checking ops count.

From-SVN: r87456
2004-09-13 23:25:12 +00:00
Kenneth Zadeck
6674a6ce49 New code to analyze file level static variables and to determine if...
New code to analyze file level static variables and to determine if
they escape and also code to use this information to prune clobber
lists.

From-SVN: r87455
2004-09-13 22:51:01 +00:00
Hans-Peter Nilsson
8800e5337a gcc-defs.exp: Load wrapper.exp.
* lib/gcc-defs.exp: Load wrapper.exp.
	* lib/g++.exp (g++_init): Call g++_maybe_build_wrapper instead of
	using local code.
	* lib/gcc.exp (gcc_init): Similar.
	* lib/gfortran.exp (gfortran_init): Similar.
	* lib/objc.exp (objc_init): Similar.
	* lib/treelang.exp (treelang_init): Similar.
	* lib/wrapper.exp: New file with build_wrapper call machinery in
	${tool}_maybe_build_wrapper.

From-SVN: r87451
2004-09-13 21:20:12 +00:00
Joseph Myers
61f4f1cc3d c-decl.c (grokdeclarator): Correct comments about where storage class specifiers are rejected by grammar...
* c-decl.c (grokdeclarator): Correct comments about where storage
	class specifiers are rejected by grammar and add corresponding
	asserts.  Diagnose typedefs and parameters declared inline.
	Change warning for inline main to a pedwarn.  Only diagnose inline
	main if hosted.
	(declspecs_add_scspec): Allow duplicate "inline".

testsuite:
	* gcc.dg/declspec-7.c: Don't expect diagnostic for duplicate
	"inline".
	* gcc.dg/declspec-11.c: Update expected messages.
	* gcc.dg/inline-6.c, gcc.dg/inline-7.c, gcc.dg/inline-8.c,
	gcc.dg/inline-9.c, gcc.dg/inline-10.c, gcc.dg/inline-11.c,
	gcc.dg/inline-12.c: New tests.

From-SVN: r87450
2004-09-13 22:00:33 +01:00
Andrew MacLeod
b4cb0e432b pr17400.C: New testcase.
2004-09-13  Andrew MacLeod  <amacleod@redhat.com>

	* g++.dg/tree-ssa/pr17400.C: New testcase.

From-SVN: r87449
2004-09-13 20:40:44 +00:00
Steve Ellcey
88ed5ef592 ia64.c (ia64_scalar_mode_supported_p): New.
* config/ia64/ia64.c (ia64_scalar_mode_supported_p): New.
	(TARGET_SCALAR_MODE_SUPPORTED_P): New.

From-SVN: r87448
2004-09-13 20:34:55 +00:00
Richard Henderson
a5bfe14186 re PR tree-optimization/17436 (Huge memory use regression)
PR 17436
        * tree.h (TYPE_CONTAINS_PLACEHOLDER_INTERNAL): New.
        (tree_type): Replace spare with contains_placeholder_bits.
        (type_contains_placeholder_1): Rename from type_contains_placeholder_p,
        make static.  Remove seen_types list.
        (type_contains_placeholder_p): New.

From-SVN: r87447
2004-09-13 13:27:05 -07:00
James E Wilson
1823bf53ab SB-1 specific MIPS vector instructions.
* config/mips/mips.c (CODE_FOR_mips_sqrt_ps): New.
(sb1_bdesc, bdesc_map, bdesc_arrays): New.
(mips_expand_builtin): Add SB-1 support.  Use bdesc_map and
bdesc_arrays instead of mips_bdesc.
(mips_init_builtins): Likewise.
* config/mips/mips.h (TARGET_SB1): New.
(HAVE_SQRT_P): Delete.
* config/mips/mips.md (divide_condition): Support V2SF.
(sqrt_condition, recip_condition): New.
(div<mode>3): Use ANYF instead of SCALARF.
(*div<mode>3): Use ANYF instead of SCALARF.  Use UNITMODE instead of
MODE.
(*recip<mode>3, *rsqrt<mode>a, *rsqrt<mode>b): Use recip_condition
instead of ISA_HAS_FP4.  Use ANYF instead of SCALARF.  Use UNITMODE
instead of MODE.
(sqrt<mode>2): Use sqrt_condition instead of HAVE_SQRT_P.  Use ANYF
instead of SCALARF.  Use UNITMODE instead of MODE.
* gcc.target/mips/sb1-1.c: New testcase.

From-SVN: r87446
2004-09-13 12:32:05 -07:00
Zack Weinberg
c8a5252554 * config.in: Regenerate after removal of libbanshee.
From-SVN: r87444
2004-09-13 19:25:42 +00:00
Andrew MacLeod
a78e238e48 re PR tree-optimization/17400 (out of SSA corruption)
2004-09-13  Andrew MacLeod  <amacleod@redhat.com>

	PR tree-optimization/17400
	* tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
	coalesce partitions when one occurs in an abnormal PHI.

From-SVN: r87443
2004-09-13 19:12:14 +00:00
Andrew Pinski
5547b98291 darwin.h (ASM_OUTPUT_COMMON): Change variable size's name to _new_size.
2004-09-13  Andrew Pinski  <apinski@apple.com>

        * config/rs6000/darwin.h (ASM_OUTPUT_COMMON): Change variable size's
        name to _new_size.

From-SVN: r87442
2004-09-13 10:30:56 -07:00
Arnaud Charlet
c885d7a17a [multiple changes]
2004-09-09  Vincent Celier  <celier@gnat.com>

	* a-direct.ads: Add pragma Ada_05
	(Directory_Entry_Type): Give default value to component Kind to avoid
	not initialized warnings.

	* a-direct.adb (Current_Directory): Remove directory separator at the
	end.
	(Delete_Directory, Delete_Tree): Raise Name_Error if Directory is not
	an existing directory.
	(Fetch_Next_Entry): Give default value to variable Kind to avoid warning
	(Size (String)): Function C_Size returns Long_Integer, not File_Size.
	Convert the result to File_Size.

	* prj.ads: (Project_Error): New exception

	* prj-attr.adb: Except in procedure Initialize, Fail comes from
	Prj.Com, not from Osint.
	(Attrs, Package_Attributes): Tables moved to private part of spec
	(Add_Attribute, Add_Unknown_Package): Moved to new child package
	Prj.Attr.PM.
	(Register_New_Package (Name, Attributes), Register_New_Attribute): Raise
	Prj.Project_Error after call to Fail.
	(Register_New_Package (Name, Id)): Set Id to Empty_Package after calling
	Fail. Check that package name is not already in use.

	* prj-attr.ads: Comment updates to indicate that all subprograms may be
	used by tools, not only by the project manager, and to indicate that
	exception Prj.Prj_Error may be raised in case of problem.
	(Add_Unknown_Package, Add_Attribute): Moved to new child package
	Prj.Attr.PM.
	(Attrs, Package_Attributes): Table instantiations moved from the body to
	the private part to be accessible from Prj.Attr.PM body.

	* prj-dect.adb (Parse_Package_Declaration): Call Add_Unknown_Package
	from new package Prj.Attr.PM.
	(Parse_Attribute_Declaration): Call Add_Attribute from new package
	Prj.Attr.PM.

	* Makefile.in: Add prj-attr-pm.o to gnatmake object list

	* gnatbind.adb (Gnatbind): Correct warning message (Elaboration_Check
	instead of Elaboration_Checks).

	* a-calend.adb: Minor reformatting

2004-09-09  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* gigi.h (maybe_pad_type): New declaration.
	(create_subprog_type): New arg RETURNS_BY_TARGET_PTR.

	* ada-tree.h: (TYPE_RETURNS_BY_TARGET_PTR_P): New macro.

	* cuintp.c: Convert to use buildN.

	* decl.c (maybe_pad_type): No longer static.
	(gnat_to_gnu_entity, case E_Function): Handle case of returning by
	target pointer.
	Convert to use buildN.

	* trans.c (call_to_gnu): Add arg GNU_TARGET; support
	TYPE_RETURNS_BY_TARGET_PTR_P.  All callers changed.
	(gnat_to_gnu, case N_Assignment_Statement): Call call_to_gnu if call on
	RHS.
	(gnat_to_gnu, case N_Return): Handle TYPE_RETURN_BY_TARGET_PTR_P.
	(gnat_gimplify_expr, case ADDR_EXPR): New case.
	Convert to use buildN.

	* utils2.c (gnat_build_constructor): Also set TREE_INVARIANT and
	TREE_READONLY for const.
	Convert to use buildN.

	* utils.c (create_subprog_type): New operand RETURNS_BY_TARGET_PTR.
	(create_var_decl): Refine when TREE_STATIC is set.
	Convert to use buildN.

2004-09-09  Gary Dismukes  <dismukes@gnat.com>

	* gnat_ugn.texi: Delete text relating to checking of ali and object
	consistency.

	* a-except.adb (Rcheck_*): Add pragmas No_Return for each of these
	routines.

2004-09-09  Jose Ruiz  <ruiz@act-europe.fr>

	* gnat_ugn.texi: Add Detect_Blocking to the list of configuration
	pragmas recognized by GNAT.

	* gnat_rm.texi: Document pragma Detect_Blocking.

	* s-solita.adb (Timed_Delay_T): When pragma Detect_Blocking is active,
	raise Program_Error if called from a protected operation.

	* s-taprob.adb (Lock): When pragma Detect_Blocking is active increase
	the protected action nesting level.
	(Lock_Read_Only): When pragma Detect_Blocking is active increase the
	protected action nesting level.
	(Unlock): When pragma Detect_Blocking is active decrease the protected
	action nesting level.

	* s-taskin.adb (Initialize_ATCB): Initialize to 0 the
	Protected_Action_Nesting.

	* s-taskin.ads: Adding the field Protected_Action_Nesting to the
	Common_ATCB record. It contains the dynamic level of protected action
	nesting for each task. It is needed for checking whether potentially
	blocking operations are called from protected operations.
	(Detect_Blocking): Adding a Boolean constant reflecting whether pragma
	Detect_Blocking is active or not in the partition.

	* s-tasren.adb (Call_Simple): When pragma Detect_Blocking is active,
	raise Program_Error if called from a protected operation.
	(Task_Entry_Call): When pragma Detect_Blocking is active, raise
	Program_Error if called from a protected operation.
	(Timed_Task_Entry_Call): When pragma Detect_Blocking is active, raise
	Program_Error if called from a protected operation.

	* s-tassta.adb (Abort_Tasks): When pragma Detect_Blocking is active,
	raise Program_Error if called from a protected operation.

	* s-tpoben.adb (Lock_Entries): When pragma Detect_Blocking is active,
	raise Program_Error if called from a protected operation, and increase
	the protected action nesting level.
	(Lock_Read_Only_Entries): When pragma Detect_Blocking is active, raise
	Program_Error if called from a protected operation, and increase the
	protected action nesting level.
	(Unlock_Entries): When pragma Detect_Blocking is active decrease the
	protected action nesting level.

	* s-tposen.adb (Lock_Entry): When pragma Detect_Blocking is active,
	raise Program_Error if called from a protected operation, and increase
	the protected action nesting level.
	(Lock_Read_Only_Entry): When pragma Detect_Blocking is active, raise
	Program_Error if called from a protected operation, and increase the
	protected action nesting level.
	(Protected_Single_Entry_Call): When pragma Detect_Blocking is active,
	raise Program_Error if called from a protected operation.
	(Timed_Protected_Single_Entry_Call): When pragma Detect_Blocking is
	active, raise Program_Error if called from a protected operation.
	(Unlock_Entry): When pragma Detect_Blocking is active decrease the
	protected action nesting level.

	* sem_util.adb (Check_Potentially_Blocking_Operation): Remove the
	insertion of the statement raising Program_Error. The run time
	contains the required machinery for handling that.

	* sem_util.ads: Change comment associated to procedure
	Check_Potentially_Blocking_Operation.
	This procedure does not insert a call for raising the exception because
	that is currently done by the run time.

	* raise.h (__gnat_set_globals): Pass the detect_blocking parameter.

	* init.c: Add the global variable __gl_detect_blocking that indicates
	whether pragma Detect_Blocking is active (1) or not (0). Needed for
	making the pragma available at run time.
	(__gnat_set_globals): Pass and update the detect_blocking parameter.

	* lib-writ.adb (Write_ALI): Set the DB flag in the ali file if
	pragma Detect_Blocking is active.

	* lib-writ.ads: Document the Detect_Blocking flag (DB) in ali files.

	* ali.adb (Scan_ALI): Set the Detect_Blocking value to true if the flag
	DB is found in the ali file. Any unit compiled with pragma
	Detect_Blocking active forces its effect in the whole partition.

	* a-retide.adb (Delay_Until): Raise Program_Error if pragma
	Detect_Blocking is active and delay is called from a protected
	operation.

	* bindgen.adb (Gen_Adainit_Ada): When generating the call to
	__gnat_set_globals, pass 1 as Detect_Blocking parameter if pragma
	Detect_Blocking is active (0 otherwise).
	(Gen_Adainit_C): When generating the call to __gnat_set_globals, pass 1
	as Detect_Blocking parameter if pragma Detect_Blocking is active (0
	otherwise).

2004-09-09  Thomas Quinot  <quinot@act-europe.fr>

	* gnat_rm.texi: Rename GNAT.Perfect_Hash.Generators to
	GNAT.Perfect_Hash_Generators, and remove the empty GNAT.Perfect_Hash
	package.

	* s-parint.ads, s-parint.adb (Get_RAS_Info): New subprogram.
	(Register_Receiving_Stub): Add Subp_Info formal parameter.
	Update API in placeholder implemetation of s-parint to reflect changes
	in distribution runtime library.

	* sem_ch3.adb (Expand_Derived_Record): Rename to
	Expand_Record_Extension.

	* sem_disp.adb (Check_Controlling_Formals): Improve error message for
	primitive operations of potentially distributed object types that have
	non-controlling anonymous access formals.

	* sem_dist.ads, sem_dist.adb (Build_RAS_Primitive_Specification): New
	subprogram.
	New implementation of expansion for remote access-to-subprogram types,
	based on the RACW infrastructure.
	This version of sem_dist is compatible with PolyORB/DSA as well as
	GLADE.

	* sem_prag.adb (Analyze_Pragma, case Pragma_Asynchronous): For a pragma
	Asynchrronous that applies to a remote access-to-subprogram type, mark
	the underlying RACW type as asynchronous.

	* link.c: FreeBSD uses GNU ld: set __gnat_objlist_file_supported and
	 __gnat_using_gnu_linker to 1.

	* Makefile.rtl, impunit.adb, g-perhas.ads, g-pehage.ads,
	g-pehage.adb: Rename GNAT.Perfect_Hash.Generators to
	GNAT.Perfect_Hash_Generators, and remove the empty
	GNAT.Perfect_Hash package.

	* atree.adb: Minor reformatting

	* exp_ch3.adb (Expand_Derived_Record): Rename to
	Expand_Record_Extension.
	(Build_Record_Init_Proc.Build_Assignment): The default expression in
	a component declaration must remain attached at that point in the
	tree so New_Copy_Tree copies it if the enclosing record type is derived.
	It is therefore necessary to take a copy of the expression when building
	the corresponding assignment statement in the init proc.
	As a side effect, in the case of a derived record type, we now see the
	original expression, without any rewriting that could have occurred
	during expansion of the ancestor type's init proc, and we do not need
	to go back to Original_Node.

	* exp_ch3.ads (Expand_Derived_Record): Rename to
	Expand_Record_Extension.

	* exp_dist.ads, exp_dist.adb (Underlying_RACW_Type): New subprogram.
	Returns the RACW type used to implement a remote access-to-subprogram
	type.
	(Add_RAS_Proxy_And_Analyze, Build_Remote_Subprogram_Proxy_Type):
	New subprograms. Used to create a proxy tagged object for a remote
	subprogram. The proxy object is used as the designated object
	for RAS values on the same partition (unless All_Calls_Remote applies).
	(Build_Get_Unique_RP_Call): New subprogram. Build a call to
	System.Partition_Interface.Get_Unique_Remote_Pointer.
	(Add_RAS_Access_TSS, Add_RAS_Dereference_TSS):
	Renamed from Add_RAS_*_Attribute.
	(Add_Receiving_Stubs_To_Declarations): Generate a table of local
	subprograms.
	New implementation of expansion for remote access-to-subprogram types,
	based on the RACW infrastructure.

	* exp_dist.ads (Copy_Specification): Update comment to note that this
	function can copy the specification from either a subprogram
	specification or an access-to-subprogram type definition.

2004-09-09  Ed Schonberg  <schonberg@gnat.com>

	* sem_type.adb (Disambiguate): Handle properly an accidental ambiguity
	in an instance, between an explicit subprogram an one inherited from a
	type derived from an actual.

	* exp_ch6.adb (Expand_N_Subprogram_Body): If polling is enabled, do not
	add a polling call if the subprogram is to be inlined by the back-end,
	to avoid repeated calls with multiple inlinings.

	* checks.adb (Apply_Alignment_Check): If the expression in the address
	clause is a call whose name is not a static entity (e.g. a dispatching
	call), treat as dynamic.

2004-09-09  Robert Dewar  <dewar@gnat.com>

	* g-trasym.ads: Minor reformatting

	* exp_ch3.adb (Component_Needs_Simple_Initialization): Don't except
	packed arrays, since unused bits are expected to be zero for a
	comparison.

2004-09-09  Eric Botcazou  <ebotcazou@act-europe.fr>

	* exp_pakd.ads: Fix an inacurracy and a couple of typos in the head
	comment.

2004-09-09  Pascal Obry  <obry@gnat.com>

	* mdll.ads, mdll.adb (Build_Dynamic_Library): New parameter Map_File to
	enable map file generation. Add the right option to generate the map
	file if Map_File is set to True.

	* gnatdll.adb (Gen_Map_File): New variable.
	(Syntax): Add info about new -m (Map_File) option.
	(Parse_Command_Line): Add support for -m option.
	(gnatdll): Pass Gen_Map_File to Build_Dynamic_Library calls.
	Minor reformatting.

2004-09-09  Laurent Pautet  <pautet@act-europe.fr>

	* gnatls.adb: Add a very verbose mode -V. Such mode is required by the
	new gnatdist implementation.
	Define a subpackage isolating the output routines specific to this
	verbose mode.

2004-09-09  Joel Brobecker  <brobecker@gnat.com>

	* Makefile.rtl: (GNATRTL_NONTASKING_OBJS): Add g-dynhta.

	* gnat_ugn.texi (Main Subprograms): Fix typo. Deduced, not deducted.

2004-09-09  Cyrille Comar  <comar@act-europe.fr>

	* opt.adb (Set_Opt_Config_Switches): Use Ada_Version_Runtime to compile
	internal unit.

	* opt.ads: Add Ada_Version_Runtime constant used to decide which
	version of the language is used to compile the run time.

2004-09-09  Arnaud Charlet  <charlet@act-europe.fr>

	* sem_util.adb (Requires_Transient_Scope): Re-enable handling
	of variable length temporaries for function return now that the
	back-end and gigi support it.

From-SVN: r87435
2004-09-13 12:18:42 +02:00
Steven Bosscher
c892972fa7 fix spaces vs. tabs for scripts.
From-SVN: r87434
2004-09-13 09:46:32 +00:00
Richard Henderson
0d87c76525 re PR inline-asm/6806 (gcc 3.0.4 ignoring clobbered registers in inline asm with -O1 or higher on i386)
PR inline-asm/6806
        * cselib.c (cselib_invalidate_rtx): Export.  Remove unused args.
        (cselib_invalidate_rtx_note_stores): New.
        (cselib_record_sets, cselib_process_insn): Update to match.
        * cselib.h (cselib_invalidate_rtx): Declare.
        * postreload.c (reload_cse_simplify): Invalidate asm clobbers.

From-SVN: r87432
2004-09-13 02:05:31 -07:00
Hans-Peter Nilsson
ddef210a89 g77-dg.exp: Remove unused file.
* lib/g77-dg.exp: Remove unused file.
	* lib/mike-g77.exp: Ditto.
	* lib/g77.exp: Ditto.

From-SVN: r87425
2004-09-13 05:21:04 +00:00
Gabriel Dos Reis
3fcb283bc7 Fix email
From-SVN: r87424
2004-09-13 05:12:55 +00:00
Richard Henderson
84cce55d0e re PR tree-optimization/10528 (Unexpected loop un-optimization when removing a field of a class)
PR tree-opt/10528
        * tree-inline.c (copy_body_r): Recompute bits for ADDR_EXPR,
        after copying its argument.

From-SVN: r87423
2004-09-12 19:28:19 -07:00
Richard Henderson
40b7c2f8d2 * g++.old-deja/g++.other/sizeof3.C: Fix abort declaration.
From-SVN: r87422
2004-09-12 19:14:36 -07:00
GCC Administrator
caddffe40d Daily bump.
From-SVN: r87416
2004-09-13 00:16:13 +00:00
Joseph Myers
bda6743181 c-common.c, [...]: Use %q, %< and %> for quoting in diagnostics.
* c-common.c, c-decl.c, c-lex.c, c-objc-common.c, c-opts.c,
	c-parse.in, c-pragma.c, c-typeck.c: Use %q, %< and %> for quoting
	in diagnostics.  Use %' for English apostrophes.
	* c-tree.h (ATTRIBUTE_GCC_CDIAG): Define.
	(pedwarn_c90, pedwarn_c99): Use it.
	* c-decl.c (lookup_label): Quote label name in diagnostic.
	* c-parse.in (yyprint): Use ' instead of ` for left quote.
	* c-typeck.c (warn_for_assignment): Likewise.

testsuite:
	* g++.dg/warn/Wswitch-1.C, g++.dg/warn/Wswitch-2.C,
	gcc.dg/Wswitch-2.c, gcc.dg/Wswitch-enum.c, gcc.dg/Wswitch.c,
	gcc.dg/declspec-9.c, gcc.dg/declspec-10.c, gcc.dg/declspec-11.c,
	gcc.dg/m-un-2.c, gcc.dg/noreturn-1.c, gcc.dg/wtr-conversion-1.c:
	Update expected messages.

From-SVN: r87413
2004-09-13 00:53:29 +01:00
Hans-Peter Nilsson
924479e8e8 asmreg-1.c (__syscall_getdents64): Adjust signedness declaration/use mismatch for dirp parameter.
* gcc.dg/asmreg-1.c (__syscall_getdents64): Adjust signedness
	declaration/use mismatch for dirp parameter.

From-SVN: r87412
2004-09-12 23:38:07 +00:00
Jan Hubicka
ad7b96a93d i386.c (x86_schedule): New global variable.
* i386.c (x86_schedule): New global variable.
	(override_options): Disable scheduling when not supported.
	* i386.h (x86_schedule): Declare.
	(TARGET_SCHEDULE): New macro.

From-SVN: r87411
2004-09-12 23:31:31 +00:00
Andrew Pinski
a825250617 objc.exp (objc_target_compile): Look for libobjc-gnu.a also when -fgnu-runtime is passed.
2004-09-12  Andrew Pinski  <apinski@apple.com>

        * lib/objc.exp (objc_target_compile): Look for libobjc-gnu.a also when
        -fgnu-runtime is passed.

From-SVN: r87409
2004-09-12 15:43:50 -07:00
Richard Henderson
4c8dad30d2 Test case for PR 16254.
From-SVN: r87408
2004-09-12 14:40:35 -07:00
Richard Henderson
373c0e7f04 re PR c++/16254 (ICE in lower_stmt, at gimple-low.c:205)
PR c++/16254
        * fold-const.c (fold) <case CLEANUP_POINT_EXPR>: Remove.
        * tree.c, tree.h (has_cleanups): Remove.
cp/
        * semantics.c (maybe_cleanup_point_expr): Don't call fold.
        * typeck.c (condition_conversion): Likewise.

From-SVN: r87407
2004-09-12 14:36:50 -07:00
Zdenek Dvorak
7fac672272 tree-ssa-loop-manip.c (split_loop_exit_edge): Handle non-ssaname arguments of the phi nodes correctly.
* tree-ssa-loop-manip.c (split_loop_exit_edge): Handle non-ssaname
	arguments of the phi nodes correctly.

From-SVN: r87405
2004-09-12 20:20:58 +00:00
Jan Hubicka
8591459399 * ggc-common.c (cmp_statistics): Fix sorting.
From-SVN: r87404
2004-09-12 20:14:23 +00:00
David Edelsohn
3d520aaf7d re PR middle-end/16795 (PowerPC - Divide sequences by negative power of two could be more efficient)
PR target/16795
        * expmed.c (expand_divmod): If cheap power of 2 divide is
        available, use it for negative constant as well.

From-SVN: r87403
2004-09-12 16:05:30 -04:00
Andrew Pinski
c92d8761c7 darwin.h (ASM_OUTPUT_COMMON): Make sure we do not have a size of 0.
2004-09-12  Andrew Pinski  <apinski@apple.com>

        * darwin.h (ASM_OUTPUT_COMMON): Make sure we do not have a
        size of 0.

From-SVN: r87401
2004-09-12 11:30:32 -07:00
Andrew Pinski
8f8ccdf330 tree-chrec.c (initialize_scalar_evolutions_analyzer): Remove.
2004-09-12  Andrew Pinski  <apinski@apple.com>

        * tree-chrec.c (initialize_scalar_evolutions_analyzer): Remove.

From-SVN: r87400
2004-09-12 11:19:05 -07:00
Richard Henderson
84d397af34 fortran-torture.exp (add-ieee-options): Replace ieee-options; do the uplevel thing and update additional_flags directly.
* lib/fortran-torture.exp (add-ieee-options): Replace ieee-options;
        do the uplevel thing and update additional_flags directly.
        * gfortran.fortran-torture/execute/intrinsic_fraction_exponent.x,
        gfortran.fortran-torture/execute/intrinsic_nearest.x,
        gfortran.fortran-torture/execute/intrinsic_set_exponent.x,
        gfortran.fortran-torture/execute/nan_inf_fmt.x: Update to match.

From-SVN: r87399
2004-09-12 11:07:28 -07:00
Richard Henderson
93330ea10a i386.c (ix86_split_ashldi): Special case op1 as one or minus one.
* config/i386/i386.c (ix86_split_ashldi): Special case op1 as one
        or minus one.
        (ix86_split_ashrdi, ix86_split_lshrdi): Clean up conditions for
        post-reload, and scratch NULL.
        * config/i386/i386.md (testqi_1): Use FLAGS_REG name.
        (x86_shift_adj_2): Use ix86_expand_clear.
        (ashldi3): Remove CMOVE expansion difference.
        (ashldi3_1): Remove.
        (*ashldi3_1): Rename from *ashldi3_2.  Use reg_or_pm1_operand and
        add constraints for immediates.  New peephole for split-with-temp.
        Run splitter after peep2 pass.
        (ashrdi3, ashrdi3_1, ashrdi3_2): Similarly.
        (lshrdi3, lshrdi3_1, lshrdi3_2): Similarly.
        (setcc_2): Rename with *.
        * config/i386/predicates.md (reg_or_pm1_operand): New.
        (ashldi_input_operand): New.

From-SVN: r87398
2004-09-12 11:00:49 -07:00
Richard Henderson
21076c8ec3 print-rtl.c (print_decl_name): New.
* print-rtl.c (print_decl_name): New.
        (print_mem_expr): Use it.

From-SVN: r87395
2004-09-12 10:27:04 -07:00
Richard Henderson
f6a41d1764 PR 17186, part deux
PR 17186, part deux
        * except.c (sjlj_emit_function_exit): Fix logic locating
        sjlj_exit_after in final block.

From-SVN: r87394
2004-09-12 10:22:03 -07:00
Steven Bosscher
ef685027b5 * g++.dg/parse/break-in-for.C: Fix for -ansi -pedantic-errors.
From-SVN: r87387
2004-09-12 10:33:07 +00:00
Toon Moene
a924fe3411 common.opt: Remove flags -fmove-all-movables and -freduce-all-givs.
2004-09-12  Toon Moene  <toon@moene.indiv.nluug.nl>

	* common.opt: Remove flags -fmove-all-movables and
	-freduce-all-givs.
	* loop-invariant.c (find_invariants_to_move):
	Remove all uses of flag_move_all_movables.
	* loop.c (move_movables): Remove all uses of
	flag_move_all_movables.
	(strength_reduce): Remove all uses of
	flag_reduce_all_givs.
	* doc/invoke.texi: Remove documentation of flags
	-fremove-all-movables and -freduce-all-givs.

From-SVN: r87386
2004-09-12 05:51:02 +00:00
Richard Henderson
0fe0caa6d9 pt.c (cur_stmt_expr): Move from tsubst_expr.
* pt.c (cur_stmt_expr): Move from tsubst_expr.
        (tsubst_expr) <case STMT_EXPR>: Move ...
        (tsubst_copy_and_build): ... here.

From-SVN: r87385
2004-09-11 21:45:59 -07:00
GCC Administrator
97b7c168e5 Daily bump.
From-SVN: r87380
2004-09-12 00:16:15 +00:00
Roger Sayle
ec76a0e0bf re PR middle-end/17411 (ICE in immed_double_const)
PR middle-end/17411
	* tree-sra.c (generate_element_zero): Revert recent build_int_cst
	change. elt->type may be a floating point type, so use fold_convert.

	* g++.dg/opt/pr17411-1.C: New test case.

From-SVN: r87377
2004-09-11 23:44:21 +00:00
Joseph Myers
d6a1dfd98b c-tree.h (enum c_storage_class): New.
* c-tree.h (enum c_storage_class): New.
	(struct c_declspecs): Add storage_class, inline_p and thread_p.
	* c-decl.c (shadow_tag_warned): Give errors for "inline" in empty
	declarations and "auto" or "register" in file scope empty
	declarations.  Give more specific warnings for other cases of
	storage class specifiers in empty declarations.
	(grokdeclarator): Update for new structures.  Don't check for
	multiple storage classes.  Diagnose file-scope "register" if
	pedantic.
	(build_null_declspecs): Update.
	(declspecs_add_scspec): Update.  Diagnose multiple storage class
	specifiers and invalid uses of "__thread".

testsuite:
	* gcc.dg/declspec-4.c, gcc.dg/declspec-5.c, gcc.dg/declspec-6.c,
	gcc.dg/tls/diag-2.c: Update expected messages.
	* gcc.dg/991209-1.c: Specify compilation options.  Update expected
	messages.
	* gcc.dg/pr14289-2.c, gcc.dg/pr14289-3.c: Remove.
	* gcc.dg/declspec-7.c, gcc.dg/declspec-8.c, gcc.dg/declspec-9.c,
	gcc.dg/declspec-10.c, gcc.dg/declspec-11.c, gcc.dg/tls/diag-4.c,
	gcc.dg/tls/diag-5.c: New tests.

From-SVN: r87376
2004-09-11 23:15:14 +01:00
Geoffrey Keating
ca472546d5 darwin.c (machopic_validate_stub_or_non_lazy_ptr): Mark the thing referenced as used, not the stub itself.
* config/darwin.c (machopic_validate_stub_or_non_lazy_ptr): Mark
	the thing referenced as used, not the stub itself.

From-SVN: r87375
2004-09-11 21:39:27 +00:00
Joseph Myers
9a26d6ee08 c-tree.h (enum c_storage_class): New.
* c-tree.h (enum c_storage_class): New.
	(struct c_declspecs): Add storage_class, inline_p and thread_p.
	* c-decl.c (shadow_tag_warned): Give errors for "inline" in empty
	declarations and "auto" or "register" in file scope empty
	declarations.  Give more specific warnings for other cases of
	storage class specifiers in empty declarations.
	(grokdeclarator): Update for new structures.  Don't check for
	multiple storage classes.  Diagnose file-scope "register" if
	pedantic.
	(build_null_declspecs): Update.
	(declspecs_add_scspec): Update.  Diagnose multiple storage class
	specifiers and invalid uses of "__thread".

testsuite:
	* gcc.dg/declspec-4.c, gcc.dg/declspec-5.c, gcc.dg/declspec-6.c,
	gcc.dg/tls/diag-2.c: Update expected messages.
	* gcc.dg/991209-1.c: Specify compilation options.  Update expected
	messages.
	* gcc.dg/pr14289-2.c, gcc.dg/pr14289-3.c: Remove.
	* gcc.dg/declspec-7.c, gcc.dg/declspec-8.c, gcc.dg/declspec-9.c,
	gcc.dg/declspec-10.c, gcc.dg/declspec-11.c, gcc.dg/tls/diag-4.c,
	gcc.dg/tls/diag-5.c: New tests.

From-SVN: r87374
2004-09-11 22:29:42 +01:00
Zack Weinberg
e685805744 * gcc.dg/20040910-1.c: Correct dg-error regexp.
From-SVN: r87373
2004-09-11 21:17:23 +00:00
Zack Weinberg
a38b644be6 tree.c (tree_code_size): New function, bulk of code from tree_size.
* tree.c (tree_code_size): New function, bulk of code from tree_size.
	(tree_size, make_node): Use it.
	* tree-ssa-pre.c (init_pre): Use it.
	* tree.h: Prototype it.

From-SVN: r87371
2004-09-11 21:14:39 +00:00
Andrew Pinski
68a97276d6 Make-lang.in (java/ggc-none.c): Change dependency for ggc.h into $(GGC_H).
2004-09-11  Andrew Pinski  <apinski@apple.com>

        * Make-lang.in (java/ggc-none.c): Change dependency
        for ggc.h into $(GGC_H).

From-SVN: r87370
2004-09-11 13:48:55 -07:00
Zdenek Dvorak
30d396e3d5 tree-cfg.c (set_bb_for_stmt): Use PHI_BB.
* tree-cfg.c (set_bb_for_stmt): Use PHI_BB.
	* tree-dfa.c (compute_immediate_uses, add_immediate_use,
	redirect_immediate_use): Use PHI_DF.
	* tree-flow-inline.h (stmt_ann): Abort on phi nodes.
	(bb_for_stmt): Use PHI_BB.
	(get_immediate_uses): Use PHI_DF.
	* tree-ssa-dse.c (max_stmt_uid): New variable.
	(get_stmt_uid): New function.
	(dse_optimize_stmt, dse_record_phis, tree_ssa_dse): Do not use phi
	node annotations.
	* tree-ssa-loop-im.c (LIM_DATA): Do not use phi statement annotations.
	(max_uid): Renamed to max_stmt_uid.
	(get_stmt_uid): New function.
	(maybe_queue_var, single_reachable_address, determine_lsm): Do not use
	phi node annotations.
	* tree-ssa.c (replace_immediate_uses): Do not use phi node annotations.
	* tree.h (PHI_BB, PHI_DF): New accessor functions.
	(struct tree_phi_node): Add bb and df fields.

From-SVN: r87369
2004-09-11 20:42:06 +00:00
Richard Henderson
f4a6d54edd re PR middle-end/17416 (stack variable merging doesn't work)
PR middle-end/17416
        * cfgexpand.c (expand_used_vars_for_block): Fix off-by-one bug
        in conflict loop.

From-SVN: r87366
2004-09-11 13:07:11 -07:00
Jan Hubicka
1d1df0df43 i386.h (MODE_NEEDED): Calls need UNINITIALIZED mode; add comment.
* i386.h (MODE_NEEDED): Calls need UNINITIALIZED mode; add comment.
	(EMIT_MODE_SET): UNINITIALIZED mode needs no set.
	* i386.md (i387_cw): Add 'uninitialized' mode.

From-SVN: r87365
2004-09-11 19:54:21 +00:00
Jan Hubicka
f43329a5ae profile.c (BB_TO_GCOV_INDEX): move more to the front.
* profile.c (BB_TO_GCOV_INDEX): move more to the front.
	(output_location): Break out from ....
	(branch_prob): ... here; handle gcov output on trees.
	* toplev.c (process_options): No longer be sorry about coverage for
	trees.

From-SVN: r87364
2004-09-11 19:50:21 +00:00
Steven Bosscher
05cf561db4 re PR c++/17412 (tree check failure in fold-const)
PR c++/17412
	* fold-const.c (fold): Do not try to fold the operand of a
	CLEANUP_POINT_EXPR if that operand does itself not have any
	operands.
testsuite/
	* g++.dg/parse/break-in-for.C: New test.

	PR middle-end/17417
	* langhooks.c (lhd_decl_printable_name): Make sure that this
	function is called with is a decl node that has an identifier.
	* tree-pretty-print.c (dump_function_name): New function to
	wrap PRINT_FUNCTION_NAME and dump_decl_name.
	(print_call_name): Use it.

From-SVN: r87363
2004-09-11 19:48:58 +00:00
Mohan Embar
af8f35b88f Make-lang.in (java/win32-host.o): Add dependency on coretypes.h.
* Make-lang.in (java/win32-host.o): Add dependency on
	coretypes.h.
	* win32-host.c: Add includes for coretypes.h, jcf.h

From-SVN: r87360
2004-09-11 19:08:05 +00:00
Mohan Embar
55545aed66 Make-lang.in (GCJH_OBJS): Change dependency from ggc-none.o to java/ggc-none.o
* Make-lang.in (GCJH_OBJS): Change dependency from
	ggc-none.o to java/ggc-none.o
	(JCFDUMP_OBJS): Likewise.
	(java/ggc-none.o): New target.

From-SVN: r87359
2004-09-11 19:05:32 +00:00