projects
/
unix-history
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
tags
|
clone url
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
BSD 4_4 release
[unix-history]
/
usr
/
src
/
old
/
pcc
/
ccom.tahoe
/
order.c
diff --git
a/usr/src/old/pcc/ccom.tahoe/order.c
b/usr/src/old/pcc/ccom.tahoe/order.c
index
e9606f1
..
4505000
100644
(file)
--- a/
usr/src/old/pcc/ccom.tahoe/order.c
+++ b/
usr/src/old/pcc/ccom.tahoe/order.c
@@
-1,5
+1,5
@@
#ifndef lint
#ifndef lint
-static char sccsid[] = "@(#)order.c 1.
6 (Berkeley) %G%
";
+static char sccsid[] = "@(#)order.c 1.
8 (Berkeley) 8/26/88
";
#endif
# include "pass2.h"
#endif
# include "pass2.h"
@@
-404,16
+404,16
@@
getlab(){
return( crslab-- );
}
return( crslab-- );
}
-#ifndef deflab
deflab( l ){
deflab( l ){
+ if (nerrors) return;
printf( "L%d:\n", l );
}
printf( "L%d:\n", l );
}
-#endif
genargs( p, ptemp ) register NODE *p, *ptemp; {
register NODE *pasg;
register int align;
register int size;
genargs( p, ptemp ) register NODE *p, *ptemp; {
register NODE *pasg;
register int align;
register int size;
+ int count;
/* generate code for the arguments */
/* generate code for the arguments */
@@
-436,15
+436,11
@@
genargs( p, ptemp ) register NODE *p, *ptemp; {
/* make it look beautiful... */
p->in.op = UNARY MUL;
canon( p ); /* turn it into an oreg */
/* make it look beautiful... */
p->in.op = UNARY MUL;
canon( p ); /* turn it into an oreg */
-
if( p->in.op != OREG
){
+
for( count = 0; p->in.op != OREG && count < 10; ++count
){
offstar( p->in.left );
canon( p );
offstar( p->in.left );
canon( p );
- if( p->in.op != OREG ){
- offstar( p->in.left );
- canon( p );
- if( p->in.op != OREG ) cerror( "stuck starg" );
- }
}
}
+ if( p->in.op != OREG ) cerror( "stuck starg" );
}
}