> Macro __SIZEOF_LONG__ is not standardized and MSVC does not define it. > Therefore the errors below are seen with MSVC: > > ../lib/mldev/mldev_utils_scalar.c(465): error C2065: > '__SIZEOF_LONG__': undeclared identifier > ../lib/mldev/mldev_utils_scalar.c(478): error C2051: > case expression not constant > > ../lib/mldev/mldev_utils_scalar_bfloat16.c(33): error C2065: > '__SIZEOF_LONG__': undeclared identifier > ../lib/mldev/mldev_utils_scalar_bfloat16.c(49): error C2051: > case expression not constant > > The fix is to define __SIZEOF_LONG__ in a common header when > MSVC is used. > > Signed-off-by: Andre Muezerie <andre...@linux.microsoft.com> > --- > lib/eal/windows/include/rte_os.h | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/lib/eal/windows/include/rte_os.h > b/lib/eal/windows/include/rte_os.h > index d09adeb3b4..c787027866 100644 > --- a/lib/eal/windows/include/rte_os.h > +++ b/lib/eal/windows/include/rte_os.h > @@ -56,4 +56,9 @@ struct { \ > */ > typedef long long ssize_t; > > +#ifdef RTE_TOOLCHAIN_MSVC > +#define __SIZEOF_LONG__ (sizeof(long)) > +#define __SIZEOF_LONG_LONG__ (sizeof(long long)) > +#endif > + > #endif /* _RTE_OS_H_ */ > --
Acked-by: Konstantin Ananyev <konstantin.anan...@huawei.com> > 2.47.2.vfs.0.1