From 1a6665e21d1eecb38e3ee7009ab98bd2036a6b66 Mon Sep 17 00:00:00 2001 From: dick Date: Fri, 19 Aug 1988 13:55:22 +0000 Subject: [PATCH] initial small modifications for lint --- lang/cem/cemcom/LLlex.c | 12 +++++++----- lang/cem/cemcom/blocks.c | 1 + lang/cem/cemcom/code.c | 2 +- lang/cem/cemcom/conversion.c | 3 ++- lang/cem/cemcom/declar.g | 21 +++++++++++++-------- lang/cem/cemcom/def.str | 1 + lang/cem/cemcom/error.c | 35 +++++++++++++++++++---------------- lang/cem/cemcom/eval.c | 6 +++--- lang/cem/cemcom/expr.str | 9 +++++---- lang/cem/cemcom/expression.g | 5 ++++- lang/cem/cemcom/field.c | 5 +++-- lang/cem/cemcom/idf.c | 1 + lang/cem/cemcom/idf.str | 2 +- lang/cem/cemcom/ival.g | 8 +++++--- lang/cem/cemcom/main.c | 2 +- lang/cem/cemcom/options.c | 18 +++++++++--------- lang/cem/cemcom/program.g | 8 +++++--- lang/cem/cemcom/statement.g | 13 +++++++++++-- lang/cem/cemcom/type.str | 4 ++-- 19 files changed, 94 insertions(+), 62 deletions(-) diff --git a/lang/cem/cemcom/LLlex.c b/lang/cem/cemcom/LLlex.c index 96e38d022..65439c802 100644 --- a/lang/cem/cemcom/LLlex.c +++ b/lang/cem/cemcom/LLlex.c @@ -52,8 +52,6 @@ PushLex() ASSERT(LexSP < 2); ASSERT(ASIDE == 0); /* ASIDE = 0; */ GetToken(&ahead); - ahead.tk_line = LineNumber; - ahead.tk_file = FileName; LexStack[LexSP++] = dot; } @@ -87,9 +85,6 @@ LLlex() else DOT = EOF; } - /* keep track of the place of the token in the file */ - ahead.tk_file = FileName; - ahead.tk_line = LineNumber; return DOT; } @@ -111,6 +106,7 @@ GetToken(ptok) File_Inserted = 0; goto firstline; } + again: /* rescan the input after an error or replacement */ #ifndef NOPP if (Unstacked) EnableMacros(); @@ -119,10 +115,16 @@ again: /* rescan the input after an error or replacement */ go_on: /* rescan, the following character has been read */ if ((ch & 0200) && ch != EOI) /* stop on non-ascii character */ fatal("non-ascii '\\%03o' read", ch & 0377); + /* keep track of the place of the token in the file */ + ptok->tk_file = FileName; + ptok->tk_line = LineNumber; + switch (class(ch)) { /* detect character class */ case STNL: /* newline, vertical space or formfeed */ firstline: LineNumber++; /* also at vs and ff */ + ptok->tk_file = FileName; + ptok->tk_line = LineNumber; if (EoiForNewline) /* called in control line */ /* a newline in a control line indicates the end-of-information of the line. diff --git a/lang/cem/cemcom/blocks.c b/lang/cem/cemcom/blocks.c index a5c5c120f..e7282acc7 100644 --- a/lang/cem/cemcom/blocks.c +++ b/lang/cem/cemcom/blocks.c @@ -160,3 +160,4 @@ copy_loop(sz, src, dst) C_asp(word_size); } #endif STB + diff --git a/lang/cem/cemcom/code.c b/lang/cem/cemcom/code.c index fe48bff1f..8640c34d4 100644 --- a/lang/cem/cemcom/code.c +++ b/lang/cem/cemcom/code.c @@ -464,11 +464,11 @@ loc_init(expr, id) ch7cast(&expr, '=', tp); /* may modify expr */ EVAL(expr, RVAL, TRUE, NO_LABEL, NO_LABEL); - free_expression(expr); vl.vl_class = Name; vl.vl_data.vl_idf = id; vl.vl_value = (arith)0; store_val(&vl, tp); + free_expression(expr); } } diff --git a/lang/cem/cemcom/conversion.c b/lang/cem/cemcom/conversion.c index f11e312db..112eed850 100644 --- a/lang/cem/cemcom/conversion.c +++ b/lang/cem/cemcom/conversion.c @@ -125,7 +125,7 @@ conversion(from_type, to_type) signed, unsigned or floating */ int -fundamental(tp) +fundamental(tp)/* bad name ???*/ register struct type *tp; { switch (tp->tp_fund) { @@ -146,3 +146,4 @@ fundamental(tp) } return 0; } + diff --git a/lang/cem/cemcom/declar.g b/lang/cem/cemcom/declar.g index 2288d61d8..944607c63 100644 --- a/lang/cem/cemcom/declar.g +++ b/lang/cem/cemcom/declar.g @@ -11,6 +11,8 @@ #include "debug.h" #include "arith.h" #include "LLlex.h" +#include "label.h" +#include "code.h" #include "idf.h" #include "type.h" #include "struct.h" @@ -126,10 +128,10 @@ single_type_specifier(register struct decspecs *ds;): IDENTIFIER { error("%s is not a type identifier", dot.tk_idf->id_text); - ds->ds_type = error_type; + ds->ds_type = error_type; if (dot.tk_idf->id_def) { - dot.tk_idf->id_def->df_type = error_type; - dot.tk_idf->id_def->df_sc = TYPEDEF; + dot.tk_idf->id_def->df_type = error_type; + dot.tk_idf->id_def->df_sc = TYPEDEF; } } | @@ -164,7 +166,9 @@ init_declarator(register struct decspecs *ds;) { code_declaration(Dc.dc_idf, (struct expr *) 0, level, ds->ds_sc); } ] ] - {remove_declarator(&Dc);} + { + remove_declarator(&Dc); + } ; /* 8.6: initializer */ @@ -189,10 +193,11 @@ initializer(struct idf *idf; int sc;) external_definition, q.v. */ ] - { if (globalflag) { + { + if (globalflag) { struct expr ex; code_declaration(idf, &ex, level, sc); - } + } } initial_value(globalflag ? &(idf->id_def->df_type) : (struct type **)0, &expr) @@ -205,8 +210,8 @@ initializer(struct idf *idf; int sc;) print_expr("initializer-expression", expr); #endif DEBUG code_declaration(idf, expr, level, sc); - } - init_idf(idf); + } + init_idf(idf); } ; diff --git a/lang/cem/cemcom/def.str b/lang/cem/cemcom/def.str index 592d2d548..227075213 100644 --- a/lang/cem/cemcom/def.str +++ b/lang/cem/cemcom/def.str @@ -5,6 +5,7 @@ /* $Header$ */ /* IDENTIFIER DEFINITION DESCRIPTOR */ + struct def { /* for ordinary tags */ struct def *next; int df_level; diff --git a/lang/cem/cemcom/error.c b/lang/cem/cemcom/error.c index bcacae30c..abd6028df 100644 --- a/lang/cem/cemcom/error.c +++ b/lang/cem/cemcom/error.c @@ -17,6 +17,7 @@ #include "arith.h" #include "label.h" #include "expr.h" +#include "def.h" #include "LLlex.h" /* This file contains the error-message and diagnostic @@ -36,6 +37,7 @@ int err_occurred = 0; extern char *symbol2str(); extern char options[]; +extern char loptions[]; /* There are three general error-message functions: lexerror() lexical and pre-processor error messages @@ -48,8 +50,8 @@ extern char options[]; expression, whereas other errors use the information in the token. */ -/*VARARGS1*/ -error(va_alist) +/*VARARGS*/ +error(va_alist) /* fmt, args */ va_dcl { va_list ap; @@ -61,8 +63,8 @@ error(va_alist) va_end(ap); } -/*VARARGS2*/ -expr_error(va_alist) +/*VARARGS*/ +expr_error(va_alist) /* expr, fmt, args */ va_dcl { va_list ap; @@ -80,8 +82,8 @@ expr_error(va_alist) va_end(ap); } -/*VARARGS1*/ -warning(va_alist) +/*VARARGS*/ +warning(va_alist) /* fmt, args */ va_dcl { va_list ap; @@ -93,8 +95,8 @@ warning(va_alist) va_end(ap); } -/*VARARGS2*/ -expr_warning(va_alist) +/*VARARGS*/ +expr_warning(va_alist) /* expr, fmt, args */ va_dcl { va_list ap; @@ -111,8 +113,8 @@ expr_warning(va_alist) va_end(ap); } -/*VARARGS1*/ -lexerror(va_alist) +/*VARARGS*/ +lexerror(va_alist) /* fmt, args */ va_dcl { va_list ap; @@ -125,8 +127,8 @@ lexerror(va_alist) } #ifndef NOPP -/*VARARGS1*/ -lexwarning(va_alist) +/*VARARGS*/ +lexwarning(va_alist) /* fmt, args */ va_dcl { va_list ap; @@ -139,8 +141,8 @@ lexwarning(va_alist) } #endif NOPP -/*VARARGS1*/ -crash(va_alist) +/*VARARGS*/ +crash(va_alist) /* fmt, args */ va_dcl { va_list ap; @@ -157,10 +159,11 @@ crash(va_alist) #else DEBUG sys_stop(S_EXIT); #endif DEBUG + /* NOTREACHED */ } -/*VARARGS1*/ -fatal(va_alist) +/*VARARGS*/ +fatal(va_alist) /* fmt, args */ va_dcl { va_list ap; diff --git a/lang/cem/cemcom/eval.c b/lang/cem/cemcom/eval.c index 7c09837e8..f3312e926 100644 --- a/lang/cem/cemcom/eval.c +++ b/lang/cem/cemcom/eval.c @@ -355,8 +355,7 @@ EVAL(expr, val, code, true_label, false_label) store_block(tp->tp_size, tp->tp_align); } else if (newcode) - store_val(&(left->ex_object.ex_value), - left->ex_type); + store_val(&(left->EX_VALUE), left->ex_type); } break; case PLUSAB: @@ -416,7 +415,7 @@ EVAL(expr, val, code, true_label, false_label) assop(tp, oper); conversion(tp, left->ex_type); if (compl == 0) { - store_val(&(left->ex_object.ex_value), + store_val(&(left->EX_VALUE), left->ex_type); if (dupval) load_val(left, RVAL); } @@ -968,3 +967,4 @@ load_cst(val, siz) C_loi(siz); } } + diff --git a/lang/cem/cemcom/expr.str b/lang/cem/cemcom/expr.str index e4dbda36d..d344d1e30 100644 --- a/lang/cem/cemcom/expr.str +++ b/lang/cem/cemcom/expr.str @@ -74,10 +74,11 @@ struct expr { }; /* some abbreviated selections */ -#define VL_CLASS ex_object.ex_value.vl_class -#define VL_VALUE ex_object.ex_value.vl_value -#define VL_IDF ex_object.ex_value.vl_data.vl_idf -#define VL_LBL ex_object.ex_value.vl_data.vl_lbl +#define EX_VALUE ex_object.ex_value +#define VL_CLASS EX_VALUE.vl_class +#define VL_VALUE EX_VALUE.vl_value +#define VL_IDF EX_VALUE.vl_data.vl_idf +#define VL_LBL EX_VALUE.vl_data.vl_lbl #define SG_VALUE ex_object.ex_string.sg_value #define SG_LEN ex_object.ex_string.sg_len #define SG_DATLAB ex_object.ex_string.sg_datlab diff --git a/lang/cem/cemcom/expression.g b/lang/cem/cemcom/expression.g index d17c783fa..d26ed5f87 100644 --- a/lang/cem/cemcom/expression.g +++ b/lang/cem/cemcom/expression.g @@ -12,6 +12,7 @@ #include "idf.h" #include "label.h" #include "expr.h" +#include "code.h" #include "noRoption.h" extern char options[]; @@ -337,5 +338,7 @@ identifier(struct idf **idfp;) : | TYPE_IDENTIFIER ] - {*idfp = dot.tk_idf;} + { + *idfp = dot.tk_idf; + } ; diff --git a/lang/cem/cemcom/field.c b/lang/cem/cemcom/field.c index aed937565..0555e2829 100644 --- a/lang/cem/cemcom/field.c +++ b/lang/cem/cemcom/field.c @@ -74,7 +74,7 @@ eval_field(expr, code) load_val(leftop, RVAL); C_and(asize); C_ior(asize); - store_val(&(leftop->ex_object.ex_value), atype); + store_val(&(leftop->EX_VALUE), atype); } else { /* complex case */ tmpvar = NewLocal(pointer_size, pointer_align, @@ -144,7 +144,7 @@ eval_field(expr, code) load_val(leftop, RVAL); C_and(asize); C_ior(asize); - store_val(&(leftop->ex_object.ex_value), atype); + store_val(&(leftop->EX_VALUE), atype); } else { LoadLocal(tmpvar, pointer_size); @@ -173,3 +173,4 @@ eval_field(expr, code) } } #endif NOBITFIELD + diff --git a/lang/cem/cemcom/idf.c b/lang/cem/cemcom/idf.c index 31f161966..24e4a0b7f 100644 --- a/lang/cem/cemcom/idf.c +++ b/lang/cem/cemcom/idf.c @@ -265,6 +265,7 @@ declare_idf(ds, dc, lvl) warning("redeclaring reserved word %s", idf->id_text); } #endif + if (def && ( def->df_level == lvl || ( lvl != L_GLOBAL && def->df_level > lvl ) diff --git a/lang/cem/cemcom/idf.str b/lang/cem/cemcom/idf.str index 2dbdf028b..a9f8b9b46 100644 --- a/lang/cem/cemcom/idf.str +++ b/lang/cem/cemcom/idf.str @@ -5,7 +5,7 @@ /* $Header$ */ /* IDENTIFIER DESCRIPTOR */ -#include "nopp.h" +#include "nopp.h" /* Since the % operation in the calculation of the hash function turns out to be expensive, it is replaced by the cheaper XOR (^). diff --git a/lang/cem/cemcom/ival.g b/lang/cem/cemcom/ival.g index 319a60353..693188b6d 100644 --- a/lang/cem/cemcom/ival.g +++ b/lang/cem/cemcom/ival.g @@ -26,6 +26,7 @@ #include "LLlex.h" #include "noRoption.h" #include "estack.h" +#include "code.h" #define con_nullbyte() C_con_ucon("0", (arith)1) #define aggregate_type(tp) ((tp)->tp_fund == ARRAY || (tp)->tp_fund == STRUCT) @@ -47,14 +48,15 @@ initial_value(register struct type **tpp; register struct expr **expp;) : { if (tpp) gen_tpcheck(tpp, 0); } [ assignment_expression(expp) - { if ((*expp)->ex_type->tp_fund == ARRAY) + { + if ((*expp)->ex_type->tp_fund == ARRAY) array2pointer(*expp); - if (tpp) { + if (tpp) { gen_simple_exp(tpp, expp); free_expression(*expp); *expp = 0; - } } + } | initial_value_pack(tpp, expp) ] diff --git a/lang/cem/cemcom/main.c b/lang/cem/cemcom/main.c index 43b67ebeb..275054336 100644 --- a/lang/cem/cemcom/main.c +++ b/lang/cem/cemcom/main.c @@ -175,7 +175,7 @@ compile(argc, argv) #ifndef NOPP WorkingDir = getwdir(source); #endif NOPP - PushLex(); + PushLex(); /* initialize lex machine */ #ifdef DEBUG #ifndef NOPP diff --git a/lang/cem/cemcom/options.c b/lang/cem/cemcom/options.c index 66dda1a3d..10b0e5526 100644 --- a/lang/cem/cemcom/options.c +++ b/lang/cem/cemcom/options.c @@ -40,40 +40,40 @@ do_option(text) default: fatal("illegal option: %c", *--text); - + break; case '-': options[*text] = 1; /* flags, debug options etc. */ break; -#ifdef DATAFLOW +#ifdef DATAFLOW case 'd': -#endif DATAFLOW +#endif DATAFLOW case 'p': /* procentry/procexit */ case 'L' : /* no fil/lin */ case 'n': /* use no registers */ case 'w': /* no warnings will be given */ -#ifndef NOROPTION +#ifndef NOROPTION case 'R': /* strict version */ #endif options[*(text-1)] = 1; break; -#ifdef NOROPTION +#ifdef NOROPTION case 'R': warning("-R option not implemented"); break; #endif -#ifdef ___XXX___ +#ifdef ___XXX___ deleted, is now a debug-flag case 'C' : /* E option + comment output */ -#ifndef NOPP +#ifndef NOPP options['E'] = 1; warning("-C: comment is not output"); #else NOPP warning("-C option ignored"); -#endif NOPP +#endif NOPP break; -#endif ___XXX___ +#endif ___XXX___ case 'D' : { /* -Dname : predefine name */ #ifndef NOPP diff --git a/lang/cem/cemcom/program.g b/lang/cem/cemcom/program.g index 968fee0c0..3fb087ab5 100644 --- a/lang/cem/cemcom/program.g +++ b/lang/cem/cemcom/program.g @@ -61,7 +61,6 @@ extern arith ifval; #endif NOPP -/*VARARGS*/ extern error(); } @@ -121,7 +120,9 @@ external_definition ext_decl_specifiers(&Ds) [ declarator(&Dc) - {declare_idf(&Ds, &Dc, level);} + { + declare_idf(&Ds, &Dc, level); + } [%if (Dc.dc_idf->id_def->df_type->tp_fund == FUNCTION) /* int i (1) {2, 3} is a function, not an old-fashioned @@ -155,6 +156,8 @@ non_function(register struct decspecs *ds; register struct declarator *dc;) | { code_declaration(dc->dc_idf, (struct expr *) 0, level, ds->ds_sc); } ] + { + } [ ',' init_declarator(ds) @@ -169,7 +172,6 @@ function(struct declarator *dc;) } : { register struct idf *idf = dc->dc_idf; - init_idf(idf); stack_level(); /* L_FORMAL1 declarations */ declare_params(dc); diff --git a/lang/cem/cemcom/statement.g b/lang/cem/cemcom/statement.g index 81d3daceb..27be51309 100644 --- a/lang/cem/cemcom/statement.g +++ b/lang/cem/cemcom/statement.g @@ -31,6 +31,8 @@ extern int level; /* 9 */ statement + { + } : %if (AHEAD != ':') expression_statement @@ -54,11 +56,15 @@ statement default_statement | BREAK - {code_break();} + { + code_break(); + } ';' | CONTINUE - {code_continue();} + { + code_continue(); + } ';' | return_statement @@ -261,6 +267,8 @@ for_statement ';' expression(&e_incr)? ')' + { + } statement { C_df_ilb(l_continue); @@ -388,3 +396,4 @@ asm_statement { code_asm(asm_bts, asm_len); } ; + diff --git a/lang/cem/cemcom/type.str b/lang/cem/cemcom/type.str index 7f46f89f3..9904216e6 100644 --- a/lang/cem/cemcom/type.str +++ b/lang/cem/cemcom/type.str @@ -5,8 +5,8 @@ /* $Header$ */ /* TYPE DESCRIPTOR */ -#include "nofloat.h" -#include "nobitfield.h" +#include "nofloat.h" +#include "nobitfield.h" struct type { struct type *next; /* used only with ARRAY */ -- 2.34.1