Получение clang-tidy для исправления заголовочных файлов

Я нахожусь в процессе переноса проекта, в настоящее время компилируемого с gcc в clang,
и есть куча предупреждений, которые не генерирует gcc (-Winconsistent-missing-override). clang-tidy работает для исправления этих ошибок в *.cpp файлы, однако это не касается hpp файлы, потому что команда компиляции не была найдена в базе данных (как я и ожидал).

я использую ninja построить проект и ninja -t compdb cc cxx > .build/compile_commands.json создать базу данных компиляции. Я пытался запустить:

clang-tidy-3.6 -p .build/      \
$(find src/ -name *.cpp) \
$(find src/ -name *.hpp) \
--checks=misc-use-override --fix

исправить ошибки. Отказывается трогать заголовочные файлы с жалобами:

Skipping .../src/header/file.hpp. Compile command not found.

10

Решение

Я получил это, указав --header-filter=src/ вариант.
Интересно, что исправления заканчивались тем, что они применялись несколько раз, вызывая вывод:

void f() override override override override override;

Я работал над этим, запустив clang-tidy на каждый исходный файл отдельно. Также обратите внимание на <build-path> указано с -p также должен содержать .clang-format Конфигурация для применения стиля.

Это моя текущая итерация команды:

find src/ -name '*.cpp' -exec \
clang-tidy-3.6 -p . --header-filter=src/ {}
--checks=misc-use-override --fix
10

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]