[PATCH 09/10] test: add workaround for __builtin_constant_p in test_memcpy_perf
Andre Muezerie
andremue at linux.microsoft.com
Wed Feb 12 03:07:27 CET 2025
On Tue, Feb 11, 2025 at 02:13:05PM -0800, Stephen Hemminger wrote:
> On Tue, 11 Feb 2025 14:02:05 -0800
> Andre Muezerie <andremue at linux.microsoft.com> wrote:
>
> > There's no MSVC equivalent for compiler extension __builtin_constant_p,
> > so a workaround is needed.
> >
> > Signed-off-by: Andre Muezerie <andremue at linux.microsoft.com>
>
> Prefer that __rte_constant worked on all platforms,
> but template code is hard to maintain.
I'm not a huge fan of __rte_constant_with_default either. Here are some thoughts about it:
In test_memcpy_perf we could get rid of __builtin_constant_p or similar macros and just use the second argument (def) I'm passing to __rte_constant_with_default as the condition in the if() statement. I only used __rte_constant_with_default to keep the source code practically the same when using non-msvc compilers. But I don't see advantages beyond that, other than not having to pass that second parameter (def), which now we have to anyways.
__rte_constant_with_default is needed though in the first patch of this series, unless we decide to remove that extra check where it is being used.
More information about the dev
mailing list