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

References

tools/clang/lib/Sema/SemaDecl.cpp
14215   if (FD->isInvalidDecl())
14220   if (unsigned BuiltinID = FD->getBuiltinID()) {
14225       if (!FD->hasAttr<FormatAttr>()) {
14227         unsigned int NumParams = FD->getNumParams();
14229             FD->getParamDecl(FormatIdx)->getType()->isObjCObjectPointerType())
14231         FD->addAttr(FormatAttr::CreateImplicit(Context,
14235                                                FD->getLocation()));
14240      if (!FD->hasAttr<FormatAttr>())
14241        FD->addAttr(FormatAttr::CreateImplicit(Context,
14245                                               FD->getLocation()));
14250     if (!FD->hasAttr<CallbackAttr>() &&
14252       FD->addAttr(CallbackAttr::CreateImplicit(
14253           Context, Encoding.data(), Encoding.size(), FD->getLocation()));
14258     if (!getLangOpts().MathErrno && !FD->hasAttr<ConstAttr>() &&
14260       FD->addAttr(ConstAttr::CreateImplicit(Context, FD->getLocation()));
14260       FD->addAttr(ConstAttr::CreateImplicit(Context, FD->getLocation()));
14267         !FD->hasAttr<ConstAttr>()) {
14275         FD->addAttr(ConstAttr::CreateImplicit(Context, FD->getLocation()));
14275         FD->addAttr(ConstAttr::CreateImplicit(Context, FD->getLocation()));
14283         !FD->hasAttr<ReturnsTwiceAttr>())
14284       FD->addAttr(ReturnsTwiceAttr::CreateImplicit(Context,
14285                                          FD->getLocation()));
14286     if (Context.BuiltinInfo.isNoThrow(BuiltinID) && !FD->hasAttr<NoThrowAttr>())
14287       FD->addAttr(NoThrowAttr::CreateImplicit(Context, FD->getLocation()));
14287       FD->addAttr(NoThrowAttr::CreateImplicit(Context, FD->getLocation()));
14288     if (Context.BuiltinInfo.isPure(BuiltinID) && !FD->hasAttr<PureAttr>())
14289       FD->addAttr(PureAttr::CreateImplicit(Context, FD->getLocation()));
14289       FD->addAttr(PureAttr::CreateImplicit(Context, FD->getLocation()));
14290     if (Context.BuiltinInfo.isConst(BuiltinID) && !FD->hasAttr<ConstAttr>())
14291       FD->addAttr(ConstAttr::CreateImplicit(Context, FD->getLocation()));
14291       FD->addAttr(ConstAttr::CreateImplicit(Context, FD->getLocation()));
14293         !FD->hasAttr<CUDADeviceAttr>() && !FD->hasAttr<CUDAHostAttr>()) {
14293         !FD->hasAttr<CUDADeviceAttr>() && !FD->hasAttr<CUDAHostAttr>()) {
14299         FD->addAttr(CUDADeviceAttr::CreateImplicit(Context, FD->getLocation()));
14299         FD->addAttr(CUDADeviceAttr::CreateImplicit(Context, FD->getLocation()));
14301         FD->addAttr(CUDAHostAttr::CreateImplicit(Context, FD->getLocation()));
14301         FD->addAttr(CUDAHostAttr::CreateImplicit(Context, FD->getLocation()));
14309       FD->isExternC() && !FD->hasAttr<NoThrowAttr>()) {
14309       FD->isExternC() && !FD->hasAttr<NoThrowAttr>()) {
14310     const auto *FPT = FD->getType()->getAs<FunctionProtoType>();
14312       FD->addAttr(NoThrowAttr::CreateImplicit(Context, FD->getLocation()));
14312       FD->addAttr(NoThrowAttr::CreateImplicit(Context, FD->getLocation()));
14315   IdentifierInfo *Name = FD->getIdentifier();
14319        FD->getDeclContext()->isTranslationUnit()) ||
14320       (isa<LinkageSpecDecl>(FD->getDeclContext()) &&
14321        cast<LinkageSpecDecl>(FD->getDeclContext())->getLanguage() ==
14331     if (!FD->hasAttr<FormatAttr>())
14332       FD->addAttr(FormatAttr::CreateImplicit(Context,
14335                                              FD->getLocation()));
14341     if (!FD->hasAttr<FormatArgAttr>())
14342       FD->addAttr(FormatArgAttr::CreateImplicit(Context, ParamIdx(1, FD),
14342       FD->addAttr(FormatArgAttr::CreateImplicit(Context, ParamIdx(1, FD),
14343                                                 FD->getLocation()));