Loading...
Searching...
No Matches
13#ifndef ALLOW_EXPERIMENTAL_API
15#ifdef RTE_TOOLCHAIN_MSVC
16#define __rte_experimental
18#define __rte_experimental \
19__attribute__((deprecated("Symbol is not yet part of stable ABI"), \
20section(".text.experimental")))
25#ifdef RTE_TOOLCHAIN_MSVC
26#define __rte_experimental
28#define __rte_experimental \
29__attribute__((section(".text.experimental")))
34#ifndef __has_attribute
36#define __has_attribute(x) 0
39#if !defined ALLOW_INTERNAL_API && __has_attribute(error)
41#ifdef RTE_TOOLCHAIN_MSVC
44#define __rte_internal \
45__attribute__((error("Symbol is not public ABI"), \
46section(".text.internal")))
49#elif !defined ALLOW_INTERNAL_API && __has_attribute(diagnose_if)
51#ifdef RTE_TOOLCHAIN_MSVC
54#define __rte_internal \
55_Pragma("GCC diagnostic push") \
56_Pragma("GCC diagnostic ignored \"-Wgcc-compat\"") \
57__attribute__((diagnose_if(1, "Symbol is not public ABI", "error"), \
58section(".text.internal"))) \
59_Pragma("GCC diagnostic pop")
64#ifdef RTE_TOOLCHAIN_MSVC
67#define __rte_internal \
68__attribute__((section(".text.internal")))