[llvm] [clang-tidy][bazel][NFC] enable custom checks in bazel build (PR #160548)
Congcong Cai via llvm-commits
llvm-commits at lists.llvm.org
Wed Oct 8 02:19:05 PDT 2025
https://github.com/HerrCai0907 updated https://github.com/llvm/llvm-project/pull/160548
>From 8d40af68bd275b5a96d19be54caecb97077a8b4d Mon Sep 17 00:00:00 2001
From: Congcong Cai <congcongcai0907 at 163.com>
Date: Wed, 24 Sep 2025 23:50:38 +0800
Subject: [PATCH] [clang-tidy][bazel][NFC] enable custom checks in bazel build
---
.../clang-tools-extra/clang-query/BUILD.bazel | 28 +++++++++++++++
.../clang-tools-extra/clang-tidy/BUILD.bazel | 35 +++++++++++++++++--
2 files changed, 60 insertions(+), 3 deletions(-)
create mode 100644 utils/bazel/llvm-project-overlay/clang-tools-extra/clang-query/BUILD.bazel
diff --git a/utils/bazel/llvm-project-overlay/clang-tools-extra/clang-query/BUILD.bazel b/utils/bazel/llvm-project-overlay/clang-tools-extra/clang-query/BUILD.bazel
new file mode 100644
index 0000000000000..05fcbf7beb99f
--- /dev/null
+++ b/utils/bazel/llvm-project-overlay/clang-tools-extra/clang-query/BUILD.bazel
@@ -0,0 +1,28 @@
+# This file is licensed under the Apache License v2.0 with LLVM Exceptions.
+# See https://llvm.org/LICENSE.txt for license information.
+# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+
+load("@rules_cc//cc:defs.bzl", "cc_library")
+
+package(
+ default_visibility = ["//visibility:public"],
+ features = ["layering_check"],
+)
+
+licenses(["notice"])
+
+cc_library(
+ name = "lib",
+ srcs = glob(["*.cpp"]),
+ hdrs = glob(["*.h"]),
+ deps = [
+ "//clang:ast",
+ "//clang:ast_matchers",
+ "//clang:ast_matchers_dynamic",
+ "//clang:basic",
+ "//clang:frontend",
+ "//clang:serialization",
+ "//llvm:LineEditor",
+ "//llvm:Support",
+ ],
+)
diff --git a/utils/bazel/llvm-project-overlay/clang-tools-extra/clang-tidy/BUILD.bazel b/utils/bazel/llvm-project-overlay/clang-tools-extra/clang-tidy/BUILD.bazel
index e944270896c0d..8fdd29d2410a5 100644
--- a/utils/bazel/llvm-project-overlay/clang-tools-extra/clang-tidy/BUILD.bazel
+++ b/utils/bazel/llvm-project-overlay/clang-tools-extra/clang-tidy/BUILD.bazel
@@ -23,6 +23,11 @@ bool_flag(
build_setting_default = True,
)
+bool_flag(
+ name = "enable_custom_checks",
+ build_setting_default = True,
+)
+
config_setting(
name = "static_analyzer_enabled",
flag_values = {
@@ -30,13 +35,25 @@ config_setting(
},
)
+config_setting(
+ name = "custom_checks_enabled",
+ flag_values = {
+ ":enable_custom_checks": "true",
+ },
+)
+
expand_template(
name = "config",
out = "clang-tidy-config.h",
substitutions =
- {
- "#cmakedefine01 CLANG_TIDY_ENABLE_QUERY_BASED_CUSTOM_CHECKS": "#define CLANG_TIDY_ENABLE_QUERY_BASED_CUSTOM_CHECKS 0",
- } | select({
+ select({
+ ":custom_checks_enabled": {
+ "#cmakedefine01 CLANG_TIDY_ENABLE_QUERY_BASED_CUSTOM_CHECKS": "#define CLANG_TIDY_ENABLE_QUERY_BASED_CUSTOM_CHECKS 1",
+ },
+ "//conditions:default": {
+ "#cmakedefine01 CLANG_TIDY_ENABLE_QUERY_BASED_CUSTOM_CHECKS": "#define CLANG_TIDY_ENABLE_QUERY_BASED_CUSTOM_CHECKS 0",
+ },
+ }) | select({
":static_analyzer_enabled": {
"#cmakedefine01 CLANG_TIDY_ENABLE_STATIC_ANALYZER": "#define CLANG_TIDY_ENABLE_STATIC_ANALYZER 1",
},
@@ -207,6 +224,15 @@ clang_tidy_library(
],
)
+clang_tidy_library(
+ name = "custom",
+ deps = [
+ ":lib",
+ "//clang:ast_matchers_dynamic",
+ "//clang-tools-extra/clang-query:lib",
+ ],
+)
+
clang_tidy_library(
name = "concurrency",
deps = [":lib"],
@@ -363,6 +389,9 @@ CHECKS = [
] + select({
":static_analyzer_enabled": [":mpi"],
"//conditions:default": [],
+}) + select({
+ ":custom_checks_enabled": [":custom"],
+ "//conditions:default": [],
})
cc_library(
More information about the llvm-commits
mailing list