From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <nhorman@tuxdriver.com>
Received: from smtp.tuxdriver.com (charlotte.tuxdriver.com [70.61.120.58])
 by dpdk.org (Postfix) with ESMTP id C365F7CD5
 for <dev@dpdk.org>; Fri,  1 Dec 2017 19:57:34 +0100 (CET)
Received: from cpe-2606-a000-111b-423c-e874-da8e-c543-d863.dyn6.twc.com
 ([2606:a000:111b:423c:e874:da8e:c543:d863] helo=hmswarspite.think-freely.org)
 by smtp.tuxdriver.com with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.63)
 (envelope-from <nhorman@tuxdriver.com>)
 id 1eKqUm-0005Xx-EN; Fri, 01 Dec 2017 13:57:32 -0500
Received: from hmswarspite.think-freely.org (localhost [127.0.0.1])
 by hmswarspite.think-freely.org (8.15.2/8.15.2) with ESMTP id vB1IuaYK016746; 
 Fri, 1 Dec 2017 13:56:36 -0500
Received: (from nhorman@localhost)
 by hmswarspite.think-freely.org (8.15.2/8.15.2/Submit) id vB1IuaQN016745;
 Fri, 1 Dec 2017 13:56:36 -0500
From: Neil Horman <nhorman@tuxdriver.com>
To: dev@dpdk.org
Cc: Neil Horman <nhorman@tuxdriver.com>, Thomas Monjalon <thomas@monjalon.net>,
 "Mcnamara, John" <john.mcnamara@intel.com>
Date: Fri,  1 Dec 2017 13:56:26 -0500
Message-Id: <20171201185628.16261-3-nhorman@tuxdriver.com>
X-Mailer: git-send-email 2.14.3
In-Reply-To: <20171201185628.16261-1-nhorman@tuxdriver.com>
References: <20171201185628.16261-1-nhorman@tuxdriver.com>
X-Spam-Score: -2.9 (--)
X-Spam-Status: No
Subject: [dpdk-dev] [PATCH 2/4] compat: Add __experimental macro
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <http://dpdk.org/ml/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://dpdk.org/ml/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <http://dpdk.org/ml/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Fri, 01 Dec 2017 18:57:35 -0000

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 | 2 ++
 1 file changed, 2 insertions(+)

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