* [PATCH] lib/eal: fix macros for noinline and alwaysinline for MSVC
@ 2024-11-27 16:11 Andre Muezerie
0 siblings, 0 replies; only message in thread
From: Andre Muezerie @ 2024-11-27 16:11 UTC (permalink / raw)
To: Tyler Retzlaff; +Cc: dev, Andre Muezerie, Andre Muezerie
From: Andre Muezerie <andremue@ntdev.microsoft.com>
MSVC supports forcing code to be inlined or forcing code to not be
inlined, like other compilers.
This patch fixes existing macros __rte_noinline and
__rte_always_inline so that they also do what is expected from them
when used with MSVC.
Signed-off-by: Andre Muezerie <andremue@linux.microsoft.com>
---
lib/eal/include/rte_common.h | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/lib/eal/include/rte_common.h b/lib/eal/include/rte_common.h
index 4d299f2b36..f97e52f869 100644
--- a/lib/eal/include/rte_common.h
+++ b/lib/eal/include/rte_common.h
@@ -408,7 +408,7 @@ static void __attribute__((destructor(RTE_PRIO(prio)), used)) func(void)
* Force a function to be inlined
*/
#ifdef RTE_TOOLCHAIN_MSVC
-#define __rte_always_inline
+#define __rte_always_inline __forceinline
#else
#define __rte_always_inline inline __attribute__((always_inline))
#endif
@@ -416,7 +416,11 @@ static void __attribute__((destructor(RTE_PRIO(prio)), used)) func(void)
/**
* Force a function to be noinlined
*/
+#ifdef RTE_TOOLCHAIN_MSVC
+#define __rte_noinline __declspec(noinline)
+#else
#define __rte_noinline __attribute__((noinline))
+#endif
/**
* Hint function in the hot path
--
2.47.0.vfs.0.3
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2024-11-27 16:11 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-11-27 16:11 [PATCH] lib/eal: fix macros for noinline and alwaysinline for MSVC Andre Muezerie
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).