[clang] [clang][analyzer] Add test cases for CTU-import failures (PR #188524)
Arseniy Zaostrovnykh via cfe-commits
cfe-commits at lists.llvm.org
Thu Mar 26 06:01:03 PDT 2026
https://github.com/necto updated https://github.com/llvm/llvm-project/pull/188524
>From 789e1e79fd357d2df1c3412c4dc1509af4f3d55d Mon Sep 17 00:00:00 2001
From: Arseniy Zaostrovnykh <necto.ne at gmail.com>
Date: Wed, 25 Mar 2026 17:16:34 +0100
Subject: [PATCH 1/4] Add test cases for various CTU-import failure modes
Only adding test cases without changing any functionality
--
CPP-7804
---
clang/test/Analysis/Inputs/ctu-diag-bar.cpp | 1 +
.../Inputs/ctu-diag-simple-extern-c.cpp | 1 +
.../test/Analysis/Inputs/ctu-diag-simple.cpp | 1 +
.../Analysis/Inputs/ctu-invalid-ast-other.cpp | 1 +
...-ast-other.cpp.externalDefMap.ast-dump.txt | 1 +
...issing-ast.cpp.externalDefMap.ast-dump.txt | 1 +
.../test/Analysis/ctu-diag-invalid-index.cpp | 18 ++++++++++
.../Analysis/ctu-diag-invlist-ambiguous.cpp | 19 +++++++++++
.../test/Analysis/ctu-diag-invlist-empty.cpp | 23 +++++++++++++
.../Analysis/ctu-diag-invlist-lookup-miss.cpp | 21 ++++++++++++
.../Analysis/ctu-diag-invlist-missing.cpp | 20 +++++++++++
.../ctu-diag-invlist-wrong-format.cpp | 21 ++++++++++++
.../ctu-diag-lang-dialect-mismatch.cpp | 21 ++++++++++++
clang/test/Analysis/ctu-diag-lang-mismatch.c | 23 +++++++++++++
.../test/Analysis/ctu-diag-load-threshold.cpp | 33 +++++++++++++++++++
.../test/Analysis/ctu-diag-missing-index.cpp | 18 ++++++++++
clang/test/Analysis/ctu-invalid-ast.cpp | 26 +++++++++++++++
clang/test/Analysis/ctu-missing-ast.cpp | 24 ++++++++++++++
18 files changed, 273 insertions(+)
create mode 100644 clang/test/Analysis/Inputs/ctu-diag-bar.cpp
create mode 100644 clang/test/Analysis/Inputs/ctu-diag-simple-extern-c.cpp
create mode 100644 clang/test/Analysis/Inputs/ctu-diag-simple.cpp
create mode 100644 clang/test/Analysis/Inputs/ctu-invalid-ast-other.cpp
create mode 100644 clang/test/Analysis/Inputs/ctu-invalid-ast-other.cpp.externalDefMap.ast-dump.txt
create mode 100644 clang/test/Analysis/Inputs/ctu-missing-ast.cpp.externalDefMap.ast-dump.txt
create mode 100644 clang/test/Analysis/ctu-diag-invalid-index.cpp
create mode 100644 clang/test/Analysis/ctu-diag-invlist-ambiguous.cpp
create mode 100644 clang/test/Analysis/ctu-diag-invlist-empty.cpp
create mode 100644 clang/test/Analysis/ctu-diag-invlist-lookup-miss.cpp
create mode 100644 clang/test/Analysis/ctu-diag-invlist-missing.cpp
create mode 100644 clang/test/Analysis/ctu-diag-invlist-wrong-format.cpp
create mode 100644 clang/test/Analysis/ctu-diag-lang-dialect-mismatch.cpp
create mode 100644 clang/test/Analysis/ctu-diag-lang-mismatch.c
create mode 100644 clang/test/Analysis/ctu-diag-load-threshold.cpp
create mode 100644 clang/test/Analysis/ctu-diag-missing-index.cpp
create mode 100644 clang/test/Analysis/ctu-invalid-ast.cpp
create mode 100644 clang/test/Analysis/ctu-missing-ast.cpp
diff --git a/clang/test/Analysis/Inputs/ctu-diag-bar.cpp b/clang/test/Analysis/Inputs/ctu-diag-bar.cpp
new file mode 100644
index 0000000000000..51fc652a8c1a7
--- /dev/null
+++ b/clang/test/Analysis/Inputs/ctu-diag-bar.cpp
@@ -0,0 +1 @@
+int bar(int x) { return x + 2; }
diff --git a/clang/test/Analysis/Inputs/ctu-diag-simple-extern-c.cpp b/clang/test/Analysis/Inputs/ctu-diag-simple-extern-c.cpp
new file mode 100644
index 0000000000000..dc6193b4a3d51
--- /dev/null
+++ b/clang/test/Analysis/Inputs/ctu-diag-simple-extern-c.cpp
@@ -0,0 +1 @@
+extern "C" int foo(int x) { return x + 1; }
diff --git a/clang/test/Analysis/Inputs/ctu-diag-simple.cpp b/clang/test/Analysis/Inputs/ctu-diag-simple.cpp
new file mode 100644
index 0000000000000..83a87cb20ca99
--- /dev/null
+++ b/clang/test/Analysis/Inputs/ctu-diag-simple.cpp
@@ -0,0 +1 @@
+int foo(int x) { return x + 1; }
diff --git a/clang/test/Analysis/Inputs/ctu-invalid-ast-other.cpp b/clang/test/Analysis/Inputs/ctu-invalid-ast-other.cpp
new file mode 100644
index 0000000000000..06440e3a86f7d
--- /dev/null
+++ b/clang/test/Analysis/Inputs/ctu-invalid-ast-other.cpp
@@ -0,0 +1 @@
+void external() {}
diff --git a/clang/test/Analysis/Inputs/ctu-invalid-ast-other.cpp.externalDefMap.ast-dump.txt b/clang/test/Analysis/Inputs/ctu-invalid-ast-other.cpp.externalDefMap.ast-dump.txt
new file mode 100644
index 0000000000000..0b63c29d0710e
--- /dev/null
+++ b/clang/test/Analysis/Inputs/ctu-invalid-ast-other.cpp.externalDefMap.ast-dump.txt
@@ -0,0 +1 @@
+14:c:@F at external# ctu-invalid-ast-other.cpp.ast
\ No newline at end of file
diff --git a/clang/test/Analysis/Inputs/ctu-missing-ast.cpp.externalDefMap.ast-dump.txt b/clang/test/Analysis/Inputs/ctu-missing-ast.cpp.externalDefMap.ast-dump.txt
new file mode 100644
index 0000000000000..4c2a21b23cfd1
--- /dev/null
+++ b/clang/test/Analysis/Inputs/ctu-missing-ast.cpp.externalDefMap.ast-dump.txt
@@ -0,0 +1 @@
+14:c:@F at external# wrong-ctu-missing-ast.cpp.ast
\ No newline at end of file
diff --git a/clang/test/Analysis/ctu-diag-invalid-index.cpp b/clang/test/Analysis/ctu-diag-invalid-index.cpp
new file mode 100644
index 0000000000000..f71ea6b4b2081
--- /dev/null
+++ b/clang/test/Analysis/ctu-diag-invalid-index.cpp
@@ -0,0 +1,18 @@
+// Test that a malformed externalDefMap.txt produces err_extdefmap_parsing error.
+//
+// RUN: rm -rf %t && mkdir %t
+// RUN: echo 'this is invalid' > %t/externalDefMap.txt
+// RUN: %clang_analyze_cc1 -std=c++14 -triple x86_64-pc-linux-gnu \
+// RUN: -analyzer-checker=core \
+// RUN: -analyzer-config experimental-enable-naive-ctu-analysis=true \
+// RUN: -analyzer-config ctu-dir=%t \
+// RUN: -verify %s
+
+// We expect an error in this file, but without a location.
+// expected-error-re at ./ctu-diag-invalid-index.cpp:*{{error parsing index file: '{{.+}}externalDefMap.txt' line: 1 '<USR-Length>:<USR> <File-Path>' format expected}}
+
+int foo(int);
+
+void test() {
+ foo(1);
+}
diff --git a/clang/test/Analysis/ctu-diag-invlist-ambiguous.cpp b/clang/test/Analysis/ctu-diag-invlist-ambiguous.cpp
new file mode 100644
index 0000000000000..776a77f94bd6e
--- /dev/null
+++ b/clang/test/Analysis/ctu-diag-invlist-ambiguous.cpp
@@ -0,0 +1,19 @@
+// Test that duplicate keys in the invocation list silently fails CTU import.
+//
+// RUN: rm -rf %t && mkdir %t
+// RUN: echo '11:c:@F at foo#I# ctu-diag-simple.cpp' > %t/externalDefMap.txt
+// RUN: echo '"/some/path.cpp": ["clang", "/some/path.cpp"]' > %t/invocations.yaml
+// RUN: echo '"/some/path.cpp": ["clang", "/some/path.cpp"]' >> %t/invocations.yaml
+// RUN: %clang_analyze_cc1 -std=c++14 -triple x86_64-pc-linux-gnu \
+// RUN: -analyzer-checker=core \
+// RUN: -analyzer-config experimental-enable-naive-ctu-analysis=true \
+// RUN: -analyzer-config ctu-dir=%t \
+// RUN: -analyzer-config ctu-invocation-list=%t/invocations.yaml \
+// RUN: -verify %s
+
+int foo(int);
+
+void test() {
+ // expected-no-diagnostics
+ foo(1); // no-warning. Ignoring "Invocation list file contains multiple references to the same source file."
+}
diff --git a/clang/test/Analysis/ctu-diag-invlist-empty.cpp b/clang/test/Analysis/ctu-diag-invlist-empty.cpp
new file mode 100644
index 0000000000000..09baa3732c11d
--- /dev/null
+++ b/clang/test/Analysis/ctu-diag-invlist-empty.cpp
@@ -0,0 +1,23 @@
+// Test that an empty invocation list file silently fails CTU import.
+//
+// Note: invocation_list_empty (index_error_code::invocation_list_empty) is
+// dead code: llvm::yaml::Stream::begin() always creates at least one Document,
+// so FirstInvocationFile == InvocationFile.end() is never true. An empty file
+// reaches the !DocumentRoot branch instead, producing invocation_list_wrong_format.
+//
+// RUN: rm -rf %t && mkdir %t
+// RUN: echo '11:c:@F at foo#I# ctu-diag-simple.cpp' > %t/externalDefMap.txt
+// RUN: touch %t/invocations.yaml
+// RUN: %clang_analyze_cc1 -std=c++14 -triple x86_64-pc-linux-gnu \
+// RUN: -analyzer-checker=core \
+// RUN: -analyzer-config experimental-enable-naive-ctu-analysis=true \
+// RUN: -analyzer-config ctu-dir=%t \
+// RUN: -analyzer-config ctu-invocation-list=%t/invocations.yaml \
+// RUN: -verify %s
+
+int foo(int);
+
+void test() {
+ // expected-no-diagnostics
+ foo(1); // no-warning. Ignoring "Invocation list file is in wrong format."
+}
diff --git a/clang/test/Analysis/ctu-diag-invlist-lookup-miss.cpp b/clang/test/Analysis/ctu-diag-invlist-lookup-miss.cpp
new file mode 100644
index 0000000000000..ceeb7d2991dee
--- /dev/null
+++ b/clang/test/Analysis/ctu-diag-invlist-lookup-miss.cpp
@@ -0,0 +1,21 @@
+// Test that a valid invocation list without the requested source file silently fails CTU import.
+//
+// The invocation list has a valid entry for a different path, but not for the
+// source file referenced in externalDefMap.txt.
+//
+// RUN: rm -rf %t && mkdir %t
+// RUN: echo '11:c:@F at foo#I# ctu-diag-simple.cpp' > %t/externalDefMap.txt
+// RUN: echo '"/nonexistent.cpp": ["clang", "/nonexistent.cpp"]' > %t/invocations.yaml
+// RUN: %clang_analyze_cc1 -std=c++14 -triple x86_64-pc-linux-gnu \
+// RUN: -analyzer-checker=core \
+// RUN: -analyzer-config experimental-enable-naive-ctu-analysis=true \
+// RUN: -analyzer-config ctu-dir=%t \
+// RUN: -analyzer-config ctu-invocation-list=%t/invocations.yaml \
+// RUN: -verify %s
+
+int foo(int);
+
+void test() {
+ // expected-no-diagnostics
+ foo(1); // no-warning. Ignoring "Invocation list file does not contain the requested source file."
+}
diff --git a/clang/test/Analysis/ctu-diag-invlist-missing.cpp b/clang/test/Analysis/ctu-diag-invlist-missing.cpp
new file mode 100644
index 0000000000000..ae481ea595ff8
--- /dev/null
+++ b/clang/test/Analysis/ctu-diag-invlist-missing.cpp
@@ -0,0 +1,20 @@
+// Test that a missing invocation list silently fails CTU import.
+//
+// The externalDefMap.txt maps foo to a non-.ast source path, triggering
+// loadFromSource(). The invocation list path points to a nonexistent file.
+//
+// RUN: rm -rf %t && mkdir %t
+// RUN: echo '11:c:@F at foo#I# ctu-diag-simple.cpp' > %t/externalDefMap.txt
+// RUN: %clang_analyze_cc1 -std=c++14 -triple x86_64-pc-linux-gnu \
+// RUN: -analyzer-checker=core \
+// RUN: -analyzer-config experimental-enable-naive-ctu-analysis=true \
+// RUN: -analyzer-config ctu-dir=%t \
+// RUN: -analyzer-config ctu-invocation-list=%t/nonexistent.yaml \
+// RUN: -verify %s
+
+int foo(int);
+
+void test() {
+ // expected-no-diagnostics
+ foo(1); // no-warning. Ignoring "Invocation list file is not found."
+}
diff --git a/clang/test/Analysis/ctu-diag-invlist-wrong-format.cpp b/clang/test/Analysis/ctu-diag-invlist-wrong-format.cpp
new file mode 100644
index 0000000000000..002ed2c4e8069
--- /dev/null
+++ b/clang/test/Analysis/ctu-diag-invlist-wrong-format.cpp
@@ -0,0 +1,21 @@
+// Test that a malformed invocation list produces silently fails CTU import.
+//
+// A YAML sequence (- item) at the root is not a mapping, so dyn_cast to
+// MappingNode fails, triggering invocation_list_wrong_format.
+//
+// RUN: rm -rf %t && mkdir %t
+// RUN: echo '11:c:@F at foo#I# ctu-diag-simple.cpp' > %t/externalDefMap.txt
+// RUN: echo '- just_a_list_item' > %t/invocations.yaml
+// RUN: %clang_analyze_cc1 -std=c++14 -triple x86_64-pc-linux-gnu \
+// RUN: -analyzer-checker=core \
+// RUN: -analyzer-config experimental-enable-naive-ctu-analysis=true \
+// RUN: -analyzer-config ctu-dir=%t \
+// RUN: -analyzer-config ctu-invocation-list=%t/invocations.yaml \
+// RUN: -verify %s
+
+int foo(int);
+
+void test() {
+ // expected-no-diagnostics
+ foo(1); // no-warning. Ignoring "Invocation list file is in wrong format."
+}
diff --git a/clang/test/Analysis/ctu-diag-lang-dialect-mismatch.cpp b/clang/test/Analysis/ctu-diag-lang-dialect-mismatch.cpp
new file mode 100644
index 0000000000000..cccdae3f2c31c
--- /dev/null
+++ b/clang/test/Analysis/ctu-diag-lang-dialect-mismatch.cpp
@@ -0,0 +1,21 @@
+// Test that loading a C++17 AST from a C++14 translation unit produces
+// lang_dialect_mismatch. Both are C++ (no lang_mismatch), but CPlusPlus17
+// differs, triggering the dialect check, and silently failing CTU import.
+//
+// RUN: rm -rf %t && mkdir %t
+// RUN: %clang_cc1 -std=c++17 -triple x86_64-pc-linux-gnu \
+// RUN: -emit-pch -o %t/ctu-diag-simple.cpp.ast \
+// RUN: %S/Inputs/ctu-diag-simple.cpp
+// RUN: echo '11:c:@F at foo#I# ctu-diag-simple.cpp.ast' > %t/externalDefMap.txt
+// RUN: %clang_analyze_cc1 -std=c++14 -triple x86_64-pc-linux-gnu \
+// RUN: -analyzer-checker=core \
+// RUN: -analyzer-config experimental-enable-naive-ctu-analysis=true \
+// RUN: -analyzer-config ctu-dir=%t \
+// RUN: -verify %s
+
+int foo(int);
+
+void test() {
+ // expected-no-diagnostics
+ foo(1); // no-warning. Ignoring "Invocation list file contains multiple references to the same source file."
+}
diff --git a/clang/test/Analysis/ctu-diag-lang-mismatch.c b/clang/test/Analysis/ctu-diag-lang-mismatch.c
new file mode 100644
index 0000000000000..d9d175ea6b9b0
--- /dev/null
+++ b/clang/test/Analysis/ctu-diag-lang-mismatch.c
@@ -0,0 +1,23 @@
+// Test that loading a C++ AST from a C translation unit produces lang_mismatch.
+//
+// The external definition is compiled as C++ with extern "C" linkage, so the
+// USR matches the C function declaration (both use the no-parameter-type USR
+// format: c:@F at foo, 8 chars). The lang mismatch leads to a silent CTU import failure.
+//
+// RUN: rm -rf %t && mkdir %t
+// RUN: %clang_cc1 -x c++ -std=c++14 -triple x86_64-pc-linux-gnu \
+// RUN: -emit-pch -o %t/ctu-diag-simple-extern-c.cpp.ast \
+// RUN: %S/Inputs/ctu-diag-simple-extern-c.cpp
+// RUN: echo '8:c:@F at foo ctu-diag-simple-extern-c.cpp.ast' > %t/externalDefMap.txt
+// RUN: %clang_analyze_cc1 -x c -triple x86_64-pc-linux-gnu \
+// RUN: -analyzer-checker=core \
+// RUN: -analyzer-config experimental-enable-naive-ctu-analysis=true \
+// RUN: -analyzer-config ctu-dir=%t \
+// RUN: -verify %s
+
+int foo(int);
+
+void test(void) {
+ // expected-no-diagnostics
+ foo(1); // no-warning. Ignoring "Language mismatch."
+}
diff --git a/clang/test/Analysis/ctu-diag-load-threshold.cpp b/clang/test/Analysis/ctu-diag-load-threshold.cpp
new file mode 100644
index 0000000000000..abcca004f78cf
--- /dev/null
+++ b/clang/test/Analysis/ctu-diag-load-threshold.cpp
@@ -0,0 +1,33 @@
+// Test that exceeding ctu-import-cpp-threshold produces load_threshold_reached,
+// which is silently fails AST import.
+//
+// With threshold=1, the first external AST (foo) is loaded successfully.
+// The second lookup (bar) finds the threshold exhausted and reports the error.
+//
+// RUN: rm -rf %t && mkdir %t
+// RUN: %clang_cc1 -std=c++14 -triple x86_64-pc-linux-gnu \
+// RUN: -emit-pch -o %t/ctu-diag-simple.cpp.ast \
+// RUN: %S/Inputs/ctu-diag-simple.cpp
+// RUN: %clang_cc1 -std=c++14 -triple x86_64-pc-linux-gnu \
+// RUN: -emit-pch -o %t/ctu-diag-bar.cpp.ast \
+// RUN: %S/Inputs/ctu-diag-bar.cpp
+// RUN: echo '11:c:@F at foo#I# ctu-diag-simple.cpp.ast' > %t/externalDefMap.txt
+// RUN: echo '11:c:@F at bar#I# ctu-diag-bar.cpp.ast' >> %t/externalDefMap.txt
+// RUN: %clang_analyze_cc1 -std=c++14 -triple x86_64-pc-linux-gnu \
+// RUN: -analyzer-checker=core \
+// RUN: -analyzer-config experimental-enable-naive-ctu-analysis=true \
+// RUN: -analyzer-config ctu-dir=%t \
+// RUN: -analyzer-config ctu-import-cpp-threshold=1 \
+// RUN: -verify %s
+
+// foo is loaded successfully (first load, within threshold).
+// bar hits the threshold (no telemetry emitted for it).
+
+int foo(int);
+int bar(int);
+
+void test() {
+ foo(1);
+ // expected-no-diagnostics
+ bar(1); // no-warning. Ignoring "Load threshold reached."
+}
diff --git a/clang/test/Analysis/ctu-diag-missing-index.cpp b/clang/test/Analysis/ctu-diag-missing-index.cpp
new file mode 100644
index 0000000000000..354a49c5b8565
--- /dev/null
+++ b/clang/test/Analysis/ctu-diag-missing-index.cpp
@@ -0,0 +1,18 @@
+// Test that missing externalDefMap.txt produces err_ctu_error_opening at call site.
+//
+// RUN: rm -rf %t && mkdir %t
+// RUN: %clang_analyze_cc1 -std=c++14 -triple x86_64-pc-linux-gnu \
+// RUN: -analyzer-checker=core \
+// RUN: -analyzer-config experimental-enable-naive-ctu-analysis=true \
+// RUN: -analyzer-config ctu-dir=%t \
+// RUN: -analyzer-config ctu-index-name=non-existing.txt \
+// RUN: -verify %s
+
+// We expect an error in this file, but without a location.
+// expected-error-re at ./ctu-diag-missing-index.cpp:*{{error opening '{{.+}}non-existing.txt': required by the CrossTU functionality}}
+
+int foo(int);
+
+void test() {
+ foo(1);
+}
diff --git a/clang/test/Analysis/ctu-invalid-ast.cpp b/clang/test/Analysis/ctu-invalid-ast.cpp
new file mode 100644
index 0000000000000..b35f40472dbcb
--- /dev/null
+++ b/clang/test/Analysis/ctu-invalid-ast.cpp
@@ -0,0 +1,26 @@
+// Test that loading of invalid AST dump leads CTU import failure and a note on stderr.
+// RUN: rm -rf %t
+// RUN: mkdir %t
+
+// RUN: touch %t/ctu-invalid-ast-other.cpp.ast
+
+// RUN: cp %S/Inputs/ctu-invalid-ast-other.cpp.externalDefMap.ast-dump.txt %t/externalDefMap.txt
+
+// RUN: %clang_cc1 -triple x86_64-pc-linux-gnu -std=c++17 -analyze \
+// RUN: -analyzer-checker=core \
+// RUN: -analyzer-config experimental-enable-naive-ctu-analysis=true \
+// RUN: -analyzer-config ctu-dir=%t \
+// RUN: -analyzer-config display-ctu-progress=true \
+// RUN: -verify %s 2>&1 | FileCheck %s
+
+// CHECK: error: unable to load precompiled file
+
+// FIXME: this is misleading
+// CHECK: CTU loaded AST file: ctu-invalid-ast-other.cpp.ast
+
+void external();
+
+void trigger() {
+ // expected-no-diagnostics
+ external(); // no-warning
+}
diff --git a/clang/test/Analysis/ctu-missing-ast.cpp b/clang/test/Analysis/ctu-missing-ast.cpp
new file mode 100644
index 0000000000000..9409a6b997345
--- /dev/null
+++ b/clang/test/Analysis/ctu-missing-ast.cpp
@@ -0,0 +1,24 @@
+// Test that when the referenced AST file is missing, CTU import fails with a note in stderr.
+// RUN: rm -rf %t
+// RUN: mkdir %t
+
+// RUN: cp %S/Inputs/ctu-missing-ast.cpp.externalDefMap.ast-dump.txt %t/externalDefMap.txt
+
+// RUN: %clang_cc1 -triple x86_64-pc-linux-gnu -std=c++17 -analyze \
+// RUN: -analyzer-checker=core \
+// RUN: -analyzer-config experimental-enable-naive-ctu-analysis=true \
+// RUN: -analyzer-config ctu-dir=%t \
+// RUN: -analyzer-config display-ctu-progress=true \
+// RUN: -verify %s 2>&1 | FileCheck %s
+
+// CHECK: error: unable to load precompiled file
+
+// FIXME: this is misleading
+// CHECK: CTU loaded AST file: wrong-ctu-missing-ast.cpp.ast
+
+void external();
+
+void trigger() {
+ // expected-no-diagnostics
+ external(); // no-warning
+}
>From fd46cbbb8be2c0ac3de3e8fb19694417b13856a7 Mon Sep 17 00:00:00 2001
From: Arseniy Zaostrovnykh <necto.ne at gmail.com>
Date: Thu, 26 Mar 2026 10:00:55 +0100
Subject: [PATCH 2/4] Move ctu-related tests into a dedicated directory
---
clang/test/Analysis/{ => ctu}/Inputs/ctu-chain.cpp | 0
.../Analysis/{ => ctu}/Inputs/ctu-cxxdefaultinitexpr-import.cpp | 0
.../ctu-cxxdefaultinitexpr-import.cpp.externalDefMap.ast-dump.txt | 0
clang/test/Analysis/{ => ctu}/Inputs/ctu-diag-bar.cpp | 0
clang/test/Analysis/{ => ctu}/Inputs/ctu-diag-simple-extern-c.cpp | 0
clang/test/Analysis/{ => ctu}/Inputs/ctu-diag-simple.cpp | 0
clang/test/Analysis/{ => ctu}/Inputs/ctu-import.c | 0
.../{ => ctu}/Inputs/ctu-import.c.externalDefMap.ast-dump.txt | 0
.../{ => ctu}/Inputs/ctu-inherited-default-ctor-other.cpp | 0
clang/test/Analysis/{ => ctu}/Inputs/ctu-invalid-ast-other.cpp | 0
.../Inputs/ctu-invalid-ast-other.cpp.externalDefMap.ast-dump.txt | 0
.../test/Analysis/{ => ctu}/Inputs/ctu-lookup-name-with-space.cpp | 0
.../Inputs/ctu-missing-ast.cpp.externalDefMap.ast-dump.txt | 0
.../Analysis/{ => ctu}/Inputs/ctu-onego-existingdef-other.cpp | 0
.../ctu-onego-existingdef-other.cpp.externalDefMap.ast-dump.txt | 0
clang/test/Analysis/{ => ctu}/Inputs/ctu-onego-indirect-other.cpp | 0
.../ctu-onego-indirect-other.cpp.externalDefMap.ast-dump.txt | 0
clang/test/Analysis/{ => ctu}/Inputs/ctu-onego-small-other.cpp | 0
.../Inputs/ctu-onego-small-other.cpp.externalDefMap.ast-dump.txt | 0
clang/test/Analysis/{ => ctu}/Inputs/ctu-onego-toplevel-other.cpp | 0
.../ctu-onego-toplevel-other.cpp.externalDefMap.ast-dump.txt | 0
clang/test/Analysis/{ => ctu}/Inputs/ctu-other.c | 0
.../{ => ctu}/Inputs/ctu-other.c.externalDefMap.ast-dump.txt | 0
clang/test/Analysis/{ => ctu}/Inputs/ctu-other.cpp | 0
.../{ => ctu}/Inputs/ctu-other.cpp.externalDefMap.ast-dump.txt | 0
.../Analysis/{ => ctu}/Inputs/ctu-test-import-failure-import.cpp | 0
...ctu-test-import-failure-import.cpp.externalDefMap.ast-dump.txt | 0
clang/test/Analysis/{ => ctu}/ctu-cxxdefaultinitexpr.cpp | 0
clang/test/Analysis/{ => ctu}/ctu-diag-invalid-index.cpp | 0
clang/test/Analysis/{ => ctu}/ctu-diag-invlist-ambiguous.cpp | 0
clang/test/Analysis/{ => ctu}/ctu-diag-invlist-empty.cpp | 0
clang/test/Analysis/{ => ctu}/ctu-diag-invlist-lookup-miss.cpp | 0
clang/test/Analysis/{ => ctu}/ctu-diag-invlist-missing.cpp | 0
clang/test/Analysis/{ => ctu}/ctu-diag-invlist-wrong-format.cpp | 0
clang/test/Analysis/{ => ctu}/ctu-diag-lang-dialect-mismatch.cpp | 0
clang/test/Analysis/{ => ctu}/ctu-diag-lang-mismatch.c | 0
clang/test/Analysis/{ => ctu}/ctu-diag-load-threshold.cpp | 0
clang/test/Analysis/{ => ctu}/ctu-diag-missing-index.cpp | 0
clang/test/Analysis/{ => ctu}/ctu-different-triples.cpp | 0
clang/test/Analysis/{ => ctu}/ctu-hdr.h | 0
clang/test/Analysis/{ => ctu}/ctu-implicit.c | 0
clang/test/Analysis/{ => ctu}/ctu-import-threshold.c | 0
clang/test/Analysis/{ => ctu}/ctu-import-type-decl-definition.c | 0
clang/test/Analysis/{ => ctu}/ctu-inherited-default-ctor.cpp | 0
clang/test/Analysis/{ => ctu}/ctu-invalid-ast.cpp | 0
clang/test/Analysis/{ => ctu}/ctu-lookup-name-with-space.cpp | 0
clang/test/Analysis/{ => ctu}/ctu-main.c | 0
clang/test/Analysis/{ => ctu}/ctu-main.cpp | 0
clang/test/Analysis/{ => ctu}/ctu-missing-ast.cpp | 0
clang/test/Analysis/{ => ctu}/ctu-on-demand-parsing.c | 0
clang/test/Analysis/{ => ctu}/ctu-on-demand-parsing.cpp | 0
clang/test/Analysis/{ => ctu}/ctu-onego-existingdef.cpp | 0
clang/test/Analysis/{ => ctu}/ctu-onego-indirect.cpp | 0
clang/test/Analysis/{ => ctu}/ctu-onego-small.cpp | 0
clang/test/Analysis/{ => ctu}/ctu-onego-toplevel.cpp | 0
clang/test/Analysis/{ => ctu}/ctu-test-import-failure.cpp | 0
clang/test/Analysis/{ => ctu}/ctu-unknown-parts-in-triples.cpp | 0
57 files changed, 0 insertions(+), 0 deletions(-)
rename clang/test/Analysis/{ => ctu}/Inputs/ctu-chain.cpp (100%)
rename clang/test/Analysis/{ => ctu}/Inputs/ctu-cxxdefaultinitexpr-import.cpp (100%)
rename clang/test/Analysis/{ => ctu}/Inputs/ctu-cxxdefaultinitexpr-import.cpp.externalDefMap.ast-dump.txt (100%)
rename clang/test/Analysis/{ => ctu}/Inputs/ctu-diag-bar.cpp (100%)
rename clang/test/Analysis/{ => ctu}/Inputs/ctu-diag-simple-extern-c.cpp (100%)
rename clang/test/Analysis/{ => ctu}/Inputs/ctu-diag-simple.cpp (100%)
rename clang/test/Analysis/{ => ctu}/Inputs/ctu-import.c (100%)
rename clang/test/Analysis/{ => ctu}/Inputs/ctu-import.c.externalDefMap.ast-dump.txt (100%)
rename clang/test/Analysis/{ => ctu}/Inputs/ctu-inherited-default-ctor-other.cpp (100%)
rename clang/test/Analysis/{ => ctu}/Inputs/ctu-invalid-ast-other.cpp (100%)
rename clang/test/Analysis/{ => ctu}/Inputs/ctu-invalid-ast-other.cpp.externalDefMap.ast-dump.txt (100%)
rename clang/test/Analysis/{ => ctu}/Inputs/ctu-lookup-name-with-space.cpp (100%)
rename clang/test/Analysis/{ => ctu}/Inputs/ctu-missing-ast.cpp.externalDefMap.ast-dump.txt (100%)
rename clang/test/Analysis/{ => ctu}/Inputs/ctu-onego-existingdef-other.cpp (100%)
rename clang/test/Analysis/{ => ctu}/Inputs/ctu-onego-existingdef-other.cpp.externalDefMap.ast-dump.txt (100%)
rename clang/test/Analysis/{ => ctu}/Inputs/ctu-onego-indirect-other.cpp (100%)
rename clang/test/Analysis/{ => ctu}/Inputs/ctu-onego-indirect-other.cpp.externalDefMap.ast-dump.txt (100%)
rename clang/test/Analysis/{ => ctu}/Inputs/ctu-onego-small-other.cpp (100%)
rename clang/test/Analysis/{ => ctu}/Inputs/ctu-onego-small-other.cpp.externalDefMap.ast-dump.txt (100%)
rename clang/test/Analysis/{ => ctu}/Inputs/ctu-onego-toplevel-other.cpp (100%)
rename clang/test/Analysis/{ => ctu}/Inputs/ctu-onego-toplevel-other.cpp.externalDefMap.ast-dump.txt (100%)
rename clang/test/Analysis/{ => ctu}/Inputs/ctu-other.c (100%)
rename clang/test/Analysis/{ => ctu}/Inputs/ctu-other.c.externalDefMap.ast-dump.txt (100%)
rename clang/test/Analysis/{ => ctu}/Inputs/ctu-other.cpp (100%)
rename clang/test/Analysis/{ => ctu}/Inputs/ctu-other.cpp.externalDefMap.ast-dump.txt (100%)
rename clang/test/Analysis/{ => ctu}/Inputs/ctu-test-import-failure-import.cpp (100%)
rename clang/test/Analysis/{ => ctu}/Inputs/ctu-test-import-failure-import.cpp.externalDefMap.ast-dump.txt (100%)
rename clang/test/Analysis/{ => ctu}/ctu-cxxdefaultinitexpr.cpp (100%)
rename clang/test/Analysis/{ => ctu}/ctu-diag-invalid-index.cpp (100%)
rename clang/test/Analysis/{ => ctu}/ctu-diag-invlist-ambiguous.cpp (100%)
rename clang/test/Analysis/{ => ctu}/ctu-diag-invlist-empty.cpp (100%)
rename clang/test/Analysis/{ => ctu}/ctu-diag-invlist-lookup-miss.cpp (100%)
rename clang/test/Analysis/{ => ctu}/ctu-diag-invlist-missing.cpp (100%)
rename clang/test/Analysis/{ => ctu}/ctu-diag-invlist-wrong-format.cpp (100%)
rename clang/test/Analysis/{ => ctu}/ctu-diag-lang-dialect-mismatch.cpp (100%)
rename clang/test/Analysis/{ => ctu}/ctu-diag-lang-mismatch.c (100%)
rename clang/test/Analysis/{ => ctu}/ctu-diag-load-threshold.cpp (100%)
rename clang/test/Analysis/{ => ctu}/ctu-diag-missing-index.cpp (100%)
rename clang/test/Analysis/{ => ctu}/ctu-different-triples.cpp (100%)
rename clang/test/Analysis/{ => ctu}/ctu-hdr.h (100%)
rename clang/test/Analysis/{ => ctu}/ctu-implicit.c (100%)
rename clang/test/Analysis/{ => ctu}/ctu-import-threshold.c (100%)
rename clang/test/Analysis/{ => ctu}/ctu-import-type-decl-definition.c (100%)
rename clang/test/Analysis/{ => ctu}/ctu-inherited-default-ctor.cpp (100%)
rename clang/test/Analysis/{ => ctu}/ctu-invalid-ast.cpp (100%)
rename clang/test/Analysis/{ => ctu}/ctu-lookup-name-with-space.cpp (100%)
rename clang/test/Analysis/{ => ctu}/ctu-main.c (100%)
rename clang/test/Analysis/{ => ctu}/ctu-main.cpp (100%)
rename clang/test/Analysis/{ => ctu}/ctu-missing-ast.cpp (100%)
rename clang/test/Analysis/{ => ctu}/ctu-on-demand-parsing.c (100%)
rename clang/test/Analysis/{ => ctu}/ctu-on-demand-parsing.cpp (100%)
rename clang/test/Analysis/{ => ctu}/ctu-onego-existingdef.cpp (100%)
rename clang/test/Analysis/{ => ctu}/ctu-onego-indirect.cpp (100%)
rename clang/test/Analysis/{ => ctu}/ctu-onego-small.cpp (100%)
rename clang/test/Analysis/{ => ctu}/ctu-onego-toplevel.cpp (100%)
rename clang/test/Analysis/{ => ctu}/ctu-test-import-failure.cpp (100%)
rename clang/test/Analysis/{ => ctu}/ctu-unknown-parts-in-triples.cpp (100%)
diff --git a/clang/test/Analysis/Inputs/ctu-chain.cpp b/clang/test/Analysis/ctu/Inputs/ctu-chain.cpp
similarity index 100%
rename from clang/test/Analysis/Inputs/ctu-chain.cpp
rename to clang/test/Analysis/ctu/Inputs/ctu-chain.cpp
diff --git a/clang/test/Analysis/Inputs/ctu-cxxdefaultinitexpr-import.cpp b/clang/test/Analysis/ctu/Inputs/ctu-cxxdefaultinitexpr-import.cpp
similarity index 100%
rename from clang/test/Analysis/Inputs/ctu-cxxdefaultinitexpr-import.cpp
rename to clang/test/Analysis/ctu/Inputs/ctu-cxxdefaultinitexpr-import.cpp
diff --git a/clang/test/Analysis/Inputs/ctu-cxxdefaultinitexpr-import.cpp.externalDefMap.ast-dump.txt b/clang/test/Analysis/ctu/Inputs/ctu-cxxdefaultinitexpr-import.cpp.externalDefMap.ast-dump.txt
similarity index 100%
rename from clang/test/Analysis/Inputs/ctu-cxxdefaultinitexpr-import.cpp.externalDefMap.ast-dump.txt
rename to clang/test/Analysis/ctu/Inputs/ctu-cxxdefaultinitexpr-import.cpp.externalDefMap.ast-dump.txt
diff --git a/clang/test/Analysis/Inputs/ctu-diag-bar.cpp b/clang/test/Analysis/ctu/Inputs/ctu-diag-bar.cpp
similarity index 100%
rename from clang/test/Analysis/Inputs/ctu-diag-bar.cpp
rename to clang/test/Analysis/ctu/Inputs/ctu-diag-bar.cpp
diff --git a/clang/test/Analysis/Inputs/ctu-diag-simple-extern-c.cpp b/clang/test/Analysis/ctu/Inputs/ctu-diag-simple-extern-c.cpp
similarity index 100%
rename from clang/test/Analysis/Inputs/ctu-diag-simple-extern-c.cpp
rename to clang/test/Analysis/ctu/Inputs/ctu-diag-simple-extern-c.cpp
diff --git a/clang/test/Analysis/Inputs/ctu-diag-simple.cpp b/clang/test/Analysis/ctu/Inputs/ctu-diag-simple.cpp
similarity index 100%
rename from clang/test/Analysis/Inputs/ctu-diag-simple.cpp
rename to clang/test/Analysis/ctu/Inputs/ctu-diag-simple.cpp
diff --git a/clang/test/Analysis/Inputs/ctu-import.c b/clang/test/Analysis/ctu/Inputs/ctu-import.c
similarity index 100%
rename from clang/test/Analysis/Inputs/ctu-import.c
rename to clang/test/Analysis/ctu/Inputs/ctu-import.c
diff --git a/clang/test/Analysis/Inputs/ctu-import.c.externalDefMap.ast-dump.txt b/clang/test/Analysis/ctu/Inputs/ctu-import.c.externalDefMap.ast-dump.txt
similarity index 100%
rename from clang/test/Analysis/Inputs/ctu-import.c.externalDefMap.ast-dump.txt
rename to clang/test/Analysis/ctu/Inputs/ctu-import.c.externalDefMap.ast-dump.txt
diff --git a/clang/test/Analysis/Inputs/ctu-inherited-default-ctor-other.cpp b/clang/test/Analysis/ctu/Inputs/ctu-inherited-default-ctor-other.cpp
similarity index 100%
rename from clang/test/Analysis/Inputs/ctu-inherited-default-ctor-other.cpp
rename to clang/test/Analysis/ctu/Inputs/ctu-inherited-default-ctor-other.cpp
diff --git a/clang/test/Analysis/Inputs/ctu-invalid-ast-other.cpp b/clang/test/Analysis/ctu/Inputs/ctu-invalid-ast-other.cpp
similarity index 100%
rename from clang/test/Analysis/Inputs/ctu-invalid-ast-other.cpp
rename to clang/test/Analysis/ctu/Inputs/ctu-invalid-ast-other.cpp
diff --git a/clang/test/Analysis/Inputs/ctu-invalid-ast-other.cpp.externalDefMap.ast-dump.txt b/clang/test/Analysis/ctu/Inputs/ctu-invalid-ast-other.cpp.externalDefMap.ast-dump.txt
similarity index 100%
rename from clang/test/Analysis/Inputs/ctu-invalid-ast-other.cpp.externalDefMap.ast-dump.txt
rename to clang/test/Analysis/ctu/Inputs/ctu-invalid-ast-other.cpp.externalDefMap.ast-dump.txt
diff --git a/clang/test/Analysis/Inputs/ctu-lookup-name-with-space.cpp b/clang/test/Analysis/ctu/Inputs/ctu-lookup-name-with-space.cpp
similarity index 100%
rename from clang/test/Analysis/Inputs/ctu-lookup-name-with-space.cpp
rename to clang/test/Analysis/ctu/Inputs/ctu-lookup-name-with-space.cpp
diff --git a/clang/test/Analysis/Inputs/ctu-missing-ast.cpp.externalDefMap.ast-dump.txt b/clang/test/Analysis/ctu/Inputs/ctu-missing-ast.cpp.externalDefMap.ast-dump.txt
similarity index 100%
rename from clang/test/Analysis/Inputs/ctu-missing-ast.cpp.externalDefMap.ast-dump.txt
rename to clang/test/Analysis/ctu/Inputs/ctu-missing-ast.cpp.externalDefMap.ast-dump.txt
diff --git a/clang/test/Analysis/Inputs/ctu-onego-existingdef-other.cpp b/clang/test/Analysis/ctu/Inputs/ctu-onego-existingdef-other.cpp
similarity index 100%
rename from clang/test/Analysis/Inputs/ctu-onego-existingdef-other.cpp
rename to clang/test/Analysis/ctu/Inputs/ctu-onego-existingdef-other.cpp
diff --git a/clang/test/Analysis/Inputs/ctu-onego-existingdef-other.cpp.externalDefMap.ast-dump.txt b/clang/test/Analysis/ctu/Inputs/ctu-onego-existingdef-other.cpp.externalDefMap.ast-dump.txt
similarity index 100%
rename from clang/test/Analysis/Inputs/ctu-onego-existingdef-other.cpp.externalDefMap.ast-dump.txt
rename to clang/test/Analysis/ctu/Inputs/ctu-onego-existingdef-other.cpp.externalDefMap.ast-dump.txt
diff --git a/clang/test/Analysis/Inputs/ctu-onego-indirect-other.cpp b/clang/test/Analysis/ctu/Inputs/ctu-onego-indirect-other.cpp
similarity index 100%
rename from clang/test/Analysis/Inputs/ctu-onego-indirect-other.cpp
rename to clang/test/Analysis/ctu/Inputs/ctu-onego-indirect-other.cpp
diff --git a/clang/test/Analysis/Inputs/ctu-onego-indirect-other.cpp.externalDefMap.ast-dump.txt b/clang/test/Analysis/ctu/Inputs/ctu-onego-indirect-other.cpp.externalDefMap.ast-dump.txt
similarity index 100%
rename from clang/test/Analysis/Inputs/ctu-onego-indirect-other.cpp.externalDefMap.ast-dump.txt
rename to clang/test/Analysis/ctu/Inputs/ctu-onego-indirect-other.cpp.externalDefMap.ast-dump.txt
diff --git a/clang/test/Analysis/Inputs/ctu-onego-small-other.cpp b/clang/test/Analysis/ctu/Inputs/ctu-onego-small-other.cpp
similarity index 100%
rename from clang/test/Analysis/Inputs/ctu-onego-small-other.cpp
rename to clang/test/Analysis/ctu/Inputs/ctu-onego-small-other.cpp
diff --git a/clang/test/Analysis/Inputs/ctu-onego-small-other.cpp.externalDefMap.ast-dump.txt b/clang/test/Analysis/ctu/Inputs/ctu-onego-small-other.cpp.externalDefMap.ast-dump.txt
similarity index 100%
rename from clang/test/Analysis/Inputs/ctu-onego-small-other.cpp.externalDefMap.ast-dump.txt
rename to clang/test/Analysis/ctu/Inputs/ctu-onego-small-other.cpp.externalDefMap.ast-dump.txt
diff --git a/clang/test/Analysis/Inputs/ctu-onego-toplevel-other.cpp b/clang/test/Analysis/ctu/Inputs/ctu-onego-toplevel-other.cpp
similarity index 100%
rename from clang/test/Analysis/Inputs/ctu-onego-toplevel-other.cpp
rename to clang/test/Analysis/ctu/Inputs/ctu-onego-toplevel-other.cpp
diff --git a/clang/test/Analysis/Inputs/ctu-onego-toplevel-other.cpp.externalDefMap.ast-dump.txt b/clang/test/Analysis/ctu/Inputs/ctu-onego-toplevel-other.cpp.externalDefMap.ast-dump.txt
similarity index 100%
rename from clang/test/Analysis/Inputs/ctu-onego-toplevel-other.cpp.externalDefMap.ast-dump.txt
rename to clang/test/Analysis/ctu/Inputs/ctu-onego-toplevel-other.cpp.externalDefMap.ast-dump.txt
diff --git a/clang/test/Analysis/Inputs/ctu-other.c b/clang/test/Analysis/ctu/Inputs/ctu-other.c
similarity index 100%
rename from clang/test/Analysis/Inputs/ctu-other.c
rename to clang/test/Analysis/ctu/Inputs/ctu-other.c
diff --git a/clang/test/Analysis/Inputs/ctu-other.c.externalDefMap.ast-dump.txt b/clang/test/Analysis/ctu/Inputs/ctu-other.c.externalDefMap.ast-dump.txt
similarity index 100%
rename from clang/test/Analysis/Inputs/ctu-other.c.externalDefMap.ast-dump.txt
rename to clang/test/Analysis/ctu/Inputs/ctu-other.c.externalDefMap.ast-dump.txt
diff --git a/clang/test/Analysis/Inputs/ctu-other.cpp b/clang/test/Analysis/ctu/Inputs/ctu-other.cpp
similarity index 100%
rename from clang/test/Analysis/Inputs/ctu-other.cpp
rename to clang/test/Analysis/ctu/Inputs/ctu-other.cpp
diff --git a/clang/test/Analysis/Inputs/ctu-other.cpp.externalDefMap.ast-dump.txt b/clang/test/Analysis/ctu/Inputs/ctu-other.cpp.externalDefMap.ast-dump.txt
similarity index 100%
rename from clang/test/Analysis/Inputs/ctu-other.cpp.externalDefMap.ast-dump.txt
rename to clang/test/Analysis/ctu/Inputs/ctu-other.cpp.externalDefMap.ast-dump.txt
diff --git a/clang/test/Analysis/Inputs/ctu-test-import-failure-import.cpp b/clang/test/Analysis/ctu/Inputs/ctu-test-import-failure-import.cpp
similarity index 100%
rename from clang/test/Analysis/Inputs/ctu-test-import-failure-import.cpp
rename to clang/test/Analysis/ctu/Inputs/ctu-test-import-failure-import.cpp
diff --git a/clang/test/Analysis/Inputs/ctu-test-import-failure-import.cpp.externalDefMap.ast-dump.txt b/clang/test/Analysis/ctu/Inputs/ctu-test-import-failure-import.cpp.externalDefMap.ast-dump.txt
similarity index 100%
rename from clang/test/Analysis/Inputs/ctu-test-import-failure-import.cpp.externalDefMap.ast-dump.txt
rename to clang/test/Analysis/ctu/Inputs/ctu-test-import-failure-import.cpp.externalDefMap.ast-dump.txt
diff --git a/clang/test/Analysis/ctu-cxxdefaultinitexpr.cpp b/clang/test/Analysis/ctu/ctu-cxxdefaultinitexpr.cpp
similarity index 100%
rename from clang/test/Analysis/ctu-cxxdefaultinitexpr.cpp
rename to clang/test/Analysis/ctu/ctu-cxxdefaultinitexpr.cpp
diff --git a/clang/test/Analysis/ctu-diag-invalid-index.cpp b/clang/test/Analysis/ctu/ctu-diag-invalid-index.cpp
similarity index 100%
rename from clang/test/Analysis/ctu-diag-invalid-index.cpp
rename to clang/test/Analysis/ctu/ctu-diag-invalid-index.cpp
diff --git a/clang/test/Analysis/ctu-diag-invlist-ambiguous.cpp b/clang/test/Analysis/ctu/ctu-diag-invlist-ambiguous.cpp
similarity index 100%
rename from clang/test/Analysis/ctu-diag-invlist-ambiguous.cpp
rename to clang/test/Analysis/ctu/ctu-diag-invlist-ambiguous.cpp
diff --git a/clang/test/Analysis/ctu-diag-invlist-empty.cpp b/clang/test/Analysis/ctu/ctu-diag-invlist-empty.cpp
similarity index 100%
rename from clang/test/Analysis/ctu-diag-invlist-empty.cpp
rename to clang/test/Analysis/ctu/ctu-diag-invlist-empty.cpp
diff --git a/clang/test/Analysis/ctu-diag-invlist-lookup-miss.cpp b/clang/test/Analysis/ctu/ctu-diag-invlist-lookup-miss.cpp
similarity index 100%
rename from clang/test/Analysis/ctu-diag-invlist-lookup-miss.cpp
rename to clang/test/Analysis/ctu/ctu-diag-invlist-lookup-miss.cpp
diff --git a/clang/test/Analysis/ctu-diag-invlist-missing.cpp b/clang/test/Analysis/ctu/ctu-diag-invlist-missing.cpp
similarity index 100%
rename from clang/test/Analysis/ctu-diag-invlist-missing.cpp
rename to clang/test/Analysis/ctu/ctu-diag-invlist-missing.cpp
diff --git a/clang/test/Analysis/ctu-diag-invlist-wrong-format.cpp b/clang/test/Analysis/ctu/ctu-diag-invlist-wrong-format.cpp
similarity index 100%
rename from clang/test/Analysis/ctu-diag-invlist-wrong-format.cpp
rename to clang/test/Analysis/ctu/ctu-diag-invlist-wrong-format.cpp
diff --git a/clang/test/Analysis/ctu-diag-lang-dialect-mismatch.cpp b/clang/test/Analysis/ctu/ctu-diag-lang-dialect-mismatch.cpp
similarity index 100%
rename from clang/test/Analysis/ctu-diag-lang-dialect-mismatch.cpp
rename to clang/test/Analysis/ctu/ctu-diag-lang-dialect-mismatch.cpp
diff --git a/clang/test/Analysis/ctu-diag-lang-mismatch.c b/clang/test/Analysis/ctu/ctu-diag-lang-mismatch.c
similarity index 100%
rename from clang/test/Analysis/ctu-diag-lang-mismatch.c
rename to clang/test/Analysis/ctu/ctu-diag-lang-mismatch.c
diff --git a/clang/test/Analysis/ctu-diag-load-threshold.cpp b/clang/test/Analysis/ctu/ctu-diag-load-threshold.cpp
similarity index 100%
rename from clang/test/Analysis/ctu-diag-load-threshold.cpp
rename to clang/test/Analysis/ctu/ctu-diag-load-threshold.cpp
diff --git a/clang/test/Analysis/ctu-diag-missing-index.cpp b/clang/test/Analysis/ctu/ctu-diag-missing-index.cpp
similarity index 100%
rename from clang/test/Analysis/ctu-diag-missing-index.cpp
rename to clang/test/Analysis/ctu/ctu-diag-missing-index.cpp
diff --git a/clang/test/Analysis/ctu-different-triples.cpp b/clang/test/Analysis/ctu/ctu-different-triples.cpp
similarity index 100%
rename from clang/test/Analysis/ctu-different-triples.cpp
rename to clang/test/Analysis/ctu/ctu-different-triples.cpp
diff --git a/clang/test/Analysis/ctu-hdr.h b/clang/test/Analysis/ctu/ctu-hdr.h
similarity index 100%
rename from clang/test/Analysis/ctu-hdr.h
rename to clang/test/Analysis/ctu/ctu-hdr.h
diff --git a/clang/test/Analysis/ctu-implicit.c b/clang/test/Analysis/ctu/ctu-implicit.c
similarity index 100%
rename from clang/test/Analysis/ctu-implicit.c
rename to clang/test/Analysis/ctu/ctu-implicit.c
diff --git a/clang/test/Analysis/ctu-import-threshold.c b/clang/test/Analysis/ctu/ctu-import-threshold.c
similarity index 100%
rename from clang/test/Analysis/ctu-import-threshold.c
rename to clang/test/Analysis/ctu/ctu-import-threshold.c
diff --git a/clang/test/Analysis/ctu-import-type-decl-definition.c b/clang/test/Analysis/ctu/ctu-import-type-decl-definition.c
similarity index 100%
rename from clang/test/Analysis/ctu-import-type-decl-definition.c
rename to clang/test/Analysis/ctu/ctu-import-type-decl-definition.c
diff --git a/clang/test/Analysis/ctu-inherited-default-ctor.cpp b/clang/test/Analysis/ctu/ctu-inherited-default-ctor.cpp
similarity index 100%
rename from clang/test/Analysis/ctu-inherited-default-ctor.cpp
rename to clang/test/Analysis/ctu/ctu-inherited-default-ctor.cpp
diff --git a/clang/test/Analysis/ctu-invalid-ast.cpp b/clang/test/Analysis/ctu/ctu-invalid-ast.cpp
similarity index 100%
rename from clang/test/Analysis/ctu-invalid-ast.cpp
rename to clang/test/Analysis/ctu/ctu-invalid-ast.cpp
diff --git a/clang/test/Analysis/ctu-lookup-name-with-space.cpp b/clang/test/Analysis/ctu/ctu-lookup-name-with-space.cpp
similarity index 100%
rename from clang/test/Analysis/ctu-lookup-name-with-space.cpp
rename to clang/test/Analysis/ctu/ctu-lookup-name-with-space.cpp
diff --git a/clang/test/Analysis/ctu-main.c b/clang/test/Analysis/ctu/ctu-main.c
similarity index 100%
rename from clang/test/Analysis/ctu-main.c
rename to clang/test/Analysis/ctu/ctu-main.c
diff --git a/clang/test/Analysis/ctu-main.cpp b/clang/test/Analysis/ctu/ctu-main.cpp
similarity index 100%
rename from clang/test/Analysis/ctu-main.cpp
rename to clang/test/Analysis/ctu/ctu-main.cpp
diff --git a/clang/test/Analysis/ctu-missing-ast.cpp b/clang/test/Analysis/ctu/ctu-missing-ast.cpp
similarity index 100%
rename from clang/test/Analysis/ctu-missing-ast.cpp
rename to clang/test/Analysis/ctu/ctu-missing-ast.cpp
diff --git a/clang/test/Analysis/ctu-on-demand-parsing.c b/clang/test/Analysis/ctu/ctu-on-demand-parsing.c
similarity index 100%
rename from clang/test/Analysis/ctu-on-demand-parsing.c
rename to clang/test/Analysis/ctu/ctu-on-demand-parsing.c
diff --git a/clang/test/Analysis/ctu-on-demand-parsing.cpp b/clang/test/Analysis/ctu/ctu-on-demand-parsing.cpp
similarity index 100%
rename from clang/test/Analysis/ctu-on-demand-parsing.cpp
rename to clang/test/Analysis/ctu/ctu-on-demand-parsing.cpp
diff --git a/clang/test/Analysis/ctu-onego-existingdef.cpp b/clang/test/Analysis/ctu/ctu-onego-existingdef.cpp
similarity index 100%
rename from clang/test/Analysis/ctu-onego-existingdef.cpp
rename to clang/test/Analysis/ctu/ctu-onego-existingdef.cpp
diff --git a/clang/test/Analysis/ctu-onego-indirect.cpp b/clang/test/Analysis/ctu/ctu-onego-indirect.cpp
similarity index 100%
rename from clang/test/Analysis/ctu-onego-indirect.cpp
rename to clang/test/Analysis/ctu/ctu-onego-indirect.cpp
diff --git a/clang/test/Analysis/ctu-onego-small.cpp b/clang/test/Analysis/ctu/ctu-onego-small.cpp
similarity index 100%
rename from clang/test/Analysis/ctu-onego-small.cpp
rename to clang/test/Analysis/ctu/ctu-onego-small.cpp
diff --git a/clang/test/Analysis/ctu-onego-toplevel.cpp b/clang/test/Analysis/ctu/ctu-onego-toplevel.cpp
similarity index 100%
rename from clang/test/Analysis/ctu-onego-toplevel.cpp
rename to clang/test/Analysis/ctu/ctu-onego-toplevel.cpp
diff --git a/clang/test/Analysis/ctu-test-import-failure.cpp b/clang/test/Analysis/ctu/ctu-test-import-failure.cpp
similarity index 100%
rename from clang/test/Analysis/ctu-test-import-failure.cpp
rename to clang/test/Analysis/ctu/ctu-test-import-failure.cpp
diff --git a/clang/test/Analysis/ctu-unknown-parts-in-triples.cpp b/clang/test/Analysis/ctu/ctu-unknown-parts-in-triples.cpp
similarity index 100%
rename from clang/test/Analysis/ctu-unknown-parts-in-triples.cpp
rename to clang/test/Analysis/ctu/ctu-unknown-parts-in-triples.cpp
>From 80aa53c8894e782e0a6812586efe695683c0cbdb Mon Sep 17 00:00:00 2001
From: Arseniy Zaostrovnykh <necto.ne at gmail.com>
Date: Thu, 26 Mar 2026 11:35:36 +0100
Subject: [PATCH 3/4] Remove ctu- prefix from the test files that are already
in ctu/ dir
---
.../ctu/Inputs/{ctu-chain.cpp => chain.cpp} | 0
...xpr-import.cpp.externalDefMap.ast-dump.txt | 4 ---
.../ctu-import.c.externalDefMap.ast-dump.txt | 1 -
...-ast-other.cpp.externalDefMap.ast-dump.txt | 1 -
...issing-ast.cpp.externalDefMap.ast-dump.txt | 1 -
...gdef-other.cpp.externalDefMap.ast-dump.txt | 2 --
...rect-other.cpp.externalDefMap.ast-dump.txt | 2 --
...mall-other.cpp.externalDefMap.ast-dump.txt | 1 -
...evel-other.cpp.externalDefMap.ast-dump.txt | 1 -
.../ctu-other.c.externalDefMap.ast-dump.txt | 7 -----
.../ctu-other.cpp.externalDefMap.ast-dump.txt | 31 -------------------
...ure-import.cpp.externalDefMap.ast-dump.txt | 5 ---
...port.cpp => cxxdefaultinitexpr-import.cpp} | 0
...xpr-import.cpp.externalDefMap.ast-dump.txt | 4 +++
.../Inputs/{ctu-diag-bar.cpp => diag-bar.cpp} | 0
...-extern-c.cpp => diag-simple-extern-c.cpp} | 0
.../{ctu-diag-simple.cpp => diag-simple.cpp} | 0
.../ctu/Inputs/{ctu-import.c => import.c} | 0
.../import.c.externalDefMap.ast-dump.txt | 1 +
...r.cpp => inherited-default-ctor-other.cpp} | 0
...id-ast-other.cpp => invalid-ast-other.cpp} | 0
...-ast-other.cpp.externalDefMap.ast-dump.txt | 1 +
...h-space.cpp => lookup-name-with-space.cpp} | 0
...issing-ast.cpp.externalDefMap.ast-dump.txt | 1 +
...-other.cpp => onego-existingdef-other.cpp} | 0
...gdef-other.cpp.externalDefMap.ast-dump.txt | 2 ++
...ect-other.cpp => onego-indirect-other.cpp} | 0
...rect-other.cpp.externalDefMap.ast-dump.txt | 2 ++
...-small-other.cpp => onego-small-other.cpp} | 0
...mall-other.cpp.externalDefMap.ast-dump.txt | 1 +
...vel-other.cpp => onego-toplevel-other.cpp} | 0
...evel-other.cpp.externalDefMap.ast-dump.txt | 1 +
.../ctu/Inputs/{ctu-other.c => other.c} | 0
.../other.c.externalDefMap.ast-dump.txt | 7 +++++
.../ctu/Inputs/{ctu-other.cpp => other.cpp} | 2 +-
.../other.cpp.externalDefMap.ast-dump.txt | 31 +++++++++++++++++++
...ort.cpp => test-import-failure-import.cpp} | 0
...ure-import.cpp.externalDefMap.ast-dump.txt | 5 +++
...ultinitexpr.cpp => cxxdefaultinitexpr.cpp} | 4 +--
...valid-index.cpp => diag-invalid-index.cpp} | 2 +-
...biguous.cpp => diag-invlist-ambiguous.cpp} | 2 +-
...vlist-empty.cpp => diag-invlist-empty.cpp} | 2 +-
...-miss.cpp => diag-invlist-lookup-miss.cpp} | 2 +-
...t-missing.cpp => diag-invlist-missing.cpp} | 2 +-
...rmat.cpp => diag-invlist-wrong-format.cpp} | 2 +-
...tch.cpp => diag-lang-dialect-mismatch.cpp} | 6 ++--
...g-lang-mismatch.c => diag-lang-mismatch.c} | 6 ++--
...-threshold.cpp => diag-load-threshold.cpp} | 12 +++----
...ssing-index.cpp => diag-missing-index.cpp} | 2 +-
...rent-triples.cpp => different-triples.cpp} | 6 ++--
clang/test/Analysis/ctu/{ctu-hdr.h => hdr.h} | 0
.../ctu/{ctu-implicit.c => implicit.c} | 4 +--
...-import-threshold.c => import-threshold.c} | 0
...nition.c => import-type-decl-definition.c} | 0
...lt-ctor.cpp => inherited-default-ctor.cpp} | 8 ++---
.../{ctu-invalid-ast.cpp => invalid-ast.cpp} | 6 ++--
...h-space.cpp => lookup-name-with-space.cpp} | 4 +--
.../test/Analysis/ctu/{ctu-main.c => main.c} | 8 ++---
.../Analysis/ctu/{ctu-main.cpp => main.cpp} | 16 +++++-----
.../{ctu-missing-ast.cpp => missing-ast.cpp} | 4 +--
...n-demand-parsing.c => on-demand-parsing.c} | 14 ++++-----
...mand-parsing.cpp => on-demand-parsing.cpp} | 26 ++++++++--------
...-existingdef.cpp => onego-existingdef.cpp} | 4 +--
...-onego-indirect.cpp => onego-indirect.cpp} | 4 +--
.../{ctu-onego-small.cpp => onego-small.cpp} | 4 +--
...-onego-toplevel.cpp => onego-toplevel.cpp} | 4 +--
...rt-failure.cpp => test-import-failure.cpp} | 12 +++----
...iples.cpp => unknown-parts-in-triples.cpp} | 4 +--
68 files changed, 142 insertions(+), 142 deletions(-)
rename clang/test/Analysis/ctu/Inputs/{ctu-chain.cpp => chain.cpp} (100%)
delete mode 100644 clang/test/Analysis/ctu/Inputs/ctu-cxxdefaultinitexpr-import.cpp.externalDefMap.ast-dump.txt
delete mode 100644 clang/test/Analysis/ctu/Inputs/ctu-import.c.externalDefMap.ast-dump.txt
delete mode 100644 clang/test/Analysis/ctu/Inputs/ctu-invalid-ast-other.cpp.externalDefMap.ast-dump.txt
delete mode 100644 clang/test/Analysis/ctu/Inputs/ctu-missing-ast.cpp.externalDefMap.ast-dump.txt
delete mode 100644 clang/test/Analysis/ctu/Inputs/ctu-onego-existingdef-other.cpp.externalDefMap.ast-dump.txt
delete mode 100644 clang/test/Analysis/ctu/Inputs/ctu-onego-indirect-other.cpp.externalDefMap.ast-dump.txt
delete mode 100644 clang/test/Analysis/ctu/Inputs/ctu-onego-small-other.cpp.externalDefMap.ast-dump.txt
delete mode 100644 clang/test/Analysis/ctu/Inputs/ctu-onego-toplevel-other.cpp.externalDefMap.ast-dump.txt
delete mode 100644 clang/test/Analysis/ctu/Inputs/ctu-other.c.externalDefMap.ast-dump.txt
delete mode 100644 clang/test/Analysis/ctu/Inputs/ctu-other.cpp.externalDefMap.ast-dump.txt
delete mode 100644 clang/test/Analysis/ctu/Inputs/ctu-test-import-failure-import.cpp.externalDefMap.ast-dump.txt
rename clang/test/Analysis/ctu/Inputs/{ctu-cxxdefaultinitexpr-import.cpp => cxxdefaultinitexpr-import.cpp} (100%)
create mode 100644 clang/test/Analysis/ctu/Inputs/cxxdefaultinitexpr-import.cpp.externalDefMap.ast-dump.txt
rename clang/test/Analysis/ctu/Inputs/{ctu-diag-bar.cpp => diag-bar.cpp} (100%)
rename clang/test/Analysis/ctu/Inputs/{ctu-diag-simple-extern-c.cpp => diag-simple-extern-c.cpp} (100%)
rename clang/test/Analysis/ctu/Inputs/{ctu-diag-simple.cpp => diag-simple.cpp} (100%)
rename clang/test/Analysis/ctu/Inputs/{ctu-import.c => import.c} (100%)
create mode 100644 clang/test/Analysis/ctu/Inputs/import.c.externalDefMap.ast-dump.txt
rename clang/test/Analysis/ctu/Inputs/{ctu-inherited-default-ctor-other.cpp => inherited-default-ctor-other.cpp} (100%)
rename clang/test/Analysis/ctu/Inputs/{ctu-invalid-ast-other.cpp => invalid-ast-other.cpp} (100%)
create mode 100644 clang/test/Analysis/ctu/Inputs/invalid-ast-other.cpp.externalDefMap.ast-dump.txt
rename clang/test/Analysis/ctu/Inputs/{ctu-lookup-name-with-space.cpp => lookup-name-with-space.cpp} (100%)
create mode 100644 clang/test/Analysis/ctu/Inputs/missing-ast.cpp.externalDefMap.ast-dump.txt
rename clang/test/Analysis/ctu/Inputs/{ctu-onego-existingdef-other.cpp => onego-existingdef-other.cpp} (100%)
create mode 100644 clang/test/Analysis/ctu/Inputs/onego-existingdef-other.cpp.externalDefMap.ast-dump.txt
rename clang/test/Analysis/ctu/Inputs/{ctu-onego-indirect-other.cpp => onego-indirect-other.cpp} (100%)
create mode 100644 clang/test/Analysis/ctu/Inputs/onego-indirect-other.cpp.externalDefMap.ast-dump.txt
rename clang/test/Analysis/ctu/Inputs/{ctu-onego-small-other.cpp => onego-small-other.cpp} (100%)
create mode 100644 clang/test/Analysis/ctu/Inputs/onego-small-other.cpp.externalDefMap.ast-dump.txt
rename clang/test/Analysis/ctu/Inputs/{ctu-onego-toplevel-other.cpp => onego-toplevel-other.cpp} (100%)
create mode 100644 clang/test/Analysis/ctu/Inputs/onego-toplevel-other.cpp.externalDefMap.ast-dump.txt
rename clang/test/Analysis/ctu/Inputs/{ctu-other.c => other.c} (100%)
create mode 100644 clang/test/Analysis/ctu/Inputs/other.c.externalDefMap.ast-dump.txt
rename clang/test/Analysis/ctu/Inputs/{ctu-other.cpp => other.cpp} (99%)
create mode 100644 clang/test/Analysis/ctu/Inputs/other.cpp.externalDefMap.ast-dump.txt
rename clang/test/Analysis/ctu/Inputs/{ctu-test-import-failure-import.cpp => test-import-failure-import.cpp} (100%)
create mode 100644 clang/test/Analysis/ctu/Inputs/test-import-failure-import.cpp.externalDefMap.ast-dump.txt
rename clang/test/Analysis/ctu/{ctu-cxxdefaultinitexpr.cpp => cxxdefaultinitexpr.cpp} (80%)
rename clang/test/Analysis/ctu/{ctu-diag-invalid-index.cpp => diag-invalid-index.cpp} (75%)
rename clang/test/Analysis/ctu/{ctu-diag-invlist-ambiguous.cpp => diag-invlist-ambiguous.cpp} (91%)
rename clang/test/Analysis/ctu/{ctu-diag-invlist-empty.cpp => diag-invlist-empty.cpp} (92%)
rename clang/test/Analysis/ctu/{ctu-diag-invlist-lookup-miss.cpp => diag-invlist-lookup-miss.cpp} (91%)
rename clang/test/Analysis/ctu/{ctu-diag-invlist-missing.cpp => diag-invlist-missing.cpp} (90%)
rename clang/test/Analysis/ctu/{ctu-diag-invlist-wrong-format.cpp => diag-invlist-wrong-format.cpp} (91%)
rename clang/test/Analysis/ctu/{ctu-diag-lang-dialect-mismatch.cpp => diag-lang-dialect-mismatch.cpp} (80%)
rename clang/test/Analysis/ctu/{ctu-diag-lang-mismatch.c => diag-lang-mismatch.c} (80%)
rename clang/test/Analysis/ctu/{ctu-diag-load-threshold.cpp => diag-load-threshold.cpp} (74%)
rename clang/test/Analysis/ctu/{ctu-diag-missing-index.cpp => diag-missing-index.cpp} (79%)
rename clang/test/Analysis/ctu/{ctu-different-triples.cpp => different-triples.cpp} (59%)
rename clang/test/Analysis/ctu/{ctu-hdr.h => hdr.h} (100%)
rename clang/test/Analysis/ctu/{ctu-implicit.c => implicit.c} (80%)
rename clang/test/Analysis/ctu/{ctu-import-threshold.c => import-threshold.c} (100%)
rename clang/test/Analysis/ctu/{ctu-import-type-decl-definition.c => import-type-decl-definition.c} (100%)
rename clang/test/Analysis/ctu/{ctu-inherited-default-ctor.cpp => inherited-default-ctor.cpp} (76%)
rename clang/test/Analysis/ctu/{ctu-invalid-ast.cpp => invalid-ast.cpp} (74%)
rename clang/test/Analysis/ctu/{ctu-lookup-name-with-space.cpp => lookup-name-with-space.cpp} (90%)
rename clang/test/Analysis/ctu/{ctu-main.c => main.c} (89%)
rename clang/test/Analysis/ctu/{ctu-main.cpp => main.cpp} (95%)
rename clang/test/Analysis/ctu/{ctu-missing-ast.cpp => missing-ast.cpp} (80%)
rename clang/test/Analysis/ctu/{ctu-on-demand-parsing.c => on-demand-parsing.c} (81%)
rename clang/test/Analysis/ctu/{ctu-on-demand-parsing.cpp => on-demand-parsing.cpp} (75%)
rename clang/test/Analysis/ctu/{ctu-onego-existingdef.cpp => onego-existingdef.cpp} (92%)
rename clang/test/Analysis/ctu/{ctu-onego-indirect.cpp => onego-indirect.cpp} (90%)
rename clang/test/Analysis/ctu/{ctu-onego-small.cpp => onego-small.cpp} (91%)
rename clang/test/Analysis/ctu/{ctu-onego-toplevel.cpp => onego-toplevel.cpp} (90%)
rename clang/test/Analysis/ctu/{ctu-test-import-failure.cpp => test-import-failure.cpp} (63%)
rename clang/test/Analysis/ctu/{ctu-unknown-parts-in-triples.cpp => unknown-parts-in-triples.cpp} (77%)
diff --git a/clang/test/Analysis/ctu/Inputs/ctu-chain.cpp b/clang/test/Analysis/ctu/Inputs/chain.cpp
similarity index 100%
rename from clang/test/Analysis/ctu/Inputs/ctu-chain.cpp
rename to clang/test/Analysis/ctu/Inputs/chain.cpp
diff --git a/clang/test/Analysis/ctu/Inputs/ctu-cxxdefaultinitexpr-import.cpp.externalDefMap.ast-dump.txt b/clang/test/Analysis/ctu/Inputs/ctu-cxxdefaultinitexpr-import.cpp.externalDefMap.ast-dump.txt
deleted file mode 100644
index 7c8403c2fe684..0000000000000
--- a/clang/test/Analysis/ctu/Inputs/ctu-cxxdefaultinitexpr-import.cpp.externalDefMap.ast-dump.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-14:c:@S at foo@value ctu-cxxdefaultinitexpr-import.cpp.ast
-35:c:@S at QDomElementPrivate@F at importee# ctu-cxxdefaultinitexpr-import.cpp.ast
-45:c:@S at QDomElementPrivate@F at QDomElementPrivate# ctu-cxxdefaultinitexpr-import.cpp.ast
-39:c:@S at QDomNodePrivate@F at QDomNodePrivate# ctu-cxxdefaultinitexpr-import.cpp.ast
diff --git a/clang/test/Analysis/ctu/Inputs/ctu-import.c.externalDefMap.ast-dump.txt b/clang/test/Analysis/ctu/Inputs/ctu-import.c.externalDefMap.ast-dump.txt
deleted file mode 100644
index ee5317d36f714..0000000000000
--- a/clang/test/Analysis/ctu/Inputs/ctu-import.c.externalDefMap.ast-dump.txt
+++ /dev/null
@@ -1 +0,0 @@
-23:c:@F at testStaticImplicit ctu-import.c.ast
diff --git a/clang/test/Analysis/ctu/Inputs/ctu-invalid-ast-other.cpp.externalDefMap.ast-dump.txt b/clang/test/Analysis/ctu/Inputs/ctu-invalid-ast-other.cpp.externalDefMap.ast-dump.txt
deleted file mode 100644
index 0b63c29d0710e..0000000000000
--- a/clang/test/Analysis/ctu/Inputs/ctu-invalid-ast-other.cpp.externalDefMap.ast-dump.txt
+++ /dev/null
@@ -1 +0,0 @@
-14:c:@F at external# ctu-invalid-ast-other.cpp.ast
\ No newline at end of file
diff --git a/clang/test/Analysis/ctu/Inputs/ctu-missing-ast.cpp.externalDefMap.ast-dump.txt b/clang/test/Analysis/ctu/Inputs/ctu-missing-ast.cpp.externalDefMap.ast-dump.txt
deleted file mode 100644
index 4c2a21b23cfd1..0000000000000
--- a/clang/test/Analysis/ctu/Inputs/ctu-missing-ast.cpp.externalDefMap.ast-dump.txt
+++ /dev/null
@@ -1 +0,0 @@
-14:c:@F at external# wrong-ctu-missing-ast.cpp.ast
\ No newline at end of file
diff --git a/clang/test/Analysis/ctu/Inputs/ctu-onego-existingdef-other.cpp.externalDefMap.ast-dump.txt b/clang/test/Analysis/ctu/Inputs/ctu-onego-existingdef-other.cpp.externalDefMap.ast-dump.txt
deleted file mode 100644
index e785e61ddb624..0000000000000
--- a/clang/test/Analysis/ctu/Inputs/ctu-onego-existingdef-other.cpp.externalDefMap.ast-dump.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-9:c:@F at bar# ctu-onego-existingdef-other.cpp.ast
-11:c:@F at other# ctu-onego-existingdef-other.cpp.ast
diff --git a/clang/test/Analysis/ctu/Inputs/ctu-onego-indirect-other.cpp.externalDefMap.ast-dump.txt b/clang/test/Analysis/ctu/Inputs/ctu-onego-indirect-other.cpp.externalDefMap.ast-dump.txt
deleted file mode 100644
index 4d5fbd25641d8..0000000000000
--- a/clang/test/Analysis/ctu/Inputs/ctu-onego-indirect-other.cpp.externalDefMap.ast-dump.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-11:c:@F at other# ctu-onego-indirect-other.cpp.ast
-9:c:@F at bar# ctu-onego-indirect-other.cpp.ast
diff --git a/clang/test/Analysis/ctu/Inputs/ctu-onego-small-other.cpp.externalDefMap.ast-dump.txt b/clang/test/Analysis/ctu/Inputs/ctu-onego-small-other.cpp.externalDefMap.ast-dump.txt
deleted file mode 100644
index fa849740959c2..0000000000000
--- a/clang/test/Analysis/ctu/Inputs/ctu-onego-small-other.cpp.externalDefMap.ast-dump.txt
+++ /dev/null
@@ -1 +0,0 @@
-9:c:@F at bar# ctu-onego-small-other.cpp.ast
diff --git a/clang/test/Analysis/ctu/Inputs/ctu-onego-toplevel-other.cpp.externalDefMap.ast-dump.txt b/clang/test/Analysis/ctu/Inputs/ctu-onego-toplevel-other.cpp.externalDefMap.ast-dump.txt
deleted file mode 100644
index 2db5f546ed24d..0000000000000
--- a/clang/test/Analysis/ctu/Inputs/ctu-onego-toplevel-other.cpp.externalDefMap.ast-dump.txt
+++ /dev/null
@@ -1 +0,0 @@
-13:c:@F at other#I# ctu-onego-toplevel-other.cpp.ast
diff --git a/clang/test/Analysis/ctu/Inputs/ctu-other.c.externalDefMap.ast-dump.txt b/clang/test/Analysis/ctu/Inputs/ctu-other.c.externalDefMap.ast-dump.txt
deleted file mode 100644
index ab675c3242c7e..0000000000000
--- a/clang/test/Analysis/ctu/Inputs/ctu-other.c.externalDefMap.ast-dump.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-14:c:@F at inlineAsm ctu-other.c.ast
-6:c:@F at g ctu-other.c.ast
-6:c:@F at f ctu-other.c.ast
-14:c:@F at enumCheck ctu-other.c.ast
-18:c:@F at identImplicit ctu-other.c.ast
-18:c:@F at structInProto ctu-other.c.ast
-23:c:@F at switchWithoutCases ctu-other.c.ast
diff --git a/clang/test/Analysis/ctu/Inputs/ctu-other.cpp.externalDefMap.ast-dump.txt b/clang/test/Analysis/ctu/Inputs/ctu-other.cpp.externalDefMap.ast-dump.txt
deleted file mode 100644
index 439232333b609..0000000000000
--- a/clang/test/Analysis/ctu/Inputs/ctu-other.cpp.externalDefMap.ast-dump.txt
+++ /dev/null
@@ -1,31 +0,0 @@
-19:c:@N at chns@F at chf1#I# ctu-other.cpp.ast
-30:c:@N at myns@N at embed_ns@F at fens#I# ctu-other.cpp.ast
-9:c:@F at g#I# ctu-other.cpp.ast
-21:c:@S at mycls@F at fscl#I#S ctu-other.cpp.ast
-19:c:@S at mycls@F at fcl#I# ctu-other.cpp.ast
-20:c:@S at mycls@F at fvcl#I# ctu-other.cpp.ast
-31:c:@N at myns@S at embed_cls@F at fecl#I# ctu-other.cpp.ast
-34:c:@S at mycls@S at embed_cls2@F at fecl2#I# ctu-other.cpp.ast
-22:c:@S at derived@F at fvcl#I# ctu-other.cpp.ast
-9:c:@F at f#I# ctu-other.cpp.ast
-18:c:@N at myns@F at fns#I# ctu-other.cpp.ast
-9:c:@F at h#I# ctu-other.cpp.ast
-15:c:@F at h_chain#I# ctu-chain.cpp.ast
-27:c:@N at chns@S at chcls@F at chf4#I# ctu-chain.cpp.ast
-19:c:@N at chns@F at chf2#I# ctu-chain.cpp.ast
-29:c:@F at fun_using_anon_struct#I# ctu-other.cpp.ast
-24:c:@F at other_macro_diag#I# ctu-other.cpp.ast
-9:c:@extInt ctu-other.cpp.ast
-17:c:@N at intns@extInt ctu-other.cpp.ast
-7:c:@extS ctu-other.cpp.ast
-9:c:@extNTS ctu-other.cpp.ast
-8:c:@S at A@a ctu-other.cpp.ast
-8:c:@extSC ctu-other.cpp.ast
-10:c:@S at ST@sc ctu-other.cpp.ast
-9:c:@extSCN ctu-other.cpp.ast
-12:c:@extSubSCN ctu-other.cpp.ast
-9:c:@extSCC ctu-other.cpp.ast
-7:c:@extU ctu-other.cpp.ast
-26:c:@S at TestAnonUnionUSR@Test ctu-other.cpp.ast
-53:c:@F at testImportOfIncompleteDefaultParmDuringImport#I# ctu-other.cpp.ast
-39:c:@F at testImportOfDelegateConstructor#I# ctu-other.cpp.ast
diff --git a/clang/test/Analysis/ctu/Inputs/ctu-test-import-failure-import.cpp.externalDefMap.ast-dump.txt b/clang/test/Analysis/ctu/Inputs/ctu-test-import-failure-import.cpp.externalDefMap.ast-dump.txt
deleted file mode 100644
index 6ffb3795d3e36..0000000000000
--- a/clang/test/Analysis/ctu/Inputs/ctu-test-import-failure-import.cpp.externalDefMap.ast-dump.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-47:c:@N at std@S at allocator_traits@F at allocator_traits# ctu-test-import-failure-import.cpp.ast
-29:c:@N at CommandLine@RootCommands ctu-test-import-failure-import.cpp.ast
-55:c:@N at std@N at __cxx11@ST>3#T#T#T at basic_string@F at _M_assign# ctu-test-import-failure-import.cpp.ast
-97:c:@S at CommandLineOptionDefinition@F at CommandLineOptionDefinition#&1$@S at CommandLineOptionDefinition# ctu-test-import-failure-import.cpp.ast
-29:c:@N at CommandLine@RootExamples ctu-test-import-failure-import.cpp.ast
\ No newline at end of file
diff --git a/clang/test/Analysis/ctu/Inputs/ctu-cxxdefaultinitexpr-import.cpp b/clang/test/Analysis/ctu/Inputs/cxxdefaultinitexpr-import.cpp
similarity index 100%
rename from clang/test/Analysis/ctu/Inputs/ctu-cxxdefaultinitexpr-import.cpp
rename to clang/test/Analysis/ctu/Inputs/cxxdefaultinitexpr-import.cpp
diff --git a/clang/test/Analysis/ctu/Inputs/cxxdefaultinitexpr-import.cpp.externalDefMap.ast-dump.txt b/clang/test/Analysis/ctu/Inputs/cxxdefaultinitexpr-import.cpp.externalDefMap.ast-dump.txt
new file mode 100644
index 0000000000000..c8246745d57ff
--- /dev/null
+++ b/clang/test/Analysis/ctu/Inputs/cxxdefaultinitexpr-import.cpp.externalDefMap.ast-dump.txt
@@ -0,0 +1,4 @@
+14:c:@S at foo@value cxxdefaultinitexpr-import.cpp.ast
+35:c:@S at QDomElementPrivate@F at importee# cxxdefaultinitexpr-import.cpp.ast
+45:c:@S at QDomElementPrivate@F at QDomElementPrivate# cxxdefaultinitexpr-import.cpp.ast
+39:c:@S at QDomNodePrivate@F at QDomNodePrivate# cxxdefaultinitexpr-import.cpp.ast
diff --git a/clang/test/Analysis/ctu/Inputs/ctu-diag-bar.cpp b/clang/test/Analysis/ctu/Inputs/diag-bar.cpp
similarity index 100%
rename from clang/test/Analysis/ctu/Inputs/ctu-diag-bar.cpp
rename to clang/test/Analysis/ctu/Inputs/diag-bar.cpp
diff --git a/clang/test/Analysis/ctu/Inputs/ctu-diag-simple-extern-c.cpp b/clang/test/Analysis/ctu/Inputs/diag-simple-extern-c.cpp
similarity index 100%
rename from clang/test/Analysis/ctu/Inputs/ctu-diag-simple-extern-c.cpp
rename to clang/test/Analysis/ctu/Inputs/diag-simple-extern-c.cpp
diff --git a/clang/test/Analysis/ctu/Inputs/ctu-diag-simple.cpp b/clang/test/Analysis/ctu/Inputs/diag-simple.cpp
similarity index 100%
rename from clang/test/Analysis/ctu/Inputs/ctu-diag-simple.cpp
rename to clang/test/Analysis/ctu/Inputs/diag-simple.cpp
diff --git a/clang/test/Analysis/ctu/Inputs/ctu-import.c b/clang/test/Analysis/ctu/Inputs/import.c
similarity index 100%
rename from clang/test/Analysis/ctu/Inputs/ctu-import.c
rename to clang/test/Analysis/ctu/Inputs/import.c
diff --git a/clang/test/Analysis/ctu/Inputs/import.c.externalDefMap.ast-dump.txt b/clang/test/Analysis/ctu/Inputs/import.c.externalDefMap.ast-dump.txt
new file mode 100644
index 0000000000000..c2629f52a0fcd
--- /dev/null
+++ b/clang/test/Analysis/ctu/Inputs/import.c.externalDefMap.ast-dump.txt
@@ -0,0 +1 @@
+23:c:@F at testStaticImplicit import.c.ast
diff --git a/clang/test/Analysis/ctu/Inputs/ctu-inherited-default-ctor-other.cpp b/clang/test/Analysis/ctu/Inputs/inherited-default-ctor-other.cpp
similarity index 100%
rename from clang/test/Analysis/ctu/Inputs/ctu-inherited-default-ctor-other.cpp
rename to clang/test/Analysis/ctu/Inputs/inherited-default-ctor-other.cpp
diff --git a/clang/test/Analysis/ctu/Inputs/ctu-invalid-ast-other.cpp b/clang/test/Analysis/ctu/Inputs/invalid-ast-other.cpp
similarity index 100%
rename from clang/test/Analysis/ctu/Inputs/ctu-invalid-ast-other.cpp
rename to clang/test/Analysis/ctu/Inputs/invalid-ast-other.cpp
diff --git a/clang/test/Analysis/ctu/Inputs/invalid-ast-other.cpp.externalDefMap.ast-dump.txt b/clang/test/Analysis/ctu/Inputs/invalid-ast-other.cpp.externalDefMap.ast-dump.txt
new file mode 100644
index 0000000000000..9e431a3ae3195
--- /dev/null
+++ b/clang/test/Analysis/ctu/Inputs/invalid-ast-other.cpp.externalDefMap.ast-dump.txt
@@ -0,0 +1 @@
+14:c:@F at external# invalid-ast-other.cpp.ast
\ No newline at end of file
diff --git a/clang/test/Analysis/ctu/Inputs/ctu-lookup-name-with-space.cpp b/clang/test/Analysis/ctu/Inputs/lookup-name-with-space.cpp
similarity index 100%
rename from clang/test/Analysis/ctu/Inputs/ctu-lookup-name-with-space.cpp
rename to clang/test/Analysis/ctu/Inputs/lookup-name-with-space.cpp
diff --git a/clang/test/Analysis/ctu/Inputs/missing-ast.cpp.externalDefMap.ast-dump.txt b/clang/test/Analysis/ctu/Inputs/missing-ast.cpp.externalDefMap.ast-dump.txt
new file mode 100644
index 0000000000000..778429c35b748
--- /dev/null
+++ b/clang/test/Analysis/ctu/Inputs/missing-ast.cpp.externalDefMap.ast-dump.txt
@@ -0,0 +1 @@
+14:c:@F at external# wrong-missing-ast.cpp.ast
\ No newline at end of file
diff --git a/clang/test/Analysis/ctu/Inputs/ctu-onego-existingdef-other.cpp b/clang/test/Analysis/ctu/Inputs/onego-existingdef-other.cpp
similarity index 100%
rename from clang/test/Analysis/ctu/Inputs/ctu-onego-existingdef-other.cpp
rename to clang/test/Analysis/ctu/Inputs/onego-existingdef-other.cpp
diff --git a/clang/test/Analysis/ctu/Inputs/onego-existingdef-other.cpp.externalDefMap.ast-dump.txt b/clang/test/Analysis/ctu/Inputs/onego-existingdef-other.cpp.externalDefMap.ast-dump.txt
new file mode 100644
index 0000000000000..30c1d3bdcce13
--- /dev/null
+++ b/clang/test/Analysis/ctu/Inputs/onego-existingdef-other.cpp.externalDefMap.ast-dump.txt
@@ -0,0 +1,2 @@
+9:c:@F at bar# onego-existingdef-other.cpp.ast
+11:c:@F at other# onego-existingdef-other.cpp.ast
diff --git a/clang/test/Analysis/ctu/Inputs/ctu-onego-indirect-other.cpp b/clang/test/Analysis/ctu/Inputs/onego-indirect-other.cpp
similarity index 100%
rename from clang/test/Analysis/ctu/Inputs/ctu-onego-indirect-other.cpp
rename to clang/test/Analysis/ctu/Inputs/onego-indirect-other.cpp
diff --git a/clang/test/Analysis/ctu/Inputs/onego-indirect-other.cpp.externalDefMap.ast-dump.txt b/clang/test/Analysis/ctu/Inputs/onego-indirect-other.cpp.externalDefMap.ast-dump.txt
new file mode 100644
index 0000000000000..8214cebf6134e
--- /dev/null
+++ b/clang/test/Analysis/ctu/Inputs/onego-indirect-other.cpp.externalDefMap.ast-dump.txt
@@ -0,0 +1,2 @@
+11:c:@F at other# onego-indirect-other.cpp.ast
+9:c:@F at bar# onego-indirect-other.cpp.ast
diff --git a/clang/test/Analysis/ctu/Inputs/ctu-onego-small-other.cpp b/clang/test/Analysis/ctu/Inputs/onego-small-other.cpp
similarity index 100%
rename from clang/test/Analysis/ctu/Inputs/ctu-onego-small-other.cpp
rename to clang/test/Analysis/ctu/Inputs/onego-small-other.cpp
diff --git a/clang/test/Analysis/ctu/Inputs/onego-small-other.cpp.externalDefMap.ast-dump.txt b/clang/test/Analysis/ctu/Inputs/onego-small-other.cpp.externalDefMap.ast-dump.txt
new file mode 100644
index 0000000000000..121cc9129ecca
--- /dev/null
+++ b/clang/test/Analysis/ctu/Inputs/onego-small-other.cpp.externalDefMap.ast-dump.txt
@@ -0,0 +1 @@
+9:c:@F at bar# onego-small-other.cpp.ast
diff --git a/clang/test/Analysis/ctu/Inputs/ctu-onego-toplevel-other.cpp b/clang/test/Analysis/ctu/Inputs/onego-toplevel-other.cpp
similarity index 100%
rename from clang/test/Analysis/ctu/Inputs/ctu-onego-toplevel-other.cpp
rename to clang/test/Analysis/ctu/Inputs/onego-toplevel-other.cpp
diff --git a/clang/test/Analysis/ctu/Inputs/onego-toplevel-other.cpp.externalDefMap.ast-dump.txt b/clang/test/Analysis/ctu/Inputs/onego-toplevel-other.cpp.externalDefMap.ast-dump.txt
new file mode 100644
index 0000000000000..fe19207c29c47
--- /dev/null
+++ b/clang/test/Analysis/ctu/Inputs/onego-toplevel-other.cpp.externalDefMap.ast-dump.txt
@@ -0,0 +1 @@
+13:c:@F at other#I# onego-toplevel-other.cpp.ast
diff --git a/clang/test/Analysis/ctu/Inputs/ctu-other.c b/clang/test/Analysis/ctu/Inputs/other.c
similarity index 100%
rename from clang/test/Analysis/ctu/Inputs/ctu-other.c
rename to clang/test/Analysis/ctu/Inputs/other.c
diff --git a/clang/test/Analysis/ctu/Inputs/other.c.externalDefMap.ast-dump.txt b/clang/test/Analysis/ctu/Inputs/other.c.externalDefMap.ast-dump.txt
new file mode 100644
index 0000000000000..92ddd4a6ec35e
--- /dev/null
+++ b/clang/test/Analysis/ctu/Inputs/other.c.externalDefMap.ast-dump.txt
@@ -0,0 +1,7 @@
+14:c:@F at inlineAsm other.c.ast
+6:c:@F at g other.c.ast
+6:c:@F at f other.c.ast
+14:c:@F at enumCheck other.c.ast
+18:c:@F at identImplicit other.c.ast
+18:c:@F at structInProto other.c.ast
+23:c:@F at switchWithoutCases other.c.ast
diff --git a/clang/test/Analysis/ctu/Inputs/ctu-other.cpp b/clang/test/Analysis/ctu/Inputs/other.cpp
similarity index 99%
rename from clang/test/Analysis/ctu/Inputs/ctu-other.cpp
rename to clang/test/Analysis/ctu/Inputs/other.cpp
index a7bf1cef65b92..0a0b0a53d41ff 100644
--- a/clang/test/Analysis/ctu/Inputs/ctu-other.cpp
+++ b/clang/test/Analysis/ctu/Inputs/other.cpp
@@ -1,4 +1,4 @@
-#include "../ctu-hdr.h"
+#include "../hdr.h"
int callback_to_main(int x);
int f(int x) {
diff --git a/clang/test/Analysis/ctu/Inputs/other.cpp.externalDefMap.ast-dump.txt b/clang/test/Analysis/ctu/Inputs/other.cpp.externalDefMap.ast-dump.txt
new file mode 100644
index 0000000000000..c7463e46b9b5a
--- /dev/null
+++ b/clang/test/Analysis/ctu/Inputs/other.cpp.externalDefMap.ast-dump.txt
@@ -0,0 +1,31 @@
+19:c:@N at chns@F at chf1#I# other.cpp.ast
+30:c:@N at myns@N at embed_ns@F at fens#I# other.cpp.ast
+9:c:@F at g#I# other.cpp.ast
+21:c:@S at mycls@F at fscl#I#S other.cpp.ast
+19:c:@S at mycls@F at fcl#I# other.cpp.ast
+20:c:@S at mycls@F at fvcl#I# other.cpp.ast
+31:c:@N at myns@S at embed_cls@F at fecl#I# other.cpp.ast
+34:c:@S at mycls@S at embed_cls2@F at fecl2#I# other.cpp.ast
+22:c:@S at derived@F at fvcl#I# other.cpp.ast
+9:c:@F at f#I# other.cpp.ast
+18:c:@N at myns@F at fns#I# other.cpp.ast
+9:c:@F at h#I# other.cpp.ast
+15:c:@F at h_chain#I# chain.cpp.ast
+27:c:@N at chns@S at chcls@F at chf4#I# chain.cpp.ast
+19:c:@N at chns@F at chf2#I# chain.cpp.ast
+29:c:@F at fun_using_anon_struct#I# other.cpp.ast
+24:c:@F at other_macro_diag#I# other.cpp.ast
+9:c:@extInt other.cpp.ast
+17:c:@N at intns@extInt other.cpp.ast
+7:c:@extS other.cpp.ast
+9:c:@extNTS other.cpp.ast
+8:c:@S at A@a other.cpp.ast
+8:c:@extSC other.cpp.ast
+10:c:@S at ST@sc other.cpp.ast
+9:c:@extSCN other.cpp.ast
+12:c:@extSubSCN other.cpp.ast
+9:c:@extSCC other.cpp.ast
+7:c:@extU other.cpp.ast
+26:c:@S at TestAnonUnionUSR@Test other.cpp.ast
+53:c:@F at testImportOfIncompleteDefaultParmDuringImport#I# other.cpp.ast
+39:c:@F at testImportOfDelegateConstructor#I# other.cpp.ast
diff --git a/clang/test/Analysis/ctu/Inputs/ctu-test-import-failure-import.cpp b/clang/test/Analysis/ctu/Inputs/test-import-failure-import.cpp
similarity index 100%
rename from clang/test/Analysis/ctu/Inputs/ctu-test-import-failure-import.cpp
rename to clang/test/Analysis/ctu/Inputs/test-import-failure-import.cpp
diff --git a/clang/test/Analysis/ctu/Inputs/test-import-failure-import.cpp.externalDefMap.ast-dump.txt b/clang/test/Analysis/ctu/Inputs/test-import-failure-import.cpp.externalDefMap.ast-dump.txt
new file mode 100644
index 0000000000000..c5a4ab30101f5
--- /dev/null
+++ b/clang/test/Analysis/ctu/Inputs/test-import-failure-import.cpp.externalDefMap.ast-dump.txt
@@ -0,0 +1,5 @@
+47:c:@N at std@S at allocator_traits@F at allocator_traits# test-import-failure-import.cpp.ast
+29:c:@N at CommandLine@RootCommands test-import-failure-import.cpp.ast
+55:c:@N at std@N at __cxx11@ST>3#T#T#T at basic_string@F at _M_assign# test-import-failure-import.cpp.ast
+97:c:@S at CommandLineOptionDefinition@F at CommandLineOptionDefinition#&1$@S at CommandLineOptionDefinition# test-import-failure-import.cpp.ast
+29:c:@N at CommandLine@RootExamples test-import-failure-import.cpp.ast
\ No newline at end of file
diff --git a/clang/test/Analysis/ctu/ctu-cxxdefaultinitexpr.cpp b/clang/test/Analysis/ctu/cxxdefaultinitexpr.cpp
similarity index 80%
rename from clang/test/Analysis/ctu/ctu-cxxdefaultinitexpr.cpp
rename to clang/test/Analysis/ctu/cxxdefaultinitexpr.cpp
index 995db5614527c..bb02f273733b0 100644
--- a/clang/test/Analysis/ctu/ctu-cxxdefaultinitexpr.cpp
+++ b/clang/test/Analysis/ctu/cxxdefaultinitexpr.cpp
@@ -1,8 +1,8 @@
// RUN: rm -rf %t && mkdir %t
// RUN: mkdir -p %t/ctudir
// RUN: %clang_cc1 -triple x86_64-pc-linux-gnu -std=c++17 \
-// RUN: -emit-pch -o %t/ctudir/ctu-cxxdefaultinitexpr-import.cpp.ast %S/Inputs/ctu-cxxdefaultinitexpr-import.cpp
-// RUN: cp %S/Inputs/ctu-cxxdefaultinitexpr-import.cpp.externalDefMap.ast-dump.txt %t/ctudir/externalDefMap.txt
+// RUN: -emit-pch -o %t/ctudir/cxxdefaultinitexpr-import.cpp.ast %S/Inputs/cxxdefaultinitexpr-import.cpp
+// RUN: cp %S/Inputs/cxxdefaultinitexpr-import.cpp.externalDefMap.ast-dump.txt %t/ctudir/externalDefMap.txt
// RUN: %clang_analyze_cc1 -triple x86_64-pc-linux-gnu -std=c++17 \
// RUN: -analyzer-checker=core \
// RUN: -analyzer-config experimental-enable-naive-ctu-analysis=true \
diff --git a/clang/test/Analysis/ctu/ctu-diag-invalid-index.cpp b/clang/test/Analysis/ctu/diag-invalid-index.cpp
similarity index 75%
rename from clang/test/Analysis/ctu/ctu-diag-invalid-index.cpp
rename to clang/test/Analysis/ctu/diag-invalid-index.cpp
index f71ea6b4b2081..4419039da9160 100644
--- a/clang/test/Analysis/ctu/ctu-diag-invalid-index.cpp
+++ b/clang/test/Analysis/ctu/diag-invalid-index.cpp
@@ -9,7 +9,7 @@
// RUN: -verify %s
// We expect an error in this file, but without a location.
-// expected-error-re at ./ctu-diag-invalid-index.cpp:*{{error parsing index file: '{{.+}}externalDefMap.txt' line: 1 '<USR-Length>:<USR> <File-Path>' format expected}}
+// expected-error-re at ./diag-invalid-index.cpp:*{{error parsing index file: '{{.+}}externalDefMap.txt' line: 1 '<USR-Length>:<USR> <File-Path>' format expected}}
int foo(int);
diff --git a/clang/test/Analysis/ctu/ctu-diag-invlist-ambiguous.cpp b/clang/test/Analysis/ctu/diag-invlist-ambiguous.cpp
similarity index 91%
rename from clang/test/Analysis/ctu/ctu-diag-invlist-ambiguous.cpp
rename to clang/test/Analysis/ctu/diag-invlist-ambiguous.cpp
index 776a77f94bd6e..10be564340827 100644
--- a/clang/test/Analysis/ctu/ctu-diag-invlist-ambiguous.cpp
+++ b/clang/test/Analysis/ctu/diag-invlist-ambiguous.cpp
@@ -1,7 +1,7 @@
// Test that duplicate keys in the invocation list silently fails CTU import.
//
// RUN: rm -rf %t && mkdir %t
-// RUN: echo '11:c:@F at foo#I# ctu-diag-simple.cpp' > %t/externalDefMap.txt
+// RUN: echo '11:c:@F at foo#I# diag-simple.cpp' > %t/externalDefMap.txt
// RUN: echo '"/some/path.cpp": ["clang", "/some/path.cpp"]' > %t/invocations.yaml
// RUN: echo '"/some/path.cpp": ["clang", "/some/path.cpp"]' >> %t/invocations.yaml
// RUN: %clang_analyze_cc1 -std=c++14 -triple x86_64-pc-linux-gnu \
diff --git a/clang/test/Analysis/ctu/ctu-diag-invlist-empty.cpp b/clang/test/Analysis/ctu/diag-invlist-empty.cpp
similarity index 92%
rename from clang/test/Analysis/ctu/ctu-diag-invlist-empty.cpp
rename to clang/test/Analysis/ctu/diag-invlist-empty.cpp
index 09baa3732c11d..c2c8464ca4133 100644
--- a/clang/test/Analysis/ctu/ctu-diag-invlist-empty.cpp
+++ b/clang/test/Analysis/ctu/diag-invlist-empty.cpp
@@ -6,7 +6,7 @@
// reaches the !DocumentRoot branch instead, producing invocation_list_wrong_format.
//
// RUN: rm -rf %t && mkdir %t
-// RUN: echo '11:c:@F at foo#I# ctu-diag-simple.cpp' > %t/externalDefMap.txt
+// RUN: echo '11:c:@F at foo#I# diag-simple.cpp' > %t/externalDefMap.txt
// RUN: touch %t/invocations.yaml
// RUN: %clang_analyze_cc1 -std=c++14 -triple x86_64-pc-linux-gnu \
// RUN: -analyzer-checker=core \
diff --git a/clang/test/Analysis/ctu/ctu-diag-invlist-lookup-miss.cpp b/clang/test/Analysis/ctu/diag-invlist-lookup-miss.cpp
similarity index 91%
rename from clang/test/Analysis/ctu/ctu-diag-invlist-lookup-miss.cpp
rename to clang/test/Analysis/ctu/diag-invlist-lookup-miss.cpp
index ceeb7d2991dee..3adc035dff681 100644
--- a/clang/test/Analysis/ctu/ctu-diag-invlist-lookup-miss.cpp
+++ b/clang/test/Analysis/ctu/diag-invlist-lookup-miss.cpp
@@ -4,7 +4,7 @@
// source file referenced in externalDefMap.txt.
//
// RUN: rm -rf %t && mkdir %t
-// RUN: echo '11:c:@F at foo#I# ctu-diag-simple.cpp' > %t/externalDefMap.txt
+// RUN: echo '11:c:@F at foo#I# diag-simple.cpp' > %t/externalDefMap.txt
// RUN: echo '"/nonexistent.cpp": ["clang", "/nonexistent.cpp"]' > %t/invocations.yaml
// RUN: %clang_analyze_cc1 -std=c++14 -triple x86_64-pc-linux-gnu \
// RUN: -analyzer-checker=core \
diff --git a/clang/test/Analysis/ctu/ctu-diag-invlist-missing.cpp b/clang/test/Analysis/ctu/diag-invlist-missing.cpp
similarity index 90%
rename from clang/test/Analysis/ctu/ctu-diag-invlist-missing.cpp
rename to clang/test/Analysis/ctu/diag-invlist-missing.cpp
index ae481ea595ff8..2fc1fed7d72e1 100644
--- a/clang/test/Analysis/ctu/ctu-diag-invlist-missing.cpp
+++ b/clang/test/Analysis/ctu/diag-invlist-missing.cpp
@@ -4,7 +4,7 @@
// loadFromSource(). The invocation list path points to a nonexistent file.
//
// RUN: rm -rf %t && mkdir %t
-// RUN: echo '11:c:@F at foo#I# ctu-diag-simple.cpp' > %t/externalDefMap.txt
+// RUN: echo '11:c:@F at foo#I# diag-simple.cpp' > %t/externalDefMap.txt
// RUN: %clang_analyze_cc1 -std=c++14 -triple x86_64-pc-linux-gnu \
// RUN: -analyzer-checker=core \
// RUN: -analyzer-config experimental-enable-naive-ctu-analysis=true \
diff --git a/clang/test/Analysis/ctu/ctu-diag-invlist-wrong-format.cpp b/clang/test/Analysis/ctu/diag-invlist-wrong-format.cpp
similarity index 91%
rename from clang/test/Analysis/ctu/ctu-diag-invlist-wrong-format.cpp
rename to clang/test/Analysis/ctu/diag-invlist-wrong-format.cpp
index 002ed2c4e8069..e833da5d9b148 100644
--- a/clang/test/Analysis/ctu/ctu-diag-invlist-wrong-format.cpp
+++ b/clang/test/Analysis/ctu/diag-invlist-wrong-format.cpp
@@ -4,7 +4,7 @@
// MappingNode fails, triggering invocation_list_wrong_format.
//
// RUN: rm -rf %t && mkdir %t
-// RUN: echo '11:c:@F at foo#I# ctu-diag-simple.cpp' > %t/externalDefMap.txt
+// RUN: echo '11:c:@F at foo#I# diag-simple.cpp' > %t/externalDefMap.txt
// RUN: echo '- just_a_list_item' > %t/invocations.yaml
// RUN: %clang_analyze_cc1 -std=c++14 -triple x86_64-pc-linux-gnu \
// RUN: -analyzer-checker=core \
diff --git a/clang/test/Analysis/ctu/ctu-diag-lang-dialect-mismatch.cpp b/clang/test/Analysis/ctu/diag-lang-dialect-mismatch.cpp
similarity index 80%
rename from clang/test/Analysis/ctu/ctu-diag-lang-dialect-mismatch.cpp
rename to clang/test/Analysis/ctu/diag-lang-dialect-mismatch.cpp
index cccdae3f2c31c..bb9a121c48cad 100644
--- a/clang/test/Analysis/ctu/ctu-diag-lang-dialect-mismatch.cpp
+++ b/clang/test/Analysis/ctu/diag-lang-dialect-mismatch.cpp
@@ -4,9 +4,9 @@
//
// RUN: rm -rf %t && mkdir %t
// RUN: %clang_cc1 -std=c++17 -triple x86_64-pc-linux-gnu \
-// RUN: -emit-pch -o %t/ctu-diag-simple.cpp.ast \
-// RUN: %S/Inputs/ctu-diag-simple.cpp
-// RUN: echo '11:c:@F at foo#I# ctu-diag-simple.cpp.ast' > %t/externalDefMap.txt
+// RUN: -emit-pch -o %t/diag-simple.cpp.ast \
+// RUN: %S/Inputs/diag-simple.cpp
+// RUN: echo '11:c:@F at foo#I# diag-simple.cpp.ast' > %t/externalDefMap.txt
// RUN: %clang_analyze_cc1 -std=c++14 -triple x86_64-pc-linux-gnu \
// RUN: -analyzer-checker=core \
// RUN: -analyzer-config experimental-enable-naive-ctu-analysis=true \
diff --git a/clang/test/Analysis/ctu/ctu-diag-lang-mismatch.c b/clang/test/Analysis/ctu/diag-lang-mismatch.c
similarity index 80%
rename from clang/test/Analysis/ctu/ctu-diag-lang-mismatch.c
rename to clang/test/Analysis/ctu/diag-lang-mismatch.c
index d9d175ea6b9b0..7402b2821a1a1 100644
--- a/clang/test/Analysis/ctu/ctu-diag-lang-mismatch.c
+++ b/clang/test/Analysis/ctu/diag-lang-mismatch.c
@@ -6,9 +6,9 @@
//
// RUN: rm -rf %t && mkdir %t
// RUN: %clang_cc1 -x c++ -std=c++14 -triple x86_64-pc-linux-gnu \
-// RUN: -emit-pch -o %t/ctu-diag-simple-extern-c.cpp.ast \
-// RUN: %S/Inputs/ctu-diag-simple-extern-c.cpp
-// RUN: echo '8:c:@F at foo ctu-diag-simple-extern-c.cpp.ast' > %t/externalDefMap.txt
+// RUN: -emit-pch -o %t/diag-simple-extern-c.cpp.ast \
+// RUN: %S/Inputs/diag-simple-extern-c.cpp
+// RUN: echo '8:c:@F at foo diag-simple-extern-c.cpp.ast' > %t/externalDefMap.txt
// RUN: %clang_analyze_cc1 -x c -triple x86_64-pc-linux-gnu \
// RUN: -analyzer-checker=core \
// RUN: -analyzer-config experimental-enable-naive-ctu-analysis=true \
diff --git a/clang/test/Analysis/ctu/ctu-diag-load-threshold.cpp b/clang/test/Analysis/ctu/diag-load-threshold.cpp
similarity index 74%
rename from clang/test/Analysis/ctu/ctu-diag-load-threshold.cpp
rename to clang/test/Analysis/ctu/diag-load-threshold.cpp
index abcca004f78cf..c2195f1c8067d 100644
--- a/clang/test/Analysis/ctu/ctu-diag-load-threshold.cpp
+++ b/clang/test/Analysis/ctu/diag-load-threshold.cpp
@@ -6,13 +6,13 @@
//
// RUN: rm -rf %t && mkdir %t
// RUN: %clang_cc1 -std=c++14 -triple x86_64-pc-linux-gnu \
-// RUN: -emit-pch -o %t/ctu-diag-simple.cpp.ast \
-// RUN: %S/Inputs/ctu-diag-simple.cpp
+// RUN: -emit-pch -o %t/diag-simple.cpp.ast \
+// RUN: %S/Inputs/diag-simple.cpp
// RUN: %clang_cc1 -std=c++14 -triple x86_64-pc-linux-gnu \
-// RUN: -emit-pch -o %t/ctu-diag-bar.cpp.ast \
-// RUN: %S/Inputs/ctu-diag-bar.cpp
-// RUN: echo '11:c:@F at foo#I# ctu-diag-simple.cpp.ast' > %t/externalDefMap.txt
-// RUN: echo '11:c:@F at bar#I# ctu-diag-bar.cpp.ast' >> %t/externalDefMap.txt
+// RUN: -emit-pch -o %t/diag-bar.cpp.ast \
+// RUN: %S/Inputs/diag-bar.cpp
+// RUN: echo '11:c:@F at foo#I# diag-simple.cpp.ast' > %t/externalDefMap.txt
+// RUN: echo '11:c:@F at bar#I# diag-bar.cpp.ast' >> %t/externalDefMap.txt
// RUN: %clang_analyze_cc1 -std=c++14 -triple x86_64-pc-linux-gnu \
// RUN: -analyzer-checker=core \
// RUN: -analyzer-config experimental-enable-naive-ctu-analysis=true \
diff --git a/clang/test/Analysis/ctu/ctu-diag-missing-index.cpp b/clang/test/Analysis/ctu/diag-missing-index.cpp
similarity index 79%
rename from clang/test/Analysis/ctu/ctu-diag-missing-index.cpp
rename to clang/test/Analysis/ctu/diag-missing-index.cpp
index 354a49c5b8565..2afa6e2da3fc4 100644
--- a/clang/test/Analysis/ctu/ctu-diag-missing-index.cpp
+++ b/clang/test/Analysis/ctu/diag-missing-index.cpp
@@ -9,7 +9,7 @@
// RUN: -verify %s
// We expect an error in this file, but without a location.
-// expected-error-re at ./ctu-diag-missing-index.cpp:*{{error opening '{{.+}}non-existing.txt': required by the CrossTU functionality}}
+// expected-error-re at ./diag-missing-index.cpp:*{{error opening '{{.+}}non-existing.txt': required by the CrossTU functionality}}
int foo(int);
diff --git a/clang/test/Analysis/ctu/ctu-different-triples.cpp b/clang/test/Analysis/ctu/different-triples.cpp
similarity index 59%
rename from clang/test/Analysis/ctu/ctu-different-triples.cpp
rename to clang/test/Analysis/ctu/different-triples.cpp
index 68c7b0dd7dc30..95b7f8d4c3fed 100644
--- a/clang/test/Analysis/ctu/ctu-different-triples.cpp
+++ b/clang/test/Analysis/ctu/different-triples.cpp
@@ -1,8 +1,8 @@
// RUN: rm -rf %t && mkdir %t
// RUN: mkdir -p %t/ctudir
// RUN: %clang_cc1 -std=c++14 -triple x86_64-pc-linux-gnu \
-// RUN: -emit-pch -o %t/ctudir/ctu-other.cpp.ast %S/Inputs/ctu-other.cpp
-// RUN: cp %S/Inputs/ctu-other.cpp.externalDefMap.ast-dump.txt %t/ctudir/externalDefMap.txt
+// RUN: -emit-pch -o %t/ctudir/other.cpp.ast %S/Inputs/other.cpp
+// RUN: cp %S/Inputs/other.cpp.externalDefMap.ast-dump.txt %t/ctudir/externalDefMap.txt
// RUN: %clang_analyze_cc1 -std=c++14 -triple powerpc64-montavista-linux-gnu \
// RUN: -analyzer-checker=core,debug.ExprInspection \
// RUN: -analyzer-config experimental-enable-naive-ctu-analysis=true \
@@ -11,7 +11,7 @@
// RUN: -verify %s
// We expect an error in this file, but without a location.
-// expected-error-re at ./ctu-different-triples.cpp:*{{imported AST from {{.*}} had been generated for a different target, current: powerpc64-montavista-linux-gnu, imported: x86_64-pc-linux-gnu}}
+// expected-error-re at ./different-triples.cpp:*{{imported AST from {{.*}} had been generated for a different target, current: powerpc64-montavista-linux-gnu, imported: x86_64-pc-linux-gnu}}
int f(int);
diff --git a/clang/test/Analysis/ctu/ctu-hdr.h b/clang/test/Analysis/ctu/hdr.h
similarity index 100%
rename from clang/test/Analysis/ctu/ctu-hdr.h
rename to clang/test/Analysis/ctu/hdr.h
diff --git a/clang/test/Analysis/ctu/ctu-implicit.c b/clang/test/Analysis/ctu/implicit.c
similarity index 80%
rename from clang/test/Analysis/ctu/ctu-implicit.c
rename to clang/test/Analysis/ctu/implicit.c
index 63df5fb0542b1..b55b64f0d899b 100644
--- a/clang/test/Analysis/ctu/ctu-implicit.c
+++ b/clang/test/Analysis/ctu/implicit.c
@@ -1,8 +1,8 @@
// RUN: rm -rf %t && mkdir %t
// RUN: mkdir -p %t/ctudir2
// RUN: %clang_cc1 \
-// RUN: -emit-pch -o %t/ctudir2/ctu-import.c.ast %S/Inputs/ctu-import.c
-// RUN: cp %S/Inputs/ctu-import.c.externalDefMap.ast-dump.txt %t/ctudir2/externalDefMap.txt
+// RUN: -emit-pch -o %t/ctudir2/import.c.ast %S/Inputs/import.c
+// RUN: cp %S/Inputs/import.c.externalDefMap.ast-dump.txt %t/ctudir2/externalDefMap.txt
// RUN: %clang_analyze_cc1 \
// RUN: -analyzer-checker=core,debug.ExprInspection \
// RUN: -analyzer-config eagerly-assume=false \
diff --git a/clang/test/Analysis/ctu/ctu-import-threshold.c b/clang/test/Analysis/ctu/import-threshold.c
similarity index 100%
rename from clang/test/Analysis/ctu/ctu-import-threshold.c
rename to clang/test/Analysis/ctu/import-threshold.c
diff --git a/clang/test/Analysis/ctu/ctu-import-type-decl-definition.c b/clang/test/Analysis/ctu/import-type-decl-definition.c
similarity index 100%
rename from clang/test/Analysis/ctu/ctu-import-type-decl-definition.c
rename to clang/test/Analysis/ctu/import-type-decl-definition.c
diff --git a/clang/test/Analysis/ctu/ctu-inherited-default-ctor.cpp b/clang/test/Analysis/ctu/inherited-default-ctor.cpp
similarity index 76%
rename from clang/test/Analysis/ctu/ctu-inherited-default-ctor.cpp
rename to clang/test/Analysis/ctu/inherited-default-ctor.cpp
index e89fb2de707b0..527b9410d833e 100644
--- a/clang/test/Analysis/ctu/ctu-inherited-default-ctor.cpp
+++ b/clang/test/Analysis/ctu/inherited-default-ctor.cpp
@@ -2,9 +2,9 @@
//
// RUN: rm -rf %t && mkdir -p %t/ctudir
// RUN: %clang_cc1 -std=c++14 -triple x86_64-pc-linux-gnu \
-// RUN: -emit-pch -o %t/ctudir/ctu-inherited-default-ctor-other.cpp.ast \
-// RUN: %S/Inputs/ctu-inherited-default-ctor-other.cpp
-// RUN: echo "59:c:@N at clang@S at DeclContextLookupResult@SingleElementDummyList ctu-inherited-default-ctor-other.cpp.ast" \
+// RUN: -emit-pch -o %t/ctudir/inherited-default-ctor-other.cpp.ast \
+// RUN: %S/Inputs/inherited-default-ctor-other.cpp
+// RUN: echo "59:c:@N at clang@S at DeclContextLookupResult@SingleElementDummyList inherited-default-ctor-other.cpp.ast" \
// RUN: > %t/ctudir/externalDefMap.txt
//
// RUN: %clang_analyze_cc1 -std=c++14 -triple x86_64-pc-linux-gnu \
@@ -17,7 +17,7 @@
//
// expected-no-diagnostics
//
-// CHECK: CTU loaded AST file: ctu-inherited-default-ctor-other.cpp.ast
+// CHECK: CTU loaded AST file: inherited-default-ctor-other.cpp.ast
namespace clang {}
namespace llvm {}
diff --git a/clang/test/Analysis/ctu/ctu-invalid-ast.cpp b/clang/test/Analysis/ctu/invalid-ast.cpp
similarity index 74%
rename from clang/test/Analysis/ctu/ctu-invalid-ast.cpp
rename to clang/test/Analysis/ctu/invalid-ast.cpp
index b35f40472dbcb..45b51ad170e1a 100644
--- a/clang/test/Analysis/ctu/ctu-invalid-ast.cpp
+++ b/clang/test/Analysis/ctu/invalid-ast.cpp
@@ -2,9 +2,9 @@
// RUN: rm -rf %t
// RUN: mkdir %t
-// RUN: touch %t/ctu-invalid-ast-other.cpp.ast
+// RUN: touch %t/invalid-ast-other.cpp.ast
-// RUN: cp %S/Inputs/ctu-invalid-ast-other.cpp.externalDefMap.ast-dump.txt %t/externalDefMap.txt
+// RUN: cp %S/Inputs/invalid-ast-other.cpp.externalDefMap.ast-dump.txt %t/externalDefMap.txt
// RUN: %clang_cc1 -triple x86_64-pc-linux-gnu -std=c++17 -analyze \
// RUN: -analyzer-checker=core \
@@ -16,7 +16,7 @@
// CHECK: error: unable to load precompiled file
// FIXME: this is misleading
-// CHECK: CTU loaded AST file: ctu-invalid-ast-other.cpp.ast
+// CHECK: CTU loaded AST file: invalid-ast-other.cpp.ast
void external();
diff --git a/clang/test/Analysis/ctu/ctu-lookup-name-with-space.cpp b/clang/test/Analysis/ctu/lookup-name-with-space.cpp
similarity index 90%
rename from clang/test/Analysis/ctu/ctu-lookup-name-with-space.cpp
rename to clang/test/Analysis/ctu/lookup-name-with-space.cpp
index 0761cfe092296..fd05167ac5ecd 100644
--- a/clang/test/Analysis/ctu/ctu-lookup-name-with-space.cpp
+++ b/clang/test/Analysis/ctu/lookup-name-with-space.cpp
@@ -4,7 +4,7 @@
// RUN: echo '41:c:@S at G@F at G#@Sa at F@operator void (*)(int)#1 %/t/importee.ast' >> %t/externalDefMap.txt
// RUN: echo '38:c:@S at G@F at G#@Sa at F@operator void (*)()#1 %/t/importee.ast' >> %t/externalDefMap.txt
// RUN: echo '14:c:@F at importee# %/t/importee.ast' >> %t/externalDefMap.txt
-// RUN: %clang_cc1 -emit-pch %/S/Inputs/ctu-lookup-name-with-space.cpp -o %t/importee.ast
+// RUN: %clang_cc1 -emit-pch %/S/Inputs/lookup-name-with-space.cpp -o %t/importee.ast
// RUN: cd %t
// RUN: %clang_analyze_cc1 \
@@ -35,7 +35,7 @@ void importee();
void trigger() {
// Call an external function to trigger the parsing process of CTU index.
- // Refer to file Inputs/ctu-lookup-name-with-space.cpp for more details.
+ // Refer to file Inputs/lookup-name-with-space.cpp for more details.
importee(); // expected-no-diagnostics
}
diff --git a/clang/test/Analysis/ctu/ctu-main.c b/clang/test/Analysis/ctu/main.c
similarity index 89%
rename from clang/test/Analysis/ctu/ctu-main.c
rename to clang/test/Analysis/ctu/main.c
index e24510e8aadc4..928da3cbea038 100644
--- a/clang/test/Analysis/ctu/ctu-main.c
+++ b/clang/test/Analysis/ctu/main.c
@@ -1,8 +1,8 @@
// RUN: rm -rf %t && mkdir %t
// RUN: mkdir -p %t/ctudir2
// RUN: %clang_cc1 -triple x86_64-pc-linux-gnu \
-// RUN: -emit-pch -o %t/ctudir2/ctu-other.c.ast %S/Inputs/ctu-other.c
-// RUN: cp %S/Inputs/ctu-other.c.externalDefMap.ast-dump.txt %t/ctudir2/externalDefMap.txt
+// RUN: -emit-pch -o %t/ctudir2/other.c.ast %S/Inputs/other.c
+// RUN: cp %S/Inputs/other.c.externalDefMap.ast-dump.txt %t/ctudir2/externalDefMap.txt
// RUN: %clang_analyze_cc1 -triple x86_64-pc-linux-gnu -std=c89 \
// RUN: -analyzer-checker=core,debug.ExprInspection \
@@ -69,8 +69,8 @@ int testInlineAsm(void) {
struct S;
int g(struct S *);
void testMacro(void) {
- g(0); // newctu-warning at Inputs/ctu-other.c:29 {{Access to field 'a' results in a dereference of a null pointer (loaded from variable 'ctx')}}
- // oldctu-warning at Inputs/ctu-other.c:29 {{Access to field 'a' results in a dereference of a null pointer (loaded from variable 'ctx')}}
+ g(0); // newctu-warning at Inputs/other.c:29 {{Access to field 'a' results in a dereference of a null pointer (loaded from variable 'ctx')}}
+ // oldctu-warning at Inputs/other.c:29 {{Access to field 'a' results in a dereference of a null pointer (loaded from variable 'ctx')}}
}
// The external function prototype is incomplete.
diff --git a/clang/test/Analysis/ctu/ctu-main.cpp b/clang/test/Analysis/ctu/main.cpp
similarity index 95%
rename from clang/test/Analysis/ctu/ctu-main.cpp
rename to clang/test/Analysis/ctu/main.cpp
index 27369b8f5df3b..a9d0f5ae905d0 100644
--- a/clang/test/Analysis/ctu/ctu-main.cpp
+++ b/clang/test/Analysis/ctu/main.cpp
@@ -1,10 +1,10 @@
// RUN: rm -rf %t && mkdir %t
// RUN: mkdir -p %t/ctudir
// RUN: %clang_cc1 -std=c++14 -triple x86_64-pc-linux-gnu \
-// RUN: -emit-pch -o %t/ctudir/ctu-other.cpp.ast %S/Inputs/ctu-other.cpp
+// RUN: -emit-pch -o %t/ctudir/other.cpp.ast %S/Inputs/other.cpp
// RUN: %clang_cc1 -std=c++14 -triple x86_64-pc-linux-gnu \
-// RUN: -emit-pch -o %t/ctudir/ctu-chain.cpp.ast %S/Inputs/ctu-chain.cpp
-// RUN: cp %S/Inputs/ctu-other.cpp.externalDefMap.ast-dump.txt %t/ctudir/externalDefMap.txt
+// RUN: -emit-pch -o %t/ctudir/chain.cpp.ast %S/Inputs/chain.cpp
+// RUN: cp %S/Inputs/other.cpp.externalDefMap.ast-dump.txt %t/ctudir/externalDefMap.txt
// RUN: %clang_analyze_cc1 -std=c++14 -triple x86_64-pc-linux-gnu \
// RUN: -analyzer-checker=core,debug.ExprInspection \
@@ -30,10 +30,10 @@
// RUN: -analyzer-config ctu-dir=%t/ctudir \
// RUN: -analyzer-config display-ctu-progress=true 2>&1 %s | FileCheck %s
-// CHECK: CTU loaded AST file: {{.*}}ctu-other.cpp.ast
-// CHECK: CTU loaded AST file: {{.*}}ctu-chain.cpp.ast
+// CHECK: CTU loaded AST file: {{.*}}other.cpp.ast
+// CHECK: CTU loaded AST file: {{.*}}chain.cpp.ast
-#include "ctu-hdr.h"
+#include "hdr.h"
void clang_analyzer_eval(int);
@@ -203,8 +203,8 @@ int main() {
clang_analyzer_eval(other_macro_diag(1) == 1); // newctu-warning{{TRUE}} ctu
// newctu-warning at -1{{UNKNOWN}} stu
// oldctu-warning at -2{{TRUE}}
- // newctu-warning at Inputs/ctu-other.cpp:93{{REACHABLE}}
- // oldctu-warning at Inputs/ctu-other.cpp:93{{REACHABLE}}
+ // newctu-warning at Inputs/other.cpp:93{{REACHABLE}}
+ // oldctu-warning at Inputs/other.cpp:93{{REACHABLE}}
MACRODIAG(); // newctu-warning{{REACHABLE}}
// oldctu-warning at -1{{REACHABLE}}
diff --git a/clang/test/Analysis/ctu/ctu-missing-ast.cpp b/clang/test/Analysis/ctu/missing-ast.cpp
similarity index 80%
rename from clang/test/Analysis/ctu/ctu-missing-ast.cpp
rename to clang/test/Analysis/ctu/missing-ast.cpp
index 9409a6b997345..e7f77aa07cfa3 100644
--- a/clang/test/Analysis/ctu/ctu-missing-ast.cpp
+++ b/clang/test/Analysis/ctu/missing-ast.cpp
@@ -2,7 +2,7 @@
// RUN: rm -rf %t
// RUN: mkdir %t
-// RUN: cp %S/Inputs/ctu-missing-ast.cpp.externalDefMap.ast-dump.txt %t/externalDefMap.txt
+// RUN: cp %S/Inputs/missing-ast.cpp.externalDefMap.ast-dump.txt %t/externalDefMap.txt
// RUN: %clang_cc1 -triple x86_64-pc-linux-gnu -std=c++17 -analyze \
// RUN: -analyzer-checker=core \
@@ -14,7 +14,7 @@
// CHECK: error: unable to load precompiled file
// FIXME: this is misleading
-// CHECK: CTU loaded AST file: wrong-ctu-missing-ast.cpp.ast
+// CHECK: CTU loaded AST file: wrong-missing-ast.cpp.ast
void external();
diff --git a/clang/test/Analysis/ctu/ctu-on-demand-parsing.c b/clang/test/Analysis/ctu/on-demand-parsing.c
similarity index 81%
rename from clang/test/Analysis/ctu/ctu-on-demand-parsing.c
rename to clang/test/Analysis/ctu/on-demand-parsing.c
index 2107b989d9cc3..d1d490bcf9a6d 100644
--- a/clang/test/Analysis/ctu/ctu-on-demand-parsing.c
+++ b/clang/test/Analysis/ctu/on-demand-parsing.c
@@ -1,15 +1,15 @@
// RUN: rm -rf %t
// RUN: mkdir -p %t
-// RUN: cp "%s" "%t/ctu-on-demand-parsing.c"
-// RUN: cp "%S/Inputs/ctu-other.c" "%t/ctu-other.c"
+// RUN: cp "%s" "%t/on-demand-parsing.c"
+// RUN: cp "%S/Inputs/other.c" "%t/other.c"
//
// Path substitutions on Windows platform could contain backslashes. These are escaped in the json file.
// compile_commands.json is only needed for extdef_mapping, not for the analysis itself.
-// RUN: echo '[{"directory":"%t","command":"gcc -std=c89 -Wno-visibility ctu-other.c","file":"ctu-other.c"}]' | sed -e 's/\\/\\\\/g' > %t/compile_commands.json
+// RUN: echo '[{"directory":"%t","command":"gcc -std=c89 -Wno-visibility other.c","file":"other.c"}]' | sed -e 's/\\/\\\\/g' > %t/compile_commands.json
//
-// RUN: echo '"%t/ctu-other.c": ["gcc", "-std=c89", "-Wno-visibility", "ctu-other.c"]' | sed -e 's/\\/\\\\/g' > %t/invocations.yaml
+// RUN: echo '"%t/other.c": ["gcc", "-std=c89", "-Wno-visibility", "other.c"]' | sed -e 's/\\/\\\\/g' > %t/invocations.yaml
//
-// RUN: cd "%t" && %clang_extdef_map "%t/ctu-other.c" > externalDefMap.txt
+// RUN: cd "%t" && %clang_extdef_map "%t/other.c" > externalDefMap.txt
//
// RUN: cd "%t" && %clang_analyze_cc1 -std=c89 \
// RUN: -analyzer-checker=core,debug.ExprInspection \
@@ -17,7 +17,7 @@
// RUN: -analyzer-config ctu-dir=. \
// RUN: -analyzer-config ctu-invocation-list=invocations.yaml \
// RUN: -analyzer-config ctu-phase1-inlining=all \
-// RUN: -verify ctu-on-demand-parsing.c
+// RUN: -verify on-demand-parsing.c
//
// FIXME: On-demand ctu should be tested in the same file that we have for the
// PCH version, but with a different verify prefix (e.g. -verfiy=on-demand-ctu)
@@ -58,7 +58,7 @@ struct S;
int g(struct S *);
void testMacro(void) {
g(0);
- // expected-warning at ctu-other.c:29 {{Access to field 'a' results in a dereference of a null pointer (loaded from variable 'ctx')}}
+ // expected-warning at other.c:29 {{Access to field 'a' results in a dereference of a null pointer (loaded from variable 'ctx')}}
}
// The external function prototype is incomplete.
diff --git a/clang/test/Analysis/ctu/ctu-on-demand-parsing.cpp b/clang/test/Analysis/ctu/on-demand-parsing.cpp
similarity index 75%
rename from clang/test/Analysis/ctu/ctu-on-demand-parsing.cpp
rename to clang/test/Analysis/ctu/on-demand-parsing.cpp
index 0c0128faefaea..ca750a87fd536 100644
--- a/clang/test/Analysis/ctu/ctu-on-demand-parsing.cpp
+++ b/clang/test/Analysis/ctu/on-demand-parsing.cpp
@@ -1,17 +1,17 @@
// RUN: rm -rf %t
// RUN: mkdir -p %t/Inputs
-// RUN: cp %s %t/ctu-on-demand-parsing.cpp
-// RUN: cp %S/ctu-hdr.h %t/ctu-hdr.h
-// RUN: cp %S/Inputs/ctu-chain.cpp %t/Inputs/ctu-chain.cpp
-// RUN: cp %S/Inputs/ctu-other.cpp %t/Inputs/ctu-other.cpp
+// RUN: cp %s %t/on-demand-parsing.cpp
+// RUN: cp %S/hdr.h %t/hdr.h
+// RUN: cp %S/Inputs/chain.cpp %t/Inputs/chain.cpp
+// RUN: cp %S/Inputs/other.cpp %t/Inputs/other.cpp
//
// Path substitutions on Windows platform could contain backslashes. These are escaped in the json file.
// compile_commands.json is only needed for the extdef_mapping, not for the analysis itself.
-// RUN: echo '[{"directory":"%t/Inputs","command":"clang++ ctu-chain.cpp","file":"ctu-chain.cpp"},{"directory":"%t/Inputs","command":"clang++ ctu-other.cpp","file":"ctu-other.cpp"}]' | sed -e 's/\\/\\\\/g' > %t/compile_commands.json
+// RUN: echo '[{"directory":"%t/Inputs","command":"clang++ chain.cpp","file":"chain.cpp"},{"directory":"%t/Inputs","command":"clang++ other.cpp","file":"other.cpp"}]' | sed -e 's/\\/\\\\/g' > %t/compile_commands.json
//
-// RUN: echo '{"%t/Inputs/ctu-chain.cpp": ["g++", "%t/Inputs/ctu-chain.cpp"], "%t/Inputs/ctu-other.cpp": ["g++", "%t/Inputs/ctu-other.cpp"]}' | sed -e 's/\\/\\\\/g' > %t/invocations.yaml
+// RUN: echo '{"%t/Inputs/chain.cpp": ["g++", "%t/Inputs/chain.cpp"], "%t/Inputs/other.cpp": ["g++", "%t/Inputs/other.cpp"]}' | sed -e 's/\\/\\\\/g' > %t/invocations.yaml
//
-// RUN: cd "%t" && %clang_extdef_map Inputs/ctu-chain.cpp Inputs/ctu-other.cpp > externalDefMap.txt
+// RUN: cd "%t" && %clang_extdef_map Inputs/chain.cpp Inputs/other.cpp > externalDefMap.txt
//
// RUN: cd "%t" && %clang_analyze_cc1 \
// RUN: -analyzer-checker=core,debug.ExprInspection \
@@ -19,16 +19,16 @@
// RUN: -analyzer-config ctu-dir=. \
// RUN: -analyzer-config ctu-invocation-list=invocations.yaml \
// RUN: -analyzer-config ctu-phase1-inlining=all \
-// RUN: -verify ctu-on-demand-parsing.cpp
+// RUN: -verify on-demand-parsing.cpp
// RUN: cd "%t" && %clang_analyze_cc1 \
// RUN: -analyzer-checker=core,debug.ExprInspection \
// RUN: -analyzer-config experimental-enable-naive-ctu-analysis=true \
// RUN: -analyzer-config ctu-dir=. \
// RUN: -analyzer-config ctu-invocation-list=invocations.yaml \
-// RUN: -analyzer-config display-ctu-progress=true ctu-on-demand-parsing.cpp 2>&1 | FileCheck %t/ctu-on-demand-parsing.cpp
+// RUN: -analyzer-config display-ctu-progress=true on-demand-parsing.cpp 2>&1 | FileCheck %t/on-demand-parsing.cpp
//
-// CHECK: CTU loaded AST file: {{.*}}ctu-other.cpp
-// CHECK: CTU loaded AST file: {{.*}}ctu-chain.cpp
+// CHECK: CTU loaded AST file: {{.*}}other.cpp
+// CHECK: CTU loaded AST file: {{.*}}chain.cpp
// FIXME: On-demand ctu should be tested in the same file that we have for the
// PCH version, but with a different verify prefix (e.g. -verfiy=on-demand-ctu)
@@ -37,7 +37,7 @@
// REQUIRES: system-linux
// UNSUPPORTED: target={{.*}}-zos{{.*}}
-#include "ctu-hdr.h"
+#include "hdr.h"
void clang_analyzer_eval(int);
@@ -111,6 +111,6 @@ int main() {
clang_analyzer_eval(fun_using_anon_struct(8) == 8); // expected-warning{{TRUE}}
clang_analyzer_eval(other_macro_diag(1) == 1); // expected-warning{{TRUE}}
- // expected-warning at Inputs/ctu-other.cpp:93{{REACHABLE}}
+ // expected-warning at Inputs/other.cpp:93{{REACHABLE}}
MACRODIAG(); // expected-warning{{REACHABLE}}
}
diff --git a/clang/test/Analysis/ctu/ctu-onego-existingdef.cpp b/clang/test/Analysis/ctu/onego-existingdef.cpp
similarity index 92%
rename from clang/test/Analysis/ctu/ctu-onego-existingdef.cpp
rename to clang/test/Analysis/ctu/onego-existingdef.cpp
index e60c9b33a0a33..3470e95515f5b 100644
--- a/clang/test/Analysis/ctu/ctu-onego-existingdef.cpp
+++ b/clang/test/Analysis/ctu/onego-existingdef.cpp
@@ -7,8 +7,8 @@
// RUN: rm -rf %t && mkdir %t
// RUN: mkdir -p %t/ctudir
// RUN: %clang_cc1 -std=c++14 -triple x86_64-pc-linux-gnu \
-// RUN: -emit-pch -o %t/ctudir/ctu-onego-existingdef-other.cpp.ast %S/Inputs/ctu-onego-existingdef-other.cpp
-// RUN: cp %S/Inputs/ctu-onego-existingdef-other.cpp.externalDefMap.ast-dump.txt %t/ctudir/externalDefMap.txt
+// RUN: -emit-pch -o %t/ctudir/onego-existingdef-other.cpp.ast %S/Inputs/onego-existingdef-other.cpp
+// RUN: cp %S/Inputs/onego-existingdef-other.cpp.externalDefMap.ast-dump.txt %t/ctudir/externalDefMap.txt
// Existing and equal function definition in both TU. `other` calls `bar` thus
// `bar` will be indirectly imported. During the import we recognize that there
diff --git a/clang/test/Analysis/ctu/ctu-onego-indirect.cpp b/clang/test/Analysis/ctu/onego-indirect.cpp
similarity index 90%
rename from clang/test/Analysis/ctu/ctu-onego-indirect.cpp
rename to clang/test/Analysis/ctu/onego-indirect.cpp
index 9a95ce62103c6..8d2e6610782f9 100644
--- a/clang/test/Analysis/ctu/ctu-onego-indirect.cpp
+++ b/clang/test/Analysis/ctu/onego-indirect.cpp
@@ -1,8 +1,8 @@
// RUN: rm -rf %t && mkdir %t
// RUN: mkdir -p %t/ctudir
// RUN: %clang_cc1 -std=c++14 -triple x86_64-pc-linux-gnu \
-// RUN: -emit-pch -o %t/ctudir/ctu-onego-indirect-other.cpp.ast %S/Inputs/ctu-onego-indirect-other.cpp
-// RUN: cp %S/Inputs/ctu-onego-indirect-other.cpp.externalDefMap.ast-dump.txt %t/ctudir/externalDefMap.txt
+// RUN: -emit-pch -o %t/ctudir/onego-indirect-other.cpp.ast %S/Inputs/onego-indirect-other.cpp
+// RUN: cp %S/Inputs/onego-indirect-other.cpp.externalDefMap.ast-dump.txt %t/ctudir/externalDefMap.txt
int bar();
diff --git a/clang/test/Analysis/ctu/ctu-onego-small.cpp b/clang/test/Analysis/ctu/onego-small.cpp
similarity index 91%
rename from clang/test/Analysis/ctu/ctu-onego-small.cpp
rename to clang/test/Analysis/ctu/onego-small.cpp
index c228757bb18eb..e90b17497efd2 100644
--- a/clang/test/Analysis/ctu/ctu-onego-small.cpp
+++ b/clang/test/Analysis/ctu/onego-small.cpp
@@ -1,8 +1,8 @@
// RUN: rm -rf %t && mkdir %t
// RUN: mkdir -p %t/ctudir
// RUN: %clang_cc1 -std=c++14 -triple x86_64-pc-linux-gnu \
-// RUN: -emit-pch -o %t/ctudir/ctu-onego-small-other.cpp.ast %S/Inputs/ctu-onego-small-other.cpp
-// RUN: cp %S/Inputs/ctu-onego-small-other.cpp.externalDefMap.ast-dump.txt %t/ctudir/externalDefMap.txt
+// RUN: -emit-pch -o %t/ctudir/onego-small-other.cpp.ast %S/Inputs/onego-small-other.cpp
+// RUN: cp %S/Inputs/onego-small-other.cpp.externalDefMap.ast-dump.txt %t/ctudir/externalDefMap.txt
// Small function defined in another TU.
int bar();
diff --git a/clang/test/Analysis/ctu/ctu-onego-toplevel.cpp b/clang/test/Analysis/ctu/onego-toplevel.cpp
similarity index 90%
rename from clang/test/Analysis/ctu/ctu-onego-toplevel.cpp
rename to clang/test/Analysis/ctu/onego-toplevel.cpp
index 0cc313c860434..19add20f7d975 100644
--- a/clang/test/Analysis/ctu/ctu-onego-toplevel.cpp
+++ b/clang/test/Analysis/ctu/onego-toplevel.cpp
@@ -1,8 +1,8 @@
// RUN: rm -rf %t && mkdir %t
// RUN: mkdir -p %t/ctudir
// RUN: %clang_cc1 -std=c++14 -triple x86_64-pc-linux-gnu \
-// RUN: -emit-pch -o %t/ctudir/ctu-onego-toplevel-other.cpp.ast %S/Inputs/ctu-onego-toplevel-other.cpp
-// RUN: cp %S/Inputs/ctu-onego-toplevel-other.cpp.externalDefMap.ast-dump.txt %t/ctudir/externalDefMap.txt
+// RUN: -emit-pch -o %t/ctudir/onego-toplevel-other.cpp.ast %S/Inputs/onego-toplevel-other.cpp
+// RUN: cp %S/Inputs/onego-toplevel-other.cpp.externalDefMap.ast-dump.txt %t/ctudir/externalDefMap.txt
// RUN: %clang_analyze_cc1 -std=c++14 -triple x86_64-pc-linux-gnu \
// RUN: -analyzer-checker=core,debug.ExprInspection \
diff --git a/clang/test/Analysis/ctu/ctu-test-import-failure.cpp b/clang/test/Analysis/ctu/test-import-failure.cpp
similarity index 63%
rename from clang/test/Analysis/ctu/ctu-test-import-failure.cpp
rename to clang/test/Analysis/ctu/test-import-failure.cpp
index 812fa01b6c67f..89ccd297ac3a7 100644
--- a/clang/test/Analysis/ctu/ctu-test-import-failure.cpp
+++ b/clang/test/Analysis/ctu/test-import-failure.cpp
@@ -1,8 +1,8 @@
// RUN: rm -rf %t && mkdir %t
// RUN: mkdir -p %t/ctudir
// RUN: %clang_cc1 -triple x86_64-pc-linux-gnu -std=c++17 \
-// RUN: -emit-pch -o %t/ctudir/ctu-test-import-failure-import.cpp.ast %S/Inputs/ctu-test-import-failure-import.cpp
-// RUN: cp %S/Inputs/ctu-test-import-failure-import.cpp.externalDefMap.ast-dump.txt %t/ctudir/externalDefMap.txt
+// RUN: -emit-pch -o %t/ctudir/test-import-failure-import.cpp.ast %S/Inputs/test-import-failure-import.cpp
+// RUN: cp %S/Inputs/test-import-failure-import.cpp.externalDefMap.ast-dump.txt %t/ctudir/externalDefMap.txt
// RUN: %clang_analyze_cc1 -triple x86_64-pc-linux-gnu -std=c++17 \
// RUN: -analyzer-checker=core \
// RUN: -analyzer-config experimental-enable-naive-ctu-analysis=true \
@@ -28,7 +28,7 @@ namespace CommandLine {
extern const int RootExamples[];
}
-// expected-warning at Inputs/ctu-test-import-failure-import.cpp:14{{incompatible definitions}}
-// expected-warning at Inputs/ctu-test-import-failure-import.cpp:14{{incompatible definitions}}
-// expected-note at Inputs/ctu-test-import-failure-import.cpp:14{{no corresponding field here}}
-// expected-note at Inputs/ctu-test-import-failure-import.cpp:14{{no corresponding field here}}
+// expected-warning at Inputs/test-import-failure-import.cpp:14{{incompatible definitions}}
+// expected-warning at Inputs/test-import-failure-import.cpp:14{{incompatible definitions}}
+// expected-note at Inputs/test-import-failure-import.cpp:14{{no corresponding field here}}
+// expected-note at Inputs/test-import-failure-import.cpp:14{{no corresponding field here}}
diff --git a/clang/test/Analysis/ctu/ctu-unknown-parts-in-triples.cpp b/clang/test/Analysis/ctu/unknown-parts-in-triples.cpp
similarity index 77%
rename from clang/test/Analysis/ctu/ctu-unknown-parts-in-triples.cpp
rename to clang/test/Analysis/ctu/unknown-parts-in-triples.cpp
index f41f07d1edc9f..8b8104b472b8f 100644
--- a/clang/test/Analysis/ctu/ctu-unknown-parts-in-triples.cpp
+++ b/clang/test/Analysis/ctu/unknown-parts-in-triples.cpp
@@ -4,8 +4,8 @@
// RUN: rm -rf %t && mkdir %t
// RUN: mkdir -p %t/ctudir
// RUN: %clang_cc1 -std=c++14 -triple x86_64-pc-linux-gnu \
-// RUN: -emit-pch -o %t/ctudir/ctu-other.cpp.ast %S/Inputs/ctu-other.cpp
-// RUN: cp %S/Inputs/ctu-other.cpp.externalDefMap.ast-dump.txt %t/ctudir/externalDefMap.txt
+// RUN: -emit-pch -o %t/ctudir/other.cpp.ast %S/Inputs/other.cpp
+// RUN: cp %S/Inputs/other.cpp.externalDefMap.ast-dump.txt %t/ctudir/externalDefMap.txt
// RUN: %clang_analyze_cc1 -std=c++14 -triple x86_64-unknown-linux-gnu \
// RUN: -analyzer-checker=core,debug.ExprInspection \
// RUN: -analyzer-config experimental-enable-naive-ctu-analysis=true \
>From 231317175365e5bcefdadf6d3955ac7fdcaa8f26 Mon Sep 17 00:00:00 2001
From: Arseniy Zaostrovnykh <necto.ne at gmail.com>
Date: Thu, 26 Mar 2026 13:52:32 +0100
Subject: [PATCH 4/4] fixup! Add test cases for various CTU-import failure
modes
---
clang/test/Analysis/ctu/invalid-ast.cpp | 2 +-
clang/test/Analysis/ctu/missing-ast.cpp | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/clang/test/Analysis/ctu/invalid-ast.cpp b/clang/test/Analysis/ctu/invalid-ast.cpp
index 45b51ad170e1a..9d0b850233dbe 100644
--- a/clang/test/Analysis/ctu/invalid-ast.cpp
+++ b/clang/test/Analysis/ctu/invalid-ast.cpp
@@ -6,7 +6,7 @@
// RUN: cp %S/Inputs/invalid-ast-other.cpp.externalDefMap.ast-dump.txt %t/externalDefMap.txt
-// RUN: %clang_cc1 -triple x86_64-pc-linux-gnu -std=c++17 -analyze \
+// RUN: %clang_analyze_cc1 -triple x86_64-pc-linux-gnu -std=c++17 \
// RUN: -analyzer-checker=core \
// RUN: -analyzer-config experimental-enable-naive-ctu-analysis=true \
// RUN: -analyzer-config ctu-dir=%t \
diff --git a/clang/test/Analysis/ctu/missing-ast.cpp b/clang/test/Analysis/ctu/missing-ast.cpp
index e7f77aa07cfa3..d39d5d8f05bf6 100644
--- a/clang/test/Analysis/ctu/missing-ast.cpp
+++ b/clang/test/Analysis/ctu/missing-ast.cpp
@@ -4,7 +4,7 @@
// RUN: cp %S/Inputs/missing-ast.cpp.externalDefMap.ast-dump.txt %t/externalDefMap.txt
-// RUN: %clang_cc1 -triple x86_64-pc-linux-gnu -std=c++17 -analyze \
+// RUN: %clang_analyze_cc1 -triple x86_64-pc-linux-gnu -std=c++17 \
// RUN: -analyzer-checker=core \
// RUN: -analyzer-config experimental-enable-naive-ctu-analysis=true \
// RUN: -analyzer-config ctu-dir=%t \
More information about the cfe-commits
mailing list