summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* * reload.c (get_secondary_mem): Don't widen floating-point modes.geoffk2000-05-282-1/+3
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34218 138bc75d-0d04-0410-961f-82ee72b054a4
* * combine.c (subst): Honour CLASS_CANNOT_CHANGE_SIZE whengeoffk2000-05-282-0/+17
| | | | | | | substituting the REG in a (subreg:X (reg:Y ...)). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34217 138bc75d-0d04-0410-961f-82ee72b054a4
* * cpplex.c (_cpp_lex_line): Merge vertical space. Flagneil2000-05-283-40/+37
| | | | | | | | | | first token of a line BOL. Update EOF code for this. Remove illegal directive check - it appears in the (not yet committed) caller. * cpplib.h (BOL): New flag. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34216 138bc75d-0d04-0410-961f-82ee72b054a4
* * cpplex.c (_cpp_init_toklist): No comment space to initialise.neil2000-05-273-84/+34
| | | | | | | | | | | | | (_cpp_free_toklist): No comment space to free. (expand_comment_space): Remove. (save_comment_space): Place the comment in the current token and not in a separate comment space. (_cpp_lex_line): Save comments during plain code and #define directives only. * cpplib.h (struct _cpp_toklist): Remove comment space. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34215 138bc75d-0d04-0410-961f-82ee72b054a4
* * cppexp.c (parse_assertion): Supply extra argument toneil2000-05-275-75/+132
| | | | | | | | | | | | | | | | | | | | | | _cpp_init_toklist. * cpplib.c (do_assert, do_unassert): Similarly. * cpphash.h (_cpp_init_toklist) Update. (_cpp_expand_token_space): New. (DUMMY_TOKEN, NO_DUMMY_TOKEN): New. * cpplex.c (_cpp_init_toklist): New argument. (parse_string2): New argument multiline_ok. (spell_token): Take a const cpp_token *. (INIT_NAME): Replace with INIT_TOKEN_NAME. Update tokens_used. (SPELL_ macros): Replace with enum. (expand_token_space): Replace with _cpp_expand_token_space. Take COUNT argument. (IS_DIRECTIVE): Update. (_cpp_lex_line): Update token structure before parsing number. Don't assume start at beginning of token list. (save_comment): Use INIT_TOKEN_NAME. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34214 138bc75d-0d04-0410-961f-82ee72b054a4
* * configure.in (stage1_warn_cflags): Add -Wstrict-prototypeszack2000-05-277-74/+92
| | | | | | | | | | | | | | | | | | | | -Wmissing-prototypes. * configure: Regenerate. * gcc.texi: Remove explanation of MD_CALL_PROTOTYPES. * builtins.c, calls.c: Change all instances of gen_call_* or gen_sibcall_* to GEN_CALL_* and GEN_SIBCALL_*. * calls.c (struct_value_size_rtx): Separate definition from initialization to avoid unused variable warning. * genflags.c (gen_macro): New function. (gen_proto): Call it for gen_call_* and gen_sibcall_*. (gen_nonproto): Delete. (gen_insn): Put all insns on the same obstack. (main): Generate prototypes for everything unconditionally. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34213 138bc75d-0d04-0410-961f-82ee72b054a4
* * configure.in: Add AC_CHECK_TYPE(ssize_t). Remove commentedzack2000-05-276-165/+228
| | | | | | | | | | | | | out check for wchar_t. * acconfig.h: Add template for ssize_t. Remove @TOP@. * system.h: Add infrastructure for defining missing TYPE_MAX/TYPE_MIN macros. Use it to provide fallback definitions of UCHAR_MAX and SSIZE_MAX. * configure: Regenerate. * config.in: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34212 138bc75d-0d04-0410-961f-82ee72b054a4
* * Makefile.in (libgcc2.ready): Rename to libgcc.ready.rth2000-05-272-14/+18
| | | | | | | | | | Depend on $(LANGUAGES) as well as $(GCC_PATCHES) and fixed headers. (clean): No need to delete libgcc1.a, libgcc1-asm.a, libgcc2.a, or libgcc1.null. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34211 138bc75d-0d04-0410-961f-82ee72b054a4
* * Make-lang.in (cplib2.ready): Eradicate.rth2000-05-272-23/+6
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34210 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/alpha/alpha.c (hard_fp_register_operand): Mind the mode.rth2000-05-275-11/+51
| | | | | | | | | | | (hard_int_register_operand): New. * config/alpha/alpha-protos.h: Declare it. * config/alpha/alpha.h (PREDICATE_CODES): Update. * config/alpha/alpha.md (peep2 patterns): Use hard_int_register_operand as needed; use peep2_reg_dead_p instead of dead_or_set_p. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34209 138bc75d-0d04-0410-961f-82ee72b054a4
* * Makefile.in (recog.o): Don't depend on resource.h.rth2000-05-2711-215/+408
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * recog.c: Don't include resource.h. (recog_last_allowed_insn): Remove. (recog_next_insn): Remove. (struct peep2_insn_data): New. (peep2_insn_data, peep2_current): New. (peep2_next_insn): New. (peep2_regno_dead_p, peep2_reg_dead_p): New. (peep2_find_free_register): New. (peephole2_optimize): Track life information by insn as we go. * recog.h: Update declarations. * resource.c (find_free_register, reg_dead_p): Remove. * resource.h: Remove their declarations. * toplev.c: Include hard-reg-set.h before recog.h. * genconfig.c (max_insns_per_peep2): New. (gen_peephole2): New. (main): Call it. * genemit.c (output_peephole2_scratches): Generate calls to peep2_find_free_register; adjust surrounding code. (main): Have insn-emit.c include hard-reg-set.h before recog.h. * genrecog.c (change_state): Don't track last_insn. (write_action): Write into *_pmatch_len before accepting. (write_tree): Adjust peephole2_insns and subroutines to match. * config/i386/i386.md (all peepholes): Use peep2_regno_dead_p. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34208 138bc75d-0d04-0410-961f-82ee72b054a4
* * function.c (thread_prologue_epilogue_insns): Don't move therth2000-05-272-24/+33
| | | | | | | | line note at the head of the chain. Only force a lineno note before the end of block 0. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34207 138bc75d-0d04-0410-961f-82ee72b054a4
* * gensupport.c (collect_insn_data): Record the maximum numberrth2000-05-272-1/+5
| | | | | | | of alternatives, not the last seen. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34206 138bc75d-0d04-0410-961f-82ee72b054a4
* * genoutput.c: Don't include errors.h.rth2000-05-272-30/+68
| | | | | | | | | | | | | (struct data): Add lineno member. (have_error): New. (scan_operands): Use message_with_line instead of error. (validate_insn_alternatives): Likewise. (gen_insn): Accept and store the pattern's line number. (gen_peephole, gen_expand, gen_split): Likewise. (main): Don't set progname. Pass line_no to gen_foo. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34205 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/d30v/d30v.c (d30v_print_operand): Handle ':'.rth2000-05-274-610/+258
| | | | | | | | | | | | | | | * config/d30v/d30v.h (PRINT_OPERAND_PUNCT_VALID_P): Accept ':'. * config/d30v/d30v.md (attr predicable): New. (all insn patterns): Mark non-predicable patterns; use %: on the rest. (andsi3*): Unify into one pattern. (iorsi3*, xorsi3*): Likewise. (peephole2 patterns): Use peep2_reg_dead_p; verify not a conditional return. (old cond_exec patterns): Remove. (define_cond_exec): New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34204 138bc75d-0d04-0410-961f-82ee72b054a4
* * tree.h (TREE_CODE_LENGTH): New macro.kenner2000-05-2716-106/+107
| | | | | | | | | | | | | | | | | | | | | | | | | | * c-common.c (c_find_base_decl): Use it. * expr.c (safe_from_p): Likewise. * print-tree.c (print_node): Likewise. * tree.c (make_node, copy_node, get_identifier): Likewie. (first_rtl_op, contains_placeholder_p, substitute_in_expr): Likewise. (build, build_nt, build_parse_node, simple_cst_equal): Likewise. * fold-const.c (make_range): Likewise. (fold): Likewise; also use first_rtl_op. * c-iterate.c (collect_iterators): Use first_rtl_op. * calls.c (calls_function_1): Likewise; also rename TYPE to CLASS. Use IS_EXPR_CODE_CLASS. (preexpand_calls): Likewise. * ggc-common.c (ggc_mark_trees): Rework to use first_rtl_op and TREE_CODE_LENGTH. * stmt.c (warn_if_unused_value): If no operands, no unused value. * ch/lang.c (deep_const_expr): Use first_rtl_op. * ch/satisfy.c (satisfy): Use TREE_CODE_LENGTH. * cp/method.c (mangle_expression): Use TREE_CODE_LENGTH. * cp/tree.c (break_out_calls, build_min_nt): Use TREE_CODE_LENGTH. (built_min, cp_tree_equal): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34203 138bc75d-0d04-0410-961f-82ee72b054a4
* Daily bump.law2000-05-275-5/+5
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34202 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/rs6000/rs6000.md (movsi_internal1): Use '%a1' rathergeoffk2000-05-272-3/+7
| | | | | | | | than '%1(%*)'. (movdi_internal64): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34201 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/rs6000/rs6000.md: Correct order of operands for DImodegeoffk2000-05-275-38/+96
| | | | | | | | | | | | | | | | | | | | | | | | | boolean patterns. * config/rs6000/rs6000.c (boolean_or_operator): New function. * config/rs6000/rs6000-protos.h (boolean_or_operator): Prototype it. * config/rs6000/rs6000.h (PREDICATE_CODES): Add boolean_or_operator. * config/rs6000/rs6000.md: Use boolean_or_operator instead of boolean_operator for the boolean patterns without NOTs. * config/rs6000/rs6000.c (reg_or_logical_cint_operand): Rename from reg_or_u_cint_operand. Change comment and behaviour. (logical_operand): Clean up, add assertion. (non_logical_cint_operand): Also check for reg_or_logical_cint_operand. * config/rs6000/rs6000.h (PREDICATE_CODES): Update. * config/rs6000/rs6000.md (iorsi3): Use reg_or_logical_cint_operand in the expander. (xorsi3): Likewise. (iordi3): Likewise. (xordi3): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34200 138bc75d-0d04-0410-961f-82ee72b054a4
* * tree.h (struct record_layout_info): Rename to (structmmitchel2000-05-265-3/+15
| | | | | | | | | | | | record_layout_info_s). * stor-layout.c (start_record_layout): Replace `record_layout_info' with `record_layout_info_s'. * class.c (layout_nonempty_base_or_field): Replace `record_layout_info' with `record_layout_info_s'. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34199 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix goto checking.jason2000-05-264-188/+377
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * cp-tree.h (struct language_function): x_named_labels is now a struct named_label_list*. * decl.c (struct named_label_use_list): Renamed from... (struct named_label_list): ...this. New struct. (push_binding_level): Don't set eh_region. (note_level_for_eh): New fn. (pop_label): Take label and old value directly. (pop_labels): Adjust for new named_labels format. (lookup_label): Likewise. (poplevel): Note characteristics of a binding level containing a named label. Mess with named label lists earlier. (mark_named_label_lists): New fn. (mark_lang_function): Call it. (use_label): New fn, split out from... (make_label_decl): ...here. Don't call it. (decl_jump_unsafe, check_previous_goto, check_previous_goto_1, check_previous_gotos): New fns, split out from... (define_label): ...here. (check_switch_goto): New fn. (define_case_label): Call it. (check_goto): New fn. * semantics.c (finish_goto_stmt): Call it and use_label. (begin_compound_stmt): If we're a try block, call note_level_for_eh. (expand_stmt): Never pass 1 as DONT_JUMP_IN to expand_end_bindings. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34198 138bc75d-0d04-0410-961f-82ee72b054a4
* 2000-05-26 Phil Edwards <pme@sourceware.cygnus.com>pme2000-05-266-108/+177
| | | | | | | | | | | | | * acinclude.m4 (GLIBCPP_ENABLE_LONG_LONG): If strtoll isn't available, force --disable. Need to flesh this out; make smarter. * aclocal.m4: Regenerate. * configure: Regenerate. * mkcheck.in: Minor tweaks. * docs/download.html: Fix typo. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34197 138bc75d-0d04-0410-961f-82ee72b054a4
* 2000-05-26 Zack Weinberg <zack@wolery.cumb.org>tromey2000-05-263-8/+17
| | | | | | | | * java/parse.y (find_applicable_accessible_methods_list): Don't add an uninitialized value to the list. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34196 138bc75d-0d04-0410-961f-82ee72b054a4
* * class.c (build_vtable_entry_ref): Correct usage ofmmitchel2000-05-263-1/+20
| | | | | | | get_vtbl_decl_for_binfo. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34195 138bc75d-0d04-0410-961f-82ee72b054a4
* * decl2.c (grokclassfn): Set DECL_LANGUAGE here.mmitchel2000-05-264-3/+25
| | | | | | | * method.c (implicitly_declare_fn): Not here. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34194 138bc75d-0d04-0410-961f-82ee72b054a4
* * flow.c (find_label_refs): New function.rearnsha2000-05-262-5/+61
| | | | | | | | (find_basic_blocks_1): Call it for each alternative of a call placeholder. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34193 138bc75d-0d04-0410-961f-82ee72b054a4
* * ifcvt.c (cond_exec_get_condition): Set test_if to the SET_SRCrearnsha2000-05-262-1/+6
| | | | | | | of get_pc. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34192 138bc75d-0d04-0410-961f-82ee72b054a4
* * cp-tree.h (CPTI_PTMD_DESC_TYPE): Rename to ...nathan2000-05-264-18/+37
| | | | | | | | | | | | | | | (CPTI_PTMD_DESC_TYPE): ... here. (ptmd_desc_type_node): Rename to ... (ptm_desc_type_node): ... here. * decl.c: Likewise. * rtti.c (ptmd_initializer): Rename to ... (ptm_initializer): ... here. (sythesize_tinfo_var): Adjust. Deal with pointer to member function. (create_tinfo_types): Adjust. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34190 138bc75d-0d04-0410-961f-82ee72b054a4
* Daily bump.law2000-05-265-5/+5
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34189 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/alpha/alpha.c (alpha_comparison_operator): Don't berth2000-05-263-23/+164
| | | | | | | | | | | | | | | so strict about DImode. (alpha_swapped_comparison_operator): Likewise. * config/alpha/alpha.md (*setne_internal): Name it. Allow any integer output mode. (*setcc_internal): Likewise. (*setcc_swapped_internal): Likewise. (*movdicc_internal, *movdicc_lbc, *movdicc_lbs): Name them. (*mov[qhs]icc_internal): New. (*mov[qhs]icc_lbc, *mov[qhs]icc_lbs): New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34188 138bc75d-0d04-0410-961f-82ee72b054a4
* 2000-05-25 J. David Anglin <dave@hiauly1.hia.nrc.ca>zack2000-05-262-1/+5
| | | | | | | * vax.h (CPP_SPEC): Define __GFLOAT and GFLOAT when -mg is specified. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34187 138bc75d-0d04-0410-961f-82ee72b054a4
* * bb-reorder.c (reorder_block_def): Reorder elements for size.rth2000-05-264-549/+586
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove add_jump; add next; replace flags with visited. (rbd_init): Remove. (REORDER_BLOCK_HEAD, REORDER_BLOCK_VISITED): Remove. (REORDER_BLOCK_FLAGS, REORDER_BLOCK_INDEX): Remove. (REORDER_BLOCK_ADD_JUMP, REORDER_BLOCK_EFF_HEAD): Remove. (REORDER_BLOCK_EFF_END, REORDER_BLOCK_SCOPE): Remove. (RBI): New. (reorder_index, reorder_last_visited): Remove. (skip_insns_after_block): Rewrite to use a switch. (get_common_dest): Remove. (chain_reorder_blocks): Remove. (record_effective_endpoints): Split out from reorder_basic_blocks. (make_reorder_chain): Likewise. Loop until all blocks are placed. (make_reorder_chain_1): Renamed from old make_reorder_chain. Only construct the reorder chain, do not move insns. Try harder to tail recurse. (label_for_bb, emit_jump_to_block_after): New. (fixup_reorder_chain): Use them. Do bulk block movement. Examine and adjust the jump insns appropriately. Fixup basic_block_info. (verify_insn_chain): Always define. (relate_bbs_with_scopes): Call xmalloc, not xcalloc. Fix thinko in allocation size. (make_new_scope): Don't write zeros to calloc'd space. (build_scope_forest): Rely on xrealloc to DTRT. (reorder_basic_blocks): Don't build loop nest. Don't fail if profile_arc_flag. Streamline EH test. * flow.c (redirect_edge_succ, redirect_edge_pred): New. * basic-block.h: Declare them. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34186 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc.c-torture/compile/20000523-1.c: New test.aoliva2000-05-262-0/+9
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34185 138bc75d-0d04-0410-961f-82ee72b054a4
* * emit-rtl.c (reset_used_decls): New function.aoliva2000-05-262-1/+27
| | | | | | | (unshare_all_rtl_again): Call it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34184 138bc75d-0d04-0410-961f-82ee72b054a4
* * cpplex.c (maybe_macroexpand): Warn about function-likezack2000-05-263-0/+25
| | | | | | | macros used in non-function context, if -Wtraditional. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34183 138bc75d-0d04-0410-961f-82ee72b054a4
* * parse.y (resolve_field_access): Don't check DECL_LANG_SPECIFICtromey2000-05-263-4/+7
| | | | | | | | | when trying to see if field's class should be initialized. Always initialize field's declaring class, not qualified class. For PR gcj/162. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34182 138bc75d-0d04-0410-961f-82ee72b054a4
* * parse.y (array_constructor_check_entry): Pass `wfl_value', nottromey2000-05-263-2/+8
| | | | | | | | `wfl_operator', to maybe_build_primttype_type_ref. Fixes PR gcj/235. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34181 138bc75d-0d04-0410-961f-82ee72b054a4
* * recog.c (peephole2_optimize): Use INSN_P.mmitchel2000-05-252-1/+5
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34180 138bc75d-0d04-0410-961f-82ee72b054a4
* * ifcvt.c (seq_contains_jump): New.rth2000-05-252-0/+37
| | | | | | | | (noce_try_store_flag_constants): Use it to fail conversion. (noce_try_store_flag_inc, noce_try_store_flag_mask): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34179 138bc75d-0d04-0410-961f-82ee72b054a4
* * except.h (can_throw): Declare it.mmitchel2000-05-254-4/+20
| | | | | | | | * except.c (can_throw): Give it external linkage. * resource.c (find_dead_or_set_registers): Use can_throw. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34178 138bc75d-0d04-0410-961f-82ee72b054a4
* Finish implementation of VTTs.mmitchel2000-05-2513-70/+403
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * cp-tree.h (cp_tree_index): Add CPTI_VTT_PARM_TYPE and CPTI_VTT_PARM_IDENTIFIER. (vtt_parm_identifier): New macro. (vtt_parm_type): Likewise. (BINFO_SUBVTT_INDEX): Likewise. (BINFO_VPTR_INDEX): Likewise. (struct lang_decl): Add vtt_parm. (DECL_VTT_PARM): New macro. (DECL_USE_VTT_PARM): Likewise. (DECL_NEEDS_VTT_PARM_P): Likewise. (get_vtt_name): Declare. (build_artifical_parm): Likewise. (fixup_all_virtual_upcast_offsets): Likewise. (expand_indirect_vtbls_init): Remove. * call.c (build_new_method_call): Pass the vtt to subobject constructors and destructors. * class.c (get_vtt_name): Give it external linkage. (build_clone): Handle the magic VTT parameters for clones. (clone_function_decl): Fix typo in comment. (build_vtt): Keep track of the indices in the VTTs where various entities are stored. (build_vtt_inits): Likewise. (dfs_build_vtt_inits): Likewise. (build_ctor_vtbl_group): Tweak type of construction vtables. (dfs_accumulate_vtbl_inits): Build vtables for all bases, even primary bases, when building construction vtables. * decl.c (duplicate_decls): Handle DECL_VTT_PARM. (initialize_predefined_identifiers): Add vtt_parm_identifier. (init_decl_processing): Initialize vtt_parm_type. (grokfndecl): Use DECL_OVERLOADED_OPERATOR_P. (lang_mark_tree): Make vtt_parm. * decl2.c (build_artificial_parm): New function. (maybe_retrofit_in_chrg): Use it. Add VTT parameters. (grokclassfn): Use build_artificial_parm. * init.c (initialize_vtbl_ptrs): Call fixup_all_virtual_upcast_offsets directly. (perform_member_init): Use the complete subobject destructor for member cleanups. (build_vtbl_address): New function. (expand_virtual_init): Handle VTTs. * optimize (maybe_clone_body): Likewise. * search.c (fixup_all_virtual_upcast_offsets): Give it external linkage. (expand_indirect_vtbls_init): Remove. * semantics.c (setup_vtbl_ptr): Fix typos in comment. * tree.c (make_binfo): Make them bigger. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34177 138bc75d-0d04-0410-961f-82ee72b054a4
* * flow.c (mark_set_1): Don't record conditionally dead memory.rth2000-05-252-0/+6
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34176 138bc75d-0d04-0410-961f-82ee72b054a4
* * combine.c (try_combine): Use any_condjump_p, any_uncondjump_prth2000-05-2514-54/+80
| | | | | | | | | | | | | | | | | | | | | | and pc_set at the place of simplejump_p and condjump_p. * cse.c (record_jump_equiv): Likewise. * emit-rtl.c (emit): Likewise. * explow.c (find_next_ref): Likewise. * flow.c (tidy_fallthru_edge): Likewise. (init_propagate_block_info): Likewise. * gcse.c (delete_null_pointer_checks): Likewise. * ifcvt.c (cond_exec_get_condition, noce_get_condition, dead_or_predicable): Likewise. * integrate.c (copy_insn_list): Likewise. * loop.c (scan_loop, verify_dominator, find_and_verify_loops, for_each_insn_in_loop, check_dbra_loop, get_condition, insert_bct, load_mems): Likewise. * resource.c (find_dead_or_set_registers): Likewise. * sibcalls.c (simplejump_p): Likewise. * unroll.c (copy_loop_body, reg_dead_after_loop): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34175 138bc75d-0d04-0410-961f-82ee72b054a4
* * rs6000.c (expand_block_move): Add 64-bit PowerPC doubleword movedje2000-05-254-21/+44
| | | | | | | | | | | | to STRING case. Use doubleword STRING move for TARGET_POWERPC64 when unaligned. * rs6000.h (CONST_OK_FOR_LETTER_P, 'J'): unsigned HOST_WIDE_INT. (RETURN_ADDR_RTX): Use COUNT and FRAME, not count and frame. (LEGITIMIZE_RELOAD_ADDRESS): unsigned HOST_WIDE_INT high. * rs6000.md: Name various internal patterns. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34174 138bc75d-0d04-0410-961f-82ee72b054a4
* Early checkin of footer.html to trigger web checkout.pme2000-05-251-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34173 138bc75d-0d04-0410-961f-82ee72b054a4
* * g++.old-deja/g++.abi/ptrflags.C: Use __pbase_type_info.nathan2000-05-252-2/+6
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34172 138bc75d-0d04-0410-961f-82ee72b054a4
* Jan Hubicka <jh@suse.cz>rth2000-05-254-102/+125
| | | | | | | | | | | | | | | | | | | | * jump.c (invert_exp_1): Remove first argument, use pc_set to get the expression. (redirect_exp): Make static; redirect only the pc_set expression, remove first argument. (invert_exp): Remove first argument, make static. (jump_optimize): Use any_condjump_p, any_uncondjump_p and any_onlyjump at most places where we originaly did condjump_p and simplejump_p. (jump_back_p, follow_jumps, thread_jumps): Likewise. (delete_barrier_succesors): Use pc_set. (invert_jump_1, invert_jump, redirect_jump_1, redirect_jump): Update calls of invert_exp and redirect_exp. * rtl.h (redirect_exp, invert_exp): Remove. * unroll.c (copy_loop_body): Use invert_jump and redirect_jump. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34171 138bc75d-0d04-0410-961f-82ee72b054a4
* * stmt.c (expand_end_bindings): Fix thinko last change.rth2000-05-252-1/+5
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34170 138bc75d-0d04-0410-961f-82ee72b054a4
* 2000-05-25 Andrew MacLeod <amacleod@cygnus.com>aph2000-05-2519-663/+3022
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Andrew Haley <aph@cygnus.com> * except.c (func_eh_entry): Add emitted field. (new_eh_region_entry): Set emitted field to 0; (output_exception_table_entry): Only emit previously un-emitted data, and send it to the eh_data section. (output_exception_table): Break out common parts. Output exception table for entire compilation unit to eh_data section. (output_exception_table_data): Common parts of output_exception_table. Send output to eh_data section. (output_function_exception_table): Output exception table data for a single function to eh_data section. (free_exception_table): New external to free the table. * except.h (free_exception_table): Add prototype. (output_function_exception_table): Add prototype. * final.c (final_end_function): Output function exception table for IA64_UNWIND_INFO. (final_scan_insn): Emit any unwind directives for an insn. * frame-dwarf2.c: New file containing all DWARF 2 specific code from frame.c. * frame.c: Remove all DWARF 2 specific code. * config/ia64/frame-ia64.c: New file. (gthread_stuff): Make all gthread available with IA64_UNWIND_INFO. (dwarf_fde): Define an IA64 struct for dwarf_fde. (__register_frame_info, __register_frame): Move to common area of file. (__register_frame_info_table, __register_frame_table): Move to common i area. (__deregister_frame_info, __deregister_frame): Move to common area. (__frame_init, find_fde): New versions for IA64_UNWIND_INFO. (read_uleb128): New version for ia64. (get_unwind_record): Read the next IA-64 unwind record. (read_R_record): Read a region header record. (process_a_b_reg_code): X record helper. (read_X_record): Read an X format record. (read_B_record): Read a B format record. (P3_record_types): List of record types matching the P3 format. (P7_record_types): List of record types matching the P7 format. (P8_record_types): List of record types matching the P8 format. (read_P_record): Read a P format record. (init_ia64_reg_loc): Set default fields for a register. (init_ia64_unwind_frame): Set defaults for all register records. (execute_one_ia64_descriptor): Execute one descriptor record. (rse_address_add): Calculate the position of a local reg in memory. (normalize_reg_loc): Turn a location descriptor into a memory address. (maybe_normalize_reg_loc): Only normalize a descriptor if it falls within a specified PC offset range. (get_real_reg_value): Given a register location, retrieve its value. (set_real_reg_value): Change the value of a register location. (copy_reg_value): Copy reg values, if needed. (copy_saved_reg_state): Copy all registers that need to be copied. (process_state_between): Normalize all frame register records that fall within the specified PC range. (frame_translate): Take a processed frame description, and turn everything into addresses. (build_ia64_frame_state ): Find and create frame state record for a PC. (get_personality): Get the personality routine for a given frame. (get_except_table): Get the exception table for a given frame. (record_name): Unwind record names for debugging. (print_record): Print and unwind record. (print_all_records): Print an entire unwind image. (__ia64_backtrace): Print a backtrace. (ia64_backtrace_helper): New function. (__register_frame_info_aux): New function. * config/ia64/crtend.asm (__do_frame_setup_aux): New function. * frame.h (enum unw_record_type): New unwind record types. (struct unw_p_record, unw_b_record, unw_x_record) : New unwind records. (struct unw_r_record, unwind_record): New unwind record structs. (struct unwind_info_ptr): Unwind information layout. (IA64_UNW_LOC_TYPE_*): Macros for different types for location descriptors. (struct ia64_reg_loc): Register location description. (struct ia64_frame_state): Location of all registers in a frame. (struct object): Add pc_base and fde_end for IA64_UNWIND_INFO. * libgcc2.c (__ia64_personality_v1): Personality routine. (__calc_caller_bsp): Calculate the bsp register for the caller's frame. (ia64_throw_helper): Figure out who to return to and set up the registers. (__throw): Throw routine. * output.h (assemble_eh_align, assemble_eh_label): New functions to generate EH info where we want it. (assemble_eh_integer): New function. * toplev.c (compile_file): Output module level exception table for non-ia64 targets. (main): Set exceptions_via_longjump and flag_new_exceptions based on IA64_UNWIND_INFO too. * varasm.c (assemble_eh_label): Generate a label via ASM_OUTPUT_EH_LABEL if it has been specified. (assemble_eh_align): Generate an alignment directive via ASM_OUTPUT_EH_ALIGN if it has been specified. (assemble_eh_label): Generate an integer value via ASM_OUTPUT_EH_type if they have been specified. * config/ia64/ia64.c (rtx_needs_barrier): Add flushrs. (ia64_init_builtins): Add __builtin_ia64_bsp and __builtin_ia64_flushrs. (ia64_expand_builtin): Add IA64_BUILTIN_BSP and IA64_BUILTIN_FLUSHRS. * config/ia64/ia64.h (ia64_builtins): Add IA64_BUILTIN_BSP and IA64_BUILTIN_FLUSHRS. * config/ia64/ia64.md (flushrs): New insn to flush the register stack. Add to unspec list. * config/ia64/crtbegin.asm (frame_object): Change size. (__do_frame_setup_aux): New function. * config/ia64/crtend.asm: call __do_frame_setup_aux. * config/ia64/t-ia64 (LIB2ADDEH): Add. * Makefile.in (LIB2ADDEH): Add. (LIB2ADD): Use LIB2ADDEH. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34169 138bc75d-0d04-0410-961f-82ee72b054a4
* 2000-05-25 Benjamin Kosnik <bkoz@milou.soma.redhat.com>bkoz2000-05-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | * inclosure: Change to... * mkinclosure: This. Fix paths to bash. * mkcshadow: Fix paths to bash. * src/Makefile.am: Tweaks. Do cshadow header trickery at build time. * src/Makefile.in: Regnerate. * acinclude.m4 (GLIBCPP_COMPILER_VERSION): Fix typo. (GLIBCPP_ENABLE_SHADOW): Do a less gross hack. * aclocal.m4: Regenerate. * mkcheck.in (INC_PATH): Tweak. * configure.in: Enable long long by default. * configure: Regenerate. * mkcheck.in (LIB_PATH): Revert. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34168 138bc75d-0d04-0410-961f-82ee72b054a4