================
@@ -86,20 +90,30 @@ class UnsafeBufferUsageEntitySummary final : public
EntitySummary {
const EntityPointerLevelSet UnsafeBuffers;
friend class UnsafeBufferUsageTUSummaryExtractor;
+ friend UnsafeBufferUsageEntitySummary
+ buildUnsafeBufferUsageEntitySummary(EntityPointerLevelSet);
+ friend llvm::iterator_range<EntityPointerLevelSet::const_iterator>
+ getUnsafeBuffers(const UnsafeBufferUsageEntitySummary &);
UnsafeBufferUsageEntitySummary(EntityPointerLevelSet UnsafeBuffers)
: EntitySummary(), UnsafeBuffers(std::move(UnsafeBuffers)) {}
public:
- SummaryName getSummaryName() const override {
- return SummaryName{"UnsafeBufferUsage"};
- };
+ static constexpr llvm::StringLiteral Name = "UnsafeBufferUsage";
+
+ SummaryName getSummaryName() const override { return summaryName(); };
bool operator==(const EntityPointerLevelSet &Other) const {
return UnsafeBuffers == Other;
}
+ bool operator==(const UnsafeBufferUsageEntitySummary &Other) const {
+ return UnsafeBuffers == Other.UnsafeBuffers;
+ }
+
bool empty() const { return UnsafeBuffers.empty(); }
+
+ static SummaryName summaryName() { return SummaryName{Name.data()}; }
----------------
steakhal wrote:
Grabbing the inner null-terminated ptr has the downside that to construct a new
std::string, it needs to scan for that terminator again.
By using the explicit `str` conversion function that directly passes the
`size()` internally, thus it's more efficient. Not that it matters, but it's
also more conventional.
```suggestion
static SummaryName summaryName() { return SummaryName{Name.str()}; }
```
https://github.com/llvm/llvm-project/pull/187156
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits