Lines Matching refs:ND
479 NamedDecl *ND = I->first; in getUndefinedButUsed() local
482 if (ND->isInvalidDecl()) continue; in getUndefinedButUsed()
485 if (ND->hasAttr<WeakRefAttr>()) continue; in getUndefinedButUsed()
487 if (FunctionDecl *FD = dyn_cast<FunctionDecl>(ND)) { in getUndefinedButUsed()
494 if (cast<VarDecl>(ND)->hasDefinition() != VarDecl::DeclarationOnly) in getUndefinedButUsed()
496 if (ND->isExternallyVisible()) in getUndefinedButUsed()
500 Undefined.push_back(std::make_pair(ND, I->second)); in getUndefinedButUsed()
532 NamedDecl *ND = I->first; in checkUndefinedButUsed() local
534 if (ND->hasAttr<DLLImportAttr>() || ND->hasAttr<DLLExportAttr>()) { in checkUndefinedButUsed()
541 if (!ND->isExternallyVisible()) { in checkUndefinedButUsed()
542 S.Diag(ND->getLocation(), diag::warn_undefined_internal) in checkUndefinedButUsed()
543 << isa<VarDecl>(ND) << ND; in checkUndefinedButUsed()
545 assert(cast<FunctionDecl>(ND)->getMostRecentDecl()->isInlined() && in checkUndefinedButUsed()
547 S.Diag(ND->getLocation(), diag::warn_undefined_inline) << ND; in checkUndefinedButUsed()