03/04/2019 01:35, Ferruh Yigit: > On 4/1/2019 9:09 AM, Thomas Monjalon wrote: > > 01/04/2019 08:46, David Marchand: > >> On Mon, Apr 1, 2019 at 4:16 AM Thomas Monjalon <tho...@monjalon.net> wrote: > >> > >>> 19/03/2019 19:04, Ferruh Yigit: > >>>> On 3/19/2019 5:34 PM, Thomas Monjalon wrote: > >>>>>>> +uint16_t __rte_experimental > >>>>>> > >>>>>> Do we need _rte_experimental on function definitions? I guess only in > >>> .h file, > >>>>>> function declaration is enough. > >>>>> > >>>>> Yes we need them both in .h and .c files. > >>>> > >>>> Why we need them in .c file? > >>>> I think the compiler is interested in ones in .h file, because of the > >>>> experimental checks. > >>> > >>> We need the tag in .c file because a check is done in the ELF object > >>> by buildtools/check-experimental-syms.sh > >>> > >> > >> ? > >> The attribute should be inherited from the declaration in the header. > >> If you have a case where it does not work, I'd like to look at it. > > > > I don't know such case, it was just a belief. > > Putting the __rte_experimental tag into header files should be sufficient. > > - buildtools/check-experimental-syms.sh > checks if symbols in .map file are marked with __rte_experimental, both > putting > the tag to the symbol in .c file or .h file is working. > > - tag should be in header file so that application using it can get the > warning. > > Briefly, __rte_experimental needs to be in .h file, it is optional to have it > in > .c, I am for keeping it only in .h file function declaration.
I agree As I said below, we can remove all experimental tags from .c files in a separate patch. > > If we can confirm it works well with tag in headers only, > > I suggest we remove all of them at once. > > For this patch, I prefer being on the safe side for now.