Add enough return types to the K&R C that the ACK builds (on Linux) using clang
authorDavid Given <dg@cowlark.com>
Thu, 10 Nov 2016 21:04:18 +0000 (22:04 +0100)
committerDavid Given <dg@cowlark.com>
Thu, 10 Nov 2016 21:04:18 +0000 (22:04 +0100)
now.

143 files changed:
lang/basic/src/eval.c
lang/basic/src/symbols.c
lang/basic/src/util.c
lang/cem/cemcom.ansi/LLlex.c
lang/cem/cemcom.ansi/arith.c
lang/cem/cemcom.ansi/ch3.c
lang/cem/cemcom.ansi/ch3bin.c
lang/cem/cemcom.ansi/code.c
lang/cem/cemcom.ansi/domacro.c
lang/cem/cemcom.ansi/error.c
lang/cem/cemcom.ansi/eval.c
lang/cem/cemcom.ansi/expr.c
lang/cem/cemcom.ansi/idf.c
lang/cem/cemcom.ansi/ival.g
lang/cem/cemcom.ansi/main.c
lang/cem/cemcom.ansi/proto.c
lang/cem/cemcom.ansi/replace.c
lang/cem/cemcom.ansi/stab.c
lang/cem/cemcom.ansi/stack.c
lang/cem/cemcom.ansi/switch.c
lang/cem/cemcom.ansi/util.c
lang/cem/cpp.ansi/LLlex.c
lang/cem/cpp.ansi/domacro.c
lang/cem/cpp.ansi/main.c
lang/cem/cpp.ansi/preprocess.c
lang/cem/cpp.ansi/replace.c
lang/m2/comp/LLlex.c
lang/m2/comp/casestat.C
lang/m2/comp/chk_expr.c
lang/m2/comp/code.c
lang/m2/comp/cstoper.c
lang/m2/comp/desig.c
lang/m2/comp/enter.c
lang/m2/comp/error.c
lang/m2/comp/node.c
lang/m2/comp/stab.c
lang/m2/comp/type.c
lang/m2/comp/walk.c
lang/pc/comp/LLlex.c
lang/pc/comp/body.c
lang/pc/comp/casestat.C
lang/pc/comp/code.c
lang/pc/comp/cstoper.c
lang/pc/comp/def.c
lang/pc/comp/desig.c
lang/pc/comp/error.c
lang/pc/comp/label.c
lang/pc/comp/node.c
lang/pc/comp/progs.c
lang/pc/comp/readwrite.c
lang/pc/comp/stab.c
lang/pc/comp/type.c
mach/i386/as/mach5.c
mach/i386/ncg/mach.c
mach/i80/ncg/mach.c
mach/i86/ncg/mach.c
mach/m68020/as/mach5.c
mach/m68020/ncg/mach.c
mach/powerpc/ncg/mach.c
mach/proto/as/comm4.c
mach/proto/as/comm5.c
mach/proto/as/comm6.c
mach/proto/ncg/compute.c
mach/proto/ncg/equiv.c
mach/proto/ncg/fillem.c
mach/proto/ncg/gencode.c
mach/proto/ncg/label.c
mach/proto/ncg/regvar.c
mach/proto/ncg/salloc.c
mach/proto/ncg/state.c
mach/proto/ncg/subr.c
mach/proto/top/top.c
mach/vc4/ncg/mach.c
util/LLgen/src/check.c
util/LLgen/src/compute.c
util/LLgen/src/gencode.c
util/LLgen/src/main.c
util/LLgen/src/reach.c
util/LLgen/src/savegram.c
util/LLgen/src/tokens.c
util/LLgen/src/tokens.g
util/ack/files.c
util/ack/grows.c
util/ack/grows.h
util/ack/main.c
util/ack/mktables.c
util/ack/rmach.c
util/ack/scan.c
util/ack/trans.c
util/ack/util.c
util/amisc/anm.c
util/arch/archiver.c
util/ego/bo/bo.c
util/ego/ca/ca.c
util/ego/cf/cf_loop.c
util/ego/cj/cj.c
util/ego/cs/cs.c
util/ego/cs/cs_avail.c
util/ego/cs/cs_debug.c
util/ego/cs/cs_kill.c
util/ego/cs/cs_stack.c
util/ego/ic/ic_lib.c
util/ego/il/il1_aux.c
util/ego/il/il1_aux.h
util/ego/il/il1_cal.c
util/ego/il/il1_formal.c
util/ego/il/il1_formal.h
util/ego/il/il3_change.c
util/ego/il/il3_change.h
util/ego/il/il_aux.c
util/ego/lv/lv.c
util/ego/ra/ra.c
util/ego/ra/ra_items.c
util/ego/ra/ra_xform.c
util/ego/share/locals.c
util/ego/share/locals.h
util/ego/share/put.c
util/ego/share/put.h
util/ego/sp/sp.c
util/ego/sr/sr.c
util/ego/sr/sr_cand.c
util/ego/sr/sr_iv.c
util/ego/sr/sr_reduce.c
util/ego/sr/sr_xform.c
util/ego/sr/sr_xform.h
util/ego/ud/ud.c
util/ego/ud/ud_const.c
util/ego/ud/ud_copy.c
util/ego/ud/ud_defs.c
util/led/extract.c
util/led/main.c
util/led/memory.c
util/led/output.c
util/led/save.c
util/ncgg/coerc.c
util/ncgg/output.c
util/ncgg/set.c
util/ncgg/subr.c
util/opt/cleanup.c
util/opt/flow.c
util/opt/getline.c
util/opt/reg.c
util/opt/tes.c

index ed5b6f4..f1f762b 100644 (file)
@@ -31,6 +31,7 @@ int   ltype,rtype;
 
 
 
+void
 conversion(oldtype,newtype)
 int oldtype,newtype;
 {
@@ -71,6 +72,7 @@ int oldtype,newtype;
 
 
 
+void
 extraconvert(oldtype,newtype,topstack)
 int oldtype,newtype,topstack;
 {
@@ -509,6 +511,7 @@ endarrayload()
 
 
 
+void
 loadarray(type)
 int    type;
 {
index 30c3b5e..96d148a 100644 (file)
@@ -68,6 +68,7 @@ char *str;
 
 
 
+void
 dcltype(s)
 Symbol *s;
 {
index 8255b39..ff98cf8 100644 (file)
@@ -16,6 +16,7 @@ int   errorcnt;
 
 
 
+void
 warning(str)
 char *str;
 {
index 07a79ad..d063253 100644 (file)
@@ -52,6 +52,8 @@ extern int lint_skip_comment;
 static struct token LexStack[MAX_LL_DEPTH];
 static LexSP = 0;
 
+void skipcomment();
+
 /*     In PushLex() the actions are taken in order to initialise or
        re-initialise the lexical scanner.
        E.g. at the invocation of a sub-parser that uses LLlex(), the
@@ -442,6 +444,7 @@ garbage:
 }
 
 #ifndef        NOPP
+void
 skipcomment()
 {
        /*      The last character read has been the '*' of '/_*'.  The
index d5f3af3..317107a 100644 (file)
@@ -30,6 +30,7 @@ extern char options[];
 extern arith flt_flt2arith();
 extern label code_string();
 
+void
 arithbalance(e1p, oper, e2p)   /* 3.1.2.5 */
        register struct expr **e1p, **e2p;
        int oper;
@@ -523,6 +524,7 @@ opnd2logical(expp, oper)
        }
 }
 
+void
 opnd2test(expp, oper)
        register struct expr **expp;
 {
@@ -548,6 +550,7 @@ opnd2test(expp, oper)
        ch3bin(expp, NOTEQUAL, intexpr((arith)0, INT));
 }
 
+void
 any2opnd(expp, oper)
        register struct expr **expp;
 {
index bebe77e..eef8067 100644 (file)
@@ -23,11 +23,14 @@ extern char options[];
 extern char *symbol2str();
 extern struct type *qualifier_type();
 
+void ch3cast();
+
 /*     Most expression-handling routines have a pointer to a
        (struct type *) as first parameter. The object under the pointer
        gets updated in the process.
 */
 
+void
 ch3sel(expp, oper, idf)
        struct expr **expp;
        struct idf *idf;
@@ -169,6 +172,7 @@ ch3incr(expp, oper)
        ch3asgn(expp, oper, intexpr((arith)1, INT));
 }
 
+void
 ch3cast(expp, oper, tp)
        register struct expr **expp;
        register struct type *tp;
index 8145b93..ba75c11 100644 (file)
@@ -19,6 +19,8 @@
 extern char options[];
 extern char *symbol2str();
 
+void pntminuspnt();
+
 /*     This chapter asks for the repeated application of code to handle
        an operation that may be executed at compile time or at run time,
        depending on the constancy of the operands.
@@ -32,6 +34,7 @@ extern char *symbol2str();
 #define commutative_binop(expp, oper, expr)    mk_binop(expp, oper, expr, 1)
 #define non_commutative_relop(expp, oper, expr)        mk_binop(expp, oper, expr, 1)
 
+void
 ch3bin(expp, oper, expr)
        register struct expr **expp;
        struct expr *expr;
@@ -292,6 +295,7 @@ ch3bin(expp, oper, expr)
        }
 }
 
+void
 pntminuspnt(expp, oper, expr)
        register struct expr **expp, *expr;
 {
index 1beeb12..abfd2b2 100644 (file)
@@ -64,6 +64,8 @@ extern char options[];
 extern char *symbol2str();
 extern char *source;
 
+void loc_init();
+
 #ifndef        LINT
 init_code(dst_file)
        char *dst_file;
@@ -415,6 +417,7 @@ do_return_expr(expr)
        return_expr_occurred = 1;
 }
 
+void
 code_declaration(idf, expr, lvl, sc)
        register struct idf *idf;       /* idf to be declared   */
        struct expr *expr;      /* initialisation; NULL if absent       */
@@ -527,6 +530,7 @@ code_declaration(idf, expr, lvl, sc)
        }
 }
 
+void
 loc_init(expr, id)
        struct expr *expr;
        struct idf *id;
@@ -721,6 +725,7 @@ code_break()
        it generates a branch instruction to the continue label of the
        innermost statement in which continue has a meaning.
 */
+void
 code_continue()
 {
        register struct stmt_block *stmt_block = stmt_stack;
index 4173a11..d0fe7a9 100644 (file)
@@ -34,6 +34,9 @@ char ifstack[IFDEPTH];        /* if-stack: the content of an entry is */
 
 int    nestlevel = -1;
 
+void macro_def();
+void do_define();
+
 struct idf *
 GetIdentifier(skiponerr)
        int skiponerr;          /* skip the rest of the line on error */
@@ -145,6 +148,7 @@ domacro()
 int lint_skip_comment;
 #endif
 
+void
 skip_block(to_endif)
 int to_endif;
 {
@@ -347,6 +351,7 @@ do_include()
        }
 }
 
+void
 do_define()
 {
        /*      do_define() interprets a #define control line.
@@ -574,6 +579,7 @@ getparams(buf, parbuf)
        /*NOTREACHED*/
 }
 
+void
 macro_def(id, text, nformals, length, flags)
        register struct idf *id;
        char *text;
index 10b237d..6f2283b 100644 (file)
@@ -57,7 +57,7 @@ extern char loptions[];
        expression, whereas other errors use the information in the token.
 */
 
-static _error();
+static void _error();
 
 #if __STDC__
 /*VARARGS*/
@@ -521,7 +521,7 @@ fatal(va_alist)                             /* fmt, args */
 }
 #endif
 
-static
+static void
 _error(class, fn, ln, fmt, ap)
        int class;
        char *fn;
index 16f19c0..f678682 100644 (file)
@@ -37,6 +37,9 @@ arith NewLocal();     /* util.c */
 #define LocalPtrVar()  NewLocal(pointer_size, pointer_align, reg_pointer, REGISTER)
 extern int     err_occurred; /* error.c */
 
+void store_val();
+void load_val();
+
 /*     EVAL() is the main expression-tree evaluator, which turns
        any legal expression tree into EM code. parameters.h:
 
@@ -63,6 +66,7 @@ extern int    err_occurred; /* error.c */
                labels, in case they are specified (i.e. are non-zero)
 */
 
+void
 EVAL(expr, val, code, true_label, false_label)
        register struct expr *expr;
        int val, code;
@@ -836,6 +840,7 @@ ptr_add(size)
        - into a local static variable
        - absolute addressing
 */
+void
 store_val(vl, tp)
        register struct value *vl;
        register struct type *tp;
@@ -907,6 +912,7 @@ store_val(vl, tp)
        - static variable
        - local variable
 */
+void
 load_val(expr, rlval)
        register struct expr *expr; /* expression containing the value  */
        int rlval;              /* generate either LVAL or RVAL         */
index 6d8c1e2..3a7e3c4 100644 (file)
@@ -369,6 +369,7 @@ new_oper(tp, e1, oper, e2)
        return expr;
 }
 
+void
 chk_cst_expr(expp)
        struct expr **expp;
 {
index eb43e34..4edc884 100644 (file)
@@ -37,6 +37,8 @@ extern char *symbol2str();
 
 #include <idf_pkg.body>
 
+void global_redecl();
+
 struct idf *
 gen_idf()
 {
@@ -248,6 +250,7 @@ declare_idf(ds, dc, lvl)
        }
 }
 
+int
 actual_declaration(sc, tp)
        int sc;
        struct type *tp;
@@ -269,6 +272,7 @@ actual_declaration(sc, tp)
        return 1;
 }
 
+void
 global_redecl(idf, new_sc, tp)
        register struct idf *idf;
        struct type *tp;
@@ -393,6 +397,7 @@ declare_params(dc)
        }
 }
 
+void
 idf_initialized(idf)
        register struct idf *idf;
 {
@@ -429,6 +434,7 @@ declare_enum(tp, idf, l)
        idf->id_def->df_address = l;
 }
 
+void
 check_formals(idf, dc)
        struct idf *idf;
        struct declarator *dc;
index b085ebc..757bb72 100644 (file)
@@ -46,6 +46,11 @@ static int pack_level;
 struct type **gen_tphead(), **gen_tpmiddle();
 struct sdef *gen_align_to_next();
 struct e_stack *p_stack;
+
+void pad();
+void gen_simple_exp();
+void gen_tpcheck();
+
 }
 
 /* initial_value recursively guides the initialisation expression.
@@ -122,6 +127,7 @@ initial_value_list(register struct type **tpp; struct expr **expp;)
 ;
 
 {
+void
 gen_tpcheck(tpp)
        struct type **tpp;
 {
@@ -147,6 +153,7 @@ gen_tpcheck(tpp)
        }
 }
 
+void
 gen_simple_exp(tpp, expp)
        struct type **tpp;
        struct expr **expp;
@@ -465,6 +472,7 @@ check_and_pad(expp, tpp)
 /*     pad() fills an element of type tp with zeroes.
        If the element is an aggregate, pad() is called recursively.
 */
+void
 pad(tpx)
        struct type *tpx;
 {
index 556e234..1bb72ae 100644 (file)
@@ -46,6 +46,8 @@ struct sp_id special_ids[] =  {
        {0, 0}
 };
 
+void dependency();
+
 #ifndef NOCROSS
 arith
        short_size = SZ_SHORT,
@@ -181,6 +183,7 @@ char *s;
     }
 }
 
+void
 dependency(s, source)
 char *s, *source;
 {
index 1f7f6bf..b237f34 100644 (file)
@@ -26,6 +26,7 @@
 
 extern char options[];
 
+void
 check_for_void(pl)
        register struct proto *pl;
 {
@@ -261,6 +262,7 @@ declare_protos(dc)
 }
 
 
+void
 update_proto(tp, otp)
        register struct type *tp, *otp;
 {
@@ -312,6 +314,7 @@ update_proto(tp, otp)
 /* struct/union and enum tags can be declared inside prototypes
  * remove them from the symbol-table
  */
+void
 remove_proto_tag(tp)
 struct type *tp;
 {
@@ -380,6 +383,7 @@ remove_proto_idfs(pl)
        }
 }
 
+void
 call_proto(expp)
        register struct expr **expp;
 {
index cde3aaf..50978be 100644 (file)
@@ -26,6 +26,10 @@ extern int InputLevel;
 struct repl *ReplaceList;      /* list of currently active macros */
 extern char *strcat(), *strcpy();
 
+void macro2buffer();
+void getactuals();
+void expand_defined();
+
 int
 replace(idf)
        register struct idf *idf;
@@ -172,6 +176,7 @@ expand_macro(repl, idf)
        return 1;
 }
 
+void
 expand_defined(repl)
        register struct repl *repl;
 {
@@ -211,6 +216,7 @@ newarg(args)
        args->a_rawptr = args->a_rawbuf = Malloc(args->a_rawsize = ARGBUF);
 }
 
+void
 getactuals(repl, idf)
        struct repl *repl;
        register struct idf *idf;
@@ -529,6 +535,7 @@ macro_func(idef)
        }
 }
 
+void
 macro2buffer(repl, idf, args)
        register struct repl *repl;
        register struct idf *idf;
index 8c00838..f80b360 100644 (file)
@@ -72,7 +72,7 @@ adds_db_str(s)
        while (*s) addc_db_str(*s++);
 }
 
-static
+static void
 stb_type(tp)
        register struct type    *tp;
 {
index 49dfbfa..c8616b8 100644 (file)
@@ -57,6 +57,7 @@ stack_level() {
 #endif /* LINT */
 }
 
+void
 stack_idf(idf, stl)
        struct idf *idf;
        register struct stack_level *stl;
index 856e1b1..3cce2c6 100644 (file)
@@ -159,6 +159,7 @@ code_endswitch()
        unstack_stmt();
 }
 
+void
 code_case(expr)
        struct expr *expr;
 {
@@ -227,6 +228,7 @@ code_case(expr)
        }
 }
 
+void
 code_default()
 {
        register struct switch_hdr *sh = switch_stack;
index 7326f04..273fa8d 100644 (file)
@@ -163,6 +163,7 @@ LocalFinish()
 #endif
 }
 
+void
 RegisterAccount(offset, size, regtype, sc)
        arith offset, size;
 {
index 3cd1628..dbf8d9e 100644 (file)
@@ -35,6 +35,8 @@ extern arith  char_constant();
 #define                FLG_ESEEN       0x01    /* possibly a floating point number */
 #define                FLG_DOTSEEN     0x02    /* certainly a floating point number */
 
+void skipcomment();
+
 int
 LLlex()
 {
@@ -325,6 +327,7 @@ garbage:
        /*NOTREACHED*/
 }
 
+void
 skipcomment()
 {
        /*      The last character read has been the '*' of '/_*'.  The
index a5cc940..306ed32 100644 (file)
@@ -32,6 +32,9 @@ int   svnestlevel[30] = {-1};
 int    nestcount;
 extern int do_preprocess;
 
+void macro_def();
+void do_define();
+
 char *
 GetIdentifier(skiponerr)
        int skiponerr;          /* skip the rest of the line on error */
@@ -148,6 +151,7 @@ domacro()
        }
 }
 
+void
 skip_block(to_endif)
 int to_endif;
 {
@@ -327,6 +331,7 @@ do_include()
        }
 }
 
+void
 do_define()
 {
        /*      do_define() interprets a #define control line.
@@ -566,6 +571,7 @@ getparams(buf, parbuf)
        /*NOTREACHED*/
 }
 
+void
 macro_def(id, text, nformals, length, flags)
        register struct idf *id;
        char *text;
index db444ae..225562b 100644 (file)
@@ -32,6 +32,8 @@ char *prog_name;
 extern char **inctable;
 extern int inc_max, inc_total;
 
+void dependency();
+
 main(argc, argv)
        char *argv[];
 {
@@ -140,6 +142,7 @@ add_dependency(s)
        }
 }
 
+void
 dependency(s, source)
        char *s, *source;
 {
index 7c3840d..3d26b18 100644 (file)
@@ -102,6 +102,7 @@ do_pragma()
 
 char Xbuf[256];
 
+void
 preprocess(fn)
        char *fn;
 {
index 255902f..cd7d606 100644 (file)
@@ -26,6 +26,10 @@ extern char *strcat();
 extern int InputLevel;
 struct repl *ReplaceList;      /* list of currently active macros */
 
+void expand_defined();
+void getactuals();
+void macro2buffer();
+
 int
 replace(idf)
        register struct idf *idf;
@@ -165,6 +169,7 @@ expand_macro(repl, idf)
        return 1;
 }
 
+void
 expand_defined(repl)
        register struct repl *repl;
 {
@@ -208,6 +213,7 @@ newarg(args)
        args->a_rawptr = args->a_rawbuf = Malloc((unsigned)(args->a_rawsize = ARGBUF));
 }
 
+void
 getactuals(repl, idf)
        struct repl *repl;
        register struct idf *idf;
@@ -522,6 +528,7 @@ macro_func(idef)
        }
 }
 
+void
 macro2buffer(repl, idf, args)
        register struct repl *repl;
        register struct idf *idf;
index 1eacae7..0839471 100644 (file)
@@ -180,6 +180,7 @@ getch()
        return ch;
 }
 
