reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

include/llvm/Support/PointerLikeTypeTraits.h
   56   static inline void *getAsVoidPointer(T *P) { return P; }
   57   static inline T *getFromVoidPointer(void *P) { return static_cast<T *>(P); }
   59   enum { NumLowBitsAvailable = detail::ConstantLog2<alignof(T)>::value };
   91   typedef PointerLikeTypeTraits<T *> NonConst;
   93   static inline const void *getAsVoidPointer(const T *P) {
   96   static inline const T *getFromVoidPointer(const void *P) {
tools/clang/include/clang/Analysis/PathDiagnostic.h
  457   void flattenTo(PathPieces &Primary, PathPieces &Current,
  457   void flattenTo(PathPieces &Primary, PathPieces &Current,
  461   PathPieces flatten(bool ShouldFlattenMacros) const {
  462     PathPieces Result;
  546   PathDiagnosticCallPiece(PathPieces &oldPath, const Decl *caller)
  554   PathPieces path;
  584   static PathDiagnosticCallPiece *construct(PathPieces &pieces,
  672   PathPieces subPieces;
  739   PathPieces pathImpl;
  740   SmallVector<PathPieces *, 3> pathStack;
  759   const PathPieces &path;
  763   PathPieces &getActivePath() {
  770   PathPieces &getMutablePieces() {
  777   void pushActivePath(PathPieces *p) { pathStack.push_back(p); }
tools/clang/lib/Analysis/PathDiagnostic.cpp
   81 void PathPieces::flattenTo(PathPieces &Primary, PathPieces &Current,
   81 void PathPieces::flattenTo(PathPieces &Primary, PathPieces &Current,
  100         PathPieces NewPath;
  156     SmallVector<const PathPieces *, 5> WorkList;
  166       const PathPieces &path = *WorkList.pop_back_val();
  228 static Optional<bool> comparePath(const PathPieces &X, const PathPieces &Y);
  228 static Optional<bool> comparePath(const PathPieces &X, const PathPieces &Y);
  312 static Optional<bool> comparePath(const PathPieces &X, const PathPieces &Y) {
  312 static Optional<bool> comparePath(const PathPieces &X, const PathPieces &Y) {
  316   PathPieces::const_iterator X_I = X.begin(), X_end = X.end();
  317   PathPieces::const_iterator Y_I = Y.begin(), Y_end = Y.end();
  842 PathDiagnosticCallPiece::construct(PathPieces &path,
 1049 static void compute_path_size(const PathPieces &pieces, unsigned &size) {
 1135   for (PathPieces::const_iterator I = begin(), E = end(); I != E; ++I) {
tools/clang/lib/StaticAnalyzer/Core/BugReporter.cpp
  106     llvm::DenseMap<const PathPieces *, const LocationContext *>;
  171   void updateLocCtxMap(const PathPieces *Path, const LocationContext *LC) {
  176   const LocationContext *getLocationContextFor(const PathPieces *Path) const {
  182   bool isInLocCtxMap(const PathPieces *Path) const { return LCM.count(Path); }
  184   PathPieces &getActivePath() { return PD->getActivePath(); }
  185   PathPieces &getMutablePieces() { return PD->getMutablePieces(); }
  368 static void removeRedundantMsgs(PathPieces &path) {
  419                                 PathPieces &pieces,
  471 static void removePopUpNotes(PathPieces &Path) {
  490 adjustCallLocations(PathPieces &Pieces,
  523 static void removeEdgesToDefaultInitializers(PathPieces &Pieces) {
  524   for (PathPieces::iterator I = Pieces.begin(), E = Pieces.end(); I != E;) {
  538         PathPieces::iterator Next = std::next(I);
  557 static void removePiecesWithInvalidLocations(PathPieces &Pieces) {
  558   for (PathPieces::iterator I = Pieces.begin(), E = Pieces.end(); I != E;) {
  734 static void CompactMacroExpandedPieces(PathPieces &path,
 1075 static void addEdgeToPath(PathPieces &path,
 1410 static void addContextEdges(PathPieces &pieces, const LocationContext *LC) {
 1412   PathPieces::iterator Prev = pieces.end();
 1413   for (PathPieces::iterator I = pieces.begin(), E = Prev; I != E;
 1491 static void simplifySimpleBranches(PathPieces &pieces) {
 1492   for (PathPieces::iterator I = pieces.begin(), E = pieces.end(); I != E; ++I) {
 1504     PathPieces::iterator NextI = I; ++NextI;
 1612 static void removeContextCycles(PathPieces &Path, const SourceManager &SM) {
 1613   for (PathPieces::iterator I = Path.begin(), E = Path.end(); I != E; ) {
 1625     PathPieces::iterator NextI = I; ++NextI;
 1677 static void removePunyEdges(PathPieces &path, const SourceManager &SM,
 1681   for (PathPieces::iterator I = path.begin(), E = path.end(); I != E;
 1730 static void removeIdenticalEvents(PathPieces &path) {
 1731   for (PathPieces::iterator I = path.begin(), E = path.end(); I != E; ++I) {
 1737     PathPieces::iterator NextI = I; ++NextI;
 1753 static bool optimizeEdges(const PathDiagnosticConstruct &C, PathPieces &path,
 1761   for (PathPieces::iterator I = path.begin(), E = path.end(); I != E; ) {
 1788     PathPieces::iterator NextI = I; ++NextI;
 1936                                   PathPieces &Path) {
 1954   PathPieces path = PD.path.flatten(/*ShouldFlattenMacros=*/true);
 2599 static void CompactMacroExpandedPieces(PathPieces &path,
 2609   for (PathPieces::const_iterator I = path.begin(), E = path.end();
 3013     PathPieces &Pieces = PD->getMutablePieces();
 3145   const PathPieces &Path = CP->path;
tools/clang/lib/StaticAnalyzer/Core/HTMLDiagnostics.cpp
  106                            const SourceManager& SMgr, const PathPieces& path,
  111                     const SourceManager& SMgr, const PathPieces& path,
  115   void RewriteFile(Rewriter &R, const PathPieces& path, FileID FID);
  127     const PathDiagnostic &D, const PathPieces &path);
  131                         const PathPieces &path,
  179   PathPieces path = D.path.flatten(/*ShouldFlattenMacros=*/false);
  272     const SourceManager& SMgr, const PathPieces& path, const char *declName) {
  346     const PathPieces &path,
  371       const PathDiagnostic &D, const PathPieces &path) {
  436     const SourceManager& SMgr, const PathPieces& path, FileID FID,
  657                                   const PathPieces& path, FileID FID) {
tools/clang/lib/StaticAnalyzer/Core/PlistDiagnostics.cpp
  171                          const PathPieces &Path);
  365   for (PathPieces::const_iterator I = P.path.begin(), E = P.path.end();I!=E;++I)
  382   for (PathPieces::const_iterator I = P.subPieces.begin(),
  526                          const PathPieces &Path) {
  534   PathPieces::const_iterator FirstNonNote = std::partition_point(
  539   PathPieces::const_iterator I = Path.begin();
  555   for (PathPieces::const_iterator E = Path.end(); I != E; ++I)
  619     SmallVector<const PathPieces *, 5> WorkList;
  623       const PathPieces &Path = *WorkList.pop_back_val();
tools/clang/lib/StaticAnalyzer/Core/SarifDiagnostics.cpp
  216 static json::Object createThreadFlow(const PathPieces &Pieces,
  233 static json::Object createCodeFlow(const PathPieces &Pieces,
  242   const PathPieces &Path = Diag.path.flatten(false);
tools/clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
  158       PathPieces FlatPath = PD->path.flatten(/*ShouldFlattenMacros=*/true);