This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: cvs c++ -vs- libgcj


    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);
  

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]