[PATCH] D74973: [analyzer] StdLibraryFunctionsChecker refactor w/ inheritance
Endre Fülöp via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Thu Feb 27 03:15:04 PST 2020
gamesh411 added inline comments.
================
Comment at: clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp:151
+
+ using ValueConstraintPtr = std::shared_ptr<ValueConstraint>;
+ /// The complete list of constraints that defines a single branch.
----------------
martong wrote:
> Note here, we need a copyable, polymorphic and default initializable type (vector needs that). A raw pointer were good, however, we cannot default initialize that. unique_ptr makes the Summary class non-copyable, therefore not an option.
> Releasing the copyablitly requirement would render the initialization of the Summary map infeasible.
> Perhaps we could come up with a [[ https://www.youtube.com/watch?v=bIhUE5uUFOA | type erasure technique without inheritance ]] once we consider the shared_ptr as restriction, but for now that seems to be overkill.
std::variant (with std::monostate for the default constructibility) would also be an option (if c++17 were supported). But this is not really an issue, i agree with that.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D74973/new/
https://reviews.llvm.org/D74973
More information about the cfe-commits
mailing list