diff options
| author | Adam Balogh <adam.balogh@ericsson.com> | 2020-02-19 09:03:39 +0100 |
|---|---|---|
| committer | Adam Balogh <adam.balogh@ericsson.com> | 2020-03-23 15:29:55 +0100 |
| commit | 60bad941a1c1b745f570da8251f2ba9ee8b7d06e (patch) | |
| tree | bc31ff924c4578a5aa637a3d5ffa78f0488bc116 /lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.h | |
| parent | 6a4905ae2d65a2883112bf8cbf83c35c0c03f410 (diff) | |
| download | llvm-60bad941a1c1b745f570da8251f2ba9ee8b7d06e.zip llvm-60bad941a1c1b745f570da8251f2ba9ee8b7d06e.tar.gz llvm-60bad941a1c1b745f570da8251f2ba9ee8b7d06e.tar.bz2 | |
[Analyzer] Iterator Modeling - Model `std::advance()`, `std::prev()` and `std::next()`
Whenever the analyzer budget runs out just at the point where
`std::advance()`, `std::prev()` or `std::next()` is invoked the function
are not inlined. This results in strange behavior such as
`std::prev(v.end())` equals `v.end()`. To prevent this model these
functions if they were not inlined. It may also happend that although
`std::advance()` is inlined but a function it calls inside (e.g.
`__advance()` in some implementations) is not. This case is also handled
in this patch.
Differential Revision: https://reviews.llvm.org/D76361
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.h')
0 files changed, 0 insertions, 0 deletions
