Commit Graph

26180 Commits

Author SHA1 Message Date
Jason Merrill
ab044c7412 tinfo.h (old abi): #include "tconfig.h".
* tinfo.h (old abi): #include "tconfig.h".
        * tinfo.cc (convert_to_base): Move into old abi section.

From-SVN: r31725
2000-01-31 16:27:42 -05:00
Mark Mitchell
5e19c05390 cp-tree.h (BINFO_VIRTUALS): Tweak documentation.
* cp-tree.h (BINFO_VIRTUALS): Tweak documentation.
	(CLASSTYPE_PRIMARY_BINFO): Use BINFO_PRIMARY_BINFO.
	(BINFO_PRIMARY_BINFO): New macro.
	(BF_DELTA): Rename to ...
	(BV_DELTA): ... this.
	(BF_VCALL_INDEX): Rename to ...
	(BV_VCALL_INDEX): ... this.
	(BF_FN): Rename to ...
	(BV_FN): ... this.
	* class.c (build_vbase_path): Adjust for changes to reverse_path.
	(set_rtti_entry): Rename BF_ macros to BV_ variants.
	(modify_vtable_entry): Simplify.
	(add_virtual_function): Rename BF_ macros to BV_ variants.
	(build_vtable_initializer): Likewise.
	(get_class_offset_1): Remove.
	(dfs_get_class_offset): Likewise.
	(get_class_offset): Likewise.
	(dfs_find_final_overrider): New function.
	(find_final_overrider): Likewise.
	(modify_one_vtable): Remove.
	(dfs_find_base): New function.
	(dfs_modify_vtables): Fold modify_one_vtable in here.  Use
	find_final_overrider.
	(modify_all_vtables): Adjust.  Set BV_VCALL_INDEX on new
	virtuals.
	(dfs_fixup_vtable_deltas): Remove.
	(override_one_vtable): Remove.
	(merge_overrides): Likewise.
	(layout_virtual_bases): Make sure BINFO_OFFSET is set right for
	unreal chilren of virtual bases.
	(finish_struct_1): Don't use merge_overrides.  Don't use
	dfs_fixup_vtable_deltas.
	* tree.c (reverse_path): Return a TREE_LIST, not a chain of
	BINFOs.

From-SVN: r31724
2000-01-31 21:00:01 +00:00
Jason Merrill
d4cf5733ee jump.c (redirect_jump): Move a NOTE_INSN_FUNCTION_END to the new label.
* jump.c (redirect_jump): Move a NOTE_INSN_FUNCTION_END to the
        new label.

From-SVN: r31721
2000-01-31 13:52:34 -05:00
Jason Merrill
d4bf484274 tinfo.h: Rename USItype to myint32, depend on BITS_PER_UNIT.
* tinfo.h: Rename USItype to myint32, depend on BITS_PER_UNIT.

	* exception.cc (__throw_bad_typeid): Add missing std::.

From-SVN: r31718
2000-01-31 12:20:39 -05:00
Kaveh R. Ghazi
02e59efb69 * cp-tree.h (make_thunk): PROTO -> PARAMS.
From-SVN: r31717
2000-01-31 16:44:46 +00:00
Kaveh R. Ghazi
7025bf1981 gansidecl.h (PROTO, [...]): Delete macros.
* gansidecl.h (PROTO, VPROTO, PVPROTO): Delete macros.

        * sbitmap.h (sbitmap_first_set_bit, sbitmap_last_set_bit):
        PROTO -> PARAMS.

From-SVN: r31716
2000-01-31 16:39:49 +00:00
Kaveh R. Ghazi
719dd4fa9c * MAINTAINERS: Pair cccp with cpplib maintainership.
From-SVN: r31715
2000-01-31 16:13:45 +00:00
Nathan Sidwell
808c61c8d3 cp-tree.h (new_abi_rtti_p): Use flag_new_abi.
* cp-tree.h (new_abi_rtti_p): Use flag_new_abi.

	Runtime support for new-abi rtti.
	* inc/typeinfo (type_info::operator!=): Define in class.
	(type_info::before, type_info::name, type_info::operator==,
	type_info::operator!=): Define new ABI implementations.
	(type_info::is_pointer_p, type_info::is_function_p): Declare
	new virtual functions.
	(type_info::do_catch, type_info::do_upcast): Likewise.

	* tinfo.h (__base_class_info): Define new class.
	(__class_type_info): Likewise.
	(__si_class_type_info): Likewise.
	(__vmi_class_type_info): Likewise.
	(__dynamic_cast): Prototype.

	* tinfo.cc: Conditionalize old and new rtti mechanisms.
	(type_info::is_pointer_p): Define new function.
	(type_info::is_function_p): Likewise.
	(type_info::do_catch): Likewise.
	(type_info::do_upcast): Likewise.
	(vtable_prefix): New structure for vtable access.
	(adjust_pointer): Define new template function.
	(contained_p, public_p, virtual_p, contained_public_p,
	contained_nonpublic_p, contained_nonvirtual_p): Define new
	functions.
	(nonvirtual_base_type): New local variable.
	(__class_type_info::~__class_type_info): Define.
	(__si_class_type_info::~__si_class_type_info): Likewise.
	(__vmi_class_type_info::~__vmi_class_type_info): Likewise.
	(__class_type_info::do_catch): Define new function.
	(__class_type_info::do_upcast): Likewise.
	(__class_type_info::find_public_src): Likewise.
	(__class_type_info::do_find_public_src): Likewise.
	(__si_class_type_info::do_find_public_src): Likewise.
	(__vmi_class_type_info::do_find_public_src): Likewise.
	(__class_type_info::do_dyncast): Likewise.
	(__si_class_type_info::do_dyncast): Likewise.
	(__vmi_class_type_info::do_dyncast): Likewise.
	(__class_type_info::do_upcast): Likewise.
	(__si_class_type_info::do_upcast): Likewise.
	(__vmi_class_type_info::do_upcast): Likewise.
	(__dynamic_cast): Likewise.

	* tinfo2.cc (__fundamental_type_info): Define new class.
	(__pointer_type_info): Likewise.
	(__reference_type_info): Likewise.
	(__array_type_info): Likewise.
	(__function_type_info): Likewise.
	(__enum_type_info): Likewise.
	(__ptr_to_member_type_info): Likewise.
	(__fundamental_type_info::~__fundamental_type_info): Define.
	(__pointer_type_info::~__pointer_type_info): Likewise.
	(__reference_type_info::~__reference_type_info): Likewise.
	(__array_type_info::~__array_type_info): Likewise.
	(__function_type_info::~__function_type_info): Likewise.
	(__enum_type_info::~__enum_type_info): Likewise.
	(__ptr_to_member_type_info::~__ptr_to_member_type_info): Likewise.
	(__pointer_type_info::do_catch): Define new function.
	(__ptr_to_member_type_info::do_catch): Define new function.

	(__throw_type_match_rtti_2): Use new ABI interface, if enabled.
	(__is_pointer): Likewise.

	* exception.cc (__cplus_type_matcher): Deal with new-abi rtti.

From-SVN: r31713
2000-01-31 10:21:47 +00:00
Anthony Green
ab5cffc5e8 natIconv.cc (read): Minor fixes.
* gnu/gcj/convert/natIconv.cc (read): Minor fixes.
    (write): Ditto.

From-SVN: r31712
2000-01-31 08:56:09 +00:00
Jeff Law
cbea2acb24 Daily bump.
From-SVN: r31711
2000-01-31 01:45:06 -07:00
Zack Weinberg
db80ee8e52 386bsd.h, [...]: Remove -Di386 -Acpu(i386) -Amachine(i386) from CPP_PREDEFINES.
* i386/386bsd.h, i386/beos-pe.h, i386/bsd386.h, i386/crtdll.h,
	i386/cygwin.h, i386/dgux.h, i386/djgpp-rtems.h, i386/djgpp.h,
	i386/freebsd.h, i386/gnu.h, i386/i386-aout.h, i386/i386-coff.h,
	i386/i386-interix.h, i386/i386elf.h, i386/linux.h, i386/lynx-ng.h,
	i386/lynx.h, i386/mach.h, i386/mingw32.h, i386/moss.h,
	i386/netbsd.h, i386/next.h, i386/openbsd.h, i386/osf1elf.h,
	i386/ptx4-i.h, i386/rtems.h, i386/rtemself.h, i386/sco.h,
	i386/sequent.h, i386/sun.h, i386/sysv4.h, i386/uwin.h, i386/vsta.h,
	i386/vxi386.h, i386/win-nt.h, i386/win32.h:
	Remove -Di386 -Acpu(i386) -Amachine(i386) from CPP_PREDEFINES.

	* i386/osf1elf.h, i386/scodbx.h, i386/seq-sysv3.h, i386/sysv5.h:
	Add %(cpp_cpu) to CPP_SPEC.

	* i386/osf1elf.h, i386/osfelf.h, i386/osfrose.h:
	Add %(cc1_cpu) to CC1_SPEC.

