<div dir="ltr">Hi All,<div><br></div><div>I've been sitting on my own set of clang-tidy checks specific for libc++. They are intended for developers of libc++, not users of it, and having them can be quite helpful. They include:</div><div><br></div><div>* A reserved name check.</div><div>* Attribute not on declaration check + fix.</div><div>* Externally instantiated function is missing inline check + fix.</div><div>* Externally instantiated function with missing or incorrect visibility attributes check + fix.</div><div><br></div><div>As more developers begin to work on libc++, it's useful for these checks to be available to all of them.</div><div><br></div><div>I'm looking to find a way to upstream these checks. My question is:</div><div><br></div><div>1. Are these even appropriate to upstream?</div><div>2. If so, where should we put them?</div><div><br></div><div>The simple answer is to add a new `libcxx-internal` module to clang-tidy. The obvious problem is that clang-tidy ships to all users, and to them this module and its checks are just noise.</div><div><br></div><div>What do you think?</div><div><br></div><div>/Eric</div><div><br></div><div>PS. The non-complete and messy versions of the current checks can be found here. I obviously plan to clean them up before submitting for review upstream.  <a href="https://github.com/efcs/clang-tools-extra/tree/libcxx-tidy/clang-tidy/libcxx">https://github.com/efcs/clang-tools-extra/tree/libcxx-tidy/clang-tidy/libcxx</a></div></div>