[libcxx-commits] [libcxx] 3a809f6 - [libc++abi] Add a clang-tidy config and test (#207324)
via libcxx-commits
libcxx-commits at lists.llvm.org
Fri Jul 31 04:26:34 PDT 2026
Author: Nikolas Klauser
Date: 2026-07-31T13:26:27+02:00
New Revision: 3a809f644c863a17ac665e19d7dcbf7209688d18
URL: https://github.com/llvm/llvm-project/commit/3a809f644c863a17ac665e19d7dcbf7209688d18
DIFF: https://github.com/llvm/llvm-project/commit/3a809f644c863a17ac665e19d7dcbf7209688d18.diff
LOG: [libc++abi] Add a clang-tidy config and test (#207324)
This essentially copies the `.clang-tidy` file from libc++ into
libc++abi, except that the naming conventions are updated to not add
underscores and some checks are disabled that don't pass currently. They
will be fixed in follow-ups.
Added:
libcxxabi/.clang-tidy
Modified:
libcxx/test/libcxx/clang_tidy.sh.py
Removed:
################################################################################
diff --git a/libcxx/test/libcxx/clang_tidy.sh.py b/libcxx/test/libcxx/clang_tidy.sh.py
index 630428564597d..7d270d199fbd9 100644
--- a/libcxx/test/libcxx/clang_tidy.sh.py
+++ b/libcxx/test/libcxx/clang_tidy.sh.py
@@ -11,5 +11,6 @@
# RUN: %{python} %{libcxx-dir}/../clang-tools-extra/clang-tidy/tool/run-clang-tidy.py \
# RUN: -clang-tidy-binary %{clang-tidy} \
# RUN: -warnings-as-errors "*" \
-# RUN: -source-filter=".*libcxx/src.*" \
-# RUN: -quiet -p %{bin-dir}/..
+# RUN: -source-filter=".*libcxx(abi?)/src.*" \
+# RUN: -quiet -p %{bin-dir}/.. \
+# RUN: -header-filter=".*libcxx(abi?)/src.*"
diff --git a/libcxxabi/.clang-tidy b/libcxxabi/.clang-tidy
new file mode 100644
index 0000000000000..cbb2351419896
--- /dev/null
+++ b/libcxxabi/.clang-tidy
@@ -0,0 +1,55 @@
+Checks: >
+ bugprone-copy-constructor-init,
+ bugprone-dangling-handle,
+ bugprone-infinite-loop,
+ bugprone-stringview-nullptr,
+ bugprone-use-after-move,
+
+ misc-definitions-in-headers,
+ misc-misplaced-const,
+ misc-non-copyable-objects,
+ misc-uniqueptr-reset-release,
+
+ modernize-redundant-void-arg,
+
+ readability-duplicate-include,
+ readability-function-cognitive-complexity,
+ readability-function-size,
+ readability-misplaced-array-index,
+ readability-redundant-control-flow,
+ readability-redundant-function-ptr-dereference,
+ readability-redundant-preprocessor,
+ readability-simplify-subscript-expr,
+ readability-uniqueptr-delete-release,
+
+CheckOptions:
+ - key: readability-function-cognitive-complexity.Threshold
+ value: 176 # TODO: bring that number down
+ - key: readability-function-size.LineThreshold
+ value: 491 # TODO: bring that number down
+ - key: readability-identifier-naming.GetConfigPerFile
+ value: false
+ - key: readability-identifier-naming.ParameterCase
+ value: lower_case
+ - key: readability-identifier-naming.PrivateMemberCase
+ value: lower_case
+ - key: readability-identifier-naming.PrivateMemberSuffix
+ value: _
+ - key: readability-identifier-naming.LocalVariableCase
+ value: lower_case
+ - key: readability-identifier-naming.TemplateParameterCase
+ value: CamelCase
+ - key: readability-identifier-naming.ValueTemplateParameterCase
+ value: CamelCase
+ - key: readability-identifier-naming.ValueTemplateParameterIgnoredRegexp
+ value: (__[a-z_]|_[A-Z]).* # TODO: Converge on a single style for value template parameters
+
+# TODO: Enable these checks
+# llvm-include-order,
+# llvm-namespace-comment,
+# modernize-loop-convert,
+# modernize-use-equals-delete,
+# modernize-use-nullptr,
+# modernize-use-override,
+# readability-identifier-naming,
+# readability-simplify-boolean-expr,
More information about the libcxx-commits
mailing list