llvmbot wrote:

<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-clang-ssaf

Author: Balázs Benics (steakhal)

<details>
<summary>Changes</summary>

We discussed internally, and for now we will focus on an MVP and try to not 
complicate APIs unless that is strictly necessary.

---
Full diff: https://github.com/llvm/llvm-project/pull/181198.diff


8 Files Affected:

- (modified) 
clang/include/clang/Analysis/Scalable/Serialization/SerializationFormat.h 
(+1-5) 
- (modified) clang/include/clang/Analysis/Scalable/TUSummary/EntitySummary.h 
(+1-4) 
- (modified) clang/lib/Analysis/Scalable/CMakeLists.txt (-2) 
- (removed) clang/lib/Analysis/Scalable/Serialization/SerializationFormat.cpp 
(-13) 
- (removed) clang/lib/Analysis/Scalable/TUSummary/EntitySummary.cpp (-11) 
- (modified) clang/unittests/Analysis/Scalable/Registries/FancyAnalysisData.cpp 
(+2-5) 
- (modified) 
clang/unittests/Analysis/Scalable/Registries/MockSerializationFormat.cpp (+1-4) 
- (modified) 
clang/unittests/Analysis/Scalable/Registries/MockSerializationFormat.h (+1-3) 


``````````diff
diff --git 
a/clang/include/clang/Analysis/Scalable/Serialization/SerializationFormat.h 
b/clang/include/clang/Analysis/Scalable/Serialization/SerializationFormat.h
index ee220b6be18a6..78e4df0eb88fe 100644
--- a/clang/include/clang/Analysis/Scalable/Serialization/SerializationFormat.h
+++ b/clang/include/clang/Analysis/Scalable/Serialization/SerializationFormat.h
@@ -18,7 +18,6 @@
 #include "clang/Analysis/Scalable/Model/SummaryName.h"
 #include "clang/Analysis/Scalable/TUSummary/TUSummary.h"
 #include "llvm/ADT/StringRef.h"
