Lines Matching refs:FD
420 static bool functionDeclHasDefaultArgument(const FunctionDecl *FD) {
421 for (unsigned NumParams = FD->getNumParams(); NumParams > 0; --NumParams) {
422 const ParmVarDecl *PVD = FD->getParamDecl(NumParams-1);
712 void Sema::CheckCXXDefaultArguments(FunctionDecl *FD) {
713 unsigned NumParams = FD->getNumParams();
718 ParmVarDecl *Param = FD->getParamDecl(p);
731 ParmVarDecl *Param = FD->getParamDecl(p);
753 ParmVarDecl *Param = FD->getParamDecl(p);
765 const FunctionDecl *FD) {
767 const FunctionProtoType *FT = FD->getType()->getAs<FunctionProtoType>();
771 const ParmVarDecl *PD = FD->getParamDecl(ArgIndex);
777 isa<CXXConstructorDecl>(FD)))
1208 if (FieldDecl *FD = I->getMember())
1209 Inits.insert(FD);
1982 static bool InitializationHasSideEffects(const FieldDecl &FD) {
1983 const Type *T = FD.getType()->getBaseElementTypeUnsafe();
2254 FieldDecl *FD = cast<FieldDecl>(Member);
2255 FieldCollector->Add(FD);
2257 if (!Diags.isIgnored(diag::warn_unused_private_field, FD->getLocation())) {
2260 if (!FD->isImplicit() && FD->getDeclName() &&
2261 FD->getAccess() == AS_private &&
2262 !FD->hasAttr<UnusedAttr>() &&
2263 !FD->getParent()->isDependentContext() &&
2264 !InitializationHasSideEffects(*FD))
2265 UnusedPrivateFields.insert(FD);
2308 FieldDecl *FD = dyn_cast<FieldDecl>(ME->getMemberDecl());
2309 if (!FD)
2311 Fields.push_back(FD);
2312 if (FD->getType()->isReferenceType())
2361 if (FieldDecl *FD = dyn_cast<FieldDecl>(SubME->getMemberDecl()))
2362 if (!FD->isAnonymousStructOrUnion())
2552 if (FunctionDecl *FD = E->getDirectCallee()) {
2553 if (FD->isInStdNamespace() && FD->getIdentifier() &&
2554 FD->getIdentifier()->isStr("move")) {
2580 if (FieldDecl *FD = dyn_cast<FieldDecl>(ME->getMemberDecl()))
2581 if (!FD->getType()->isReferenceType())
2582 DeclsToRemove.push_back(FD);
2636 if (auto *FD = dyn_cast<FieldDecl>(I)) {
2637 UninitializedFields.insert(FD);
2698 FieldDecl *FD = dyn_cast<FieldDecl>(D);
2699 assert((isa<MSPropertyDecl>(D) || FD->getInClassInitStyle() != ICIS_NoInit) &&
2704 if (FD)
2705 FD->removeInClassInitializer();
2710 FD->setInvalidDecl();
2711 FD->removeInClassInitializer();
2716 if (!FD->getType()->isDependentType() && !InitExpr->isTypeDependent()) {
2717 InitializedEntity Entity = InitializedEntity::InitializeMember(FD);
2718 InitializationKind Kind = FD->getInClassInitStyle() == ICIS_ListInit
2724 FD->setInvalidDecl();
2734 FD->setInvalidDecl();
2740 FD->setInClassInitializer(InitExpr);
3890 FieldDecl *FD = dyn_cast<FieldDecl>(C);
3891 if (FD && FD->getParent()->isUnion())
3893 FD->getParent()->getCanonicalDecl(), FD->getCanonicalDecl()));
3895 } else if (FieldDecl *FD = Member->getMember()) {
3896 if (FD->getParent()->isUnion())
3898 FD->getParent()->getCanonicalDecl(), FD->getCanonicalDecl()));
4624 FunctionDecl *FD = cast<FunctionTemplateDecl>(D)->getTemplatedDecl();
4625 CheckAbstractClassUsage(Info, cast<CXXMethodDecl>(FD));
4629 FieldDecl *FD = cast<FieldDecl>(D);
4630 if (TypeSourceInfo *TSI = FD->getTypeSourceInfo())
4631 Info.CheckType(FD, TSI->getTypeLoc(), Sema::AbstractFieldType);
5630 bool shouldDeleteForField(FieldDecl *FD);
5788 bool SpecialMemberDeletionInfo::shouldDeleteForField(FieldDecl *FD) {
5789 QualType FieldType = S.Context.getBaseElementType(FD->getType());
5795 if (FieldType->isReferenceType() && !FD->hasInClassInitializer()) {
5797 S.Diag(FD->getLocation(), diag::note_deleted_default_ctor_uninit_field)
5798 << !!ICI << MD->getParent() << FD << FieldType << /*Reference*/0;
5806 !FD->hasInClassInitializer() &&
5809 S.Diag(FD->getLocation(), diag::note_deleted_default_ctor_uninit_field)
5810 << !!ICI << MD->getParent() << FD << FD->getType() << /*Const*/1;
5821 S.Diag(FD->getLocation(), diag::note_deleted_copy_ctor_rvalue_reference)
5822 << MD->getParent() << FD << FieldType;
5829 S.Diag(FD->getLocation(), diag::note_deleted_assign_field)
5830 << IsMove << MD->getParent() << FD << FieldType << /*Reference*/0;
5837 S.Diag(FD->getLocation(), diag::note_deleted_assign_field)
5838 << IsMove << MD->getParent() << FD << FD->getType() << /*Const*/1;
5878 if (shouldDeleteForClassSubobject(FieldRecord, FD,
6685 if (FunctionDecl *FD = dyn_cast<FunctionDecl>(D)) {
6686 if (FunctionTemplateDecl *FTD = FD->getDescribedFunctionTemplate())
7980 if (FunctionDecl *FD = Target->getAsFunction()) {
7982 switch (CheckOverload(nullptr, FD, Previous, OldDecl,
9117 void Sema::CheckImplicitSpecialMemberDeclaration(Scope *S, FunctionDecl *FD) {
9120 DeclarationName Name = FD->getDeclName();
9123 for (auto *D : FD->getParent()->lookup(Name))
9129 CheckFunctionDeclaration(S, FD, R, /*IsExplicitSpecialization*/false);
11276 bool Sema::isImplicitlyDeleted(FunctionDecl *FD) {
11277 return FD->isDeleted() && FD->isDefaulted() && isa<CXXMethodDecl>(FD);
12991 FunctionDecl *FD;
12993 FD = FTD->getTemplatedDecl();
12995 FD = cast<FunctionDecl>(ND);
13001 if (functionDeclHasDefaultArgument(FD)) {
13002 if (FunctionDecl *OldFD = FD->getPreviousDecl()) {
13003 Diag(FD->getLocation(), diag::err_friend_decl_with_def_arg_redeclared);
13006 Diag(FD->getLocation(), diag::err_friend_decl_with_def_arg_must_be_def);
13010 if (FD->getNumTemplateParameterLists() && SS.isValid()) {
13011 Diag(FD->getLocation(), diag::warn_template_qualified_friend_unsupported)