File:  [GCC 2.x] / gcc / ns32k.bugs
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Tue Apr 24 17:51:22 2018 UTC (8 years, 2 months ago) by root
Branches: fsf, MAIN
CVS tags: gcc-200, HEAD
gcc-2.0

BABYL OPTIONS:
Version: 5
Labels:
Note:   This is the header of an rmail file.
Note:   If you are seeing it in rmail,
Note:    it means the file has no messages in it.

1, forwarded,,
Return-Path: <[email protected]>
Received: from prep.ai.mit.edu by life.ai.mit.edu; Sat, 9 Jul 88 16:55:47 EDT
Received: from rome.ics.uci.edu by prep.ai.mit.edu; Sat, 9 Jul 88 15:31:05 EST
Received: from ics.uci.edu by ROME.ICS.UCI.EDU id aa29221; 9 Jul 88 13:40 PDT
Received: from ics.uci.edu by ICS.UCI.EDU id aa26668; 9 Jul 88 13:41 PDT
To: bug-gcc <@beanie.ics.uci.edu:[email protected]>
Subject: gcc 1.24 generates bad code with -O option
Date: Sat, 09 Jul 88 13:41:10 -0700
From: GNU C Compiler <[email protected]>
Message-Id:  <[email protected]>

*** EOOH ***
Return-Path: <[email protected]>
To: bug-gcc <@beanie.ics.uci.edu:[email protected]>
Subject: gcc 1.24 generates bad code with -O option
Date: Sat, 09 Jul 88 13:41:10 -0700
From: GNU C Compiler <[email protected]>

Bug Report for GCC:
-------------------
Problem : Gcc 1.24 generates code that overwrites a register used in a
subsequent instruction.  (this was a *hard* bug to track down!!).  This 
error results in a core dump when the program is executed.  Compiling
*without* -O results in a working program.
	 
1.) Version : gcc 1.24
-----------

2.) Input Program : (* the offending line has been commented below,
along with the corresponding incorrect assembly output *)
-----------------
#undef EXT
#define EXT extern
#define TRUE 1
#define FALSE 0
#define bool char
#undef INIT
#define INIT(x)
#undef DOINIT

typedef struct string STR;

struct string {
    char *	str_ptr;	/* pointer to malloced string */
    double	str_nval;	/* numeric value, if any */
    int		str_len;	/* allocated size */
    int		str_cur;	/* length of str_ptr as a C string */
    union {
	STR *str_next;		/* while free, link to next free str */
    } str_link;
    char	str_pok;	/* state of str_ptr */
    char	str_nok;	/* state of str_nval */
    char	str_rare;	/* used by search strings */
    char	str_prev;	/* also used by search strings */
};
EXT STR str_no;


char *str_2ptr();
double str_2num();
#define str_gnum(str) (Str = (str), (Str->str_nok ? Str->str_nval : str_2num(Str)))
EXT STR *Str;

void do_sprintf();
EXT char buf[1024];

