|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