summaryrefslogtreecommitdiff
path: root/lib/StaticAnalyzer/Checkers/UninitializedObject
diff options
context:
space:
mode:
authorKristof Umann <dkszelethus@gmail.com>2018-08-21 10:47:19 +0000
committerKristof Umann <dkszelethus@gmail.com>2018-08-21 10:47:19 +0000
commit1bdc37d05e4168133ce7d9f6cacb3bda4503ea0f (patch)
tree8f795b5fb250a0a347930f836388119f50d8f62c /lib/StaticAnalyzer/Checkers/UninitializedObject
parent01b8a31de3dd9bff1094a19749e920a1bd1f8e45 (diff)
downloadclang-1bdc37d05e4168133ce7d9f6cacb3bda4503ea0f.tar.gz
[analyzer][UninitializedObjectChecker] Added documentation to the checker list
Differential Revision: https://reviews.llvm.org/D50904 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@340266 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/StaticAnalyzer/Checkers/UninitializedObject')
-rw-r--r--lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObjectChecker.cpp12
1 files changed, 0 insertions, 12 deletions
diff --git a/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObjectChecker.cpp b/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObjectChecker.cpp
index 5e39cc18f2..2281d66847 100644
--- a/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObjectChecker.cpp
+++ b/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObjectChecker.cpp
@@ -286,18 +286,6 @@ bool FindUninitializedFields::isNonUnionUninit(const TypedValueRegion *R,
}
// Checking bases.
- // FIXME: As of now, because of `willObjectBeAnalyzedLater`, objects whose
- // type is a descendant of another type will emit warnings for uninitalized
- // inherited members.
- // This is not the only way to analyze bases of an object -- if we didn't
- // filter them out, and didn't analyze the bases, this checker would run for
- // each base of the object in order of base initailization and in theory would
- // find every uninitalized field. This approach could also make handling
- // diamond inheritances more easily.
- //
- // This rule (that a descendant type's cunstructor is responsible for
- // initializing inherited data members) is not obvious, and should it should
- // be.
const auto *CXXRD = dyn_cast<CXXRecordDecl>(RD);
if (!CXXRD)
return ContainsUninitField;