On Thu, 15 Oct 2026 at 13:32, Burakov, Anatoly <[email protected]> wrote: > > 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]>
I changed the original patch a bit, and well, I had trouble with all those nested #ifdef ;-), so I preferred not preserving the ack. Thanks for checking again. -- David Marchand

