On 4/29/2024 2:04 PM, Abdullah Ömer Yamaç wrote:
> clang-format is a tool to format C/C++/Objective-C code. It can be used
> to reformat code to match a given coding style, or to ensure that code
> adheres to a specific coding style. It helps to maintain a consistent
> coding style across the DPDK codebase.
> 
> .clang-format file overrides the default style options provided by
> clang-format and large set of IDEs and text editors support it.
> 
> Signed-off-by: Abdullah Ömer Yamaç <aomerya...@gmail.com>
>

Overall +1 to have a format file, specially to help non-frequent
contributors.

1. Some options are failing for me [1], I don't know if it requires a
specific version of clang-format

2. Current options are not fully aligned with coding convention, it is
easier to see what is not compatible by running the tool on an existing
file [2].
we need to fix them.



[1]
`clang-format -i ./lib/ethdev/rte_ethdev.c`
a.
/home/amd/development/dpdk-next-net/./.clang-format:28:1: error: unknown
key 'Whitespace'
Whitespace:
^~~~~~~~~~
Error reading /home/amd/development/dpdk-next-net/./.clang-format:
Invalid argument

b.
/home/amd/development/dpdk-next-net/./.clang-format:12:1: error: unknown
key 'EndOfLine'
EndOfLine: lf
^~~~~~~~~
Error reading /home/amd/development/dpdk-next-net/./.clang-format:
Invalid argument

c.
/home/amd/development/dpdk-next-net/./.clang-format:15:1: error: unknown
key 'File'
File:
^~~~
Error reading /home/amd/development/dpdk-next-net/./.clang-format:
Invalid argument



[2]
`clang-format -i ./lib/ethdev/rte_ethdev.c` (with failing part commented
out)
`git diff`

A few diff samples to fix at first glance:
```
 static const struct rte_eth_xstats_name_off eth_dev_txq_stats_strings[] = {
 -       {"packets", offsetof(struct rte_eth_stats, q_opackets)},
 -       {"bytes", offsetof(struct rte_eth_stats, q_obytes)},
 +    {"packets", offsetof(struct rte_eth_stats, q_opackets)},
 +    {"bytes", offsetof(struct rte_eth_stats, q_obytes)},
 };
```

```
 -enum {
 -       STAT_QMAP_TX = 0,
 -       STAT_QMAP_RX
 -};
 +enum { STAT_QMAP_TX = 0, STAT_QMAP_RX };
```

```
 -int
 -rte_eth_iterator_init(struct rte_dev_iterator *iter, const char
*devargs_str)
 +int rte_eth_iterator_init(struct rte_dev_iterator *iter, const char
*devargs_str)
```

```
         RTE_ETH_FOREACH_DEV(p)
 -               count++;
 +       count++;
```

```
         rte_spinlock_lock(rte_mcfg_ethdev_get_lock());
 -       RTE_ETH_FOREACH_VALID_DEV(pid) {
 +       RTE_ETH_FOREACH_VALID_DEV(pid)
 +       {
```

Reply via email to