| // 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) {} | |
| }; |