[dpdk-dev,PATCHv4,2/5] compat: Add __experimental macro
Checks
Commit Message
The __experimental macro tags a given exported function as being part of
the EXPERIMENTAL api. Use of this tag will cause any caller of the
function (that isn't removed by dead code elimination) to emit a warning
that the user is making use of an API whos stabilty isn't guaranteed.
It also places the function in the .text.experimental section, which is
used to validate the tag against the corresponding library version map
Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
CC: Thomas Monjalon <thomas@monjalon.net>
CC: "Mcnamara, John" <john.mcnamara@intel.com>
CC: Bruce Richardson <bruce.richardson@intel.com>
---
lib/librte_compat/rte_compat.h | 11 +++++++++++
1 file changed, 11 insertions(+)
Comments
Hi,
I know I should have spotted these comments earlier,
I'm sorry to be late on this review.
13/12/2017 16:17, Neil Horman:
> +#ifndef ALLOW_EXPERIMENTAL_APIS
>
> +#define __experimental \
These macros should be in the DPDK namespace:
RTE_ALLOW_EXPERIMENTAL_API (no need of S)
__rte_experimental
> +__attribute__((deprecated("Symbol is not yet part of stable abi"), \
Nit: s/abi/ABI/
@@ -101,5 +101,16 @@
*/
#endif
+#ifndef ALLOW_EXPERIMENTAL_APIS
+#define __experimental \
+__attribute__((deprecated("Symbol is not yet part of stable abi"), \
+section(".text.experimental")))
+
+#else
+
+#define __experimental \
+__attribute__((section(".text.experimental")))
+
+#endif
#endif /* _RTE_COMPAT_H_ */