fix clang -Wtautological-compare with unsigned enum

Create a GREP_HEADER_FIELD_MIN so we can check that the field value is
sane and silence the clang warning.

Clang warning happens because the enum is unsigned (this is
implementation-defined, and there is no negative fields) and the check
is then tautological.

Signed-off-by: Antoine Pelisse <apelisse@gmail.com>
Signed-off-by: John Keeping <john@keeping.me.uk>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Antoine Pelisse 2013-02-03 14:37:09 +00:00 committed by Junio C Hamano
parent 5ded807f7c
commit 3ce3ffb840
2 changed files with 4 additions and 2 deletions

3
grep.c
View File

@ -625,7 +625,8 @@ static struct grep_expr *prep_header_patterns(struct grep_opt *opt)
for (p = opt->header_list; p; p = p->next) { for (p = opt->header_list; p; p = p->next) {
if (p->token != GREP_PATTERN_HEAD) if (p->token != GREP_PATTERN_HEAD)
die("bug: a non-header pattern in grep header list."); die("bug: a non-header pattern in grep header list.");
if (p->field < 0 || GREP_HEADER_FIELD_MAX <= p->field) if (p->field < GREP_HEADER_FIELD_MIN ||
GREP_HEADER_FIELD_MAX <= p->field)
die("bug: unknown header field %d", p->field); die("bug: unknown header field %d", p->field);
compile_regexp(p, opt); compile_regexp(p, opt);
} }

3
grep.h
View File

@ -28,7 +28,8 @@ enum grep_context {
}; };
enum grep_header_field { enum grep_header_field {
GREP_HEADER_AUTHOR = 0, GREP_HEADER_FIELD_MIN = 0,
GREP_HEADER_AUTHOR = GREP_HEADER_FIELD_MIN,
GREP_HEADER_COMMITTER, GREP_HEADER_COMMITTER,
GREP_HEADER_REFLOG, GREP_HEADER_REFLOG,