From: daniel@cisco.com (Hugh Daniel)
Subject: Gcc/G++ 2.2.2 code generation bug on HP 9000/817
Reply-To: hugh@toad.com
Organization: GNUs Not Usenet
Distribution: gnu
Date: Wed, 14 Oct 1992 00:54:37 GMT

A bug in gcc 2.2.2!
  I have run into this code generation bug sevral times on this HP
9000/817 since installing gcc.  It seems to be some sort of code
generation bug where gcc thinks it can use an argument it can't
really.
  Note that this bug affects both g++ and gcc, its just that this
example is in C++ code.

  I have not the manuals to take a stab at it.  Source for
generateing this bug is on prep.ai.mit.edu (:r).  If I can help
please drop me a line.

		||ugh Daniel
		Consultant
		hugh@toad.com

The compiler:
gcc -v
Reading specs from /usr/local/lib/gcc-lib/hppa1.0-hp-hpux/2.2.2/specs
gcc version 2.2.2

(Note that the command:  g++ -v
begets: /usr/local/bin/g++: no input files specified
Thats a bug too.)

The Host:
HP-UX swarf A.08.02 E 9000/817 1726073111

The software:
groff-1.06/pic/common.cc

The Command:
gcc -O -save-temps -I. -I../include -I./../include -DHAVE_UNISTD_H=1 -DHAVE_DIRENT_H=1 -DHAVE_LIMITS_H=1 -DHAVE_SYS_DIR_H=1 -DHAVE_CC_LIMITS_H=1 -DHAVE_CC_UNISTD_H=1 -DSTDLIB_H_DECLARES_PUTENV=1 -DHAVE_MMAP=1 -DHAVE_RENAME=1 -DHAVE_MKSTEMP=1 -DCOOKIE_BUG=1 -DWCOREFLAG=0200  -c common.cc 

The Assembler:
/bin/as

The Error Messges:
as: common.s @line#1247 [err#1060]
  Argument 1 or 3 in FARG upper
         - lookahead = ARGW4=FR,RTNVAL=GR
as: common.s @line#1456 [err#1060]
  Argument 1 or 3 in FARG upper
         - lookahead = ARGW4=FR,RTNVAL=GR
as: common.s @line#2862 [err#1060]
  Argument 1 or 3 in FARG upper
         - lookahead = ARGW4=FR,RTNVAL=GR
as: common.s @line#3913 [err#1060]
  Argument 1 or 3 in FARG upper
         - lookahead = ARGW4=FR,RTNVAL=GR
as: common.s @line#4518 [err#1060]
  Argument 1 or 3 in FARG upper
         - lookahead = ARGW4=FR,RTNVAL=GR


The common.s output: (>> marks line#1247)
	.EXIT
	.PROCEND
	.IMPORT filled_rounded_box__13common_outputRC8positionT1dd,CODE
	.IMPORT dashed_rounded_box__13common_outputRC8positionT1dRC9line_type,CODE
	.IMPORT dotted_rounded_box__13common_outputRC8positionT1dRC9line_type,CODE
	.IMPORT solid_rounded_box__13common_outputRC8positionT1dRC9line_type,CODE
	.align 8
LC$0035
	; .double 0.00000000000000000000e+00
	.word 0 ; = 0x0
	.word 0 ; = 0x0
	.align 4
LC$0036
	.word LC$0001
	.align 4
	.EXPORT rounded_box__13common_outputRC8positionT1dRC9line_typed
>>	.EXPORT rounded_box__13common_outputRC8positionT1dRC9line_typed,PRIV_LEV=3,ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=FU,ARGW4=FR,RTNVAL=GR
rounded_box__13common_outputRC8positionT1dRC9line_typed
	.PROC
	.CALLINFO FRAME=96,CALLS,SAVE_RP
	.ENTRY

An other fragment: (>> marks line#1456)
	.align 4
	.EXPORT dashed_rounded_box__13common_outputRC8positionT1dRC9line_type
>>	.EXPORT dashed_rounded_box__13common_outputRC8positionT1dRC9line_type,PRIV_LEV=3,ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=FU,ARGW4=FR,RTNVAL=GR
dashed_rounded_box__13common_outputRC8positionT1dRC9line_type
	.PROC

Yet another fragment: (>> marks line#4518)
LC$0099
	.word LC$0098
	.align 4
	.EXPORT filled_rounded_box__13common_outputRC8positionT1dd
>>	.EXPORT filled_rounded_box__13common_outputRC8positionT1dd,PRIV_LEV=3,ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=FU,ARGW4=FR,RTNVAL=GR
filled_rounded_box__13common_outputRC8positionT1dd
	.PROC
	.CALLINFO FRAME=544,CALLS,SAVE_RP
	.ENTRY

Newsgroups: gnu.gcc.bug