[PATCH v5] eal: define __SIZEOF_LONG__ when using MSVC
Andre Muezerie
andremue at linux.microsoft.com
Wed Feb 5 17:12:17 CET 2025
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 <andremue at linux.microsoft.com>
---
lib/eal/include/rte_compat.h | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/lib/eal/include/rte_compat.h b/lib/eal/include/rte_compat.h
index 97c1540bd0..6676a1bb13 100644
--- a/lib/eal/include/rte_compat.h
+++ b/lib/eal/include/rte_compat.h
@@ -66,4 +66,9 @@ __attribute__((section(".text.internal")))
#endif
+#ifdef RTE_TOOLCHAIN_MSVC
+#define __SIZEOF_LONG__ (sizeof(long))
+#define __SIZEOF_LONG_LONG__ (sizeof(long long))
+#endif
+
#endif /* _RTE_COMPAT_H_ */
--
2.47.2.vfs.0.1
More information about the dev
mailing list