cbfstool: Fix build error with clang when comparing enum

If HOSTCC=clang, the -Wtautological-constant-out-of-range-compare is
set automaticaaly. That assume the value of type enum is in the defined
range. Then testing if a type enum is out of range causes build error.

Error:
coreboot/util/cbfstool/cbfs_image.c:1387:16: error:
 comparison of constant 4 with expression of type 'enum vb2_hash_algorithm'
 is always false [-Werror,-Wtautological-constant-out-of-range-compare]
 if (hash_type >= CBFS_NUM_SUPPORTED_HASHES)
    ~~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.

clang version:
FreeBSD clang version 3.4.1 (tags/RELEASE_34/dot1-final 208032) 20140512
Target: x86_64-unknown-freebsd10.2
Thread model: posix

Change-Id: I3e1722bf6f9553793a9f0c7f4e790706b6938522
Signed-off-by: zbao <fishbaozi@gmail.com>
Reviewed-on: http://review.coreboot.org/12330
Tested-by: build bot (Jenkins)
Reviewed-by: Martin Roth <martinroth@google.com>
This commit is contained in:
zbao 2015-11-05 14:35:57 +08:00 committed by Zheng Bao
parent f730e44baa
commit 37450ff534
1 changed files with 3 additions and 1 deletions

View File

@ -1389,7 +1389,9 @@ struct cbfs_file_attribute *cbfs_add_file_attr(struct cbfs_file *header,
int cbfs_add_file_hash(struct cbfs_file *header, struct buffer *buffer,
enum vb2_hash_algorithm hash_type)
{
if (hash_type >= CBFS_NUM_SUPPORTED_HASHES)
uint32_t hash_index = hash_type;
if (hash_index >= CBFS_NUM_SUPPORTED_HASHES)
return -1;
unsigned hash_size = widths_cbfs_hash[hash_type];