Lines Matching refs:BlockArg
807 static bool checkOpenCLBlockArgs(Sema &S, Expr *BlockArg) { in checkOpenCLBlockArgs() argument
809 cast<BlockPointerType>(BlockArg->getType().getCanonicalType()); in checkOpenCLBlockArgs()
825 if (isa<BlockExpr>(BlockArg)) { in checkOpenCLBlockArgs()
826 BlockDecl *BD = cast<BlockExpr>(BlockArg)->getBlockDecl(); in checkOpenCLBlockArgs()
828 } else if (isa<DeclRefExpr>(BlockArg)) { in checkOpenCLBlockArgs()
829 ErrorLoc = cast<DeclRefExpr>(BlockArg)->getBeginLoc(); in checkOpenCLBlockArgs()
864 Expr *BlockArg = TheCall->getArg(1); in SemaOpenCLBuiltinNDRangeAndBlock() local
865 if (!isBlockPointer(BlockArg)) { in SemaOpenCLBuiltinNDRangeAndBlock()
866 S.Diag(BlockArg->getBeginLoc(), diag::err_opencl_builtin_expected_type) in SemaOpenCLBuiltinNDRangeAndBlock()
870 return checkOpenCLBlockArgs(S, BlockArg); in SemaOpenCLBuiltinNDRangeAndBlock()
880 Expr *BlockArg = TheCall->getArg(0); in SemaOpenCLBuiltinKernelWorkGroupSize() local
881 if (!isBlockPointer(BlockArg)) { in SemaOpenCLBuiltinKernelWorkGroupSize()
882 S.Diag(BlockArg->getBeginLoc(), diag::err_opencl_builtin_expected_type) in SemaOpenCLBuiltinKernelWorkGroupSize()
886 return checkOpenCLBlockArgs(S, BlockArg); in SemaOpenCLBuiltinKernelWorkGroupSize()
905 Expr *BlockArg, in checkOpenCLEnqueueVariadicArgs() argument
908 cast<BlockPointerType>(BlockArg->getType().getCanonicalType()); in checkOpenCLEnqueueVariadicArgs()