|SUCCESS| [v2,3/3] eal: enforce internal API check with Clang 14
dpdklab at iol.unh.edu
dpdklab at iol.unh.edu
Thu Oct 15 15:00:59 CEST 2026
Test-Label: ai-code-review
Test-Status: SUCCESS
https://dpdk.org/patch/171413
_AI Code Review_
=== Patch Review: series.patch (via Claude) ===
Review date: 2026-10-15
# DPDK Patch Review
## PATCH 1/3: buildtools/chkincs: relax checks on driver headers
### Errors
None identified.
### Warnings
None identified.
### Info
None identified.
---
## PATCH 2/3: eal: simplify internal/experimental tags definitions
### Errors
None identified.
### Warnings
None identified.
### Info
The patch reorders the conditional compilation blocks in `rte_compat.h` to improve readability.
The logic is equivalent to the original code -- MSVC is handled first (no-op definitions),
then for GCC/Clang the experimental/internal macros are defined based on whether `ALLOW_*_API` is set,
with compiler-specific diagnostics (`error` attribute for GCC, `diagnose_if` for Clang) where available,
and fallback to section placement when diagnostics are not supported.
No functional change is introduced.
---
## PATCH 3/3: eal: enforce internal API check with Clang 14
### Errors
None identified.
### Warnings
None identified.
### Info
The patch swaps the order of the `__has_attribute(error)` and `__has_attribute(diagnose_if)` checks
so that Clang (which supports both) prefers `diagnose_if` over `error`.
The commit message explains that `error` only triggers after optimization,
allowing some internal API uses to slip through undetected,
whereas `diagnose_if` diagnoses all uses regardless of optimization.
This tightens the check for Clang while leaving GCC behavior unchanged (GCC only has `error`, not `diagnose_if`).
The logic is sound and the fix addresses the stated problem.
---
Review-Result: CLEAN
More information about the test-report
mailing list