Commit Graph

59683 Commits

Author SHA1 Message Date
Neil Booth
a09d474429 re PR preprocessor/16192 (Bug in expression evaluation when operand is missing)
* doc/cpp.texi: Don't document what we do for ill-formed expressions.
	* doc/cppopts.texi: Clarify processing of command-line defines.

libcpp:
	PR preprocessor/16192
	PR preprocessor/15913
	PR preprocessor/15572
	* expr.c (_cpp_parse_expr): Handle remaining cases where an
	expression is missing.
	* init.c (post_options): Traditional cpp doesn't do // comments.

testsuite:
	* gcc.dg/cpp/if-mop.c: Two new testcases.
	* gcc.dg/cpp/trad/comment-3.c: New.

From-SVN: r84080
2004-07-04 12:57:50 +00:00
Gerald Pfeifer
b25c17bcf0 * doc/contrib.texi (Contributors): Adjust link for GNU Classpath.
From-SVN: r84078
2004-07-04 11:34:50 +00:00
Paolo Carlini
f1ee6eca25 1.cc: Add instantiations for systems with no COMDAT or weak support.
2004-07-04  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/25_algorithms/copy/1.cc: Add instantiations for
	systems with no COMDAT or weak support.
	* testsuite/25_algorithms/copy/2.cc: Likewise.
	* testsuite/25_algorithms/copy/3.cc: Likewise.
	* testsuite/25_algorithms/copy/4.cc: Likewise.

From-SVN: r84076
2004-07-04 11:05:14 +00:00
Matthias Klose
1657a8095b libtool-version: New.
2004-07-04  Matthias Klose  <doko@debian.org>

        * libtool-version: New.
        * Makefile.am (libgfortran_la_LDFLAGS): Use -version-info for soname.
        * Makefile.in: Regenerate.
        * configure.ac: Remove libtool_VERSION macro
        * configure: Regenerate

From-SVN: r84074
2004-07-04 09:06:54 +00:00
Matthias Klose
e62be46e8f Make-lang.in: Generate and install gfortran man page.
2004-07-04  Matthias Klose  <doko@debian.org>

        * Make-lang.in: Generate and install gfortran man page.
        * invoke.texi: Remove extra '@c man end'.