void 
do_sprintf(str,len,sarg)
register STR *str;
register int len;
register STR **sarg;
{
    register char *s;
    register char *t;
    bool dolong;
    char ch;
    static STR *sargnull = &str_no;

    str_set(str,"");
    len--;			/* don't count pattern string */
    sarg++;
    for (s = str_get(*(sarg++)); *s; len--) {
	if (len <= 0 || !*sarg) {
	    sarg = &sargnull;
	    len = 0;
	}
	dolong = FALSE;
	for (t = s; *t && *t != '%'; t++) ;
	if (!*t)
	    break;		/* not enough % patterns, oh well */
	for (t++; *sarg && *t && t != s; t++) {
	    switch (*t) {
	    case '\0':
		t--;
		break;
	    case '%':
		ch = *(++t);
		*t = '\0';
		sprintf(buf,s);
		s = t;
		*(t--) = ch;
		break;
	    case 'l':
		dolong = TRUE;
		break;
	    case 'D': case 'X': case 'O':
		dolong = TRUE;
		/* FALL THROUGH */
	    case 'd': case 'x': case 'o': case 'c': case 'u':
		ch = *(++t);
		*t = '\0';
		if (dolong)
		    sprintf(buf,s,(long)str_gnum(*(sarg++)));
		else
		    sprintf(buf,s,(int)str_gnum(*(sarg++)));
		s = t;
		*(t--) = ch;
		break;
	    case 'E': case 'e': case 'f': case 'G': case 'g':
		ch = *(++t);
		*t = '\0';

   /* the following is the line that gcc messes up on....: */

		sprintf(buf,s,(Str = (*(sarg++)), (Str->str_nok ? Str->str_nval : str_2num(Str))));

   /* here is the incorrect assembly code 

	movd 0(r5),_Str
	addqd 4,r5
	movd _Str,r0
	cmpqb 0,25(r0)
	beq L38
	movd 4(r0),r0 -- notice how the r0 register is overwritten and then
	movd 8(r0),r1 -- reused!!
	br L39
L38:
	movd _Str,tos
	bsr _str_2num
	adjspb -4
	movl f0,tos
	movd tos,r0
	movd tos,r1
L39:
	movd r1,tos
	movd r0,tos
	movd r4,tos
	addr _buf,tos
	bsr _sprintf
	movd r3,r4
	movb r6,0(r4)
	addqd -1,r3
	adjspb -16
	br L14
*/
		s = t;
		*(t--) = ch;
		break;
	    case 's':
		ch = *(++t);
		*t = '\0';
		if (strEQ(s,"%s")) {	/* some printfs fail on >128 chars */
		    *buf = '\0';
		    str_scat(str,*(sarg++));  /* so handle simple case */
		}
		else
		    sprintf(buf,s,str_get(*(sarg++)));
		s = t;
		*(t--) = ch;
		break;
	    }
	}
	str_cat(str,buf);
    }
    if (*s)
	str_cat(str,s);

}

3.) Command Used : gcc -O
----------------

4.) Files used :
--------------
		tm.h -> tm-sequent.h
		md   -> ns32k.md

5.) Machine(s) used :
-------------------
		Sequent Balance 8000    DYNIX (TM)V2.1.1 (BSD 4.2)



1, forwarded,,
Return-Path: <[email protected]>
Received: from prep.ai.mit.edu by life.ai.mit.edu; Fri, 8 Jul 88 21:39:24 EDT
Received: from rome.ics.uci.edu by prep.ai.mit.edu; Thu, 7 Jul 88 17:49:39 EST
Received: from ics.uci.edu by ROME.ICS.UCI.EDU id aa16847; 7 Jul 88 15:56 PDT
Received: from ics.uci.edu by ICS.UCI.EDU id aa06078; 7 Jul 88 15:55 PDT
To: bug-gcc <@beanie.ics.uci.edu:[email protected]>
Subject: bug with gcc 1.24 -O
Date: Thu, 07 Jul 88 15:55:35 -0700
From: GNU C Compiler <[email protected]>
Message-Id:  <[email protected]>

*** EOOH ***
Return-Path: <[email protected]>
To: bug-gcc <@beanie.ics.uci.edu:[email protected]>
Subject: bug with gcc 1.24 -O
Date: Thu, 07 Jul 88 15:55:35 -0700
From: GNU C Compiler <[email protected]>


Bug Report for GCC:
-------------------
Problem : compiling with -O gives fatal signal.
	 
1.) Version : gcc 1.24
-----------

2.) Input Program : (sorry about the size, I couldn't reduce it without
-----------------    the problem disappearing!)

