[PATCH v1] bbdev: prevent clang 3.4.2 compilation error

Nicolas Chautru nicolas.chautru at intel.com
Mon Oct 10 19:04:03 CEST 2022


Casting explicitly from enum to uint8_t to avoid compilation
warning with clang 3.4.2 -Wtautological-constant-out-of-range-compare

Signed-off-by: Nicolas Chautru <nicolas.chautru at intel.com>
---
 lib/bbdev/rte_bbdev.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/lib/bbdev/rte_bbdev.c b/lib/bbdev/rte_bbdev.c
index 453e5747b6..1521cdbc53 100644
--- a/lib/bbdev/rte_bbdev.c
+++ b/lib/bbdev/rte_bbdev.c
@@ -1159,7 +1159,8 @@ rte_bbdev_device_status_str(enum rte_bbdev_device_status status)
 		"RTE_BBDEV_DEV_CORRECT_ERR",
 	};
 
-	if (status < sizeof(dev_sta_string) / sizeof(char *))
+	/* Cast from enum required for clang. */
+	if ((uint8_t)status < sizeof(dev_sta_string) / sizeof(char *))
 		return dev_sta_string[status];
 
 	rte_bbdev_log(ERR, "Invalid device status");
@@ -1176,7 +1177,8 @@ rte_bbdev_enqueue_status_str(enum rte_bbdev_enqueue_status status)
 		"RTE_BBDEV_ENQ_STATUS_INVALID_OP",
 	};
 
-	if (status < sizeof(enq_sta_string) / sizeof(char *))
+	/* Cast from enum required for clang. */
+	if ((uint8_t)status < sizeof(enq_sta_string) / sizeof(char *))
 		return enq_sta_string[status];
 
 	rte_bbdev_log(ERR, "Invalid enqueue status");
-- 
2.37.1



More information about the dev mailing list