Lines Matching refs:BlockArg
805 static bool checkOpenCLBlockArgs(Sema &S, Expr *BlockArg) { in checkOpenCLBlockArgs() argument
807 cast<BlockPointerType>(BlockArg->getType().getCanonicalType()); in checkOpenCLBlockArgs()
823 if (isa<BlockExpr>(BlockArg)) { in checkOpenCLBlockArgs()
824 BlockDecl *BD = cast<BlockExpr>(BlockArg)->getBlockDecl(); in checkOpenCLBlockArgs()
826 } else if (isa<DeclRefExpr>(BlockArg)) { in checkOpenCLBlockArgs()
827 ErrorLoc = cast<DeclRefExpr>(BlockArg)->getBeginLoc(); in checkOpenCLBlockArgs()
862 Expr *BlockArg = TheCall->getArg(1); in SemaOpenCLBuiltinNDRangeAndBlock() local
863 if (!isBlockPointer(BlockArg)) { in SemaOpenCLBuiltinNDRangeAndBlock()
864 S.Diag(BlockArg->getBeginLoc(), diag::err_opencl_builtin_expected_type) in SemaOpenCLBuiltinNDRangeAndBlock()
868 return checkOpenCLBlockArgs(S, BlockArg); in SemaOpenCLBuiltinNDRangeAndBlock()
878 Expr *BlockArg = TheCall->getArg(0); in SemaOpenCLBuiltinKernelWorkGroupSize() local
879 if (!isBlockPointer(BlockArg)) { in SemaOpenCLBuiltinKernelWorkGroupSize()
880 S.Diag(BlockArg->getBeginLoc(), diag::err_opencl_builtin_expected_type) in SemaOpenCLBuiltinKernelWorkGroupSize()
884 return checkOpenCLBlockArgs(S, BlockArg); in SemaOpenCLBuiltinKernelWorkGroupSize()
903 Expr *BlockArg, in checkOpenCLEnqueueVariadicArgs() argument
906 cast<BlockPointerType>(BlockArg->getType().getCanonicalType()); in checkOpenCLEnqueueVariadicArgs()