8

I just installed ClangOnWin,and I'm trying to get clang-tidy's "modernize" checks to work. Unfortunately, clang-tidy doesn't seem to know about them: clang-tidy -list-checks foo.cpp -- | grep modernize produces no output.

The "modernize" checks are listed here, but that page seems to document Clang 3.8, and the version I have installed is 3.7. However, version 3.7 is the current one listed at the LLVM Download Page.

clang-tidy knows about a variety of security checks, so I think I have it installed correctly. For example, clang-tidy -list-checks foo.cpp -- | grep security yields this:

clang-analyzer-security.FloatLoopCounter
clang-analyzer-security.insecureAPI.UncheckedReturn
clang-analyzer-security.insecureAPI.getpw
clang-analyzer-security.insecureAPI.gets
clang-analyzer-security.insecureAPI.mkstemp
clang-analyzer-security.insecureAPI.mktemp
clang-analyzer-security.insecureAPI.rand
clang-analyzer-security.insecureAPI.strcpy
clang-analyzer-security.insecureAPI.vfork

Is there something special I need to do to enable checks such as modernize-use-override and modernize-use-nullptr?

valiano
  • 16,433
  • 7
  • 64
  • 79
KnowItAllWannabe
  • 12,972
  • 8
  • 50
  • 91
  • I came here because I wanted to *enable* *all* checks just to see what I would find. That’s done using a command like `clang-tidy -checks=* …`. I’m leaving this here in case anyone uses the same search term I did and ends up here. – Julia Dec 24 '22 at 18:18

2 Answers2

5

The modernize checks were added after 3.7 (ported from clang-modernize), but try adding -checks="*" to see the whole list of available checks.

clang-tidy -list-checks -checks="*" foo.cpp --
holedigger
  • 51
  • 3
1

Have you tried with the official binaries from LLVM: http://llvm.org/releases/download.html ? Maybe the ClangOnWin binaries are not compiled with all options, or something of that kind.

Baptiste Wicht
  • 7,472
  • 7
  • 45
  • 110