+void
 CheckForLineDirective()
 {
        register int ch = getch();
index d227e31..a4c2285 100644 (file)
@@ -54,6 +54,9 @@ struct case_entry     {
        arith ce_low, ce_up;            /* lower and upper bound of range */
 };
 
+void AddCases();
+void AddOneCase();
+
 /* STATICALLOCDEF "case_entry" 20 */
 
 /* The constant DENSITY determines when CSA and when CSB instructions
@@ -237,6 +240,7 @@ FreeSh(sh)
        free_switch_hdr(sh);
 }
 
+void
 AddCases(sh, node, lbl)
        struct switch_hdr *sh;
        register t_node *node;
@@ -264,6 +268,7 @@ AddCases(sh, node, lbl)
        AddOneCase(sh, node, node, lbl);
 }
 
+void
 AddOneCase(sh, lnode, rnode, lbl)
        register struct switch_hdr *sh;
        t_node *lnode, *rnode;
index 7dbe5ab..e877256 100644 (file)
@@ -53,6 +53,7 @@ df_error(nd, mess, edf)
        else node_error(nd, mess);
 }
 
+void
 MkCoercion(pnd, tp)
        t_node          **pnd;
        register t_type *tp;
index f74231c..a6d283a 100644 (file)
@@ -37,6 +37,10 @@ extern char  options[];
 extern t_desig null_desig;
 int            fp_used;
 
+void RangeCheck();
+void CodeParameters();
+void CodeCall();
+
 CodeConst(cst, size)
        arith cst;
        int size;
@@ -55,6 +59,7 @@ CodeConst(cst, size)
        }
 }
 
+void
 CodeString(nd)
        register t_node *nd;
 {
@@ -288,6 +293,7 @@ CodeCoercion(t1, t2)
        }
 }
 
+void
 CodeCall(nd)
        register t_node *nd;
 {
@@ -355,6 +361,7 @@ CodeCall(nd)
        DoLineno(nd);
 }
 
+void
 CodeParameters(param, arg)
        t_param *param;
        register t_node *arg;
@@ -672,6 +679,7 @@ needs_rangecheck(tpl, tpr)
        return 0;
 }
 
+void
 RangeCheck(tpl, tpr)
        register t_type *tpl, *tpr;
 {
index c55d438..b7b13f9 100644 (file)
@@ -45,6 +45,8 @@ arith min_int[] =   { 0L, -128L, -32768L, 0L, -2147483647L-1 };
 
 extern char options[];
 
+void CutSize();
+
 overflow(expp)
        t_node *expp;
 {
@@ -160,6 +162,7 @@ divide(pdiv, prem)
 #endif
 }
 
+void
 cstibin(expp)
        t_node **expp;
 {
@@ -351,6 +354,7 @@ cstfbin(expp)
        CutSize(exp);
 }
 
+void
 cstubin(expp)
        t_node **expp;
 {
@@ -457,6 +461,7 @@ cstubin(expp)
        CutSize(exp);
 }
 
+void
 cstset(expp)
        t_node **expp;
 {
@@ -648,6 +653,7 @@ cstcall(expp, call)
        }
 }
 
+void
 CutSize(expr)
        register t_node *expr;
 {
index f2ea83a..2a6ae34 100644 (file)
@@ -533,6 +533,7 @@ CodeFieldDesig(df, ds)
        }
 }
 
+void
 CodeVarDesig(df, ds)
        register t_def *df;
        register t_desig *ds;
index 12f3e4e..ecd004f 100644 (file)
@@ -247,6 +247,7 @@ EnterParamList(ppr, Idlist, type, VARp, off)
 
 STATIC t_def *DoImport();
 
+void
 ImportEffects(idef, scope, flag)
        register t_def *idef;
        t_scope *scope;
@@ -481,6 +482,7 @@ CheckForImports(df)
        }
 }
 
+void
 EnterFromImportList(idlist, FromDef, FromId)
        register t_node *idlist;
        register t_def *FromDef;
index 410f7d1..26b5512 100644 (file)
@@ -61,6 +61,8 @@ extern char *symbol2str();
        node, whereas other errors use the information in the token.
 */
 
+void _error();
+
 #if __STDC__
 #ifdef DEBUG
 /*VARARGS*/
@@ -318,6 +320,7 @@ crash(va_alist)
 }
 #endif
 
+void
 _error(class, node, fmt, ap, warn_class)
        int class;
        t_node *node;
index 910769e..43db6a2 100644 (file)
@@ -81,6 +81,7 @@ dot2leaf(class)
        return nd;
 }
 
+void
 FreeNode(nd)
        register t_node *nd;
 {
index 5aae2a1..4f4e2e3 100644 (file)
@@ -71,7 +71,7 @@ adds_db_str(s)
        while (*s) addc_db_str(*s++);
 }
 
-static
+static void
 stb_type(tp, assign_num)
        register t_type *tp;
 {
index 247e5e2..b70f2b4 100644 (file)
@@ -74,6 +74,8 @@ t_type
        *std_type,
        *error_type;
 
+void ArraySizes();
+
 t_type *
 construct_type(fund, tp)
        int fund;
@@ -576,6 +578,7 @@ ArrayElSize(tp)
        }
 }
 
+void
 ArraySizes(tp)
        register t_type *tp;
 {
index de9a635..93cc330 100644 (file)
@@ -64,7 +64,7 @@ static int            WalkDef();
 static int             stabdef();
 #endif
 static int             MkCalls();
-static int             UseWarnings();
+static void    UseWarnings();
 
 #define        NO_EXIT_LABEL   ((label) 0)
 #define RETURN_LABEL   ((label) 1)
@@ -72,6 +72,8 @@ static int            UseWarnings();
 #define REACH_FLAG     1
 #define EXIT_FLAG      2
 
+void DoAssign();
+
 int
 LblWalkNode(lbl, nd, exit, reach)
        label lbl, exit;
@@ -995,6 +997,7 @@ node_warning(nd, W_OLDFASHIONED, "compatibility required in FOR statement");
        return 1;
 }
 
+void
 DoAssign(nd)
        register t_node *nd;
 {
@@ -1057,7 +1060,7 @@ RegisterMessage(df)
        }
 }
 
-static
+static void
 df_warning(nd, df, warning)
        t_node  *nd;
        t_def   *df;
@@ -1080,7 +1083,7 @@ df_warning(nd, df, warning)
        }
 }
 
-static
+static void
 UseWarnings(df)
        register t_def *df;
 {
index 6074870..7bd857a 100644 (file)
@@ -120,7 +120,7 @@ CommentOptions()
 }
 
 
-STATIC
+STATIC void
 SkipComment()
 {
        /*      Skip ISO-Pascal comments (* ... *) or { ... }.
@@ -216,6 +216,7 @@ register int delim;
 
 static char *s_error = "illegal line directive";
 
+void
 CheckForLineDirective()
 {
        register int    ch;
index f2f7a1a..091ab69 100644 (file)
@@ -47,6 +47,7 @@ MarkDef(nd, flags, on)
        }
 }
 
+void
 AssertStat(expp, line)
        register struct node *expp;
        unsigned short line;
@@ -69,6 +70,7 @@ AssertStat(expp, line)
        }
 }
 
+void
 AssignStat(left, right)
        register struct node *left, *right;
 {
@@ -131,6 +133,7 @@ AssignStat(left, right)
        FreeNode(right);
 }
 
+void
 ProcStat(nd)
        register struct node *nd;
 {
@@ -142,6 +145,7 @@ ProcStat(nd)
        }
 }
 
+void
 ChkForStat(nd)
        register struct node *nd;
 {
@@ -202,6 +206,7 @@ ChkForStat(nd)
        return;
 }
 
+void
 EndForStat(nd)
        register struct node *nd;
 {
@@ -283,6 +288,7 @@ CodeEndFor(nd, stepsize, l1, l2, tmp2)
        C_asp(int_size);
 }
 
+void
 WithStat(nd)
        struct node *nd;
 {
index 61eba13..554a621 100644 (file)
@@ -40,6 +40,7 @@ struct case_entry     {
 */
 #define        compact(nr, low, up)    (nr != 0 && (up - low) / nr <= DENSITY)
 
+void
 CaseExpr(nd)
        struct node *nd;
 {
@@ -62,6 +63,7 @@ CaseExpr(nd)
        }
 }
 
+void
 CaseEnd(nd, exit_label)
        struct node *nd;
        label exit_label;
index 17f0f7c..1c916c3 100644 (file)
 
 int    fp_used;
 
+void Long2Int();
+void Int2Long();
+void genrck();
+void CodeCall();
+
 CodeFil()
 {
        if ( !options['L'] )
@@ -791,6 +796,7 @@ CodePString(nd, tp)
        C_loi(tp->tp_size);
 }
 
+void
 CodeCall(nd)
        register struct node *nd;
 {
@@ -1095,6 +1101,7 @@ CodeStd(nd)
        }
 }
 
+void
 Long2Int()
 {
        /* convert a long to integer */
@@ -1106,6 +1113,7 @@ Long2Int()
        C_cii();
 }
 
+void
 Int2Long()
 {
        /* convert integer to long */
@@ -1160,6 +1168,7 @@ RangeCheck(tpl, tpr)
        }
 }
 
+void
 genrck(tp)
        register struct type *tp;
 {
index be9dbc3..c4196e5 100644 (file)
@@ -66,6 +66,7 @@ cstunary(expp)
        expp->nd_right = NULLNODE;
 }
 
+void
 cstbin(expp)
        register struct node *expp;
 {
@@ -195,6 +196,7 @@ cstbin(expp)
        expp->nd_left = expp->nd_right = NULLNODE;
 }
 
+void
 cstset(expp)
        register struct node *expp;
 {
index dfc33f4..745bb48 100644 (file)
@@ -116,6 +116,7 @@ define(id, scope, kind)
        return MkDef(id, scope, kind);
 }
 
+void
 DoDirective(directive, nd, tp, scl, function)
        struct idf *directive;
        struct node *nd;
index 68c5512..566bb36 100644 (file)
@@ -26,6 +26,7 @@
 struct desig   InitDesig = {DSG_INIT, 0, 0, NULLDEF, 0};
 struct withdesig *WithDesigs;
 
+void CodeValue();
 
 STATIC int
 properly(ds, size, al)
@@ -71,6 +72,7 @@ CodeCopy(lhs, rhs, sz, psize)
        C_sti(sz);
 }
 
+void
 CodeMove(rhs, left, rtp)
        register struct desig *rhs;
        register struct node *left;
@@ -150,6 +152,7 @@ CodeMove(rhs, left, rtp)
        }
 }
 
+void
 CodeValue(ds, tp)
        register struct desig *ds;
        register struct type *tp;
@@ -366,6 +369,7 @@ CodeFieldDesig(df, ds)
        ds->dsg_packed = df->fld_flags & F_PACKED;
 }
 
+void
 CodeVarDesig(df, ds)
        register struct def *df;
        register struct desig *ds;
index 8a381c6..dd75c79 100644 (file)
@@ -39,6 +39,8 @@ int err_occurred;
 
 extern char *symbol2str();
 
