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.



Reply via email to