[libc] Add a .clang-tidy file for the toplevel libc directory.

Generation of the .yaml has been removed to prevent lint from
running with every ninja invocation. The new .clang-tidy file is copied
to the libc build directory so that generated files also get checked.

Reviewed By: michaelrj

Differential Revision: https://reviews.llvm.org/D115405
This commit is contained in:
Siva Chandra Reddy 2021-12-08 07:02:48 +00:00
parent f75cce0be8
commit a5a79f69d6
5 changed files with 27 additions and 26 deletions

24
libc/.clang-tidy Normal file
View file

@ -0,0 +1,24 @@
InheritParentConfig: false
Checks: 'readability-identifier-naming'
HeaderFilterRegex: '.*'
CheckOptions:
- key: readability-identifier-naming.ClassCase
value: CamelCase
- key: readability-identifier-naming.StructCase
value: aNy_CasE
- key: readability-identifier-naming.MemberCase
value: lower_case
- key: readability-identifier-naming.MemberIgnoredRegexp
value: "^_[A-Za-z0-9_]+$"
- key: readability-identifier-naming.VariableCase
value: lower_case
- key: readability-identifier-naming.VariableIgnoredRegexp
value: "^_[A-Za-z0-9_]+$"
- key: readability-identifier-naming.FunctionCase
value: lower_case
- key: readability-identifier-naming.FunctionIgnoredRegexp
value: "^_[A-Za-z0-9_]+$"
- key: readability-identifier-naming.ConstexprVariableCase
value: UPPER_CASE
- key: readability-identifier-naming.GetConfigPerFile
value: true

View file

@ -55,12 +55,7 @@ if(LLVM_LIBC_ENABLE_LINTING)
if("clang-tools-extra" IN_LIST LLVM_ENABLE_PROJECTS
AND "clang" IN_LIST LLVM_ENABLE_PROJECTS)
add_custom_target(lint-libc)
if(NOT EXISTS "${LIBC_BUILD_DIR}/.clang-tidy")
# add a no-op clang tidy file for the build directory so that the tidy
# rules don't attempt to format the generated code.
file(WRITE ${LIBC_BUILD_DIR}/.clang-tidy "#InheritParentConfig: false
Checks: cppcoreguidelines-avoid-goto")
endif()
file(COPY ${LIBC_SOURCE_DIR}/.clang-tidy DESTINATION ${LIBC_BUILD_DIR})
else()
message(FATAL_ERROR "
'clang' and 'clang-tools-extra' are required in LLVM_ENABLE_PROJECTS to

View file

@ -232,7 +232,6 @@ function(add_entrypoint_object target_name)
# these.
COMMAND $<TARGET_FILE:clang-tidy>
"--extra-arg=-fno-caret-diagnostics" --quiet
"--export-fixes=${CMAKE_CURRENT_BINARY_DIR}/${target_name}.yaml"
# Path to directory containing compile_commands.json
-p ${PROJECT_BINARY_DIR}
${ADD_ENTRYPOINT_OBJ_SRCS}
@ -249,7 +248,6 @@ function(add_entrypoint_object target_name)
COMMENT "Linting... ${target_name}"
DEPENDS clang-tidy ${internal_target_name} ${ADD_ENTRYPOINT_OBJ_SRCS}
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
BYPRODUCTS ${CMAKE_CURRENT_BINARY_DIR}/${target_name}.yaml
)
add_custom_target(${fq_target_name}.__lint__

View file

@ -1,24 +1,7 @@
InheritParentConfig: true
Checks: '-*,llvmlibc-*,readability-identifier-naming'
HeaderFilterRegex: '.*'
WarningsAsErrors: 'llvmlibc-*'
CheckOptions:
- key: llvmlibc-restrict-system-libc-headers.Includes
value: '-*, linux/*, asm/*.h, asm-generic/*.h'
- key: readability-identifier-naming.ClassCase
value: CamelCase
- key: readability-identifier-naming.StructCase
value: aNy_CasE
- key: readability-identifier-naming.MemberCase
value: lower_case
- key: readability-identifier-naming.VariableCase
value: lower_case
- key: readability-identifier-naming.VariableIgnoredRegexp
value: "^_[A-Za-z0-9_]+$"
- key: readability-identifier-naming.FunctionCase
value: lower_case
- key: readability-identifier-naming.FunctionIgnoredRegexp
value: "^_[A-Za-z0-9_]+$"
- key: readability-identifier-naming.ConstexprVariableCase
value: UPPER_CASE
- key: readability-identifier-naming.GetConfigPerFile
value: true

View file

@ -1,3 +1,4 @@
InheritParentConfig: false
Checks: '-*,llvmlibc-*'
HeaderFilterRegex: '.*'
WarningsAsErrors: 'llvmlibc-*'