[cfe-dev] clang-tidy/clang-query issues

Aaron Ballman via cfe-dev cfe-dev at lists.llvm.org
Thu Jul 7 05:28:39 PDT 2016


On Wed, Jul 6, 2016 at 6:39 PM, Andre-Marcel Hellmund via cfe-dev
<cfe-dev at lists.llvm.org> wrote:
> Hi Clang-Guys,
>
> I recently started to look into the clang-tools to enforce coding guidelines
> for our development group. Therefore, I played around with clang-tidy and
> clang-format (version 3.8 and trunk from Monday), however ran into a two
> problems. Before I dive deeper into the code details of both tools, I would
> like to check with you for known issues or hints.
>
> 1) While the compilation of the code using CMake (ninja) works fine, loading
> the same code via clang-tidy (and the compilation database) results in an
> error that a header, omp.h, could not be found. Is this a known bug for
> clang-tidy or might this be caused by a defect in CMake?
>
> 2) Performing a simple AST match (reduced from the clang-tidy check
> 'readability-identifier-naming'), that is,
>
> fieldDecl(isPublic()).bind("public_member")
>
> results in incorrect matches meaning that privately declared members or
> public type definitions of std containers like const_iterator are matched.
> Interestingly, I was not yet able to reproduce those errors with simplified
> test cases. Are there some known issues with the AST matchers that could fit
> my description?

Do you have a code example of an incorrect match for the above matcher
that you can post? Often times, it helps to compare the matcher
results against an AST dump of the same source code to help determine
what's going on (for instance, it could be an implicit member that's
unexpectedly matching). You can do this by running clang -cc1
-ast-dump <rest of your flags> file.cpp. You can use -ast-dump-filter
to help filter unrelated results out as well.

~Aaron

>
> Thank you for your help and support in advance,
> Andi
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev



More information about the cfe-dev mailing list