-#include "llvm/Support/ExtensibleRTTI.h"
 
 namespace clang::ssaf {
 
@@ -28,8 +27,7 @@ class EntityName;
 class EntitySummary;
 
 /// Abstract base class for serialization formats.
-class SerializationFormat
-    : public llvm::RTTIExtends<SerializationFormat, llvm::RTTIRoot> {
+class SerializationFormat {
 public:
   virtual ~SerializationFormat() = default;
 
@@ -38,8 +36,6 @@ class SerializationFormat
   virtual void writeTUSummary(const TUSummary &Summary,
                               llvm::StringRef OutputDir) = 0;
 
-  static char ID; // For RTTIExtends.
-
 protected:
   // Helpers providing access to implementation details of basic data 
structures
   // for efficient serialization/deserialization.
diff --git a/clang/include/clang/Analysis/Scalable/TUSummary/EntitySummary.h 
b/clang/include/clang/Analysis/Scalable/TUSummary/EntitySummary.h
index b5b2fe128d0c4..4bdb385d49a01 100644
--- a/clang/include/clang/Analysis/Scalable/TUSummary/EntitySummary.h
+++ b/clang/include/clang/Analysis/Scalable/TUSummary/EntitySummary.h
@@ -10,17 +10,14 @@
 #define LLVM_CLANG_ANALYSIS_SCALABLE_TUSUMMARY_ENTITYSUMMARY_H
 
 #include "clang/Analysis/Scalable/Model/SummaryName.h"
-#include "llvm/Support/ExtensibleRTTI.h"
 
 namespace clang::ssaf {
 
 /// Base class for analysis-specific summary data.
-class EntitySummary : public llvm::RTTIExtends<EntitySummary, llvm::RTTIRoot> {
+class EntitySummary {
 public:
   virtual ~EntitySummary() = default;
   virtual SummaryName getSummaryName() const = 0;
-
-  static char ID; // For RTTIExtends.
 };
 
 } // namespace clang::ssaf
diff --git a/clang/lib/Analysis/Scalable/CMakeLists.txt 
b/clang/lib/Analysis/Scalable/CMakeLists.txt
index 47fe87074d728..4145e7a521ba4 100644
--- a/clang/lib/Analysis/Scalable/CMakeLists.txt
+++ b/clang/lib/Analysis/Scalable/CMakeLists.txt
@@ -7,9 +7,7 @@ add_clang_library(clangAnalysisScalable
   Model/BuildNamespace.cpp
   Model/EntityIdTable.cpp
   Model/EntityName.cpp
-  Serialization/SerializationFormat.cpp
   Serialization/SerializationFormatRegistry.cpp
-  TUSummary/EntitySummary.cpp
   TUSummary/ExtractorRegistry.cpp
 
   LINK_LIBS
diff --git a/clang/lib/Analysis/Scalable/Serialization/SerializationFormat.cpp 
b/clang/lib/Analysis/Scalable/Serialization/SerializationFormat.cpp
deleted file mode 100644
index 07ed1157f87f0..0000000000000
--- a/clang/lib/Analysis/Scalable/Serialization/SerializationFormat.cpp
+++ /dev/null
@@ -1,13 +0,0 @@
-//===- SerializationFormat.cpp ----------------------------------*- C++ 
-*-===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM 
Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#include "clang/Analysis/Scalable/Serialization/SerializationFormat.h"
-
-using namespace clang::ssaf;
-
-char SerializationFormat::ID = 0;
diff --git a/clang/lib/Analysis/Scalable/TUSummary/EntitySummary.cpp 
b/clang/lib/Analysis/Scalable/TUSummary/EntitySummary.cpp
deleted file mode 100644
index 96ef3372b7762..0000000000000
--- a/clang/lib/Analysis/Scalable/TUSummary/EntitySummary.cpp
+++ /dev/null
@@ -1,11 +0,0 @@
-//===- EntitySummary.cpp 
--------------------------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM 
Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#include "clang/Analysis/Scalable/TUSummary/EntitySummary.h"
-
-char clang::ssaf::EntitySummary::ID = 0;
diff --git a/clang/unittests/Analysis/Scalable/Registries/FancyAnalysisData.cpp 
b/clang/unittests/Analysis/Scalable/Registries/FancyAnalysisData.cpp
index ac4e625aaf671..3f1e98199f56a 100644
--- a/clang/unittests/Analysis/Scalable/Registries/FancyAnalysisData.cpp
+++ b/clang/unittests/Analysis/Scalable/Registries/FancyAnalysisData.cpp
@@ -18,22 +18,19 @@ using SpecialFileRepresentation =
     MockSerializationFormat::SpecialFileRepresentation;
 
 namespace {
-struct FancyAnalysisData final
-    : llvm::RTTIExtends<FancyAnalysisData, EntitySummary> {
+struct FancyAnalysisData final : EntitySummary {
   SummaryName getSummaryName() const override {
     return SummaryName("FancyAnalysis");
   }
 
   std::string Text;
-  static char ID;
 };
-char FancyAnalysisData::ID = 0;
 } // namespace
 
 static SpecialFileRepresentation
 serializeFancyAnalysis(const EntitySummary &Data,
                        MockSerializationFormat &Format) {
-  const auto &FancyAnalysis = llvm::cast<FancyAnalysisData>(Data);
+  const auto &FancyAnalysis = static_cast<const FancyAnalysisData &>(Data);
   return SpecialFileRepresentation{/*MockRepresentation=*/FancyAnalysis.Text};
 }
 
diff --git 
a/clang/unittests/Analysis/Scalable/Registries/MockSerializationFormat.cpp 
b/clang/unittests/Analysis/Scalable/Registries/MockSerializationFormat.cpp
index 719db61486df5..a6d4b51178c94 100644
--- a/clang/unittests/Analysis/Scalable/Registries/MockSerializationFormat.cpp
+++ b/clang/unittests/Analysis/Scalable/Registries/MockSerializationFormat.cpp
@@ -27,10 +27,7 @@
 using namespace clang;
 using namespace ssaf;
 
-char MockSerializationFormat::ID = 0;
-
-MockSerializationFormat::MockSerializationFormat()
-    : llvm::RTTIExtends<MockSerializationFormat, SerializationFormat>() {
+MockSerializationFormat::MockSerializationFormat() {
   for (const auto &FormatInfoEntry : llvm::Registry<FormatInfo>::entries()) {
     std::unique_ptr<FormatInfo> Info = FormatInfoEntry.instantiate();
     bool Inserted = FormatInfos.try_emplace(Info->ForSummary, *Info).second;
diff --git 
a/clang/unittests/Analysis/Scalable/Registries/MockSerializationFormat.h 
b/clang/unittests/Analysis/Scalable/Registries/MockSerializationFormat.h
index 8c287c2143621..1bc37840201ea 100644
--- a/clang/unittests/Analysis/Scalable/Registries/MockSerializationFormat.h
+++ b/clang/unittests/Analysis/Scalable/Registries/MockSerializationFormat.h
@@ -12,13 +12,11 @@
 #include "clang/Analysis/Scalable/Model/SummaryName.h"
 #include "clang/Analysis/Scalable/Serialization/SerializationFormat.h"
 #include "llvm/ADT/STLFunctionalExtras.h"
-#include "llvm/Support/ExtensibleRTTI.h"
 #include <string>
 
 namespace clang::ssaf {
 
-class MockSerializationFormat final
-    : public llvm::RTTIExtends<MockSerializationFormat, SerializationFormat> {
+class MockSerializationFormat final : public SerializationFormat {
 public:
   MockSerializationFormat();
 

``````````

</details>


https://github.com/llvm/llvm-project/pull/181198
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to