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

References

gen/tools/clang/include/clang/AST/AttrImpl.inc
 1601 BlocksAttr *BlocksAttr::clone(ASTContext &C) const {
 1602   auto *A = new (C) BlocksAttr(C, *this, type);
 1602   auto *A = new (C) BlocksAttr(C, *this, type);
 1615     OS << " __attribute__((blocks(\"" << BlocksAttr::ConvertBlockTypeToStr(getType()) << "\")))";
 1619     OS << " [[clang::blocks(\"" << BlocksAttr::ConvertBlockTypeToStr(getType()) << "\")]]";
 1623     OS << " [[clang::blocks(\"" << BlocksAttr::ConvertBlockTypeToStr(getType()) << "\")]]";
11568     return cast<BlocksAttr>(this)->getSpelling();
12148     return cast<BlocksAttr>(this)->clone(C);
12728     return cast<BlocksAttr>(this)->printPretty(OS, Policy);
gen/tools/clang/include/clang/AST/AttrTextNodeDump.inc
  116   void VisitBlocksAttr(const BlocksAttr *A) {
  117     const auto *SA = cast<BlocksAttr>(A); (void)SA;
  117     const auto *SA = cast<BlocksAttr>(A); (void)SA;
  119     case BlocksAttr::ByRef:
gen/tools/clang/include/clang/AST/AttrVisitor.inc
  155   bool TraverseBlocksAttr(BlocksAttr *A);
  156   bool VisitBlocksAttr(BlocksAttr *A) {
 1556 bool VISITORCLASS<Derived>::TraverseBlocksAttr(BlocksAttr *A) {
 4028       return getDerived().TraverseBlocksAttr(cast<BlocksAttr>(A));
gen/tools/clang/include/clang/AST/Attrs.inc
 2249   static BlocksAttr *CreateImplicit(ASTContext &Ctx, BlockType Type, const AttributeCommonInfo &CommonInfo = {SourceRange{}}) {
 2250     auto *A = new (Ctx) BlocksAttr(Ctx, CommonInfo, Type);
 2250     auto *A = new (Ctx) BlocksAttr(Ctx, CommonInfo, Type);
 2257   static BlocksAttr *Create(ASTContext &Ctx, BlockType Type, const AttributeCommonInfo &CommonInfo = {SourceRange{}}) {
 2258     auto *A = new (Ctx) BlocksAttr(Ctx, CommonInfo, Type);
 2258     auto *A = new (Ctx) BlocksAttr(Ctx, CommonInfo, Type);
 2264   static BlocksAttr *CreateImplicit(ASTContext &Ctx, BlockType Type, SourceRange Range, AttributeCommonInfo::Syntax Syntax) {
 2268   static BlocksAttr *Create(ASTContext &Ctx, BlockType Type, SourceRange Range, AttributeCommonInfo::Syntax Syntax) {
 2280   BlocksAttr *clone(ASTContext &C) const;
 2290       .Case("byref", BlocksAttr::ByRef)
 2301     case BlocksAttr::ByRef: return "byref";
gen/tools/clang/include/clang/Sema/AttrTemplateInstantiate.inc
  226       const auto *A = cast<BlocksAttr>(At);
  226       const auto *A = cast<BlocksAttr>(At);
gen/tools/clang/include/clang/Serialization/AttrPCHRead.inc
  370     BlocksAttr::BlockType type(static_cast<BlocksAttr::BlockType>(Record.readInt()));
  371     New = new (Context) BlocksAttr(Context, Info, type);
gen/tools/clang/include/clang/Serialization/AttrPCHWrite.inc
  281     const auto *SA = cast<BlocksAttr>(A);
  281     const auto *SA = cast<BlocksAttr>(A);
include/llvm/ADT/STLExtras.h
   75       typename std::add_pointer<typename std::add_const<T>::type>::type;
include/llvm/Support/Casting.h
   58     return To::classof(&Val);
   66   static inline bool doit(const From &) { return true; }
  104   static inline bool doit(const From *Val) {
  106     return isa_impl<To, From>::doit(*Val);
  106     return isa_impl<To, From>::doit(*Val);
  122     return isa_impl_wrap<To, SimpleFrom,
  132     return isa_impl_cl<To,FromTy>::doit(Val);
  142   return isa_impl_wrap<X, const Y,
  172   using ret_type = To *;       // Pointer arg case, return Ty*
  176   using ret_type = const To *; // Constant pointer arg case, return const Ty*
  198   using ret_type = typename cast_retty<To, SimpleFrom>::ret_type;
  204   using ret_type = typename cast_retty_impl<To,FromTy>::ret_type;
  210       To, From, typename simplify_type<From>::SimpleType>::ret_type;
  227   static typename cast_retty<To, FromTy>::ret_type doit(const FromTy &Val) {
  228     typename cast_retty<To, FromTy>::ret_type Res2
  256 inline typename cast_retty<X, Y>::ret_type cast(Y &Val) {
  263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
  265   return cast_convert_val<X, Y*,
tools/clang/include/clang/AST/AttrIterator.h
   47     while (!isa<SpecificAttr>(*Current))
   52     while (Current != I && !isa<SpecificAttr>(*Current))
   57   using value_type = SpecificAttr *;
   58   using reference = SpecificAttr *;
   59   using pointer = SpecificAttr *;
   68     return cast<SpecificAttr>(*Current);
  101 inline specific_attr_iterator<SpecificAttr, Container>
  106 inline specific_attr_iterator<SpecificAttr, Container>
  113   return specific_attr_begin<SpecificAttr>(container) !=
  114           specific_attr_end<SpecificAttr>(container);
  117 inline SpecificAttr *getSpecificAttr(const Container& container) {
  118   specific_attr_iterator<SpecificAttr, Container> i =
  119       specific_attr_begin<SpecificAttr>(container);
  120   if (i != specific_attr_end<SpecificAttr>(container))
tools/clang/include/clang/AST/DeclBase.h
  538   template<typename T> T *getAttr() const {
  539     return hasAttrs() ? getSpecificAttr<T>(getAttrs()) : nullptr;
  543     return hasAttrs() && hasSpecificAttr<T>(getAttrs());
tools/clang/include/clang/StaticAnalyzer/Checkers/SValExplainer.h
  186     else if (VD->hasAttr<BlocksAttr>())
tools/clang/lib/ARCMigrate/TransBlockObjCVariable.cpp
  136     BlocksAttr *attr = var->getAttr<BlocksAttr>();
  136     BlocksAttr *attr = var->getAttr<BlocksAttr>();
tools/clang/lib/AST/Decl.cpp
 2462   return hasAttr<BlocksAttr>() && NonParmVarDeclBits.EscapingByref;
 2466   return hasAttr<BlocksAttr>() && !NonParmVarDeclBits.EscapingByref;
tools/clang/lib/CodeGen/Address.h
  108 template <class U> inline U cast(CodeGen::Address addr) {
tools/clang/lib/CodeGen/CGDebugInfo.cpp
 3922   if (VD->hasAttr<BlocksAttr>())
 3964     if (VD->hasAttr<BlocksAttr>()) {
 4097   bool isByRef = VD->hasAttr<BlocksAttr>();
tools/clang/lib/CodeGen/CGExprAgg.cpp
 1081     return (var && var->hasAttr<BlocksAttr>());
tools/clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
 4342       if (!VD->hasAttr<BlocksAttr>()) {
 5164       if (!BlockDeclRefs[i]->getDecl()->hasAttr<BlocksAttr>()) {
 5172       if (BlockDeclRefs[i]->getDecl()->hasAttr<BlocksAttr>()) {
 5180       if (BlockDeclRefs[i]->getDecl()->hasAttr<BlocksAttr>() ||
 5209       if (!VD->hasAttr<BlocksAttr>() && !BlockByCopyDeclsPtrSet.count(VD)) {
 5218       if (VD->hasAttr<BlocksAttr>() && !BlockByRefDeclsPtrSet.count(VD)) {
 5227       if (InnerBlockDeclRefs[i]->getDecl()->hasAttr<BlocksAttr>() ||
 5591           if (VD->hasAttr<BlocksAttr>()) {
 5625     if (VD->hasAttr<BlocksAttr>())
tools/clang/lib/Frontend/Rewrite/RewriteObjC.cpp
 3555       if (!VD->hasAttr<BlocksAttr>() && !BlockByCopyDeclsPtrSet.count(VD)) {
 3559       if (VD->hasAttr<BlocksAttr>() && !BlockByRefDeclsPtrSet.count(VD)) {
 3565       if (VD->hasAttr<BlocksAttr>() ||
 4318       if (!BlockDeclRefs[i]->getDecl()->hasAttr<BlocksAttr>()) {
 4326       if (BlockDeclRefs[i]->getDecl()->hasAttr<BlocksAttr>()) {
 4334       if (BlockDeclRefs[i]->getDecl()->hasAttr<BlocksAttr>() ||
 4362       if (!VD->hasAttr<BlocksAttr>() && !BlockByCopyDeclsPtrSet.count(VD)) {
 4371       if (VD->hasAttr<BlocksAttr>() && !BlockByRefDeclsPtrSet.count(VD)) {
 4380       if (InnerBlockDeclRefs[i]->getDecl()->hasAttr<BlocksAttr>() ||
 4693           if (VD->hasAttr<BlocksAttr>()) {
 4727     if (VD->hasAttr<BlocksAttr>())
tools/clang/lib/Sema/AnalysisBasedWarnings.cpp
  757       !VD->hasAttr<BlocksAttr>()) {
 1013     if (VD->getType()->isBlockPointerType() && !VD->hasAttr<BlocksAttr>())
tools/clang/lib/Sema/JumpDiagnostics.cpp
  141     if (VD->hasAttr<BlocksAttr>())
  244   if (D->hasAttr<BlocksAttr>())
tools/clang/lib/Sema/Sema.cpp
 1697       if (VD->hasAttr<BlocksAttr>()) {
tools/clang/lib/Sema/SemaCodeComplete.cpp
 1551   return Var->hasLocalStorage() && !Var->hasAttr<BlocksAttr>();
 5742       if (!Var || !Var->hasLocalStorage() || Var->hasAttr<BlocksAttr>())
tools/clang/lib/Sema/SemaDecl.cpp
 6083       if (var->hasAttr<BlocksAttr>())
 7578     if (NewVD->hasAttr<BlocksAttr>()) {
 7671       && !NewVD->hasAttr<BlocksAttr>()) {
 7682       NewVD->hasAttr<BlocksAttr>())
 7744   if (!NewVD->hasLocalStorage() && NewVD->hasAttr<BlocksAttr>()) {
 7750   if (isVM && NewVD->hasAttr<BlocksAttr>()) {
11748     if (VDecl->hasAttr<BlocksAttr>())
12479   if (var->hasAttr<BlocksAttr>())
13081   if (New->hasAttr<BlocksAttr>()) {
tools/clang/lib/Sema/SemaDeclAttr.cpp
 2628   BlocksAttr::BlockType type;
 2629   if (!BlocksAttr::ConvertStrToBlockType(II->getName(), type)) {
 2634   D->addAttr(::new (S.Context) BlocksAttr(S.Context, AL, type));
tools/clang/lib/Sema/SemaDeclObjC.cpp
 4628     if (Param->hasAttr<BlocksAttr>()) {
 4948   if (New->hasAttr<BlocksAttr>())
tools/clang/lib/Sema/SemaExpr.cpp
11947         if (!DRE || DRE->getDecl()->hasAttr<BlocksAttr>())
15788   const bool HasBlocksAttr = Var->hasAttr<BlocksAttr>();
15864   const bool HasBlocksAttr = Var->hasAttr<BlocksAttr>();
tools/clang/lib/Sema/SemaInit.cpp
 7622     if (VD->hasAttr<BlocksAttr>())
tools/clang/lib/Sema/SemaStmt.cpp
 3009   if (VD->hasAttr<BlocksAttr>()) return false;
tools/clang/lib/Serialization/ASTReaderDecl.cpp
 1401   if (VD->hasAttr<BlocksAttr>() && VD->getType()->getAsCXXRecordDecl()) {
tools/clang/lib/Serialization/ASTWriterDecl.cpp
  984   if (D->hasAttr<BlocksAttr>() && D->getType()->getAsCXXRecordDecl()) {
 1043       !(D->hasAttr<BlocksAttr>() && D->getType()->getAsCXXRecordDecl()) &&
tools/clang/lib/StaticAnalyzer/Checkers/DeadStoresChecker.cpp
  279         !(VD->hasAttr<UnusedAttr>() || VD->hasAttr<BlocksAttr>() ||
tools/clang/lib/StaticAnalyzer/Checkers/MacOSXAPIChecker.cpp
  107     if (VD->hasAttr<BlocksAttr>())
tools/clang/lib/StaticAnalyzer/Checkers/UndefCapturedBlockVarChecker.cpp
   68     if (VD->hasAttr<BlocksAttr>() || !VD->hasLocalStorage())
tools/clang/lib/StaticAnalyzer/Core/MemRegion.cpp
 1483   if (!VD->hasAttr<BlocksAttr>() && VD->hasLocalStorage()) {
tools/clang/lib/StaticAnalyzer/Core/RegionStore.cpp
 1116       if (VD->hasAttr<BlocksAttr>() || !VD->hasLocalStorage()) {
usr/include/c++/7.4.0/type_traits
 1558     { typedef _Tp     type; };
 1580     { typedef _Tp const     type; };