[clang] Add Clang attribute to ensure that fields are initialized explicitly (PR #102040)
    via cfe-commits 
    cfe-commits at lists.llvm.org
       
    Fri Sep 27 10:28:46 PDT 2024
    
    
  
================
@@ -4561,6 +4569,15 @@ static void TryConstructorInitialization(Sema &S,
 
   CXXConstructorDecl *CtorDecl = cast<CXXConstructorDecl>(Best->Function);
   if (Result != OR_Deleted) {
+    if (!IsListInit && Kind.getKind() == InitializationKind::IK_Default &&
+        DestRecordDecl != nullptr && DestRecordDecl->isAggregate() &&
+        DestRecordDecl->hasUninitializedExplicitInitFields()) {
+      S.Diag(Kind.getLocation(), diag::warn_field_requires_explicit_init)
+          << ("in " +
----------------
higher-performance wrote:
Thanks, I wasn't familiar with that! Fixed it, please see update.
https://github.com/llvm/llvm-project/pull/102040
    
    
More information about the cfe-commits
mailing list