[clang] Add Clang attribute to ensure that fields are initialized explicitly (PR #102040)

Ilya Biryukov via cfe-commits cfe-commits at lists.llvm.org
Fri Sep 13 05:15:34 PDT 2024


================
@@ -743,6 +743,12 @@ void InitListChecker::FillInEmptyInitForField(unsigned Init, FieldDecl *Field,
         ILE->updateInit(SemaRef.Context, Init, Filler);
       return;
     }
+
+    if (Field->hasAttr<ExplicitInitAttr>()) {
+      SemaRef.Diag(ILE->getExprLoc(), diag::warn_field_requires_explicit_init)
----------------
ilya-biryukov wrote:

Your other comment seems right.

`InitListChecker` should not produce any diagnostics when `VerifyOnly == true`, so we should only report the warning when the flag is false.

https://github.com/llvm/llvm-project/pull/102040


More information about the cfe-commits mailing list