Path: utzoo!telly!attcan!uunet!tut.cis.ohio-state.edu!YAHI.STANFORD.EDU!tiemann From: tiemann@YAHI.STANFORD.EDU (Michael Tiemann) Newsgroups: gnu.g++.bug Subject: bug in latest g++-1.34.2 diffs on sun4 Message-ID: <8904110550.AA25535@yahi.stanford.edu> Date: 11 Apr 89 05:50:42 GMT References: <8904110009.AA01552@laotse.santafe.edu> Sender: daemon@tut.cis.ohio-state.edu Reply-To: tiemann@lurch.stanford.edu Distribution: gnu Organization: GNUs Not Usenet Lines: 20 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