[PATCH 1/3] fix clang -Wtautological-compare with unsigned enum
- From
John Keeping <john@keeping.me.uk>
- Date
- Feb 3, 2013, 14:37 UTC
- Message-ID
- <a9fe675ed9b34d3c15f4678ee13e90cddaa36055.1359901732.git.john@keeping.me.uk>
- In-Reply-To
- <cover.1359901732.git.john@keeping.me.uk>
From: Antoine Pelisse <apelisse@gmail.com>
Create a GREP_HEADER_FIELD_MIN so we can check that the field value is sane and silent 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> --- grep.c | 3 ++- grep.h | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/grep.c b/grep.c index 4bd1b8b..bb548ca 100644 --- a/grep.c +++ b/grep.c @@ -625,7 +625,8 @@ static struct grep_expr *prep_header_patterns(struct grep_opt *opt) for (p = opt->header_list; p; p = p->next) { if (p->token != GREP_PATTERN_HEAD) 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); compile_regexp(p, opt); } diff --git a/grep.h b/grep.h index 8fc854f..e4a1df5 100644 --- a/grep.h +++ b/grep.h @@ -28,7 +28,8 @@ enum grep_context { }; 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_REFLOG,
-- 1.8.1.2