[gnu.g++.bug] bug in latest g++-1.34.2 diffs on sun4

tiemann@YAHI.STANFORD.EDU (Michael Tiemann) (04/11/89)

The diffs I sent for cplus-init.c contained a bug found by Stephen
Pope.  Here is the fix (for build_delete in cplus-init.c):

      else if (basetype == NULL_TREE
	       || ! TYPE_NEEDS_DESTRUCTOR (basetype))
	{
	  cond = build (COND_EXPR, void_type_node,
			build (NE_EXPR, integer_type_node, auto_delete, integer_zero_node),
			build_function_call (BID, build_tree_list (NULL_TREE, addr)),
			build (NOP_EXPR, void_type_node, integer_zero_node));
	}
      else cond = NULL_TREE;	/* >>>THIS WAS MISSING<<< */

      if (cond)
	exprstmt = build_tree_list (NULL_TREE, cond);

      if (basetype && TYPE_NEEDS_DESTRUCTOR (basetype))
	{

Michael