1. 22 Jun, 2004 23 commits
    • mn10300.md (movdi, movdf): Use high/low for movu operands. · 6bb1041e
      * config/mn10300/mn10300.md (movdi, movdf): Use high/low for movu
      operands.
      
      From-SVN: r83510
      Alexandre Oliva committed
    • re PR java/16113 (ICE: Segmentation fault when compiling bytecode with debugging… · 56c5197b
      re PR java/16113 (ICE: Segmentation fault when compiling bytecode with debugging info and try/catch)
      
      	Fixes PR java/16113.
      	* decl.c (force_poplevels): Remove call to expand_end_bindings.
      
      Co-Authored-By: Ranjit Mathew <rmathew@hotmail.com>
      
      From-SVN: r83509
      Andrew Haley committed
    • parse.y (create_class): Correct diagnostic message about java.lang.Object extending anything else. · 815c5191
      	* parse.y (create_class): Correct diagnostic message about
      	java.lang.Object extending anything else.
      
      From-SVN: r83507
      Ranjit Mathew committed
    • rs6000.c (legitimate_offset_address_p): Make global, rename rs6000_legitimate_offset_address_p. · 76d2b81d
      
      2004-06-22  Dale Johannesen  <dalej@apple.com>
      
      	* config/rs6000/rs6000.c (legitimate_offset_address_p): Make
      	global, rename rs6000_legitimate_offset_address_p.
      	(rs6000_legitimate_address_p): Adjust calls to it.
      	(lmw_operation): Ditto.
      	(stmw_operation): Ditto.
      	* config/rs6000/rs6000-protos.h: Declare it.
      	* config/rs6000/rs6000.md (*movdf_hardfloat32): Use it
      	instead of offsettable_memref_p.
      
      2004-06-22  Dale Johannesen  <dalej@apple.com>
      
      	* config/rs6000/rs6000.c (rs6000_legitimate_address): Disallow
      	[reg+reg] mode for TFmode memory accesses.
      	(rs6000_eliminate_indexed_memrefs): New.
      	(rs6000_emit_move): Call preceding for TImode and TFmode.
      
      From-SVN: r83504
      Dale Johannesen committed
    • Fix ChangeLog entry. · e9cb3dac
      From-SVN: r83502
      Bryce McKinlay committed
    • re PR libgcj/16134 (Memory leak in String.getBytes()) · f50aa505
      	PR libgcj/16134:
      	* gnu/gcj/convert/BytesToUnicode.java: Canonicalize encoding name
      	before cache lookup. Thanks to Hannes Wallnoefer.
      	* gnu/gcj/convert/UnicodeToBytes.java: Likewise.
      
      From-SVN: r83501
      Bryce McKinlay committed
    • abi.html: Update links. · 3b56276e
      
      2004-06-22  Benjamin Kosnik  <bkoz@redhat.com>
      
      	* docs/html/abi.html: Update links.
      
      From-SVN: r83498
      Benjamin Kosnik committed
    • complex_inserters_extractors.cc, [...]: Move to... · 482c0c5d
      2004-06-22  Paolo Carlini  <pcarlini@suse.de>
      
      	* testsuite/26_numerics/complex_inserters_extractors.cc,
      	complex_value.cc, buggy_complex.cc: Move to...
      	* testsuite/26_numerics/complex/: ... here.
      	* testsuite/26_numerics/c99_classification_macros_c++.cc,
      	c99_classification_macros_c.cc, c_math.cc, c_math_dynamic.cc,
      	fabs_inline.cc: Move to...
      	* testsuite/26_numerics/cmath/: ... here.
      	* testsuite/26_numerics/binary_closure.cc, slice.cc,
      	slice_array_assignment.cc, valarray.cc, valarray_const_bracket.cc,
      	valarray_name_lookup.cc, valarray_operators.cc,
      	valarray_subset_assignment.cc: Move to...
      	* testsuite/26_numerics/valarray/: ... here (new dir).
      	* testsuite/26_numerics/sum_diff.cc: Move to...
      	* testsuite/26_numerics/numeric/: ... here (new dir).
      
      From-SVN: r83489
      Paolo Carlini committed
    • tree-cfg.c (pass_warn_function_return): It needs CFG, not SSA. · 00bfee6f
      2004-06-22  Paolo Bonzini  <bonzini@gnu.org>
      
      	* tree-cfg.c (pass_warn_function_return): It needs
      	CFG, not SSA.
      
      From-SVN: r83487
      Paolo Bonzini committed
    • std_istream.h (ignore(streamsize __n = 1, int_type __delim = traits_type::eof())): Split into... · 80dddedc
      2004-06-22  Paolo Carlini  <pcarlini@suse.de>
      
      	* include/std/std_istream.h (ignore(streamsize __n = 1,
      	int_type __delim = traits_type::eof())): Split into...
      	(ignore(), ignore(streamsize __n), ignore(streamsize __n,
      	int_type __delim)): The first two can be much more simpler
      	and efficient than the fully general case; also, the last
      	two can take advantage of the same mechanism already used
      	for getline.
      	* include/bits/istream.tcc (ignore(streamsize __n = 1,
      	int_type __delim = traits_type::eof()): Remove.
      	(ignore(), ignore(streamsize __n), ignore(streamsize __n,
      	int_type __delim)): New.
      
      From-SVN: r83486
      Paolo Carlini committed
    • invoke.texi (Machine Dependent Options): Alphabetize. · 39bc1876
      	* doc/invoke.texi (Machine Dependent Options): Alphabetize.
      	(Submodel Options): Likewise.
      
      From-SVN: r83485
      Nathan Sidwell committed
    • Radar #: 3701874 · f6bf7bb6
      2004-06-21  Andrew Pinski  <apinski@apple.com>
      
              Radar #: 3701874
              * c-decl.c (push_file_scope): Return early if we already
              have a file scope.
      
      2004-06-21  Andrew Pinski  <apinski@apple.com>
      
              * gcc.dg/pch/struct-1.c: New.
              * gcc.dg/pch/struct-1.hs: New.
      
      From-SVN: r83483
      Andrew Pinski committed
    • cp-tree.def (NEW_EXPR): Add a fourth slot. · 058b15c1
      	* cp-tree.def (NEW_EXPR): Add a fourth slot.
      	* cp-tree.h (PARMLIST_ELLIPSIS_P): Remove.
      	(TREE_PARMLIST): Likewise.
      	(CALL_DECLARATOR_PARMS): Likewise.
      	(CALL_DECLARATOR_QUALS): Likewise.
      	(CALL_DECLARATOR_EXCEPTION_SPEC): Likewise.
      	(cp_declarator_kind): New type.
      	(cp_parameter_declarator): Likewise.
      	(cp_declarator): Likewise.
      	(cp_error_declarator): Likewise.
      	(no_parameters): Likewise.
      	(groktypename): Change prototype.
      	(start_decl): Likewise.
      	(start_handler_parms): Likewise.
      	(get_scope_of_declarator): Likewise.
      	(start_function): Likewise.
      	(start_preparsed_function): New function.
      	(start_function): Change prototype.
      	(start_method): Likewise.
      	(grokfield): Likewise.
      	(grokbitfield): Likewise.
      	(build_new): Likewise.
      	(make_pointer_declarator): Remove.
      	(make_reference_declarator): Likewise.
      	(make_call_declarator): Likewise.
      	(set_quals_and_spec): Likewise.
      	(process_template_parm): Change prototype.
      	(begin_function_definition): Remove.
      	(finish_parmlist): Remove.
      	* decl.c (groktypename): Do not use trees to represent
      	declarators.
      	(start_decl): Likewise.
      	(start_handler_parms): Remove.
      	(get_scope_of_declarator): Reimplement.
      	(grokdeclarator): Do not use trees to represent	declarators.
      	(grokparms): Likewise.
      	(start_function): Likewise.
      	(start_method): Likewise.
      	(build_void_list_mode): Do not use TREE_PARMLIST.
      	* decl.h (grokdeclarator): Change prototype.
      	* decl2.c (grok_method_quals): Robustify.
      	(grok_x_components): Do not use trees to represent declarators.
      	(grokfield): Likewise.
      	(grokbitfield): Likewise.
      	(start_objects): Build FUNCTION_DECLs, not declarators.
      	(start_static_storage_duration_function): Likewise.
      	* init.c (build_new): Simplify.
      	* lex.c (make_pointer_declarator): Remove.
      	(make_reference_declarator): Likewise.
      	(make_call_declarator): Likewise.
      	(set_quals_and_spec): Likewise.
      	* method.c (use_thunk): Use start_preparsed_function.
      	(synthesize_method): Likewise.
      	(implicitly_declare_fn): Build FUNCTION_DECLs, not declarators.
      	* optimize.c (maybe_clone_body): Use start_preparsed_function.
      	* parser.c (cp_error_declarator): New variable.
      	(declarator_obstack): Likewise.
      	(alloc_declarator): New function.
      	(make_declarator): Likewise.
      	(make_id_declarator): Likewise.
      	(make_pointer_declarator): Likewise.
      	(make_reference_declarator): Likewise.
      	(make_ptrmem_declarator): Likewise.
      	(make_call_declarator): Likewise.
      	(make_array_declarator): Likewise.
      	(no_parameters): New variable.
      	(make_parameter_declarator): Likewise.
      	(cp_parser_check_for_definition_in_return_type): Do not use trees
      	to represent declarators.
      	(cp_parser_translation_unit): Likewise.
      	(cp_parser_new_expression): Likewise.
      	(cp_parser_new_type_id): Likewise.
      	(cp_parser_new_declarator_opt): Likewise.
      	(cp_parser_direct_new_declarator): Likewise.
      	(cp_parser_condition): Likewise.
      	(cp_parser_declaration_statement): Likewise.
      	(cp_parser_declaration): Likewise.
      	(cp_parser_conversion_type_id): Likewise.
      	(cp_parser_conversion_declarator_opt): Likewise.
      	(cp_parser_template_parameter_list): Likewise.
      	(cp_parser_template_parameter): Likewise.
      	(cp_parser_explicit_instantiation): Likewise.
      	(cp_parser_init_declarator): Likewise.
      	(cp_parser_declarator): Likewise.
      	(cp_parser_direct_declarator): Likewise.
      	(cp_parser_type_id): Likewise.
      	(cp_parser_parameter_declaration_clause): Likewise.
      	(cp_parser_parameter_declaration_list): Likewise.
      	(cp_parser_parameter_declaration): Likewise.
      	(cp_parser_member_declaration): Likewise.
      	(cp_parser_exception_declaration): Likewise.
      	(cp_parser_check_declarator_template_parameters): Likewise.
      	(cp_parser_function_definition_from_specifiers_and_declarator):
      	Likewise.
      	(cp_parser_save_member_function_body): Likewise.
      	* pt.c (process_template_parm): Add is_non_type parameter.
      	(convert_template_argument): Adjust call to groktypename.
      	(tsubst_call_declarator_parms): Remove use of TREE_PARMLIST.
      	(tsubst): Do not expect declarators.
      	(tsubst_copy_and_build): Adjust NEW_EXPR case to handle additional
      	argument.
      	(instantiate_decl): Use start_preparsed_function.
      	* semantics.c (begin_function_definition): Remove.
      	(finish_parmlist): Remove.
      	* cp-mudflap.c (mflang_flush_calls): Build FUNCTION_DECLs, not
      	declarators.
      
      From-SVN: r83482
      Mark Mitchell committed
    • c-opts.c (c_common_handle_option): Handle -fpch-preprocess. · c0d578e6
      2004-06-21  Geoffrey Keating  <geoffk@apple.com>
      
      	* c-opts.c (c_common_handle_option): Handle -fpch-preprocess.
      	* c-common.h (flag_pch_preprocess): Declare.
      	(c_common_pch_pragma): Likewise.
      	* c-common.c (flag_pch_preprocess): New.
      	* c-pch.c (c_common_read_pch): Support -fpreprocess-only.
      	(c_common_pch_pragma): New.
      	* c-ppoutput.c (cb_read_pch): New.
      	(init_pp_output): Support -fpch-preprocess.
      	* c-pragma.c (init_pragma): Support #pragma GNUC pch_preprocess.
      	* c.opt (fpch-preprocess): New.
      	* gcc.c (cpp_options): When save-temps, pass -fpch-preprocess.
      	* doc/cppopts.texi: Document -fpch-preprocess.
      	* doc/invoke.texi (Precompiled Headers): Mention that
      	-fpreprocessed is safe for PCH.  Mention that if an option is
      	listed as safe that doesn't mean it does what you expect.
      
      Index: gcc/testsuite/ChangeLog
      2004-06-21  Geoffrey Keating  <geoffk@apple.com>
      
      	* gcc.dg/pch/save-temps-1.c: New file.
      	* gcc.dg/pch/save-temps-1.hs: New file.
      
      Index: libcpp/ChangeLog
      2004-06-21  Geoffrey Keating  <geoffk@apple.com>
      
      	* files.c (should_stack_file): Correct swapped parameters to call
      	to cb.read_pch.
      	* pch.c (cpp_valid_state): Handle -fpreprocessed.
      
      From-SVN: r83478
      Geoffrey Keating committed
    • * tree-ssa.c (ssa_redirect_edge): Correct leading comment. · f6144c34
      From-SVN: r83477
      Ben Elliston committed
    • MAINTAINERS: Added self to write-after-approval. · ccde3f1a
      From-SVN: r83476
      Matthew Sachs committed
    • * Makefile.in (gimplify.o): Add cgraph.h. · 2b27ff64
      From-SVN: r83475
      Richard Kenner committed
    • alias.c (adjust_offset_for_component_ref): Use component_ref_field_offset. · 44de5aeb
      	* alias.c (adjust_offset_for_component_ref): Use
      	component_ref_field_offset.
      	* c-decl.c (build_array_declarator): Add news args for ARRAY_REF.
      	* c-gimplify.c (gimplify_expr_stmt): Use alloc_stmt_list.
      	(gimplify_decl_stmt): Call gimplify_type_sizes for type.
      	For decl, call gimplify_one_sizepos and use statement list.
      	(gimplify_compound_literal_expr): New arg PRE_P.
      	Add statement to PRE_P list and return DECL.
      	(c_gimplify_expr, case COMPOUND_LITERAL_EXPR): Add arg to
      	gimplify_compound_literal_expr.
      	* c-tree.h (getdecls): Deleted.
      	* c-typeck.c (build_component_ref): Add operand for COMPONENT_REF.
      	(build_array_ref): Add two operands for ARRAY_REF.
      	(build_unary_op): Set TREE_INVARIANT and TREE_CONSTANT for
      	COMPOUND_LITERAL_EXPR.
      	* coverage.c (tree_coverage_counter_ref): Add new operands
      	for ARRAY_REF.
      	* emit-rtl.c (component_ref_for_mem_expr): Add new operand
      	for COMPONENT_REF.
      	(set_mem_attributes_minus_bitpos): Use array_ref_low_bound
      	and array_ref_element_size.
      	(widen_memory_access):Use component_ref_field_offset.
      	* explow.c (update_nonlocal_goto_save_area): Add two operands
      	for ARRAY_REF.
      	* expr.c (array_ref_element_size, array_ref_low_bound): New functions.
      	(component_ref_field_offset): Likewise.
      	(get_inner_reference): Use them.
      	(expand_expr_real_1, case ARRAY_REF): Use array_ref_low_bound.
      	* fold-const.c (fold, case EQ_EXPR): Properly handle DECL_SIZE.
      	(fold_read_from_constant_string): Use array_ref_low_bound.
      	Verify that result is a character type.
      	(build_fold_indirect_ref): Add two operands for ARRAY_REF.
      	* function.c (expand_function_start): Likewise.
      	* gimple-low.c (expand_var_p): Delete duplicated line.
      	* gimplify.c: Add static decls for local functions.
      	(cgraph.h): Now included.
      	(create_tmp_var): Remove check for ARRAY_TYPE.
      	(copy_if_shared_r): Look at bounds and sizes of types.
      	(build_and_jump): Return alloc_stmt_list instead of build_empty_stmt.
      	(gimplify_exit_expr, shortcut_cond_expr): Likewise.
      	(gimplify_save_expr, gimple_push_cleanup): Likewise.
      	(gimplify_init_constructor): Likewise.
      	WANT_VALUE now bool.
      	If empty list with no result wanted, return GS_UNHANDLED.
      	Add additional operands for ARRAY_REF and COMPONENT_REF.
      	(canonicalize_component_ref): Convert to &array[L].
      	(gimplify_array_ref_to_plus): Use array_ref_element_size and
      	array_ref_lower_bound.
      	(build_addr_expr_with_type, build_addr_expr): New functions.
      	(gimplify_compound_lval): WANT_LVALUE now bool.
      	Major rework to allow handle_component_p and initialize and
      	gimplify new operands for ARRAY_REF, ARRAY_RANGE_REF, and
      	COMPONENT_REF.
      	(gimplify_array_ref): Deleted.
      	(gimplify_self_mod_expr): WANT_VALUE now bool.
      	(gimplify_modify_expr): Gimplify to_p and from_p later.
      	Factor out code into gimplify_modify_expr_rhs and call twice.
      	Move variable-size code earlier and handle PLACEHOLDER_EXPR.
      	(gimplify_modify_expr_rhs, gimplify_variable_sized_compare): New fns.
      	(gimplify_addr_expr, case VIEW_CONVERT_EXPR): New case.
      	(gimplify_expr, case ARRAY_REF): Delete special case.
      	Instead handle like COMPONENT_REF; also do ARRAY_RANGE_REF,
      	IMAGPART, and REALPART the same way.
      	(gimplify_expr, case VIEW_CONVERT_EXPR): New case.
      	(gimplify_expr): Call gimplify_variable_sized_compare if applicable.
      	Call alloc_stmt_list instead of build_empty_stmt.
      	Deal with _REF that's volatile.
      	(gimplify_type_sizes, gimplify_one_sizepos): New functions.
      	(unshare_body, unvisit_body): New functions.
      	(gimplify_body): Call them.
      	* stmt.c (expand_stack_alloc): Don't expand TYPE_MAX_VALUE.
      	* stor-layout.c (get_pending_sizes): Don't change SAVE_EXPR_CONTEXT.
      	* tree-alias-common.c (get_alias_var): Also skip ARRAY_RANGE_REF.
      	* tree-cfg.c (tree_node_can_be_shared): Treat ARRAY_RANGE_REF
      	like ARRAY_REF.
      	(verify_expr, case ADDR_EXPR): Use handled_component_p.
      	* tree-dfa.c (get_virtual_var): Likewise.
      	* tree-dump.c (dequeue_and_dump, case COMPONENT_REF, ARRAY_REF):
      	New cases to dump new operands; likewise for ARRAY_RANGE_REF.
      	* tree-eh.c (tree_could_trap, case ARRAY_RANGE_REF): Like ARRAY_REF.
      	* tree-gimple.c (is_gimple_addr_expr_arg): Add ARRAY_RANGE_REF
      	and INDIRECT_REF.
      	(get_base_address): Use handled_component_p.
      	* tree-gimple.h (gimplify_type_sizes, gimplify_one_sizepos): New.
      	* tree-line.c (walk_tree): Walk more things for types and decls.
      	* tree-mudflap.c (mf_build_check_statement_for): Add new operands
      	for ARRAY_REF and COMPONENT_REF.
      	(mx_xform_derefs_1): Clean up usage of decl sizes.
      	* tree-nested.c (build_addr): Use handled_component_p.
      	(walk_stmts, case CATCH_EXPR): Add missing "break".
      	(get_static_chain, get_frame_field): Add new operand for COMPONENT_REF.
      	(finalize_nesting_tree_1): Likewise.
      	(convert_nonlocal_reference, case ARRAY_RANGE_REF): Like ARRAY_REF
      	and process additional operands.
      	(convert_local_reference): Likewise.
      	* tree-outof-ssa.c (discover_nonconstant_array_refs_r): Treat
      	ARRAY_RANGE_REF similarly to ARRAY_REF.
      	* tree-pretty-print.c (dump_generic_node, case QUAL_UNION_TYPE): Handle
      	like RECORD_TYPE.
      	(dump_generic_node, case COMPONENT_REF): Print offset operand.
      	(dump_generic_node, case ARRAY_RANGE_REF): Treat like ARRAY_REF
      	and print lower bound and element size for both.
      	(op_prio, case ARRAY_RANGE_REF): Like ARRAY_REF.
      	* tree-sra.c (csc_build_component_ref): Add new operand.
      	(scalarize_call_expr): Use get_base_address.
      	* tree-ssa-ccp.c (widen_bitfield): Clean up size handling.
      	(maybe_fold_offset_to_array_ref): Rework to handle input having an
      	ARRAY_REF, refine handling of lower bound, and add new operands
      	for ARRAY_REF.
      	(maybe_fold_to_component_ref): Add new operand for COMPONENT_REF.
      	(maybe_fold_stmt_indirect): Only fold *&B to B if types match.
      	(maybe_fold_stmt_addition): Only handle constant lower bound.
      	* tree-ssa-operands.c (get_expr_operands): Minor rearrangements.
      	Treat ARRAY_REF and ARRAY_RANGE_REF the same; look at extra operands.
      	Look at new offset operand of COMPONENT_REF.
      	* tree-ssa.c (set_is_used): Use handled_component_p.
      	* tree.c (substitute_in_expr, case COMPONENT_REF): Add new operand.
      	(stabilize_reference, case COMPONENT_REF): Likewise.
      	(stabilize_reference, case ARRAY_RANGE_REF, ARRAY_REF): Similarly.
      	(recompute_tree_invariant_for_addr_expr): Completely rework to
      	be more precise.  Also set TREE_SIDE_EFFECTS.
      	(build1_stat, case ARRAY_EXPR): Don't handle TREE_SIDE_EFFECTS here.
      	(build2_stat, build3_stat, build4_stat): For references,
      	propagate TREE_THIS_VOLATILE.
      	(get_unwidened): Add new operand for COMPONENT_REF.
      	(get_narrower): Likewise; use host_integerp for DECL_SIZE.
      	* tree.def (COMPONENT_REF): Add new operand.
      	(ARRAY_REF, ARRAY_RANGE_REF): Add two new operands.
      	* tree.h (array_ref_element_size, array_ref_low_bound): New decls.
      	(component_ref_field_offset): Likewise.
      	* config/alpha/alpha.c (alpha_va_start): Add new op for COMPONENT_REF.
      	(alpha_gimplify_va_arg): Likewise.
      	* config/i386/i386.c (ix86_va_start, ix86_gimplify_va_arg): Likewise.
      	* config/i860/i860.c (i860_va_start, i860_va_arg): Likewise.
      	* config/iq2000/iq2000.c (iq2000_va_arg): Likewise.
      	* config/mips/mips.c (mips_va_start, mips_va_arg): Likewise.
      	* config/rs6000/rs6000.c (rs6000_va_start, rs6000_gimplify_va_arg):
      	Likewise.
      	* config/s390/s390.c (s390_va_start, s390_gimplify_va_arg): Likewise.
      	* config/sh/sh.c (sh_va_start, sh_va_arg): Likewise.
      	* config/stormy16/stormy16.c (xstormy1_expand_builin_va_start):
      	Likewise.
      	(xstormy16_expand_builtin_va_arg): Likewise.
      	* config/xtensa/xtensa.c (xtensa_va_start, xtensa_va_arg): Likewise.
      
      	* cp/call.c (build_vfield_ref): Add new operand for COMPONENT_REF.
      	(build_new_method_call): Likewise.
      	* cp/decl.c (local_variable_p_walkfn): Don't walk into types.
      	* cp/decl2.c (grok_array_decl): Add new operands for ARRAY_REF.
      	(build_anon_union_vars): Add new operand for COMPONENT_REF.
      	* cp/init.c (buld_new): Add new operand for ARRAY_REF.
      	* cp/method.c (do_build_copy_constructor): New op for COMPONENT_REF.
      	(do_build_assign_ref): Likewise.
      	* cp/parser.c (cp_parser_direct_new_declarator): Add new operands
      	for ARRAY_REF.
      	(cp_parser_direct_declarator): Likewise.
      	* cp/pt.c (tsubst): Likewise.
      	(tsubst_copy, tsubst_copy_and_build): Likewise; also add new operand
       	for COMPONENT_REF.
      	* cp/semantics.c (finish_non_static_data_member): Add new operand
      	for COMPONENT_REF.
      	* cp/typeck.c (build_class_member_access_expr): Likewise.
      	(build_class_member_access_expr, finish_class_member_access_expr):
      	Likewise.
      	(build_ptrmemfunc_access_expr): Likewise.
      	(build_array_ref): Add new operands for ARRAY_REF.
      	* cp/typeck2.c (split_nonconstant_init_1): Likewise; COMPONENT_REF too.
      	* cp/tree.c (count_trees_r, no_linkage_helper): Don't walk in types.
      
      	* fortran/f95-lang.c (LANG_HOOKS_GIMPLE_BEFORE_INLINING): Deleted.
      	* fortran/trans-array.c (gfc_conv_descriptor_data): Add operand
      	for COMPONENT_REF.
      	(gfc_conv_descriptor_offset, gfc_conv_descriptor_dtype): Likewise.
      	(gfc_conv_descriptor_dimension, gfc_conv_descriptor_stride): Likewise.
      	(gfc_conv_descriptor_lbound, gfc_conv_descriptor_ubound): Likewise.
      	* fortran/trans-common.c (create_common): Likewise.
      	* fortran/trans-expr.c (gfc_conv_component_ref): Likewise.
      	* fortran/trans-io.c (set_parameter_value): Likewise.
      	(set_parameter_ref, set_string, set_flag, io_result): Likewise.
      	(transfer_expr): Likewise.
      	* fortran/trans-decl.c (gfc_trans_auto_character_variable):
      	Set up to get DECL_SIZE and DECL_SIZE_UNIT gimplified.
      	(gfc_simplify_function): New function.
      	(gfc_generate_function-code): Properly handle nested functions.
      	* fortran/trans.c (gfc_build_array_ref): Add two new operands
      	for ARRAY_REF.
      
      	* java/class.c (build_class_ref): Add new operand for COMPONENT_REF.
      	(build_static_field_ref): Likewise and add new operands for ARRAY_REF.
      	* java/constants.c (build_ref_from_constant_pool): Likewise.
      	* java/expr.c (build_java_array_length_access): Likewise.
      	(build_get_class, build_field_ref, build_known_method_ref): Likewise.
      	(invoke_build_dtable, build_invokevirtual): Likewise.
      	(build_invokeinterface, java_expand_expr): Likewise.
      	(emit_init_test_initialization): Likewise.
      	* java/java-gimplify.c (java_gimplify_new_array_init): Likewise.
      	* java/parse.y (make_qualifed_name, build_array_ref): Likewise.
      
      	* objc/ojbc-act.c (generate_static_references): Add additional
      	operands to ARRAY_REF.
      	(generate_strings, build_method_prototype_list_template): Likewise.
      	(generate_protocol_list): Likewise.
      
      From-SVN: r83474
      Richard Kenner committed
    • configure.in: Check for srcdir/winsup rather than build directory winsup. · 6264b0a6
      * configure.in: Check for srcdir/winsup rather than build directory winsup.
      * configure: Regenerate.
      
      From-SVN: r83473
      Christopher Faylor committed
    • re PR fortran/15750 (IOLENGTH form of INQUIRE statement not implemented) · 8750f9cd
      	PR fortran/15750
      	* io.c (gfc_match_inquire): Bugfix for iolength related stuff.
      	(gfc_resolve_inquire): Resolve the iolength tag.  Return
      	SUCCESS at end of function if no failure has occured.
      	* resolve.c (resolve_code): Resolve if iolength is encountered.
      	* trans-io.c: (ioparm_iolength, iocall_iolength,
      	iocall_iolength_done): New variables.
      	(last_dt): Add IOLENGTH.
      	(gfc_build_io_library_fndecls ): Set iolength related variables.
      	(gfc_trans_iolength): Implement.
      	(gfc_trans_dt_end): Treat iolength as a third form of data transfer.
      libgfortran/
      	PR fortran/15750
      	* inquire.c (st_inquire): Add comment
      	* io.h (st_parameter): Add iolength.
      	(st_iolength, st_iolength_done): Declare.
      	* transfer.c (iolength_transfer, iolength_transfer_init,
      	st_iolength, st_iolength_done): New functions.
      testsuite/
      	* gfortran.fortran-torture/execute/iolength_1.f90: New test.
      	* gfortran.fortran-torture/execute/iolength_3.f90: New test.
      
      From-SVN: r83472
      Janne Blomqvist committed
    • linker-map.gnu: Use wildcards for __basic_file::sys_open(FILE*, _Ios_Openmode). · 88c499cc
      	* config/linker-map.gnu: Use wildcards for
      	__basic_file::sys_open(FILE*, _Ios_Openmode).
      
      From-SVN: r83470
      Loren J. Rittle committed
    • Daily bump. · 026a935f
      [[Split portion of a mixed commit.]]
      
      From-SVN: r83467.2
      GCC Administrator committed
    • Daily bump. · b080e5a2
      [[Split portion of a mixed commit.]]
      
      From-SVN: r83466.2
      GCC Administrator committed
  2. 21 Jun, 2004 17 commits
    • re PR rtl-optimization/14782 (produces an unaligned data access at -O2) · cae80939
      	PR rtl-optimization/14782
      	* pa.c (emit_move_sequence): Use SFmode for 4-byte modes when doing
      	the address checks for secondary reloads for loads from and stores
      	to floating-point registers.
      	* pa.h (EXTRA_CONSTRAINT, case T): Use SFmode for 4-byte modes
      	in the address check.  Move work around for ELF32 targets to
      	GO_IF_LEGITIMATE_ADDRESS.
      	(GO_IF_LEGITIMATE_ADDRESS): Require constant offsets to be
      	correctly aligned for DImode loads and stores.  Don't allow long
      	SFmode displacements on ELF32.
      
      From-SVN: r83464
      John David Anglin committed
    • re PR rtl-optimization/16114 (Hang in cse.c (flush_hash_table)) · a90fc8e0
              PR rtl-opt/16114
              * cse.c (merge_equiv_classes): Also rehash in response to
              delete_reg_equiv changes.
              (rehash_using_reg): Don't exclude REGs from rehashing.
      
      From-SVN: r83463
      Richard Henderson committed
    • c-common.def (RETURN_STMT): Remove. · 5088b058
              * c-common.def (RETURN_STMT): Remove.
              * c-common.h (RETURN_STMT_EXPR): Remove.
              (c_expand_return, build_return_stmt): Remove.
              (c_common_stmt_codes): Remove RETURN_STMT.
              * c-dump.c (dump_next_stmt): Remove.
              (c_dump_tree): Remove RETURN_STMT.
              * c-decl.c (finish_function): Use c_finish_return.
              * c-parse.in (stmt): Likewise.
              * c-gimplify.c (gimplify_return_stmt): Remove.
              (c_gimplify_expr): Remove RETURN_STMT.
              * c-pretty-print.c (pp_c_statement): Likewise.
              * c-semantics.c (build_return_stmt): Remove.
              * c-tree.h (c_finish_return): Declare.
              * c-typeck.c (c_finish_return): Rename from c_expand_return.
              Return void.  Build RETURN_EXPR directly.
              * tree-dump.h (dump_next_stmt): Remove.
      cp/
              * dump.c (cp_dump_tree): Don't use dump_next_stmt.
              * parser.c (cp_parser_jump_statement): Update commentary.
              * pt.c (tsubst_expr): Use RETURN_EXPR.
              * semantics.c (finish_return_stmt): Likewise.
              (finalize_nrv_r): Likewise.
              * typeck.c, typeck2.c: Update file start commentary.
      
      From-SVN: r83461
      Richard Henderson committed
    • c-decl.c (start_function): Don't call make_decl_rtl. · 0b4da8a1
      	* c-decl.c (start_function): Don't call make_decl_rtl.  Don't
      	look at TREE_ADDRESSABLE of symbol name.
      
      From-SVN: r83460
      Zack Weinberg committed
    • select_1.f90: Rename function to fix type error. · 63110e4e
      * gfortran.fortran-torture/execute/select_1.f90: Rename function
      to fix type error.
      * gfortran.fortran-torture/execute/intrinsic_associated.f90:
      Remove trailing spaces.
      
      From-SVN: r83459
      Tobias Schlüter committed
    • re PR target/15551 (-mtune=pentium4 -O2 with sjlj EH breaks stack probe worker… · 8e2cd6dd
      re PR target/15551 (-mtune=pentium4  -O2 with sjlj EH breaks stack probe worker on windows32  targets)
      
      
      2004-06-21  Kelley Cook  <kcook@gcc.gnu.org>
      
      	PR target/15551
      	* config/i386/i386.md: Change UNSPEC_STACK_PROBE to UNSPECV_STACK_PROBE.
      	(allocate_stack_worker): Make unspec_volatile.
      	(allocate_stack_worker_rex64):  Likewise.
      	(allocate_stack_worker_postreload):  Likewise.
      	(allocate_stack_worker_rex64_postreload):  Likewise.
      
      From-SVN: r83458
      Kelley Cook committed
    • Fix whitespace from previous checking · f648d1e4
      From-SVN: r83457
      R. Kelley Cook committed
    • etime.c (etime_sub): Remove array rank check; Add check for sufficient space. · 0bf68c6e
      	* etime.c (etime_sub): Remove array rank check;
      	Add check for sufficient space.
      
      From-SVN: r83456
      Steven G. Kargl committed
    • re PR fortran/15511 (Warning about truncated lines does not follow the standard… · fa841200
      re PR fortran/15511 (Warning about truncated lines does not follow the standard gcc error message format)
      
      PR fortran/15511
      * scanner.c (load_line): Don't truncate preprocessor lines.
      Reformat error message.
      (preprocessor_line): Issue warning in case of malformed
      preprocessor line.
      
      From-SVN: r83455
      Tobias Schlüter committed
    • New test, extracted from 15982 · 6263a8f6
      From-SVN: r83454
      Daniel Berlin committed
    • re PR tree-optimization/15982 (ICE in tree-ssa-pre due to GVN-PRE) · 56db793a
      2004-06-21  Daniel Berlin  <dberlin@dberlin.org>
      
          Fix PR optimization/15982
          * tree-ssa-pre.c: Update a few comments and todos to
          reflect constants change.
          (get_value_handle): Constants now value number to themselves.
          (lookup): Constants lookup to themselves.
          (add_to_value): Adjust to always be on.
          (set_contains_value): Adjust for constants change.
          (find_leader): Ditto.
          (phi_translate): 'r' nodes are never ANTIC right now.
          (valid_in_set): Ditto.
          (get_expr_set): New function.
          (find_or_generate_expression): New function, broken out from
          insert_aux.
          (create_expression_by_pieces): Ditto, plus additional
          machinery to handle complex values.
          (compute_avail): Remove dead RETURN_EXPR handling.
      
      From-SVN: r83453
      Daniel Berlin committed
    • i386.c: Include insn-codes.h · 8bc527af
      	* config/i386/i386.c: Include insn-codes.h
      	* config/i386/i386.h (FLAGS_REG, FPSR_REG, DIRFLAG_REG): Don't
      	define here.
      	* config/i386/i386.md (BP_REG, SP_REG, FLAGS_REG, FPSR_REG,
      	DIRFLAG_REG): New define_constants.  Use them everywhere.
      
      From-SVN: r83451
      Steven Bosscher committed
    • Typo fix. · b16c5d49
      From-SVN: r83445
      Joern Rennecke committed
    • [multiple changes] · da28a3b9
      2004-06-21  Kaz Kojima  <kkojima@gcc.gnu.org>
      
      	* config/sh/t-linux (MULTILIB_OPTIONS): Remove.
      
      2004-06-21  J"orn Rennecke <joern.rennecke@superh.com>
      
      	* sh.h (SUPPORT_SH1, SUPPORT_SH2E, SUPPORT_SH4): Conditionanlly define.
      	(SUPPORT_SH4_SINGLE): Likewise.
      	(TARGET_SWITCHES): Break out switches for cpu subtargets:
      	(TARGET_SWITCH_SH1, TARGET_SWITCH_SH2, TARGET_SWITCH_SH2E): Define.
      	(TARGET_SWITCH_SH3, TARGET_SWITCH_SH3E): Likewise.
      	(TARGET_SWITCH_SH4_SINGLE_ONLY, TARGET_SWITCH_SH4_SINGLE): Likewise.
      	(TARGET_SWITCH_SH4_NOFPU, TARGET_SWITCH_SH4): Likewise.
      	(TARGET_SWITCH_SH5_64MEDIA, TARGET_SWITCH_SH5_64MEDIA_NOFPU): Likewise.
      	(TARGET_SWITCHES_SH5_32MEDIA): Likewise.
      	(TARGET_SWITCHES_SH5_32MEDIA_NOFPU): Likewise.
      	(SELECT_SH5_64, SELECT_SH5_64_NOFPU): Rename to:
      	(SELECT_SH5_64MEDIA, SELECT_SH5_64MEDIA_NOFPU)
      	(SELECT_SH5_32, SELECT_SH5_32_NOFPU): Rename to:
      	(SELECT_SH5_32MEDIA, SELECT_SH5_32MEDIA_NOFPU).
      	(SH_MULTILIB_CPU_DEFAULT, MULTILIB_DEFAULTS): Define.
      	(ASM_ISA_SPEC_DEFAULT, ASM_ISA_DEFAULT_SPEC): Likewise.
      	* sh64.h (ASM_SPEC, LINK_DEFAULT_CPU_EMUL): Don't redefine.
      	(TARGET_DEFAULT): Likewise.
      	* config/sh/t-elf: Amend comment.
      	* config/sh/t-1e, config/sh/t-mlib-sh1: New files.
      	* config/sh/t-mlib-sh2, config/sh/t-mlib-sh2e: Likewise.
      	* config/sh/t-mlib-sh3, config/sh/t-mlib-sh3e: Likewise.
      	* config/sh/t-mlib-sh4, config/sh/t-mlib-sh4-nofpu: Likewise.
      	* config/sh/t-mlib-sh4-single: Likewise.
      	* config/sh/t-mlib-sh4-single-only: Likewise.
      	* config/sh/t-mlib-sh5-32media: Likewise.
      	* config/sh/t-mlib-sh5-32media-nofpu: Likewise.
      	* config/sh/t-mlib-sh5-64media: Likewise.
      	* config/sh/t-mlib-sh5-64media-nofpu: Likewise.
      	* config/sh/t-mlib-sh5-compact: Likewise.
      	* config/sh/t-mlib-sh5-compact-nofpu: Likewise.
      	* config/sh/t-sh: (MULTILIB_ENDIAN): Add mb.
      	(MULTILIB_CPUS): Define.
      	(MULTILIB_OPTIONS): Use MULTILIB_CPUS.
      	(MULTILIB_MATCHES): Use some shell code to calculate it.
      	(MULTILIB_EXCEPTIONS): Change to ml/m1.
      	* config/sh/elf.h (SUBTARGET_ASM_ISA_SPEC): Use ASM_ISA_DEFAULT_SPEC.
      	* config/sh/netbsd-elf.h: Update code which sets TARGET_VERSION_CPU.
      	(LINK_DEFAULT_CPU_EMUL): Don't redefine.
      	(NO_PROFILE_COUNTERS): Define to 1.
      	* config/sh/t-netbsd (MULTILIB_OPTIONS): Don't append to.
      	(MULTILIB_DIRNAMES, MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Don't zap.
      	* config/sh/t-netbsd-sh5-64 (MULTILIB_OPTIONS): Don't redefine.
      	(MULTILIB_MATCHES): Don't zap.
      	(MULTILIB_DIRNAMES): Use MULTILIB_RAW_DIRNAMES.
      	* config/sh/t-sh64 (MULTILIB_OPTIONS): Don't redefine.
      	(MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Don't zap.
      	(MULTILIB_RAW_DIRNAMES): Define.
      	(MULTILIB_DIRNAMES): Use it.
      	* config.gcc: Also set cpu_type / need_64bit_hwint for sh[be]*-*-*.
      	(sh*linux configurations): Merge into:
      	(sh*elf / sh*kaos configurations).  Support --with-endian, --with-cpu,
      	--with-multilib-list options.  Support sh-superh-elf configuration.
      	(sh*-netbsd*): Use SELECT_SH* macros.
      	(supported_defaults): sh[123456ble]-*-* | sh-*-* support "cpu".
      	Merge sh*-*-netbsd* configurations into sh-elf configurations.
      	* config/sh/t-netbsd-sh5, config/sh/t-le, config/sh/t-le: Delete.
      	* config/sh/t-monolib: Likewise.
      
      From-SVN: r83444
      Joern Rennecke committed
    • resolve.c (resolve_symbol): Add comment in function body. · f5e440e1
      * resolve.c (resolve_symbol): Add comment in function body.
      (check_data_variable): Change type of mark to ar_type, adapt code
      accordingly.
      
      From-SVN: r83443
      Tobias Schlüter committed
    • array.c (gfc_insert_constructor): Avoid redundant call to mpz_comp. · da4f9e3b
      * array.c (gfc_insert_constructor): Avoid redundant call to
      mpz_comp. Add 2004 to copyright years.
      
      From-SVN: r83442
      Tobias Schlüter committed
    • java-gimplify.c (java_gimplify_block): set TREE_USED on the new block. · 979bf9a1
      2004-06-21  Andrew Haley  <aph@redhat.com>
      
      	* java-gimplify.c (java_gimplify_block): set TREE_USED on the new
      	block.
      
      From-SVN: r83441
      Andrew Haley committed