Hi Galina,
Hmm, this sounds strange to me, because this commit has been instantly
reverted three days ago (replaced with correct code later), and current
errors on this buildbot do not seem to be related.
On 10/10/16 9:36 PM, Galina Kistanova wrote:
Hi Artem,
This revision broke one our our builders:
http://lab.llvm.org:8011/builders/clang-x86_64-linux-abi-test/builds/21910
Please have a look at it.
Thanks
Galina
On Fri, Oct 7, 2016 at 4:26 AM, Artem Dergachev via cfe-commits
<cfe-commits@lists.llvm.org <mailto:cfe-commits@lists.llvm.org>> wrote:
Author: dergachev
Date: Fri Oct 7 06:26:15 2016
New Revision: 283540
URL: http://llvm.org/viewvc/llvm-project?rev=283540&view=rev
<http://llvm.org/viewvc/llvm-project?rev=283540&view=rev>
Log:
[analyzer] Re-apply r283092, attempt no.3, in small chunks this time.
Modified:
cfe/trunk/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h
Modified:
cfe/trunk/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h
URL:
http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h?rev=283540&r1=283539&r2=283540&view=diff
<http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h?rev=283540&r1=283539&r2=283540&view=diff>
==============================================================================
---
cfe/trunk/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h
(original)
+++
cfe/trunk/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h
Fri Oct 7 06:26:15 2016
@@ -66,6 +66,7 @@ public:
typedef SmallVector<std::unique_ptr<BugReporterVisitor>, 8>
VisitorList;
typedef VisitorList::iterator visitor_iterator;
typedef SmallVector<StringRef, 2> ExtraTextList;
+ typedef SmallVector<const PathDiagnosticNotePiece *, 4> NoteList;
protected:
friend class BugReporter;
@@ -82,7 +83,8 @@ protected:
const ExplodedNode *ErrorNode;
SmallVector<SourceRange, 4> Ranges;
ExtraTextList ExtraText;
-
+ NoteList Notes;
+
typedef llvm::DenseSet<SymbolRef> Symbols;
typedef llvm::DenseSet<const MemRegion *> Regions;
@@ -177,6 +179,18 @@ public:
const BugType& getBugType() const { return BT; }
BugType& getBugType() { return BT; }
+ /// \brief True when the report has an execution path
associated with it.
+ ///
+ /// A report is said to be path-sensitive if it was thrown
against a
+ /// particular exploded node in the path-sensitive analysis graph.
+ /// Path-sensitive reports have their intermediate path diagnostics
+ /// auto-generated, perhaps with the help of checker-defined
visitors,
+ /// and may contain extra notes.
+ /// Path-insensitive reports consist only of a single warning
message
+ /// in a specific location, and perhaps extra notes.
+ /// Path-sensitive checkers are allowed to throw
path-insensitive reports.
+ bool isPathSensitive() const { return ErrorNode != nullptr; }
+
const ExplodedNode *getErrorNode() const { return ErrorNode; }
StringRef getDescription() const { return Description; }
@@ -245,7 +259,26 @@ public:
void setDeclWithIssue(const Decl *declWithIssue) {
DeclWithIssue = declWithIssue;
}
-
+
+ /// Add new item to the list of additional notes that need to
be attached to
+ /// this path-insensitive report. If you want to add extra
notes to a
+ /// path-sensitive report, you need to use a BugReporterVisitor
because it
+ /// allows you to specify where exactly in the auto-generated
path diagnostic
+ /// the extra note should appear.
+ void addNote(StringRef Msg, const PathDiagnosticLocation &Pos,
+ ArrayRef<SourceRange> Ranges = {}) {
+ auto *P = new PathDiagnosticNotePiece(Pos, Msg);
+
+ for (const auto &R : Ranges)
+ P->addRange(R);
+
+ Notes.push_back(P);
+ }
+
+ virtual const NoteList &getNotes() {
+ return Notes;
+ }
+
/// \brief This allows for addition of meta data to the diagnostic.
///
/// Currently, only the HTMLDiagnosticClient knows how to
display it.
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org <mailto:cfe-commits@lists.llvm.org>
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
<http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits>
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits