669 changes: 669 additions & 0 deletions clang/lib/StaticAnalyzer/Checkers/UninitializedObjectChecker.cpp

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
// 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) {}
};
775 changes: 775 additions & 0 deletions clang/test/Analysis/cxx-uninitialized-object-inheritance.cpp

Large diffs are not rendered by default.

699 changes: 699 additions & 0 deletions clang/test/Analysis/cxx-uninitialized-object-ptr-ref.cpp

Large diffs are not rendered by default.

1,058 changes: 1,058 additions & 0 deletions clang/test/Analysis/cxx-uninitialized-object.cpp

Large diffs are not rendered by default.