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