clang 23.0.0git
UnsafeBufferUsageAnalysis.h
Go to the documentation of this file.
1//===- UnsafeBufferUsageAnalysis.h ------------------------------*- C++ -*-===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8//
9// Defines UnsafeBufferUsageAnalysisResult, the whole-program analysis result
10// type for UnsafeBufferUsageAnalysis.
11//
12//===----------------------------------------------------------------------===//
13
14#ifndef LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_ANALYSES_UNSAFEBUFFERUSAGE_UNSAFEBUFFERUSAGEANALYSIS_H
15#define LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_ANALYSES_UNSAFEBUFFERUSAGE_UNSAFEBUFFERUSAGEANALYSIS_H
16
21#include "llvm/ADT/StringRef.h"
22#include <map>
23
24namespace clang::ssaf {
25
26constexpr llvm::StringLiteral UnsafeBufferUsageAnalysisResultName =
27 "UnsafeBufferUsageAnalysisResult";
28
33
34 /// Whole-program set of unsafe buffer pointers:
35 std::map<EntityId, EntityPointerLevelSet> UnsafeBuffers;
36
37 auto begin() const { return UnsafeBuffers.begin(); }
38 auto end() const { return UnsafeBuffers.end(); }
39};
40
41} // namespace clang::ssaf
42
43#endif // LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_ANALYSES_UNSAFEBUFFERUSAGE_UNSAFEBUFFERUSAGEANALYSIS_H
Uniquely identifies a whole-program analysis and the AnalysisResult it produces.
Base class for whole-program analysis results.
constexpr llvm::StringLiteral UnsafeBufferUsageAnalysisResultName
std::map< EntityId, EntityPointerLevelSet > UnsafeBuffers
Whole-program set of unsafe buffer pointers: