This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: cvs c++ -vs- libgcj
- To: tromey at cygnus dot com
- Subject: Re: cvs c++ -vs- libgcj
- From: kenner at vlsi1 dot ultra dot nyu dot edu (Richard Kenner)
- Date: Tue, 22 Aug 00 02:40:51 EDT
- Cc: gcc-patches at gcc dot gnu dot org
The current (as of 4 hours ago or so) cvs g++ fails to compile the
current libgcj on x86 Linux (Red Hat 7.0).
../../../libgcj/libjava/java/lang/natClass.cc:373: Tree check: expected function_type, have method_type
../../../libgcj/libjava/java/lang/natClass.cc:373: Internal compiler error in fixup_gotos, at stmt.c:1196
Sorry, that was my bug. I just committed the following fix:
Tue Aug 22 02:31:26 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* stmt.c (expand_goto_internal, fixup_gotos): Only check
TYPE_RETURNS_STACK_DEPRESSED for FUNCTION_TYPE.
*** stmt.c 2000/08/16 01:15:37 1.158
--- stmt.c 2000/08/22 06:15:19
*************** expand_goto_internal (body, label, last_
*** 908,913 ****
is to return with a depressed stack pointer. */
if (label == return_label
! && (TYPE_RETURNS_STACK_DEPRESSED
! (TREE_TYPE (current_function_decl))))
;
else
--- 908,915 ----
is to return with a depressed stack pointer. */
if (label == return_label
! && (((TREE_CODE (TREE_TYPE (current_function_decl))
! == FUNCTION_TYPE)
! && (TYPE_RETURNS_STACK_DEPRESSED
! (TREE_TYPE (current_function_decl))))))
;
else
*************** fixup_gotos (thisblock, stack_level, cle
*** 1193,1198 ****
if (f->stack_level
&& ! (f->target_rtl == return_label
! && (TYPE_RETURNS_STACK_DEPRESSED
! (TREE_TYPE (current_function_decl)))))
emit_stack_restore (SAVE_BLOCK, f->stack_level, f->before_jump);
--- 1195,1202 ----
if (f->stack_level
&& ! (f->target_rtl == return_label
! && ((TREE_CODE (TREE_TYPE (current_function_decl))
! == FUNCTION_TYPE)
! && (TYPE_RETURNS_STACK_DEPRESSED
! (TREE_TYPE (current_function_decl))))))
emit_stack_restore (SAVE_BLOCK, f->stack_level, f->before_jump);