From: tony@brc.uconn.EDU (Tony Guzzi (Staff))
Subject: GROFF patch to GCC: harmless or bears watching
Organization: GNUs Not Usenet
Distribution: gnu
Date: Wed, 14 Oct 1992 18:00:42 GMT

I'm installing GnuRoff 1.06 using GnuCC 2.2.2 (which uses libg++ 2.2).  In
the past, I've used the AT&T C++ compiler for GnuRroff-1.0{3,4,5} but now
that we have gcc/g++, I'd like to compile it using gcc.  I read in the GnuRoff
installation instructions:

	"If you're using gcc/g++ version 2.[012], I recommend you apply
	 the patch in the file gcc.patch. (If you don't, configure will
	 detect this and work around the bug, but this will make groff
	 use significantly more memory.)"

The patch in 'gcc.patch' is as follows:


*** cp-parse.y.~1~	Fri Mar 27 00:37:52 1992
--- cp-parse.y	Tue Mar 31 09:01:43 1992
***************
*** 1097,1103 ****
  		    }
  		  $$ = build_delete (type, expr, integer_three_node,
  				     LOOKUP_NORMAL|LOOKUP_HAS_IN_CHARGE,
! 				     TYPE_HAS_DESTRUCTOR (TREE_TYPE (type)) ? $$ : 0, 1);
  		}
  	| delete '[' ']' cast_expr  %prec UNARY
  		{
--- 1097,1103 ----
  		    }
  		  $$ = build_delete (type, expr, integer_three_node,
  				     LOOKUP_NORMAL|LOOKUP_HAS_IN_CHARGE,
! 				     TYPE_HAS_DESTRUCTOR (TREE_TYPE (type)) ? $$ : 0, 0);
  		}
  	| delete '[' ']' cast_expr  %prec UNARY
  		{


When I told my supervisor that I needed to add a patch to gcc, I was asked
why it was necessary and what impact this patch would have on the ordinary
users of gcc.  I answered the first question by repeating what was in the
installation instructions, but since I know little of the design of gcc, I
was not able to answer the second.  I mentioned seeing the similar patching
instructions (same patch, different line numbers) in previous versions of
GnuRoff, but my supervisor reasoned that since the patch as been around for
a while and the gcc people have not incorporated it into the most recent
version of gcc (version 2.2.2 being "the most recent" as far as we know),
then the patch may not be suitable for general use and should not be in the
version of gcc we make available to our general users.  I've been instructed
to compile a completely separate version of gcc (incorporating the patch) and
use it for the sole purpose of compiling GnuRoff.  Personally, I think it is
a waste of time and disk space to create and keep around separate version
just to compile GnuRoff.

  To that end, I figured I best ask "people-in-the-know" and I'd appreciate
any help you can give me in answering the following question:

   1) What is the patch doing and why is it necessary (other than what's
      given in the installation instructions)?
   2) What impact does this have on the GCC compiler?
   3) If the patch is useful, why hasn't it been incorporated it into
      the most recent version of gcc (ver. 2.2.2)?
   4) Are there any problems that any of you know about that I should
      look out for if I make the patched version of gcc available for
      general use?

While I don't expect anyone to go right out and do a major investigation of
the impacts of this patch, I would, appreciate any information on this
subject you can direct my way.  Thanks in advance.


-- Tony Guzzi
   Taylor L. Booth Center for Computer Applications and Research
=========================================================================
# U.S. MAIL:				| INTERNET:			#
#    University of Connecticut		|	tony@brc.uconn.edu	#
#    Rm 54, U-31, Booth Research Center	|				#
#    233 Glenbrook Road			| TELEPHONE:			#
#    Storrs, CT  06269-4031		|	(203) 486-5305		#
=========================================================================

P.S.  To anyone who sees my message to 'bugs-gcc' regarding a warning
      message from 'cp-decl.c' while compiling the stage 2&3 gcc compilers,
the warning message appeared in the *UNPATCH* version of the compiler as
well as the patched version.
Newsgroups: gnu.gcc.help