From-SVN: r31710
2000-01-31 07:28:05 +00:00
Anthony Green
105a8d1c0e jcf-write.c (generate_bytecode_insns): Use TYPE_IS_WIDE to determine how many stack slots to pop.
* jcf-write.c (generate_bytecode_insns): Use TYPE_IS_WIDE to
        determine how many stack slots to pop.

From-SVN: r31709
2000-01-31 05:36:56 +00:00
Tom Tromey
946efde181 config.h.in: Rebuilt.
* include/config.h.in: Rebuilt.
	* acconfig.h (HAVE_ICONV): Define.
	* configure: Rebuilt.
	* configure.in: Check for `iconv' function.
	* gnu/gcj/convert/BytesToUnicode.java (getDecoder): Try iconv if
	no specific encoder exists.
	* gnu/gcj/convert/UnicodeToBytes.java (getEncoder): Try iconv if
	no specific encoder exists.
	* Makefile.in: Rebuilt.
	* Makefile.am (convert_source_files): Mention Input_iconv.java and
	Output_iconv.java.
	(nat_source_files): Added natIconv.cc.
	* gnu/gcj/convert/natIconv.cc: New file.
	* gnu/gcj/convert/Input_iconv.java: New file.
	* gnu/gcj/convert/Output_iconv.java: New file.

From-SVN: r31708
2000-01-31 04:53:47 +00:00
Mark Mitchell
28531dd03e class.c (build_vtable): Rename to build_primary_vtable.
* cp/class.c (build_vtable): Rename to build_primary_vtable.
	(prepare_fresh_vtable): Rename to build_secondary_vtable.
	(make_new_vtable): New function.
	(modify_vtable_entry): Handle generation of new vtables correctly.
	(modify_one_vtable): Remove unused parameter.
	(dfs_fixup_vtable_deltas): Likewise.
	(override_one_vtable): Use build_secondary_vtable.
	(finish_struct_1): Use build_primary_vtable and
	build_secondary_vtable.

From-SVN: r31707
2000-01-31 04:03:01 +00:00
Ulrich Drepper
1d682cca6e c-decl.c (c_decode_option): Accept optional numeric argument to -Wformat and set warn_format.
* c-decl.c (c_decode_option): Accept optional numeric argument to
        -Wformat and set warn_format.
        * c-common.c: Don't emit warning about non-constant printf format
        string unless warn_format > 1.

From-SVN: r31706
2000-01-31 03:31:26 +00:00
Richard Henderson
4d32029d61 * alpha.md (return_internal): Allow after reload only.
From-SVN: r31705
2000-01-30 17:16:21 -08:00
Alexandre Petit-Bianco
33ebdd95a8 final_inner.java: New file.
* libjava.lang/final_inner.java: New file.
	* libjava.lang/final_inner.out: Likewise.

From-SVN: r31704
2000-01-30 22:08:32 +00:00
Richard Henderson
eebe34b49f i386.c (ix86_compute_frame_size): Omit padding1 if the local frame size is zero.
* i386.c (ix86_compute_frame_size): Omit padding1 if the
        local frame size is zero.

From-SVN: r31703
2000-01-30 13:27:22 -08:00
Richard Henderson
c112e233c5 alpha.c (alpha_expand_epilogue): Don't emit the return insn.
* alpha.c (alpha_expand_epilogue): Don't emit the return insn.
        * alpha.h (EPILOGUE_USES): New.  Mark $26 live.
        * alpha.md (return): Turn into an expander.
        (return_internal): Don't use $26.
        (epilogue): Emit the return insn.

From-SVN: r31702
2000-01-30 12:27:57 -08:00
Richard Henderson
51ec054c3a alpha.md (negtf2, abstf2): Fix word order thinko.
* alpha.md (negtf2, abstf2): Fix word order thinko.
        (extendsftf2): New.
        (trunctfsf2): Avoid intermediate rounding errors.

From-SVN: r31701
2000-01-30 12:14:40 -08:00
Zack Weinberg
a73ac7a568 cppfiles.c (find_position): Drop 'colp' argument, return the new line base.
* cppfiles.c (find_position): Drop 'colp' argument, return the
	new line base.
	(read_and_prescan): Adjust to match.  Don't ever manipulate
	line or line_base except via find_position.

From-SVN: r31700
2000-01-30 18:09:07 +00:00
Jeff Law
bb4cd70830 Daily bump.
From-SVN: r31699
2000-01-30 01:45:07 -07:00
Zack Weinberg
b919445a10 c-parse.in: Apply Ulrich's changes from c-parse.y.
* c-parse.in: Apply Ulrich's changes from c-parse.y.
	* c-parse.y, objc/objc-parse.y, c-parse.c, objc/objc-parse.c:
	Regenerate.

From-SVN: r31698
2000-01-30 03:44:04 +00:00
Zack Weinberg
59495f3843 cpperror.c (cpp_file_line_for_message): If 'line' is zero, just print "<command line>".
* cpperror.c (cpp_file_line_for_message): If 'line' is zero,
	just print "<command line>".  If 'filename' is null or an
	empty string, print "<stdin>" for the filename.
	* cpplib.c (do_define): Don't print the 'location of the
	previous definition' message if we're still parsing the
	command line.
	(cpp_pedwarn_with_file_and_line): Always call
	cpp_file_line_for_message.

From-SVN: r31697
2000-01-30 03:31:59 +00:00
Mark Mitchell
607ace9b9b * flow.c (mark_regs_live_at_end): Fix typo.
From-SVN: r31696
2000-01-29 23:52:33 +00:00
Alexandre Petit-Bianco
f8989a66b8 [multiple changes]
2000-01-29  Alexandre Petit-Bianco  <apbianco@cygnus.com>

	* parse.y (formal_parameter:): Set `$$' to NULL_TREE for better
	error handling/recovery.
	* java-tree.h (SYNCHRONIZED_EXPR): Fixed typo in comment.

