On Thu, 2 Sep 2021 15:48:40 -0700 Ian Rogers <irogers@xxxxxxxxxx> wrote: > The warning with clang looks like: > > src/tracefs-sqlhist.c:1107:2: error: variable 'cmp' is used uninitialized whenever switch default is taken [-Werror,-Wsometimes-uninitialized] > default: > ^~~~~~~ > third_party/libtracefs/src/tracefs-sqlhist.c:1112:35: note: uninitialized use occurs here > filter->lval->field.field, cmp, val); > ^~~ > third_party/libtracefs/src/tracefs-sqlhist.c:1033:2: note: variable 'cmp' is declared here > enum tracefs_compare cmp; > > Signed-off-by: Ian Rogers <irogers@xxxxxxxxxx> > --- > src/tracefs-sqlhist.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/src/tracefs-sqlhist.c b/src/tracefs-sqlhist.c > index 6224677..f4dc004 100644 > --- a/src/tracefs-sqlhist.c > +++ b/src/tracefs-sqlhist.c > @@ -1105,7 +1105,7 @@ static int build_filter(struct tep_handle *tep, struct sqlhist_bison *sb, > case FILTER_BIN_AND: cmp = TRACEFS_COMPARE_AND; break; > case FILTER_STR_CMP: cmp = TRACEFS_COMPARE_RE; break; > default: > - break; > + abort(); Hmm, I wonder if we should do something different than call abort(). Although this should never happen, I think it's rather rude of a library function to call abort() when it fails. I'd like to see this simply return an error. At most, a warning can be printed. Thanks! -- Steve > } > > ret = append_filter(synth, TRACEFS_FILTER_COMPARE,
![]() |