[clang-tools-extra] [clang-tidy][NFC] Move std system headers to separate dir in tests (PR #185533)
Baranov Victor via cfe-commits
cfe-commits at lists.llvm.org
Tue Mar 10 10:48:48 PDT 2026
https://github.com/vbvictor updated https://github.com/llvm/llvm-project/pull/185533
>From c04a8de66809fe5029429c470bb90af08c8f452f Mon Sep 17 00:00:00 2001
From: Victor Baranov <bar.victor.2002 at gmail.com>
Date: Tue, 10 Mar 2026 02:00:26 +0300
Subject: [PATCH 1/2] [clang-tidy][NFC] Move std system headers to separate dir
in tests
---
clang-tools-extra/test/clang-tidy/check_clang_tidy.py | 4 ++--
.../clang-tidy/checkers/Inputs/Headers/{ => std}/cstddef | 0
.../clang-tidy/checkers/Inputs/Headers/{ => std}/cstdint | 0
.../clang-tidy/checkers/Inputs/Headers/{ => std}/cstdio | 0
.../checkers/Inputs/Headers/{ => std}/initializer_list | 0
.../checkers/Inputs/Headers/{ => std}/integral_constant.h | 0
.../clang-tidy/checkers/Inputs/Headers/{ => std}/inttypes.h | 0
.../clang-tidy/checkers/Inputs/Headers/{ => std}/memory | 0
.../test/clang-tidy/checkers/Inputs/Headers/{ => std}/mutex | 0
.../clang-tidy/checkers/Inputs/Headers/{ => std}/signal.h | 0
.../clang-tidy/checkers/Inputs/Headers/{ => std}/stddef.h | 0
.../clang-tidy/checkers/Inputs/Headers/{ => std}/stdfloat | 0
.../clang-tidy/checkers/Inputs/Headers/{ => std}/stdio.h | 0
.../clang-tidy/checkers/Inputs/Headers/{ => std}/stdlib.h | 0
.../clang-tidy/checkers/Inputs/Headers/{ => std}/string | 0
.../clang-tidy/checkers/Inputs/Headers/{ => std}/string.h | 0
.../clang-tidy/checkers/Inputs/Headers/{ => std}/unistd.h | 0
.../clang-tidy/checkers/Inputs/Headers/{ => std}/utility | 0
.../clang-tidy/checkers/Inputs/Headers/{ => std}/vector | 0
.../test/clang-tidy/checkers/bugprone/signal-handler.c | 6 ++++--
.../checkers/bugprone/std-namespace-modification.cpp | 3 ++-
.../clang-tidy/checkers/bugprone/suspicious-include.cpp | 2 +-
.../test/clang-tidy/checkers/llvm/include-order.cpp | 2 +-
.../checkers/modernize/pass-by-value-macro-header.cpp | 2 +-
.../checkers/performance/move-constructor-init.cpp | 3 +--
25 files changed, 12 insertions(+), 10 deletions(-)
rename clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/{ => std}/cstddef (100%)
rename clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/{ => std}/cstdint (100%)
rename clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/{ => std}/cstdio (100%)
rename clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/{ => std}/initializer_list (100%)
rename clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/{ => std}/integral_constant.h (100%)
rename clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/{ => std}/inttypes.h (100%)
rename clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/{ => std}/memory (100%)
rename clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/{ => std}/mutex (100%)
rename clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/{ => std}/signal.h (100%)
rename clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/{ => std}/stddef.h (100%)
rename clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/{ => std}/stdfloat (100%)
rename clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/{ => std}/stdio.h (100%)
rename clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/{ => std}/stdlib.h (100%)
rename clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/{ => std}/string (100%)
rename clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/{ => std}/string.h (100%)
rename clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/{ => std}/unistd.h (100%)
rename clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/{ => std}/utility (100%)
rename clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/{ => std}/vector (100%)
diff --git a/clang-tools-extra/test/clang-tidy/check_clang_tidy.py b/clang-tools-extra/test/clang-tidy/check_clang_tidy.py
index 601e067db12e9..71c072e62e3f2 100755
--- a/clang-tools-extra/test/clang-tidy/check_clang_tidy.py
+++ b/clang-tools-extra/test/clang-tidy/check_clang_tidy.py
@@ -156,10 +156,10 @@ def __init__(self, args: argparse.Namespace, extra_args: List[str]) -> None:
# implementations of relevant APIs.
self.clang_extra_args.append("-nostdinc++")
- # Include the clang-tidy test headers directory as a system include
+ # Include stub std headers directory as a system include
# path so individual tests don't need to specify it.
headers_dir = os.path.join(
- os.path.dirname(__file__), "checkers", "Inputs", "Headers"
+ os.path.dirname(__file__), "checkers", "Inputs", "Headers", "std"
)
if os.path.isdir(headers_dir):
self.clang_extra_args.extend(["-isystem", headers_dir])
diff --git a/clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/cstddef b/clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/std/cstddef
similarity index 100%
rename from clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/cstddef
rename to clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/std/cstddef
diff --git a/clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/cstdint b/clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/std/cstdint
similarity index 100%
rename from clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/cstdint
rename to clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/std/cstdint
diff --git a/clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/cstdio b/clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/std/cstdio
similarity index 100%
rename from clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/cstdio
rename to clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/std/cstdio
diff --git a/clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/initializer_list b/clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/std/initializer_list
similarity index 100%
rename from clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/initializer_list
rename to clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/std/initializer_list
diff --git a/clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/integral_constant.h b/clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/std/integral_constant.h
similarity index 100%
rename from clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/integral_constant.h
rename to clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/std/integral_constant.h
diff --git a/clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/inttypes.h b/clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/std/inttypes.h
similarity index 100%
rename from clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/inttypes.h
rename to clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/std/inttypes.h
diff --git a/clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/memory b/clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/std/memory
similarity index 100%
rename from clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/memory
rename to clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/std/memory
diff --git a/clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/mutex b/clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/std/mutex
similarity index 100%
rename from clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/mutex
rename to clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/std/mutex
diff --git a/clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/signal.h b/clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/std/signal.h
similarity index 100%
rename from clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/signal.h
rename to clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/std/signal.h
diff --git a/clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/stddef.h b/clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/std/stddef.h
similarity index 100%
rename from clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/stddef.h
rename to clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/std/stddef.h
diff --git a/clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/stdfloat b/clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/std/stdfloat
similarity index 100%
rename from clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/stdfloat
rename to clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/std/stdfloat
diff --git a/clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/stdio.h b/clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/std/stdio.h
similarity index 100%
rename from clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/stdio.h
rename to clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/std/stdio.h
diff --git a/clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/stdlib.h b/clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/std/stdlib.h
similarity index 100%
rename from clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/stdlib.h
rename to clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/std/stdlib.h
diff --git a/clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/string b/clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/std/string
similarity index 100%
rename from clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/string
rename to clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/std/string
diff --git a/clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/string.h b/clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/std/string.h
similarity index 100%
rename from clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/string.h
rename to clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/std/string.h
diff --git a/clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/unistd.h b/clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/std/unistd.h
similarity index 100%
rename from clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/unistd.h
rename to clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/std/unistd.h
diff --git a/clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/utility b/clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/std/utility
similarity index 100%
rename from clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/utility
rename to clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/std/utility
diff --git a/clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/vector b/clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/std/vector
similarity index 100%
rename from clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/vector
rename to clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/std/vector
diff --git a/clang-tools-extra/test/clang-tidy/checkers/bugprone/signal-handler.c b/clang-tools-extra/test/clang-tidy/checkers/bugprone/signal-handler.c
index aa51ba6bd476c..d76ef02132b09 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/bugprone/signal-handler.c
+++ b/clang-tools-extra/test/clang-tidy/checkers/bugprone/signal-handler.c
@@ -1,5 +1,7 @@
-// RUN: %check_clang_tidy -std=c99,c11,c17 -check-suffixes=,BEFORE-23 %s bugprone-signal-handler %t
-// RUN: %check_clang_tidy -std=c23-or-later %s bugprone-signal-handler %t
+// RUN: %check_clang_tidy -std=c99,c11,c17 -check-suffixes=,BEFORE-23 %s bugprone-signal-handler %t \
+// RUN: -- -- -isystem %S/../Inputs/Headers
+// RUN: %check_clang_tidy -std=c23-or-later %s bugprone-signal-handler %t \
+// RUN: -- -- -isystem %S/../Inputs/Headers
#include "signal.h"
#include "stdlib.h"
diff --git a/clang-tools-extra/test/clang-tidy/checkers/bugprone/std-namespace-modification.cpp b/clang-tools-extra/test/clang-tidy/checkers/bugprone/std-namespace-modification.cpp
index 63bd66cb66372..9b8adbe073ae9 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/bugprone/std-namespace-modification.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/bugprone/std-namespace-modification.cpp
@@ -1,4 +1,5 @@
-// RUN: %check_clang_tidy -std=c++17-or-later %s bugprone-std-namespace-modification %t
+// RUN: %check_clang_tidy -std=c++17-or-later %s bugprone-std-namespace-modification %t \
+// RUN: -- -- -isystem %S/../Inputs/Headers
#include "system-header-simulation.h"
diff --git a/clang-tools-extra/test/clang-tidy/checkers/bugprone/suspicious-include.cpp b/clang-tools-extra/test/clang-tidy/checkers/bugprone/suspicious-include.cpp
index b12b08ee3fd67..b03efd1dbc8e6 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/bugprone/suspicious-include.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/bugprone/suspicious-include.cpp
@@ -1,6 +1,6 @@
// RUN: %check_clang_tidy %s bugprone-suspicious-include %t -- \
// RUN: -config="{CheckOptions: {bugprone-suspicious-include.IgnoredRegex: 'moc_.*'}"} -- \
-// RUN: -fmodules
+// RUN: -isystem %S/../Inputs/Headers -fmodules
// clang-format off
diff --git a/clang-tools-extra/test/clang-tidy/checkers/llvm/include-order.cpp b/clang-tools-extra/test/clang-tidy/checkers/llvm/include-order.cpp
index c7201edf84b05..22e806a96a76a 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/llvm/include-order.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/llvm/include-order.cpp
@@ -1,4 +1,4 @@
-// RUN: %check_clang_tidy %s llvm-include-order %t
+// RUN: %check_clang_tidy %s llvm-include-order %t -- -- -isystem %S/../Inputs/Headers
// CHECK-MESSAGES: [[@LINE+2]]:1: warning: #includes are not sorted properly
#include "j.h"
diff --git a/clang-tools-extra/test/clang-tidy/checkers/modernize/pass-by-value-macro-header.cpp b/clang-tools-extra/test/clang-tidy/checkers/modernize/pass-by-value-macro-header.cpp
index e56c9bc87b3f1..8ddccc8f8535f 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/modernize/pass-by-value-macro-header.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/modernize/pass-by-value-macro-header.cpp
@@ -1,4 +1,4 @@
-// RUN: %check_clang_tidy %s modernize-pass-by-value %t
+// RUN: %check_clang_tidy %s modernize-pass-by-value %t -- -- -isystem %S/../Inputs/Headers
// CHECK-FIXES: #include <utility>
diff --git a/clang-tools-extra/test/clang-tidy/checkers/performance/move-constructor-init.cpp b/clang-tools-extra/test/clang-tidy/checkers/performance/move-constructor-init.cpp
index 4f1f7a0b1eed8..b8395c1eca7e1 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/performance/move-constructor-init.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/performance/move-constructor-init.cpp
@@ -1,7 +1,6 @@
// RUN: %check_clang_tidy %s performance-move-constructor-init,modernize-pass-by-value %t -- \
// RUN: -config='{CheckOptions: \
-// RUN: {modernize-pass-by-value.ValuesOnly: true}}'
-
+// RUN: {modernize-pass-by-value.ValuesOnly: true}}' -- -isystem %S/../Inputs/Headers
#include <s.h>
// CHECK-FIXES: #include <utility>
>From 8c119200cd5ae81021d97e99f865db4558dd81c3 Mon Sep 17 00:00:00 2001
From: Victor Baranov <bar.victor.2002 at gmail.com>
Date: Tue, 10 Mar 2026 10:05:20 +0300
Subject: [PATCH 2/2] convert to <>
---
.../test/clang-tidy/checkers/bugprone/signal-handler.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/clang-tools-extra/test/clang-tidy/checkers/bugprone/signal-handler.c b/clang-tools-extra/test/clang-tidy/checkers/bugprone/signal-handler.c
index d76ef02132b09..0f48cc36db8c3 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/bugprone/signal-handler.c
+++ b/clang-tools-extra/test/clang-tidy/checkers/bugprone/signal-handler.c
@@ -3,9 +3,9 @@
// RUN: %check_clang_tidy -std=c23-or-later %s bugprone-signal-handler %t \
// RUN: -- -- -isystem %S/../Inputs/Headers
-#include "signal.h"
-#include "stdlib.h"
-#include "stdio.h"
+#include <signal.h>
+#include <stdlib.h>
+#include <stdio.h>
#include "system-other.h"
// The function should be classified as standard function even if there is
More information about the cfe-commits
mailing list