aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2000-07-31Allow indirect primary bases.Mark Mitchell6-277/+376
* cp-tree.h (struct lang_type): Remove vfield_parent. Add primary_base. (CLASSTYPE_VFIELD_PARENT): Remove. (CLASSTYPE_PRIMARY_BINFO): Reimplement. (BINFO_PRIMARY_BINFO): Remove. (CLASSTYPE_HAS_PRIMARY_BASE_P): Reimplement. (BINFO_VBASE_PRIMARY_P): Likewise. (BINFO_PRIMARY_BASE_OF): New macro. (BINFO_INDIRECT_PRIMARY_P): Likewise. (get_primary_binfo): New function. * decl.c (lang_mark_tree): Make lang_type::primary_base. * class.c (vcall_offset_data_s): Rename to ... (vtbl_init_data_s): ... this. Rename primary_p to primary_vtbl_p, and add ctor_vtbl_p. (get_derived_offset): Use get_primary_binfo. (dfs_mark_primary_bases): Adjust handling of virtual primary bases. (mark_primary_bases): Likewise. (set_primary_base): Take a binfo, not an integer, as a representation of the primary base. (indirect_primary_base_p): Remove. (determine_primary_base): Adjust for indirect primary bases. (dfs_find_final_overrider): Fix typo in coment. (update_vtable_entry_for_fn): Use get_primary_binfo. (layout_nonempty_base_or_field): Tweak. (build_base_fields): Adjust for new primary base semantics. (dfs_propagate_binfo_offsets): Remove. (propagate_binfo_offsets): Rewrite. (dfs_set_offset_for_shared_vbases): Remove. (layout_virtual_bases): Don't use it. (layout_class_type): Set CLASSTYPE_SIZE correctly under the new ABI. (finish_struct_1): Set CLASSTYPE_PRIMARY_BINFO, not CLASSTYPE_VFIELD_PARENT. (dfs_get_primary_binfo): New function. (get_primary_binfo): Likewise. (dump_class_hierarchy_r): Tweak printing of primary bases. (build_vtbl_initializer): Fix typo in comments. Use vtbl_init_data. (build_vcall_and_vbase_vtbl_entries): Likewise. (build_vbaes_offset_vtbl_entries): Likewise. (dfs_build_vcall_offset_vtbl_entries): Adjust setting of BV_VCALL_INDEX to handle indirect primary bases. (build_vcall_offset_vtbl_entries): Use vtbl_init_data. (build_rtti_vtbl_entries): Likewise. * search.c (get_shared_vbase_if_not_primary): Tweak. (find_vbase_instance): Likewise. (binfo_for_vtable): Simplify. * tree.c (unshare_base_binfos): Clear BINFO_PRIMARY_BASE_OF. (make_binfo): Make it have 11 entries. From-SVN: r35360
2000-07-31Fix bug in my last checkin.Jan Hubicka1-3/+5
From-SVN: r35359
2000-07-30Makefile.in (OBJS): Add doloop.o.Richard Henderson19-512/+1246
* Makefile.in (OBJS): Add doloop.o. * doloop.c: New file. * final.c (insn_current_reference_address): Return 0 before final. * flags.h (flag_branch_on_count_reg): Fix typos in commentary. * jump.c (any_uncondjump_p): Likewise. * loop.c (indirect_jump_in_function): Make static. (strength_reduce): Call doloop_optimize. (insert_bct, instrument_loop_bct): Remove. * loop.h (doloop_optimize): Prototype. * recog.c (split_all_insns): Split all INSN_P. * toplev.c (flag_branch_on_count_reg): Default on. * config/c4x/c4x.c (c4x_optimization_options): Don't set flag_branch_on_count_reg. * config/i386/i386.c (override_options): Likewise. * config/rs6000/rs6000.c (optimization_options): Likewise. * config/i386/i386.md (decrement_and_branch_on_count): Remove. (doloop_end): New. (dbra_ge): Remove, as well as all it's splitters. * config/rs6000/rs6000.md (decrement_and_branch_on_count): Remove. (doloop_end): New. * config/ia64/ia64-protos.h (ar_lc_reg_operand): Declare. (ia64_register_move_cost): Declare. * config/ia64/ia64.c (ar_lc_reg_operand): New. (struct ia64_frame_info): Add ar_size. (ia64_compute_frame_size): Set it. (save_restore_insns): Save and restore ar.lc. (ia64_register_move_cost): New, moved from header file. Handle application registers. (REG_AR_PFS, REG_AR_EC): Remove. Replace with AR_*_REGNUM numbers. (emit_insn_group_barriers): Special case doloop_end_internal. (ia64_epilogue_uses): Mark ar.lc live at end. * config/ia64/ia64.h (AR_CCV_REGNUM, AR_LC_REGNUM): New registers. (AR_EC_REGNUM, AR_PFS_REGNUM): New registers. (FIRST_PSEUDO_REGISTER): Make room. (AR_M_REGNO_P, AR_I_REGNO_P, AR_REGNO_P): New. (FIXED_REGISTERS, CALL_USED_REGISTERS): Update. (REG_ALLOC_ORDER): Update. (HARD_REGNO_MODE_OK): Update. (REGISTER_NAMES): Update. (enum reg_class): Add AR_M_REGS and AR_I_REGS. (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update. (REGNO_REG_CLASS): Update. (LEGITIMATE_ADDRESS_DISP): Displacement range is 9 bits, not 10. (REGISTER_MOVE_COST): Move out of line. (PREDICATE_CODES): Update. * config/ia64/ia64.md (movdi patterns): Handle ar register classes. (addsi3_plus1_alt, adddi3_plus1_alt): New. (shladd_elim splitter): Allow constants in the predicate. (doloop_end, doloop_end_internal): New. From-SVN: r35358
2000-07-30c90-digraph-1.c: Don't xfail.Richard Henderson4-3/+8
* gcc.dg/c90-digraph-1.c: Don't xfail. * gcc.dg/compare2.c (case 10): Xfail. * gcc.dg/noncompile/redecl-1.c: Fix expected error message. From-SVN: r35357
2000-07-30genattrtab.c (struct insn_def): Add lineno member.Richard Henderson1-89/+189
* genattrtab.c (struct insn_def): Add lineno member. (struct insn_ent): Likewise. (struct attr_desc): Likewise. (struct delay_desc): Likewise. (struct function_unit_op): Likewise. (struct function_unit): Likewise. (check_attr_value): Use message_with_line. (check_defs): Likewise. (expand_units): Likewise. (check_attr_test): Take a lineno argument. (gen_attr): Likewise. (gen_insn): Likewise. (gen_delay): Likewise. (gen_unit): Likewise. (main): Give it to them. (convert_set_attr_alternative): Take an insn_def argument instead of num_alt and insn_index. (convert_set_attr): Likewise. (write_test_expr): Protect INSN_ADDRESSES load with INSN_ADDRESSES_SET_P. From-SVN: r35356
2000-07-30mangle.c (DECL_TEMPLATE_ID_P): Remove.Alex Samuel2-65/+131
* mangle.c (DECL_TEMPLATE_ID_P): Remove. (CLASSTYEP_TEMPLATE_ID_P): Check template info, and context when ascertaining primaryness. (G): Remove template_args. (decl_is_template_id): New function. (write_encoding): Use decl_is_template_id. (write_name): Likewise. Handle type_decls. Get main variant of type decls. (write_nested_name): Likewise. (write_prefix): Likewise. (write_template_prefix): Likewise. (write_special_name_constructor): Remove defunct production from comment. (write_bare_function_type): Remove comment about absent parameter. (write_template_template_arg): Add missing grammar production to comment. From-SVN: r35355
2000-07-30Container.java (remove(int)): Wrote.Tom Tromey7-46/+238
* java/awt/Container.java (remove(int)): Wrote. (remove(Component)): Wrote. (add(Component)): Wrote. (add(Component,int)): Wrote. (removeAll): Wrote. (addNotify): Set our own peer. * java/awt/Scrollbar.java (listeners): Changed type. (Scrollbar): Don't initialize listeners. (addNotify): Wrote. (setValue): Call setValues. (setMinimum): Likewise. (setMaxPriority): Likewise. (setVisibleAmount): Likewise. (setValues): Wrote. (setUnitIncrement): Forward to peer. (setLineIncrement): Call setUnitIncrement. (setPageIncrement): Call setBlockIncrement. (setBlockIncrement): Forward to peer. (addAdjustmentListener): Rewrote. (removeAdjustmentListener): Rewrote. (processAdjustmentEvent): Rewrote. (paramString): Wrote. * Makefile.in: Rebuilt. * Makefile.am (awt_java_source_files): Added Button.java. * java/awt/Button.java: New file. * java/awt/Toolkit.java (createLabel): Declare. (createButton): Likewise. (createScrollbar): Likewise. (createContainer): Likewise. * java/awt/Label.java (addNotify): Wrote. (setAlignment): Call setAlignment in the peer. (setText): Call setText in the peer. From-SVN: r35354
2000-07-30* flow.c (init_propagate_block_info): Use pc_set.Richard Henderson2-3/+8
From-SVN: r35353
2000-07-30Test case for gcj/295.Anthony Green2-0/+16
From-SVN: r35352
2000-07-30* i386.md (*lea_general_[123]) New insns and splits.Jan Hubicka2-22/+347
(addsi3 to lea splitter): Handle other modes too. (shlsi3 to lea splitter): Likewise. (addhi_1_lea, shlhi_1_lea): New patterns. (addhi_1, shlhi_1): Conditionize by PARTIAL_REG_STALL. From-SVN: r35351
2000-07-30recog.c (general_operand, [...]): Accept any mode for VOIDmode CONSTANT_P ↵Jan Hubicka2-2/+9
operands. * recog.c (general_operand, nonimmediate_operand): Accept any mode for VOIDmode CONSTANT_P operands. From-SVN: r35350
2000-07-30gcse.c (try_replace_reg): Use validate_replace_rtx_subexp instead of ↵Jan Hubicka4-1/+23
replace_rtx. * gcse.c (try_replace_reg): Use validate_replace_rtx_subexp instead of replace_rtx. * recog.c (validate_replace_rtx_subexp): New function. * recog.h (validate_replace_rtx_subexp): Declare. From-SVN: r35349
2000-07-30combine.c (simplify_set, [...]): Use full mask instead of GET_MODE_MASK ↵Jan Hubicka2-6/+12
(mode) as force_to_mode argument. * combine.c (simplify_set, make_extraction, make_compound_operation make_field_assignment): Use full mask instead of GET_MODE_MASK (mode) as force_to_mode argument. From-SVN: r35348
2000-07-30* combine.c (if_then_else_cond): Be sure that mode fits in HOST_WIDE_INTJan Hubicka2-5/+12
From-SVN: r35347
2000-07-30combine.c (record_promoted_value): Allow bitsize of mode to be equivalent to ↵Jan Hubicka2-1/+6
HOST_BITS_PER_WISE_INT. * combine.c (record_promoted_value): Allow bitsize of mode to be equivalent to HOST_BITS_PER_WISE_INT. From-SVN: r35346
2000-07-30function.c (assign_stack_local_1, [...]): Do not call gen_mode_alignment ↵Jan Hubicka2-2/+9
when mode is BLKmode. * function.c (assign_stack_local_1, assign_stack_temp_for_type): Do not call gen_mode_alignment when mode is BLKmode. From-SVN: r35345
2000-07-30* loop.c (express_from_1): Fix call of simplify_gen_binary.Jan Hubicka2-1/+5
From-SVN: r35344
2000-07-30simplify-rtx.c (simplify_relational_operation): Verify that mode == VOIDmode ↵Jan Hubicka3-3/+23
implies both operands to be VOIDmode. * simplify-rtx.c (simplify_relational_operation): Verify that mode == VOIDmode implies both operands to be VOIDmode. (simplify_ternary_operation): Compute properly the mode of comparison. * combine.c (combine_simplify_rtx): Likewise. From-SVN: r35343
2000-07-30basic-block.h (struct loops): New field rc_order.Michael Hayes3-12/+49
* basic-block.h (struct loops): New field rc_order. * flow.c (flow_loops_cfg_dump): Dump rc_order if computed. (flow_loops_free): Free rc_order. (flow_depth_first_order_compute): New parameter rc_order. (flow_loops_find): Allocate rc_order and swap usage with dfs_order. From-SVN: r35342
2000-07-30c4x.md (set_ldp_prologue): Add for RTL prologue/epilogue.Herman A.J. ten Brugge5-224/+202
* config/c4x/c4x.md (set_ldp_prologue): Add for RTL prologue/epilogue. (push_st, push_dp, pop_st, pop_dp, popqi_unspec): Likewise. (nodb_call, return_from_epilogue): Likewise. (return_from_interrupt_epilogue, prologue, epilogue): Likewise. * config/c4x/c4x.c (c4x_expand_prologue, c4x_expand_eplilogue): Add. * config/c4x/c4x-protos.h (c4x_interrupt_function_p): Add. (c4x_expand_prologue, c4x_expand_epilogue): Likewise. (c4x_valid_type_attribute_p): Likewise. * config/c4x/c4x.h (FUNCTION_PROLOGUE, FUNCTION_EPILOGUE): Delete. (FUNCTION_BLOCK_PROFILER_EXIT): Convert to emit RTL. Co-Authored-By: Michael Hayes <m.hayes@elec.canterbury.ac.nz> From-SVN: r35341
2000-07-30c4x.c (c4x_emit_move_sequence): Use loadqi_big_constant and ↵Michael Hayes3-162/+382
loadhi_big_constant if applicable. * config/c4x/c4x.c (c4x_emit_move_sequence): Use loadqi_big_constant and loadhi_big_constant if applicable. * config/c4x/c4x.md (loadqi_big_constant, loadhi_big_constant): Tweak and add new splitter.s From-SVN: r35339
2000-07-30* config/c4x/c4x.c (c4x_rptb_insert): Make more robust.Michael Hayes2-7/+23
From-SVN: r35338
2000-07-30* config/c4x/c4x.h (ASM_FORMAT_PRIVATE_NAME): Output $ in label.Michael Hayes2-1/+5
From-SVN: r35337
2000-07-30* config/c4x/c4x.h (IS_XXX_REGNO): Rewrite to avoid unsigned warnings.Michael Hayes2-7/+17
From-SVN: r35336
2000-07-30* config/c4x/libgcc.S: (divqf3): Improve accuracy.Michael Hayes2-10/+19
From-SVN: r35335
2000-07-30Daily bump.Jeff Law5-5/+5
From-SVN: r35334
2000-07-30Added to test Objective-C strings.Ovidiu Predescu2-0/+16
From-SVN: r35333
2000-07-30configure.in (CC_FOR_TARGET, [...]): Do not override if already set in the ↵Alexandre Oliva2-9/+47
environment or in configure. * configure.in (CC_FOR_TARGET, CHILL_FOR_TARGET, CXX_FOR_TARGET): Do not override if already set in the environment or in configure. Don't duplicate $(FLAGS_FOR_TARGET) if it already appears in them. (FLAGS_FOR_TARGET): Don't use host directories on Canadian crosses. From-SVN: r35332
2000-07-29Revert previous checkin.Mark Mitchell3-22/+19
From-SVN: r35331
2000-07-29Makefile.in: Generate objc parser along with the C parser.Mark Mitchell3-19/+43
* Makefile.in: Generate objc parser along with the C parser. * objc/Make-lang.in: Remove generation of objc parser. From-SVN: r35330
2000-07-29Added libtool support for building libobjc.Nicola Pero5-134/+2321
From-SVN: r35329
2000-07-29configure.in (mips*-*-linux*): Use mips*el to check for little endian MIPS, ↵Andreas Jaeger4-111/+121
add tmake_file. * configure.in (mips*-*-linux*): Use mips*el to check for little endian MIPS, add tmake_file. * config/mips/linux.h (TARGET_VERSION): Use GNU/Linux. (SUBTARGET_CPP_SPEC): Default MIPS_ISA is 1. Patches by Maciej W. Rozycki <macro@ds2.pg.gda.pl>. From-SVN: r35328
2000-07-29Daily bump.Jeff Law5-5/+5
From-SVN: r35327
2000-07-29Removed the explicit prototypes for strlen and memcpy on 64-bitOvidiu Predescu3-8/+6
platforms (Suggested by Rodney Brown <rdb@cup.hp.com>). From-SVN: r35326
2000-07-28ObjectOutputStream.java (writeObject): Per spec, call ↵Warren Levy2-6/+7
NotSerializableException with just the class name. * java/io/ObjectOutputStream.java (writeObject): Per spec, call NotSerializableException with just the class name. From-SVN: r35325
2000-07-28ia64.c (ia64_print_operand): Fix typos.Richard Henderson2-3/+8
* config/ia64/ia64.c (ia64_print_operand): Fix typos. Sign extend mode size before negating. From-SVN: r35324
2000-07-28libtool.m4, [...]: New files from the libtool CVS tree multi-language branch.Alexandre Oliva7-2205/+5695
2000-07-28 Alexandre Oliva <aoliva@redhat.com> * libtool.m4, ltcf-c.sh, ltcf-cxx.sh, ltcf-gcj.sh: New files from the libtool CVS tree multi-language branch. * ltconfig, ltmain.sh: Updated. From-SVN: r35323
2000-07-28acinclude.m4: Include ../libtool.m4.Alexandre Oliva8-1661/+1654
2000-07-28 Alexandre Oliva <aoliva@redhat.com> * acinclude.m4: Include ../libtool.m4. * aclocal.m4, configure: Rebuilt. From-SVN: r35322
2000-07-28cse.c (canon_hash): Handle PRE_MODIFY/POST_MODIFY.Richard Henderson22-331/+670
* cse.c (canon_hash): Handle PRE_MODIFY/POST_MODIFY. (cse_insn): Likewise. (addr_affects_sp_p): Likewise. * expr.c (move_by_pieces): Likewise. (clear_by_pieces): Likewise. * gcse.c (oprs_unchanged_p): Likewise. * haifa-sched.c (sched_analyze_2): Likewise. * recog.c (offsettable_address_p): Likewise. * regclass.c (record_address_regs): Likewise. * reload.c (find_reusable_reload): Likewise. (push_reload): Likewise. (operands_match_p): Likewise. (decompose): Likewise. (find_reloads_address_1): Likewise. (find_inc_amount): Likewise. * reload1.c (elimination_effects): Likewise. * resource.c (mark_set_resources): Likewise. * flow.c (attempt_auto_inc): New function; mostly broken out of find_auto_inc. (find_auto_inc): Split into two functions and enhanced to generate POST_MODIFY. * rtl.def (PRE_MODIFY, POST_MODIFY): Adjust comment. * rtl.h (count_all_occurrences): Declare. (HAVE_{PRE,POST}_MODIFY_{DISP,REG}): Provide default of 0 if not defined. * rtlanal.c (count_all_occurrences): New function. * tm.texi (HAVE_POST_MODIFY_DISP, HAVE_PRE_MODIFY_DISP, HAVE_POST_MODIFY_REG, HAVE_PRE_MODIFY_REG): Document. * config/ia64/ia64-protos.h (destination_operand): Declare. * config/ia64/ia64.c (destination_operand): New function. (ia64_print_operand): Handle POST_MODIFY. (rtx_needs_barrier): Likewise. * config/ia64/ia64.h (HAVE_POST_MODIFY_DISP): Define to 1. (HAVE_POST_MODIFY_REG): Define to 1. (MAX_REGS_PER_ADDRESS): Change to 2. (GO_IF_LEGITIMATE_ADDRESS): Accept POST_MODIFY too. (LEGITIMATE_ADDRESS_REG): New helper macro. (LEGITIMATE_ADDRESS_DISP): Likewise. (PREDICATE_CODES): Add entry for destination_operand. * config/ia64/ia64.md (all mov patterns): Use destination_operand predicate for operand 0. From-SVN: r35321
2000-07-28* emit-rtl.c (gen_lowpart_common): Add missing 'c' variable.Richard Henderson1-0/+1
From-SVN: r35320
2000-07-28dwarf2out.c: Indent #error directive.Kaveh R. Ghazi5-7/+23
* dwarf2out.c: Indent #error directive. * gbl-ctors.h: Fix typo in comment. (__do_global_ctors): Prototype. * gcse.c (record_one_set, pre_delete): Remove unused variables. * rs6000.c (rs6000_maybe_dead): Delete unused prototype. (print_operand): Initialize variable `t'. From-SVN: r35319
2000-07-28removed constraints in expander.Aldy Hernandez2-11/+20
split =rf constraints into =r,f From-SVN: r35318
2000-07-28install.texi (--enable-nls): Change the description of the NLS related ↵Philipp Thomas3-11/+24
configure options to match the... 2000-07-28 Philipp Thomas <pthomas@suse.de> * install.texi (--enable-nls): Change the description of the NLS related configure options to match the current state. (--with-included-gettext): Likewise. (--enable-maintainer-mode): New description added. * extend.texi (-fstrict-prototype): Add missing '.'. From-SVN: r35317
2000-07-28interpret.cc (continue1): Insert missing break into switch.Andrew Haley2-0/+5
2000-07-26 Andrew Haley <aph@cygnus.com> * interpret.cc (continue1): Insert missing break into switch. From-SVN: r35316
2000-07-28ObjectStreamException.java: Made constructors protected.Warren Levy2-2/+6
* java/io/ObjectStreamException.java: Made constructors protected. Adjusts serialVersionUID. From-SVN: r35315
2000-07-28Daily bump.Jeff Law5-5/+5
From-SVN: r35314
2000-07-28class.c (make_class_data): Create vtable for abstract classes.Tom Tromey2-6/+22
2000-07-27 Tom Tromey <tromey@cygnus.com> Anthony Green <green@cygnus.com> Alexandre Petit-Bianco <apbianco@cygnus.com> * class.c (make_class_data): Create vtable for abstract classes. (get_dispatch_table): Changed to cope with abstract classes. Co-Authored-By: Alexandre Petit-Bianco <apbianco@cygnus.com> Co-Authored-By: Anthony Green <green@cygnus.com> From-SVN: r35313
2000-07-28newJason Merrill2-0/+32
From-SVN: r35312
2000-07-28decl.c (duplicate_decls): If common_type produces a non-typedef type for a ↵Jason Merrill5-16/+28
typedef, just use the old type. * decl.c (duplicate_decls): If common_type produces a non-typedef type for a typedef, just use the old type. * pt.c (for_each_template_parm_r, case RECORD_TYPE): Use TYPE_PTRMEMFUNC_P. * cp-tree.h (TYPE_TEMPLATE_INFO): Check for TYPE_LANG_SPECIFIC. From-SVN: r35311
2000-07-27Fix dwarf2out abort found while compiling PlumHall on IA-64.Jim Wilson2-1/+10
* dwarf2out.c (gen_decl_die): Don't call gen_abstract_function if DECL_INITIAL (decl) == NULL_TREE. From-SVN: r35310