trafficserver-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From James Peach <jpe...@apache.org>
Subject RFC: self-contained headers
Date Sat, 02 Jul 2016 17:39:56 GMT
Hi all,

I’ve posted a pull request <https://github.com/apache/trafficserver/pull/770> that
integrates clang-tidy into the build. The usual way to do this is to use the bear tool to
build a JSON compilation database, however that has a couple of drawbacks. First, dynamic
library preloading is disabled by default on OS X and some Linux configurations. Second, the
database only contains files you actually build (ie. no header files).

The approach in the PR is to add a ‘tidy’ target to all the makefiles which uses the locally
defined compiler arguments to tidy every source file, including headers. Now, this goes horribly
wrong in some places (eg. iocore) because our headers are not self-contained. clang-tidy cannot
parse the incomplete header file and does not make any of the changes we want. If we force
it to continue despite the errors, it can make incorrect source changes.

So, should we try to make all our headers self-contained so that clang-tidy can process them?
This probably would involve somewhat extensive header refactoring. I’d appreciate any feedback
(and volunteers!) …

cheers,
James



Mime
View raw message