[PATCH] D45532: [StaticAnalyzer] Checker to find uninitialized fields after a constructor call
Umann Kristóf via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Wed Apr 11 11:06:04 PDT 2018
Szelethus created this revision.
Szelethus added reviewers: NoQ, xazax.hun, dkrupp, whisperity.
Herald added subscribers: cfe-commits, a.sidorin, rnkovacs, szepet, mgorny.
Herald added a reviewer: george.karpenkov.
This checker checks at the end of a constructor call whether all fields of the object were initialized.
Note that a significant portion of the code is for handling unions, for which there is very little support in the CSA. In most cases, all fields of a union is regarded as unknown. I checked these cases by regarding unknown fields as uninitialized.
The test files also contain checks for heap allocated objects, and heap regions are mostly conjured in the CSA, so the tests for them and unions should work theoretically, but its not 100%.
Repository:
rC Clang
https://reviews.llvm.org/D45532
Files:
include/clang/StaticAnalyzer/Checkers/Checkers.td
lib/StaticAnalyzer/Checkers/CMakeLists.txt
lib/StaticAnalyzer/Checkers/CtorUninitializedMemberChecker.cpp
test/Analysis/ctor-uninitialized-member-inheritance.cpp
test/Analysis/ctor-uninitialized-member.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D45532.142048.patch
Type: text/x-patch
Size: 54708 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20180411/24d4e526/attachment-0001.bin>
More information about the cfe-commits
mailing list