[clang] [clang][ssaf][NFC] Rename ssaf-linker tool to clang-ssaf-linker (PR #185631)
Balázs Benics via cfe-commits
cfe-commits at lists.llvm.org
Wed Mar 11 11:48:59 PDT 2026
https://github.com/steakhal updated https://github.com/llvm/llvm-project/pull/185631
>From 1a997f6dee0b625fd57b15cb026916caa3e3527c Mon Sep 17 00:00:00 2001
From: Balazs Benics <benicsbalazs at gmail.com>
Date: Tue, 10 Mar 2026 12:08:11 +0000
Subject: [PATCH 1/2] [clang][ssaf] Rename ssaf-linker tool to
clang-ssaf-linker
Addresses:
https://github.com/llvm/llvm-project/pull/184713#issuecomment-4030747461
---
.../Analysis/Scalable/ssaf-linker/cli.test | 20 +++++++-------
.../Analysis/Scalable/ssaf-linker/help.test | 6 ++---
.../Analysis/Scalable/ssaf-linker/io.test | 14 +++++-----
.../Scalable/ssaf-linker/linking-errors.test | 16 ++++++------
.../Scalable/ssaf-linker/linking.test | 16 ++++++------
.../Analysis/Scalable/ssaf-linker/time.test | 4 +--
.../validation-errors-permissions.test | 10 +++----
.../ssaf-linker/validation-errors.test | 26 +++++++++----------
.../Scalable/ssaf-linker/verbose.test | 4 +--
.../Scalable/ssaf-linker/version.test | 6 ++---
clang/test/CMakeLists.txt | 2 +-
clang/test/lit.cfg.py | 2 +-
clang/tools/ssaf-linker/CMakeLists.txt | 4 +--
13 files changed, 65 insertions(+), 65 deletions(-)
diff --git a/clang/test/Analysis/Scalable/ssaf-linker/cli.test b/clang/test/Analysis/Scalable/ssaf-linker/cli.test
index 3a4bb7d6e1faf..5a74394dba4a0 100644
--- a/clang/test/Analysis/Scalable/ssaf-linker/cli.test
+++ b/clang/test/Analysis/Scalable/ssaf-linker/cli.test
@@ -1,17 +1,17 @@
-// Tests for ssaf-linker command-line option validation.
+// Tests for clang-ssaf-linker command-line option validation.
-// RUN: not ssaf-linker 2>&1 \
+// RUN: not clang-ssaf-linker 2>&1 \
// RUN: | FileCheck %s --match-full-lines --check-prefix=NO-ARGS
-// NO-ARGS: ssaf-linker{{(\.exe)?}}: Not enough positional command line arguments specified!
-// NO-ARGS-NEXT: Must specify at least 1 positional argument: See: {{.*}}ssaf-linker{{(\.exe)?}} --help
-// NO-ARGS-NEXT: ssaf-linker{{(\.exe)?}}: for the -o option: must be specified at least once!
+// NO-ARGS: clang-ssaf-linker{{(\.exe)?}}: Not enough positional command line arguments specified!
+// NO-ARGS-NEXT: Must specify at least 1 positional argument: See: {{.*}}clang-ssaf-linker{{(\.exe)?}} --help
+// NO-ARGS-NEXT: clang-ssaf-linker{{(\.exe)?}}: for the -o option: must be specified at least once!
-// RUN: not ssaf-linker %S/Inputs/tu-empty.json 2>&1 \
+// RUN: not clang-ssaf-linker %S/Inputs/tu-empty.json 2>&1 \
// RUN: | FileCheck %s --match-full-lines --check-prefix=NO-OUTPUT
-// NO-OUTPUT: ssaf-linker{{(\.exe)?}}: for the -o option: must be specified at least once!
+// NO-OUTPUT: clang-ssaf-linker{{(\.exe)?}}: for the -o option: must be specified at least once!
-// RUN: not ssaf-linker -o %t/output.json 2>&1 \
+// RUN: not clang-ssaf-linker -o %t/output.json 2>&1 \
// RUN: | FileCheck %s --match-full-lines --check-prefix=NO-INPUT
-// NO-INPUT: ssaf-linker{{(\.exe)?}}: Not enough positional command line arguments specified!
-// NO-INPUT-NEXT: Must specify at least 1 positional argument: See: {{.*}}ssaf-linker{{(\.exe)?}} --help
+// NO-INPUT: clang-ssaf-linker{{(\.exe)?}}: Not enough positional command line arguments specified!
+// NO-INPUT-NEXT: Must specify at least 1 positional argument: See: {{.*}}clang-ssaf-linker{{(\.exe)?}} --help
diff --git a/clang/test/Analysis/Scalable/ssaf-linker/help.test b/clang/test/Analysis/Scalable/ssaf-linker/help.test
index 71445a8bd91bb..37be5e47ec222 100644
--- a/clang/test/Analysis/Scalable/ssaf-linker/help.test
+++ b/clang/test/Analysis/Scalable/ssaf-linker/help.test
@@ -1,11 +1,11 @@
-// Test ssaf-linker help option
+// Test clang-ssaf-linker help option
-// RUN: ssaf-linker --help-list-hidden \
+// RUN: clang-ssaf-linker --help-list-hidden \
// RUN: | FileCheck %s --match-full-lines
// CHECK: OVERVIEW: SSAF Linker
// CHECK-EMPTY:
-// CHECK-NEXT: USAGE: ssaf-linker{{(\.exe)?}} [options] <input files>
+// CHECK-NEXT: USAGE: clang-ssaf-linker{{(\.exe)?}} [options] <input files>
// CHECK-EMPTY:
// CHECK-NEXT: OPTIONS:
// CHECK-NEXT: -h - Alias for --help
diff --git a/clang/test/Analysis/Scalable/ssaf-linker/io.test b/clang/test/Analysis/Scalable/ssaf-linker/io.test
index 213cf3c23c511..13991577aa854 100644
--- a/clang/test/Analysis/Scalable/ssaf-linker/io.test
+++ b/clang/test/Analysis/Scalable/ssaf-linker/io.test
@@ -1,23 +1,23 @@
-// Tests for ssaf-linker file I/O error handling.
+// Tests for clang-ssaf-linker file I/O error handling.
// RUN: rm -rf %t
// RUN: mkdir -p %t
// Malformed JSON input.
-// RUN: not ssaf-linker %S/Inputs/tu-malformed.json -o %t/out.json 2>&1 \
+// RUN: not clang-ssaf-linker %S/Inputs/tu-malformed.json -o %t/out.json 2>&1 \
// RUN: | FileCheck %s --match-full-lines --check-prefix=BAD-JSON
-// BAD-JSON: ssaf-linker: error: reading TUSummary from file '{{.*}}tu-malformed.json'
+// BAD-JSON: clang-ssaf-linker: error: reading TUSummary from file '{{.*}}tu-malformed.json'
// BAD-JSON-NEXT: {{.*}}: Invalid JSON value{{.*}}
// Missing required fields in otherwise valid JSON.
-// RUN: not ssaf-linker %S/Inputs/tu-missing-fields.json -o %t/out.json 2>&1 \
+// RUN: not clang-ssaf-linker %S/Inputs/tu-missing-fields.json -o %t/out.json 2>&1 \
// RUN: | FileCheck %s --match-full-lines --check-prefix=MISSING-FIELDS
-// MISSING-FIELDS: ssaf-linker: error: reading TUSummary from file '{{.*}}tu-missing-fields.json'
+// MISSING-FIELDS: clang-ssaf-linker: error: reading TUSummary from file '{{.*}}tu-missing-fields.json'
// MISSING-FIELDS-NEXT: failed to read IdTable from field 'id_table': expected JSON array
// Output file already exists.
// RUN: touch %t/out.json
-// RUN: not ssaf-linker %S/Inputs/tu-empty.json -o %t/out.json 2>&1 \
+// RUN: not clang-ssaf-linker %S/Inputs/tu-empty.json -o %t/out.json 2>&1 \
// RUN: | FileCheck %s --match-full-lines --check-prefix=OUTPUT-EXISTS
-// OUTPUT-EXISTS: ssaf-linker: error: writing LUSummary to file '{{.*}}out.json'
+// OUTPUT-EXISTS: clang-ssaf-linker: error: writing LUSummary to file '{{.*}}out.json'
// OUTPUT-EXISTS-NEXT: failed to write file '{{.*}}out.json': file already exists
diff --git a/clang/test/Analysis/Scalable/ssaf-linker/linking-errors.test b/clang/test/Analysis/Scalable/ssaf-linker/linking-errors.test
index 87f1f08a6b2ef..5bda8128ac0e1 100644
--- a/clang/test/Analysis/Scalable/ssaf-linker/linking-errors.test
+++ b/clang/test/Analysis/Scalable/ssaf-linker/linking-errors.test
@@ -4,25 +4,25 @@
// RUN: mkdir -p %t
// Linking the same TU namespace twice produces an error.
-// RUN: not ssaf-linker %S/Inputs/tu-empty.json %S/Inputs/tu-empty.json -o %t/lu.json 2>&1 \
+// RUN: not clang-ssaf-linker %S/Inputs/tu-empty.json %S/Inputs/tu-empty.json -o %t/lu.json 2>&1 \
// RUN: | FileCheck %s --match-full-lines --check-prefix=DUP-NS
-// DUP-NS: ssaf-linker: error: Linking summary '{{.*}}tu-empty.json'
+// DUP-NS: clang-ssaf-linker: error: Linking summary '{{.*}}tu-empty.json'
// DUP-NS-NEXT: failed to link TU summary: duplicate BuildNamespace(CompilationUnit, empty.cpp)
// Entity ID object in summary data blob with '@' key alongside extra keys is a fatal error.
-// RUN: not ssaf-linker %S/Inputs/tu-invalid-entity-id-multikey.json -o %t/lu.json 2>&1 \
+// RUN: not clang-ssaf-linker %S/Inputs/tu-invalid-entity-id-multikey.json -o %t/lu.json 2>&1 \
// RUN: | FileCheck %s --match-full-lines --check-prefix=INVALID-ID-MULTIKEY
-// INVALID-ID-MULTIKEY: ssaf-linker: error: Linking summary '{{.*}}tu-invalid-entity-id-multikey.json'
+// INVALID-ID-MULTIKEY: clang-ssaf-linker: error: Linking summary '{{.*}}tu-invalid-entity-id-multikey.json'
// INVALID-ID-MULTIKEY-NEXT: failed to read EntityId: expected JSON object with a single '@' key mapped to a number (unsigned 64-bit integer)
// Entity ID object in summary data blob with a non-uint64 '@' value is a fatal error.
-// RUN: not ssaf-linker %S/Inputs/tu-invalid-entity-id-value.json -o %t/lu.json 2>&1 \
+// RUN: not clang-ssaf-linker %S/Inputs/tu-invalid-entity-id-value.json -o %t/lu.json 2>&1 \
// RUN: | FileCheck %s --match-full-lines --check-prefix=INVALID-ID-VALUE
-// INVALID-ID-VALUE: ssaf-linker: error: Linking summary '{{.*}}tu-invalid-entity-id-value.json'
+// INVALID-ID-VALUE: clang-ssaf-linker: error: Linking summary '{{.*}}tu-invalid-entity-id-value.json'
// INVALID-ID-VALUE-NEXT: failed to read EntityId: expected JSON object with a single '@' key mapped to a number (unsigned 64-bit integer)
// Entity ID reference in summary data blob pointing to an ID absent from the resolution table
-// RUN: not ssaf-linker %S/Inputs/tu-invalid-entity-id-ref.json -o %t/lu.json 2>&1 \
+// RUN: not clang-ssaf-linker %S/Inputs/tu-invalid-entity-id-ref.json -o %t/lu.json 2>&1 \
// RUN: | FileCheck %s --match-full-lines --check-prefix=INVALID-ID-REF
-// INVALID-ID-REF: ssaf-linker: error: Linking summary '{{.*}}tu-invalid-entity-id-ref.json'
+// INVALID-ID-REF: clang-ssaf-linker: error: Linking summary '{{.*}}tu-invalid-entity-id-ref.json'
// INVALID-ID-REF-NEXT: failed to patch EntityId: 'EntityId(99)' not found in entity resolution table
diff --git a/clang/test/Analysis/Scalable/ssaf-linker/linking.test b/clang/test/Analysis/Scalable/ssaf-linker/linking.test
index 2ed6d37b558ac..a6bd0c8df22c8 100644
--- a/clang/test/Analysis/Scalable/ssaf-linker/linking.test
+++ b/clang/test/Analysis/Scalable/ssaf-linker/linking.test
@@ -1,42 +1,42 @@
-// Tests for successful ssaf-linker linking behaviour.
+// Tests for successful clang-ssaf-linker linking behaviour.
// See linking-errors.test for error cases.
// RUN: rm -rf %t
// RUN: mkdir -p %t
// Single empty TU produces valid output.
-// RUN: ssaf-linker %S/Inputs/tu-empty.json -o %t/lu-empty.json
+// RUN: clang-ssaf-linker %S/Inputs/tu-empty.json -o %t/lu-empty.json
// RUN: diff %S/Outputs/lu-empty.json %t/lu-empty.json
// RUN: rm %t/lu-empty.json
// Single non-empty TU produces valid output.
-// RUN: ssaf-linker %S/Inputs/tu-1.json -o %t/lu-1.json
+// RUN: clang-ssaf-linker %S/Inputs/tu-1.json -o %t/lu-1.json
// RUN: diff %S/Outputs/lu-1.json %t/lu-1.json
// RUN: rm %t/lu-1.json
// Linking empty and non-empty TU is equivalent to just linking non-empty TU
-// RUN: ssaf-linker %S/Inputs/tu-empty.json %S/Inputs/tu-1.json -o %t/lu-1.json
+// RUN: clang-ssaf-linker %S/Inputs/tu-empty.json %S/Inputs/tu-1.json -o %t/lu-1.json
// RUN: diff %S/Outputs/lu-1.json %t/lu-1.json
// RUN: rm %t/lu-1.json
// Linking non-empty and empty TU is equivalent to just linking non-empty TU
-// RUN: ssaf-linker %S/Inputs/tu-2.json %S/Inputs/tu-empty.json -o %t/lu-2.json
+// RUN: clang-ssaf-linker %S/Inputs/tu-2.json %S/Inputs/tu-empty.json -o %t/lu-2.json
// RUN: diff %S/Outputs/lu-2.json %t/lu-2.json
// RUN: rm %t/lu-2.json
// Linking two TUs correctly resolves and patches data.
-// RUN: ssaf-linker %S/Inputs/tu-1.json %S/Inputs/tu-2.json -o %t/lu-1+2.json
+// RUN: clang-ssaf-linker %S/Inputs/tu-1.json %S/Inputs/tu-2.json -o %t/lu-1+2.json
// RUN: diff %S/Outputs/lu-1+2.json %t/lu-1+2.json
// RUN: rm %t/lu-1+2.json
// Relative input path: cd to the test source directory so that
// Inputs/tu-1.json is a valid relative path.
-// RUN: cd %S && ssaf-linker Inputs/tu-1.json -o %t/lu-1.json
+// RUN: cd %S && clang-ssaf-linker Inputs/tu-1.json -o %t/lu-1.json
// RUN: diff %S/Outputs/lu-1.json %t/lu-1.json
// RUN: rm %t/lu-1.json
// Relative output path: cd to the temp directory so that lu-1.json
// (no directory component) resolves relative to the current directory.
-// RUN: cd %t && ssaf-linker %S/Inputs/tu-1.json -o lu-1.json
+// RUN: cd %t && clang-ssaf-linker %S/Inputs/tu-1.json -o lu-1.json
// RUN: diff %S/Outputs/lu-1.json %t/lu-1.json
// RUN: rm %t/lu-1.json
diff --git a/clang/test/Analysis/Scalable/ssaf-linker/time.test b/clang/test/Analysis/Scalable/ssaf-linker/time.test
index 1c59a19fe35f0..3e5809692f049 100644
--- a/clang/test/Analysis/Scalable/ssaf-linker/time.test
+++ b/clang/test/Analysis/Scalable/ssaf-linker/time.test
@@ -1,9 +1,9 @@
-// Test the --time/-t flag of ssaf-linker.
+// Test the --time/-t flag of clang-ssaf-linker.
// RUN: rm -rf %t
// RUN: mkdir -p %t
-// RUN: ssaf-linker --time %S/Inputs/tu-1.json %S/Inputs/tu-2.json -o %t/lu-1+2.json 2>&1 \
+// RUN: clang-ssaf-linker --time %S/Inputs/tu-1.json %S/Inputs/tu-2.json -o %t/lu-1+2.json 2>&1 \
// RUN: | FileCheck %s --match-full-lines
// CHECK: ===-------------------------------------------------------------------------===
// CHECK-NEXT: {{[ ]+}}SSAF Linker
diff --git a/clang/test/Analysis/Scalable/ssaf-linker/validation-errors-permissions.test b/clang/test/Analysis/Scalable/ssaf-linker/validation-errors-permissions.test
index adf15243180e6..ad1e2708cf96c 100644
--- a/clang/test/Analysis/Scalable/ssaf-linker/validation-errors-permissions.test
+++ b/clang/test/Analysis/Scalable/ssaf-linker/validation-errors-permissions.test
@@ -1,4 +1,4 @@
-// Tests for ssaf-linker input validation requiring file permission support.
+// Tests for clang-ssaf-linker input validation requiring file permission support.
// UNSUPPORTED: system-windows
// RUN: rm -rf %t
@@ -7,13 +7,13 @@
// Output parent directory exists but is not writable.
// RUN: mkdir -p %t/output-dir
// RUN: chmod -w %t/output-dir
-// RUN: not ssaf-linker %S/Inputs/tu-empty.json -o %t/output-dir/output.json 2>&1 \
+// RUN: not clang-ssaf-linker %S/Inputs/tu-empty.json -o %t/output-dir/output.json 2>&1 \
// RUN: | FileCheck %s --match-full-lines --check-prefix=NO-WRITE-PERM
// RUN: chmod +w %t/output-dir
-// NO-WRITE-PERM: ssaf-linker: error: failed to validate summary '{{.*}}output.json': Parent directory is not writable
+// NO-WRITE-PERM: clang-ssaf-linker: error: failed to validate summary '{{.*}}output.json': Parent directory is not writable
// Input summary is a broken symlink.
// RUN: ln -sf %t/tu-nonexistent %t/tu-dangling.json
-// RUN: not ssaf-linker %t/tu-dangling.json -o %t/lu.json 2>&1 \
+// RUN: not clang-ssaf-linker %t/tu-dangling.json -o %t/lu.json 2>&1 \
// RUN: | FileCheck %s --match-full-lines --check-prefix=BROKEN-SYMLINK
-// BROKEN-SYMLINK: ssaf-linker: error: failed to validate summary '{{.*}}tu-dangling.json': {{[Nn]}}o such file or directory
+// BROKEN-SYMLINK: clang-ssaf-linker: error: failed to validate summary '{{.*}}tu-dangling.json': {{[Nn]}}o such file or directory
diff --git a/clang/test/Analysis/Scalable/ssaf-linker/validation-errors.test b/clang/test/Analysis/Scalable/ssaf-linker/validation-errors.test
index 336d4f45925a5..b28fb9fcd56c7 100644
--- a/clang/test/Analysis/Scalable/ssaf-linker/validation-errors.test
+++ b/clang/test/Analysis/Scalable/ssaf-linker/validation-errors.test
@@ -1,35 +1,35 @@
-// Tests for ssaf-linker input validation.
+// Tests for clang-ssaf-linker input validation.
// RUN: rm -rf %t
// RUN: mkdir -p %t
// No extension on output.
-// RUN: not ssaf-linker %S/Inputs/tu-empty.json -o lu 2>&1 \
+// RUN: not clang-ssaf-linker %S/Inputs/tu-empty.json -o lu 2>&1 \
// RUN: | FileCheck %s --match-full-lines --check-prefix=NO-EXT-OUTPUT
-// NO-EXT-OUTPUT: ssaf-linker: error: failed to validate summary 'lu': Extension not supplied
+// NO-EXT-OUTPUT: clang-ssaf-linker: error: failed to validate summary 'lu': Extension not supplied
// No extension on input.
-// RUN: not ssaf-linker %S/Inputs/tu-noext -o %t/lu.json 2>&1 \
+// RUN: not clang-ssaf-linker %S/Inputs/tu-noext -o %t/lu.json 2>&1 \
// RUN: | FileCheck %s --match-full-lines --check-prefix=NO-EXT-INPUT
-// NO-EXT-INPUT: ssaf-linker: error: failed to validate summary '{{.*}}tu-noext': Extension not supplied
+// NO-EXT-INPUT: clang-ssaf-linker: error: failed to validate summary '{{.*}}tu-noext': Extension not supplied
// Invalid extension on output.
-// RUN: not ssaf-linker %S/Inputs/tu-empty.json -o lu.txt 2>&1 \
+// RUN: not clang-ssaf-linker %S/Inputs/tu-empty.json -o lu.txt 2>&1 \
// RUN: | FileCheck %s --match-full-lines --check-prefix=BAD-EXT-OUTPUT
-// BAD-EXT-OUTPUT: ssaf-linker: error: failed to validate summary 'lu.txt': Format not registered for extension 'txt'
+// BAD-EXT-OUTPUT: clang-ssaf-linker: error: failed to validate summary 'lu.txt': Format not registered for extension 'txt'
// Invalid extension on input.
-// RUN: not ssaf-linker %S/Inputs/tu-badext.txt -o %t/lu.json 2>&1 \
+// RUN: not clang-ssaf-linker %S/Inputs/tu-badext.txt -o %t/lu.json 2>&1 \
// RUN: | FileCheck %s --match-full-lines --check-prefix=BAD-EXT-INPUT
-// BAD-EXT-INPUT: ssaf-linker: error: failed to validate summary '{{.*}}tu-badext.txt': Format not registered for extension 'txt'
+// BAD-EXT-INPUT: clang-ssaf-linker: error: failed to validate summary '{{.*}}tu-badext.txt': Format not registered for extension 'txt'
// Output directory does not exist.
-// RUN: not ssaf-linker %S/Inputs/tu-empty.json -o %S/Outputs/NonExistentDirectory/lu.json 2>&1 \
+// RUN: not clang-ssaf-linker %S/Inputs/tu-empty.json -o %S/Outputs/NonExistentDirectory/lu.json 2>&1 \
// RUN: | FileCheck %s --match-full-lines --check-prefix=OUTPUT-PARENT-DIR-MISSING
-// OUTPUT-PARENT-DIR-MISSING: ssaf-linker: error: failed to validate summary '{{.*}}lu.json': Parent directory does not exist
+// OUTPUT-PARENT-DIR-MISSING: clang-ssaf-linker: error: failed to validate summary '{{.*}}lu.json': Parent directory does not exist
// Input summary does not exist.
-// RUN: not ssaf-linker %S/Inputs/tu-nonexistent.json -o %t/lu.json 2>&1 \
+// RUN: not clang-ssaf-linker %S/Inputs/tu-nonexistent.json -o %t/lu.json 2>&1 \
// RUN: | FileCheck %s --match-full-lines --check-prefix=NO-INPUT-FILE
-// NO-INPUT-FILE: ssaf-linker: error: failed to validate summary '{{.*}}tu-nonexistent.json': {{[Nn]}}o such file or directory
+// NO-INPUT-FILE: clang-ssaf-linker: error: failed to validate summary '{{.*}}tu-nonexistent.json': {{[Nn]}}o such file or directory
diff --git a/clang/test/Analysis/Scalable/ssaf-linker/verbose.test b/clang/test/Analysis/Scalable/ssaf-linker/verbose.test
index 8e246efd71f2a..d731748ad7547 100644
--- a/clang/test/Analysis/Scalable/ssaf-linker/verbose.test
+++ b/clang/test/Analysis/Scalable/ssaf-linker/verbose.test
@@ -1,9 +1,9 @@
-// Test the --verbose/-v flag of ssaf-linker.
+// Test the --verbose/-v flag of clang-ssaf-linker.
// RUN: rm -rf %t
// RUN: mkdir -p %t
-// RUN: ssaf-linker --verbose %S/Inputs/tu-1.json %S/Inputs/tu-2.json -o %t/lu-1+2.json 2>&1 \
+// RUN: clang-ssaf-linker --verbose %S/Inputs/tu-1.json %S/Inputs/tu-2.json -o %t/lu-1+2.json 2>&1 \
// RUN: | FileCheck %s --match-full-lines
// CHECK: note: - Linking started.
// CHECK-NEXT: note: - Validating input.
diff --git a/clang/test/Analysis/Scalable/ssaf-linker/version.test b/clang/test/Analysis/Scalable/ssaf-linker/version.test
index e6e9e41663199..d777a9f9952a8 100644
--- a/clang/test/Analysis/Scalable/ssaf-linker/version.test
+++ b/clang/test/Analysis/Scalable/ssaf-linker/version.test
@@ -1,5 +1,5 @@
-// Test ssaf-linker version
+// Test clang-ssaf-linker version
-// RUN: ssaf-linker --version | FileCheck %s
+// RUN: clang-ssaf-linker --version | FileCheck %s
-// CHECK: ssaf-linker
+// CHECK: clang-ssaf-linker
diff --git a/clang/test/CMakeLists.txt b/clang/test/CMakeLists.txt
index 24136256883f3..71bef7b2bab43 100644
--- a/clang/test/CMakeLists.txt
+++ b/clang/test/CMakeLists.txt
@@ -103,10 +103,10 @@ list(APPEND CLANG_TEST_DEPS
clang-linker-wrapper
clang-nvlink-wrapper
clang-offload-bundler
+ clang-ssaf-linker
clang-sycl-linker
diagtool
hmaptool
- ssaf-linker
)
if(CLANG_ENABLE_CIR)
diff --git a/clang/test/lit.cfg.py b/clang/test/lit.cfg.py
index bff9480509231..cbbd4627935e1 100644
--- a/clang/test/lit.cfg.py
+++ b/clang/test/lit.cfg.py
@@ -142,7 +142,7 @@
command=FindTool("clang-extdef-mapping"),
unresolved="ignore",
),
- "ssaf-linker",
+ "clang-ssaf-linker",
]
if config.clang_examples:
diff --git a/clang/tools/ssaf-linker/CMakeLists.txt b/clang/tools/ssaf-linker/CMakeLists.txt
index db5750fb1f758..89a1fcb6d272c 100644
--- a/clang/tools/ssaf-linker/CMakeLists.txt
+++ b/clang/tools/ssaf-linker/CMakeLists.txt
@@ -3,11 +3,11 @@ set(LLVM_LINK_COMPONENTS
Support
)
-add_clang_tool(ssaf-linker
+add_clang_tool(clang-ssaf-linker
SSAFLinker.cpp
)
-clang_target_link_libraries(ssaf-linker
+clang_target_link_libraries(clang-ssaf-linker
PRIVATE
clangAnalysisScalable
clangBasic
>From 47d46325676be5e5104e5d8397c768e5e40af5a5 Mon Sep 17 00:00:00 2001
From: Balazs Benics <benicsbalazs at gmail.com>
Date: Wed, 11 Mar 2026 18:38:49 +0000
Subject: [PATCH 2/2] Port leftover spellings
---
clang/tools/ssaf-linker/SSAFLinker.cpp | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/clang/tools/ssaf-linker/SSAFLinker.cpp b/clang/tools/ssaf-linker/SSAFLinker.cpp
index 66cf8b368487c..2482aaca15782 100644
--- a/clang/tools/ssaf-linker/SSAFLinker.cpp
+++ b/clang/tools/ssaf-linker/SSAFLinker.cpp
@@ -44,7 +44,7 @@ namespace {
// Command-Line Options
//===----------------------------------------------------------------------===//
-cl::OptionCategory SsafLinkerCategory("ssaf-linker options");
+cl::OptionCategory SsafLinkerCategory("clang-ssaf-linker options");
cl::list<std::string> InputPaths(cl::Positional, cl::desc("<input files>"),
cl::OneOrMore, cl::cat(SsafLinkerCategory));
@@ -297,7 +297,7 @@ int main(int argc, const char **argv) {
// path::stem strips the .exe extension on Windows so ToolName is consistent.
ToolName = llvm::sys::path::stem(argv[0]);
- // Hide options unrelated to ssaf-linker from --help output.
+ // Hide options unrelated to clang-ssaf-linker from --help output.
cl::HideUnrelatedOptions(SsafLinkerCategory);
// Register a custom version printer for the --version flag.
cl::SetVersionPrinter(printVersion);
@@ -306,7 +306,7 @@ int main(int argc, const char **argv) {
initializeJSONFormat();
- llvm::TimerGroup LinkerTimers("ssaf-linker", "SSAF Linker");
+ llvm::TimerGroup LinkerTimers(ToolName, "SSAF Linker");
LinkerInput LI;
{
More information about the cfe-commits
mailing list