+void _error();
+
 /*     There are three general error-message functions:
                lexerror()      lexical and pre-processor error messages
                error()         syntactic and pre-processor messagese
@@ -304,6 +306,7 @@ crash(va_alist)
 }
 #endif
 
+void
 _error(class, node, fmt, ap)
        int class;
        struct node *node;
index 73745ba..b303b7d 100644 (file)
@@ -12,6 +12,8 @@
 #include       "scope.h"
 #include       "type.h"
 
+void CodeLabel();
+
 
 DeclLabel(nd)
        struct node *nd;
@@ -103,6 +105,7 @@ TstLabel(nd, Slevel)
                CodeLabel(df, 1);
 }
 
+void
 DefLabel(nd, Slevel)
        register struct node *nd;
 {
@@ -139,6 +142,7 @@ DefLabel(nd, Slevel)
        }
 }
 
+void
 CodeLabel(df, local)
        register struct def *df;
 {
index 889e855..1d8a491 100644 (file)
@@ -42,6 +42,7 @@ MkLeaf(class, token)
        return nd;
 }
 
+void
 FreeNode(nd)
        register struct node *nd;
 {
index 1737675..6ed227e 100644 (file)
@@ -15,6 +15,8 @@ static int inpflag = 0;                       /* input mentioned in heading ? */
 static int outpflag = 0;               /* output mentioned in heading ? */
 static label extfl_label;              /* label of array of file pointers */
 
+void make_extfl_args();
+
 set_inp()
 {
        inpflag = 1;
@@ -25,6 +27,7 @@ set_outp()
        outpflag = 1;
 }
 
+void
 make_extfl()
 {
        if( err_occurred ) return; 
@@ -54,6 +57,7 @@ make_extfl()
        make_extfl_args( GlobalScope->sc_def );
 }
 
+void
 make_extfl_args(df)
        register struct def *df;
 {
index 7b62aae..35ed886 100644 (file)
 
 extern char    *sprint();
 
+void CodeRead();
+void CodeReadln();
+void CodeWrite();
+void CodeWriteln();
+
+void
 ChkRead(arg)
        register struct node *arg;
 {
@@ -86,6 +92,7 @@ ChkRead(arg)
        }
 }
 
+void
 ChkReadln(arg)
        register struct node *arg;
 {
@@ -142,6 +149,7 @@ ChkReadln(arg)
        CodeReadln(file);
 }
 
+void
 ChkWrite(arg)
        register struct node *arg;
 {
@@ -183,6 +191,7 @@ ChkWrite(arg)
        }
 }
 
+void
 ChkWriteln(arg)
        register struct node *arg;
 {
@@ -318,6 +327,7 @@ ChkStdInOut(name, st_out)
        return nd;
 }
 
+void
 CodeRead(file, arg)
        register struct node *file, *arg;
 {
@@ -376,6 +386,7 @@ CodeRead(file, arg)
        }
 }
 
+void
 CodeReadln(file)
        struct node *file;
 {
@@ -386,6 +397,7 @@ CodeReadln(file)
        C_asp(pointer_size);
 }
 
+void
 CodeWrite(file, arg)
        register struct node *file, *arg;
 {
@@ -472,6 +484,7 @@ CodeWrite(file, arg)
        }
 }
 
+void
 CodeWriteln(file)
        register struct node *file;
 {
index d5e4ee3..0b8c52f 100644 (file)
@@ -71,7 +71,7 @@ adds_db_str(s)
        while (*s) addc_db_str(*s++);
 }
 
-static
+static void
 stb_type(tp, assign_num)
        register struct type    *tp;
 {
@@ -247,6 +247,7 @@ stb_addtp(s, tp)
                     (arith) 0);
 }
 
+void
 stb_string(df, kind)
        register struct def *df;
        long kind;
index b5662c6..faca8fe 100644 (file)
@@ -51,6 +51,8 @@ struct type
        *void_type,
        *error_type;
 
