Am 06.04.2025 um 00:22 schrieb Greg A. Woods: > I haven't played enough with xlint in a post C89 world yet to know if it > will also still catch all the same things (including missing prototypes, > and mis-matches between prototypes and definitions).
Feel free to look at usr.bin/xlint/lint1/README.md and tests/usr.bin/xlint/lint1/*.c, which describe what lint can and cannot do. If there's anything missing, just ask. >> What about: >> >> man "$1" > > The whole point of my "typeof" was to avoid having to look at a manual > page! :-) But why? The function prototypes are always in the SYNOPSIS section, so they are easy to find. >> grep "[0-9]$1" /usr/libdata/lint/llib-* > > With xlint that doesn't show me anything of much use, at least not in > any human readable form. That's right, but I'm still unsure for what use cases you need to query the function prototypes. > I'm not saying though that xlint should provide those old style lint > library sources. If they tend to bitrot fast, as you said, I definitely won't add them. > These days I would ideally want a tool that could parse enough CPP and C > to trawl through the headers and find a matching prototype declaration. What's your use case? There's already https://nxr.netbsd.org/ where you can ask for the definition of a function. Does that cover your needs? > That's basically what Cscope does, but unfortunately you can't get it to > parse just header files and find declarations (i.e. prototypes) -- it > insists on finding definitions so you have to parse all the library > sources, and of course it doesn't have a quick-and-dirty way to just > write out just the matching declaration(s). If you want a demangler for the lint library files, you can write it by copying usr.bin/xlint/lint2/read.c. To output a type in cdecl format, you can copy usr.bin/xlint/common/tyname.c. Roland