reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

tools/clang/lib/Sema/SemaDecl.cpp
10238   assert(!NewFD->getReturnType()->isVariablyModifiedType() &&
10258     if (!AllowOverloadingOfFunction(Previous, Context, NewFD)) {
10260       if (shouldLinkPossiblyHiddenDecl(Candidate, NewFD)) {
10266       switch (CheckOverload(S, NewFD, Previous, OldDecl,
10285       checkForConflictWithNonVisibleExternC(*this, NewFD, Previous)) {
10295           NewFD->hasAttr<OverloadableAttr>()) {
10296         if (IsOverload(NewFD, cast<FunctionDecl>(OldDecl), false)) {
10305   if (CheckMultiVersionFunction(*this, NewFD, Redeclaration, OldDecl,
10318   CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(NewFD);
10350     if (MergeFunctionDecl(NewFD, OldDecl, S, MergeTypeWithPrevious)) {
10351       NewFD->setInvalidDecl();
10362         = NewFD->getDescribedFunctionTemplate();
10370       NewFD->setPreviousDeclaration(OldFD);
10371       adjustDeclContextForDeclaratorDecl(NewFD, OldFD);
10372       if (NewFD->isCXXClassMember()) {
10373         NewFD->setAccess(OldTemplateDecl->getAccess());
10394       if (shouldLinkDependentDeclWithPrevious(NewFD, OldDecl)) {
10397         NewFD->setPreviousDeclaration(OldFD);
10398         adjustDeclContextForDeclaratorDecl(NewFD, OldFD);
10399         if (NewFD->isCXXClassMember())
10400           NewFD->setAccess(OldFD->getAccess());
10404              !NewFD->getAttr<OverloadableAttr>()) {
10418       Diag(NewFD->getLocation(),
10424       NewFD->addAttr(OverloadableAttr::CreateImplicit(Context));
10432     if (CXXConstructorDecl *Constructor = dyn_cast<CXXConstructorDecl>(NewFD)) {
10435                 dyn_cast<CXXDestructorDecl>(NewFD)) {
10445         if (NewFD->getDeclName() != Name) {
10446           Diag(NewFD->getLocation(), diag::err_destructor_name);
10447           NewFD->setInvalidDecl();
10452                = dyn_cast<CXXConversionDecl>(NewFD)) {
10454     } else if (auto *Guide = dyn_cast<CXXDeductionGuideDecl>(NewFD)) {
10466     if (CXXMethodDecl *Method = dyn_cast<CXXMethodDecl>(NewFD)) {
10472           if (NewFD->getStorageClass() == SC_Static) {
10483     if (NewFD->isOverloadedOperator() &&
10484         CheckOverloadedOperatorDeclaration(NewFD)) {
10485       NewFD->setInvalidDecl();
10490     if (NewFD->getLiteralIdentifier() &&
10491         CheckLiteralOperatorDeclaration(NewFD)) {
10492       NewFD->setInvalidDecl();
10500       CheckCXXDefaultArguments(NewFD);
10504     if (unsigned BuiltinID = NewFD->getBuiltinID()) {
10506       LookupPredefedObjCSuperType(*this, S, NewFD->getIdentifier());
10514                                                             NewFD->getType()))
10524     if (Previous.empty() && NewFD->isExternC()) {
10525       QualType R = NewFD->getReturnType();
10527         Diag(NewFD->getLocation(), diag::warn_return_value_udt_incomplete)
10528             << NewFD << R;
10531         Diag(NewFD->getLocation(), diag::warn_return_value_udt) << NewFD << R;
10531         Diag(NewFD->getLocation(), diag::warn_return_value_udt) << NewFD << R;
10543     if (!getLangOpts().CPlusPlus17 && !NewFD->getPrimaryTemplate()) {
10560       auto *FPT = NewFD->getType()->castAs<FunctionProtoType>();
10565         Diag(NewFD->getLocation(),
10567             << NewFD;
10571       checkCUDATargetOverload(NewFD, Previous);