1 // Like the compiler, the static analyzer treats some functions differently if
2 // they come from a system header -- for example, it is assumed that system
3 // functions do not arbitrarily free() their parameters, and that some bugs
4 // found in system headers cannot be fixed by the user and should be
5 // suppressed.
6 
7 #pragma clang system_header
8 
9 struct RecordInSystemHeader {
10   int a;
11   int b;
12 };
13 
14 template <class T>
15 struct ContainerInSystemHeader {
16   T &t;
ContainerInSystemHeaderContainerInSystemHeader17   ContainerInSystemHeader(T& t) : t(t) {}
18 };
19