Wed Jan 12 20:20:11 2000  Alexandre Petit-Bianco  <apbianco@cygnus.com>

	* jcf-write.c (generate_bytecode_insns): binop: Change the type of
	the shift value to int. Fixed typo in comment.

From-SVN: r31695
2000-01-29 14:40:07 -08:00
Ulrich Drepper
114356ad7c Regenerated.
From-SVN: r31694
2000-01-29 19:18:00 +00:00
Ulrich Drepper
d828f724aa Update.
From-SVN: r31693
2000-01-29 19:15:16 +00:00
Ulrich Drepper
83309c2651 Adjust variable names, comments, help strings.
From-SVN: r31692
2000-01-29 19:10:00 +00:00
Ulrich Drepper
e38beabc88 Update.
From-SVN: r31691
2000-01-29 19:08:45 +00:00
Ulrich Drepper
916269abda Adjust variable names, comments, help strings to c99.
Recognize options with names *99 as well.

From-SVN: r31690
2000-01-29 19:00:43 +00:00
Ulrich Drepper
3194854770 Adjust variable names, comments, help strings to c99.
From-SVN: r31689
2000-01-29 18:59:40 +00:00
Hans-Peter Nilsson
10b52f4618 Fix entry for ns32k change of 01-27 - no VOIDmode for load effective address
From-SVN: r31688
2000-01-29 16:25:57 +00:00
Nathan Sidwell
97119bb744 new2.cc (operator delete[]): Use operator delete, don't assume implementation.
* new2.cc (operator delete[]): Use operator delete, don't assume
	implementation.

