Commit Graph

30800 Commits

Author SHA1 Message Date
Hans Boehm
bf3b8e42e2 Implement bitmap descriptor based marking for Boehm GC.
2000-09-30  Hans Boehm  <boehm@acm.org>
	    Bryce McKinlay  <bryce@albatross.co.nz>

	Implement bitmap descriptor based marking for Boehm GC.

	* configure.in: Define JC1GCSPEC. Set it if boehm-gc is used.
	* configure: Rebuilt.
	* libgcj.spec.in: Pass JC1GCSPEC to jc1.
	* include/jvm.h (struct _Jv_VTable): New field `gc_descr'. New inline
	method get_finalizer().
	(struct _Jv_ArrayVTable): Ditto. Declare method array with
	NUM_OBJECT_METHODS elements instead of NUM_OBJECT_METHODS + 1.
	(_Jv_AllocObj): Add new jclass parameter.
	(_Jv_AllocArray): Ditto.
	(_Jv_BuildGCDescr): New prototype.
	* prims.cc (_Jv_AllocObject): Rename parameter `c' to `klass'. Pass
	`klass' to _Jv_AllocObj. Don't set the new object's vtable. Use
	get_finalizer() instead of direct finalizer vtable offset.
	(_Jv_NewObjectArray): Rename parameter `clas' to `klass'. Pass
	`klass' to _Jv_AllocArray. Don't set the new array's vtable.
	(_Jv_NewPrimArray): Call _Jv_FindArrayClass before _Jv_AllocObj.
	Pass `klass' to _Jv_AllocObj. Don't set the new array's vtable.
	* resolve.cc (METHOD_NOT_THERE, METHOD_INACCESSIBLE): New #defines.
	(_Jv_ResolvePoolEntry): Use METHOD_NOT_THERE and METHOD_INACCESSIBLE.
	(_Jv_DetermineVTableIndex): Ditto.
	(_Jv_PrepareClass): Ditto. Remove offset-by-one adjustments from vtable
	calculations to account for new gc_descr field.
	* boehm.cc: #include gc_gcj.h.
	(obj_kind_x, obj_free_list): `#if 0'-ed away.
	(_Jv_MarkObj): Check that vtable doesn't point to a cleared object.
	New commentary from HB. Mark the classes vtable.
	(_Jv_MarkArray): Check that vtable doesn't point to a cleared object.
	(GC_DEFAULT_DESCR): New #define.
	(_Jv_BuildGCDescr): New function. Use GC_DEFAULT_DESCR, for now.
	(_Jv_AllocObj): New parameter `klass'. Use GC_GCJ_MALLOC ().
	(_Jv_AllocArray): New parameter `klass'. Allocate with GC_MALLOC and
	scan conservativly if size is less than min_heap_addr. Set vtable
	pointer of new object before returning.
	(_Jv_AllocBytes): Use GC_MALLOC_ATOMIC, not GC_GENERIC_MALLOC.
	(_Jv_InitGC): Call GC_init_gcj_malloc(). Don't set up marking and
	allocation for obj_kind_x.
	* nogc.cc (_Jv_BuildGCDescr): New function. Return 0.
	(_Jv_AllocObj): Set vtable on returned object.
	(_Jv_AllocArray): Ditto.
	* java/lang/Class.h (_Jv_NewObjectArray): No longer a friend.
	(_Jv_NewPrimArray): Ditto.
	(_Jv_AllocObj): Declare as a friend.
	(_Jv_AllocArray): Ditto.
	* java/lang/natClassLoader.cc (_Jv_FindArrayClass): Copy gc_descr
	from &ObjectClass into new array class. Remove offset-by-one
	adjustments from `method' size calculations to account for gc_descr
	field.

Co-Authored-By: Bryce McKinlay <bryce@albatross.co.nz>

From-SVN: r36679
2000-09-30 10:56:58 +01:00
Bryce McKinlay
0476f09843 configure.in: Define GC_GCJ_SUPPORT.
2000-09-30  Bryce McKinlay  <bryce@albatross.co.nz>

	* configure.in: Define GC_GCJ_SUPPORT. Define NO_DEBUGGING in
	cross-compile configuration only.
	* Makefile.am: Build gcj_mlc.c.
	* configure, Makefile.in: Rebuilt.

From-SVN: r36678
2000-09-30 10:54:21 +01:00
Joseph Myers
1fba755332 * i386.c: Move include of "config.h" to before that of <setjmp.h>.
From-SVN: r36677
2000-09-30 09:05:55 +01:00
Joseph Myers
28e6b1c270 c-tree.texi, [...]: Consistently use @email for formatting email addresses.
* c-tree.texi, contrib.texi, gcc.texi, install.texi, invoke.texi:
	Consistently use @email for formatting email addresses.

cp:
	* gxxint.texi: Use @email for formatting email addresses.

From-SVN: r36676
2000-09-30 09:04:01 +01:00
Jeff Law
1bacc64eb0 Daily bump.
From-SVN: r36675
2000-09-30 01:45:07 -06:00
Alexandre Oliva
de7105326d Makefile.in (DEVO_SUPPORT): Added gettext.m4, libtool.m4, ltcf-c.sh, ltcf-cxx.sh and ltcf-gcj.sh.
* Makefile.in (DEVO_SUPPORT): Added gettext.m4, libtool.m4,
ltcf-c.sh, ltcf-cxx.sh and ltcf-gcj.sh.

From-SVN: r36674
2000-09-30 06:20:24 +00:00
Alexandre Oliva
5f5272039d ltconfig, [...]: Updated from libtool multi-language branch, to work around Solaris' /bin/sh bug.
* ltconfig, ltmain.sh, libtool.m4: Updated from libtool
multi-language branch, to work around Solaris' /bin/sh bug.  Rebuilt
all affected `configure' scripts.

From-SVN: r36673
2000-09-30 06:11:54 +00:00
Alexandre Oliva
3dd7094e20 ltconfig, [...]: Updated from libtool multi-language branch, to work around Solaris' /bin/sh bug.
* ltconfig, ltmain.sh, libtool.m4, ltcf-cxx.sh: Updated from libtool
multi-language branch, to work around Solaris' /bin/sh bug.  Rebuilt
all affected `configure' scripts.

From-SVN: r36672
2000-09-30 06:02:57 +00:00
Richard Henderson
f2fa288f03 cse.c (notreg_cost): New argument outer.
* cse.c (notreg_cost): New argument outer.
        (COST): Pass in SET to notreg_cost
        (COST_IN): New.
        (fold_rtx): Use COST_IN.  Prefer constants when costs
        are the same.

From-SVN: r36671
2000-09-29 16:22:20 -07:00
Alexandre Petit-Bianco
99eaf8d457 parse.y (maybe_yank_clinit): Also keep <clinit> if its body contains something else than MODIFY_EXPR.
2000-09-29  Alexandre Petit-Bianco  <apbianco@cygnus.com>

	* parse.y (maybe_yank_clinit): Also keep <clinit> if its body
	contains something else than MODIFY_EXPR.

