On Mon, Dec 01, 2014 at 09:52:31AM -0700, Todd C. Miller wrote: > There were two dead stores found by the llvm analyzer (the value > is overwritten before it is read). I've also marked functions > calling done() __dead to avoid false positives. > > There are two more warnings from the analyzer but I'm fairly certain > that they are false positives.
ok, -Otto > > - todd > > Index: closure.c > =================================================================== > RCS file: /home/cvs/openbsd/src/usr.bin/yacc/closure.c,v > retrieving revision 1.13 > diff -u -r1.13 closure.c > --- closure.c 13 Mar 2014 01:18:22 -0000 1.13 > +++ closure.c 1 Dec 2014 16:47:57 -0000 > @@ -105,8 +105,6 @@ > } > } > } > - > - vrow += varsetsize; > rrow += rulesetsize; > } > > Index: defs.h > =================================================================== > RCS file: /home/cvs/openbsd/src/usr.bin/yacc/defs.h,v > retrieving revision 1.17 > diff -u -r1.17 defs.h > --- defs.h 8 Mar 2014 01:05:39 -0000 1.17 > +++ defs.h 1 Dec 2014 16:47:57 -0000 > @@ -306,42 +306,42 @@ > extern void closure(short *, int); > extern void finalize_closure(void); > > -extern void fatal(char *); > +extern __dead void fatal(char *); > > extern void reflexive_transitive_closure(unsigned *, int); > -extern void done(int); > +extern __dead void done(int); > > -extern void no_space(void); > -extern void open_error(char *); > -extern void open_write_error(char *); > -extern void unexpected_EOF(void); > +extern __dead void no_space(void); > +extern __dead void open_error(char *); > +extern __dead void open_write_error(char *); > +extern __dead void unexpected_EOF(void); > extern void print_pos(char *, char *); > -extern void syntax_error(int, char *, char *); > -extern void unterminated_comment(int, char *, char *); > -extern void unterminated_string(int, char *, char *); > -extern void unterminated_text(int, char *, char *); > -extern void unterminated_union(int, char *, char *); > -extern void over_unionized(char *); > -extern void illegal_tag(int, char *, char *); > -extern void illegal_character(char *); > -extern void used_reserved(char *); > -extern void tokenized_start(char *); > +extern __dead void syntax_error(int, char *, char *); > +extern __dead void unterminated_comment(int, char *, char *); > +extern __dead void unterminated_string(int, char *, char *); > +extern __dead void unterminated_text(int, char *, char *); > +extern __dead void unterminated_union(int, char *, char *); > +extern __dead void over_unionized(char *); > +extern __dead void illegal_tag(int, char *, char *); > +extern __dead void illegal_character(char *); > +extern __dead void used_reserved(char *); > +extern __dead void tokenized_start(char *); > extern void retyped_warning(char *); > extern void reprec_warning(char *); > extern void revalued_warning(char *); > -extern void terminal_start(char *); > +extern __dead void terminal_start(char *); > extern void restarted_warning(void); > -extern void no_grammar(void); > -extern void terminal_lhs(int); > +extern __dead void no_grammar(void); > +extern __dead void terminal_lhs(int); > extern void prec_redeclared(void); > -extern void unterminated_action(int, char *, char *); > +extern __dead void unterminated_action(int, char *, char *); > extern void dollar_warning(int, int); > -extern void dollar_error(int, char *, char *); > -extern void untyped_lhs(void); > -extern void untyped_rhs(int, char *); > -extern void unknown_rhs(int); > +extern __dead void dollar_error(int, char *, char *); > +extern __dead void untyped_lhs(void); > +extern __dead void untyped_rhs(int, char *); > +extern __dead void unknown_rhs(int); > extern void default_action_warning(void); > -extern void undefined_goal(char *); > +extern __dead void undefined_goal(char *); > extern void undefined_symbol_warning(char *); > > extern void lalr(void); > Index: reader.c > =================================================================== > RCS file: /home/cvs/openbsd/src/usr.bin/yacc/reader.c,v > retrieving revision 1.29 > diff -u -r1.29 reader.c > --- reader.c 9 Oct 2014 03:02:18 -0000 1.29 > +++ reader.c 1 Dec 2014 16:49:31 -0000 > @@ -928,7 +928,6 @@ > c = nextc(); > if (c == EOF) > unexpected_EOF(); > - value = UNDEFINED; > if (isdigit(c)) { > value = get_number(); > if (bp->value != UNDEFINED && value != bp->value)