From-SVN: r31687
2000-01-29 16:25:37 +00:00
Nathan Sidwell
02fed91d67 class.c (build_vtbl_initializer): Add argument to build_vtable_entry call.
* class.c (build_vtbl_initializer): Add argument to
	build_vtable_entry call.

From-SVN: r31686
2000-01-29 15:47:14 +00:00
Jeff Law
6072f4261f Daily bump.
From-SVN: r31685
2000-01-29 01:45:07 -07:00
Mark Mitchell
c0bbf652c5 cp-tree.def (THUNK_DECL): Discuss vcall indices.
* cp-tree.def (THUNK_DECL): Discuss vcall indices.
	* cp-tree.h (BINFO_VIRTUALS): Update documentation.
	(BF_DELTA): New macro.
	(BF_VCALL_INDEX): Likewise.
	(BF_FN): Likewise.
	(THUNK_VCALL_OFFSET): Likewise.
	(make_thunk): Change prototype.
	* class.c (build_vtable_entry): Integrate
	build_vtable_entry_for_fn.  Handle vcall indices.
	(build_vtable_entry_for_fn): Remove.
	(set_rtti_entry): Handle vcall indices.  Use BF_DELTA,
	BF_VCALL_INDEX, BF_FN.
	(modify_vtable_entry): Integrate common code from
	modify_one_vtable and dfs_fixup_vtable_deltas.
	(add_virtual_function): Set BF_VCALL_INDEX.
	(build_vtbl_initializer): Simplify.  Use BF_DELTA, BF_VCALL_INDEX,
	and BF_FN.
	(modify_one_vtable): Simplify.
	(dfs_fixup_vtable_deltas): Likewise.
	(override_one_vtable): Use BF_DELTA, BF_VCALL_INDEX, BF_FN.
	* method.c (make_thunk): Handle vcall indices.

From-SVN: r31684
2000-01-29 03:59:09 +00:00
Herman A.J. ten Brugge
4fda2521e9 c4x.h (INIT_TARGET_OPTABS): Add all missing local optab entries.
2000-01-29 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>

        * c4x.h (INIT_TARGET_OPTABS): Add all missing local optab entries.
	* c4x.c: Define the optab rtx values.
	(c4x_add_gc_roots): Add the ggc roots for these optab rtx values.
	(c4x_emit_libcall): Use new optab rtx values.
	(c4x_emit_libcall3): Likewise.
	(c4x_emit_libcall_mulhi): Likewise.
	* c4x-protos.h: Add prototypes for optab rtx values and change
	prototypes for above c4x_emit_libcall functions.

From-SVN: r31683
2000-01-29 03:11:21 +00:00
Herman A.J. ten Brugge
dfafcb4dbd c4x.c (c4x_output_ascii): Restrict line length of output when TI syntax is used.
2000-01-29 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>

        * c4x.c (c4x_output_ascii): Restrict line length of output when TI
	syntax is used.
	(c4x_function_prologue): Use regnames intead of float_reg_names when
	TI syntax is used.
	(c4x_function_epilogue): Likewise.
	(c4x_print_operand): Likewise.
	* c4x.h (HOST_WIDE_INT_PRINT_HEX): Redefine.
	* c4x.md (set_high): Disable for TARGET_TI.

From-SVN: r31682
2000-01-29 03:07:37 +00:00
Herman A.J. ten Brugge
ed3614cd74 c4x.h (PREFERRED_RELOAD_CLASS): Change to restrict the reloading of framepointer + constant to ADDR_REGS class.
2000-01-27 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>

	* c4x.h (PREFERRED_RELOAD_CLASS): Change to restrict the reloading
	of framepointer + constant to ADDR_REGS class.
	* c4x.md (addqi3, addqi3_noclobber_reload): Update.
	* c4x.c (std_or_reg_operand): New function.
	* c4x-protos.h (std_or_reg_operand): Prototype it.

From-SVN: r31681
2000-01-29 03:01:24 +00:00
Herman A.J. ten Brugge
29a963d303 t-c4x: Change qi,qf,di,df into si,sf,hi,hf to generate same object names as libgcc2.c.
2000-01-29 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>

	* t-c4x: Change qi,qf,di,df into si,sf,hi,hf to generate same
		object names as libgcc2.c.
	* libgcc.S: Use newly defined names.

