|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
Declarations
gen/tools/clang/include/clang/AST/StmtNodes.inc 649 BLOCKEXPR(BlockExpr, Expr)
tools/clang/include/clang/AST/ASTContext.h 89 class BlockExpr;
tools/clang/include/clang/Sema/AnalysisBasedWarnings.h 20 class BlockExpr;
tools/clang/lib/CodeGen/CGOpenCLRuntime.h 26 class BlockExpr;
tools/clang/lib/CodeGen/CodeGenModule.h 61 class BlockExpr;
References
include/llvm/ADT/DenseMapInfo.h 39 static inline T* getEmptyKey() {
41 Val <<= PointerLikeTypeTraits<T*>::NumLowBitsAvailable;
45 static inline T* getTombstoneKey() {
47 Val <<= PointerLikeTypeTraits<T*>::NumLowBitsAvailable;
51 static unsigned getHashValue(const T *PtrVal) {
56 static bool isEqual(const T *LHS, const T *RHS) { return LHS == RHS; }
56 static bool isEqual(const T *LHS, const T *RHS) { return LHS == RHS; }
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);
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*,
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) {
343 return isa<X>(Val) ? cast<X>(Val) : nullptr;
343 return 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/ASTContext.h 1830 std::string getObjCEncodingForBlock(const BlockExpr *blockExpr) const;
tools/clang/include/clang/AST/ASTNodeTraverser.h 612 void VisitBlockExpr(const BlockExpr *Node) { Visit(Node->getBlockDecl()); }
tools/clang/include/clang/AST/ASTTypeTraits.h 65 return ASTNodeKind(KindToKindId<T>::Id);
tools/clang/include/clang/ASTMatchers/ASTMatchers.h 1821 extern const internal::VariadicDynCastAllOfMatcher<Stmt, BlockExpr> blockExpr;
tools/clang/include/clang/ASTMatchers/ASTMatchersInternal.h 436 return canConvertTo(ast_type_traits::ASTNodeKind::getFromNodeKind<T>());
445 template <typename T> Matcher<T> convertTo() const {
447 return unconditionalConvertTo<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>());
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 {
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) {
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/StaticAnalyzer/Core/Checker.h 104 ((const CHECKER *)checker)->checkPostStmt(cast<STMT>(S), C);
108 return isa<STMT>(S);
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h 429 void VisitBlockExpr(const BlockExpr *BE, ExplodedNode *Pred,
tools/clang/lib/ARCMigrate/TransZeroOutPropsInDealloc.cpp 144 bool TraverseBlockExpr(BlockExpr *block) { return true; }
tools/clang/lib/AST/ASTContext.cpp 6321 std::string ASTContext::getObjCEncodingForBlock(const BlockExpr *Expr) const {
tools/clang/lib/AST/Expr.cpp 1460 if (auto *BE = dyn_cast<BlockExpr>(CEE))
1460 if (auto *BE = dyn_cast<BlockExpr>(CEE))
tools/clang/lib/AST/ExprConstant.cpp 1904 return !cast<BlockExpr>(E)->getBlockDecl()->hasCaptures();
7844 bool VisitBlockExpr(const BlockExpr *E) {
tools/clang/lib/AST/StmtPrinter.cpp 2400 void StmtPrinter::VisitBlockExpr(BlockExpr *Node) {
tools/clang/lib/AST/StmtProfile.cpp 1287 void StmtProfiler::VisitBlockExpr(const BlockExpr *S) {
tools/clang/lib/ASTMatchers/ASTMatchersInternal.cpp 692 const internal::VariadicDynCastAllOfMatcher<Stmt, BlockExpr> blockExpr;
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 608 void VisitBlockExpr(BlockExpr *BR) {
tools/clang/lib/Analysis/CFG.cpp 582 CFGBlock *VisitBlockExpr(BlockExpr *E, AddStmtChoice asc);
2148 return VisitBlockExpr(cast<BlockExpr>(S), asc);
3213 CFGBlock *CFGBuilder::VisitBlockExpr(BlockExpr *E, AddStmtChoice asc) {
tools/clang/lib/Analysis/CallGraph.cpp 61 if (BlockExpr *Block = dyn_cast<BlockExpr>(CEE)) {
61 if (BlockExpr *Block = dyn_cast<BlockExpr>(CEE)) {
tools/clang/lib/Analysis/LiveVariables.cpp 213 void VisitBlockExpr(BlockExpr *BE);
401 void TransferFunctions::VisitBlockExpr(BlockExpr *BE) {
tools/clang/lib/Analysis/UninitializedValues.cpp 535 void VisitBlockExpr(BlockExpr *be);
727 void TransferFunctions::VisitBlockExpr(BlockExpr *be) {
tools/clang/lib/CodeGen/Address.h 108 template <class U> inline U cast(CodeGen::Address addr) {
tools/clang/lib/CodeGen/CGBlocks.cpp 900 llvm::Value *CodeGenFunction::EmitBlockLiteral(const BlockExpr *blockExpr) {
1352 void CodeGenModule::setAddrOfGlobalBlock(const BlockExpr *BE,
1360 CodeGenModule::GetAddrOfGlobalBlock(const BlockExpr *BE,
tools/clang/lib/CodeGen/CGBlocks.h 247 const BlockExpr *BlockExpression;
281 const BlockExpr *getBlockExpr() const {
tools/clang/lib/CodeGen/CGDecl.cpp 639 if (const BlockExpr *be = dyn_cast<BlockExpr>(e)) {
639 if (const BlockExpr *be = dyn_cast<BlockExpr>(e)) {
1603 if (const BlockExpr *BE = dyn_cast<BlockExpr>(E)) {
1603 if (const BlockExpr *BE = dyn_cast<BlockExpr>(E)) {
tools/clang/lib/CodeGen/CGExprConstant.cpp 1769 ConstantLValue VisitBlockExpr(const BlockExpr *E);
1975 ConstantLValueEmitter::VisitBlockExpr(const BlockExpr *E) {
tools/clang/lib/CodeGen/CGExprScalar.cpp 825 Value *VisitBlockExpr(const BlockExpr *BE);
4323 Value *ScalarExprEmitter::VisitBlockExpr(const BlockExpr *block) {
tools/clang/lib/CodeGen/CGObjC.cpp 2857 if (isa<BlockExpr>(e))
2898 Result visitBlockExpr(const BlockExpr *e);
2975 Result ARCExprEmitter<Impl, Result>::visitBlockExpr(const BlockExpr *e) {
3123 } else if (auto *be = dyn_cast<BlockExpr>(e))
tools/clang/lib/CodeGen/CGOpenCLRuntime.cpp 130 static const BlockExpr *getBlockExpr(const Expr *E) {
132 while(!isa<BlockExpr>(E) && E != Prev) {
139 return cast<BlockExpr>(E);
144 void CGOpenCLRuntime::recordBlockInfo(const BlockExpr *E,
166 const BlockExpr *Block = getBlockExpr(E);
tools/clang/lib/CodeGen/CGOpenCLRuntime.h 92 void recordBlockInfo(const BlockExpr *E, llvm::Function *InvokeF,
tools/clang/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp 499 void VisitBlockExpr(const BlockExpr *E) {
tools/clang/lib/CodeGen/CodeGenFunction.h 1764 llvm::Value *EmitBlockLiteral(const BlockExpr *);
tools/clang/lib/CodeGen/CodeGenModule.h 508 llvm::DenseMap<const BlockExpr *, llvm::Constant *> EmittedGlobalBlocks;
900 llvm::Constant *GetAddrOfGlobalBlock(const BlockExpr *BE, StringRef Name);
904 llvm::Constant *getAddrOfGlobalBlockIfEmitted(const BlockExpr *BE) {
910 void setAddrOfGlobalBlock(const BlockExpr *BE, llvm::Constant *Addr);
tools/clang/lib/CodeGen/CodeGenPGO.cpp 166 bool TraverseBlockExpr(BlockExpr *BE) { return true; }
tools/clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp 132 SmallVector<BlockExpr *, 32> Blocks;
147 llvm::DenseMap<BlockExpr *, std::string> RewrittenBlockExprs;
466 std::string SynthesizeBlockHelperFuncs(BlockExpr *CE, int i,
468 std::string SynthesizeBlockFunc(BlockExpr *CE, int i,
470 std::string SynthesizeBlockImpl(BlockExpr *CE,
480 Stmt *SynthBlockInitExpr(BlockExpr *Exp,
491 void CollectBlockDeclRefInfo(BlockExpr *Exp);
4037 std::string RewriteModernObjC::SynthesizeBlockFunc(BlockExpr *CE, int i,
4133 std::string RewriteModernObjC::SynthesizeBlockHelperFuncs(BlockExpr *CE, int i,
4177 std::string RewriteModernObjC::SynthesizeBlockImpl(BlockExpr *CE, std::string Tag,
4461 if (BlockExpr *CBE = dyn_cast<BlockExpr>(SubStmt))
4461 if (BlockExpr *CBE = dyn_cast<BlockExpr>(SubStmt))
4479 if (BlockExpr *CBE = dyn_cast<BlockExpr>(SubStmt)) {
4479 if (BlockExpr *CBE = dyn_cast<BlockExpr>(SubStmt)) {
5158 void RewriteModernObjC::CollectBlockDeclRefInfo(BlockExpr *Exp) {
5195 Stmt *RewriteModernObjC::SynthBlockInitExpr(BlockExpr *Exp,
5459 if (BlockExpr *BE = dyn_cast<BlockExpr>(S)) {
5459 if (BlockExpr *BE = dyn_cast<BlockExpr>(S)) {
tools/clang/lib/Frontend/Rewrite/RewriteObjC.cpp 123 SmallVector<BlockExpr *, 32> Blocks;
138 llvm::DenseMap<BlockExpr *, std::string> RewrittenBlockExprs;
376 std::string SynthesizeBlockHelperFuncs(BlockExpr *CE, int i,
378 std::string SynthesizeBlockFunc(BlockExpr *CE, int i,
380 std::string SynthesizeBlockImpl(BlockExpr *CE,
390 Stmt *SynthBlockInitExpr(BlockExpr *Exp,
402 void CollectBlockDeclRefInfo(BlockExpr *Exp);
3251 std::string RewriteObjC::SynthesizeBlockFunc(BlockExpr *CE, int i,
3343 std::string RewriteObjC::SynthesizeBlockHelperFuncs(BlockExpr *CE, int i,
3387 std::string RewriteObjC::SynthesizeBlockImpl(BlockExpr *CE, std::string Tag,
3648 if (BlockExpr *CBE = dyn_cast<BlockExpr>(SubStmt))
3648 if (BlockExpr *CBE = dyn_cast<BlockExpr>(SubStmt))
3666 if (BlockExpr *CBE = dyn_cast<BlockExpr>(SubStmt)) {
3666 if (BlockExpr *CBE = dyn_cast<BlockExpr>(SubStmt)) {
4312 void RewriteObjC::CollectBlockDeclRefInfo(BlockExpr *Exp) {
4349 Stmt *RewriteObjC::SynthBlockInitExpr(BlockExpr *Exp,
4581 if (BlockExpr *BE = dyn_cast<BlockExpr>(S)) {
4581 if (BlockExpr *BE = dyn_cast<BlockExpr>(S)) {
tools/clang/lib/Sema/AnalysisBasedWarnings.cpp 1012 const BlockExpr *BE = cast<BlockExpr>(Use.getUser());
1012 const BlockExpr *BE = cast<BlockExpr>(Use.getUser());
tools/clang/lib/Sema/SemaChecking.cpp 501 if (isa<BlockExpr>(BlockArg)) {
502 BlockDecl *BD = cast<BlockExpr>(BlockArg)->getBlockDecl();
13566 void VisitBlockExpr(BlockExpr *block) {
13625 BlockExpr *block = dyn_cast<BlockExpr>(e);
13625 BlockExpr *block = dyn_cast<BlockExpr>(e);
tools/clang/lib/Sema/SemaDecl.cpp11823 if (auto *BE = dyn_cast<BlockExpr>(E->getSubExpr()->IgnoreParens()))
11823 if (auto *BE = dyn_cast<BlockExpr>(E->getSubExpr()->IgnoreParens()))
tools/clang/lib/Sema/SemaExpr.cpp 5176 if (auto *BE = dyn_cast<BlockExpr>(Arg->IgnoreParenNoopCasts(Context)))
5176 if (auto *BE = dyn_cast<BlockExpr>(Arg->IgnoreParenNoopCasts(Context)))
12892 if (auto *BE = dyn_cast<BlockExpr>(RHS.get()->IgnoreParens()))
12892 if (auto *BE = dyn_cast<BlockExpr>(RHS.get()->IgnoreParens()))
14398 BlockExpr *Result = new (Context) BlockExpr(BD, BlockTy);
14398 BlockExpr *Result = new (Context) BlockExpr(BD, BlockTy);
tools/clang/lib/Sema/SemaExprCXX.cpp 6407 isa<BlockExpr>(cast<CastExpr>(E)->getSubExpr())) {
tools/clang/lib/Sema/SemaExprObjC.cpp 1667 if (auto *BE = dyn_cast<BlockExpr>(
1667 if (auto *BE = dyn_cast<BlockExpr>(
tools/clang/lib/Sema/SemaInit.cpp 7257 if (cast<BlockExpr>(Init)->getBlockDecl()->hasCaptures()) {
7259 Visit(Path, Local(cast<BlockExpr>(Init)), RK_ReferenceBinding);
7509 } else if (isa<BlockExpr>(L)) {
tools/clang/lib/Sema/SemaLambda.cpp 1922 Expr *BuildBlock = new (Context) BlockExpr(Block, Conv->getConversionType());
tools/clang/lib/Serialization/ASTReaderStmt.cpp 1105 void ASTStmtReader::VisitBlockExpr(BlockExpr *E) {
2783 S = new (Context) BlockExpr(Empty);
tools/clang/lib/Serialization/ASTWriterStmt.cpp 1014 void ASTStmtWriter::VisitBlockExpr(BlockExpr *E) {
tools/clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp 335 check::PostStmt<BlockExpr>, check::PostObjCMessage,
366 void checkPostStmt(const BlockExpr *BE, CheckerContext &C) const;
2766 void MallocChecker::checkPostStmt(const BlockExpr *BE,
tools/clang/lib/StaticAnalyzer/Checkers/ObjCUnusedIVarsChecker.cpp 45 if (const BlockExpr *BE = dyn_cast<BlockExpr>(S)) {
45 if (const BlockExpr *BE = dyn_cast<BlockExpr>(S)) {
tools/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.cpp 146 void RetainCountChecker::checkPostStmt(const BlockExpr *BE,
tools/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.h 243 check::PostStmt<BlockExpr>,
295 void checkPostStmt(const BlockExpr *BE, CheckerContext &C) const;
tools/clang/lib/StaticAnalyzer/Checkers/UndefCapturedBlockVarChecker.cpp 28 : public Checker< check::PostStmt<BlockExpr> > {
32 void checkPostStmt(const BlockExpr *BE, CheckerContext &C) const;
51 UndefCapturedBlockVarChecker::checkPostStmt(const BlockExpr *BE,
tools/clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp 1476 } else if (isa<BlockExpr>(S)) {
tools/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp 1515 VisitBlockExpr(cast<BlockExpr>(S), Pred, Dst);
tools/clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp 196 void ExprEngine::VisitBlockExpr(const BlockExpr *BE, ExplodedNode *Pred,
tools/clang/tools/libclang/CIndex.cpp 1972 void VisitBlockExpr(const BlockExpr *B);
2466 void EnqueueVisitor::VisitBlockExpr(const BlockExpr *B) {
usr/include/c++/7.4.0/type_traits 215 : public __is_void_helper<typename remove_cv<_Tp>::type>::type
326 : public __is_integral_helper<typename remove_cv<_Tp>::type>::type
354 : public __is_floating_point_helper<typename remove_cv<_Tp>::type>::type
381 : public __is_pointer_helper<typename remove_cv<_Tp>::type>::type
567 : public __is_null_pointer_helper<typename remove_cv<_Tp>::type>::type
581 : public __or_<is_lvalue_reference<_Tp>,
582 is_rvalue_reference<_Tp>>::type
588 : public __or_<is_integral<_Tp>, is_floating_point<_Tp>>::type
588 : public __or_<is_integral<_Tp>, is_floating_point<_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
611 : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
611 : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
611 : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
612 is_member_pointer<_Tp>, is_null_pointer<_Tp>>::type
612 is_member_pointer<_Tp>, is_null_pointer<_Tp>>::type
631 : public __is_member_pointer_helper<typename remove_cv<_Tp>::type>::type
638 : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
638 : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
777 : public __and_<is_array<_Tp>, __not_<extent<_Tp>>>
777 : public __and_<is_array<_Tp>, __not_<extent<_Tp>>>
798 typedef decltype(__test<_Tp>(0)) type;
811 remove_all_extents<_Tp>::type>::type
825 : public __is_destructible_safe<_Tp>::type
1447 : public __and_<is_destructible<_Tp>, integral_constant<bool,
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; };
1659 { typedef _Tp&& type; };
1955 { typedef _Tp type; };
1983 { typedef _Up type; };
1999 { typedef typename remove_reference<_Tp>::type* type; };
2003 : public __add_pointer_helper<_Tp>