(http://gcc.gnu.org/ml/gcc-patches/2000-09/msg01141.html)

From-SVN: r36670
2000-09-29 13:14:53 -07:00
David Edelsohn
a1c63101c4 inclhack.def (broken_cabs): Generalize regex.
* fixinc/inclhack.def (broken_cabs): Generalize regex.
	* fixinc/fixincl.x: Regenerate.

From-SVN: r36669
2000-09-29 13:47:32 -04:00
Franz Sirl
70dd0f7f41 loop.c (check_final_value): A GIV is not replaceable if used before set.
2000-09-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
	* loop.c (check_final_value): A GIV is not replaceable if used
	before set.

From-SVN: r36668
2000-09-29 17:38:25 +00:00
Jeffrey A Law
0c6129af81 * version.c: Bump to gcc-2.97.
From-SVN: r36667
2000-09-29 10:03:36 -06:00
Gabriel Dos Reis
99885b3f2a error.c: Remove direct obstack manipulation.
cp/
	* error.c: Remove direct obstack manipulation.  Replace with
	output_buffer-based formatting.  Adjust calls to removed macros.
	(obstack_chunk_alloc, obstack_chunk_free): Remove.
	(OB_INIT, OB_PUTC, OB_PUTC2, OB_PUTS, OB_PUTID, OB_PUTCP,
	OB_FINISH, OB_PUTI, OB_END_TEMPLATE): Likewise.
testsuite/
	* g++.old-deja/g++.ext/pretty3.C: Fix comparison with
	__PRETTY_FUNCTION__.
	* g++.old-deja/g++.ext/pretty2.C: Likewise.

From-SVN: r36666
2000-09-29 11:50:32 +00:00
Jan Hubicka
6c698a6d9b final.c (final_scan_insn): Remove extra extract_insn call; Use caching for constrain_operands.
* final.c (final_scan_insn): Remove extra extract_insn call;
	Use caching for constrain_operands.
	(cleanup_subreg_operands): Use caching for extract_insn.
	* recog.c (constrain_operands_cached): New.
	* recog.h (constrain_operands_cached): Declare.
	* i386.c (ix86_attr_length_immediate_default,
	ix86_attr_length_address_default, ix86_agi_dependant): Cache
	extract_insn call.

	* recog.c (asm_noperands): Tweak.
	(extract_insn): Do not call asm_noperads for non-asm instructions.

From-SVN: r36665
2000-09-29 11:40:24 +00:00
Jan Hubicka
b1cdafbb6c recog.c (recog_memoized): Rename to recog_memoized_1.
* recog.c (recog_memoized): Rename to recog_memoized_1.
	* recog.h (recog_memoized): Rename to recog_memoized_1.
	(recog_memoized): New macro.
	* rtl.h (single_set): Rename to single_set_1
	(single_set): New macro.
	* rtlanal.c (single_set): Rename to single_set_1;  expect clobbers
	to be last.

	* i386.md (strmovsi_1, strmovhi_1 strmovqi_1):
	Do not use match_dup of input operands at outputs.
	Use register_operand for memory expression.
	(rep_movsi): Put use last, canonicalize.
	Use register_operand for memory expression.
	(rep_movqi): Put use last.
	Use register_operand for memory expression.
	(strsetsi_1, strset_hi_1, strsetqi_1): Do not use match_dup
	of input operands at outputs.  Use register_operand for memory
	expression.
	(rep_stossi): Put use last; canonicalize; fix match_dup in
	the address expression
	(rep_stosqi): Likewise.
	(memcmp expander): Update calls.
	(cmpstrsi_nz_1, cmpstrsi_1, strlensi_1): Avoid match_dups in
	the clobbers.

	* i386.md (fp_jcc_3, fp_jcc_4, jp_fcc_5): if_then_else operand is
	VOIDmode.
	(fp_jcc_4, fp_jcc_3): Refuse unordered comparisons.

From-SVN: r36664
2000-09-29 11:24:13 +00:00
Jeff Law
073427934a Daily bump.
From-SVN: r36663
2000-09-29 01:45:07 -06:00
David O'Brien
41e5a1f593 freebsd-aout.h: New, FreeBSD a.out config file.
2000-09-28  David O'Brien  <obrien@FreeBSD.org>
	* config/i386/freebsd-aout.h: New, FreeBSD a.out config file.
	Contains the old contents of config/i386/freebsd.h
	* config/i386/freebsd.h: Now the ELF rather than a.out config file.
	Contains the old contents of config/i386/freebsd-elf.h
	* config/i386/freebsd-elf.h: Retire this file -- contents moved to
	config/i386/freebsd.h.
	* configure.in: Adjust for above changes.
	* po/POTFILES.in: Likewise.
	* po/en_GB.po: Likewise.
	* po/gcc.pot: Likewise.
	* configure: Rebuilt.

Approved by:  Richard Henderson <rth@cygnus.com>
              Message-ID: <20000927093029.A30906@cygnus.com>

From-SVN: r36662
2000-09-29 01:56:02 +00:00
Franz Sirl
1db88ef979 doloop.c (doloop_modify): Prevent delete_insn() from deleting too much.
2000-09-28  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
	* doloop.c (doloop_modify): Prevent delete_insn() from
	deleting too much.  Prefer loop->top over loop->start as
	target for the new JUMP insn.
	(doloop_valid_p): Ignore loop with exit_count != 0.

From-SVN: r36661
2000-09-28 22:36:49 +00:00
Kaveh R. Ghazi
2eeb109b26 * gcc.dg/wtr-int-type-1.c: Don't expect a warning from system headers.
From-SVN: r36660
2000-09-28 14:48:40 +00:00
Philipp Thomas
6a07a77fe1 invoke.texi (i386 Options): Add athlon to table of possible choices for -mcpu=.
2000-09-28  Philipp Thomas  <pthomas@suse.de>

	* invoke.texi (i386 Options): Add athlon to table of possible
	choices for -mcpu=.

From-SVN: r36659
2000-09-28 13:57:20 +00:00
Gabriel Dos Reis
b5dd2c76f8 diagnostic.h (output_clear_message_text): New function.
* diagnostic.h (output_clear_message_text): New function.
	(output_message_text): New macro.

	* diagnostic.c (clear_text_info): Rename to
	output_clear_message_text.
	(output_clear): Adjust.
	(output_finish): Rename to output_finalize_message.  Tweek.
	(output_to_stream): Adjust.

From-SVN: r36658
2000-09-28 12:50:37 +00:00
Gerald Pfeifer
2d89ce6a8e gcc_update (touch_files): Add some informative output.
From-SVN: r36657
2000-09-28 11:24:18 +00:00
Jeff Law
2f256f66f0 Daily bump.
From-SVN: r36656
2000-09-28 01:45:10 -06:00
Neil Booth
d809068018 cpperror.c (_cpp_begin_message): Do the test for suppression of warnings and pedantic warnings before the "is a...
* cpperror.c (_cpp_begin_message):  Do the test for suppression
        of warnings and pedantic warnings before the "is a warning an
        error" tests.
	* cppinit.c (cpp_handle_option): Remove surplus \n.
	* cpplex.c (ON_REST_ARG): Delete.
	(skip_block_comment): Initialise prevc.
	(parse_args): Improve error messages.
	(maybe_paste_with_next): Use CONTEXT_VARARGS rather
	than ON_REST_ARG.
	* cpplib.c (cpp_push_buffer): Fix grammar in message.
	* cppmain.c (main): Set callbacks for #ident and #pragma
	only if no_output option is false.
	(do_pragma_implementation): Only call the #pragma handler
	if it is set in the cpp_reader structure.

From-SVN: r36655
2000-09-28 05:55:22 +00:00
Donald Lindsay
e93eff9433 Patch by rth to fix inline-of-an-inline return-value bug.
From-SVN: r36654
2000-09-27 21:08:33 +00:00
Joseph Myers
59c5d27a69 extend.texi, [...]: Consistently use @uref for formatting URLs.
* extend.texi, invoke.texi, gcc.texi, install.texi: Consistently
	use @uref for formatting URLs.

From-SVN: r36653
2000-09-27 18:52:56 +01:00
Jeff Law
6a832bea87 Daily bump.
From-SVN: r36652
2000-09-27 01:45:10 -06:00
Mark Elbrecht
15ca066dde djgpp.h (UNIQUE_SECTION): Constify the variables name and prefix.
* config/i386/djgpp.h (UNIQUE_SECTION): Constify the variables
name and prefix.

From-SVN: r36651
2000-09-27 00:54:34 -04:00
Tom Tromey
a3f7444bf2 Scrollbar.java (removeAdjustmentListener): Use remove', not add'.
* java/awt/Scrollbar.java (removeAdjustmentListener): Use
	`remove', not `add'.

From-SVN: r36650
2000-09-26 23:46:09 +00:00
Zack Weinberg
dada8ffd5a Remove stray whitespace on blank line
From-SVN: r36649
2000-09-26 22:41:53 +00:00
David Edelsohn
1409d0c7df * config/mt-aix43 (NM_FOR_TARGET): Add -B bsd-style flag.
From-SVN: r36648
2000-09-26 15:57:08 -04:00
Alexandre Petit-Bianco
aca8c6e8a3 natSystem.cc (file_encoding): Added return statement.
2000-09-26  Alexandre Petit-Bianco  <apbianco@cygnus.com>

	* java/lang/natSystem.cc (file_encoding): Added return statement.

From-SVN: r36647
2000-09-26 12:00:28 -07:00
Neil Booth
5a8e2650ed gcc.c (cpp_options): Add spec for -ftabstop=.
* gcc.c (cpp_options): Add spec for -ftabstop=.
	(invoke_as): New spec that handles invoking as.
	Update specs to handle -save-temps and -traditional.
	* ch/lang-specs.h, f/lang-specs.h, java/lang-specs.h:
	Use invoke_as.
	* cp/lang-specs.h, objc/lang-specs.h: Update to use
	invoke_as, and handle -save-temps and -traditional (if
	appropriate).

From-SVN: r36646
2000-09-26 17:28:07 +00:00
Jakub Jelinek
380f6ad3dd sparc.c (sparc_emit_set_const64): Don't abort when op0 is a SUBREG.
* config/sparc/sparc.c (sparc_emit_set_const64): Don't abort when
	op0 is a SUBREG.
	(function_arg_slotno): Accept TImode/CTImode.
	* config/sparc/sparc.h (MIN_UNITS_PER_WORD): If IN_LIBGCC2 define
	to UNITS_PER_WORD.

        * gcc.c-torture/compile/20000923-1.c: New test.

From-SVN: r36645
2000-09-26 16:14:34 +02:00
Michael Hayes
ef120fc049 flow.c (flow_loop_pre_header_scan): Punt if loop enters from entry block.
* flow.c (flow_loop_pre_header_scan): Punt if loop enters
	from entry block.

From-SVN: r36644
2000-09-26 10:03:47 +00:00
Jeff Law
368d0da864 Daily bump.
From-SVN: r36643
2000-09-26 01:45:07 -06:00
Jim Wilson
cf606f453b Fix bad use of FP reg in post-modify address.
* config/ia64/ia64.h (INDEX_REG_CLASS): Define to GENERAL_REGS.
	(REGNO_OK_FOR_INDEX_P): Define to REGNO_OK_FOR_BASE_P.
	(LEGITIMATE_ADDRESS_DISP): Use LEGITIMATE_ADDRESS_REG.
	(REG_OK_FOR_INDEX): Define to REG_OK_FOR_BASE_P.

From-SVN: r36640
2000-09-25 17:40:42 -07:00
Neil Booth
a94c119922 cpplex.c (parse_args): Don't set VOID_REST flag.
* cpplex.c (parse_args): Don't set VOID_REST flag.
	(Fix diagnostic merge problem).
        (CONTEXT_VARARGS): New flag.
        (maybe_paste_with_next): Set context earlier in loop.  Use
        it.  Do varargs test with CONTEXT_VARARGS flag.
        (push_arg_context): Set CONTEXT_VARARGS flag if we're
        pushing an argument context for a varargs argument.
        * cpplib.h (VOID_REST): Delete.
        * gcc.dg/cpp/vararg1.c: Add test case.

From-SVN: r36638
2000-09-25 23:35:10 +00:00
Philipp Thomas
15e2ab712e Makefile.in.in: Remove stamp-check-pot from list of default targets as checks are only possible...
2000-09-26  Philipp Thomas  <pthomas@suse.de>

	* Makefile.in.in: Remove stamp-check-pot from list
	of default targets as checks are only possible in a
	complete source tree and all languages configured.

From-SVN: r36637
2000-09-25 23:29:38 +00:00
Branko Cibej
317639a81c flags.h: Declare warning flag warn_system_headers.
2000-09-25  Branko Cibej  <branko.cibej@hermes.si>

        * flags.h:  Declare warning flag warn_system_headers.
        * toplev.c:  Define it.
        (W_options): Add option -Wsystem-headers.
        * diagnostic.c (count_error): Test warn_system_headers.
        * invoke.texi:  Add description for -Wsystem-headers.
	* cpplib.h (cpp_options): New member warn_system_headers.
	* cpphash.h (CPP_PEDANTIC, CPP_WTRADITIONAL): Don't test
	CPP_IN_SYSTEM_HEADER.
	* cpplib.c (do_import, do_pragma_once): Likewise.
	* cpperror.c (_cpp_begin_message): Test warn_system_headers
	and CPP_IN_SYSTEM_HEADER.
	* cppinit.c (handle_option): Recognize -Wsystem_headers.
	(print_help): Describe -Wsystem_headers.
	* cpplex.c (lex_line): Reorganize condition so that warnings
	about C++ comments in system headers can be enabled. Remove
	label do_line_comment.

From-SVN: r36636
2000-09-25 22:54:04 +00:00
Neil Booth
1c6d33efb4 cpplex.c (save_comment): Only store the initial '/' now.
* cpplex.c (save_comment): Only store the initial '/'
	now.
	(lex_token): Combine handling of the two comment types.
	Pass everything but the initial '/' to save_comment.

From-SVN: r36635
2000-09-25 22:39:51 +00:00
Neil Booth
7de4d00450 cpphash.h (_cpp_digraph_spellings, [...]): New library-internal prototypes.
* cpphash.h (_cpp_digraph_spellings, _cpp_process_directive,
	_cpp_can_paste): New library-internal prototypes.
	* cpplex.c (dump_param_spelling, output_line_command,
	output_token, cpp_scan_buffer, cpp_scan_buffer_nooutput,
	cpp_printf, cpp_output_list): Move to cppoutput.c.
	(process_directive, can_paste, digraph_spellings): Add _cpp_ prefix.
	* cppmacro.c (dump_macro_args, cpp_dump_definition) Move to
	cppoutput.c.
	* cppoutput.c (dump_macro_args, cpp_dump_definition, output_token,
	dump_param_spelling, output_line_command, cpp_scan_buffer,
	cpp_scan_buffer_nooutput, cpp_printf, cpp_output_list): Moved
	from elsewhere.
	* Makefile.in: Add cppoutput.c.
	* po/POTFILES.in: Add cppoutput.c.

From-SVN: r36634
2000-09-25 22:34:53 +00:00
Theodore Papadopoulo
dcbd43e030 crash20.C: Make ready for libstdc++-v3.
2000-09-25 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>

	* g++.old-deja/g++.other/crash20.C: Make ready for libstdc++-v3.
	* g++.old-deja/g++.pt/ttp62.C: Same.
	* g++.old-deja/g++.other/inline14.C: Same.

From-SVN: r36633
2000-09-25 22:06:30 +00:00
Richard Henderson
66db6b4514 ia64.c (ia64_print_operand): Define 'e' as 64-n.
* config/ia64/ia64.c (ia64_print_operand): Define 'e' as 64-n.
        * config/ia64/ia64.md (rotrsi3): Allow variable rotates; don't
        split until after reload.
        (rotlsi3, rotldi3): New.

From-SVN: r36632
2000-09-25 15:06:29 -07:00
Phil Edwards
a5e3fe86a2 documentation.html: Add link to...
2000-09-25  Phil Edwards  <pme@sources.redhat.com>

	* docs/documentation.html:  Add link to...
	* docs/ext/howto.html:  ...this.  New dir/file, describing library
	  extensions (both ours and SGI's).
	* docs/faq/index.html:  Small updates.
	* docs/faq/index.txt:  Regenerate.

From-SVN: r36631
2000-09-25 21:42:14 +00:00
Phil Edwards
fd00bb8d3a New-date checkin of footer.html to force yadda yadda yadda.
From-SVN: r36630
2000-09-25 21:34:45 +00:00
Gabriel Dos Reis
4b40f7588e diagnostic.c (output_last_position): Define.
* diagnostic.c (output_last_position): Define.
	(set_real_maximum_length): Tweek.
	* diagnostic.h (output_last_position): Declare.

From-SVN: r36629
2000-09-25 21:20:19 +00:00
Kazu Hirata
0f2907682e i386.c: Fix formatting.
2000-09-25  Kazu Hirata  <kazu@hxi.com>

	* config/i386/i386.c: Fix formatting.

From-SVN: r36628
2000-09-25 19:17:24 +00:00
Neil Booth
e592386fbb * MAINTAINERS: Add self as cpplib co-maintainer.
From-SVN: r36627
2000-09-25 18:48:45 +00:00