|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
Declarations
gen/tools/clang/include/clang/AST/DeclNodes.inc 29 BLOCK(Block, Decl)
tools/clang/include/clang/AST/DeclBase.h 45 class BlockDecl;
tools/clang/include/clang/AST/Expr.h 42 class BlockDecl;
tools/clang/include/clang/AST/Mangle.h 28 class BlockDecl;
tools/clang/include/clang/AST/MangleNumberingContext.h 22 class BlockDecl;
tools/clang/include/clang/Analysis/AnalysisDeclContext.h 34 class BlockDecl;
tools/clang/include/clang/Sema/ScopeInfo.h 43 class BlockDecl;
tools/clang/include/clang/Sema/Sema.h 81 class BlockDecl;
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h 36 class BlockDecl;
tools/clang/lib/ARCMigrate/Transforms.h 20 class BlockDecl;
tools/clang/lib/CodeGen/CodeGenFunction.h 55 class BlockDecl;
References
gen/tools/clang/include/clang/Sema/AttrParsedAttrImpl.inc 240 isa<BlockDecl>(S);
1141 if (!D || (!isa<ObjCMethodDecl>(D) && !isa<BlockDecl>(D) && !isHasFunctionProto(D))) {
1380 if (!D || (!isa<FunctionDecl>(D) && !isa<ObjCMethodDecl>(D) && !isa<BlockDecl>(D))) {
2104 if (!D || (!isNonParmVar(D) && !isa<FunctionDecl>(D) && !isa<BlockDecl>(D) && !isa<ObjCMethodDecl>(D))) {
3524 return isa<BlockDecl>(D);
include/llvm/ADT/ArrayRef.h 108 const ArrayRef<U *> &A,
110 std::is_convertible<U *const *, T const *>::value>::type * = nullptr)
118 const SmallVectorTemplateCommon<U *, DummyT> &Vec,
120 std::is_convertible<U *const *, T const *>::value>::type * = nullptr)
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) {
263 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*,
265 return cast_convert_val<X, Y*,
266 typename simplify_type<Y*>::SimpleType>::doit(Val);
305 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type
309 return cast<X>(Val);
337 LLVM_NODISCARD inline typename cast_retty<X, Y>::ret_type dyn_cast(Y &Val) {
342 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type dyn_cast(Y *Val) {
342 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type dyn_cast(Y *Val) {
342 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type dyn_cast(Y *Val) {
343 return isa<X>(Val) ? cast<X>(Val) : nullptr;
343 return isa<X>(Val) ? cast<X>(Val) : nullptr;
366 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type
368 return (Val && isa<X>(Val)) ? cast<X>(Val) : nullptr;
368 return (Val && isa<X>(Val)) ? cast<X>(Val) : nullptr;
include/llvm/Support/PointerLikeTypeTraits.h 56 static inline void *getAsVoidPointer(T *P) { return P; }
57 static inline T *getFromVoidPointer(void *P) { return static_cast<T *>(P); }
59 enum { NumLowBitsAvailable = detail::ConstantLog2<alignof(T)>::value };
91 typedef PointerLikeTypeTraits<T *> NonConst;
93 static inline const void *getAsVoidPointer(const T *P) {
96 static inline const T *getFromVoidPointer(const void *P) {
tools/clang/include/clang/AST/ASTNodeTraverser.h 167 void Visit(const BlockDecl::Capture &C) {
574 void VisitBlockDecl(const BlockDecl *D) {
tools/clang/include/clang/AST/ASTTypeTraits.h 65 return ASTNodeKind(KindToKindId<T>::Id);
65 return ASTNodeKind(KindToKindId<T>::Id);
65 return ASTNodeKind(KindToKindId<T>::Id);
234 static DynTypedNode create(const T &Node) {
235 return BaseConverter<T>::create(Node);
259 const T &getUnchecked() const {
260 return BaseConverter<T>::getUnchecked(NodeKind, Storage.buffer);
394 static const T *get(ASTNodeKind NodeKind, const char Storage[]) {
399 static const T &getUnchecked(ASTNodeKind NodeKind, const char Storage[]) {
401 return *cast<T>(static_cast<const BaseT *>(
469 : public DynCastPtrConverter<T, Decl> {};
tools/clang/include/clang/AST/Decl.h 4028 static BlockDecl *Create(ASTContext &C, DeclContext *DC, SourceLocation L);
4029 static BlockDecl *CreateDeserialized(ASTContext &C, unsigned ID);
4138 static DeclContext *castToDeclContext(const BlockDecl *D) {
4141 static BlockDecl *castFromDeclContext(const DeclContext *DC) {
tools/clang/include/clang/AST/DeclBase.h 1816 const BlockDecl *getInnermostBlockDecl() const;
2474 static const ToTy *doit(const DeclContext *Val) {
2478 static ToTy *doit(DeclContext *Val) {
2491 return To::classofKind(Val.getDeclKind());
2514 static const ToTy *doit(const ::clang::DeclContext *Val) {
2515 return ::clang::cast_convert_decl_context<ToTy>::doit(Val);
2521 static ToTy *doit(::clang::DeclContext *Val) {
2522 return ::clang::cast_convert_decl_context<ToTy>::doit(Val);
2536 static ::clang::DeclContext *doit(const FromTy *Val) {
2537 return FromTy::castToDeclContext(Val);
tools/clang/include/clang/AST/Expr.h 5553 BlockDecl *TheBlock;
5555 BlockExpr(BlockDecl *BD, QualType ty)
5565 const BlockDecl *getBlockDecl() const { return TheBlock; }
5566 BlockDecl *getBlockDecl() { return TheBlock; }
5567 void setBlockDecl(BlockDecl *BD) { TheBlock = BD; }
tools/clang/include/clang/AST/ExprCXX.h 3308 private llvm::TrailingObjects<ExprWithCleanups, BlockDecl *> {
3314 using CleanupObject = BlockDecl *;
tools/clang/include/clang/AST/GlobalDecl.h 58 GlobalDecl(const BlockDecl *D) { Init(D); }
tools/clang/include/clang/AST/JSONNodeDumper.h 199 void Visit(const BlockDecl::Capture &C);
256 void VisitBlockDecl(const BlockDecl *D);
tools/clang/include/clang/AST/Mangle.h 57 llvm::DenseMap<const BlockDecl*, unsigned> GlobalBlockIds;
58 llvm::DenseMap<const BlockDecl*, unsigned> LocalBlockIds;
77 unsigned getBlockId(const BlockDecl *BD, bool Local) {
78 llvm::DenseMap<const BlockDecl *, unsigned> &BlockIds
80 std::pair<llvm::DenseMap<const BlockDecl *, unsigned>::iterator, bool>
118 void mangleGlobalBlock(const BlockDecl *BD,
122 const BlockDecl *BD, raw_ostream &Out);
124 const BlockDecl *BD, raw_ostream &Out);
125 void mangleBlock(const DeclContext *DC, const BlockDecl *BD,
tools/clang/include/clang/AST/MangleNumberingContext.h 41 virtual unsigned getManglingNumber(const BlockDecl *BD) = 0;
tools/clang/include/clang/AST/RecursiveASTVisitor.h 1375 if (isa<BlockDecl>(Child) || isa<CapturedDecl>(Child))
1420 if (TypeSourceInfo *TInfo = D->getSignatureAsWritten())
1422 TRY_TO(TraverseStmt(D->getBody()));
1423 for (const auto &I : D->captures()) {
tools/clang/include/clang/AST/TextNodeDumper.h 175 void Visit(const BlockDecl::Capture &C);
347 void VisitBlockDecl(const BlockDecl *D);
tools/clang/include/clang/ASTMatchers/ASTMatchers.h 1401 extern const internal::VariadicDynCastAllOfMatcher<Decl, BlockDecl>
tools/clang/include/clang/ASTMatchers/ASTMatchersInternal.h 302 virtual bool matches(const T &Node,
309 return matches(DynNode.getUnchecked<T>(), Finder, Builder);
345 DynTypedMatcher(MatcherInterface<T> *Implementation)
346 : SupportedKind(ast_type_traits::ASTNodeKind::getFromNodeKind<T>()),
436 return canConvertTo(ast_type_traits::ASTNodeKind::getFromNodeKind<T>());
445 template <typename T> Matcher<T> convertTo() const {
447 return unconditionalConvertTo<T>();
479 class WrapperMatcherInterface : public MatcherInterface<T> {
499 explicit Matcher(MatcherInterface<T> *Implementation)
520 std::is_same<T, QualType>::value &&
529 static_assert(std::is_base_of<To, T>::value, "Invalid dynCast call.");
534 bool matches(const T &Node,
581 return Other.dynCastTo(ast_type_traits::ASTNodeKind::getFromNodeKind<T>());
1009 bool matchesDescendantOf(const T &Node,
1013 static_assert(std::is_base_of<Decl, T>::value ||
1014 std::is_base_of<Stmt, T>::value ||
1015 std::is_base_of<NestedNameSpecifier, T>::value ||
1016 std::is_base_of<NestedNameSpecifierLoc, T>::value ||
1017 std::is_base_of<TypeLoc, T>::value ||
1018 std::is_base_of<QualType, T>::value,
1067 using head = T1;
1073 using tail = TypeList<Ts...>;
1084 std::is_base_of<typename AnyTypeList::head, T>::value ||
1085 TypeListContainsSuperOf<typename AnyTypeList::tail, T>::value;
1146 template <typename To> operator Matcher<To>() const {
1202 operator Matcher<T>() const {
1203 static_assert(TypeListContainsSuperOf<ReturnTypes, T>::value,
1223 operator Matcher<T>() const {
1224 static_assert(TypeListContainsSuperOf<ReturnTypes, T>::value,
1243 operator Matcher<T>() const {
1245 ast_type_traits::ASTNodeKind::getFromNodeKind<T>())
1246 .template unconditionalConvertTo<T>();
1255 class BindableMatcher : public Matcher<T> {
1257 explicit BindableMatcher(const Matcher<T> &M) : Matcher<T>(M) {}
1258 explicit BindableMatcher(MatcherInterface<T> *Implementation)
1265 Matcher<T> bind(StringRef ID) const {
1335 template <typename T> operator Matcher<T>() const {
1337 Op, ast_type_traits::ASTNodeKind::getFromNodeKind<T>(),
1338 getMatchers<T>(std::index_sequence_for<Ps...>()))
1339 .template unconditionalConvertTo<T>();
1370 inline Matcher<T> DynTypedMatcher::unconditionalConvertTo() const {
1376 BindableMatcher<T> makeAllOfComposite(
1377 ArrayRef<const Matcher<T> *> InnerMatchers) {
1388 using PI = llvm::pointee_iterator<const Matcher<T> *const *>;
1395 ast_type_traits::ASTNodeKind::getFromNodeKind<T>(),
1397 .template unconditionalConvertTo<T>());
1408 ArrayRef<const Matcher<InnerT> *> InnerMatchers) {
1480 class ForEachDescendantMatcher : public WrapperMatcherInterface<T> {
1489 bool matches(const T &Node, ASTMatchFinder *Finder,
1557 : public VariadicFunction<BindableMatcher<SourceT>, Matcher<TargetT>,
1558 makeDynCastAllOfComposite<SourceT, TargetT>> {
tools/clang/include/clang/ASTMatchers/Dynamic/VariantValue.h 199 ast_matchers::internal::Matcher<T> getTypedMatcher() const {
202 ->template convertTo<T>();
227 : MatcherOps(ast_type_traits::ASTNodeKind::getFromNodeKind<T>()) {}
228 typedef ast_matchers::internal::Matcher<T> MatcherT;
232 return DynTypedMatcher(Matcher.convertTo<T>());
tools/clang/include/clang/Analysis/AnalysisDeclContext.h 89 llvm::DenseMap<const BlockDecl *,void *> *ReferencedBlockVars = nullptr;
179 getReferencedBlockVars(const BlockDecl *BD);
191 const BlockDecl *BD,
374 const BlockDecl *BD;
380 const LocationContext *parent, const BlockDecl *bd,
388 const BlockDecl *getBlockDecl() const { return BD; }
395 const LocationContext *parent, const BlockDecl *bd,
427 const BlockDecl *BD,
tools/clang/include/clang/Analysis/AnyCall.h 71 (K == Block && !isa<BlockDecl>(D))))
143 } else if (const auto *BD = dyn_cast<BlockDecl>(D)) {
143 } else if (const auto *BD = dyn_cast<BlockDecl>(D)) {
tools/clang/include/clang/Sema/ScopeInfo.h 207 llvm::SmallPtrSet<const BlockDecl *, 1> Blocks;
437 void addBlock(const BlockDecl *BD) {
717 BlockDecl *TheDecl;
727 BlockScopeInfo(DiagnosticsEngine &Diag, Scope *BlockScope, BlockDecl *Block)
tools/clang/include/clang/Sema/Sema.h 599 SmallVector<BlockDecl*, 8> ExprCleanupObjects;
1218 llvm::SmallVector<std::pair<SourceLocation, const BlockDecl *>, 1>
1440 void PushBlockScope(Scope *BlockScope, BlockDecl *Block);
tools/clang/include/clang/Serialization/ASTReader.h 1887 T *ReadDeclAs(ModuleFile &F, const RecordData &R, unsigned &I) {
1888 return cast_or_null<T>(GetDecl(ReadDeclID(F, R, I)));
2541 T *readDeclAs() {
2542 return Reader->ReadDeclAs<T>(*F, Record, Idx);
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h 562 const BlockDecl *getDecl() const override {
570 const BlockDecl *BD = getDecl();
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h 631 const BlockDecl *BD;
635 BlockCodeRegion(const BlockDecl *bd, CanQualType lTy,
643 static void ProfileRegion(llvm::FoldingSetNodeID& ID, const BlockDecl *BD,
652 const BlockDecl *getDecl() const {
700 const BlockDecl *getDecl() const { return BC->getDecl(); }
1391 const BlockCodeRegion *getBlockCodeRegion(const BlockDecl *BD,
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h 240 DefinedSVal getBlockPointer(const BlockDecl *block, CanQualType locTy,
tools/clang/lib/ARCMigrate/TransBlockObjCVariable.cpp 77 bool VisitBlockDecl(BlockDecl *block) {
118 bool TraverseBlockDecl(BlockDecl *block) {
tools/clang/lib/ARCMigrate/TransUnbridgedCasts.cpp 80 bool TraverseBlockDecl(BlockDecl *D) {
tools/clang/lib/ARCMigrate/TransZeroOutPropsInDealloc.cpp 143 bool TraverseBlockDecl(BlockDecl *block) { return true; }
tools/clang/lib/AST/ASTContext.cpp 6324 const BlockDecl *Decl = Expr->getBlockDecl();
tools/clang/lib/AST/ASTImporter.cpp 162 Expected<T *> import(T *From) {
162 Expected<T *> import(T *From) {
166 return cast_or_null<T>(*ToOrErr);
170 Expected<T *> import(const T *From) {
170 Expected<T *> import(const T *From) {
tools/clang/lib/AST/Decl.cpp 305 if (isa<FunctionDecl>(DC) || isa<BlockDecl>(DC))
1276 if (const auto *BD = dyn_cast<BlockDecl>(OuterD)) {
1276 if (const auto *BD = dyn_cast<BlockDecl>(OuterD)) {
4643 BlockDecl *BlockDecl::Create(ASTContext &C, DeclContext *DC, SourceLocation L) {
4644 return new (C, DC) BlockDecl(DC, L);
4647 BlockDecl *BlockDecl::CreateDeserialized(ASTContext &C, unsigned ID) {
4648 return new (C, ID) BlockDecl(nullptr, SourceLocation());
tools/clang/lib/AST/DeclBase.cpp 929 isa<BlockDecl>(this) ||
984 else if (auto *BD = dyn_cast<BlockDecl>(D))
984 else if (auto *BD = dyn_cast<BlockDecl>(D))
1056 const BlockDecl *DeclContext::getInnermostBlockDecl() const {
1061 return cast<BlockDecl>(Ctx);
tools/clang/lib/AST/Expr.cpp 696 if (isa<BlockDecl>(CurrentDecl)) {
706 if (auto *DCBlock = dyn_cast<BlockDecl>(DC))
tools/clang/lib/AST/ItaniumCXXABI.cpp 155 unsigned getManglingNumber(const BlockDecl *BD) override {
tools/clang/lib/AST/ItaniumMangle.cpp 56 if (const BlockDecl *BD = dyn_cast<BlockDecl>(D)) {
56 if (const BlockDecl *BD = dyn_cast<BlockDecl>(D)) {
84 return isa<FunctionDecl>(DC) || isa<ObjCMethodDecl>(DC) || isa<BlockDecl>(DC);
490 void mangleBlockForPrefix(const BlockDecl *Block);
491 void mangleUnqualifiedBlock(const BlockDecl *Block);
1564 else if (const BlockDecl *BD = dyn_cast<BlockDecl>(DC))
1564 else if (const BlockDecl *BD = dyn_cast<BlockDecl>(DC))
1604 } else if (const BlockDecl *BD = dyn_cast<BlockDecl>(D)) {
1604 } else if (const BlockDecl *BD = dyn_cast<BlockDecl>(D)) {
1613 } else if (const BlockDecl *BD = dyn_cast<BlockDecl>(D)) {
1613 } else if (const BlockDecl *BD = dyn_cast<BlockDecl>(D)) {
1645 void CXXNameMangler::mangleBlockForPrefix(const BlockDecl *Block) {
1659 void CXXNameMangler::mangleUnqualifiedBlock(const BlockDecl *Block) {
tools/clang/lib/AST/JSONNodeDumper.cpp 170 void JSONNodeDumper::Visit(const BlockDecl::Capture &C) {
1033 void JSONNodeDumper::VisitBlockDecl(const BlockDecl *D) {
tools/clang/lib/AST/Mangle.cpp 37 const BlockDecl *BD,
196 void MangleContext::mangleGlobalBlock(const BlockDecl *BD,
214 CXXCtorType CT, const BlockDecl *BD,
223 CXXDtorType DT, const BlockDecl *BD,
231 void MangleContext::mangleBlock(const DeclContext *DC, const BlockDecl *BD,
242 if (isa<BlockDecl>(DC))
243 for (; DC && isa<BlockDecl>(DC); DC = DC->getParent())
244 (void) getBlockId(cast<BlockDecl>(DC), true);
tools/clang/lib/AST/MicrosoftCXXABI.cpp 44 unsigned getManglingNumber(const BlockDecl *BD) override {
tools/clang/lib/AST/MicrosoftMangle.cpp 93 if (const BlockDecl *BD = dyn_cast<BlockDecl>(D)) {
93 if (const BlockDecl *BD = dyn_cast<BlockDecl>(D)) {
1056 if (const BlockDecl *BD = dyn_cast<BlockDecl>(DC)) {
1056 if (const BlockDecl *BD = dyn_cast<BlockDecl>(DC)) {
tools/clang/lib/AST/StmtPrinter.cpp 2401 BlockDecl *BD = Node->getBlockDecl();
2410 for (BlockDecl::param_iterator AI = BD->param_begin(),
tools/clang/lib/AST/TextNodeDumper.cpp 293 void TextNodeDumper::Visit(const BlockDecl::Capture &C) {
1941 void TextNodeDumper::VisitBlockDecl(const BlockDecl *D) {
tools/clang/lib/ASTMatchers/ASTMatchersInternal.cpp 639 const internal::VariadicDynCastAllOfMatcher<Decl, BlockDecl>
tools/clang/lib/ASTMatchers/Dynamic/Marshallers.h 75 return Value.isMatcher() && Value.getMatcher().hasTypedMatcher<T>();
78 static ast_matchers::internal::Matcher<T> get(const VariantValue &Value) {
79 return Value.getMatcher().getTypedMatcher<T>();
83 return ArgKind(ast_type_traits::ASTNodeKind::getFromNodeKind<T>());
466 ast_matchers::internal::VariadicDynCastAllOfMatcher<BaseT, DerivedT> Func,
469 DerivedKind(ast_type_traits::ASTNodeKind::getFromNodeKind<DerivedT>()) {
778 ast_matchers::internal::VariadicDynCastAllOfMatcher<BaseT, DerivedT>
tools/clang/lib/Analysis/AnalysisDeclContext.cpp 118 } else if (const auto *BD = dyn_cast<BlockDecl>(D))
118 } else if (const auto *BD = dyn_cast<BlockDecl>(D))
151 if (const auto *BD = dyn_cast<BlockDecl>(D)) {
151 if (const auto *BD = dyn_cast<BlockDecl>(D)) {
321 const BlockDecl *BD,
423 const BlockDecl *BD,
629 static DeclVec* LazyInitializeReferencedDecls(const BlockDecl *BD,
653 AnalysisDeclContext::getReferencedBlockVars(const BlockDecl *BD) {
655 ReferencedBlockVars = new llvm::DenseMap<const BlockDecl*,void*>();
tools/clang/lib/Analysis/CFG.cpp 3215 for (const BlockDecl::Capture &CI : E->getBlockDecl()->captures()) {
tools/clang/lib/Analysis/CallGraph.cpp 141 if (BlockDecl *BD = dyn_cast<BlockDecl>(D))
141 if (BlockDecl *BD = dyn_cast<BlockDecl>(D))
tools/clang/lib/Analysis/PathDiagnostic.cpp 923 if (isa<BlockDecl>(D)) {
1210 else if (isa<BlockDecl>(D))
tools/clang/lib/Analysis/UninitializedValues.cpp 728 const BlockDecl *bd = be->getBlockDecl();
tools/clang/lib/CodeGen/Address.h 108 template <class U> inline U cast(CodeGen::Address addr) {
tools/clang/lib/CodeGen/CGBlocks.cpp 34 CGBlockInfo::CGBlockInfo(const BlockDecl *block, StringRef name)
84 const BlockDecl::Capture *CI;
91 const BlockDecl::Capture &CI,
343 const BlockDecl::Capture *Capture; // null for 'this'
349 const BlockDecl::Capture *capture,
503 const BlockDecl::Capture &CI) {
524 const BlockDecl *block = info.getBlockDecl();
780 static void enterBlockScope(CodeGenFunction &CGF, BlockDecl *block) {
874 const BlockDecl *block) {
1028 const BlockDecl *blockDecl = blockInfo.getBlockDecl();
1520 const BlockDecl *blockDecl = blockInfo.getBlockDecl();
1690 computeCopyInfoForBlockCapture(const BlockDecl::Capture &CI, QualType T,
1747 computeDestroyInfoForBlockCapture(const BlockDecl::Capture &CI, QualType T,
1815 const BlockDecl::Capture &CI = *E.CI;
2051 const BlockDecl::Capture &CI = *CopiedCapture.CI;
2133 getBlockFieldFlagsForObjCObjectPointer(const BlockDecl::Capture &CI,
2142 computeDestroyInfoForBlockCapture(const BlockDecl::Capture &CI, QualType T,
2244 const BlockDecl::Capture &CI = *DestroyedCapture.CI;
tools/clang/lib/CodeGen/CGBlocks.h 246 const BlockDecl *Block;
280 const BlockDecl *getBlockDecl() const { return Block; }
287 CGBlockInfo(const BlockDecl *blockDecl, StringRef Name);
tools/clang/lib/CodeGen/CGCall.cpp 1945 if (const auto *BD = dyn_cast<BlockDecl>(TargetDecl))
1945 if (const auto *BD = dyn_cast<BlockDecl>(TargetDecl))
2903 else if (isa<BlockDecl>(CurCodeDecl))
tools/clang/lib/CodeGen/CGClass.cpp 2874 const BlockDecl *BD = BlockInfo->getBlockDecl();
tools/clang/lib/CodeGen/CGDebugInfo.cpp 4167 const BlockDecl::Capture *Capture;
4219 const BlockDecl *blockDecl = block.getBlockDecl();
4271 const BlockDecl::Capture *capture = Chunk.Capture;
tools/clang/lib/CodeGen/CGDecl.cpp 207 else if (const auto *BD = dyn_cast<BlockDecl>(DC))
207 else if (const auto *BD = dyn_cast<BlockDecl>(DC))
280 if (isa<BlockDecl>(DC) || isa<CapturedDecl>(DC)) {
640 const BlockDecl *block = be->getBlockDecl();
1089 } else if (isa<BlockDecl>(DC)) {
1604 const BlockDecl *Block = BE->getBlockDecl();
tools/clang/lib/CodeGen/CGExpr.cpp 2764 if (auto *BD = dyn_cast_or_null<BlockDecl>(CurCodeDecl)) {
tools/clang/lib/CodeGen/CGObjCMac.cpp 2387 const BlockDecl *blockDecl = blockInfo.getBlockDecl();
2912 const BlockDecl *blockDecl = blockInfo.getBlockDecl();
tools/clang/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp 502 for (const BlockDecl::Capture &C : E->getBlockDecl()->captures()) {
4670 } else if (const auto *BD = dyn_cast<BlockDecl>(D)) {
4670 } else if (const auto *BD = dyn_cast<BlockDecl>(D)) {
tools/clang/lib/CodeGen/CGStmtOpenMP.cpp 51 (CGF.CurCodeDecl && isa<BlockDecl>(CGF.CurCodeDecl));
183 (CGF.CurCodeDecl && isa<BlockDecl>(CGF.CurCodeDecl) &&
184 cast<BlockDecl>(CGF.CurCodeDecl)->capturesVariable(VD));
256 (CurCodeDecl && isa<BlockDecl>(CurCodeDecl));
tools/clang/lib/CodeGen/CodeGenModule.cpp 1106 const BlockDecl *BD) {
tools/clang/lib/CodeGen/CodeGenModule.h 1162 StringRef getBlockMangledName(GlobalDecl GD, const BlockDecl *BD);
tools/clang/lib/CodeGen/CodeGenPGO.cpp 415 void VisitBlockDecl(const BlockDecl *D) {
809 else if (const BlockDecl *BD = dyn_cast_or_null<BlockDecl>(D))
809 else if (const BlockDecl *BD = dyn_cast_or_null<BlockDecl>(D))
876 else if (const BlockDecl *BD = dyn_cast_or_null<BlockDecl>(D))
876 else if (const BlockDecl *BD = dyn_cast_or_null<BlockDecl>(D))
tools/clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp 4050 BlockDecl *BD = CE->getBlockDecl();
4065 for (BlockDecl::param_iterator AI = BD->param_begin(),
5197 const BlockDecl *block = Exp->getBlockDecl();
tools/clang/lib/Frontend/Rewrite/RewriteObjC.cpp 3260 BlockDecl *BD = CE->getBlockDecl();
3275 for (BlockDecl::param_iterator AI = BD->param_begin(),
4351 const BlockDecl *block = Exp->getBlockDecl();
tools/clang/lib/Index/IndexingContext.cpp 276 if (isa<LinkageSpecDecl>(Parent) || isa<BlockDecl>(Parent))
tools/clang/lib/Sema/AnalysisBasedWarnings.cpp 657 else if (isa<BlockDecl>(D)) {
2138 (isa<BlockDecl>(D)
tools/clang/lib/Sema/JumpDiagnostics.cpp 76 void BuildScopeInformation(VarDecl *D, const BlockDecl *BDecl,
240 const BlockDecl *BDecl,
532 const BlockDecl *BDecl = EWC->getObject(i);
tools/clang/lib/Sema/Sema.cpp 1255 if (isa<BlockDecl>(DC) || isa<EnumDecl>(DC) || isa<CapturedDecl>(DC)) {
1644 void Sema::PushBlockScope(Scope *BlockScope, BlockDecl *Block) {
1694 for (const BlockDecl *BD : FSI.Blocks) {
1695 for (const BlockDecl::Capture &BC : BD->captures()) {
tools/clang/lib/Sema/SemaChecking.cpp 502 BlockDecl *BD = cast<BlockExpr>(BlockArg)->getBlockDecl();
5557 if (auto *Block = dyn_cast<BlockDecl>(Caller)) {
5557 if (auto *Block = dyn_cast<BlockDecl>(Caller)) {
tools/clang/lib/Sema/SemaCodeComplete.cpp 371 if (isa<BlockDecl>(S.CurContext)) {
3954 while (isa<BlockDecl>(CurContext))
tools/clang/lib/Sema/SemaDecl.cpp 5472 else if (isa<BlockDecl>(Cur))
7324 if (!isa<BlockDecl>(ParentDC) && !isa<CapturedDecl>(ParentDC) &&
13729 llvm::DenseMap<const BlockDecl *, bool> EscapeInfo;
13736 const BlockDecl *CurBD = BD;
13750 for (const std::pair<SourceLocation, const BlockDecl *> &P :
tools/clang/lib/Sema/SemaDeclAttr.cpp 65 return isFunctionOrMethod(D) || isa<BlockDecl>(D);
72 return isa<DeclaratorDecl>(D) || isa<BlockDecl>(D) || isa<TypedefNameDecl>(D) ||
82 return isa<ObjCMethodDecl>(D) || isa<BlockDecl>(D);
91 if (const auto *BD = dyn_cast<BlockDecl>(D))
91 if (const auto *BD = dyn_cast<BlockDecl>(D))
102 if (const auto *BD = dyn_cast<BlockDecl>(D))
102 if (const auto *BD = dyn_cast<BlockDecl>(D))
110 if (const auto *BD = dyn_cast<BlockDecl>(D))
110 if (const auto *BD = dyn_cast<BlockDecl>(D))
139 if (const auto *BD = dyn_cast<BlockDecl>(D))
139 if (const auto *BD = dyn_cast<BlockDecl>(D))
2695 } else if (const auto *BD = dyn_cast<BlockDecl>(D)) {
2695 } else if (const auto *BD = dyn_cast<BlockDecl>(D)) {
6408 if (!isa<BlockDecl>(D)) {
8464 else if (auto *BD = dyn_cast<BlockDecl>(D))
8464 else if (auto *BD = dyn_cast<BlockDecl>(D))
tools/clang/lib/Sema/SemaExpr.cpp 2618 if (const BlockDecl *BD = CurContext->getInnermostBlockDecl())
11488 return (isa<BlockDecl>(DC) ? NCCK_Block : NCCK_Lambda);
14082 BlockDecl *Block = BlockDecl::Create(Context, CurContext, CaretLoc);
14082 BlockDecl *Block = BlockDecl::Create(Context, CurContext, CaretLoc);
14253 BlockDecl *BD = BSI->TheDecl;
14332 SmallVector<BlockDecl::Capture, 4> Captures;
14392 BlockDecl::Capture NewCap(Var, Cap.isBlockCapture(), Cap.isNested(),
15684 } else if (isa<BlockDecl>(VarDC)) {
15732 if (isa<BlockDecl>(DC) || isa<CapturedDecl>(DC) || isLambdaCallOperator(DC))
tools/clang/lib/Sema/SemaLambda.cpp 1883 BlockDecl *Block = BlockDecl::Create(Context, CurContext, ConvLocation);
1883 BlockDecl *Block = BlockDecl::Create(Context, CurContext, ConvLocation);
1913 BlockDecl::Capture Capture(/*variable=*/CapVar, /*byRef=*/false,
tools/clang/lib/Sema/SemaTemplateInstantiate.cpp 2172 if (isa<BlockDecl>(Member))
tools/clang/lib/Sema/TreeTransform.h12726 BlockDecl *oldBlock = E->getBlockDecl();
tools/clang/lib/Serialization/ASTCommon.cpp 443 return isa<TagDecl>(D) || isa<BlockDecl>(D);
tools/clang/lib/Serialization/ASTReaderDecl.cpp 405 void VisitBlockDecl(BlockDecl *BD);
1484 void ASTDeclReader::VisitBlockDecl(BlockDecl *BD) {
1503 SmallVector<BlockDecl::Capture, 16> captures;
3837 D = BlockDecl::CreateDeserialized(Context, ID);
tools/clang/lib/Serialization/ASTReaderStmt.cpp 95 T *ReadDeclAs() {
96 return Record.readDeclAs<T>();
1107 E->setBlockDecl(ReadDeclAs<BlockDecl>());
1684 E->getTrailingObjects<BlockDecl *>()[i] =
1685 ReadDeclAs<BlockDecl>();
tools/clang/lib/Serialization/ASTWriterDecl.cpp 124 void VisitBlockDecl(BlockDecl *D);
1134 void ASTDeclWriter::VisitBlockDecl(BlockDecl *D) {
tools/clang/lib/StaticAnalyzer/Checkers/AnalyzerStatsChecker.cpp 100 else if (isa<BlockDecl>(D)) {
tools/clang/lib/StaticAnalyzer/Checkers/CallAndMessageChecker.cpp 400 if (D && (isa<FunctionDecl>(D) || isa<BlockDecl>(D))) {
tools/clang/lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp 415 if (const auto *BD = dyn_cast<BlockDecl>(D))
415 if (const auto *BD = dyn_cast<BlockDecl>(D))
tools/clang/lib/StaticAnalyzer/Checkers/ReturnUndefChecker.cpp 63 if (RT.isNull() && isa<BlockDecl>(SFC->getDecl()) &&
tools/clang/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp 58 bool isSemaphoreCaptured(const BlockDecl &B) const;
90 const BlockDecl *BD = BR->getCodeRegion()->getDecl();
125 bool StackAddrEscapeChecker::isSemaphoreCaptured(const BlockDecl &B) const {
tools/clang/lib/StaticAnalyzer/Core/CallEvent.cpp 241 else if (const auto *BD = dyn_cast<BlockDecl>(D))
241 else if (const auto *BD = dyn_cast<BlockDecl>(D))
468 if (const auto *BD = dyn_cast<BlockDecl>(D)) {
468 if (const auto *BD = dyn_cast<BlockDecl>(D)) {
498 if (const auto *BD = dyn_cast<BlockDecl>(D))
498 if (const auto *BD = dyn_cast<BlockDecl>(D))
855 const BlockDecl *D = getDecl();
884 Params = cast<BlockDecl>(CalleeCtx->getDecl())->parameters();
tools/clang/lib/StaticAnalyzer/Core/CheckerContext.cpp 39 if (isa<BlockDecl>(D))
tools/clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp 201 const BlockDecl *BD = BE->getBlockDecl();
tools/clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp 444 cast<BlockDecl>(D),
tools/clang/lib/StaticAnalyzer/Core/MemRegion.cpp 359 const BlockDecl *BD, CanQualType,
902 else if (const auto *BD = dyn_cast<BlockDecl>(STCD)) {
902 else if (const auto *BD = dyn_cast<BlockDecl>(STCD)) {
943 const BlockDecl *BD = BC->getDecl();
1017 MemRegionManager::getBlockCodeRegion(const BlockDecl *BD, CanQualType locTy,
tools/clang/lib/StaticAnalyzer/Core/SValBuilder.cpp 259 DefinedSVal SValBuilder::getBlockPointer(const BlockDecl *block,
tools/clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp 442 bool VisitBlockDecl(BlockDecl *BD) {
698 } else if (isa<BlockDecl>(D)) {
tools/clang/tools/libclang/CIndex.cpp 586 bool CursorVisitor::VisitBlockDecl(BlockDecl *B) {
tools/clang/tools/libclang/CursorVisitor.h 200 bool VisitBlockDecl(BlockDecl *B);
tools/lldb/include/lldb/Symbol/ClangASTContext.h 941 clang::BlockDecl *CreateBlockDeclaration(clang::DeclContext *ctx);
tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp 3514 clang::BlockDecl *DWARFASTParserClang::ResolveBlockDIE(const DWARFDIE &die) {
3516 clang::BlockDecl *decl =
3517 llvm::cast_or_null<clang::BlockDecl>(m_die_to_decl_ctx[die.GetDIE()]);
tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h 95 clang::BlockDecl *ResolveBlockDIE(const DWARFDIE &die);
tools/lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.cpp 813 clang::BlockDecl *
816 return llvm::dyn_cast<clang::BlockDecl>(decl);
820 clang::BlockDecl *block_decl = m_clang.CreateBlockDeclaration(scope);
1174 return !!llvm::dyn_cast<clang::BlockDecl>(&context);
tools/lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.h 64 clang::BlockDecl *GetOrCreateBlockDecl(PdbCompilandSymId block_id);
tools/lldb/source/Symbol/ClangASTContext.cpp 1874 clang::BlockDecl *
1877 clang::BlockDecl *decl = clang::BlockDecl::Create(*getASTContext(), ctx,
1877 clang::BlockDecl *decl = clang::BlockDecl::Create(*getASTContext(), ctx,
usr/include/c++/7.4.0/type_traits 215 : public __is_void_helper<typename remove_cv<_Tp>::type>::type
581 : public __or_<is_lvalue_reference<_Tp>,
582 is_rvalue_reference<_Tp>>::type
601 : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
601 : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
602 is_void<_Tp>>>::type
638 : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
638 : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
1554 { typedef _Tp type; };
1558 { typedef _Tp type; };
1563 { typedef _Tp type; };
1574 remove_const<typename remove_volatile<_Tp>::type>::type type;
1580 { typedef _Tp const type; };
1629 { typedef _Tp type; };
1983 { typedef _Up type; };
1999 { typedef typename remove_reference<_Tp>::type* type; };
2003 : public __add_pointer_helper<_Tp>