[ovs-dev] [PATCH] ctags: Include new annotations to ctags ignore list.
fbl at sysclose.org
Tue Jun 30 15:33:49 UTC 2020
On Sat, Jun 27, 2020 at 05:11:15PM -0700, William Tu wrote:
> On Wed, Jun 10, 2020 at 04:49:45PM -0300, Flavio Leitner wrote:
> > The annotation OVS_NO_THREAD_SAFETY_ANALYSIS and OVS_LOCKABLE are
> > not part of the list, so ctags can't find functions using them.
> > The annotation list comes from a regex and to include more items
> > make the regex more difficult to read and maintain. Convert to a
> > static list because it isn't supposed to change much and there
> > is no standard names.
> > Also add a comment to remind to keep the list up-to-date.
> > Signed-off-by: Flavio Leitner <fbl at sysclose.org>
> Hi Flavio,
> Instead of a static list, how about adding
> sed -n -e 's/^#define \(OVS_[A-Z_]\+\)(\.\.\.)$/\1+/p' \
> -e 's/^#define \(OVS_[A-Z_]\+\)$/\1+/p' include/openvswitch/compiler.h
> So with the 2nd sed command, it creates
> Which covers the OVS_NO_THREAD_SAFETY_ANALYSIS+ and others.
The '+' is required only when parenthesis could be used, so
it wouldn't apply to OVS_NO_RETURN, for instance. I don't know
the side effects.
Another thing is that the '-I' parameter is useful when an
identifier causes syntactic confusion. I can navigate to symbols
using OVS_UNUSED and I don't see any problems. Same for OVS_NO_RETURN.
Funny thing is that I had issues with OVS_LOCKABLE but not anymore.
I did upgrade my fedora in between, so not sure.
Anyways, I still have issues navigating to dpdk_do_tx_copy() because
of OVS_NO_THREAD_SAFETY_ANALYSIS. It works if the identifier is
included in the list.
> I'm also ok keeping it static, if so, should we add these above?
I understand the goal of fixing one time and leave it automatically,
but ctags man-page is clear about using the parameter when an
identifier causes problems. I don't know what else it does, so I
took the safe approach.
What do you think?
More information about the dev