Skip to content

Commit a5c12ac

Browse files
authored
[clang][SSAF] Add missing explicit to single-argument constructors (#193052)
This PR adds `explicit` to `TUSummary`, `UnsafeBufferUsageTUSummaryExtractor`, and `UnsafeBufferUsageEntitySummary` constructors. This ensures uniform use of `explicit` for all SSAF single-argument constructors.
1 parent f3109e2 commit a5c12ac

6 files changed

Lines changed: 10 additions & 8 deletions

File tree

clang/include/clang/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsage.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ class UnsafeBufferUsageEntitySummary final : public EntitySummary {
2929
friend llvm::iterator_range<EntityPointerLevelSet::const_iterator>
3030
getUnsafeBuffers(const UnsafeBufferUsageEntitySummary &);
3131

32-
UnsafeBufferUsageEntitySummary(EntityPointerLevelSet UnsafeBuffers)
32+
explicit UnsafeBufferUsageEntitySummary(EntityPointerLevelSet UnsafeBuffers)
3333
: EntitySummary(), UnsafeBuffers(std::move(UnsafeBuffers)) {}
3434

3535
public:

clang/include/clang/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageExtractor.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
namespace clang::ssaf {
2020
class UnsafeBufferUsageTUSummaryExtractor : public TUSummaryExtractor {
2121
public:
22-
UnsafeBufferUsageTUSummaryExtractor(TUSummaryBuilder &Builder)
22+
explicit UnsafeBufferUsageTUSummaryExtractor(TUSummaryBuilder &Builder)
2323
: TUSummaryExtractor(Builder) {}
2424

2525
EntityId addEntity(EntityName EN) { return SummaryBuilder.addEntity(EN); }

clang/include/clang/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummary.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,8 @@ class TUSummary {
3333
Data;
3434

3535
public:
36-
TUSummary(BuildNamespace TUNamespace) : TUNamespace(std::move(TUNamespace)) {}
36+
explicit TUSummary(BuildNamespace TUNamespace)
37+
: TUNamespace(std::move(TUNamespace)) {}
3738

3839
friend class SerializationFormat;
3940
friend class TestFixture;

clang/unittests/ScalableStaticAnalysisFramework/Analyses/CallGraph/CallGraphExtractorTest.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -123,8 +123,8 @@ template <typename... Matchers> auto hasSummaryThat(const Matchers &...Ms) {
123123
static const SummaryName CallGraphName{CallGraphSummary::Name.str()};
124124

125125
struct CallGraphExtractorTest : ssaf::TestFixture {
126-
TUSummary Summary =
127-
BuildNamespace(BuildNamespaceKind::CompilationUnit, "Mock.cpp");
126+
TUSummary Summary{
127+
BuildNamespace(BuildNamespaceKind::CompilationUnit, "Mock.cpp")};
128128
TUSummaryBuilder Builder = TUSummaryBuilder(Summary);
129129

130130
/// Creates the AST and extractor, then extracts the summaries from the AST.

clang/unittests/ScalableStaticAnalysisFramework/Registries/SummaryExtractorRegistryTest.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,8 @@ using namespace ssaf;
2121

2222
[[nodiscard]]
2323
static TUSummary makeFakeSummary() {
24-
return BuildNamespace(BuildNamespaceKind::CompilationUnit, "Mock.cpp");
24+
return TUSummary(
25+
BuildNamespace(BuildNamespaceKind::CompilationUnit, "Mock.cpp"));
2526
}
2627

2728
namespace {

clang/unittests/ScalableStaticAnalysisFramework/TUSummaryBuilderTest.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -91,8 +91,8 @@ void PrintTo(const MockSummaryData3 &S, std::ostream *OS) {
9191
}
9292

9393
struct TUSummaryBuilderTest : ssaf::TestFixture {
94-
TUSummary Summary =
95-
BuildNamespace(BuildNamespaceKind::CompilationUnit, "Mock.cpp");
94+
TUSummary Summary{
95+
BuildNamespace(BuildNamespaceKind::CompilationUnit, "Mock.cpp")};
9696
TUSummaryBuilder Builder = TUSummaryBuilder(this->Summary);
9797

9898
[[nodiscard]] static SmallVector<SummaryName>

0 commit comments

Comments
 (0)