clang-tidy предупреждение стиля охраны заголовка - PullRequest
0 голосов
/ 08 января 2019

Я хочу использовать clang-tidy (LLVM v7.0.0) с llvm-header-guard в Windows 10 с CMake для следующего заголовочного файла

#ifndef _BAR_H_
#define _BAR_H_

namespace FOO {
namespace BAR {
class BarC {
public:
  BarC() = default;
  ~BarC() = default;
  BarC(const BarC &iValue) = delete;
  const BarC &operator=(const BarC &iValue) = delete;
  BarC(BarC &&iValue) = delete;
  BarC &operator=(BarC &&iValue) = delete;
};
} // namespace BAR
} // namespace FOO

#endif // _BAR_H_

, где ROOT - это C: \ User \ Zlatan \ Project \ Guard, а файл заголовка Bar.h находится по адресу ROOT \ Foo \ Bar \ src \ include \ Bar \ bar.h

Это создает, к сожалению, следующее предупреждение

предупреждение: защита заголовка не соответствует предпочтительному стилю [LLVM-заголовок-охранник]

Я прочитал Что такое правильный стиль защиты заголовка LLVM? , но я не нашел правильный стиль с

#ifndef BAR_BAR_H
#ifndef INCLUDE_BAR_BAR_H
#ifndef SRC_INCLUDE_BAR_BAR_H
#ifndef BAR_SRC_INCLUDE_BAR_BAR_H
#ifndef FOO_BAR_SRC_INCLUDE_BAR_BAR_H
#ifndef C_USERS_ZLATAN_PROJECT_GUARD_FOO_BAR_SRC_INCLUDE_BAR_BAR_H

и получил за все снова

предупреждение: защита заголовка не соответствует предпочтительному стилю [LLVM-заголовок-охранник]

Какой стиль подходит для моего варианта использования? Нужно ли что-то настраивать в CMake (уже используется CMAKE_EXPORT_COMPILE_COMMANDS = ON)?

Обновление

Бег

cd C: / Пользователи / Zlatan / Project / Guard / build / Release

clang-tidy -checks = 'llvm-header-guard' -header-filter =. * -P =. ../../Foo/Bar/src/Bar.cpp

как предложено в cmd, генерирует следующий вывод

C:\Users\Zlatan\Project\Guard\build\Release\../../Foo/Bar/src/include/Bar/Bar.h: warning: header guard does not follow preferred style [llvm-header-guard]
#ifndef BAR_BAR_H
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        C:\USERS\ZLATAN\PROJECT\GUARD\BUILD\RELEASE\__\__\FOO\BAR\SRC\INCLUDE\BAR\BAR_H

С наилучшими пожеланиями Златан

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...