Search code examples
c++cmakeclang-tidy

clang-tidy reporting unknown warnings


I have a CMake build using GCC. I generated compile_commands.json then ran clang-tidy but I'm getting hundreds of:

error: unknown warning option '-Wno-maybe-uninitialized'; did you mean '-Wno-uninitialized'? [clang-diagnostic-unknown-warning-option]
error: unknown warning option '-Wno-psabi' [clang-diagnostic-unknown-warning-option]

How can I disable or remove these warnings? I saw clang++ warning: “warning: unknown warning option '-Wno-maybe-uninitialized'” but adding "-Wno-unknown-warning-option" gives me an error:

run-clang-tidy-3.8.py: error: unrecognized arguments: -Wno-unknown-warning-option

Solution

  • Try appending -extra-arg=-Wno-unknown-warning-option to clang-tidy command line.

    Using -extra-arg= asks clang-tidy to pass -Wno-unknown-warning-option to the underlying clang. Otherwise, it tries to interpret it as a clang-tidy flag.

    Edit:

    The run-clang-tidy.py script supports -extra-arg starting version 5.0. In prior versions, you'd need to edit the script and add that -extra-arg manually.

    If you're on Ubuntu 16.04, you can get clang-tidy-5.0 from:
    https://www.ubuntuupdates.org/package/xorg-edgers/xenial/main/base/clang-tidy-5.0