patch for new

Mike Stump mrs@wrs.com
Wed Jan 7 14:47:00 GMT 1998


Without this patch, TYPE_LANG_5 is accessed off error_mark_node, which
doesn't have this field.  :-(


Wed Jan  7 14:43:06 1998  Mike Stump  <mrs@wrs.com>

	* init.c (build_new): Propagate error_mark_node up.

Doing diffs in init.c.~1~:
*** init.c.~1~	Mon Dec 29 18:12:30 1997
--- init.c	Wed Jan  7 14:34:10 1998
*************** build_new (placement, decl, init, use_gl
*** 2620,2632 ****
  	  newrval = build_method_call (newrval, ctor_identifier,
  				       init, TYPE_BINFO (true_type), flags);
  
! 	  if (newrval)
! 	    {
! 	      rval = newrval;
! 	      TREE_HAS_CONSTRUCTOR (rval) = 1;
! 	    }
! 	  else
! 	    rval = error_mark_node;
  	}
        else
  	rval = build (VEC_INIT_EXPR, TREE_TYPE (rval),
--- 2620,2630 ----
  	  newrval = build_method_call (newrval, ctor_identifier,
  				       init, TYPE_BINFO (true_type), flags);
  
! 	  if (newrval == 0 || newrval == error_mark_node)
! 	    return error_mark_node;
! 
! 	  rval = newrval;
! 	  TREE_HAS_CONSTRUCTOR (rval) = 1;
  	}
        else
  	rval = build (VEC_INIT_EXPR, TREE_TYPE (rval),
--------------



More information about the Gcc mailing list