[PATCH v5 0/5] add semicolon when export any symbol

fengchengwen fengchengwen at huawei.com
Thu Sep 4 02:24:47 CEST 2025


Hi David,

On 9/3/2025 3:04 PM, David Marchand wrote:
> Hello,
> 
> On Wed, 3 Sept 2025 at 04:05, Chengwen Feng <fengchengwen at huawei.com> wrote:
>>
>> Currently, the RTE_EXPORT_INTERNAL_SYMBOL, RTE_EXPORT_SYMBOL and
>> RTE_EXPORT_EXPERIMENTAL_SYMBOL are placed at the beginning of APIs,
>> but don't end with a semicolon. As a result, some IDEs cannot identify
>> the APIs and cannot quickly jump to the definition.
>>
>> A semicolon is added to the end of above RTE_EXPORT_XXX_SYMBOL in this
>> commit.
>>
>> And also redefine RTE_EXPORT_XXX_SYMBOL:
>> #define RTE_EXPORT_XXX_SYMBOL(x, x) extern int dummy_rte_export_symbol
>>
>> Chengwen Feng (5):
>>   lib: add semicolon when export symbol
>>   lib: add semicolon when export experimental symbol
>>   lib: add semicolon when export internal symbol
>>   drivers: add semicolon when export any symbol
>>   doc: update ABI versioning guide
> 
> I am skeptical about this series.
> 
> The current positionning should be seen as an additional info on the
> return type, in the definition of the symbol.
> Does it mean that this IDE would fail if we add any kind of
> macros/attribute involving the symbol name?

I tried vscode and SI (source insight), and found user could use "token macro" in SI
to make the IDE skip such symbol (so use ctrl+ will quick jump to definition), but
I can't find such setting for vscode.

> 
> Afaics, ctags can be taught to skip those macros and just behaves
> correctly by adding in its config file:
> -DRTE_EXPORT_EXPERIMENTAL_SYMBOL(a)=
> -DRTE_EXPORT_INTERNAL_SYMBOL(a)=
> -DRTE_EXPORT_SYMBOL(a)=

How about add note in DPDK document if don't apply this commit?

> 
> I think another option would be to move the call to export macros
> after the whole definition of the symbol, though I prefer the current
> position for readability.

If not add a semi, it will affect next API:
int A()
RTE_EXPORT_SYMBOL(A)

int B()

> 
> 



More information about the dev mailing list