Surprisly clang started to tell me where variable may used uninitialized, correcting it!
authorGodzil <godzil@godzil.net>
Thu, 16 May 2013 07:35:52 +0000 (09:35 +0200)
committerManoël Trapier <godzil@MacBook-Pro.home>
Wed, 24 Jun 2015 22:41:49 +0000 (23:41 +0100)
That's a good point it tell me that, but was a bit unexpected ^^

lang/cem/cemcom.ansi/error.c
lang/cem/cemcom.ansi/type.c
util/arch/archiver.c
util/ego/ic/ic.c
util/ego/ic/ic_aux.c
util/ego/il/il3_subst.c
util/ego/sr/sr_reduce.c
util/ego/ud/ud_const.c

index abee322..a8f5bbc 100644 (file)
@@ -530,7 +530,7 @@ fatal(va_alist)                             /* fmt, args */
 
 static void _error(int class, char *fn, unsigned int ln, char *fmt, va_list ap)
 {
-       char *remark;
+       char *remark = NULL;
        
        /* check visibility of message */
        switch (class)  {
index 71a8e54..360f7fc 100644 (file)
@@ -77,7 +77,7 @@ struct type *construct_type(int fund, struct type *tp, int qual, arith count, st
        /*      fund must be a type constructor: FIELD, FUNCTION, POINTER or
                ARRAY. The pointer to the constructed type is returned.
        */
-       struct type *dtp;
+       struct type *dtp = NULL;
 
        switch (fund)   {
 #ifndef NOBITFIELD
index e9af9e1..0e87ad2 100644 (file)
@@ -705,16 +705,17 @@ void do_object(int f, long size)
  * name table and read and write the names one by one. Update the ranlib table
  * accordingly.
  */
+#define NNAMES 100
+
 void do_names(struct outhead   *headp)
 {
-       register char   *strings;
-       register int    nnames = headp->oh_nname;
-#define NNAMES 100
+       char    *strings = NULL;
+       int     nnames = headp->oh_nname;
        struct outname  namebuf[NNAMES];
        long xxx = OFF_CHAR(*headp);
 
-       if (    headp->oh_nchar != (unsigned int)headp->oh_nchar ||
-               (strings = malloc((unsigned int)headp->oh_nchar)) == (char *)0
+       if ( (headp->oh_nchar != (unsigned int)headp->oh_nchar) ||
+                (strings = malloc((unsigned int)headp->oh_nchar)) == (char *)0
           ) {
                error(TRUE, "string table too big\n", NULL, NULL, NULL);
        }
index d24ad19..ced0977 100644 (file)
@@ -299,7 +299,7 @@ line_p readoperand(short instr)
        /* Read the operand of the given instruction.
         * Create a line struct and return a pointer to it.
         */
-       line_p lnp;
+       line_p lnp = NULL;
        short flag;
 
        VI(instr);
index 5a6a2b5..ff321f3 100644 (file)
@@ -166,7 +166,7 @@ void dblockdef(dblock_p db, int n, line_p lnp)
 {
        /* Process a data block defining occurrence */
 
-       byte m;
+       byte m = 0;
 
        switch(n) {
                case ps_hol:
index fee5f77..e9ff425 100644 (file)
@@ -70,7 +70,7 @@ void substitute(FILE *lf, call_p c, line_p cal, line_p firstline)
         * up to date.
         */
 
-       line_p l, text, lab;
+       line_p l, text = NULL, lab = NULL;
        offset ab_off, lb_off;
        line_p startscan, ncal;
        short lastcid;
index c6f9364..5a9b62b 100644 (file)
@@ -78,7 +78,7 @@ static line_p newcode(code_p code, offset tmp)
         *        a[iv]    ->   *tmp
         */
 
-       line_p l;
+       line_p l = NULL;
 
        switch(code->co_instr) {
                case op_mli:
@@ -245,7 +245,8 @@ static void incr_code(code_p code, offset tmp)
         * the induction variable.
         */
 
-       line_p load_tmp, loc, add, store_tmp, l;
+       line_p load_tmp = NULL, loc = NULL, add = NULL,
+              store_tmp = NULL, l = NULL;
 
        add = newline(OPSHORT);
        SHORT(add) = ws;  /* the add instruction, can be ADI,ADU or ADS */
index 25fb9f6..263a1a1 100644 (file)
@@ -54,7 +54,7 @@ bool value_known(line_p def, offset *val_out)
         */
 
        short sz1, sz2;
-       offset v;
+       offset v = 0;
        line_p l;
 
        sz1 = ws;