On 10/15/2026 1:29 PM, David Marchand wrote:
From: Thomas Monjalon <[email protected]>

The __rte_internal macro is intended to prevent calls
to internal API functions unless ALLOW_INTERNAL_API is defined.
Unfortunately the check misses some calls to internal API
when built with GCC or Clang.
Clang can be better to diagnose such cases.

Clang 14 and later support the error attribute
and therefore select it instead of diagnose_if for __rte_internal.
Unlike diagnose_if, the error attribute only rejects
internal API calls that remain after optimization.
Internal API calls can therefore go easily unnoticed,
making internal API checks less strict with recent Clang.

Prefer diagnose_if when available to keep strong Clang diagnostics.
Retain the error attribute as a fallback for GCC.

Fixes: 4ab63cd60ceb ("eal: fix internal ABI tag with clang")
Cc: [email protected]

Signed-off-by: Thomas Monjalon <[email protected]>
---

Missing my ack

Acked-by: Anatoly Burakov <[email protected]>

--
Thanks,
Anatoly

Reply via email to