more additions for lint

This commit is contained in:
dick 1991-01-07 12:33:38 +00:00
parent 55bf2e9bc1
commit 4a7ef15df2
7 changed files with 20 additions and 13 deletions

View file

@ -254,6 +254,9 @@ any2arith(expp, oper)
break;
case ENUM:
#ifndef LINT
/* we do not want this conversion for lint, since we
want to keep enums and ints separate
*/
int2int(expp, int_type);
#endif LINT
break;

View file

@ -342,7 +342,6 @@ end_proc(fbytes)
}
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);
@ -352,7 +351,6 @@ end_proc(fbytes)
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

View file

@ -146,8 +146,6 @@ debug(va_alist)
va_start(ap);
{
_error(DO_DEBUG, dot.tk_file, dot.tk_line, ap);
/* _error(DO_DEBUG, NILEXPR, ap);
*/
}
va_end(ap);
}
@ -162,8 +160,6 @@ warning(va_alist)
va_start(ap);
{
_error(WARNING, dot.tk_file, dot.tk_line, ap);
/* _error(WARNING, NILEXPR, ap);
*/
}
va_end(ap);
}

View file

@ -35,6 +35,7 @@ int idfsize = IDFSIZE;
extern char options[];
extern arith NewLocal();
extern char *symbol2str();
extern char *sprint();
char sp_occurred[SP_TOTAL+1]; /* indicate occurrence of special id */

View file

@ -15,6 +15,8 @@
#include "macro.h"
#include "idf.h"
extern char *sprint();
struct mkey {
char *mk_reserved;
int mk_key;

View file

@ -28,6 +28,7 @@
#define C_lin(c)
#define C_loi(c)
#define C_lol(c)
#define C_ret(c)
#define C_sdl(c)
#define C_sti(c)
#define C_stl(c)
@ -72,4 +73,5 @@
#define C_ms_gto()
#define C_ms_par(b)
#define C_ms_reg(o,s,t,c)
#define C_ms_err()

View file

@ -56,10 +56,10 @@ add_proto(pl, ds, dc, lvl)
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;
@ -132,7 +132,7 @@ add_proto(pl, ds, dc, lvl)
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
@ -168,8 +168,8 @@ add_proto(pl, ds, dc, lvl)
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;
@ -242,6 +242,11 @@ declare_protos(dc)
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;
@ -312,7 +317,7 @@ update_proto(tp, otp)
* 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;
@ -384,7 +389,7 @@ call_proto(expp)
{
/* 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.