Return to BSD News archive
Xref: sserve comp.unix.bsd:7287 gnu.misc.discuss:6712 Newsgroups: comp.unix.bsd,gnu.misc.discuss Path: sserve!manuel.anu.edu.au!munnari.oz.au!sgiblab!zaphod.mps.ohio-state.edu!wupost!uunet!jclark!jjc From: jjc@jclark.com (James Clark) Subject: Re: troff's size! In-Reply-To: alexk@otc.otca.oz.au's message of 29 Oct 92 22:40:32 GMT Message-ID: <JJC.92Oct30133157@jclark.jclark.com> Sender: jjc@jclark.com (James Clark) Organization: None, London, England References: <6633@otc.otca.oz> Date: Fri, 30 Oct 1992 13:31:57 GMT Lines: 43 In article <6633@otc.otca.oz> alexk@otc.otca.oz.au (Alex Kowalenko) writes: I notcied when I recompiling csh that troff expanded out to 5MB! when processing the manual page! Is this right? It certianly put a load on my 8MB 386BSD machine. If you have a problem with groff, please submit a proper bug report. See the file BUG-REPORT in the groff distribution. I would guess that the problem is that your copy of groff was compiled with g++ 1.39. This version of g++ has a bug that causes a serious leak in GNU troff. The following patch for g++ fixes this: *** cplus-decl.c.~1~ Mon Aug 6 05:28:59 1990 --- cplus-decl.c Wed Jun 5 08:55:04 1991 *************** *** 7951,7961 **** /* At the end, call delete if that's what's requested. */ if (TREE_GETS_DELETE (current_class_type)) exprstmt = build_method_call (build1 (NOP_EXPR, TYPE_POINTER_TO (current_class_type), error_mark_node), get_identifier (OPERATOR_DELETE_FORMAT), ! build_tree_list (NULL_TREE, integer_zero_node), NULL_TREE, LOOKUP_NORMAL); else if (TYPE_USES_VIRTUAL_BASECLASSES (current_class_type)) exprstmt = build_x_delete (ptr_type_node, current_class_decl, 0); else exprstmt = 0; --- 7951,7961 ---- /* At the end, call delete if that's what's requested. */ if (TREE_GETS_DELETE (current_class_type)) exprstmt = build_method_call (build1 (NOP_EXPR, TYPE_POINTER_TO (current_class_type), error_mark_node), get_identifier (OPERATOR_DELETE_FORMAT), ! build_tree_list (NULL_TREE, current_class_decl), NULL_TREE, LOOKUP_NORMAL); else if (TYPE_USES_VIRTUAL_BASECLASSES (current_class_type)) exprstmt = build_x_delete (ptr_type_node, current_class_decl, 0); else exprstmt = 0; James Clark jjc@jclark.com