more additions for lint
This commit is contained in:
parent
55bf2e9bc1
commit
4a7ef15df2
7 changed files with 20 additions and 13 deletions
|
|
@ -254,6 +254,9 @@ any2arith(expp, oper)
|
||||||
break;
|
break;
|
||||||
case ENUM:
|
case ENUM:
|
||||||
#ifndef LINT
|
#ifndef LINT
|
||||||
|
/* we do not want this conversion for lint, since we
|
||||||
|
want to keep enums and ints separate
|
||||||
|
*/
|
||||||
int2int(expp, int_type);
|
int2int(expp, int_type);
|
||||||
#endif LINT
|
#endif LINT
|
||||||
break;
|
break;
|
||||||
|
|
|
||||||
|
|
@ -342,7 +342,6 @@ end_proc(fbytes)
|
||||||
}
|
}
|
||||||
C_df_ilb(return_label);
|
C_df_ilb(return_label);
|
||||||
prc_exit();
|
prc_exit();
|
||||||
#ifndef LINT
|
|
||||||
if (return_expr_occurred) {
|
if (return_expr_occurred) {
|
||||||
if (func_res_label != 0) {
|
if (func_res_label != 0) {
|
||||||
C_lae_dlb(func_res_label, (arith)0);
|
C_lae_dlb(func_res_label, (arith)0);
|
||||||
|
|
@ -352,7 +351,6 @@ end_proc(fbytes)
|
||||||
C_ret(func_size);
|
C_ret(func_size);
|
||||||
}
|
}
|
||||||
else C_ret((arith) 0);
|
else C_ret((arith) 0);
|
||||||
#endif LINT
|
|
||||||
|
|
||||||
/* getting the number of "local" bytes is posponed until here,
|
/* getting the number of "local" bytes is posponed until here,
|
||||||
because copying the function result in "func_res_label" may
|
because copying the function result in "func_res_label" may
|
||||||
|
|
|
||||||
|
|
@ -146,8 +146,6 @@ debug(va_alist)
|
||||||
va_start(ap);
|
va_start(ap);
|
||||||
{
|
{
|
||||||
_error(DO_DEBUG, dot.tk_file, dot.tk_line, ap);
|
_error(DO_DEBUG, dot.tk_file, dot.tk_line, ap);
|
||||||
/* _error(DO_DEBUG, NILEXPR, ap);
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
va_end(ap);
|
va_end(ap);
|
||||||
}
|
}
|
||||||
|
|
@ -162,8 +160,6 @@ warning(va_alist)
|
||||||
va_start(ap);
|
va_start(ap);
|
||||||
{
|
{
|
||||||
_error(WARNING, dot.tk_file, dot.tk_line, ap);
|
_error(WARNING, dot.tk_file, dot.tk_line, ap);
|
||||||
/* _error(WARNING, NILEXPR, ap);
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
va_end(ap);
|
va_end(ap);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -35,6 +35,7 @@ int idfsize = IDFSIZE;
|
||||||
extern char options[];
|
extern char options[];
|
||||||
extern arith NewLocal();
|
extern arith NewLocal();
|
||||||
extern char *symbol2str();
|
extern char *symbol2str();
|
||||||
|
extern char *sprint();
|
||||||
|
|
||||||
char sp_occurred[SP_TOTAL+1]; /* indicate occurrence of special id */
|
char sp_occurred[SP_TOTAL+1]; /* indicate occurrence of special id */
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,8 @@
|
||||||
#include "macro.h"
|
#include "macro.h"
|
||||||
#include "idf.h"
|
#include "idf.h"
|
||||||
|
|
||||||
|
extern char *sprint();
|
||||||
|
|
||||||
struct mkey {
|
struct mkey {
|
||||||
char *mk_reserved;
|
char *mk_reserved;
|
||||||
int mk_key;
|
int mk_key;
|
||||||
|
|
|
||||||
|
|
@ -28,6 +28,7 @@
|
||||||
#define C_lin(c)
|
#define C_lin(c)
|
||||||
#define C_loi(c)
|
#define C_loi(c)
|
||||||
#define C_lol(c)
|
#define C_lol(c)
|
||||||
|
#define C_ret(c)
|
||||||
#define C_sdl(c)
|
#define C_sdl(c)
|
||||||
#define C_sti(c)
|
#define C_sti(c)
|
||||||
#define C_stl(c)
|
#define C_stl(c)
|
||||||
|
|
@ -72,4 +73,5 @@
|
||||||
#define C_ms_gto()
|
#define C_ms_gto()
|
||||||
#define C_ms_par(b)
|
#define C_ms_par(b)
|
||||||
#define C_ms_reg(o,s,t,c)
|
#define C_ms_reg(o,s,t,c)
|
||||||
|
#define C_ms_err()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -56,10 +56,10 @@ add_proto(pl, ds, dc, lvl)
|
||||||
int lvl;
|
int lvl;
|
||||||
{
|
{
|
||||||
/* The full typed identifier or abstract type, described
|
/* 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.
|
a into parameter type list structure.
|
||||||
The parameters will be declared at level L_FORMAL2,
|
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.
|
or actual declarations.
|
||||||
*/
|
*/
|
||||||
register struct idf *idf = dc->dc_idf;
|
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_file = idf->id_file;
|
||||||
newdef->df_line = idf->id_line;
|
newdef->df_line = idf->id_line;
|
||||||
#ifdef LINT
|
#ifdef LINT
|
||||||
newdef->df_set = (type->tp_fund == ARRAY);
|
newdef->df_set = 0;
|
||||||
/* newdef->df_firstbrace = 0; */
|
/* newdef->df_firstbrace = 0; */
|
||||||
#endif
|
#endif
|
||||||
/* We can't put the idf onto the stack, since these kinds
|
/* We can't put the idf onto the stack, since these kinds
|
||||||
|
|
@ -168,8 +168,8 @@ add_proto(pl, ds, dc, lvl)
|
||||||
|
|
||||||
struct tag *
|
struct tag *
|
||||||
gettag(tp, idpp)
|
gettag(tp, idpp)
|
||||||
struct type *tp;
|
struct type *tp;
|
||||||
struct idf **idpp;
|
struct idf **idpp;
|
||||||
{
|
{
|
||||||
struct tag *tg = (struct tag *)0;
|
struct tag *tg = (struct tag *)0;
|
||||||
register int fund = tp->tp_fund;
|
register int fund = tp->tp_fund;
|
||||||
|
|
@ -242,6 +242,11 @@ declare_protos(dc)
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Postponed storage class checking.
|
||||||
|
*/
|
||||||
|
if (def->df_sc == 0)
|
||||||
|
error("illegal storage class in parameter declaration");
|
||||||
|
|
||||||
def->df_level = L_FORMAL2;
|
def->df_level = L_FORMAL2;
|
||||||
stack_idf(pl->pl_idf, stl);
|
stack_idf(pl->pl_idf, stl);
|
||||||
pl = pl->next;
|
pl = pl->next;
|
||||||
|
|
@ -312,7 +317,7 @@ update_proto(tp, otp)
|
||||||
* remove them from the symbol-table
|
* remove them from the symbol-table
|
||||||
*/
|
*/
|
||||||
remove_proto_tag(tp)
|
remove_proto_tag(tp)
|
||||||
struct type *tp;
|
struct type *tp;
|
||||||
{
|
{
|
||||||
register struct idf *ident;
|
register struct idf *ident;
|
||||||
register struct tag *tgp, **tgpp;
|
register struct tag *tgp, **tgpp;
|
||||||
|
|
@ -384,7 +389,7 @@ call_proto(expp)
|
||||||
{
|
{
|
||||||
/* If the function specified by (*expp)->OP_LEFT has a prototype,
|
/* If the function specified by (*expp)->OP_LEFT has a prototype,
|
||||||
the parameters are converted according the rules specified in
|
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
|
counter parts as if by assignment. For the parameters falling
|
||||||
under ellipsis clause the old parameters conversion stuff
|
under ellipsis clause the old parameters conversion stuff
|
||||||
applies.
|
applies.
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue