Lines Matching refs:BlockArg
371 static bool checkOpenCLBlockArgs(Sema &S, Expr *BlockArg) { in checkOpenCLBlockArgs() argument
373 cast<BlockPointerType>(BlockArg->getType().getCanonicalType()); in checkOpenCLBlockArgs()
389 if (isa<BlockExpr>(BlockArg)) { in checkOpenCLBlockArgs()
390 BlockDecl *BD = cast<BlockExpr>(BlockArg)->getBlockDecl(); in checkOpenCLBlockArgs()
392 } else if (isa<DeclRefExpr>(BlockArg)) { in checkOpenCLBlockArgs()
393 ErrorLoc = cast<DeclRefExpr>(BlockArg)->getBeginLoc(); in checkOpenCLBlockArgs()
428 Expr *BlockArg = TheCall->getArg(1); in SemaOpenCLBuiltinNDRangeAndBlock() local
429 if (!isBlockPointer(BlockArg)) { in SemaOpenCLBuiltinNDRangeAndBlock()
430 S.Diag(BlockArg->getBeginLoc(), diag::err_opencl_builtin_expected_type) in SemaOpenCLBuiltinNDRangeAndBlock()
434 return checkOpenCLBlockArgs(S, BlockArg); in SemaOpenCLBuiltinNDRangeAndBlock()
444 Expr *BlockArg = TheCall->getArg(0); in SemaOpenCLBuiltinKernelWorkGroupSize() local
445 if (!isBlockPointer(BlockArg)) { in SemaOpenCLBuiltinKernelWorkGroupSize()
446 S.Diag(BlockArg->getBeginLoc(), diag::err_opencl_builtin_expected_type) in SemaOpenCLBuiltinKernelWorkGroupSize()
450 return checkOpenCLBlockArgs(S, BlockArg); in SemaOpenCLBuiltinKernelWorkGroupSize()
469 Expr *BlockArg, in checkOpenCLEnqueueVariadicArgs() argument
472 cast<BlockPointerType>(BlockArg->getType().getCanonicalType()); in checkOpenCLEnqueueVariadicArgs()