> On Jul 2, 2016, at 11:39 AM, James Peach <jpe...@apache.org> wrote: > > 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!) …
What does this imply? A header file (.h file) can not include another .h file that’s in the ATS tree? — leif