llvm-project/clang/test/Analysis/Inputs/no-store-suppression.h
Artem Dergachev 5c6fc36de8 [analyzer] NoStoreFuncVisitor: Suppress reports with no-store in system headers.
The idea behind this heuristic is that normally the visitor is there to
inform the user that a certain function may fail to initialize a certain
out-parameter. For system header functions this is usually dictated by the
contract, and it's unlikely that the header function has accidentally
forgot to put the value into the out-parameter; it's more likely
that the user has intentionally skipped the error check.

Warnings on skipped error checks are more like security warnings;
they aren't necessarily useful for all users, and they should instead
be introduced on a per-API basis.

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

llvm-svn: 357810
2019-04-05 20:18:53 +00:00

18 lines
231 B
C++

#pragma clang system_header
namespace std {
class istream {
public:
bool is_eof();
char get_char();
};
istream &operator>>(istream &is, char &c) {
if (is.is_eof())
return;
c = is.get_char();
}
extern istream cin;
};