From-SVN: r31680
2000-01-29 02:50:17 +00:00
Jason Eckhardt
65169dcfc2 [multiple changes]
Fri Jan  7 19:48:04 CET 2000  Jan Hubicka  <jh@suse.cz>
	* sbitmap.c (sbitmap_first_set_bit, sbitmap_last_set_bit): New
	function.
	* sbitmap.h (sbitmap_first_set_bit, sbitmap_last_set_bit): Declare.
	* basic_block.h (FLOW_LOOP_FIRST_BLOCK): New macro.
	(FLOW_LOOP_LAST_BLOCK): Likewise.

2000-01-21  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>

	* basic-block.h (struct loop): New fields 'first' and 'last'.
	* flow.c (flow_loops_find): Compute loop->first and loop->last.
	(flow_loops_dump): Use loop->first to check for NOTE_INSN_LOOP_BEG
	and loop->last to check for NOTE_INSN_LOOP_END.

Fri Jan 28 10:57:58 2000  Jason Eckhardt  <jle@cygnus.com>

	* predict.c (estimate_probability): Use the new FIRST and LAST fields
	of the loop descriptor rather than HEADER and LATCH. Also added
	missing break statements as well making some coding style modifications
	as suggested by Michael Hayes.

From-SVN: r31679
2000-01-29 01:41:22 +00:00
Anthony Green
72af8e4e63 gcconfig.h (DATASTART): Add missing extern declaration for data_start on powerpc.
* gcconfig.h (DATASTART): Add missing extern declaration
	for data_start on powerpc.

From-SVN: r31677
2000-01-29 01:17:03 +00:00
Richard Henderson
19d3c25c9a flow.c (find_basic_blocks): Remove do_cleanup argument.
* flow.c (find_basic_blocks): Remove do_cleanup argument.
        Break out that code ...
        (cleanup_cfg): ... here.
        (commit_one_edge_insertion): Detect a return instruction being
        emitted to an edge.  Emit a barrier following; clear fallthru.
        (commit_edge_insertions): Verify CFG consistency.
        * function.c (expand_function_start): Kill unused variable.
        (expand_function_end): Likewise.
        (thread_prologue_and_epilogue_insns): Use insert_insn_on_edge
        to insert the epilogue.

        * gcse.c (gcse_main): Adjust for find_basic_blocks change.
        (delete_null_pointer_checks): Likewise.
        * output.h: Likewise.
        * reg-stack.c (reg_to_stack): Likewise.
        * toplev.c (rest_of_compilation): Likewise.  Run
        thread_prologue_and_epilogue_insns after rebuilding the CFG.

From-SVN: r31676
2000-01-28 14:22:50 -08:00
Richard Henderson
47e6ea667d haifa-sched.c (schedule_insns): Don't recompute reg info after reload.
* haifa-sched.c (schedule_insns): Don't recompute reg info
        after reload.

From-SVN: r31675
2000-01-28 13:54:39 -08:00
Richard Henderson
ae20388c7d Makefile.in (flow.o): Revert 24 Jan change.
* Makefile.in (flow.o): Revert 24 Jan change.
        * flow.c (mark_regs_live_at_end): Likewise.  Force BLKmode
        FUNCTION_VALUE result to DECL_RESULT's mode.

From-SVN: r31674
2000-01-28 13:21:49 -08:00
Zack Weinberg
a3e0a73bd7 configure.in: Make --enable-cpplib the default.
* configure.in: Make --enable-cpplib the default.
	* configure: Regenerate.
	* gcc.dg/990119-1.c: No longer expected to fail.

From-SVN: r31673
2000-01-28 20:49:17 +00:00
Tom Tromey
d0a844f86b Makefile.in: Rebuilt.
* Makefile.in: Rebuilt.
	* Makefile.am (LIBFFIINCS): Added MULTIBUILDTOP.

From-SVN: r31672
2000-01-28 20:00:21 +00:00
Mike Stump
74dc0d8cab Fix recent small bug
From-SVN: r31671
2000-01-28 19:44:45 +00:00
Bernd Schmidt
52bea68432 Delete a superfluous and buggy optimization
From-SVN: r31670
2000-01-28 18:00:04 +00:00