// Like the compiler, the static analyzer treats some functions differently if | |
// they come from a system header -- for example, it is assumed that system | |
// functions do not arbitrarily free() their parameters, and that some bugs | |
// found in system headers cannot be fixed by the user and should be | |
// suppressed. | |
#pragma clang system_header | |
struct RecordInSystemHeader { | |
int a; | |
int b; | |
}; | |
template <class T> | |
struct ContainerInSystemHeader { | |
T &t; | |
ContainerInSystemHeader(T& t) : t(t) {} | |
}; |