|
|
1.1 root 1: BABYL OPTIONS:
2: Version: 5
3: Labels:
4: Note: This is the header of an rmail file.
5: Note: If you are seeing it in rmail,
6: Note: it means the file has no messages in it.
7:
8: 1, forwarded,,
9: Return-Path: <[email protected]>
10: Received: from prep.ai.mit.edu by life.ai.mit.edu; Sat, 9 Jul 88 16:55:47 EDT
11: Received: from rome.ics.uci.edu by prep.ai.mit.edu; Sat, 9 Jul 88 15:31:05 EST
12: Received: from ics.uci.edu by ROME.ICS.UCI.EDU id aa29221; 9 Jul 88 13:40 PDT
13: Received: from ics.uci.edu by ICS.UCI.EDU id aa26668; 9 Jul 88 13:41 PDT
14: To: bug-gcc <@beanie.ics.uci.edu:[email protected]>
15: Subject: gcc 1.24 generates bad code with -O option
16: Date: Sat, 09 Jul 88 13:41:10 -0700
17: From: GNU C Compiler <[email protected]>
18: Message-Id: <[email protected]>
19:
20: *** EOOH ***
21: Return-Path: <[email protected]>
22: To: bug-gcc <@beanie.ics.uci.edu:[email protected]>
23: Subject: gcc 1.24 generates bad code with -O option
24: Date: Sat, 09 Jul 88 13:41:10 -0700
25: From: GNU C Compiler <[email protected]>
26:
27: Bug Report for GCC:
28: -------------------
29: Problem : Gcc 1.24 generates code that overwrites a register used in a
30: subsequent instruction. (this was a *hard* bug to track down!!). This
31: error results in a core dump when the program is executed. Compiling
32: *without* -O results in a working program.
33:
34: 1.) Version : gcc 1.24
35: -----------
36:
37: 2.) Input Program : (* the offending line has been commented below,
38: along with the corresponding incorrect assembly output *)
39: -----------------
40: #undef EXT
41: #define EXT extern
42: #define TRUE 1
43: #define FALSE 0
44: #define bool char
45: #undef INIT
46: #define INIT(x)
47: #undef DOINIT
48:
49: typedef struct string STR;
50:
51: struct string {
52: char * str_ptr; /* pointer to malloced string */
53: double str_nval; /* numeric value, if any */
54: int str_len; /* allocated size */
55: int str_cur; /* length of str_ptr as a C string */
56: union {
57: STR *str_next; /* while free, link to next free str */
58: } str_link;
59: char str_pok; /* state of str_ptr */
60: char str_nok; /* state of str_nval */
61: char str_rare; /* used by search strings */
62: char str_prev; /* also used by search strings */
63: };
64: EXT STR str_no;
65:
66:
67: char *str_2ptr();
68: double str_2num();
69: #define str_gnum(str) (Str = (str), (Str->str_nok ? Str->str_nval : str_2num(Str)))
70: EXT STR *Str;
71:
72: void do_sprintf();
73: EXT char buf[1024];
74:
75: void
76: do_sprintf(str,len,sarg)
77: register STR *str;
78: register int len;
79: register STR **sarg;
80: {
81: register char *s;
82: register char *t;
83: bool dolong;
84: char ch;
85: static STR *sargnull = &str_no;
86:
87: str_set(str,"");
88: len--; /* don't count pattern string */
89: sarg++;
90: for (s = str_get(*(sarg++)); *s; len--) {
91: if (len <= 0 || !*sarg) {
92: sarg = &sargnull;
93: len = 0;
94: }
95: dolong = FALSE;
96: for (t = s; *t && *t != '%'; t++) ;
97: if (!*t)
98: break; /* not enough % patterns, oh well */
99: for (t++; *sarg && *t && t != s; t++) {
100: switch (*t) {
101: case '\0':
102: t--;
103: break;
104: case '%':
105: ch = *(++t);
106: *t = '\0';
107: sprintf(buf,s);
108: s = t;
109: *(t--) = ch;
110: break;
111: case 'l':
112: dolong = TRUE;
113: break;
114: case 'D': case 'X': case 'O':
115: dolong = TRUE;
116: /* FALL THROUGH */
117: case 'd': case 'x': case 'o': case 'c': case 'u':
118: ch = *(++t);
119: *t = '\0';
120: if (dolong)
121: sprintf(buf,s,(long)str_gnum(*(sarg++)));
122: else
123: sprintf(buf,s,(int)str_gnum(*(sarg++)));
124: s = t;
125: *(t--) = ch;
126: break;
127: case 'E': case 'e': case 'f': case 'G': case 'g':
128: ch = *(++t);
129: *t = '\0';
130:
131: /* the following is the line that gcc messes up on....: */
132:
133: sprintf(buf,s,(Str = (*(sarg++)), (Str->str_nok ? Str->str_nval : str_2num(Str))));
134:
135: /* here is the incorrect assembly code
136:
137: movd 0(r5),_Str
138: addqd 4,r5
139: movd _Str,r0
140: cmpqb 0,25(r0)
141: beq L38
142: movd 4(r0),r0 -- notice how the r0 register is overwritten and then
143: movd 8(r0),r1 -- reused!!
144: br L39
145: L38:
146: movd _Str,tos
147: bsr _str_2num
148: adjspb -4
149: movl f0,tos
150: movd tos,r0
151: movd tos,r1
152: L39:
153: movd r1,tos
154: movd r0,tos
155: movd r4,tos
156: addr _buf,tos
157: bsr _sprintf
158: movd r3,r4
159: movb r6,0(r4)
160: addqd -1,r3
161: adjspb -16
162: br L14
163: */
164: s = t;
165: *(t--) = ch;
166: break;
167: case 's':
168: ch = *(++t);
169: *t = '\0';
170: if (strEQ(s,"%s")) { /* some printfs fail on >128 chars */
171: *buf = '\0';
172: str_scat(str,*(sarg++)); /* so handle simple case */
173: }
174: else
175: sprintf(buf,s,str_get(*(sarg++)));
176: s = t;
177: *(t--) = ch;
178: break;
179: }
180: }
181: str_cat(str,buf);
182: }
183: if (*s)
184: str_cat(str,s);
185:
186: }
187:
188: 3.) Command Used : gcc -O
189: ----------------
190:
191: 4.) Files used :
192: --------------
193: tm.h -> tm-sequent.h
194: md -> ns32k.md
195:
196: 5.) Machine(s) used :
197: -------------------
198: Sequent Balance 8000 DYNIX (TM)V2.1.1 (BSD 4.2)
199:
200:
201:
202: 1, forwarded,,
203: Return-Path: <[email protected]>
204: Received: from prep.ai.mit.edu by life.ai.mit.edu; Fri, 8 Jul 88 21:39:24 EDT
205: Received: from rome.ics.uci.edu by prep.ai.mit.edu; Thu, 7 Jul 88 17:49:39 EST
206: Received: from ics.uci.edu by ROME.ICS.UCI.EDU id aa16847; 7 Jul 88 15:56 PDT
207: Received: from ics.uci.edu by ICS.UCI.EDU id aa06078; 7 Jul 88 15:55 PDT
208: To: bug-gcc <@beanie.ics.uci.edu:[email protected]>
209: Subject: bug with gcc 1.24 -O
210: Date: Thu, 07 Jul 88 15:55:35 -0700
211: From: GNU C Compiler <[email protected]>
212: Message-Id: <[email protected]>
213:
214: *** EOOH ***
215: Return-Path: <[email protected]>
216: To: bug-gcc <@beanie.ics.uci.edu:[email protected]>
217: Subject: bug with gcc 1.24 -O
218: Date: Thu, 07 Jul 88 15:55:35 -0700
219: From: GNU C Compiler <[email protected]>
220:
221:
222: Bug Report for GCC:
223: -------------------
224: Problem : compiling with -O gives fatal signal.
225:
226: 1.) Version : gcc 1.24
227: -----------
228:
229: 2.) Input Program : (sorry about the size, I couldn't reduce it without
230: ----------------- the problem disappearing!)
231:
232: extern struct _iobuf {
233: int _cnt;
234: char *_ptr;
235: char *_base;
236: int _bufsiz;
237: short _flag;
238: char _file;
239: } _iob[20 ];
240: typedef char schar;
241: typedef long integer;
242: typedef char boolean;
243: typedef float glueratio;
244: typedef double real;
245: typedef struct _iobuf *alphafile, *bytefile, *wordfile, *file_ptr;
246: typedef char *ccharpointer;
247: extern integer ztoint();
248: char zinputln();
249: # 5 "texd.h"
250: typedef unsigned char ASCIIcode ;
251: typedef unsigned char eightbits ;
252: typedef integer poolpointer ;
253: typedef integer strnumber ;
254: typedef integer scaled ;
255: typedef integer nonnegativeinteger ;
256: typedef schar smallnumber ;
257: typedef unsigned char quarterword ;
258: typedef unsigned short halfword ;
259: typedef schar twochoices ;
260: typedef schar fourchoices ;
261: # 1 "memory.h"
262: typedef union {
263: struct {
264: halfword RH, LH;
265: } v;
266: struct {
267: halfword junk_space;
268: quarterword B0, B1;
269: } u;
270: } twohalves;
271: typedef struct {
272: struct {
273: quarterword B0;
274: quarterword B1;
275: } u;
276: quarterword b2;
277: quarterword b3;
278: } fourquarters;
279: typedef union {
280: integer cint;
281: glueratio gr;
282: twohalves hh;
283: fourquarters qqqq;
284: } memoryword;
285: # 38 "texd.h"
286: typedef schar glueord ;
287: typedef struct {
288: short modefield ;
289: halfword headfield, tailfield ;
290: integer pgfield, auxfield, mlfield ;
291: } liststaterecord ;
292: typedef schar groupcode ;
293: typedef struct {
294: quarterword statefield, indexfield ;
295: halfword startfield, locfield, limitfield, namefield ;
296: } instaterecord ;
297: typedef integer internalfontnumber ;
298: typedef integer dviindex ;
299: typedef integer triepointer ;
300: typedef short hyphpointer ;
301: extern integer bad ;
302: extern ASCIIcode xord[128] ;
303: extern char xchr[256] ;
304: extern char nameoffile[1024 + 1], realnameoffile[1024 + 1] ;
305: extern integer namelength ;
306: extern ASCIIcode buffer[2000 + 1] ;
307: extern integer first ;
308: extern integer last ;
309: extern integer maxbufstack ;
310: extern ASCIIcode strpool[32000L + 1] ;
311: extern poolpointer strstart[3000 + 1] ;
312: extern poolpointer poolptr ;
313: extern strnumber strptr ;
314: extern poolpointer initpoolptr ;
315: extern strnumber initstrptr ;
316: extern alphafile logfile ;
317: extern schar selector ;
318: extern schar dig[23] ;
319: extern integer tally ;
320: extern integer termoffset ;
321: extern integer fileoffset ;
322: extern ASCIIcode trickbuf[64 + 1] ;
323: extern integer trickcount ;
324: extern integer firstcount ;
325: extern schar interaction ;
326: extern boolean deletionsallowed ;
327: extern schar history ;
328: extern schar errorcount ;
329: extern strnumber helpline[6] ;
330: extern schar helpptr ;
331: extern boolean useerrhelp ;
332: extern integer interrupt ;
333: extern boolean OKtointerrupt ;
334: extern boolean aritherror ;
335: extern scaled remainder ;
336: extern halfword tempptr ;
337: extern memoryword
338: zzzaa[2999L - 0 + 1] ;
339: extern halfword lomemmax ;
340: extern halfword himemmin ;
341: extern integer varused, dynused ;
342: extern halfword avail ;
343: extern halfword memend ;
344: extern halfword rover ;
345: # 111 "texd.h"
346: extern integer fontinshortdisplay ;
347: extern integer depththreshold ;
348: extern integer breadthmax ;
349: extern liststaterecord nest[40 + 1] ;
350: extern integer nestptr ;
351: extern integer maxneststack ;
352: extern liststaterecord curlist ;
353: extern short shownmode ;
354: extern schar oldsetting ;
355: extern memoryword zeqtb[5977] ;
356: extern quarterword
357: zzzad[710] ;
358: extern twohalves
359: zzzae[3267] ;
360: extern halfword hashused ;
361: extern boolean nonewcontrolsequence ;
362: extern integer cscount ;
363: extern memoryword savestack[600 + 1] ;
364: extern integer saveptr ;
365: extern integer maxsavestack ;
366: extern quarterword curlevel ;
367: extern groupcode curgroup ;
368: extern integer curboundary ;
369: extern integer magset ;
370: extern eightbits curcmd ;
371: extern halfword curchr ;
372: extern halfword curcs ;
373: extern halfword curtok ;
374: extern instaterecord inputstack[200 + 1] ;
375: extern integer inputptr ;
376: extern integer maxinstack ;
377: extern instaterecord curinput ;
378: extern integer inopen ;
379: extern alphafile inputfile[6 + 1] ;
380: extern integer line ;
381: extern integer linestack[6 + 1] ;
382: extern schar scannerstatus ;
383: extern halfword warningindex ;
384: extern halfword defref ;
385: extern halfword paramstack[60 + 1] ;
386: extern integer paramptr ;
387: extern integer maxparamstack ;
388: extern integer alignstate ;
389: extern integer baseptr ;
390: extern halfword parloc ;
391: extern halfword partoken ;
392: extern boolean forceeof ;
393: extern halfword curmark[5] ;
394: extern schar longstate ;
395: extern halfword pstack[9] ;
396: extern integer curval ;
397: extern schar curvallevel ;
398: extern smallnumber radix ;
399: extern glueord curorder ;
400: extern alphafile readfile[16] ;
401: extern schar readopen[17] ;
402: extern halfword condptr ;
403: extern schar iflimit ;
404: extern smallnumber curif ;
405: extern integer ifline ;
406: extern integer skipline ;
407: extern strnumber curname ;
408: extern strnumber curarea ;
409: extern strnumber curext ;
410: extern poolpointer areadelimiter ;
411: extern poolpointer extdelimiter ;
412: extern ccharpointer TEXformatdefault ;
413: extern boolean nameinprogress ;
414: extern strnumber jobname ;
415: extern bytefile dvifile ;
416: extern strnumber outputfilename ;
417: extern strnumber logname ;
418: extern bytefile tfmfile ;
419: extern memoryword fontinfo[20000L + 1] ;
420: extern integer fmemptr ;
421: extern internalfontnumber fontptr ;
422: extern fourquarters fontcheck[75 + 1] ;
423: extern scaled fontsize[75 + 1] ;
424: extern scaled fontdsize[75 + 1] ;
425: extern halfword fontparams[75 + 1] ;
426: extern strnumber fontname[75 + 1] ;
427: extern strnumber fontarea[75 + 1] ;
428: extern eightbits fontbc[75 + 1] ;
429: extern eightbits fontec[75 + 1] ;
430: extern halfword fontglue[75 + 1] ;
431: extern boolean fontused[75 + 1] ;
432: extern integer hyphenchar[75 + 1] ;
433: extern integer skewchar[75 + 1] ;
434: extern integer charbase[75 + 1] ;
435: extern integer widthbase[75 + 1] ;
436: extern integer heightbase[75 + 1] ;
437: extern integer depthbase[75 + 1] ;
438: extern integer italicbase[75 + 1] ;
439: extern integer ligkernbase[75 + 1] ;
440: extern integer kernbase[75 + 1] ;
441: extern integer extenbase[75 + 1] ;
442: extern integer parambase[75 + 1] ;
443: extern fourquarters nullcharacter ;
444: extern integer totalpages ;
445: extern scaled maxv ;
446: extern scaled maxh ;
447: extern integer maxpush ;
448: extern integer lastbop ;
449: extern integer deadcycles ;
450: extern boolean doingleaders ;
451: extern quarterword c, f ;
452: extern scaled ruleht, ruledp, rulewd ;
453: extern halfword g ;
454: extern integer lq, lr ;
455: extern eightbits dvibuf[16384 + 1] ;
456: extern dviindex halfbuf ;
457: extern dviindex dvilimit ;
458: extern dviindex dviptr ;
459: extern integer dvioffset ;
460: extern integer dvigone ;
461: extern halfword downptr, rightptr ;
462: extern scaled dvih, dviv ;
463: extern scaled curh, curv ;
464: extern internalfontnumber dvif ;
465: extern integer curs ;
466: extern scaled totalstretch[4], totalshrink[4] ;
467: extern halfword adjusttail ;
468: extern integer packbeginline ;
469: extern twohalves emptyfield ;
470: extern fourquarters nulldelimiter ;
471: extern halfword curmlist ;
472: extern smallnumber curstyle ;
473: extern smallnumber cursize ;
474: extern scaled curmu ;
475: extern boolean mlistpenalties ;
476: extern internalfontnumber curf ;
477: extern quarterword curc ;
478: extern fourquarters curi ;
479: extern integer magicoffset ;
480: extern halfword curalign ;
481: extern halfword curspan ;
482: extern halfword curloop ;
483: extern halfword alignptr ;
484: extern halfword curhead, curtail ;
485: extern halfword justbox ;
486: extern halfword passive ;
487: extern halfword printednode ;
488: extern halfword passnumber ;
489: extern scaled activewidth[7] ;
490: extern scaled curactivewidth[7] ;
491: extern scaled background[7] ;
492: extern scaled breakwidth[7] ;
493: extern boolean noshrinkerroryet ;
494: extern halfword curp ;
495: extern boolean secondpass ;
496: extern integer threshold ;
497: extern scaled minimaldemerits[4] ;
498: extern scaled minimumdemerits ;
499: extern halfword bestplace[4] ;
500: extern halfword bestplline[4] ;
501: extern scaled discwidth ;
502: extern halfword easyline ;
503: extern halfword lastspecialline ;
504: extern scaled firstwidth ;
505: extern scaled secondwidth ;
506: extern scaled firstindent ;
507: extern scaled secondindent ;
508: extern halfword bestbet ;
509: extern integer fewestdemerits ;
510: extern halfword bestline ;
511: extern integer actuallooseness ;
512: extern integer linediff ;
513: extern halfword hc[66] ;
514: extern smallnumber hn ;
515: extern halfword ha, hb ;
516: extern internalfontnumber hf ;
517: extern ASCIIcode hu[64] ;
518: extern integer hyfchar ;
519: extern schar hyf[65] ;
520: extern smallnumber hyphenpassed ;
521: extern twohalves trie[8000 + 1] ;
522: extern smallnumber hyfdistance[256] ;
523: extern smallnumber hyfnum[256] ;
524: extern quarterword hyfnext[256] ;
525: extern strnumber hyphword[308] ;
526: extern halfword hyphlist[308] ;
527: extern hyphpointer hyphcount ;
528: extern quarterword trieopptr ;
529: extern triepointer triemax ;
530: extern scaled bestheightplusdepth ;
531: extern halfword pagetail ;
532: extern schar pagecontents ;
533: extern scaled pagemaxdepth ;
534: extern halfword bestpagebreak ;
535: extern integer leastpagecost ;
536: extern scaled bestsize ;
537: extern scaled pagesofar[8] ;
538: extern halfword lastglue ;
539: extern integer lastpenalty ;
540: extern scaled lastkern ;
541: extern integer insertpenalties ;
542: extern boolean outputactive ;
543: extern halfword curbox ;
544: extern halfword aftertoken ;
545: extern boolean longhelpseen ;
546: extern strnumber formatident ;
547: extern wordfile fmtfile ;
548: extern integer readyalready ;
549: extern alphafile writefile[16] ;
550: extern boolean writeopen[18] ;
551: extern halfword writeloc ;
552: extern poolpointer editnamestart ;
553: extern integer editnamelength, editline, tfmtemp ;
554: internalfontnumber zreadfontinfo ( u , nom , aire , s )
555: halfword u ;
556: strnumber nom , aire ;
557: scaled s ;
558: { register internalfontnumber Result;
559: register memoryword *eqtb=zeqtb;
560: register integer k ;
561: boolean fileopened ;
562: register halfword lf, lh, bc, ec, nw, nh, nd, ni, nl, nk, ne, np ;
563: register internalfontnumber f ;
564: register internalfontnumber g ;
565: register eightbits a, b, c, d ;
566: fourquarters qw ;
567: register scaled sw ;
568: register scaled z ;
569: register integer alpha ;
570: register schar beta ;
571: g = 0 ;
572: fileopened = 0 ;
573: zpackfilename((strnumber)( nom ),(strnumber)( aire ),(strnumber)( 664 )) ;
574: if ( ! Openin(&( tfmfile ), 3 ) )
575: ;
576: fileopened = 1 ;
577: {
578: {
579: lf = tfmtemp ;
580: if ( lf > 127 ) ;
581: tfmtemp = (--( tfmfile )->_cnt>=0? *( tfmfile )->_ptr++&0377:_filbuf( tfmfile )) ;
582: lf = lf * 256 + tfmtemp ;
583: }
584: tfmtemp = (--( tfmfile )->_cnt>=0? *( tfmfile )->_ptr++&0377:_filbuf( tfmfile )) ;
585: {
586: lh = tfmtemp ;
587: if ( lh > 127 )
588: ;
589: tfmtemp = (--( tfmfile )->_cnt>=0? *( tfmfile )->_ptr++&0377:_filbuf( tfmfile )) ;
590: lh = lh * 256 + tfmtemp ;
591: }
592: tfmtemp = (--( tfmfile )->_cnt>=0? *( tfmfile )->_ptr++&0377:_filbuf( tfmfile )) ;
593: {
594: bc = tfmtemp ;
595: if ( bc > 127 );
596:
597: tfmtemp = (--( tfmfile )->_cnt>=0? *( tfmfile )->_ptr++&0377:_filbuf( tfmfile )) ;
598: bc = bc * 256 + tfmtemp ;
599: }
600: tfmtemp = (--( tfmfile )->_cnt>=0? *( tfmfile )->_ptr++&0377:_filbuf( tfmfile )) ;
601: {
602: ec = tfmtemp ;
603: if ( ec > 127 );
604:
605: tfmtemp = (--( tfmfile )->_cnt>=0? *( tfmfile )->_ptr++&0377:_filbuf( tfmfile )) ;
606: ec = ec * 256 + tfmtemp ;
607: }
608: if ( ( bc > ec + 1 ) || ( ec > 255 ) );
609:
610: tfmtemp = (--( tfmfile )->_cnt>=0? *( tfmfile )->_ptr++&0377:_filbuf( tfmfile )) ;
611: {
612: nw = tfmtemp ;
613: if ( nw > 127 );
614:
615: tfmtemp = (--( tfmfile )->_cnt>=0? *( tfmfile )->_ptr++&0377:_filbuf( tfmfile )) ;
616: nw = nw * 256 + tfmtemp ;
617: }
618: tfmtemp = (--( tfmfile )->_cnt>=0? *( tfmfile )->_ptr++&0377:_filbuf( tfmfile )) ;
619: {
620: nh = tfmtemp ;
621: if ( nh > 127 );
622:
623: tfmtemp = (--( tfmfile )->_cnt>=0? *( tfmfile )->_ptr++&0377:_filbuf( tfmfile )) ;
624: nh = nh * 256 + tfmtemp ;
625: }
626: tfmtemp = (--( tfmfile )->_cnt>=0? *( tfmfile )->_ptr++&0377:_filbuf( tfmfile )) ;
627: {
628: nd = tfmtemp ;
629: if ( nd > 127 )
630: ;
631: tfmtemp = (--( tfmfile )->_cnt>=0? *( tfmfile )->_ptr++&0377:_filbuf( tfmfile )) ;
632: nd = nd * 256 + tfmtemp ;
633: }
634: tfmtemp = (--( tfmfile )->_cnt>=0? *( tfmfile )->_ptr++&0377:_filbuf( tfmfile )) ;
635: {
636: ni = tfmtemp ;
637: if ( ni > 127 )
638: ;
639: tfmtemp = (--( tfmfile )->_cnt>=0? *( tfmfile )->_ptr++&0377:_filbuf( tfmfile )) ;
640: ni = ni * 256 + tfmtemp ;
641: }
642: tfmtemp = (--( tfmfile )->_cnt>=0? *( tfmfile )->_ptr++&0377:_filbuf( tfmfile )) ;
643: {
644: nl = tfmtemp ;
645: if ( nl > 127 )
646: ;
647: tfmtemp = (--( tfmfile )->_cnt>=0? *( tfmfile )->_ptr++&0377:_filbuf( tfmfile )) ;
648: nl = nl * 256 + tfmtemp ;
649: }
650: tfmtemp = (--( tfmfile )->_cnt>=0? *( tfmfile )->_ptr++&0377:_filbuf( tfmfile )) ;
651: {
652: nk = tfmtemp ;
653: if ( nk > 127 )
654: ;
655: tfmtemp = (--( tfmfile )->_cnt>=0? *( tfmfile )->_ptr++&0377:_filbuf( tfmfile )) ;
656: nk = nk * 256 + tfmtemp ;
657: }
658: tfmtemp = (--( tfmfile )->_cnt>=0? *( tfmfile )->_ptr++&0377:_filbuf( tfmfile )) ;
659: {
660: ne = tfmtemp ;
661: if ( ne > 127 )
662: ;
663: tfmtemp = (--( tfmfile )->_cnt>=0? *( tfmfile )->_ptr++&0377:_filbuf( tfmfile )) ;
664: ne = ne * 256 + tfmtemp ;
665: }
666: tfmtemp = (--( tfmfile )->_cnt>=0? *( tfmfile )->_ptr++&0377:_filbuf( tfmfile )) ;
667: {
668: np = tfmtemp ;
669: if ( np > 127 )
670: ;
671: tfmtemp = (--( tfmfile )->_cnt>=0? *( tfmfile )->_ptr++&0377:_filbuf( tfmfile )) ;
672: np = np * 256 + tfmtemp ;
673: }
674: if ( lf != 6 + lh + ( ec - bc + 1 ) + nw + nh + nd + ni + nl + nk + ne +
675: np )
676: ;
677: }
678:
679: lf = lf - 6 - lh ;
680: if ( np < 7 )
681: lf = lf + 7 - np ;
682: if ( ( fontptr == 75 ) || ( fmemptr + lf > 20000L ) )
683: {
684: {
685: if ( interaction == 3 )
686: wakeupterminal () ;
687: zprintnl((strnumber)( 133 )) ;
688: zprint((integer)( 655 )) ;
689: }
690: zsprintcs((halfword)( u )) ;
691: zprintchar((ASCIIcode)( 61 )) ;
692: zprintfilename((integer)( nom ),(integer)( aire ),(integer)( 206 )) ;
693: if ( s >= 0 )
694: {
695: zprint((integer)( 598 )) ;
696: zprintscaled((scaled)( s )) ;
697: zprint((integer)( 262 )) ;
698: }
699: else if ( s != -1000 )
700: {
701: zprint((integer)( 656 )) ;
702: zprintint((integer)( - (integer) s )) ;
703: }
704: zprint((integer)( 665 )) ;
705: {
706: helpptr = 4 ;
707: helpline [ 3 ] = 666 ;
708: helpline [ 2 ] = 667 ;
709: helpline [ 1 ] = 668 ;
710: helpline [ 0 ] = 669 ;
711: }
712: error () ;
713: }
714: f = fontptr + 1 ;
715: charbase [ f ] = fmemptr - bc ;
716: widthbase [ f ] = charbase [ f ] + ec + 1 ;
717: heightbase [ f ] = widthbase [ f ] + nw ;
718: depthbase [ f ] = heightbase [ f ] + nh ;
719: italicbase [ f ] = depthbase [ f ] + nd ;
720: ligkernbase [ f ] = italicbase [ f ] + ni ;
721: kernbase [ f ] = ligkernbase [ f ] + nl ;
722: extenbase [ f ] = kernbase [ f ] + nk ;
723: parambase [ f ] = extenbase [ f ] + ne ;
724: {
725: if ( lh < 2 )
726: ;
727: {
728: tfmtemp = (--( tfmfile )->_cnt>=0? *( tfmfile )->_ptr++&0377:_filbuf( tfmfile )) ;
729: a = tfmtemp ;
730: qw .u.B0 = a ;
731: tfmtemp = (--( tfmfile )->_cnt>=0? *( tfmfile )->_ptr++&0377:_filbuf( tfmfile )) ;
732: b = tfmtemp ;
733: qw .u.B1 = b ;
734: tfmtemp = (--( tfmfile )->_cnt>=0? *( tfmfile )->_ptr++&0377:_filbuf( tfmfile )) ;
735: c = tfmtemp ;
736: qw .b2 = c ;
737: tfmtemp = (--( tfmfile )->_cnt>=0? *( tfmfile )->_ptr++&0377:_filbuf( tfmfile )) ;
738: d = tfmtemp ;
739: qw .b3 = d ;
740: fontcheck [ f ] = qw ;
741: }
742: tfmtemp = (--( tfmfile )->_cnt>=0? *( tfmfile )->_ptr++&0377:_filbuf( tfmfile )) ;
743: {
744: z = tfmtemp ;
745: if ( z > 127 )
746: ;
747: tfmtemp = (--( tfmfile )->_cnt>=0? *( tfmfile )->_ptr++&0377:_filbuf( tfmfile )) ;
748: z = z * 256 + tfmtemp ;
749: }
750: tfmtemp = (--( tfmfile )->_cnt>=0? *( tfmfile )->_ptr++&0377:_filbuf( tfmfile )) ;
751: z = z * 256 + tfmtemp ;
752: tfmtemp = (--( tfmfile )->_cnt>=0? *( tfmfile )->_ptr++&0377:_filbuf( tfmfile )) ;
753: z = ( z * 16 ) + ( tfmtemp / 16 ) ;
754: if ( z < 65536L )
755: ;
756: fontdsize [ f ] = z ;
757: if ( s != -1000 )
758: if ( s >= 0 )
759: z = s ;
760: else z = zxnoverd((scaled)( z ),(integer)( - (integer) s ),(integer)( 1000 )) ;
761: fontsize [ f ] = z ;
762: }
763: }
764: 3.) Command Used : gcc
765: ----------------
766:
767: 4.) Files used :
768: --------------
769: tm.h -> tm-sequent.h
770: md -> ns32k.md
771:
772: 5.) Machine(s) used :
773: -------------------
774: Sequent Balance 8000 DYNIX (TM)V2.1.1 (BSD 4.2)
775:
776: 6.) Incorrect behaviour :
777: -----------------------
778:
779: Compiler dies someplace during the compilation process.
780:
781: 7.) Compiler diagnostics :
782: ------------------------
783:
784: /usr/local/lib/gcc-cpp -v -undef -D__GNU__ -D__GNUC__ -Dns32000 -Dsequent -Dunix -D__OPTIMIZE__ tex-bug.1.24.c /tmp/cc006049.cpp
785: GNU CPP version 1.24
786: /usr/local/lib/gcc-cc1 /tmp/cc006049.cpp -quiet -dumpbase tex-bug.1.24.c -O -version -o /tmp/cc006049.s
787: gcc: Program cc1 got fatal signal 4.
788: gcc version 1.24
789:
790:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.