[clang-tools-extra] Adding an initial version of the "Initialized Class Members" checker. (PR #65189)
via cfe-commits
cfe-commits at lists.llvm.org
Fri Sep 1 17:18:01 PDT 2023
================
@@ -0,0 +1,32 @@
+.. title:: clang-tidy - google-cpp-init-class-members
+
+google-cpp-init-class-members
+=============================
+
+Checks that class members are initialized in constructors (implicitly or
+explicitly). Reports constructors or classes where class members are not
+initialized. The goal of this checker is to eliminate UUM (Use of
+Uninitialized Memory) bugs caused by uninitialized class members.
+
+This checker is different from ProTypeMemberInitCheck in that this checker
+attempts to eliminate UUMs as a bug class, at the expense of false
+positives.
+
+This checker is WIP. We are incrementally adding features and increasing
+coverage until we get to a shape that is acceptable.
+
+For now, this checker reports `X` in the following two patterns:
+
+.. code-block:: c++
+ class SomeClass {
+ public:
+ SomeClass() = default;
+
+ private:
+ int X;
+ };
+
+.. code-block:: c++
+ struct SomeStruct {
+ int X;
+ };
----------------
EugeneZelenko wrote:
It'll be good idea to add link to relevant Coding Guidelines.
https://github.com/llvm/llvm-project/pull/65189
More information about the cfe-commits
mailing list