aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2004-07-05re PR c++/2518 (user-declared operator new hides standard one)Giovanni Bajo4-0/+26
PR c++/2518 * call.c (build_operator_new_call): Look only at global scope. PR c++/2518 * g++.dg/lookup/new1.C: New test. From-SVN: r84119
2004-07-05tree-pretty-print.c (dump_generic_node, [...]): Properly print bounds.Richard Kenner2-14/+27
* tree-pretty-print.c (dump_generic_node, case ARRAY_TYPE): Properly print bounds. From-SVN: r84118
2004-07-05expr.c (expand_expr_real_1, [...]): Don't check against bounds if bounds ↵Richard Kenner2-8/+15
aren't constant. * expr.c (expand_expr_real_1, case SWITCH_EXPR): Don't check against bounds if bounds aren't constant. From-SVN: r84117
2004-07-05Fix typoRichard Kenner1-1/+1
From-SVN: r84116
2004-07-05sourcebuild.texi (Config Fragments): Use @comma{} in cross-reference to ↵Joseph Myers2-1/+6
section title. * sourcebuild.texi (Config Fragments): Use @comma{} in cross-reference to section title. From-SVN: r84115
2004-07-05* tree-cfg.c (verify_expr): Use CHECK_OK in binary case.Richard Kenner2-19/+7
From-SVN: r84114
2004-07-05function.c, [...]: Move max_size hook to type hooks; remove bogus PARAMS.Richard Kenner4-7/+12
* function.c, langhooks-def.h, langhooks.h: Move max_size hook to type hooks; remove bogus PARAMS. From-SVN: r84113
2004-07-05re PR c++/11406 (sorry+ICE: `array_ref' not supported by dump_type)Volker Reichelt2-0/+14
PR c++/11406 * g++.dg/template/sizeof8.C: New test. From-SVN: r84111
2004-07-05c-tree.h (TYPE_ACTUAL_ARG_TYPES): Use TYPE_LANG_SLOT_1.Nathan Sidwell19-80/+222
* c-tree.h (TYPE_ACTUAL_ARG_TYPES): Use TYPE_LANG_SLOT_1. * dwarf2out.c (add_data_member_location_attribute): Check for TREE_BINFO. * tree.c (tree_node_kinds): Add "binfos". (binfo_lang_slots): New. (make_node_stat): Add TREE_BINFO. (make_tree_binfo_stat): New. (tree_node_structure): Add TREE_BINFO. * tree.def (TREE_BINFO): New. * tree.h (REC_OR_UNION_CHECK): Rename to ... (RECORD_OR_UNION_CHECK): ... here. (NOT_RECORD_OR_UNION_CHECK): New. (TRE_VIA_VIRTUAL): Allow TREE_LIST or TREE_BINFO. (TYPE_FIELDS, TYPE_METHODS, TYPE_VFIELD): Adjust for RECORD_OR_UNION_CHECK. (TYPE_BINFO): Use RECORD_OR_UNION_CHECK. (TYPE_LANG_SLOT_1): New. (BINFO_TYPE, BINFO_OFFSET, BINFO_VTABLE, BINFO_VIRTUALS, BINFO_BASETYPES, TYPE_BINFO_BASETYPES, BINFO_VPTR_FIELD, BINFO_BASEACCESSES, BINFO_INHERITANCE_CHAIN): Adjust. (BINFO_ELTS): Remove. (BINFO_LANG_SLOT): New. (struct tree_binfo): New. (binfo_lang_slots): Declare. (enum tree_node_structure_enum): Add TS_BINFO. (union tree_node): Add binfo. (make_tree_binfo_stat): Declare. (make_tree_binfo): New. (enum tree_node_kind): Add binfo_kind. * cp/call.c (enforce_access): Expect TREE_BINFO. * cp/class.c (binfo_ctor_vtable): Check TREE_BINFO. * cp/cp-tree.h (RECORD_OR_UNION_TYPE_CHECK): Remove. (BINFO_SUBVTT_INDEX, BINFO_VPTR_INDEX, BINFO_PRIMARY_BASE_OF): Adjust. (BINFO_LANG_ELTS): Remove. (BINFO_LANG_SLOTS): New. (TYPE_RAISES_EXCEPTIONS, ENUM_TEMPLATE_INFO): Use TYPE_LANG_SLOT_1. (CLASSTYPE_TEMPLATE_INFO): Adjust. * cp/pt.c (tsubst): Split TREE_BINFO case from TREE_VEC case. * cp/search.c (lookup_member): Check TREE_BINFO. * cp/semantics.c (perform_or_defer_access_check): Likewise. (check_accessibility_of_qualified_id): Check deferred_access_no_check. * cp/tree.c (make_binfo): Use make_tree_binfo. * java/class.c (make_class): Use make_tree_binfo. (set_super_info, add_interface_do): Likewise. * java/java-tree.h (CLASS_HAS_SUPER_FLAG): Expect a BINFO. * objc/objc-act.c (start_class, objc_declare_protocols, start_protocols): Use TYPE_LANG_SLOT_1. * objc/objc-act.h (CLASS_BINFO_ELTS, PROTOCOL_BINFO_ELTS): Rename to ... (CLASS_LANG_SLOT_ELTS, PROTOCOL_LANG_SLOT_ELTS): ... here. (CLASS_IVARS, CLASS_RAW_IVARS, CLASS_STATIC_TEMPLATE, CLASS_CATEGORY_LIST, CLASS_PROTOCOL_LIST, CLASS_OWN_IVARS, PROTOCOL_LIST, PROTOCOL_FORWARD_DECL): Use TYPE_LANG_SLOT_1. From-SVN: r84110
2004-07-05rtl.h (struct rtx_def): Remove the integrated flag.Steven Bosscher2-11/+14
* rtl.h (struct rtx_def): Remove the integrated flag. Use the return_val flag for MEM_SCALAR_P. Reshuffle and update flags in CLEAR_RTX_FLAGS From-SVN: r84109
2004-07-05re PR target/16357 (ICE copying 7 bytes between extern char[]s)Richard Sandiford4-18/+31
PR target/16357 * config/mips/mips.c (mips_block_move_straight): Pass BLKmode memrefs to mips_expand_unaligned_load, mips_expand_unaligned_store, and move_by_pieces. From-SVN: r84108
2004-07-05var-tracking.c: Fix some comments.Josef Zlomek2-18/+32
* var-tracking.c: Fix some comments. (frame_stack_adjust): New. (vt_stack_adjustments): Init stack_adjust of entry block to minus stack adjustment of function prologue. (adjust_stack_reference): Do not adjust if adjustment == 0. (compute_bb_dataflow): Use plus_constant instead of gen_rtx_PLUS. (emit_notes_in_bb): Likewise. (vt_add_function_parameters): Do not adjust locations of function arguments. (vt_initialize): Compute the stack adjustment of function prologue and offset the initial "location" of frame_base_decl from the stack pointer after prologue. From-SVN: r84106
2004-07-04function.c (struct assign_parm_data_all): New.Richard Henderson2-842/+1011
* function.c (struct assign_parm_data_all): New. (struct assign_parm_data_one): New. (assign_parms_initialize_all, assign_parms_augmented_arg_list, assign_parm_find_data_types, assign_parms_setup_varargs, assign_parm_find_entry_rtl, assign_parm_is_stack_parm, assign_parm_find_stack_rtl, assign_parm_adjust_entry_rtl, assign_parm_adjust_stack_rtl, assign_parm_setup_block_p, assign_parm_setup_block, assign_parm_setup_reg, assign_parm_setup_stack, assign_parms_unsplit_complex): Split from ... (assign_parms): ... here. From-SVN: r84105
2004-07-05re PR libfortran/15472 (implicit open for unformatted file causes run-time ↵Bud Davis2-0/+85
error) 2004-07-04 Bud Davis <bdavis9659@comcast.net> Paul Brook <paul@codesourcery.com> PR fortran/15472 * io/transfer.c(us_write): set recl for seq unform writes to max size. * io/transfer.c(data_transfer_init): handle un-opened seq unform unit. * io/unix.c(fd_alloc_w_at): handle requests at start, fd_flush at right time. * io/unix.c(is_seekable): set based upon the file/device, not the method being used to access it (fd or mmap). * io/unix.c(fd_flush): don't set file_size if !seekable. * io/unix.c(fd_truncate: ditto. * gfortran.fortran-torture/execute/seq_io.f90: New test. Co-Authored-By: Paul Brook <paul@codesourcery.com> From-SVN: r84104
2004-07-05Daily bump.GCC Administrator1-1/+1
From-SVN: r84102
2004-07-04tree-ssa-pre.c (bb_value_sets): phi_gen, tmp_gen, new_sets now are ↵Daniel Berlin2-63/+111
bitmap_set_t's. 2004-07-04 Daniel Berlin <dberlin@dberlin.org> * tree-ssa-pre.c (bb_value_sets): phi_gen, tmp_gen, new_sets now are bitmap_set_t's. (bitmap_insert_into_set): No point in inserting the value if it's invariant. (bitmap_set_contains): New function. (bitmap_set_replace_value): Add comment on why we do it this way. (set_contains): Removed. (bitmap_set_subtract_from_value_set): New name of set_subtract now that it's arguments are two different types of sets. Update callers. (bitmap_find_leader): Change algorithm used. (find_or_generate_expression): Update use of functions for new bitmap sets. (create_expression_by_pieces): Ditto. (insert_aux): Ditto. (insert): Ditto. (add_to_sets): Ditto. (init_pre): Ditto. (execute_pre): Ditto. (compute_avail): Ditto. Also ignore virtual phis. From-SVN: r84099
2004-07-04* combine.c (simplify_comparison): Fix comment typo.Richard Sandiford2-1/+5
From-SVN: r84098
2004-07-04sparc.c (SIBCALL_SLOT_EMPTY_P): Rename into LEAF_SIBCALL_SLOT_RESERVED_P ↵Eric Botcazou2-12/+21
after negation. * config/sparc/sparc.c (SIBCALL_SLOT_EMPTY_P): Rename into LEAF_SIBCALL_SLOT_RESERVED_P after negation. (eligible_for_sibcall_delay): Adjust use of SIBCALL_SLOT_EMPTY_P. (output_restore): Change parameter from 'insn' to 'pat'. (output_return): Adjust call to output_restore. (output_sibcall): Adjust use of SIBCALL_SLOT_EMPTY_P. Adjust call to output_restore. From-SVN: r84097
2004-07-04netbsd.h (NETBSD_OS_CPP_BUILTINS_COMMON): Define __unix__ and assert system ↵Neil Booth2-0/+7
is bsd. * config/netbsd.h (NETBSD_OS_CPP_BUILTINS_COMMON): Define __unix__ and assert system is bsd. From-SVN: r84096
2004-07-04mips.h (MASK_DEBUG_C, [...]): Delete.Richard Sandiford3-426/+29
* config/mips/mips.h (MASK_DEBUG_C, TARGET_DEBUG_C_MODE): Delete. (TARGET_SWITCHES): Remove -mdebugc. * config/mips/mips.md (seq, sne, sgt, sge, slt, sle, sgtu, sgeu) (sltu, sleu): Remove TARGET_DEBUG_C_MODE handling. (seq_[sd]i, sne_[sd]i, sge_[sd]i, sle_[sd]i_reg, sgeu_[sd]i) (sle_[sd]i_reg): Delete. From-SVN: r84095
2004-07-04iq2000.c (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define.Steven Bosscher3-21/+29
* config/iq2000/iq2000.c (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define. * config/iq2000/iq2000.md: Translate old pipeline description to an equivalent new one. From-SVN: r84094
2004-07-04Make-lang.in (doc/gnat_ugn_unw.texi): Eliminate explicit dependency on ↵Kelley Cook2-4/+14
xgnatugn, instead build it via a submake. * Make-lang.in (doc/gnat_ugn_unw.texi): Eliminate explicit dependency on xgnatugn, instead build it via a submake. (ADA_INFOFILES): Add doc/gnat_ugn_unw.texi. From-SVN: r84093
2004-07-04method.c (implicitly_declare_fn): Set linkage of generated functions.Mark Mitchell2-0/+6
* method.c (implicitly_declare_fn): Set linkage of generated functions. From-SVN: r84092
2004-07-04tree-ssa-ccp.c (set_rhs): Change function to return a bool.Roger Sayle2-10/+32
* tree-ssa-ccp.c (set_rhs): Change function to return a bool. Ensure the replacement rhs is valid gimple before performing the substitution. Return false if these sanity checks fail. (fold_stmt): Only set changed to true, if set_rhs returns true. (execute_fold_all_builtins): Only call modify_stmt if set_rhs succeeds. From-SVN: r84091
2004-07-04re PR c/16348 (Loop gets executed when it shouldnt)Richard Henderson3-4/+21
PR c/16348 * c-typeck.c (c_finish_loop): Don't clear cond for cond_is_first loops. From-SVN: r84089
2004-07-04configure.ac (ranlib_flags): New variable.Mark Mitchell4-3/+38
* configure.ac (ranlib_flags): New variable. * Makefile.in (RANLIB_FLAGS): New variable. (libbackend.a): Use it. * configure: Regenerated. From-SVN: r84088
2004-07-04re PR libfortran/15280 (Fortran9x commandline not accessable)Janne Blomqvist8-2/+130
PR fortran/15280 PR fortran/15665 * gfortran.h (enum gfc_generic_isym_id): Add GFC_ISYM_IARGC and GFC_ISYM_COMMAND_ARGUMENT_COUNT. * intrinsic.c (add_functions): Identify iargc. Add command_argument_count. (add_subroutines): Resolve getarg. Add get_command and get_command_argument. * intrinsic.h (gfc_resolve_getarg, gfc_resolve_get_command, gfc_resolve_get_command_argument): Add prototypes. * iresolve.c (gfc_resolve_getarg, gfc_resolve_get_command, gfc_resolve_get_command_argument): New functions. * trans-decl.c (gfor_fndecl_iargc): New variable. (gfc_build_intrinsic_function_decls): Set it. * trans-intrinsic.c (gfc_conv_intrinsic_iargc): New function. (gfc_conv_intrinsic_function): Use it. * trans.h (gfor_fndecl_iargc): Declare. libgfortran/ * libgfortran.h (gfc_strlen_type): Define. * intrinsics/args.c (getarg): Rename ... (getarg_i4): ... to this. (getarg_i8, get_command_argument_i4, get_command_argument_i8, get_command_i4, get_command_i8): New functions. Co-Authored-By: Paul Brook <paul@codesourcery.com> From-SVN: r84087
2004-07-04* verify.c: Correct array element access formatting thinko.Ranjit Mathew2-48/+52
From-SVN: r84086
2004-07-04verify.c: Insert a short blurb at the start referring to the JVMS.Ranjit Mathew2-108/+213
* verify.c: Insert a short blurb at the start referring to the JVMS. Minor formatting fixes all over the place. (merge_type_state): Remove redundant nested if statement. (verify_jvm_instructions): Ensure current_subr is initialised to NULL_TREE. Cii: Enter Log. Lines beginning with `CVS:' are removed automaticalli From-SVN: r84084
2004-07-04ifcvt.c (noce_try_sign_mask): Call emit_store_flag to generate a "sign mask" ↵Roger Sayle2-2/+9
instead of using ashr_optab directly. * ifcvt.c (noce_try_sign_mask): Call emit_store_flag to generate a "sign mask" instead of using ashr_optab directly. From-SVN: r84081
2004-07-04re PR preprocessor/16192 (Bug in expression evaluation when operand is missing)Neil Booth6-8/+30
* 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* doc/contrib.texi (Contributors): Adjust link for GNU Classpath.Gerald Pfeifer2-1/+5
From-SVN: r84078
2004-07-04Make-lang.in: Generate and install gfortran man page.Matthias Klose3-8/+28
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-04rtl.def (ADDRESSOF): Remove.Richard Henderson44-2866/+203
* 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-03ia64.c (spill_xfmode_operand): Use assign_stack_temp instead of ↵Richard Henderson3-8/+30
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-03re PR tree-optimization/16341 (BOOT_CFLAGS='-O2 -fno-inline' causes a ↵Richard Henderson3-3/+160
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-03Missed commitRichard Henderson1-0/+5
From-SVN: r84069
2004-07-04Daily bump.GCC Administrator1-1/+1
[[Split portion of a mixed commit.]] From-SVN: r84065.2
2004-07-03decl.c (gfc_match_implicit_range): Don't use typespec.Paul Brook7-85/+126
* 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-03tree.c (type_hash_eq): Allow TYPE_MIN_VALUE which compares equal with ↵Joseph Myers2-1/+6
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-03tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Don't fold fp plus with ↵Richard Henderson2-0/+32
minus. * tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Don't fold fp plus with minus. From-SVN: r84061
2004-07-03ia64.md: Define new attribute "empty".Andreas Schwab3-8/+24
* 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-03tree-inline.c (initialize_inlined_parameters): Pass proper function context ↵Richard Kenner2-10/+37
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* tree-sra.c (generate_element_init): Remove any useless conversions.Richard Kenner2-1/+6
From-SVN: r84057
2004-07-03gimplify.c (gimplify_conversion): Remove stripping useless conversions from ↵Richard Kenner2-14/+24
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-03tree-ssa.c (tree_ssa_useless_type_conversion): Also look at ↵Richard Kenner4-3/+8
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-03langhooks-def.h (LANG_HOOKS_TYPE_MAX_SIZE): New langhook.Richard Kenner4-0/+20
* 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-03sh.c (sh_use_dfa_interface): Add TARGET_SH1.Steven Bosscher3-26/+54
* 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-03c-decl.c (struct c_binding): Remove contour field; add depth, invisible, ↵Zack Weinberg3-93/+188
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-03re PR c++/3761 (ICE in check_template_shadow, at cp/pt.c:2013, with friend ↵Scott Brumbaugh4-1/+43
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