From-SVN: r84073
2004-07-04 09:01:40 +00:00
Richard Henderson
8fff4fc136 rtl.def (ADDRESSOF): Remove.
* rtl.def (ADDRESSOF): Remove.
	* alias.c (rtx_equal_for_memref_p): Don't handle addressof.
	(find_base_term, memrefs_conflict_p): Likewise.
	* cse.c (fixed_base_plus_p, find_best_addr: Likewise.
	(fold_rtx, cse_insn, set_live_p): Likewise.
	* dwarf2out.c (mem_loc_descriptor): Likewise.
	(add_location_or_const_value_attribute): Likewise.
	* emit-rtl.c (copy_insn_1): Likewise.
	* explow.c (memory_address): Likewise.
	* expmed.c (store_split_bit_field): Likewise.
	* expr.c (expand_expr_real_1): Likewise.
	* function.c (instantiate_decl
	(instantiate_virtual_regs_1, fix_lexical_addr): Likewise.
	* genrecog.c (preds, validate_pattern): Likewise.
	* integrate.c (copy_rtx_and_substitute): Likewise.
	* recog.c (general_operand, register_operand): Likewise.
	(memory_address_p): Likwise.
	* reload1.c (eliminate_regs, elimination_effects): Likewise.
	* rtl.c (copy_rtx): Likewise.
	* rtlanal.c (rtx_unstable_p, rtx_varies_p): Likewise.
	(rtx_addr_can_trap_p, nonzero_address_p, address_cost): Likewise.
	* rtlhooks.c (gen_lowpart_general): Likewise.
	* stmt.c (expand_asm_operands): Likewise.
	* web.c (entry_register, replace_ref, web_main): Likewise.
	* config/alpha/alpha.c (input_operand, alpha_legitimate_address_p,
	alpha_expand_block_move, alpha_expand_block_clear): Likewise.
	* config/arm/arm.c (thumb_rtx_costs): Likewise.
	* config/c4x/c4x.c (c4x_valid_operands): Likewise.
	* config/frv/frv.c (move_destination_operand, move_source_operand,
	condexec_dest_operand, condexec_source_operand,
	condexec_memory_operand): Likewise.
	* config/h8300/h8300.h (PREDICATE_CODES): Likewise.
	* config/ia64/ia64.c (general_xfmode_operand): Likewise.
	(destination_xfmode_operand): Likewise.
	* config/mips/mips.h (PREDICATE_CODES): Likewise.
	* config/mn10300/mn10300.c (mn10300_address_cost_1): Likewise.
	* config/s390/s390.c (general_s_operand): Likewise.
	* config/s390/s390.md (mov*): Likewise.
	* config/sparc/sparc.h (PREDICATE_CODES): Likewise.

	* c-typeck.c (c_mark_addressable): Don't put_var_into_stack.
	* expr.c (expand_expr_real_1): Likewise.
	* stmt.c (expand_decl): Likewise.
	* config/c4x/c4x.c (c4x_expand_builtin): Likewise.

	* function.c (struct fixup_replacement, struct insns_for_mem_entry,
	postponed_insns, put_var_into_stack, put_reg_into_stack,
	schedule_fixup_var_refs, fixup_var_refs, find_fixup_replacement,
	fixup_var_refs_insns, fixup_var_refs_insns_with_hash,
	fixup_var_refs_insn, fixup_var_refs_1, fixup_memory_subreg,
	walk_fixup_memory_subreg, fixup_stack_1, optimize_bit_field,
	gen_mem_addressof, flush_addressof, put_addressof_into_stack,
	purge_bitfield_addressof_replacements, purge_addressof_replacements,
	purge_addressof_1, insns_for_mem_hash, insns_for_mem_comp,
	struct insns_for_mem_walk_info, insns_for_mem_walk,
	compute_insns_for_mem, is_addressof, purge_addressof, setjmp_protect,
	setjmp_protect_args): Remove.
	(push_function_context_to): Don't handle var_refs_queue.
	(pop_function_context_from, free_after_compilation): Likewise.
	(instantiate_virtual_regs): Don't handle parm_reg_stack_loc.
	(assign_parms, allocate_struct_function): Likewise.
	(use_register_for_decl): New.
	(expand_function_end): Don't setjmp_protect.
	* function.h (struct emit_status): Update commentary.
	(struct function): Remove x_max_parm_reg, x_parm_reg_stack_loc.
	(max_parm_reg, parm_reg_stack_loc): Remove.
	* passes.c (DFI_addressof): Remove.
	(dump_file_info): Remove addressof.
	(rest_of_handle_addressof): Remove.
	(rest_of_compilation): Don't call it.
	* rtl.h (ADDRESSOF_REGNO, ADDRESSOF_DECL): Remove.
	* stmt.c (expand_decl): Use use_register_for_decl.
	* tree.h: Update decls.
	* web.c (mark_addressof): Remove.
	* doc/invoke.texi (-dF): Remove.

ada/
        * utils2.c (gnat_mark_addressable): Don't put_var_into_stack.
cp/
        * typeck.c (cxx_mark_addressable): Don't put_var_into_stack.
fortran/
        * f95-lang.c (gfc_mark_addressable): Don't put_var_into_stack.
treelang/
        * treetree.c (tree_mark_addressable):  Don't put_var_into_stack.

From-SVN: r84072
2004-07-04 01:07:15 -07:00
Richard Henderson
68d22aa55a ia64.c (spill_xfmode_operand): Use assign_stack_temp instead of gen_mem_addressof.
* config/ia64/ia64.c (spill_xfmode_operand): Use assign_stack_temp
        instead of gen_mem_addressof.
        * config/ia64/ia64.md (movxf): Use assign_stack_temp to handle
        TImode output register.

From-SVN: r84071
2004-07-03 20:03:00 -07:00
Richard Henderson
bdecd3343c re PR tree-optimization/16341 (BOOT_CFLAGS='-O2 -fno-inline' causes a comparision failure)
PR tree-optimization/16341
        * tree-sra.c (sra_walk_function): Increment to next stmt before
        processing the current stmt.
        (sra_insert_after): Always use BSI_SAME_STMT.

From-SVN: r84070
2004-07-03 19:52:36 -07:00
Richard Henderson
ca8afd0bf0 Missed commit
From-SVN: r84069
2004-07-03 19:16:58 -07:00
Anthony Green
94fbf267f3 [multiple changes]
2004-07-03  Mark Wielaard  <mark@klomp.org>
            Anthony Green  <green@redhat.com>

        * java/net/URL.java (getFile): Clarify return value doc.
        (getPath): Return null if file is empty - not empty String.
        (set): Convert protocol to lower case before doing anything.
        Only change the protocol handler if it's different.

2004-07-03  Anthony Green  <green@redhat.com>

        * java/net/URL.java (URL): Convert protocol to lower case before
        doing anything, so we getURLStreamHandler() with the proper value.

From-SVN: r84068
2004-07-04 02:12:58 +00:00
GCC Administrator
61b35a3e46 Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r84066.2
2004-07-04 00:16:13 +00:00
GCC Administrator
d3a9712991 Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r84065.2
2004-07-04 00:16:10 +00:00
Paul Brook
1107b970c6 decl.c (gfc_match_implicit_range): Don't use typespec.
* decl.c (gfc_match_implicit_range): Don't use typespec.
	(gfc_match_implicit): Handle character selectors.
	* gfortran.h (gfc_set_implicit): Remove prototype.
	(gfc_add_new_implicit_range, gfc_merge_new_implicit): Update.
	* parse.c (accept_statement): Don't call gfc_set_implicit.
	* symbol.c (new_ts): Remove.
	(gfc_set_implicit_none): Use same loop bounds as other functions.
	(gfc_set_implicit): Remove.
	(gfc_clear_new_implicit, gfc_add_new_implicit_range): Only set flags.
	(gfc_merge_new_implicit): Combine with gfc_set_implicit.
testsuite/
	* gfortran.fortran-torture/compile/implicit_1.f90: New test.

From-SVN: r84063
2004-07-03 23:25:46 +00:00
Joseph Myers
614ed70a59 tree.c (type_hash_eq): Allow TYPE_MIN_VALUE which compares equal with tree_int_cst_equal.
* tree.c (type_hash_eq): Allow TYPE_MIN_VALUE which compares equal
	with tree_int_cst_equal.

From-SVN: r84062
2004-07-03 20:59:11 +01:00
Richard Henderson
f05ef4220a tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Don't fold fp plus with minus.
* tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Don't fold
        fp plus with minus.

From-SVN: r84061
2004-07-03 11:57:18 -07:00
Andreas Schwab
fa9784263f ia64.md: Define new attribute "empty".
* config/ia64/ia64.md: Define new attribute "empty".
	(prologue_use, nop_x, insn_group_barrier): Set it.

	* config/ia64/ia64.c (ia64_reorg): When looking for trailing call
	skip over "empty" insns.

From-SVN: r84059
2004-07-03 16:59:38 +00:00
Richard Kenner
83e113ae50 tree-inline.c (initialize_inlined_parameters): Pass proper function context to gimplify_body.
* tree-inline.c (initialize_inlined_parameters): Pass proper function
	context to gimplify_body.
	(walk_tree): Don't walk into types twice.
	(walk_tree, case POINTER_TYPE): Deal with mutually recursive pointers.

From-SVN: r84058
2004-07-03 10:48:14 -04:00
Richard Kenner
51fa2e5fc3 * tree-sra.c (generate_element_init): Remove any useless conversions.
From-SVN: r84057
2004-07-03 09:56:38 -04:00
Richard Kenner
73d6ddef27 gimplify.c (gimplify_conversion): Remove stripping useless conversions from here.
* gimplify.c (gimplify_conversion): Remove stripping useless
	conversions from here.
	(gimplify_expr): Put it here, in place of call to STRIP_MAIN_TYPE_NOPS.
	(gimplify_modify_expr_to_memcpy, gimplify_variable_sized_compare):
	Unshare before substituting PLACEHOLDER_EXPR.
	(gimplify_modify_expr_to_memset): Likewise.
	Pass address of TO to memset, not TO itself.
	(gimplify_init_constructor): Make copy of OBJECT so we have it each
	time we make an expression (to match a PLACEHOLDER_EXPR).

From-SVN: r84056
2004-07-03 09:51:51 -04:00
Richard Kenner
580d124fe0 tree-ssa.c (tree_ssa_useless_type_conversion): Also look at VIEW_CONVERT_EXPR and NON_LVALUE_EXPR.
* tree-ssa.c (tree_ssa_useless_type_conversion): Also look at
	VIEW_CONVERT_EXPR and NON_LVALUE_EXPR.
	* tree-ssa-ccp.c (fold_stmt): Call just STRIP_USELESS_TYPE_CONVERSION.
	* tree-ssa-dom.c (local_fold): Likewise.

From-SVN: r84054
2004-07-03 09:45:29 -04:00
Richard Kenner
e30bb772cb langhooks-def.h (LANG_HOOKS_TYPE_MAX_SIZE): New langhook.
* langhooks-def.h (LANG_HOOKS_TYPE_MAX_SIZE): New langhook.
	* langhooks.h (strct lang_hooks): New field type_max_size.
	* function.c (assign_temp): Call it.

From-SVN: r84053
2004-07-03 09:40:47 -04:00
Steven Bosscher
52c27e16fd sh.c (sh_use_dfa_interface): Add TARGET_SH1.
* config/sh/sh.c (sh_use_dfa_interface): Add TARGET_SH1.
	* config/sh/sh.md: Convert the SH1 pipeline description to
	a DFA model.

From-SVN: r84047
2004-07-03 11:56:43 +00:00
Zack Weinberg
9aaabf8aa7 c-decl.c (struct c_binding): Remove contour field; add depth, invisible, nested fields.
* c-decl.c (struct c_binding): Remove contour field; add
	depth, invisible, nested fields.
	(B_IN_SCOPE, B_IN_CURRENT_SCOPE, B_IN_FILE_SCOPE)
	(B_IN_EXTERNAL_SCOPE): New convenience macros.
	(bind): Add invisible and nested arguments. Initialize
	new fields of struct c_binding; adjust loop scanning for
	insertion point.
	(free_binding_and_advance): Clear structure with memset.
	(pop_scope): Adjust to match.  Set DECL_CONTEXT on everything
	in file scope, even if it's in external scope too.
	(pushdecl): Adjust to match.  Create invisible file-scope
	declarations for block-scope forward declarations of static functions.
	(pushtag, warn_if_shadowing, pushdecl_top_level, implicitly_declare)
	(undeclared_variable, lookup_label, declare_label, define_label)
	(lookup_tag, lookup_name, lookup_name_in_scope, builtin_function)
	(c_make_fname_decl, store_parm_decls_newstyle, identifier_global_value)
	(store_parm_decls_oldstyle): Adjust to match.
	(diagnose_mismatched_decls): Correct handling of linkage clashes.
	(merge_decls): No need to copy C_DECL_IN_EXTERNAL_SCOPE.

	* c-tree.h (C_DECL_IN_EXTERNAL_SCOPE): Delete.
	(C_DECL_DECLARED_BUILTIN, C_DECL_REGISTER): Slide down one.

From-SVN: r84046
2004-07-03 02:35:05 +00:00
Scott Brumbaugh
ece95d900e re PR c++/3761 (ICE in check_template_shadow, at cp/pt.c:2013, with friend and strange class hierarchy)
PR c++/3761
	* name-lookup.c (push_class_level_binding): Don't pass a
	TREE_LIST of ambiguous names to check_template_shadow as it
	only handles declarations. Instead, pull the declaration
	out and pass that.

	PR c++/3761
	* g++.dg/lookup/crash4.C: New test.

From-SVN: r84045
2004-07-03 02:19:27 +00:00
Zack Weinberg
50c6431753 * gcc.c-torture/execute/builtin-abs-1.c
* gcc.c-torture/execute/builtin-abs-2.c
	* gcc.c-torture/execute/builtin-complex-1.c
	* gcc.c-torture/execute/builtins/string-1-lib.c
	* gcc.c-torture/execute/builtins/string-1.c
	* gcc.c-torture/execute/builtins/string-2-lib.c
	* gcc.c-torture/execute/builtins/string-2.c
	* gcc.c-torture/execute/builtins/string-3-lib.c
	* gcc.c-torture/execute/builtins/string-3.c
	* gcc.c-torture/execute/builtins/string-4-lib.c
	* gcc.c-torture/execute/builtins/string-4.c
	* gcc.c-torture/execute/builtins/string-5-lib.c
	* gcc.c-torture/execute/builtins/string-5.c
	* gcc.c-torture/execute/builtins/string-6-lib.c
	* gcc.c-torture/execute/builtins/string-6.c
	* gcc.c-torture/execute/builtins/string-7-lib.c
	* gcc.c-torture/execute/builtins/string-7.c
	* gcc.c-torture/execute/builtins/string-8-lib.c
	* gcc.c-torture/execute/builtins/string-8.c
	* gcc.c-torture/execute/builtins/string-9-lib.c
	* gcc.c-torture/execute/builtins/string-9.c
	* gcc.c-torture/execute/builtins/string-asm-1-lib.c
	* gcc.c-torture/execute/builtins/string-asm-1.c
	* gcc.c-torture/execute/builtins/string-asm-2-lib.c
	* gcc.c-torture/execute/builtins/string-asm-2.c
	* gcc.c-torture/execute/stdio-opt-1.c
	* gcc.c-torture/execute/stdio-opt-2.c
	* gcc.c-torture/execute/stdio-opt-3.c
	* gcc.c-torture/execute/string-opt-1.c
	* gcc.c-torture/execute/string-opt-10.c
	* gcc.c-torture/execute/string-opt-11.c
	* gcc.c-torture/execute/string-opt-12.c
	* gcc.c-torture/execute/string-opt-13.c
	* gcc.c-torture/execute/string-opt-14.c
	* gcc.c-torture/execute/string-opt-15.c
	* gcc.c-torture/execute/string-opt-16.c
	* gcc.c-torture/execute/string-opt-2.c
	* gcc.c-torture/execute/string-opt-6.c
	* gcc.c-torture/execute/string-opt-7.c
	* gcc.c-torture/execute/string-opt-8.c:
	Replace with ...

	* gcc.c-torture/execute/builtins/abs-2.c
	* gcc.c-torture/execute/builtins/abs-3.c
	* gcc.c-torture/execute/builtins/complex-1.c
	* gcc.c-torture/execute/builtins/fprintf.c
	* gcc.c-torture/execute/builtins/fputs.c
	* gcc.c-torture/execute/builtins/memcmp.c
	* gcc.c-torture/execute/builtins/memmove.c
	* gcc.c-torture/execute/builtins/memops-asm.c
	* gcc.c-torture/execute/builtins/mempcpy-2.c
	* gcc.c-torture/execute/builtins/mempcpy.c
	* gcc.c-torture/execute/builtins/memset.c
	* gcc.c-torture/execute/builtins/printf.c
	* gcc.c-torture/execute/builtins/sprintf.c
	* gcc.c-torture/execute/builtins/strcat.c
	* gcc.c-torture/execute/builtins/strchr.c
	* gcc.c-torture/execute/builtins/strcmp.c
	* gcc.c-torture/execute/builtins/strcpy.c
	* gcc.c-torture/execute/builtins/strcspn.c
	* gcc.c-torture/execute/builtins/strlen-2.c
	* gcc.c-torture/execute/builtins/strlen.c
	* gcc.c-torture/execute/builtins/strncat.c
	* gcc.c-torture/execute/builtins/strncmp-2.c
	* gcc.c-torture/execute/builtins/strncmp.c
	* gcc.c-torture/execute/builtins/strncpy.c
	* gcc.c-torture/execute/builtins/strpbrk.c
	* gcc.c-torture/execute/builtins/strpcpy-2.c
	* gcc.c-torture/execute/builtins/strpcpy.c
	* gcc.c-torture/execute/builtins/strrchr.c
	* gcc.c-torture/execute/builtins/strspn.c
	* gcc.c-torture/execute/builtins/strstr-asm.c
	* gcc.c-torture/execute/builtins/strstr.c:
	... these new files.

	* gcc.c-torture/execute/builtins/abs-2-lib.c
	* gcc.c-torture/execute/builtins/abs-3-lib.c
	* gcc.c-torture/execute/builtins/complex-1-lib.c
	* gcc.c-torture/execute/builtins/fprintf-lib.c
	* gcc.c-torture/execute/builtins/fputs-lib.c
	* gcc.c-torture/execute/builtins/memcmp-lib.c
	* gcc.c-torture/execute/builtins/memmove-lib.c
	* gcc.c-torture/execute/builtins/memops-asm-lib.c
	* gcc.c-torture/execute/builtins/mempcpy-2-lib.c
	* gcc.c-torture/execute/builtins/mempcpy-lib.c
	* gcc.c-torture/execute/builtins/memset-lib.c
	* gcc.c-torture/execute/builtins/printf-lib.c
	* gcc.c-torture/execute/builtins/sprintf-lib.c
	* gcc.c-torture/execute/builtins/strcat-lib.c
	* gcc.c-torture/execute/builtins/strchr-lib.c
	* gcc.c-torture/execute/builtins/strcmp-lib.c
	* gcc.c-torture/execute/builtins/strcpy-lib.c
	* gcc.c-torture/execute/builtins/strcspn-lib.c
	* gcc.c-torture/execute/builtins/strlen-2-lib.c
	* gcc.c-torture/execute/builtins/strlen-lib.c
	* gcc.c-torture/execute/builtins/strncat-lib.c
	* gcc.c-torture/execute/builtins/strncmp-2-lib.c
	* gcc.c-torture/execute/builtins/strncmp-lib.c
	* gcc.c-torture/execute/builtins/strncpy-lib.c
	* gcc.c-torture/execute/builtins/strpbrk-lib.c
	* gcc.c-torture/execute/builtins/strpcpy-2-lib.c
	* gcc.c-torture/execute/builtins/strpcpy-lib.c
	* gcc.c-torture/execute/builtins/strrchr-lib.c
	* gcc.c-torture/execute/builtins/strspn-lib.c
	* gcc.c-torture/execute/builtins/strstr-asm-lib.c
	* gcc.c-torture/execute/builtins/strstr-lib.c
	* gcc.c-torture/execute/builtins/lib/abs.c
	* gcc.c-torture/execute/builtins/lib/fprintf.c
	* gcc.c-torture/execute/builtins/lib/memset.c
	* gcc.c-torture/execute/builtins/lib/printf.c
	* gcc.c-torture/execute/builtins/lib/sprintf.c
	* gcc.c-torture/execute/builtins/lib/strcpy.c
	* gcc.c-torture/execute/builtins/lib/strcspn.c
	* gcc.c-torture/execute/builtins/lib/strncat.c
	* gcc.c-torture/execute/builtins/lib/strncmp.c
	* gcc.c-torture/execute/builtins/lib/strncpy.c
	* gcc.c-torture/execute/builtins/lib/strpbrk.c
	* gcc.c-torture/execute/builtins/lib/strspn.c
	* gcc.c-torture/execute/builtins/lib/strstr.c:
	New files containing support routines.

	* gcc.c-torture/execute/builtins/abs-1.c: Remove unnecessary
	declaration.
	* gcc.c-torture/execute/builtins/lib/main.c: Define link_error
	when not optimizing.

From-SVN: r84044
2004-07-03 02:16:50 +00:00
Giovanni Bajo
e1e93ad8ab re PR c++/14971 (better error message for partial specialization of function templates requested)
PR c++/14971
        * pt.c (check_explicit_specialization): Clarify error message.

From-SVN: r84043
2004-07-03 02:05:27 +00:00
GCC Administrator
96683b8ffd Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r84039.2
2004-07-03 00:16:14 +00:00
GCC Administrator
9ee80d3ccd Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r84038.2
2004-07-03 00:16:10 +00:00
Richard Henderson
82c8274320 c-decl.c (grokdeclarator): Don't frob current_function_decl around variable_size.
* c-decl.c (grokdeclarator): Don't frob current_function_decl
        around variable_size.
        (set_decl_nonlocal): Remove.
        (store_parm_decls): Add stmts for pending sizes.
        * calls.c (calls_function, calls_function_1): Remove.
        (precompute_arguments): Don't call it.
        * cfgexpand.c (set_save_expr_context): Remove.
        (tree_expand_cfg): Don't call it.
        * dwarf2out.c (add_bound_info): Don't handle SAVE_EXPR.
        (dwarf2out_finish): Likewise.
        * expr.c (emit_block_move): Adjust addresses to BLKmode.
        (store_constructor): Don't pre-evaluate SAVE_EXPR.
        (safe_from_p): Don't queue SAVE_EXPRs.
        (expand_expr_real_1 <case SAVE_EXPR>): Rewrite to expect,
        or build plain VAR_DECLs.
        * fold-const.c (twoval_comparison_p): Don't look at SAVE_EXPR_RTL.
        (fold): Likewise.
        (fold_checksum_tree): Don't special-case SAVE_EXPR.
        * function.c (free_after_compilation): Don't clear x_save_expr_regs.
        (put_var_into_stack): Don't handle SAVE_EXPR.
        (gen_mem_addressof): Likewise.
        * function.h (struct function): Remove x_save_expr_regs.
        (save_expr_regs): Remove.
        * gengtype.c (adjust_field_tree_exp): Don't special-case SAVE_EXPR.
        * print-tree.c (print_node): Don't dump SAVE_EXPR_NOPLACEHOLDER.
        * stor-layout.c (variable_size): Don't set it.
        (force_type_save_exprs, force_type_save_exprs_1): Remove.
        * tree-inline.c (remap_save_expr): Remove fn argument.  Update
        all callers.  Don't set SAVE_EXPR_CONTEXT.
        * tree-inline.h (remap_save_expr): Update decl.
        * tree.c (save_expr): Update build size.
        (first_rtl_op): Don't handle SAVE_EXPR.
        (unsave_expr_1, contains_placeholder_p): Likewise.
        (decl_function_context): Likewise.
        * tree.def (SAVE_EXPR): Remove args 1 and 2.
        * tree.h (SAVE_EXPR_CONTEXT, SAVE_EXPR_RTL): Remove.
        (SAVE_EXPR_NOPLACEHOLDER, SAVE_EXPR_PERSISTENT_P): Remove.
cp/
        * tree.c (cp_unsave_r): Update remap_save_expr call.
java/
        * jcf-write.c (generate_bytecode_insns <case SAVE_EXPR>): Rewrite.

From-SVN: r84036
2004-07-02 17:15:50 -07:00
Paul Brook
a7e4cdca85 cxxabi_tweaks.h: New file.
* config/cpu/arm/cxxabi_tweaks.h: New file.
	* config/cpu/generic/cxxabi_tweaks.h: New file.

From-SVN: r84035
2004-07-02 23:58:41 +00:00
Joseph Myers
962e6e00c1 bugreport.texi, [...]: Avoid some first-person references and patronizing comments.
* doc/bugreport.texi, doc/configterms.texi, doc/contrib.texi,
	doc/contribute.texi, doc/cpp.texi, doc/cppinternals.texi,
	doc/extend.texi, doc/install.texi, doc/invoke.texi, doc/md.texi,
	doc/portability.texi, doc/tree-ssa.texi, doc/trouble.texi: Avoid
	some first-person references and patronizing comments.  Based on
	printed manual.
	* doc/invoke.texi: Don't reference fortran@gnu.org.
	* doc/trouble.texi (Warning when a non-void function value is
	ignored): Rewrite.  From Russ Allbery and Chris Devers.

From-SVN: r84034
2004-07-03 00:57:12 +01:00
Mark Mitchell
d9634d5371 re PR c++/16240 (g++ generates incorrect mangled name)
PR c++/16240
	* mangle.c (write_template_arg): Correct mangling.

	PR c++/16240
	* g++.dg/abi/mangle22.C: New test.
	* g++.dg/abi/mangle23.C: Likewise.

From-SVN: r84033
2004-07-02 23:56:38 +00:00
Paul Brook
1568430fae configure.ac: Set ABI_TWEAKS_SRCDIR.
* configure.ac: Set ABI_TWEAKS_SRCDIR.
	* configure.host: Set abi_tweaks_dir.  Check for atomicity.h when
	setting atomicity_dir.  Override type_cpu for arm based targets.
	* include/Makefile.am (host_headers): Add cxxabi_tweaks.h.
	* libsupc++/cxxabi.h: Include bits/cxxabi.h. Don't declare __guard.
	* libsupc++/guard.cc: Use definitions from cxxabi_tweaks.h.
	* libsupc++/vec.cc: Ditto.
	* config/cpu/arm/cxxabi_tweaks.h: New file.
	* config/cpu/generic/cxxabi_tweaks.h: New file.
	* */Makefile.in: Regenerate.
	* configure: Regenerate.

From-SVN: r84032
2004-07-02 23:40:19 +00:00
Mark Mitchell
954a465fb2 Fix PR number
From-SVN: r84030
2004-07-02 22:00:56 +00:00
Mark Mitchell
717733d453 re PR c++/16270 (ICE on inner member template)
PR c++/16270
	* decl.c (grokdeclarator): Robustify.

From-SVN: r84029
2004-07-02 21:59:42 +00:00
Paolo Carlini
bdef965932 testsuite/20_util/allocator/, auto_ptr/, raw_storage_iterator.cc, temporary_buffer.cc: Move to...
2004-07-02  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/20_util/allocator/, auto_ptr/, raw_storage_iterator.cc,
	temporary_buffer.cc: Move to...
	* testsuite/20_util/memory/: ... here, new dir.
	* testsuite/20_util/pair/, testsuite/24_iterators/rel_ops.cc:
	Move to...
	* testsuite/20_util/utility/: ... here, new dir.
	* testsuite/20_util/binders.cc, comparisons.cc: Move to...
	* testsuite/20_util/functional/: ... here, new dir.

From-SVN: r84028
2004-07-02 20:44:08 +00:00
Bryce McKinlay
b5349c072a Locale.java (hashcode): Made transient.
* java/util/Locale.java (hashcode): Made transient.
	(hashCode): No longer synchronized.
	(equals): Remove comment.
	(writeObject): No longer synchronized. Implement using writeObject
	calls instead of tweaking hashCode field. Update doc.
	(readObject): Implement using readObject calls.

From-SVN: r84027
2004-07-02 20:41:33 +01:00
Daniel Berlin
bdee76844a tree-ssa-pre.c (bitmap_set_t): New.
2004-07-02  Daniel Berlin  <dberlin@dberlin.org)

	* tree-ssa-pre.c (bitmap_set_t): New.
	(bb_value_sets): avail_out is now a bitmap_set_t.
	(bitmap_find_leader): New function.
	(bitmap_value_insert_into_set): Ditto.
	(bitmap_set_copy): Ditto.
	(bitmap_value_replace_in_set): Ditto.
	(bitmap_set_contains_value): Ditto.
	(bitmap_set_new): Ditto.
	(bitmap_set_pool): New pool.
	(find_or_generate_expression): Use bitmap_ functions on AVAIL sets.
	(insert_aux): Ditto.
	(add_to_sets): Ditto.
	(compute_avail): Ditto
	(eliminate): Ditto.
	(init_pre): Ditto.
	(fini_pre): Ditto.
	(execute_pre): Ditto.

From-SVN: r84025
2004-07-02 18:47:29 +00:00
Roger Sayle
8b897cfa9c rs6000.c (struct processor_costs): New structure used to hold instruction latencies/sizes for processor types.
* config/rs6000/rs6000.c (struct processor_costs): New structure
	used to hold instruction latencies/sizes for processor types.
	(rs6000_cost): New global variable pointing to current CPU's costs.
	(rs6000_override_options): Initialize rs6000_cost to point to the
	appropriate cost table based upon rs6000_cpu and optimize_size.
	(rs6000_rtx_costs): Use rs6000_cost to avoid hardcoding processor
	timings inline.

From-SVN: r84024
2004-07-02 18:00:46 +00:00
Richard Henderson
8a0aa06e00 * expmed.c (make_tree): Don't use SET_DECL_RTL.
From-SVN: r84023
2004-07-02 10:32:23 -07:00
Paolo Carlini
5e91e92ede type_traits.h (_Is_normal_iterator): Move...
2004-07-02  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/type_traits.h (_Is_normal_iterator): Move...
	* include/bits/cpp_type_traits.h: ... here, renamed to
	__is_normal_iterator and consistent with the other traits.
	* include/bits/stl_algobase.h (__copy_ni1, __copy_ni2): Convert
	to the struct __copy_normal and three specializations.
	(__copy_backward_output_normal_iterator,
	__copy_backward_input_normal_iterator): Likewise, convert to
	the struct __copy_backward_normal and three specializations.
	(copy, copy_backward): Use the latter.
	(__copy_aux, __copy_backward_aux): Very minor tweaks.

From-SVN: r84019
2004-07-02 14:49:09 +00:00
David Billinghurst
ec13a3ef9b re PR fortran/16290 (Test intrinsic_set_exponent.f90 fails on irix6.5)
2004-07-02  David Billinghurst  (David.Billinghurst@riotinto.com)

	PR fortran/16290
	* gfortran.fortran-torture/execute/intrinsic_set_exponent.f90
	Allow for cases without denormalized floating point numbers.

From-SVN: r84018
2004-07-02 12:39:56 +00:00
Paolo Bonzini
23f6b2f91e Makefile.def (build_modules): Add bison, byacc, flex, m4, texinfo.
2004-07-01  Paolo Bonzini  <bonzini@gnu.org>

	* Makefile.def (build_modules): Add bison, byacc, flex,
	m4, texinfo.
	(flags_to_pass): Add FLEX.
	* Makefile.tpl (BUILD_DIR_PREFIX, BASE_EXPORTS): New.
	(BUILD_EXPORTS, HOST_EXPORTS, BASE_TARGET_EXPORTS): Include it.
	(DEFAULT_YACC, USUAL_YACC, DEFAULT_LEX, USUAL_LEX, DEFAULT_M4,
	DEFAULT_MAKEINFO): Remove.
	(CONFIGURED_YACC, CONFIGURED_FLEX, CONFIGURED_BISON,
	CONFIGURED_LEX, CONFIGURED_M4, CONFIGURED_MAKEINFO): Substitute.
	(YACC, FLEX, BISON, LEX, M4, MAKEINFO): Define to look into
	objdir or else use configured tool.
	(all-build): New.
	(all): Depend on it.
	(Build module dependencies): Add.
	* Makefile.in: Regenerate.
	* configure.in: Better support for multiple build modules,
	matching what is done for host/target modules.  Do not look
	for "plausible" locations of build tools if Canadian cross.
	Use autoconf's AC_PROG_CC to find a C compiler.  Define
	BUILD_DIR_PREFIX.  Look for flex, makeinfo and m4.
	* configure: Regenerate.

From-SVN: r84017
2004-07-02 07:55:37 +00:00
Steven Bosscher
902054efd3 * tree-flow.h (bb_ann_d): Remove ephi_nodes field.
From-SVN: r84016
2004-07-02 07:34:30 +00:00
Richard Henderson
229aa35230 alpha.c (struct machine_function): Add gp_save_rtx.
* config/alpha/alpha.c (struct machine_function): Add gp_save_rtx.
        (alpha_gp_save_rtx): Use assign_stack_local instead of
        gen_mem_addressof.

From-SVN: r84015
2004-07-01 23:31:49 -07:00
Richard Henderson
8260c194b7 alpha.c (struct alpha_rtx_cost_data): Add int_div.
* config/alpha/alpha.c (struct alpha_rtx_cost_data): Add int_div.
        (alpha_rtx_cost_data): Update to match.
        (alpha_rtx_cost_size): New.
        (alpha_rtx_costs): Honor optimize_size.

From-SVN: r84014
2004-07-01 23:11:30 -07:00
Richard Henderson
6429e3bef3 gimple-low.c (lower_function_body): Don't reset_block_changes here.
* gimple-low.c (lower_function_body): Don't reset_block_changes here.
        * cfgexpand.c (tree_expand_cfg): Do it here.
        * config/alpha/alpha.c (alpha_output_mi_thunk_osf): And here.
        * config/ia64/ia64.c (ia64_output_mi_thunk): And here.
        * config/mips/mips.c (mips_output_mi_thunk): And here.
        * config/rs6000/rs6000.c (rs6000_output_mi_thunk): And here.
        * config/sh/sh.c (sh_output_mi_thunk): And here.
        * config/sparc/sparc.c (sparc_output_mi_thunk): And here.

From-SVN: r84012
2004-07-01 21:53:37 -07:00
Richard Henderson
4dfa034295 tree.def (RTL_EXPR): Remove.
* tree.def (RTL_EXPR): Remove.
        * c-typeck.c (lvalue_p): Don't handle it.
        * expr.c (safe_from_p): Likewise.
        (expand_expr_real_1): Likewise.
        * fold-const.c (non_lvalue, operand_equal_p, fold): Likewise.
        (fold_checksum_tree, tree_expr_nonnegative_p): Likewise.
        * gengtype.c (adjust_field_tree_exp): Likewise.
        * stmt.c (warn_if_unused_value): Likewise.
        * tree-gimple.c (recalculate_side_effects): Likewise.
        * tree-pretty-print.c (dump_generic_node): Likewise.
        * tree.c (make_node_stat, first_rtl_op, unsave_expr_1): Likewise.
        (unsafe_for_reeval, stabilize_reference, build1_stat): Likewise.
        * tree.h (RTL_EXPR_SEQUENCE, RTL_EXPR_RTL, RTL_EXPR_ALT_RTL): Remove.

        * stmt.c (struct stmt_status): Remove x_last_expr_type,
        x_last_expr_value, x_last_expr_alt_rtl, x_expr_stmts_for_value.
        (last_expr_type, last_expr_value, last_expr_alt_rtl): Remove.
        (expand_expr_stmt): Merge with expand_expr_stmt_value.  Remove
        all the bits that tracked last_expr.
        (expand_end_bindings): Don't track last_expr.
        (expand_start_stmt_expr, expand_end_stmt_expr): Remove.
        (clear_last_expr): Remove.
        (expand_asm): Don't call it.
        (expand_asm_operands, expand_end_cond): Likewise.
        (expand_naked_return, expand_null_return_1): Likewise.
        * c-typeck.c (c_begin_compound_stmt): Likewise.
        * cfgexpand.c (expand_block): Use expand_expr_stmt.
        * expr.c (expand_expr_real_1): Likewise.
        * tree.h: Update prototypes.

        * function.h (struct sequence_stack): Remove sequence_rtl_expr.
        (struct emit_status): Remove sequence_rtl_expr.
        (struct function): Remove x_rtl_expr_chain.
        (seq_rtl_expr, rtl_expr_chain): Remove.
        * function.c (struct temp_slot): Remove rtl_expr.
        (assign_stack_temp_for_type): Don't set it.
        (free_temp_slots, pop_temp_slots): Don't check it.
        (free_after_compilation): Don't clear x_rtl_expr_chain.
        (fixup_var_refs): Don't search it.
        (preserve_rtl_expr_result, free_temps_for_rtl_expr): Remove.
        * emit-rtl.c (start_sequence): Don't use sequence_rtl_expr
        or seq_rtl_expr.
        (push_topmost_sequence): Likewise.
        (end_sequence, init_emit): Likewise.
        (start_sequence_for_rtl_expr): Remove.
        * expmed.c (make_tree): Build a VAR_DECL instead of an RTL_EXPR.
        * rtl.h (preserve_rtl_expr_result): Remove.

ada/
        * trans.c (gnat_stabilize_reference): Don't handle RTL_EXPR.
        * utils.c (max_size): Likewise.

cp/
        * class.c (fixed_type_or_null): Don't handle RTL_EXPR.
        * method.c (synthesize_method): Don't clear_last_expr.
        * name-lookup.c (maybe_push_cleanup_level): Likewise.

From-SVN: r84009
2004-07-01 18:15:43 -07:00
Kazu Hirata
f6fe65dc61 ifcvt.c, [...]: Fix comment typos.
* ifcvt.c, modulo-sched.c, tree-alias-common.c, tree-sra.c,
	tree-ssa-copy.c, tree-ssa-dom.c, tree-ssa-pre.c: Fix comment
	typos.

From-SVN: r84008
2004-07-02 00:51:01 +00:00
GCC Administrator
f16ee2a09a Daily bump.
From-SVN: r84006
2004-07-02 00:16:12 +00:00