rawdev: fix build with clang 21

Message ID 20251104130808.2692053-1-david.marchand@redhat.com (mailing list archive)
State Accepted
Delegated to: David Marchand
Headers
Series rawdev: fix build with clang 21 |

Checks

Context Check Description
ci/checkpatch warning coding style issues
ci/loongarch-compilation success Compilation OK
ci/loongarch-unit-testing success Unit Testing PASS
ci/Intel-compilation success Compilation OK
ci/intel-Testing success Testing PASS
ci/iol-mellanox-Functional success Functional Testing PASS
ci/intel-Functional success Functional PASS
ci/iol-marvell-Functional success Functional Testing PASS
ci/iol-mellanox-Performance success Performance Testing PASS
ci/github-robot: build success github build: passed
ci/github-robot-post success github post: success
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-broadcom-Performance success Performance Testing PASS
ci/iol-sample-apps-testing success Testing PASS
ci/iol-intel-Functional success Functional Testing PASS
ci/iol-compile-amd64-testing success Testing PASS
ci/iol-unit-amd64-testing success Testing PASS
ci/iol-compile-arm64-testing success Testing PASS
ci/aws-unit-testing success Unit Testing PASS
ci/iol-unit-arm64-testing success Testing PASS

Commit Message

David Marchand Nov. 4, 2025, 1:08 p.m. UTC
Fix 16-bits formatting issues reported by clang 21 on Fedora 43:

../lib/rawdev/rte_rawdev.c:429:41: error: format specifies type
	'unsigned char' but the argument has type 'uint16_t'
	(aka 'unsigned short') [-Werror,-Wformat]
  429 |         RTE_RDEV_DEBUG("Start dev_id=%" PRIu8, dev_id);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~

../lib/rawdev/rte_rawdev.c:435:9: error: format specifies type
	'unsigned char' but the argument has type 'uint16_t'
	(aka 'unsigned short') [-Werror,-Wformat]
  434 |         RTE_RDEV_ERR("Device with dev_id=%" PRIu8 "already started",
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  435 |                      dev_id);
      |                      ^~~~~~~

../lib/rawdev/rte_rawdev.c:457:40: error: format specifies type
	'unsigned char' but the argument has type 'uint16_t'
	(aka 'unsigned short') [-Werror,-Wformat]
  457 |         RTE_RDEV_DEBUG("Stop dev_id=%" PRIu8, dev_id);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~

../lib/rawdev/rte_rawdev.c:464:4: error: format specifies type
	'unsigned char' but the argument has type 'uint16_t'
	(aka 'unsigned short') [-Werror,-Wformat]
  463 |         RTE_RDEV_ERR("Device with dev_id=%" PRIu8 "already stopped",
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  464 |                 dev_id);
      |                 ^~~~~~~

Fixes: c88b3f2558ed ("rawdev: introduce raw device library")
Cc: stable@dpdk.org

Signed-off-by: David Marchand <david.marchand@redhat.com>
---
 lib/rawdev/rte_rawdev.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
  

Comments

David Marchand Nov. 5, 2025, 7:16 a.m. UTC | #1
On Tue, 4 Nov 2025 at 14:08, David Marchand <david.marchand@redhat.com> wrote:
>
> Fix 16-bits formatting issues reported by clang 21 on Fedora 43:
>
> ../lib/rawdev/rte_rawdev.c:429:41: error: format specifies type
>         'unsigned char' but the argument has type 'uint16_t'
>         (aka 'unsigned short') [-Werror,-Wformat]
>   429 |         RTE_RDEV_DEBUG("Start dev_id=%" PRIu8, dev_id);
>       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
>
> ../lib/rawdev/rte_rawdev.c:435:9: error: format specifies type
>         'unsigned char' but the argument has type 'uint16_t'
>         (aka 'unsigned short') [-Werror,-Wformat]
>   434 |         RTE_RDEV_ERR("Device with dev_id=%" PRIu8 "already started",
>       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>   435 |                      dev_id);
>       |                      ^~~~~~~
>
> ../lib/rawdev/rte_rawdev.c:457:40: error: format specifies type
>         'unsigned char' but the argument has type 'uint16_t'
>         (aka 'unsigned short') [-Werror,-Wformat]
>   457 |         RTE_RDEV_DEBUG("Stop dev_id=%" PRIu8, dev_id);
>       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
>
> ../lib/rawdev/rte_rawdev.c:464:4: error: format specifies type
>         'unsigned char' but the argument has type 'uint16_t'
>         (aka 'unsigned short') [-Werror,-Wformat]
>   463 |         RTE_RDEV_ERR("Device with dev_id=%" PRIu8 "already stopped",
>       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>   464 |                 dev_id);
>       |                 ^~~~~~~
>
> Fixes: c88b3f2558ed ("rawdev: introduce raw device library")
> Cc: stable@dpdk.org
>
> Signed-off-by: David Marchand <david.marchand@redhat.com>

Applied, thanks.
  

Patch

diff --git a/lib/rawdev/rte_rawdev.c b/lib/rawdev/rte_rawdev.c
index f21d29114c..d193061842 100644
--- a/lib/rawdev/rte_rawdev.c
+++ b/lib/rawdev/rte_rawdev.c
@@ -426,12 +426,12 @@  rte_rawdev_start(uint16_t dev_id)
 	struct rte_rawdev *dev;
 	int diag;
 
-	RTE_RDEV_DEBUG("Start dev_id=%" PRIu8, dev_id);
+	RTE_RDEV_DEBUG("Start dev_id=%" PRIu16, dev_id);
 
 	RTE_RAWDEV_VALID_DEVID_OR_ERR_RET(dev_id, -EINVAL);
 	dev = &rte_rawdevs[dev_id];
 	if (dev->started != 0) {
-		RTE_RDEV_ERR("Device with dev_id=%" PRIu8 "already started",
+		RTE_RDEV_ERR("Device with dev_id=%" PRIu16 "already started",
 			     dev_id);
 		return 0;
 	}
@@ -454,13 +454,13 @@  rte_rawdev_stop(uint16_t dev_id)
 {
 	struct rte_rawdev *dev;
 
-	RTE_RDEV_DEBUG("Stop dev_id=%" PRIu8, dev_id);
+	RTE_RDEV_DEBUG("Stop dev_id=%" PRIu16, dev_id);
 
 	RTE_RAWDEV_VALID_DEVID_OR_RET(dev_id);
 	dev = &rte_rawdevs[dev_id];
 
 	if (dev->started == 0) {
-		RTE_RDEV_ERR("Device with dev_id=%" PRIu8 "already stopped",
+		RTE_RDEV_ERR("Device with dev_id=%" PRIu16 "already stopped",
 			dev_id);
 		return;
 	}