diff options
author | Gabor Marton <gabor.marton@ericsson.com> | 2020-03-17 13:17:07 +0100 |
---|---|---|
committer | Gabor Marton <gabor.marton@ericsson.com> | 2020-03-17 13:25:32 +0100 |
commit | c6b8484e855bffb0a7da487cd715cef774a46fb1 (patch) | |
tree | 948258c944c43224c75d6b59521b0524e5916b71 /llvm/lib/CodeGen/CommandFlags.cpp | |
parent | 506406c4d59267497d4ac358b49e32b4d2f72119 (diff) | |
download | llvm-c6b8484e855bffb0a7da487cd715cef774a46fb1.zip llvm-c6b8484e855bffb0a7da487cd715cef774a46fb1.tar.gz llvm-c6b8484e855bffb0a7da487cd715cef774a46fb1.tar.bz2 |
[analyzer] StdLibraryFunctionsChecker refactor w/ inheritance
Summary:
Currently, ValueRange is very hard to extend with new kind of constraints.
For instance, it forcibly encapsulates relations between arguments and the
return value (ComparesToArgument) besides handling the regular value
ranges (OutOfRange, WithinRange).
ValueRange in this form is not suitable to add new constraints on
arguments like "not-null".
This refactor introduces a new base class ValueConstraint with an
abstract apply function. Descendants must override this. There are 2
descendants: RangeConstraint and ComparisonConstraint. In the following
patches I am planning to add the NotNullConstraint, and additional
virtual functions like `negate()` and `warning()`.
Reviewers: NoQ, Szelethus, balazske, gamesh411, baloghadamsoftware, steakhal
Subscribers: whisperity, xazax.hun, szepet, rnkovacs, a.sidorin, mikhail.ramalho, donat.nagy, dkrupp, Charusso, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D74973
Diffstat (limited to 'llvm/lib/CodeGen/CommandFlags.cpp')
0 files changed, 0 insertions, 0 deletions