[PATCH] D61817: [analyzer] Add a prunable note for skipping virtual base initializers in subclasses.

Artem Dergachev via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri May 10 20:22:36 PDT 2019


NoQ created this revision.
NoQ added reviewers: dcoughlin, xazax.hun, a_sidorin, rnkovacs, mikhail.ramalho, Szelethus, baloghadamsoftware, Charusso.
Herald added subscribers: cfe-commits, dkrupp, donat.nagy, a.sidorin, szepet.
Herald added a project: clang.
NoQ updated this revision to Diff 199121.
NoQ added a comment.
NoQ added a parent revision: D61816: [CFG] [analyzer] pr41300: Add a branch to skip virtual base initializers when they are handled by the superclass..

Fix formatting in tests.


When initialization of base classes is skipped as in D61816 <https://reviews.llvm.org/D61816>, we might as well tell the user about it, because this aspect of C++ isn't very well-known.

I used the new note tags feature (D58367 <https://reviews.llvm.org/D58367>) in order to implement it. In order to make use of it, i had to allow note tags to produce prunable notes, and i also moved the note tag factory to `CoreEngine`.


https://reviews.llvm.org/D61817

Files:
  clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h
  clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
  clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
  clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
  clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
  clang/lib/StaticAnalyzer/Core/PathDiagnostic.cpp
  clang/test/Analysis/diagnostics/initializer.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D61817.199121.patch
Type: text/x-patch
Size: 8116 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20190511/289f71cc/attachment.bin>


More information about the cfe-commits mailing list