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 release
[unix-history]
/
usr
/
src
/
cmd
/
f77
/
exec.c
diff --git
a/usr/src/cmd/f77/exec.c
b/usr/src/cmd/f77/exec.c
index
cd00786
..
3cd9242
100644
(file)
--- a/
usr/src/cmd/f77/exec.c
+++ b/
usr/src/cmd/f77/exec.c
@@
-27,7
+27,7
@@
if(ctlstack->ctltype == CTLIF)
putif(p, ctlstack->elselabel);
}
putif(p, ctlstack->elselabel);
}
-else execerr("elseif out of place",
0
);
+else execerr("elseif out of place",
CNULL
);
}
}
@@
-45,7
+45,7
@@
if(ctlstack->ctltype==CTLIF)
ctlstack->ctltype = CTLELSE;
}
ctlstack->ctltype = CTLELSE;
}
-else execerr("else out of place",
0
);
+else execerr("else out of place",
CNULL
);
}
}
@@
-65,7
+65,7
@@
else if(ctlstack->ctltype == CTLELSE)
}
else
}
else
- execerr("endif out of place",
0
);
+ execerr("endif out of place",
CNULL
);
}
}
@@
-149,7
+149,7
@@
else
{
if(parstate < INDATA)
enddcl();
{
if(parstate < INDATA)
enddcl();
- puteq(mklhs(lp),
rp
);
+ puteq(mklhs(lp),
fixtype(rp)
);
}
}
}
}
@@
-160,7
+160,7
@@
struct Primblock *lp;
expptr rp;
{
register struct Primblock *p;
expptr rp;
{
register struct Primblock *p;
-register
struct Nameblock *
np;
+register
Namep
np;
chainp args;
np = lp->namep;
chainp args;
np = lp->namep;
@@
-174,16
+174,18
@@
else
np->vprocclass = PSTFUNCT;
np->vstg = STGSTFUNCT;
impldcl(np);
np->vprocclass = PSTFUNCT;
np->vstg = STGSTFUNCT;
impldcl(np);
-args = (lp->argsp ? lp->argsp->listp : NULL);
-np->var
desc
.vstfdesc = mkchain(args , rp );
+args = (lp->argsp ? lp->argsp->listp :
CH
NULL);
+np->var
xptr
.vstfdesc = mkchain(args , rp );
for( ; args ; args = args->nextp)
for( ; args ; args = args->nextp)
- if( (p = args->datap)->tag!=TPRIM ||
- p->argsp || p->fcharp || p->lcharp)
+ if( args->datap->tag!=TPRIM ||
+ (p = (struct Primblock *) (args->datap) )->argsp ||
+ p->fcharp || p->lcharp )
err("non-variable argument in statement function definition");
else
{
err("non-variable argument in statement function definition");
else
{
- vardcl(args->datap = p->namep);
+ args->datap = (tagptr) (p->namep);
+ vardcl(p->namep);
free(p);
}
}
free(p);
}
}
@@
-191,15
+193,15
@@
for( ; args ; args = args->nextp)
excall(name, args, nstars, labels)
excall(name, args, nstars, labels)
-
struct Hashentry *
name;
+
Namep
name;
struct Listblock *args;
int nstars;
struct Labelblock *labels[ ];
{
register expptr p;
struct Listblock *args;
int nstars;
struct Labelblock *labels[ ];
{
register expptr p;
-settype(name, TYSUBR, NULL);
-p = mkfunct( mkprim(name, args,
NULL,
NULL) );
+settype(name, TYSUBR,
E
NULL);
+p = mkfunct( mkprim(name, args,
CH
NULL) );
p->exprblock.vtype = p->exprblock.leftp->headblock.vtype = TYINT;
if(nstars > 0)
putcmgo(p, nstars, labels);
p->exprblock.vtype = p->exprblock.leftp->headblock.vtype = TYINT;
if(nstars > 0)
putcmgo(p, nstars, labels);
@@
-214,15
+216,15
@@
register expptr p;
{
char *q;
int n;
{
char *q;
int n;
-
struct Constblock *
mkstrcon();
+
expptr
mkstrcon();
if(p)
{
if( ! ISCONST(p) )
{
if(p)
{
if( ! ISCONST(p) )
{
- execerr("pause/stop argument must be constant",
0
);
+ execerr("pause/stop argument must be constant",
CNULL
);
frexpr(p);
frexpr(p);
- p = mkstrcon(0,
0
);
+ p = mkstrcon(0,
CNULL
);
}
else if( ISINT(p->constblock.vtype) )
{
}
else if( ISINT(p->constblock.vtype) )
{
@@
-232,18
+234,18
@@
if(p)
{
p->constblock.const.ccp = copyn(n, q);
p->constblock.vtype = TYCHAR;
{
p->constblock.const.ccp = copyn(n, q);
p->constblock.vtype = TYCHAR;
- p->constblock.vleng = ICON(n);
+ p->constblock.vleng =
(expptr)
ICON(n);
}
else
}
else
- p =
mkstrcon(0, 0
);
+ p =
(expptr) mkstrcon(0, CNULL
);
}
else if(p->constblock.vtype != TYCHAR)
{
}
else if(p->constblock.vtype != TYCHAR)
{
- execerr("pause/stop argument must be integer or string",
0
);
- p =
mkstrcon(0, 0
);
+ execerr("pause/stop argument must be integer or string",
CNULL
);
+ p =
(expptr) mkstrcon(0, CNULL
);
}
}
}
}
-else p =
mkstrcon(0, 0
);
+else p =
(expptr) mkstrcon(0, CNULL
);
putexpr( call1(TYSUBR, (stop ? "s_stop" : "s_paus"), p) );
}
putexpr( call1(TYSUBR, (stop ? "s_stop" : "s_paus"), p) );
}
@@
-264,17
+266,17
@@
int range;
chainp spec;
{
register expptr p, q;
chainp spec;
{
register expptr p, q;
-expptr
*
q1;
-register
struct Nameblock *
np;
+expptr q1;
+register
Namep
np;
chainp cp;
register int i;
int dotype, incsign;
chainp cp;
register int i;
int dotype, incsign;
-
struct Addrblock *dovarp, *
dostgp;
+
Addrp dovarp,
dostgp;
expptr par[3];
pushctl(CTLDO);
dorange = ctlstack->dolabel = range;
expptr par[3];
pushctl(CTLDO);
dorange = ctlstack->dolabel = range;
-np =
spec->datap
;
+np =
(Namep) (spec->datap)
;
ctlstack->donamep = NULL;
if(np->vdovar)
{
ctlstack->donamep = NULL;
if(np->vdovar)
{
@@
-283,7
+285,7
@@
if(np->vdovar)
return;
}
return;
}
-dovarp = mk
lhs( mkprim(np, 0,0,0)
);
+dovarp = mk
place(np
);
if( ! ONEOF(dovarp->vtype, MSKINT|MSKREAL) )
{
err("bad type on do variable");
if( ! ONEOF(dovarp->vtype, MSKINT|MSKREAL) )
{
err("bad type on do variable");
@@
-296,7
+298,7
@@
if( enregister(np) )
{
/* stgp points to a storage version, varp to a register version */
dostgp = dovarp;
{
/* stgp points to a storage version, varp to a register version */
dostgp = dovarp;
- dovarp = mk
lhs( mkprim(np, 0,0,0)
);
+ dovarp = mk
place(np
);
}
else
dostgp = NULL;
}
else
dostgp = NULL;
@@
-325,7
+327,7
@@
switch(i)
return;
case 2:
return;
case 2:
- DOINCR = ICON(1);
+ DOINCR =
(expptr)
ICON(1);
case 3:
break;
case 3:
break;
@@
-337,7
+339,7
@@
ctlstack->dobodylabel = newlabel();
if( ISCONST(DOLIMIT) )
ctlstack->domax = mkconv(dotype, DOLIMIT);
else
if( ISCONST(DOLIMIT) )
ctlstack->domax = mkconv(dotype, DOLIMIT);
else
- ctlstack->domax =
mktemp(dotype,
NULL);
+ ctlstack->domax =
(expptr) mktemp(dotype, P
NULL);
if( ISCONST(DOINCR) )
{
if( ISCONST(DOINCR) )
{
@@
-348,7
+350,7
@@
if( ISCONST(DOINCR) )
}
else
{
}
else
{
- ctlstack->dostep =
mktemp(dotype,
NULL);
+ ctlstack->dostep =
(expptr) mktemp(dotype, P
NULL);
ctlstack->dostepsign = VARSTEP;
ctlstack->doposlabel = newlabel();
ctlstack->doneglabel = newlabel();
ctlstack->dostepsign = VARSTEP;
ctlstack->doposlabel = newlabel();
ctlstack->doneglabel = newlabel();
@@
-374,7
+376,7
@@
if( ISCONST(ctlstack->domax) && ISCONST(DOINIT) && ctlstack->dostepsign!=VARSTEP
else if(ctlstack->dostepsign!=VARSTEP && !onetripflag)
{
if( ISCONST(ctlstack->domax) )
else if(ctlstack->dostepsign!=VARSTEP && !onetripflag)
{
if( ISCONST(ctlstack->domax) )
- q = cpexpr(ctlstack->domax);
+ q =
(expptr)
cpexpr(ctlstack->domax);
else
q = mkexpr(OPASSIGN, cpexpr(ctlstack->domax), DOLIMIT);
else
q = mkexpr(OPASSIGN, cpexpr(ctlstack->domax), DOLIMIT);
@@
-421,15
+423,15
@@
int here;
{
register struct Ctlframe *q;
register expptr t;
{
register struct Ctlframe *q;
register expptr t;
-
struct Nameblock *
np;
-
struct Addrblock *
ap;
+
Namep
np;
+
Addrp
ap;
register int i;
while(here == dorange)
{
if(np = ctlstack->donamep)
{
register int i;
while(here == dorange)
{
if(np = ctlstack->donamep)
{
- t = mkexpr(OPPLUSEQ, mk
lhs(mkprim(ctlstack->donamep, 0,0,0)
),
+ t = mkexpr(OPPLUSEQ, mk
place(ctlstack->donamep
),
cpexpr(ctlstack->dostep) );
if(ctlstack->dostepsign == VARSTEP)
cpexpr(ctlstack->dostep) );
if(ctlstack->dostepsign == VARSTEP)
@@
-444,7
+446,7
@@
while(here == dorange)
ctlstack->dobodylabel);
putlabel(ctlstack->endlabel);
if(ap = memversion(np))
ctlstack->dobodylabel);
putlabel(ctlstack->endlabel);
if(ap = memversion(np))
- puteq(ap, mk
lhs( mkprim(np,0,0,0))
);
+ puteq(ap, mk
place(np)
);
for(i = 0 ; i < 4 ; ++i)
ctlstack->ctlabels[i] = 0;
deregister(ctlstack->donamep);
for(i = 0 ; i < 4 ; ++i)
ctlstack->ctlabels[i] = 0;
deregister(ctlstack->donamep);
@@
-465,13
+467,13
@@
while(here == dorange)
}
\f
exassign(vname, labelval)
}
\f
exassign(vname, labelval)
-
struct Nameblock *
vname;
+
Namep
vname;
struct Labelblock *labelval;
{
struct Labelblock *labelval;
{
-
struct Addrblock *
p;
-
struct Constblock *
mkaddcon();
+
Addrp
p;
+
expptr
mkaddcon();
-p = mk
lhs(mkprim(vname,0,0,0)
);
+p = mk
place(vname
);
if( ! ONEOF(p->vtype, MSKINT|MSKADDR) )
err("noninteger assign variable");
else
if( ! ONEOF(p->vtype, MSKINT|MSKADDR) )
err("noninteger assign variable");
else
@@
-546,9
+548,9
@@
else
exasgoto(labvar)
struct Hashentry *labvar;
{
exasgoto(labvar)
struct Hashentry *labvar;
{
-register
struct Addrblock *
p;
+register
Addrp
p;
-p = mk
lhs( mkprim(labvar,0,0,0)
);
+p = mk
place(labvar
);
if( ! ISINT(p->vtype) )
err("assigned goto variable must be integer");
else
if( ! ISINT(p->vtype) )
err("assigned goto variable must be integer");
else