]> granicus.if.org Git - clang/commit
[analyzer] Add a prunable note for skipping vbase inits in subclasses.
authorArtem Dergachev <artem.dergachev@gmail.com>
Fri, 24 May 2019 23:37:11 +0000 (23:37 +0000)
committerArtem Dergachev <artem.dergachev@gmail.com>
Fri, 24 May 2019 23:37:11 +0000 (23:37 +0000)
commitf0a581288ca88a95df6b090a740154f204a8aec7
tree43b349890175c6b9b304147cf6f23597211be06e
parent46470dfbaea8fa183182b9213f8b5735cd2e23d3
[analyzer] Add a prunable note for skipping vbase inits in subclasses.

When initialization of virtual base classes is skipped, we now tell the user
about it, because this aspect of C++ isn't very well-known.

The implementation is based on the new "note tags" feature (r358781).
In order to make use of it, allow note tags to produce prunable notes,
and move the note tag factory to CoreEngine.

Differential Revision: https://reviews.llvm.org/D61817

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@361682 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h
include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
lib/StaticAnalyzer/Core/CoreEngine.cpp
lib/StaticAnalyzer/Core/PathDiagnostic.cpp
test/Analysis/diagnostics/initializer.cpp [new file with mode: 0644]