[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 12:31:35 PDT 2024
================
@@ -4561,6 +4569,13 @@ static void TryConstructorInitialization(Sema &S,
CXXConstructorDecl *CtorDecl = cast<CXXConstructorDecl>(Best->Function);
if (Result != OR_Deleted) {
+ if (!IsListInit && Kind.getKind() == InitializationKind::IK_Default &&
----------------
higher-performance wrote:
> I'm not sure how the `RecordDecl` itself can contain the information as to whether this initialization is initializing everything necessary
It is **default**-initialization that conveys this information. If you have required fields, and you're **default**-initializing, then you're omitting initializers for those fields. Am I missing something?
https://github.com/llvm/llvm-project/pull/102040
More information about the cfe-commits
mailing list