================ @@ -2285,6 +2286,68 @@ static void DiagnoseNonTriviallyCopyableReason(Sema &SemaRef, SemaRef.Diag(D->getLocation(), diag::note_defined_here) << D; } +static void DiagnoseIsEmptyReason(Sema &S, SourceLocation Loc, + const CXXRecordDecl *D) { + // Non-static data members (ignore zero-width bitāfields). + for (auto *Field : D->fields()) { + if (Field->isBitField() && Field->getBitWidthValue() == 0) + continue; + S.Diag(Loc, diag::note_unsatisfied_trait_reason) + << diag::TraitNotSatisfiedReason::NonEmptyMember << Field + << Field->getType() << Field->getSourceRange(); + } + + // Virtual functions. + for (auto *M : D->methods()) { + if (M->isVirtual()) { + S.Diag(Loc, diag::note_unsatisfied_trait_reason) + << diag::TraitNotSatisfiedReason::VirtualFunction << M->getDeclName() ---------------- AaronBallman wrote:
```suggestion << diag::TraitNotSatisfiedReason::VirtualFunction << M ``` https://github.com/llvm/llvm-project/pull/145044 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits