}
C_df_ilb(return_label);
prc_exit();
-#ifndef LINT
if (return_expr_occurred) {
if (func_res_label != 0) {
C_lae_dlb(func_res_label, (arith)0);
C_ret(func_size);
}
else C_ret((arith) 0);
-#endif LINT
/* getting the number of "local" bytes is posponed until here,
because copying the function result in "func_res_label" may
va_start(ap);
{
_error(DO_DEBUG, dot.tk_file, dot.tk_line, ap);
- /* _error(DO_DEBUG, NILEXPR, ap);
- */
}
va_end(ap);
}
va_start(ap);
{
_error(WARNING, dot.tk_file, dot.tk_line, ap);
- /* _error(WARNING, NILEXPR, ap);
- */
}
va_end(ap);
}
int lvl;
{
/* The full typed identifier or abstract type, described
- by the structures decspecs and declarator are turned
+ by the structures decspecs and declarator is turned
a into parameter type list structure.
The parameters will be declared at level L_FORMAL2,
- later on it's decided whether they were prototypes
+ later on it will decided whether they were prototypes
or actual declarations.
*/
register struct idf *idf = dc->dc_idf;
newdef->df_file = idf->id_file;
newdef->df_line = idf->id_line;
#ifdef LINT
- newdef->df_set = (type->tp_fund == ARRAY);
+ newdef->df_set = 0;
/* newdef->df_firstbrace = 0; */
#endif
/* We can't put the idf onto the stack, since these kinds
struct tag *
gettag(tp, idpp)
-struct type *tp;
-struct idf **idpp;
+ struct type *tp;
+ struct idf **idpp;
{
struct tag *tg = (struct tag *)0;
register int fund = tp->tp_fund;
continue;
}
+ /* Postponed storage class checking.
+ */
+ if (def->df_sc == 0)
+ error("illegal storage class in parameter declaration");
+
def->df_level = L_FORMAL2;
stack_idf(pl->pl_idf, stl);
pl = pl->next;
* remove them from the symbol-table
*/
remove_proto_tag(tp)
-struct type *tp;
+ struct type *tp;
{
register struct idf *ident;
register struct tag *tgp, **tgpp;
{
/* If the function specified by (*expp)->OP_LEFT has a prototype,
the parameters are converted according the rules specified in
- par. 3.3.2.2. E.i. the parameters are converted to the prototype
+ par. 3.3.2.2. I.e., the parameters are converted to the prototype
counter parts as if by assignment. For the parameters falling
under ellipsis clause the old parameters conversion stuff
applies.