+void ArraySizes();
+
 CheckTypeSizes()
 {
        /* first, do some checking
@@ -442,6 +444,7 @@ ArrayElSize(tp, packed)
        return algn;
 }
 
+void
 ArraySizes(tp)
        register struct type *tp;
 {
@@ -489,6 +492,7 @@ ArraySizes(tp)
        C_rom_cst(tp->arr_elsize);
 }
 
+void
 FreeForward(for_type)
        register struct forwtype *for_type;
 {
index 9853c6c..8d638c9 100644 (file)
@@ -38,6 +38,7 @@ ea_1_16(param)
         }
 }
 
+void
 ea_1(param) {
        if (! address_long) {
                ea_1_16(param);
@@ -134,6 +135,7 @@ regsize(sz)
        }
 }
 
+void
 indexed() {
        if (address_long) {
                mod_2 = 0;
index e3b7405..7514d67 100644 (file)
@@ -61,6 +61,7 @@ string holstr(n) word n; {
 full lbytes;
 #endif
 
+void
 prolog(nlocals) full nlocals; {
 
        fputs("push ebp\nmov ebp,esp\n", codefile);
@@ -179,6 +180,7 @@ mach_option(s)
 }
 #endif /* MACH_OPTIONS */
 
+void
 mes(type) word type ; {
        int argt, a1, a2 ;
 
index 7cf0b92..9f952f0 100644 (file)
@@ -54,6 +54,7 @@ con_float() {
 }
 
 
+void
 prolog(nlocals) full nlocals; {
 
        fprintf(codefile,"\tpush\tb\n\tlxi\th,0\n\tdad\tsp\n\tmov\tb,h\n\tmov\tc,l\n");
@@ -67,6 +68,7 @@ prolog(nlocals) full nlocals; {
        }
 }
 
+void
 mes(type) word type ; {
        int argt ;
 
index e222522..a305d6d 100644 (file)
@@ -61,6 +61,7 @@ string holstr(n) word n; {
 full lbytes;
 #endif
 
+void
 prolog(nlocals) full nlocals; {
 
        fputs("\tpush\tbp\n\tmov\tbp,sp\n", codefile);
@@ -157,6 +158,7 @@ regreturn()
 }
 #endif /* REGVARS */
 
+void
 mes(type) word type ; {
        int argt ;
 
index 12ccf08..e623bd0 100644 (file)
@@ -21,6 +21,8 @@
  * then emitted in one go, by emit_instr().
  */
 
+void move_special();
+
 emit_instr()
 {
        register instr_t *ip;
@@ -70,6 +72,7 @@ long words;
        T_EMIT2((short)(words), 0, 0, 0);
 }
 
+void
 ea_1(sz, bits)
 {
                /* Because displacements come in three sizes (null displacement,
@@ -242,6 +245,7 @@ badoperand()
        serror("bad operand(s)");
 }
 
+void
 shift_op(opc, sz)
 {
        if (mrg_1 < 010 && mrg_2 < 010) {
@@ -263,6 +267,7 @@ shift_op(opc, sz)
        ea_2(SIZE_W, MEM|ALT);
 }
 
+void
 bitop(opc)
 {
        register bits;
@@ -291,6 +296,7 @@ bitfield(opc, extension)
        ea_2(SIZE_L, (mrg_2 < 010) ? 0 : (CTR | ALT));
 }
 
+void
 add(opc, sz)
 {
        if ((mrg_2 & 070) == 010)
@@ -326,6 +332,7 @@ add(opc, sz)
        badoperand();
 }
 
+void
 and(opc, sz)
 {
        if (mrg_1 == 074 && mrg_2 >= 076) {     /* ccr or sr */
@@ -370,6 +377,7 @@ from_dreg(opc, sz, bits)
        return(1);
 }
 
+void
 cmp(sz)
 {
        register opc;
@@ -416,6 +424,7 @@ link_instr(sz, areg)
        ea_2(sz, 0);
 }
 
+void
 move(sz)
 {
        register opc;
@@ -448,6 +457,7 @@ move(sz)
        ea_2(sz, ALT);
 }
 
+void
 move_special(sz)
 {
        if (mrg_2 >= 076) {
@@ -514,6 +524,7 @@ reverse(regs, max)
        return regs;
 }
 
+void
 movep(sz)
 {
        checksize(sz, 2|4);
@@ -530,6 +541,7 @@ movep(sz)
        badoperand();
 }
 
+void
 branch(opc, exp)
 expr_t exp;
 {
@@ -566,6 +578,7 @@ expr_t exp;
        T_EMIT4(exp.val, exp.typ, RELPC|RELO4, relonami);
 }
 
+void
 cpbcc(opc, exp)
 expr_t exp;
 {
@@ -593,6 +606,7 @@ expr_t exp;
        T_EMIT4(exp.val, exp.typ, RELPC|RELO4, relonami);
 }
 
+void
 ea7071(sz)
 {
        mrg_2 = 071;
@@ -671,6 +685,7 @@ ea7071(sz)
                        mrg_2 = 070;
 }
 
+void
 fbranch(opc, exp)
 expr_t exp;
 {
index 6759772..915b4f6 100644 (file)
@@ -187,6 +187,7 @@ regsave(s,off,size)
        fprintf(codefile, "!Local %ld into %s\n",off,s);
 }
 
+void
 prolog(n) full n; {
 
        nlocals = n;
@@ -207,6 +208,7 @@ mach_option(s)
 }
 #endif /* MACH_OPTIONS */
 
+void
 mes(type) word type ; {
        int argt, a1, a2 ;
 
index 39c6362..e4ab3c0 100644 (file)
@@ -56,6 +56,7 @@ con_mult(word sz)
 #define FL_MSB_AT_LOW_ADDRESS  1
 #include <con_float>
 
+void
 prolog(full nlocals)
 {
        int ss = nlocals + 8;
@@ -68,6 +69,7 @@ prolog(full nlocals)
        framesize = nlocals;
 }
 
+void
 mes(word type)
 {
        int argt ;
index 9adff1e..473cb12 100644 (file)
@@ -18,6 +18,9 @@
 
 extern YYSTYPE yylval;
 
+void setupoutput();
+void commfinish();
+
 /* ========== Machine independent C routines ========== */
 
 void stop() {
@@ -458,6 +461,7 @@ char *s;
 #endif
 }
 
+void
 setupoutput()
 {
        register sect_t *sp;
@@ -493,6 +497,7 @@ setupoutput()
        outhead.oh_nchar = off; /* see newsymb() */
 }
 
+void
 commfinish()
 {
 #ifndef ASLD
index 276cc2f..7dee7c1 100644 (file)
@@ -11,6 +11,8 @@
 
 extern YYSTYPE yylval;
 
+void putval();
+
 yylex()
 {
        register c;
@@ -68,6 +70,7 @@ yylex()
        return(c);
 }
 
+void
 putval(c)
 {
        register valu_t v;
index f5bd87f..9cb943c 100644 (file)
 #include       "comm1.h"
 #include       "y.tab.h"
 
+void switchsect();
+void newsymb();
+void newident();
+
 newequate(ip, typ)
 register item_t *ip;
 register int typ;
@@ -34,6 +38,7 @@ register int typ;
        newident(ip, typ);
 }
 
+void
 newident(ip, typ)
 register item_t *ip;
 {
@@ -74,6 +79,7 @@ register item_t *ip;
                );
 }
 
+void
 newlabel(ip)
 register item_t *ip;
 {
@@ -183,6 +189,7 @@ valu_t val;
        }
 }
 
+void
 switchsect(newtyp)
 int newtyp;
 {
@@ -242,6 +249,7 @@ valu_t bytes;
 }
 
 #ifdef RELOCATION
+void
 newrelo(s, n)
 {
        int     iscomm;
@@ -326,6 +334,7 @@ new_string(s)
        return r;
 }
 
+void
 newsymb(name, type, desc, valu)
 register char *name;
 valu_t valu;
index f407aa8..d32417e 100644 (file)
@@ -120,6 +120,7 @@ string tostring(n) register word n; {
        return(mystrcpy(buf));
 }
 
+void
 compute(node, presult) register node_p node; register result_t *presult; {
        result_t leaf1,leaf2;
        register token_p tp;
index a781231..ace0688 100644 (file)
@@ -29,6 +29,8 @@ int maxindex;
 int regclass[NREGS];
 struct perm *perms;
 
+void permute();
+
 struct perm *
 tuples(regls,nregneeded) rl_p *regls; {
        int class=0;
@@ -64,6 +66,7 @@ tuples(regls,nregneeded) rl_p *regls; {
        return(perms);
 }
 
+void
 permute(index) {
        register struct perm *pp;
        register rl_p rlp;
index 516239b..447faeb 100644 (file)
@@ -83,6 +83,13 @@ extern short em_ptyp[];
 extern double atof();
 
 void prolog(full nlocals);
+void mes();
+void bss();
+void savelab();
+void dumplab();
+void part_flush();
+void xdumplab();
+void switchseg();
 
 /* Own version of atol that continues computing on overflow.
    We don't know that about the ANSI C one.
@@ -136,6 +143,7 @@ in_start() {
 in_finish() {
 }
 
+void
 fillemlines() {
        register int t,i;
        register struct emline *lp;
@@ -226,6 +234,7 @@ fillemlines() {
        }
 }
 
+void
 dopseudo() {
        register b,t;
        register full n;
@@ -605,6 +614,7 @@ char *strarg(t) {
        return(mystrcpy(argstr));
 }
 
+void
 bss(n,t,b) full n; {
        register long s = 0;
 
@@ -677,6 +687,7 @@ swtxt() {
        switchseg(SEGTXT);
 }
 
+void
 switchseg(s) {
 
        if (s == curseg)
@@ -686,6 +697,7 @@ switchseg(s) {
                fprintf(codefile,"%s\n",segname[s]);
 }
 
+void
 savelab() {
        register char *p,*q;
 
@@ -700,6 +712,7 @@ savelab() {
                ;
 }
 
+void
 dumplab() {
 
        if (labstr[0] == 0)
@@ -709,6 +722,7 @@ dumplab() {
        labstr[0] = 0;
 }
 
+void
 xdumplab() {
 
        if (labstr[0] == 0)
@@ -717,6 +731,7 @@ xdumplab() {
        newdlb(labstr);
 }
 
+void
 part_flush() {
 
        /*
index b9b8902..415d59f 100644 (file)
@@ -108,6 +108,7 @@ gennl() {
        putc('\n',codefile);
 }
 
+void
 prtoken(tp,leadingchar) token_p tp; {
        register c;
        register char *code;
index 88e36ee..0c19258 100644 (file)
@@ -7,6 +7,7 @@
 static label_p label_list = (label_p)0;
 extern char *myalloc();
 
+void
 add_label(num, height, flth)
 {
        register label_p lbl = (label_p)0;
index dd791d6..4c11da2 100644 (file)
@@ -42,6 +42,7 @@ linkreg(of,sz,tp,sc) long of; {
        return(rvlp);
 }
 
+void
 tryreg(rvlp,typ) register struct regvar *rvlp; {
        int score;
        register i;
index 1826f17..e110d75 100644 (file)
@@ -32,6 +32,8 @@ static char rcsid[] = "$Id$";
 char *stab[MAXSTAB];
 int nstab=0;
 
+void chkstr();
+
 string myalloc(size) {
        register string p;
 
@@ -72,6 +74,7 @@ compar(p1,p2) char **p1,**p2; {
        return(1);
 }
 
+void
 garbage_collect() {
        register i;
        struct emline *emlp;
@@ -116,6 +119,7 @@ garbage_collect() {
        nstab = fillp-stab;
 }
 
+void
 chkstr(str,used) string str; char used[]; {
        register low,middle,high;
 
index 23d074b..4656ba8 100644 (file)
@@ -23,6 +23,8 @@ static char rcsid[] = "$Id$";
 
 extern int nstab;      /* salloc.c */
 
+void bmove();
+
 savestatus(sp) register state_p sp; {
 
        sp->st_sh = stackheight;
@@ -57,6 +59,7 @@ restorestatus(sp) register state_p sp; {
        popstr(sp->st_ns);
 }
 
+void
 bmove(from,to,nbytes) register short *from,*to; register nbytes; {
 
        if (nbytes<=0)
index 7d99ebc..0f1b8ed 100644 (file)
@@ -49,6 +49,7 @@ match(tp,tep,optexp) register token_p tp; register set_p tep; {
        return(result.e_v.e_con);
 }
 
+void
 instance(instno,token) register token_p token; {
        register inst_p inp;
        int i;
@@ -145,6 +146,7 @@ instance(instno,token) register token_p token; {
        }
 }
 
+void
 cinstance(instno,token,tp,regno) register token_p token,tp; {
        register inst_p inp;
        int i;
index 5a9f842..178dd45 100644 (file)
@@ -23,6 +23,9 @@ struct variable ANY;  /* ANY symbol matching any instruction */
 
 char *REST;  /* Opcode of first instruction not matched by current pattern */
 
+void labeldef();
+void set_opcode();
+
 #include "gen.c"
 
 
@@ -170,6 +173,7 @@ write_first(w)
 
 /* Try to recognize the opcode part of an instruction */
 
+void
 set_opcode(ip)
        register instr_p ip;
 {
@@ -318,6 +322,7 @@ bool split_operands(ip)
 
 
 
+void
 labeldef(ip)
        register instr_p ip;
 {
index 124e8a9..8832f74 100644 (file)
@@ -54,7 +54,7 @@ void prolog(full nlocals)
        framesize = nlocals;
 }
 
-mes(word type)
+void mes(word type)
 {
        int argt ;
 
index 21d8a9f..6efe80c 100644 (file)
@@ -40,9 +40,9 @@ STATIC prline();
 STATIC printset();
 STATIC int check();
 STATIC moreverbose();
-STATIC prrule();
+STATIC void prrule(p_gram p);
 STATIC cfcheck();
-STATIC resolve();
+STATIC void resolve(p_gram p);
 STATIC propagate();
 STATIC spaces();
 
@@ -283,7 +283,7 @@ moreverbose(t) register p_set t; {
 }
 
 STATIC
-prrule(p) register p_gram p; {
+void prrule(p_gram p) {
        /*
         * Create a verbose printout of grammar rule p
         */
@@ -420,7 +420,7 @@ cfcheck(s1,s2,flag) p_set s1,s2; {
 }
 
 STATIC
-resolve(p) register p_gram p; {
+void resolve(p_gram p) {
        /*
         * resolve conflicts, as specified by the user
         */
index c17d99d..c16c672 100644 (file)
@@ -41,7 +41,7 @@ typedef struct lngth {
 /* Defined in this file : */
 extern do_compute();
 STATIC createsets();
-STATIC walk();
+STATIC void walk();
 STATIC co_trans();
 STATIC int nempty();
 extern empty();
@@ -49,15 +49,15 @@ STATIC int nfirst();
 STATIC first();
 STATIC int nfollow();
 STATIC follow();
-STATIC co_dirsymb();
+STATIC void co_dirsymb();
 STATIC co_others();
 STATIC do_lengthcomp();
-STATIC complength();
-STATIC add();
+STATIC void complength();
+STATIC void add();
 STATIC int compare();
-STATIC setdefaults();
+STATIC void setdefaults();
 STATIC do_contains();
-STATIC contains();
+STATIC void contains();
 STATIC int nsafes();
 STATIC int do_safes();
 #ifdef NON_CORRECTING
@@ -208,7 +208,7 @@ createsets() {
        }
 }
 
-STATIC
+STATIC void
 walk(u, p) p_set u; register p_gram p; {
        /*
         * Walk through the grammar rule p, allocating sets
@@ -658,7 +658,7 @@ nc_follow(setp,p) p_set setp; register p_gram p; {
 
 #endif
 
-STATIC
+STATIC void
 co_dirsymb(setp,p) p_set setp; register p_gram p; {
        /*
         * Walk the rule p, doing the work for alternations
@@ -777,7 +777,7 @@ do_lengthcomp() {
        free ((p_mem) length);
 }
 
-STATIC
+STATIC void
 complength(p,le) register p_gram p; p_length le; {
        /*
         * Walk grammar rule p, computing minimum lengths
@@ -862,7 +862,7 @@ complength(p,le) register p_gram p; p_length le; {
        }
 }
 
-STATIC
+STATIC void
 add(a, c, v) register p_length a; {
 
        if (a->cnt == INFINITY || c == INFINITY) {
@@ -879,7 +879,7 @@ compare(a, b) register p_length a, b; {
        return a->val - b->val;
 }
 
-STATIC
+STATIC void
 setdefaults(p) register p_gram p; {
        for (;;) {
                switch(g_gettype(p)) {
@@ -949,7 +949,7 @@ do_contains(n) register p_nont n; {
        }
 }
 
-STATIC
+STATIC void
 contains(p,set) register p_gram p; register p_set set; {
        /*
         * Does the real computation of the contains-sets
index 94dd312..4843195 100644 (file)
@@ -57,24 +57,24 @@ STATIC              genncrecovery();
 #endif
 STATIC string  genname();
 STATIC         generate();
-STATIC         prset();
-STATIC         macro();
+STATIC void prset();
+STATIC void macro();
 STATIC         controlline();
 STATIC         getparams();
 STATIC         getansiparams();
 STATIC         genprototypes();
 STATIC         gettok();
-STATIC         rulecode();
+STATIC void rulecode();
 STATIC int *   dopush();
 STATIC int *   mk_tokenlist();
-STATIC         getaction();
-STATIC         alternation();
+STATIC void getaction();
+STATIC void alternation();
 STATIC         codeforterm();
 STATIC         genswhead();
 STATIC         gencases();
 STATIC         genpush();
 STATIC         genpop();
-STATIC         genincrdecr();
+STATIC void genincrdecr();
 STATIC         add_cases();
 STATIC int     analyze_switch();
 STATIC         out_list();
@@ -414,7 +414,7 @@ generate(f) p_file f; {
        }
 }
 
-STATIC
+STATIC void
 prset(p) p_set p; {
        register int k;
        register unsigned i;
@@ -435,7 +435,7 @@ prset(p) p_set p; {
        /* NOTREACHED */
 }
 
-STATIC
+STATIC void
 macro(s,n) string s; p_nont n; {
        int i;
 
@@ -625,7 +625,7 @@ gettok() {
        }
 }
 
-STATIC
+STATIC void
 rulecode(p,safety,mustscan,mustpop) register p_gram p; {
        /*
         * Code for a production rule.
@@ -735,7 +735,7 @@ rulecode(p,safety,mustscan,mustpop) register p_gram p; {
        }
 }
 
-STATIC
+STATIC void
 alternation(pp, safety, mustscan, mustpop, lb)
        p_gram pp;
 {
@@ -956,7 +956,7 @@ dopush(p,safety,toplevel,pp) register p_gram p; int **pp; {
 
 # define max(a,b) ((a) < (b) ? (b) : (a))
 
-STATIC
+STATIC void
 getaction(flag) {
        /* Read an action from the action file.
         * flag = 1 if it is an action,
@@ -1252,7 +1252,7 @@ genpush(d) {
        genincrdecr("incr", d);
 }
 
-STATIC
+STATIC void
 genincrdecr(s, d) string s; {
        if (d == NOPOP) return;
        if (d >= 0) {
index 733c0d8..ca4b05f 100644 (file)
@@ -36,7 +36,7 @@ extern                error();
 extern         fatal();
 extern         comfatal();
 extern         copyfile();
-extern         install();
+extern void install();
 extern char    *mktemp();
 extern char    *sbrk();
 
@@ -279,6 +279,7 @@ error(lineno,s,t,u) string  s,t,u; {
 }
 
 /* VARARGS1 */
+void
 warning(lineno,s,t,u) string   s,t,u; {
        /*
         * Just a warning
@@ -327,6 +328,7 @@ copyfile(file) string file; {
        fclose(f);
 }
 
+void
 install(target, source) string target, source; {
        /*
         * Copy the temporary file generated from source to target
index a950539..a8ca81a 100644 (file)
@@ -29,7 +29,7 @@ static string rcsid8 = "$Id$";
 /* In this file the following routines are defined: */
 extern co_reach();
 STATIC reachable();
-STATIC reachwalk();
+STATIC void reachwalk();
 
 co_reach() {
        /*
@@ -94,7 +94,7 @@ reachable(p) register p_nont p; {
        }
 }
 
-STATIC
+STATIC void
 reachwalk(p) register p_gram p; {
        /*
         * Walk through rule p, looking for nonterminals.
index 625dc1b..a32935e 100644 (file)
@@ -41,8 +41,8 @@ extern p_set start_firsts;
 extern p_set setalloc();
 extern p_gram search();
 
-STATIC save_rule();
-STATIC save_set();
+STATIC void save_rule();
+STATIC void save_set();
 
 /* t_list will contain terms to be `flattened' */
 static struct t_list {
@@ -267,7 +267,7 @@ save_grammar(f) FILE *f; {
        fprintf(fgram, "#define LLNNONTERMINALS %d\n", nt_highest - assval + 1);
 }
 
-STATIC
+STATIC void
 save_rule(p, tail) register p_gram p; int tail; {
 /*
  Walk through rule p, saving it. The non-terminal tail is
@@ -363,7 +363,7 @@ save_rule(p, tail) register p_gram p; int tail; {
        }
 }
 
-STATIC
+STATIC void
 save_set(p) p_set p; {
        register int k;
        register unsigned i;
index 8fa2b36..6526ec1 100644 (file)
@@ -92,13 +92,13 @@ extern int  scanner();
 extern         LLmessage();
 extern int     input();
 extern         unput();
-extern         skipcomment();
+extern void skipcomment();
 # ifdef LINE_DIRECTIVE
 STATIC         linedirective();
 # endif
 STATIC string  cpy();
 STATIC string  vallookup();
-STATIC         copyact();
+STATIC void copyact();
 
 static int     nparams;
 # line 75 "tokens.g"
@@ -144,7 +144,7 @@ static t_token      savedtok;       /* to save lextoken in case of an insertion */
 static int     nostartline;    /* = 0 if at the start of a line */
 # endif
 
-STATIC
+STATIC void
 copyact(ch1,ch2,flag,level) char ch1,ch2; {
        /*
         * Copy an action to file f. Opening bracket is ch1, closing bracket
@@ -419,7 +419,7 @@ unput(c) {
        backupc = c;
 }
 
-skipcomment(flag) {
+void skipcomment(flag) {
        /*
         * Skip comment. If flag != 0, the comment is inside a fragment
         * of C-code, so keep it.
index fbdd83d..51b83fc 100644 (file)
@@ -33,13 +33,13 @@ extern int  scanner();
 extern         LLmessage();
 extern int     input();
 extern         unput();
-extern         skipcomment();
+extern void skipcomment();
 # ifdef LINE_DIRECTIVE
 STATIC         linedirective();
 # endif
 STATIC string  cpy();
 STATIC string  vallookup();
-STATIC         copyact();
+STATIC void copyact();
 
 static int     nparams;
 }
@@ -114,7 +114,7 @@ static t_token      savedtok;       /* to save lextoken in case of an insertion */
 static int     nostartline;    /* = 0 if at the start of a line */
 # endif
 
-STATIC
+STATIC void
 copyact(ch1,ch2,flag,level) char ch1,ch2; {
        /*
         * Copy an action to file f. Opening bracket is ch1, closing bracket
@@ -389,6 +389,7 @@ unput(c) {
        backupc = c;
 }
 
+void
 skipcomment(flag) {
        /*
         * Skip comment. If flag != 0, the comment is inside a fragment
index b47376b..f2dbc8e 100644 (file)
@@ -143,6 +143,7 @@ rmfile(file) path *file ; {
        }
 }
 
+void
 rmtemps() {
        /* Called in case of disaster, always remove the current output file!
        */
index ca089d4..81c3c00 100644 (file)
@@ -50,6 +50,7 @@ gr_cat(id,string) growstring *id ; char *string ; {
        }
 }
 
+void
 gr_throw(id) register growstring *id ; {
        /* Throw the string away */
        if ( id->gr_max==0 ) return ;
index 5583874..9b95110 100644 (file)
@@ -20,7 +20,7 @@ typedef struct {
 
 /* Routines used */
 
-extern  int     gr_throw() ;    /* To free the core */
+extern  void    gr_throw() ;    /* To free the core */
 extern  int     gr_add() ;      /* To add one character */
 extern  int     gr_cat() ;      /* concatenate the contents and the string */
 extern  int     gr_init() ;     /* Initialize the bookkeeping */
index 82c1888..99e27dc 100644 (file)
@@ -24,6 +24,8 @@ static int arg_count;
 
 extern  char    *getenv();
 
+void vieuwargs();
+
 main(argc,argv) char **argv ; {
        register list_elem *elem ;
        register char *frontend ;
@@ -136,6 +138,7 @@ varinit() {
 
 /************************* flag processing ***********************/
 
+void
 vieuwargs(argc,argv) char **argv ; {
        register char *argp;
        register int nextarg ;
index 1946d09..214b936 100644 (file)
@@ -22,6 +22,8 @@ FILE *dmach ;
 
 int offset ;
 
+void readm();
+
 main(argc,argv) char **argv ; {
        register i ;
 
@@ -70,6 +72,7 @@ FILE *do_open(file) char *file ; {
        return fopen(dname,"r");
 }
 
+void
 readm() {
        register int i ;
        register int token ;
index 38b2a54..1e33e87 100644 (file)
@@ -55,6 +55,7 @@ int getinchar() ;
 static char *ty_name ;
 static char *bol ;
 
+void open_in();
 
 static char *inname ;
 
@@ -263,6 +264,7 @@ static  FILE            *infile ;
 static  char            *inptr ;
 char                   *em_dir = EM_DIR;
 
+void
 open_in(name) register char *name ; {
        register dmach *cmac ;
 
index c4388b1..d020e6a 100644 (file)
@@ -15,6 +15,8 @@
 static char rcs_id[] = "$Id$" ;
 #endif
 
+void try();
+
 enum f_path getpath(first) register trf **first ; {
        /* Try to find a transformation path */
 
@@ -61,6 +63,7 @@ start_scan() {
        last_ocount= 0 ;
 }
 
+void
 try(f_scan,suffix) list_elem *f_scan; char *suffix; {
        register list_elem *scan ;
        register trf  *trafo ;
index 135b4c1..3cb2d7e 100644 (file)
@@ -28,6 +28,10 @@ static int        touch_tail= NO ;
 
 char *headvar(),*tailvar() ;
 
+void condit();
+void doassign();
+void set_Rflag();
+
 int transform(phase) register trf *phase ; {
        int ok ;
 
@@ -153,6 +157,7 @@ transini() {
        setpvar(keeps(TAIL),tailvar) ;
 }
 
+void
 set_Rflag(argp) register char *argp ; {
        register char *eos ;
        register list_elem *prog ;
@@ -413,6 +418,7 @@ growstring scanexpr(line) char *line ; {
        return result ;
 }
 
+void
 condit(line,fsuff,lsuff,tailval) growstring *line ;
        list_head *fsuff, *lsuff;
        char *tailval ;
@@ -504,6 +510,7 @@ int mapexpand(mapentry,cflag)
        return 1 ;
 }
 
+void
 doassign(line,star,length) char *line, *star ; {
        growstring varval, name, temp ;
        register char *ptr ;
@@ -598,6 +605,7 @@ char *c_rep(string,place,rep) char *string, *place, *rep ; {
 static list_head *curargs ;
 static list_head *comb_args ;
 
+void
 addargs(string) char *string ; {
        register char *temp, *repc ;
        register list_elem *elem ;
index a3d2d05..419f087 100644 (file)
@@ -32,6 +32,9 @@ extern  int     n_error;
 # define STDOUT stderr
 #endif
 
+void fuerror(const char* fmt, ...);
+void werror(const char* fmt, ...);
+
 char *basename(string) char *string ; {
        static char retval[256] ;
        char *last_dot, *last_start ;
index 161f658..f2469f7 100644 (file)
@@ -35,6 +35,8 @@ long  s_base[S_MAX];  /* for specially encoded bases */
 char   *filename;
 int    narg;
 
+void do_file();
+
 main(argc, argv)
 char **argv;
 {
@@ -134,6 +136,7 @@ process(fd)
        }
 }
 
+void
 do_file(fd)
        int     fd;
 {
index 38958ea..bae09a1 100644 (file)
@@ -109,6 +109,10 @@ char *temp_arch = &temp_buf[0];
 extern char *mktemp();
 extern char *ctime();
 
+void do_object();
+void write_symdef();
+void add();
+
 usage()
 {
        error(TRUE, "usage: %s [qdprtxl][vlc] archive [file] ...\n",
@@ -437,6 +441,7 @@ register char *argv[];
   close(ar_fd);
 }
 
+void
 add(name, fd, mess)
 char *name;
 int fd;
@@ -630,6 +635,7 @@ char *s, *name;
  * then 4 bytes giving the size of the string table, followed by the string
  * table itself.
  */
+void
 write_symdef()
 {
        register struct ranlib  *ran;
@@ -683,6 +689,7 @@ is_outhead(headp)
        return !BADMAGIC(*headp) && headp->oh_nname != 0;
 }
 
+void
 do_object(f, size)
        long size;
 {
index c093fe8..9024e7b 100644 (file)
@@ -150,7 +150,7 @@ STATIC bo_optloop(p,b,x,bra,bcc)
 
                        
 
-STATIC bo_tryloop(p,loop)
+STATIC void bo_tryloop(p,loop)
        proc_p p;
        lset loop;
 {
@@ -207,6 +207,7 @@ STATIC mv_code(b1,b2)
        }
 }
 
+void
 bo_switch(b)
        bblock_p b;
 {
@@ -303,6 +304,7 @@ STATIC bo_cleanproc(p)
        }
 }
 
+void
 bo_optimize(p)
        proc_p p;
 {
index acfba48..0957366 100644 (file)
@@ -130,7 +130,7 @@ STATIC int makedmap(dbl)
        return cnt;
 }
 
-STATIC getdnames(dumpd)
+STATIC void getdnames(dumpd)
     FILE* dumpd;
 {
        /* Read the names of the datalabels from
@@ -151,7 +151,7 @@ STATIC getdnames(dumpd)
        }
 }
 
-STATIC getpnames(dumpp)
+STATIC void getpnames(dumpp)
     FILE* dumpp;
 {
        /* Read the names of the procedures from
index b3b2d5c..61184ed 100644 (file)
@@ -298,7 +298,7 @@ STATIC mark_succ(b,lp)
 }
 
 
-STATIC mark_blocks(lp)
+STATIC void mark_blocks(lp)
        loop_p lp;
 {
        /* Mark the strong and firm blocks of a loop.
index 2ae26f3..1447af8 100644 (file)
@@ -56,7 +56,7 @@
 
 STATIC int Scj;  /* number of optimizations found */
 
-STATIC showinstr();
+STATIC void showinstr();
 
 
 
@@ -289,6 +289,7 @@ STATIC bool try_pred(b)
 
 
 
+void
 cj_optimize(p)
        proc_p p;
 {
@@ -334,7 +335,7 @@ main(argc,argv)
 
 extern char em_mnem[]; /* The mnemonics of the EM instructions. */
 
-STATIC showinstr(lnp) line_p lnp; {
+STATIC void showinstr(lnp) line_p lnp; {
 
     /* Makes the instruction in `lnp' human readable. Only lines that
      * can occur in expressions that are going to be eliminated are
index 21e6b48..df651c9 100644 (file)
@@ -34,7 +34,7 @@ STATIC cs_clear()
        start_valnum();
 }
 
-STATIC cs_optimize(p)
+STATIC void cs_optimize(p)
        proc_p p;
 {
        /* Optimize all basic blocks of one procedure. */
index d97a19b..1f766a8 100644 (file)
@@ -75,7 +75,7 @@ STATIC bool same_avail(kind, avp1, avp2)
        /* NOTREACHED */
 }
 
-STATIC check_local(avp)
+STATIC void check_local(avp)
        avail_p avp;
 {
        /* Check if the local in which the result of avp was stored,
index bfa0dc6..bf43d8c 100644 (file)
@@ -17,7 +17,7 @@
 
 extern char em_mnem[]; /* The mnemonics of the EM instructions. */
 
-STATIC showinstr(lnp)
+STATIC void showinstr(lnp)
        line_p lnp;
 {
        /* Makes the instruction in `lnp' human readable. Only lines that
index 7c9e900..520366f 100644 (file)
@@ -234,7 +234,7 @@ STATIC kill_local(enp, indir)
        }
 }
 
-STATIC kill_sim()
+STATIC void kill_sim()
 {
        /* A store is done into the ENIGNMASK. */
 
index 5b37434..7927438 100644 (file)
@@ -39,6 +39,7 @@ Push(tkp)
 
 #define WORD_MULTIPLE(n)       ((n / ws) * ws + ( n % ws ? ws : 0 ))
 
+void
 Pop(tkp, size)
        token_p tkp;
        offset size;
index 638038a..7721bf2 100644 (file)
@@ -33,7 +33,7 @@ STATIC skip_string(n)
        }
 }
 
-STATIC skip_arguments()
+STATIC void skip_arguments()
 {
        /* Skip the arguments of a MES pseudo. The argument
         * list is terminated by a sp_cend byte.
index 76e8ae2..d8da36d 100644 (file)
@@ -89,6 +89,7 @@ remov_formals(p)
 
 
 
+void
 rem_indir_acc(p)
        proc_p p;
 {
index 8b9db59..af8fe1e 100644 (file)
@@ -18,7 +18,7 @@ extern rem_actuals();         /* (actual_p atcs)
 extern remov_formals();                /* (proc_p p)
                                 * Remove the formals-list of p from core.
                                 */
-extern rem_indir_acc();                /* (proc_p p)
+extern void rem_indir_acc();           /* (proc_p p)
                                 * Remove formal that may be accessed
                                 * indirectly from formal lists of p
                                 */
index 69d1200..1d0a2dc 100644 (file)
@@ -60,7 +60,7 @@ STATIC bool chck_asp(p,l)
 
 
 
-STATIC inc_count(caller,callee)
+STATIC void inc_count(caller,callee)
        proc_p caller, callee;
 {
        /* Update the call-count information.
index c906f25..94e2e32 100644 (file)
@@ -103,6 +103,7 @@ STATIC inc_use(f,b)
 
 
 
+void
 formal(p,b,off,type,usage)
        proc_p    p;
        bblock_p  b;
index 7df35c1..bd2aea7 100644 (file)
@@ -8,7 +8,7 @@
  *  I L 1 _ F O R M A L . C
  */
 
-extern formal();       /* (proc_p p; bblock_p b; offset off;
+extern void formal();  /* (proc_p p; bblock_p b; offset off;
                         *    int type, usage)
                         * Analyze a reference to a parameter of p.
                         * The type denotes its size (single,double,
index 6347167..4528e85 100644 (file)
@@ -201,7 +201,7 @@ line_p make_label(l,p)
 
 /* modify */
 
-STATIC act_info(off,acts,ab_off,act_out,off_out)
+STATIC void act_info(off,acts,ab_off,act_out,off_out)
        offset off, ab_off, *off_out;
        actual_p acts, *act_out;
 {
@@ -499,6 +499,7 @@ STATIC line_p first_nonpseudo(l)
 
 
 
+void
 insert(text,l,firstline)
        line_p text,l,firstline;
 {
index 9899c86..95c14f1 100644 (file)
@@ -35,7 +35,7 @@ extern mod_actuals();         /* (call_p nc,c; line_p lab;
                                 * call nc the same way as the text of
                                 * call c would be modified.
                                 */
-extern insert();               /* (line_p text,l,firstline)
+extern void insert();          /* (line_p text,l,firstline)
                                 * Insert the modified EM text.
                                 * Pseudos are put after the pseudos
                                 * of the caller.
index 2bb5e45..d35120e 100644 (file)
@@ -149,6 +149,7 @@ STATIC short remlines(l)
 
 
 
+void
 remunit(kind,p,l)
        short    kind;
        proc_p   p;
index 9fe50be..6a640a1 100644 (file)
@@ -591,6 +591,7 @@ lv_flags(p)
 }
 
 
+void
 lv_optimize(p)
        proc_p p;
 {
index fdb345f..fd05cde 100644 (file)
@@ -349,6 +349,7 @@ ra_initialize()
 }
 
 
+void
 ra_optimize(p)
        proc_p p;
 {
index 05e1675..a7411be 100644 (file)
@@ -260,7 +260,7 @@ STATIC init_item(a,b)
 
 
 
-STATIC add_item(item,t,items)
+STATIC void add_item(item,t,items)
        item_p item;
        time_p t;
        item_p items[];
index 28c295f..fea3e07 100644 (file)
@@ -551,6 +551,8 @@ rem_locals(p,allocs)
        }
        p->p_localbytes = nrlocals;
 }
+
+void
 rem_formals(p,allocs)
        proc_p p;
        alloc_p allocs;
index b8b92f2..7da423b 100644 (file)
@@ -29,7 +29,7 @@ short nrglobals;
 short nrlocals;
 local_p *locals;  /* dynamic array */
 
-STATIC localvar(off,size,locs,reg,score)
+STATIC void localvar(off,size,locs,reg,score)
        offset off;
        short  size;
        local_p *locs;
@@ -90,7 +90,7 @@ STATIC check_message(l,locs)
 
 
 
-STATIC check_local_use(l,locs)
+STATIC void check_local_use(l,locs)
        line_p l;
        local_p *locs;
 {
@@ -186,7 +186,7 @@ make_localtab(p)
 
 
 
-find_local(off,nr_out,found_out)
+void find_local(off,nr_out,found_out)
        offset off;
        short  *nr_out;
        bool   *found_out;
@@ -211,7 +211,7 @@ find_local(off,nr_out,found_out)
 
 
 
-var_nr(l,nr_out,found_out)
+void var_nr(l,nr_out,found_out)
        line_p l;
        short  *nr_out;
        bool   *found_out;
index f71512e..6079237 100644 (file)
@@ -17,11 +17,11 @@ extern make_localtab();             /* (proc_p p)
                                 * these variables ('locals') and count them
                                 * ('nrlocals'). Also collect register messages.
                                 */
-extern var_nr();               /* (line_p l; short *nr_out;bool *found_out)
+extern void var_nr();          /* (line_p l; short *nr_out;bool *found_out)
                                 * Compute the 'variable number' of the
                                 * variable referenced by EM instruction l.
                                 */
-extern find_local();           /* (offset off; short *nr_out; bool *found_out)
+extern void find_local();              /* (offset off; short *nr_out; bool *found_out)
                                 * Try to find the local variable at the given
                                 * offset. Return its local-number.
                                 */
index 7323779..9cbfe73 100644 (file)
@@ -377,6 +377,7 @@ STATIC outlset(s,p)
 
 
 
+void
 putunit(kind,p,l,gf,lf)
        short    kind;
        proc_p   p;
index 2df7613..c6287cd 100644 (file)
@@ -28,7 +28,7 @@ extern        putptable();            /* (proc_p head, FILE *pf, bool all)
                                 * the fields computed by CF will not be
                                 * written (used by the IC phase).
                                 */
-extern putunit();              /* (short kind; proc_p p; line_p l;
+extern void putunit();         /* (short kind; proc_p p; line_p l;
                                 * FILE *gf, *lf)
                                 * If kind = LTEXT, then write
                                 * the control flow graph to file gf,
index dcc0a99..b048956 100644 (file)
@@ -193,6 +193,7 @@ STATIC mark_unsave_blocks(p)
 }
 
 
+void
 sp_optimize(p)
        proc_p p;
 {
index fcc9b41..5f2194e 100644 (file)
@@ -218,6 +218,7 @@ STATIC sr_cleanproc(p)
 }
 
 
+void
 sr_optimize(p)
        proc_p p;
 {
index ea478c0..45babca 100644 (file)
@@ -131,7 +131,7 @@ STATIC bool not_dismissed(lnp)
 }
 
 
-STATIC try_cand(lnp,b)
+STATIC void try_cand(lnp,b)
        line_p lnp;
        bblock_p b;
 {
index 88af2e0..43e4b89 100644 (file)
@@ -116,7 +116,7 @@ STATIC int sign(lnp)
 }
 
 
-STATIC try_patterns(lnp)
+STATIC void try_patterns(lnp)
        line_p lnp;
 {
        /* lnp is a STL x; try to recognize
index 5b8e782..d5ae81b 100644 (file)
@@ -544,7 +544,7 @@ STATIC reduce(code,vars)
 
 
 
-STATIC try_multiply(lp,ivs,vars,b,mul)
+STATIC void try_multiply(lp,ivs,vars,b,mul)
        loop_p   lp;
        lset     ivs,vars;
        bblock_p b;
@@ -606,7 +606,7 @@ STATIC try_multiply(lp,ivs,vars,b,mul)
 
 
 
-STATIC try_leftshift(lp,ivs,vars,b,shft)
+STATIC void try_leftshift(lp,ivs,vars,b,shft)
        loop_p   lp;
        lset     ivs,vars;
        bblock_p b;
@@ -657,7 +657,7 @@ STATIC try_leftshift(lp,ivs,vars,b,shft)
 }
 
 
-STATIC try_array(lp,ivs,vars,b,arr)
+STATIC void try_array(lp,ivs,vars,b,arr)
        loop_p   lp;
        lset     ivs,vars;
        bblock_p b;
index ca1c521..7adc321 100644 (file)
@@ -138,6 +138,7 @@ STATIC adjust_jump(newtarg,oldtarg,c)
 }
 
 
+void
 make_header(lp)
        loop_p lp;
 {
index 9bf1f3b..a6065c9 100644 (file)
@@ -16,7 +16,7 @@ extern line_p move_pointer(); /* (offset tmp; int dir ) */
         * onto/from the stack, depending on dir(ection).
         * We accept all kinds of pointer sizes.
         */
-extern make_header() ; /* (loop_p lp) */
+extern void make_header() ;    /* (loop_p lp) */
        /* Make sure that the loop has a header block, i.e. a block
         * has the loop entry block as its only successor and
         * that dominates the loop entry block.
index 610fd7a..afcba53 100644 (file)
@@ -531,6 +531,7 @@ STATIC ud_cleanup(p)
 }
 
 
+void
 ud_optimize(p)
        proc_p p;
 {
index 9e854bd..d1a2a43 100644 (file)
@@ -131,7 +131,7 @@ bool affected(use,v,l)
 
 
 
-STATIC search_backwards(use,v,found,def)
+STATIC void search_backwards(use,v,found,def)
        line_p use, *def;
        short v;
        bool *found;
index 3761dba..213f725 100644 (file)
@@ -42,7 +42,7 @@ short nrcopies;               /* number of copies in the current procedure
 #define COUNT 0
 #define MAP 1
 
-STATIC traverse_defs(p,action)
+STATIC void traverse_defs(p,action)
        proc_p p;
        int action;
 {
@@ -121,7 +121,7 @@ STATIC bool is_changed(varl,start,stop)
 
 
 
-STATIC gen_kill_copies(p)
+STATIC void gen_kill_copies(p)
        proc_p p;
 {
        /* Compute C_GEN and C_KILL for every basic block
index f6272ac..875d014 100644 (file)
@@ -249,7 +249,7 @@ STATIC impl_globl_defs(p,gen_p)
 
 
 
-STATIC impl_gen_defs(l,gen_p)
+STATIC void impl_gen_defs(l,gen_p)
        line_p l;
        cset   *gen_p;
 {
index 3b0983c..5878d52 100644 (file)
@@ -23,6 +23,9 @@ static                redefine();
 static         transfer();
 
 extern ind_t savechar();
+
+void namerelocate();
+
 /*
  * Get section sizes and symboltable information from present module.
  */
@@ -149,6 +152,7 @@ process(head)
  * Otherwise we just add the accumulated size of all normal parts in preceding
  * sections with the same size.
  */
+void
 namerelocate(name)
        register struct outname *name;
 {
index 426438e..2ec6ca2 100644 (file)
@@ -35,9 +35,9 @@ static                        setbase();
 static struct outname  *makename();
 static                 pass1();
 static                 evaluate();
-static                 norm_commons();
+static void norm_commons();
 static                 complete_sections();
-static                 change_names();
+static void change_names();
 static bool            tstbit();
 static                 second_pass();
 static                 pass2();
@@ -45,6 +45,8 @@ static                        pass2();
 static                 do_statistics();
 #endif
 
+void addbase();
+
 main(argc, argv)
        int     argc;
        char    **argv;
@@ -395,7 +397,7 @@ long        sect_comm[MAXSECT];
  * just like "normal" names. We also count the total size of common names
  * within each section to be able to compute the final size in the machine.
  */
-static
+static void
 norm_commons()
 {
        register struct outname *name;
@@ -492,7 +494,7 @@ complete_sections()
  * For each name we add the base of its section to its value, unless
  * the output has to be able to be linked again, as indicated by RFLAG.
  */
-static
+static void
 change_names()
 {
        register int            cnt;
@@ -565,6 +567,7 @@ tstbit(indx, string)
 /*
  * Add the base of the section of a name to its value.
  */
+void
 addbase(name)
        struct outname  *name;
 {
index b994471..6349c82 100644 (file)
@@ -519,6 +519,7 @@ core_free(piece, p)
  * Reset index into piece of memory for modules and
  * take care that the allocated pieces will not be moved.
  */
+void
 freeze_core()
 {
        register int    i;
index cb7abce..0ee622e 100644 (file)
@@ -10,7 +10,7 @@ static char rcsid[] = "$Id$";
 #include "const.h"
 #include "memory.h"
 
-static                 generate_section_names();
+static void generate_section_names();
 
 extern struct outhead  outhead;
 extern bool            incore;
@@ -51,7 +51,7 @@ beginoutput()
  * Generate names for all sections and put them after the global names.
  * Section names are used for relocation.
  */
-static
+static void
 generate_section_names()
 {
        register struct outname *name;
index a311d04..3804413 100644 (file)
@@ -22,6 +22,7 @@ static char rcsid[] = "$Id$";
 extern bool    incore;
 extern char    *core_alloc();
 
+void
 savemagic()
 {
        register char   *p;
@@ -35,6 +36,7 @@ savemagic()
        }
 }
 
+void
 savehdr(hdr)
        struct ar_hdr   *hdr;
 {
@@ -91,6 +93,7 @@ savechar(piece, off)
  * allocation, but the string of which name->on_foff is the offset may be
  * destroyed, so we save that first.
  */
+void
 savelocal(name)
        struct outname  *name;
 {
index 893f81b..d6334d5 100644 (file)
@@ -24,6 +24,7 @@ int nmoves;
 move_t l_moves[MAXMOVES];
 short posmoves[MAXREGS+MAXTOKENS][SETSIZE];
 
+void
 n_move(s1,e1,s2,e2,vi) struct varinfo *vi; {
        register move_p mp;
        register i,j;
@@ -81,6 +82,7 @@ int ntests;
 test_t l_tests[MAXTESTS];
 short postests[SETSIZE];
 
+void
 n_test(s,e,vi) struct varinfo *vi; {
        register test_p tp;
        register i;
@@ -162,6 +164,7 @@ n_stack(s,e,p,vi) struct varinfo *vi; {
                sp[i] |= l_sets[s].set_val[i];
 }
 
+void
 checkstacking(sp) register short *sp; {
        register i;
        register short *chkset;
@@ -186,6 +189,7 @@ set_t unstackset;
 
 /*VARARGS5*/
 
+void
 n_coerc(ti,be,al,ge,rp,in) struct varinfo *al,*ge,*rp; iocc_t in; {
        register c3_p c3p;
        register i;
index 50458e3..77e3eb4 100644 (file)
@@ -662,6 +662,7 @@ finishio() {
        outars();
 }
 
+void
 codecoco(cocono) {
 
        if (cocono== -1)
index cb31c35..d2d9b0d 100644 (file)
@@ -85,7 +85,7 @@ set_t ident_to_set(name) char *name; {
        return(result);
 }
 
-static
+static void
 checksize(s)
        register set_p s;
 {
index 90bf44e..08c7c65 100644 (file)
@@ -175,6 +175,7 @@ n_prop(name,size) char *name; int size; {
        l_props[propno].pr_size = size;
 }
 
+void
 prophall(n) {
        register i;
        short hallset[SETSIZE];
@@ -279,6 +280,7 @@ setallreg(vi) struct varinfo *vi; {
        }
 }
 
+void
 freevi(vip) register struct varinfo *vip; {
        register i;
 
index 2c1f912..f09feeb 100644 (file)
@@ -20,6 +20,7 @@ static char rcsid[] = "$Id$";
  */
 
 
+void
 cleanup() {
        FILE *infile;
        register c;
index 77f6042..73ae715 100644 (file)
@@ -21,6 +21,8 @@ static char rcsid[] = "$Id$";
  * Author: Hans van Staveren
  */
 
+void reach();
+
 flow() {
 
        findreach();    /* determine reachable labels */
@@ -51,6 +53,7 @@ findreach() {
                        }
 }
 
+void
 reach(lnp) register line_p lnp; {
        register num_p np;
 
index c3ed1bb..9ecdf08 100644 (file)
@@ -188,6 +188,7 @@ int table2() {
        return(table3(n));
 }
 
+void
 getlines() {
        register line_p lnp;
        register instr;
index 00fc2e3..6066c9f 100644 (file)
@@ -21,6 +21,7 @@ static char rcsid[] = "$Id$";
  * Author: Hans van Staveren
  */
 
+void
 regvar(ap) register arg_p ap; {
        register reg_p rp;
        register i;
@@ -96,6 +97,7 @@ outtes() {
        }
 }
 
+void
 incregusage(off) offset off; {
        register reg_p rp;
 
index ab6ce3b..b3d4efd 100644 (file)
@@ -68,6 +68,7 @@ tes_pseudos()
        }
 }
 
+void
 tes_instr(lnp, x, y)
 line_p lnp, x, y;
 {