[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