[libc] Add a .clang-tidy file for the toplevel libc directory.
authorSiva Chandra Reddy <sivachandra@google.com>
Wed, 8 Dec 2021 07:02:48 +0000 (07:02 +0000)
committerSiva Chandra Reddy <sivachandra@google.com>
Thu, 9 Dec 2021 00:19:25 +0000 (00:19 +0000)
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

libc/.clang-tidy [new file with mode: 0644]
libc/CMakeLists.txt
libc/cmake/modules/LLVMLibCObjectRules.cmake
libc/src/.clang-tidy
libc/src/__support/CPP/.clang-tidy

diff --git a/libc/.clang-tidy b/libc/.clang-tidy
new file mode 100644 (file)
index 0000000..a1dba68
--- /dev/null
@@ -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
index 7275ce4..6e68246 100644 (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
index b1a22ba..69ec216 100644 (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__
index 606e696..b21d4c3 100644 (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
index 29f78fd..08b50cc 100644 (file)
@@ -1,3 +1,4 @@
+InheritParentConfig: false
 Checks: '-*,llvmlibc-*'
 HeaderFilterRegex: '.*'
 WarningsAsErrors: 'llvmlibc-*'