[clang] [Clang][ssaf] Add missing instantiations of `Registry<JSONFormat::FormatInfo>` (PR #181806)

Tomohiro Kashiwada via cfe-commits cfe-commits at lists.llvm.org
Tue Feb 17 03:55:11 PST 2026


https://github.com/kikairoya created https://github.com/llvm/llvm-project/pull/181806

This patch adds missing explicit template instantiation declaration/definition of `llvm::Registry<clang::ssaf::JSONFormat::FormatInfo>` introduced in #180021 .

>From 00037f097f84e1601258f97316b0f98d8bcb233a Mon Sep 17 00:00:00 2001
From: kikairoya <kikairoya at gmail.com>
Date: Tue, 17 Feb 2026 20:46:11 +0900
Subject: [PATCH] [Clang][ssaf] Add missing instantiations of
 `Registry<JSONFormat::FormatInfo>`

This patch adds missing explicit template instantiation declaration/definition of
`llvm::Registry<clang::ssaf::JSONFormat::FormatInfo>` introduced in #180021 .
---
 .../clang/Analysis/Scalable/Serialization/JSONFormat.h       | 5 +++++
 clang/lib/Analysis/Scalable/Serialization/JSONFormat.cpp     | 4 ++++
 2 files changed, 9 insertions(+)

diff --git a/clang/include/clang/Analysis/Scalable/Serialization/JSONFormat.h b/clang/include/clang/Analysis/Scalable/Serialization/JSONFormat.h
index c10650c2133e7..bc1a84ae3b929 100644
--- a/clang/include/clang/Analysis/Scalable/Serialization/JSONFormat.h
+++ b/clang/include/clang/Analysis/Scalable/Serialization/JSONFormat.h
@@ -14,8 +14,10 @@
 #define CLANG_ANALYSIS_SCALABLE_SERIALIZATION_JSONFORMAT_H
 
 #include "clang/Analysis/Scalable/Serialization/SerializationFormat.h"
+#include "clang/Support/Compiler.h"
 #include "llvm/ADT/STLFunctionalExtras.h"
 #include "llvm/Support/JSON.h"
+#include "llvm/Support/Registry.h"
 
 namespace clang::ssaf {
 
@@ -125,4 +127,7 @@ class JSONFormat final : public SerializationFormat {
 
 } // namespace clang::ssaf
 
+extern template class CLANG_TEMPLATE_ABI
+    llvm::Registry<clang::ssaf::JSONFormat::FormatInfo>;
+
 #endif // CLANG_ANALYSIS_SCALABLE_SERIALIZATION_JSONFORMAT_H
diff --git a/clang/lib/Analysis/Scalable/Serialization/JSONFormat.cpp b/clang/lib/Analysis/Scalable/Serialization/JSONFormat.cpp
index 6f7de45e863d1..fb5cd300258e8 100644
--- a/clang/lib/Analysis/Scalable/Serialization/JSONFormat.cpp
+++ b/clang/lib/Analysis/Scalable/Serialization/JSONFormat.cpp
@@ -1,5 +1,6 @@
 #include "clang/Analysis/Scalable/Serialization/JSONFormat.h"
 #include "clang/Analysis/Scalable/TUSummary/TUSummary.h"
+#include "clang/Support/Compiler.h"
 
 #include "llvm/ADT/StringExtras.h"
 #include "llvm/Support/FileSystem.h"
@@ -19,6 +20,9 @@ using Value = llvm::json::Value;
 // ErrorBuilder - Fluent API for constructing contextual errors.
 //----------------------------------------------------------------------------
 
+template class CLANG_EXPORT_TEMPLATE
+    llvm::Registry<clang::ssaf::JSONFormat::FormatInfo>;
+
 namespace {
 
 class ErrorBuilder {



More information about the cfe-commits mailing list