Commit Graph

26073 Commits

Author SHA1 Message Date
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
Kaveh R. Ghazi b9ff481444 diagnostic.c (build_message_string, [...]): Add ATTRIBUTE_PRINTF_*.
* diagnostic.c (build_message_string, output_printf,
        line_wrapper_printf): Add ATTRIBUTE_PRINTF_*.
        (build_location_prefix): Fix non-literal format string.

From-SVN: r31669
2000-01-28 16:34:00 +00:00
Nathan Sidwell 7267d6924e Compiler side new abi rtti (not enabled).
* cp-tree.h (new_abi_rtti_p): New macro.
	(emit_support_tinfos): Prototype new function.
	(tinfo_decl_p): Likewise.
	(emit_tinfo_decl): Likwise.
	* rtti.c (TINFO_PSEUDO_TYPE, TINFO_VTABLE_DECL): New accessor
	macros.
	(doing_runtime): New local static.
	(init_rtti_processing): Add new-abi initializer.
	(get_tinfo_decl): Add new-abi logic.
	(tinfo_from_decl): Likewise.
	(build_dynamic_cast_1): Likewise.
	(qualifier_flags): New static function.
	(tinfo_base_init): Likewise.
	(generic_initializer): Likewise.
	(ptr_ref_initializer): Likewise.
	(ptmd_initializer): Likewise.
	(class_hint_flags): Likewise.
	(class_initializer): Likewise.
	(synthesize_tinfo_var): Likewise.
	(create_real_tinfo_var): Likewise.
	(create_pseudo_type_info): Likewise.
	(get_vmi_pseudo_type_info): Likewise.
	(create_tinfo_types): Likewise.
	(emit_support_tinfos): New global function.
	(tinfo_decl_p): New global predicate.
	(emit_tinfo_decl): New global function.
	* class.c (set_rtti_entry): Generalize for old and new rtti.
	(build_vtbl_initializer): Likewise.
	* decl2.c (finish_file): Likewise.

From-SVN: r31668
2000-01-28 13:30:13 +00:00
Jakub Jelinek 73565a7129 20000127-1.c: New test.
* compile/20000127-1.c: New test.
	* execute/991228-1.c: New test.

From-SVN: r31667
2000-01-28 12:54:37 +01:00
Martin v. Löwis dfe50efb43 fstream.h (ifstream::ifstream): Add ios::in to mode.
* fstream.h (ifstream::ifstream): Add ios::in to mode.
	(ifstream::open): Likewise.
	(ofstream::ofstream): Add ios::out to mode.
	(ofstream::open): Likewise.

From-SVN: r31666
2000-01-28 09:55:33 +00:00
Jeff Law e8ea81ec7d Daily bump.
From-SVN: r31664
2000-01-28 01:45:07 -07:00
Jim Wilson aa1eac0c9f Fix winsup (cygwin) build failure with VLAs and inline functions.
* cp/optimize.c (remap_decl): Add walk_tree calls for DECL_SIZE (t)
	and TYPE_MAX_VALUE (TYPE_DOMAIN (TREE_TYPE (t))).

From-SVN: r31663
2000-01-27 20:56:59 -08:00
Richard Henderson 138eff91a2 * alpha.md (trunctfsf2): New.
From-SVN: r31662
2000-01-27 20:36:43 -08:00