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

Reply via email to