[PATCH] D78374: [Analyzer][StreamChecker] Added evaluation of fread and fwrite.
Kristóf Umann via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Sun Apr 19 10:41:31 PDT 2020
Szelethus added inline comments.
================
Comment at: clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp:222
{StreamState::FEof, StreamState::FError, StreamState::NoError}}},
- {{"ftell", 1}, {&StreamChecker::preDefault, nullptr, 0, {}}},
+ // Note: ftell sets errno only.
+ {{"ftell", 1},
----------------
Szelethus wrote:
> C'99 standard [[ http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1256.pdf | §7.19.9.4.3]], about the `ftell function`:
>
> > If successful, the `ftell` function returns the current value of the file position indicator for the stream. On failure, the `ftell` function returns `-1L` and stores an implementation-defined positive value in `errno`.
>
> So we need an evalCall for this.
I mean, this function can only fail if the stream itself is an erroneous or closed state, right? So we can associate the -1 return value with the stream being in that, and the other with the stream being opened.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D78374/new/
https://reviews.llvm.org/D78374
More information about the cfe-commits
mailing list