extern	struct	_iobuf {
	int	_cnt;
	char	*_ptr;
	char	*_base;
	int	_bufsiz;
	short	_flag;
	char	_file;
} _iob[20 ];
typedef	char schar;
typedef long integer;
typedef char boolean;
typedef float glueratio;
typedef double real;
typedef struct _iobuf 	*alphafile, *bytefile, *wordfile, *file_ptr;
typedef char	*ccharpointer;
extern integer	ztoint();
char zinputln();	 
# 5 "texd.h"
typedef unsigned char ASCIIcode  ; 
typedef unsigned char eightbits  ; 
typedef integer poolpointer  ; 
typedef integer strnumber  ; 
typedef integer scaled  ; 
typedef integer nonnegativeinteger  ; 
typedef schar smallnumber  ; 
typedef unsigned char quarterword  ; 
typedef unsigned short halfword  ; 
typedef schar twochoices  ; 
typedef schar fourchoices  ; 
# 1 "memory.h"
typedef union {
    struct {
	halfword RH, LH;
    } v;
    struct {
	halfword junk_space;	 
	quarterword B0, B1;
    } u;
} twohalves;
typedef struct {
    struct {
	quarterword B0;
	quarterword B1;
    } u;
    quarterword b2;
    quarterword b3;
} fourquarters;
typedef union {
    integer cint;
    glueratio gr;
    twohalves hh;
    fourquarters qqqq;
} memoryword;
# 38 "texd.h"
typedef schar glueord  ; 
typedef struct {
    short modefield ; 
  halfword headfield, tailfield ; 
  integer pgfield, auxfield, mlfield ; 
} liststaterecord  ; 
typedef schar groupcode  ; 
typedef struct {
    quarterword statefield, indexfield ; 
  halfword startfield, locfield, limitfield, namefield ; 
} instaterecord  ; 
typedef integer internalfontnumber  ; 
typedef integer dviindex  ; 
typedef integer triepointer  ; 
typedef short hyphpointer  ; 
extern  integer bad  ; 
extern  ASCIIcode xord[128]  ; 
extern  char xchr[256]  ; 
extern  char nameoffile[1024  + 1], realnameoffile[1024  + 1]  ; 
extern  integer namelength  ; 
extern  ASCIIcode buffer[2000  + 1]  ; 
extern  integer first  ; 
extern  integer last  ; 
extern  integer maxbufstack  ; 
extern  ASCIIcode strpool[32000L  + 1]  ; 
extern  poolpointer strstart[3000  + 1]  ; 
extern  poolpointer poolptr  ; 
extern  strnumber strptr  ; 
extern  poolpointer initpoolptr  ; 
extern  strnumber initstrptr  ; 
extern  alphafile logfile  ; 
extern  schar selector  ; 
extern  schar dig[23]  ; 
extern  integer tally  ; 
extern  integer termoffset  ; 
extern  integer fileoffset  ; 
extern  ASCIIcode trickbuf[64  + 1]  ; 
extern  integer trickcount  ; 
extern  integer firstcount  ; 
extern  schar interaction  ; 
extern  boolean deletionsallowed  ; 
extern  schar history  ; 
extern  schar errorcount  ; 
extern  strnumber helpline[6]  ; 
extern  schar helpptr  ; 
extern  boolean useerrhelp  ; 
extern  integer interrupt  ; 
extern  boolean OKtointerrupt  ; 
extern  boolean aritherror  ; 
extern  scaled remainder  ; 
extern  halfword tempptr  ; 
extern  memoryword 
  zzzaa[2999L  - 0  + 1]  ; 
extern  halfword lomemmax  ; 
extern  halfword himemmin  ; 
extern  integer varused, dynused  ; 
extern  halfword avail  ; 
extern  halfword memend  ; 
extern  halfword rover  ; 
# 111 "texd.h"
extern  integer fontinshortdisplay  ; 
extern  integer depththreshold  ; 
extern  integer breadthmax  ; 
extern  liststaterecord nest[40  + 1]  ; 
extern  integer nestptr  ; 
extern  integer maxneststack  ; 
extern  liststaterecord curlist  ; 
extern  short shownmode  ; 
extern  schar oldsetting  ; 
extern  memoryword zeqtb[5977]  ; 
extern  quarterword 
  zzzad[710]  ; 
extern  twohalves 
  zzzae[3267]  ; 
extern  halfword hashused  ; 
extern  boolean nonewcontrolsequence  ; 
extern  integer cscount  ; 
extern  memoryword savestack[600  + 1]  ; 
extern  integer saveptr  ; 
extern  integer maxsavestack  ; 
extern  quarterword curlevel  ; 
extern  groupcode curgroup  ; 
extern  integer curboundary  ; 
extern  integer magset  ; 
extern  eightbits curcmd  ; 
extern  halfword curchr  ; 
extern  halfword curcs  ; 
extern  halfword curtok  ; 
extern  instaterecord inputstack[200  + 1]  ; 
extern  integer inputptr  ; 
extern  integer maxinstack  ; 
extern  instaterecord curinput  ; 
extern  integer inopen  ; 
extern  alphafile inputfile[6  + 1]  ; 
extern  integer line  ; 
extern  integer linestack[6  + 1]  ; 
extern  schar scannerstatus  ; 
extern  halfword warningindex  ; 
extern  halfword defref  ; 
extern  halfword paramstack[60  + 1]  ; 
extern  integer paramptr  ; 
extern  integer maxparamstack  ; 
extern  integer alignstate  ; 
extern  integer baseptr  ; 
extern  halfword parloc  ; 
extern  halfword partoken  ; 
extern  boolean forceeof  ; 
extern  halfword curmark[5]  ; 
extern  schar longstate  ; 
extern  halfword pstack[9]  ; 
extern  integer curval  ; 
extern  schar curvallevel  ; 
extern  smallnumber radix  ; 
extern  glueord curorder  ; 
extern  alphafile readfile[16]  ; 
extern  schar readopen[17]  ; 
extern  halfword condptr  ; 
extern  schar iflimit  ; 
extern  smallnumber curif  ; 
extern  integer ifline  ; 
extern  integer skipline  ; 
extern  strnumber curname  ; 
extern  strnumber curarea  ; 
extern  strnumber curext  ; 
extern  poolpointer areadelimiter  ; 
extern  poolpointer extdelimiter  ; 
extern  ccharpointer TEXformatdefault  ; 
extern  boolean nameinprogress  ; 
extern  strnumber jobname  ; 
extern  bytefile dvifile  ; 
extern  strnumber outputfilename  ; 
extern  strnumber logname  ; 
extern  bytefile tfmfile  ; 
extern  memoryword fontinfo[20000L  + 1]  ; 
extern  integer fmemptr  ; 
extern  internalfontnumber fontptr  ; 
extern  fourquarters fontcheck[75  + 1]  ; 
extern  scaled fontsize[75  + 1]  ; 
extern  scaled fontdsize[75  + 1]  ; 
extern  halfword fontparams[75  + 1]  ; 
extern  strnumber fontname[75  + 1]  ; 
extern  strnumber fontarea[75  + 1]  ; 
extern  eightbits fontbc[75  + 1]  ; 
extern  eightbits fontec[75  + 1]  ; 
extern  halfword fontglue[75  + 1]  ; 
extern  boolean fontused[75  + 1]  ; 
extern  integer hyphenchar[75  + 1]  ; 
extern  integer skewchar[75  + 1]  ; 
extern  integer charbase[75  + 1]  ; 
extern  integer widthbase[75  + 1]  ; 
extern  integer heightbase[75  + 1]  ; 
extern  integer depthbase[75  + 1]  ; 
extern  integer italicbase[75  + 1]  ; 
extern  integer ligkernbase[75  + 1]  ; 
extern  integer kernbase[75  + 1]  ; 
extern  integer extenbase[75  + 1]  ; 
extern  integer parambase[75  + 1]  ; 
extern  fourquarters nullcharacter  ; 
extern  integer totalpages  ; 
extern  scaled maxv  ; 
extern  scaled maxh  ; 
extern  integer maxpush  ; 
extern  integer lastbop  ; 
extern  integer deadcycles  ; 
extern  boolean doingleaders  ; 
extern  quarterword c, f  ; 
extern  scaled ruleht, ruledp, rulewd  ; 
extern  halfword g  ; 
extern  integer lq, lr  ; 
extern  eightbits dvibuf[16384  + 1]  ; 
extern  dviindex halfbuf  ; 
extern  dviindex dvilimit  ; 
extern  dviindex dviptr  ; 
extern  integer dvioffset  ; 
extern  integer dvigone  ; 
extern  halfword downptr, rightptr  ; 
extern  scaled dvih, dviv  ; 
extern  scaled curh, curv  ; 
extern  internalfontnumber dvif  ; 
extern  integer curs  ; 
extern  scaled totalstretch[4], totalshrink[4]  ; 
extern  halfword adjusttail  ; 
extern  integer packbeginline  ; 
extern  twohalves emptyfield  ; 
extern  fourquarters nulldelimiter  ; 
extern  halfword curmlist  ; 
extern  smallnumber curstyle  ; 
extern  smallnumber cursize  ; 
extern  scaled curmu  ; 
extern  boolean mlistpenalties  ; 
extern  internalfontnumber curf  ; 
extern  quarterword curc  ; 
extern  fourquarters curi  ; 
extern  integer magicoffset  ; 
extern  halfword curalign  ; 
extern  halfword curspan  ; 
extern  halfword curloop  ; 
extern  halfword alignptr  ; 
extern  halfword curhead, curtail  ; 
extern  halfword justbox  ; 
extern  halfword passive  ; 
extern  halfword printednode  ; 
extern  halfword passnumber  ; 
extern  scaled activewidth[7]  ; 
extern  scaled curactivewidth[7]  ; 
extern  scaled background[7]  ; 
extern  scaled breakwidth[7]  ; 
extern  boolean noshrinkerroryet  ; 
extern  halfword curp  ; 
extern  boolean secondpass  ; 
extern  integer threshold  ; 
extern  scaled minimaldemerits[4]  ; 
extern  scaled minimumdemerits  ; 
extern  halfword bestplace[4]  ; 
extern  halfword bestplline[4]  ; 
extern  scaled discwidth  ; 
extern  halfword easyline  ; 
extern  halfword lastspecialline  ; 
extern  scaled firstwidth  ; 
extern  scaled secondwidth  ; 
extern  scaled firstindent  ; 
extern  scaled secondindent  ; 
extern  halfword bestbet  ; 
extern  integer fewestdemerits  ; 
extern  halfword bestline  ; 
extern  integer actuallooseness  ; 
extern  integer linediff  ; 
extern  halfword hc[66]  ; 
extern  smallnumber hn  ; 
extern  halfword ha, hb  ; 
extern  internalfontnumber hf  ; 
extern  ASCIIcode hu[64]  ; 
extern  integer hyfchar  ; 
extern  schar hyf[65]  ; 
extern  smallnumber hyphenpassed  ; 
extern  twohalves trie[8000  + 1]  ; 
extern  smallnumber hyfdistance[256]  ; 
extern  smallnumber hyfnum[256]  ; 
extern  quarterword hyfnext[256]  ; 
extern  strnumber hyphword[308]  ; 
extern  halfword hyphlist[308]  ; 
extern  hyphpointer hyphcount  ; 
extern  quarterword trieopptr  ; 
extern  triepointer triemax  ; 
extern  scaled bestheightplusdepth  ; 
extern  halfword pagetail  ; 
extern  schar pagecontents  ; 
extern  scaled pagemaxdepth  ; 
extern  halfword bestpagebreak  ; 
extern  integer leastpagecost  ; 
extern  scaled bestsize  ; 
extern  scaled pagesofar[8]  ; 
extern  halfword lastglue  ; 
extern  integer lastpenalty  ; 
extern  scaled lastkern  ; 
extern  integer insertpenalties  ; 
extern  boolean outputactive  ; 
extern  halfword curbox  ; 
extern  halfword aftertoken  ; 
extern  boolean longhelpseen  ; 
extern  strnumber formatident  ; 
extern  wordfile fmtfile  ; 
extern  integer readyalready  ; 
extern  alphafile writefile[16]  ; 
extern  boolean writeopen[18]  ; 
extern  halfword writeloc  ; 
extern  poolpointer editnamestart  ; 
extern  integer editnamelength, editline, tfmtemp  ; 
internalfontnumber zreadfontinfo ( u , nom , aire , s ) 
halfword u ; 
strnumber nom , aire ; 
scaled s ; 
{  register internalfontnumber Result; 
  register memoryword *eqtb=zeqtb;  
  register integer k  ; 
  boolean fileopened  ; 
  register halfword lf, lh, bc, ec, nw, nh, nd, ni, nl, nk, ne, np  ; 
  register internalfontnumber f  ; 
  register internalfontnumber g  ; 
  register eightbits a, b, c, d  ; 
  fourquarters qw  ; 
  register scaled sw  ; 
  register scaled z  ; 
  register integer alpha  ; 
  register schar beta  ; 
  g = 0 ; 
  fileopened = 	0  ; 
  zpackfilename((strnumber)( nom ),(strnumber)( aire ),(strnumber)( 664 ))  ; 
  if ( ! Openin(&( tfmfile ), 3 )  ) 
   ; 
  fileopened = 	1  ; 
  {
    {
      lf = tfmtemp ; 
      if ( lf > 127 ) ;
      tfmtemp = 	(--( tfmfile )->_cnt>=0? *( tfmfile )->_ptr++&0377:_filbuf( tfmfile ))  ; 
      lf = lf * 256 + tfmtemp ; 
    } 
    tfmtemp = 	(--( tfmfile )->_cnt>=0? *( tfmfile )->_ptr++&0377:_filbuf( tfmfile ))  ; 
    {
      lh = tfmtemp ; 
      if ( lh > 127 ) 
       ; 
      tfmtemp = 	(--( tfmfile )->_cnt>=0? *( tfmfile )->_ptr++&0377:_filbuf( tfmfile ))  ; 
      lh = lh * 256 + tfmtemp ; 
    } 
    tfmtemp = 	(--( tfmfile )->_cnt>=0? *( tfmfile )->_ptr++&0377:_filbuf( tfmfile ))  ; 
    {
      bc = tfmtemp ; 
      if ( bc > 127 );

      tfmtemp = 	(--( tfmfile )->_cnt>=0? *( tfmfile )->_ptr++&0377:_filbuf( tfmfile ))  ; 
      bc = bc * 256 + tfmtemp ; 
    } 
    tfmtemp = 	(--( tfmfile )->_cnt>=0? *( tfmfile )->_ptr++&0377:_filbuf( tfmfile ))  ; 
    {
      ec = tfmtemp ; 
      if ( ec > 127 );

      tfmtemp = 	(--( tfmfile )->_cnt>=0? *( tfmfile )->_ptr++&0377:_filbuf( tfmfile ))  ; 
      ec = ec * 256 + tfmtemp ; 
    } 
    if ( ( bc > ec + 1 ) || ( ec > 255 ) );

    tfmtemp = 	(--( tfmfile )->_cnt>=0? *( tfmfile )->_ptr++&0377:_filbuf( tfmfile ))  ; 
    {
      nw = tfmtemp ; 
      if ( nw > 127 );

      tfmtemp = 	(--( tfmfile )->_cnt>=0? *( tfmfile )->_ptr++&0377:_filbuf( tfmfile ))  ; 
      nw = nw * 256 + tfmtemp ; 
    } 
    tfmtemp = 	(--( tfmfile )->_cnt>=0? *( tfmfile )->_ptr++&0377:_filbuf( tfmfile ))  ; 
    {
      nh = tfmtemp ; 
      if ( nh > 127 );

      tfmtemp = 	(--( tfmfile )->_cnt>=0? *( tfmfile )->_ptr++&0377:_filbuf( tfmfile ))  ; 
      nh = nh * 256 + tfmtemp ; 
    } 
    tfmtemp = 	(--( tfmfile )->_cnt>=0? *( tfmfile )->_ptr++&0377:_filbuf( tfmfile ))  ; 
    {
      nd = tfmtemp ; 
      if ( nd > 127 ) 
       ; 
      tfmtemp = 	(--( tfmfile )->_cnt>=0? *( tfmfile )->_ptr++&0377:_filbuf( tfmfile ))  ; 
      nd = nd * 256 + tfmtemp ; 
    } 
    tfmtemp = 	(--( tfmfile )->_cnt>=0? *( tfmfile )->_ptr++&0377:_filbuf( tfmfile ))  ; 
    {
      ni = tfmtemp ; 
      if ( ni > 127 ) 
       ; 
      tfmtemp = 	(--( tfmfile )->_cnt>=0? *( tfmfile )->_ptr++&0377:_filbuf( tfmfile ))  ; 
      ni = ni * 256 + tfmtemp ; 
    } 
    tfmtemp = 	(--( tfmfile )->_cnt>=0? *( tfmfile )->_ptr++&0377:_filbuf( tfmfile ))  ; 
    {
      nl = tfmtemp ; 
      if ( nl > 127 ) 
       ; 
      tfmtemp = 	(--( tfmfile )->_cnt>=0? *( tfmfile )->_ptr++&0377:_filbuf( tfmfile ))  ; 
      nl = nl * 256 + tfmtemp ; 
    } 
    tfmtemp = 	(--( tfmfile )->_cnt>=0? *( tfmfile )->_ptr++&0377:_filbuf( tfmfile ))  ; 
    {
      nk = tfmtemp ; 
      if ( nk > 127 ) 
       ; 
      tfmtemp = 	(--( tfmfile )->_cnt>=0? *( tfmfile )->_ptr++&0377:_filbuf( tfmfile ))  ; 
      nk = nk * 256 + tfmtemp ; 
    } 
    tfmtemp = 	(--( tfmfile )->_cnt>=0? *( tfmfile )->_ptr++&0377:_filbuf( tfmfile ))  ; 
    {
      ne = tfmtemp ; 
      if ( ne > 127 ) 
       ; 
      tfmtemp = 	(--( tfmfile )->_cnt>=0? *( tfmfile )->_ptr++&0377:_filbuf( tfmfile ))  ; 
      ne = ne * 256 + tfmtemp ; 
    } 
    tfmtemp = 	(--( tfmfile )->_cnt>=0? *( tfmfile )->_ptr++&0377:_filbuf( tfmfile ))  ; 
    {
      np = tfmtemp ; 
      if ( np > 127 ) 
       ; 
      tfmtemp = 	(--( tfmfile )->_cnt>=0? *( tfmfile )->_ptr++&0377:_filbuf( tfmfile ))  ; 
      np = np * 256 + tfmtemp ; 
    } 
    if ( lf != 6 + lh + ( ec - bc + 1 ) + nw + nh + nd + ni + nl + nk + ne + 
    np ) 
     ; 
  }

  lf = lf - 6 - lh ; 
  if ( np < 7 ) 
  lf = lf + 7 - np ; 
  if ( ( fontptr == 75  ) || ( fmemptr + lf > 20000L  ) ) 
  {
    {
      if ( interaction == 3 ) 
      wakeupterminal () ; 
      zprintnl((strnumber)( 133 ))  ; 
      zprint((integer)( 655 ))  ; 
    } 
    zsprintcs((halfword)( u ))  ; 
    zprintchar((ASCIIcode)( 61 ))  ; 
    zprintfilename((integer)( nom ),(integer)( aire ),(integer)( 206 ))  ; 
    if ( s >= 0 ) 
    {
      zprint((integer)( 598 ))  ; 
      zprintscaled((scaled)( s ))  ; 
      zprint((integer)( 262 ))  ; 
    } 
    else if ( s != -1000 ) 
    {
      zprint((integer)( 656 ))  ; 
      zprintint((integer)( - (integer) s ))  ; 
    } 
    zprint((integer)( 665 ))  ; 
    {
      helpptr = 4 ; 
      helpline [ 3 ] = 666 ; 
      helpline [ 2 ] = 667 ; 
      helpline [ 1 ] = 668 ; 
      helpline [ 0 ] = 669 ; 
    } 
    error () ; 
  } 
  f = fontptr + 1 ; 
  charbase [ f ] = fmemptr - bc ; 
  widthbase [ f ] = charbase [ f ] + ec + 1 ; 
  heightbase [ f ] = widthbase [ f ] + nw ; 
  depthbase [ f ] = heightbase [ f ] + nh ; 
  italicbase [ f ] = depthbase [ f ] + nd ; 
  ligkernbase [ f ] = italicbase [ f ] + ni ; 
  kernbase [ f ] = ligkernbase [ f ] + nl ; 
  extenbase [ f ] = kernbase [ f ] + nk ; 
  parambase [ f ] = extenbase [ f ] + ne ; 
  {
    if ( lh < 2 ) 
     ; 
    {
      tfmtemp = 	(--( tfmfile )->_cnt>=0? *( tfmfile )->_ptr++&0377:_filbuf( tfmfile ))  ; 
      a = tfmtemp ; 
      qw .u.B0  = a ; 
      tfmtemp = 	(--( tfmfile )->_cnt>=0? *( tfmfile )->_ptr++&0377:_filbuf( tfmfile ))  ; 
      b = tfmtemp ; 
      qw .u.B1  = b ; 
      tfmtemp = 	(--( tfmfile )->_cnt>=0? *( tfmfile )->_ptr++&0377:_filbuf( tfmfile ))  ; 
      c = tfmtemp ; 
      qw .b2 = c ; 
      tfmtemp = 	(--( tfmfile )->_cnt>=0? *( tfmfile )->_ptr++&0377:_filbuf( tfmfile ))  ; 
      d = tfmtemp ; 
      qw .b3 = d ; 
      fontcheck [ f ] = qw ; 
    } 
    tfmtemp = 	(--( tfmfile )->_cnt>=0? *( tfmfile )->_ptr++&0377:_filbuf( tfmfile ))  ; 
    {
      z = tfmtemp ; 
      if ( z > 127 ) 
       ; 
      tfmtemp = 	(--( tfmfile )->_cnt>=0? *( tfmfile )->_ptr++&0377:_filbuf( tfmfile ))  ; 
      z = z * 256 + tfmtemp ; 
    } 
    tfmtemp = 	(--( tfmfile )->_cnt>=0? *( tfmfile )->_ptr++&0377:_filbuf( tfmfile ))  ; 
    z = z * 256 + tfmtemp ; 
    tfmtemp = 	(--( tfmfile )->_cnt>=0? *( tfmfile )->_ptr++&0377:_filbuf( tfmfile ))  ; 
    z = ( z * 16 ) + ( tfmtemp / 16 ) ; 
    if ( z < 65536L ) 
     ; 
    fontdsize [ f ] = z ; 
    if ( s != -1000 ) 
    if ( s >= 0 ) 
    z = s ; 
    else z = zxnoverd((scaled)( z ),(integer)( - (integer) s ),(integer)( 1000 ))  ; 
    fontsize [ f ] = z ; 
  }
}
3.) Command Used : gcc 
----------------

4.) Files used :
--------------
		tm.h -> tm-sequent.h
		md   -> ns32k.md

5.) Machine(s) used :
-------------------
		Sequent Balance 8000    DYNIX (TM)V2.1.1 (BSD 4.2)

6.) Incorrect behaviour :
-----------------------

Compiler dies someplace during the compilation process.

7.) Compiler diagnostics :
------------------------

 /usr/local/lib/gcc-cpp -v -undef -D__GNU__ -D__GNUC__ -Dns32000 -Dsequent -Dunix -D__OPTIMIZE__ tex-bug.1.24.c /tmp/cc006049.cpp
GNU CPP version 1.24
 /usr/local/lib/gcc-cc1 /tmp/cc006049.cpp -quiet -dumpbase tex-bug.1.24.c -O -version -o /tmp/cc006049.s
gcc: Program cc1 got fatal signal 4.
gcc version 1.24



unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.