[dpdk-dev,PATCHv2,2/4] compat: Add __experimental macro
diff mbox

Message ID 20171208171435.29875-3-nhorman@tuxdriver.com
State Superseded, archived
Headers show

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

Neil Horman Dec. 8, 2017, 5:14 p.m. UTC
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>
---
 lib/librte_compat/rte_compat.h | 3 +++
 1 file changed, 3 insertions(+)

Patch
diff mbox

diff --git a/lib/librte_compat/rte_compat.h b/lib/librte_compat/rte_compat.h
index 41e8032ba..3365a0345 100644
--- a/lib/librte_compat/rte_compat.h
+++ b/lib/librte_compat/rte_compat.h
@@ -101,5 +101,8 @@ 
  */
 #endif
 
+#define __experimental \
+__attribute__((deprecated("Symbol is not yet part of stable abi"), \
+section(".text.experimental")))
 
 #endif /* _RTE_COMPAT_H_ */