/freebsd/contrib/llvm-project/clang/lib/Sema/ |
H A D | SemaPPC.cpp | 94 CallExpr *TheCall) { in CheckPPCBuiltinFunctionCall() argument 101 return Diag(TheCall->getBeginLoc(), diag::err_64_bit_builtin_32_bit_tgt) in CheckPPCBuiltinFunctionCall() 102 << TheCall->getSourceRange(); in CheckPPCBuiltinFunctionCall() 109 return SemaRef.BuiltinConstantArgRange(TheCall, 1, 0, 1) || in CheckPPCBuiltinFunctionCall() 110 SemaRef.BuiltinConstantArgRange(TheCall, 2, 0, 15); in CheckPPCBuiltinFunctionCall() 112 return SemaRef.BuiltinConstantArgRange(TheCall, 0, 0, 3); in CheckPPCBuiltinFunctionCall() 115 return SemaRef.BuiltinConstantArgRange(TheCall, 0, 0, 1); in CheckPPCBuiltinFunctionCall() 117 return SemaRef.BuiltinConstantArgRange(TheCall, 0, 0, 7); in CheckPPCBuiltinFunctionCall() 120 return SemaRef.BuiltinConstantArgRange(TheCall, 0, 0, 31); in CheckPPCBuiltinFunctionCall() 123 return SemaRef.BuiltinConstantArgRange(TheCall, 0, 0, 31) || in CheckPPCBuiltinFunctionCall() [all …]
|
H A D | SemaLoongArch.cpp | 24 CallExpr *TheCall) { in CheckLoongArchBuiltinFunctionCall() argument 31 SemaRef.BuiltinConstantArgRange(TheCall, 0, 0, llvm::maxUIntN(5)); in CheckLoongArchBuiltinFunctionCall() 32 SemaRef.BuiltinConstantArgRange(TheCall, 2, llvm::minIntN(12), in CheckLoongArchBuiltinFunctionCall() 41 return SemaRef.BuiltinConstantArgRange(TheCall, 0, 0, 32767); in CheckLoongArchBuiltinFunctionCall() 44 return SemaRef.BuiltinConstantArgRange(TheCall, 0, 0, 16383); in CheckLoongArchBuiltinFunctionCall() 47 return SemaRef.BuiltinConstantArgRange(TheCall, 1, 0, 16383); in CheckLoongArchBuiltinFunctionCall() 50 return SemaRef.BuiltinConstantArgRange(TheCall, 2, 0, 16383); in CheckLoongArchBuiltinFunctionCall() 53 return SemaRef.BuiltinConstantArgRange(TheCall, 1, 0, 31); in CheckLoongArchBuiltinFunctionCall() 56 return SemaRef.BuiltinConstantArgRange(TheCall, 0, 0, llvm::maxUIntN(2)); in CheckLoongArchBuiltinFunctionCall() 72 return SemaRef.BuiltinConstantArgRange(TheCall, 1, 0, 7); in CheckLoongArchBuiltinFunctionCall() [all …]
|
H A D | SemaWasm.cpp | 54 bool SemaWasm::BuiltinWasmRefNullExtern(CallExpr *TheCall) { in BuiltinWasmRefNullExtern() argument 55 if (TheCall->getNumArgs() != 0) in BuiltinWasmRefNullExtern() 58 TheCall->setType(getASTContext().getWebAssemblyExternrefType()); in BuiltinWasmRefNullExtern() 63 bool SemaWasm::BuiltinWasmRefNullFunc(CallExpr *TheCall) { in BuiltinWasmRefNullFunc() argument 65 if (TheCall->getNumArgs() != 0) { in BuiltinWasmRefNullFunc() 66 Diag(TheCall->getBeginLoc(), diag::err_typecheck_call_too_many_args) in BuiltinWasmRefNullFunc() 67 << 0 /*function call*/ << /*expected*/ 0 << TheCall->getNumArgs() in BuiltinWasmRefNullFunc() 79 TheCall->setType(Type); in BuiltinWasmRefNullFunc() 86 bool SemaWasm::BuiltinWasmTableGet(CallExpr *TheCall) { in BuiltinWasmTableGet() argument 87 if (SemaRef.checkArgCount(TheCall, 2)) in BuiltinWasmTableGet() [all …]
|
H A D | SemaARM.cpp | 26 CallExpr *TheCall) { in BuiltinARMMemoryTaggingCall() argument 30 if (SemaRef.checkArgCount(TheCall, 2)) in BuiltinARMMemoryTaggingCall() 32 Expr *Arg0 = TheCall->getArg(0); in BuiltinARMMemoryTaggingCall() 33 Expr *Arg1 = TheCall->getArg(1); in BuiltinARMMemoryTaggingCall() 40 return Diag(TheCall->getBeginLoc(), diag::err_memtag_arg_must_be_pointer) in BuiltinARMMemoryTaggingCall() 42 TheCall->setArg(0, FirstArg.get()); in BuiltinARMMemoryTaggingCall() 49 return Diag(TheCall->getBeginLoc(), diag::err_memtag_arg_must_be_integer) in BuiltinARMMemoryTaggingCall() 53 TheCall->setType(FirstArgType); in BuiltinARMMemoryTaggingCall() 58 if (SemaRef.checkArgCount(TheCall, 2)) in BuiltinARMMemoryTaggingCall() 61 Expr *Arg0 = TheCall->getArg(0); in BuiltinARMMemoryTaggingCall() [all …]
|
H A D | SemaOpenCL.cpp | 154 bool SemaOpenCL::checkBuiltinNDRangeAndBlock(CallExpr *TheCall) { in checkBuiltinNDRangeAndBlock() argument 155 if (SemaRef.checkArgCount(TheCall, 2)) in checkBuiltinNDRangeAndBlock() 158 if (checkSubgroupExt(TheCall)) in checkBuiltinNDRangeAndBlock() 162 Expr *NDRangeArg = TheCall->getArg(0); in checkBuiltinNDRangeAndBlock() 165 << TheCall->getDirectCallee() << "'ndrange_t'"; in checkBuiltinNDRangeAndBlock() 169 Expr *BlockArg = TheCall->getArg(1); in checkBuiltinNDRangeAndBlock() 172 << TheCall->getDirectCallee() << "block"; in checkBuiltinNDRangeAndBlock() 178 bool SemaOpenCL::checkBuiltinKernelWorkGroupSize(CallExpr *TheCall) { in checkBuiltinKernelWorkGroupSize() argument 179 if (SemaRef.checkArgCount(TheCall, 1)) in checkBuiltinKernelWorkGroupSize() 182 Expr *BlockArg = TheCall->getArg(0); in checkBuiltinKernelWorkGroupSize() [all …]
|
H A D | SemaRISCV.cpp | 509 bool SemaRISCV::CheckLMUL(CallExpr *TheCall, unsigned ArgNum) { in CheckLMUL() argument 513 Expr *Arg = TheCall->getArg(ArgNum); in CheckLMUL() 518 if (SemaRef.BuiltinConstantArg(TheCall, ArgNum, Result)) in CheckLMUL() 525 return Diag(TheCall->getBeginLoc(), diag::err_riscv_builtin_invalid_lmul) in CheckLMUL() 529 static bool CheckInvalidVLENandLMUL(const TargetInfo &TI, CallExpr *TheCall, in CheckInvalidVLENandLMUL() argument 552 return S.Diag(TheCall->getBeginLoc(), in CheckInvalidVLENandLMUL() 561 CallExpr *TheCall) { in CheckBuiltinFunctionCall() argument 617 TheCall->getType()->castAs<BuiltinType>()); in CheckBuiltinFunctionCall() 620 return Diag(TheCall->getBeginLoc(), in CheckBuiltinFunctionCall() 622 << /* IsExtension */ true << TheCall->getSourceRange() << "v"; in CheckBuiltinFunctionCall() [all …]
|
H A D | SemaHLSL.cpp | 898 bool CheckVectorElementCallArgs(Sema *S, CallExpr *TheCall) { in CheckVectorElementCallArgs() argument 899 assert(TheCall->getNumArgs() > 1); in CheckVectorElementCallArgs() 900 ExprResult A = TheCall->getArg(0); in CheckVectorElementCallArgs() 905 SourceLocation BuiltinLoc = TheCall->getBeginLoc(); in CheckVectorElementCallArgs() 907 for (unsigned i = 1; i < TheCall->getNumArgs(); ++i) { in CheckVectorElementCallArgs() 908 ExprResult B = TheCall->getArg(i); in CheckVectorElementCallArgs() 919 S->Diag(TheCall->getBeginLoc(), in CheckVectorElementCallArgs() 921 << TheCall->getDirectCallee() << /*useAllTerminology*/ true in CheckVectorElementCallArgs() 930 << TheCall->getDirectCallee() << /*useAllTerminology*/ true in CheckVectorElementCallArgs() 931 << SourceRange(TheCall->getArg(0)->getBeginLoc(), in CheckVectorElementCallArgs() [all …]
|
H A D | SemaChecking.cpp | 220 static bool BuiltinAnnotation(Sema &S, CallExpr *TheCall) { in BuiltinAnnotation() argument 221 if (S.checkArgCount(TheCall, 2)) in BuiltinAnnotation() 225 Expr *ValArg = TheCall->getArg(0); in BuiltinAnnotation() 234 Expr *StrArg = TheCall->getArg(1)->IgnoreParenCasts(); in BuiltinAnnotation() 242 TheCall->setType(Ty); in BuiltinAnnotation() 246 static bool BuiltinMSVCAnnotation(Sema &S, CallExpr *TheCall) { in BuiltinMSVCAnnotation() argument 248 if (TheCall->getNumArgs() < 1) { in BuiltinMSVCAnnotation() 249 S.Diag(TheCall->getEndLoc(), diag::err_typecheck_call_too_few_args_at_least) in BuiltinMSVCAnnotation() 250 << 0 << 1 << TheCall->getNumArgs() << /*is non object*/ 0 in BuiltinMSVCAnnotation() 251 << TheCall->getCallee()->getSourceRange(); in BuiltinMSVCAnnotation() [all …]
|
H A D | SemaX86.cpp | 28 bool SemaX86::CheckBuiltinRoundingOrSAE(unsigned BuiltinID, CallExpr *TheCall) { in CheckBuiltinRoundingOrSAE() argument 291 Expr *Arg = TheCall->getArg(ArgNum); in CheckBuiltinRoundingOrSAE() 296 if (SemaRef.BuiltinConstantArg(TheCall, ArgNum, Result)) in CheckBuiltinRoundingOrSAE() 308 return Diag(TheCall->getBeginLoc(), diag::err_x86_builtin_invalid_rounding) in CheckBuiltinRoundingOrSAE() 314 CallExpr *TheCall) { in CheckBuiltinGatherScatterScale() argument 390 Expr *Arg = TheCall->getArg(ArgNum); in CheckBuiltinGatherScatterScale() 395 if (SemaRef.BuiltinConstantArg(TheCall, ArgNum, Result)) in CheckBuiltinGatherScatterScale() 401 return Diag(TheCall->getBeginLoc(), diag::err_x86_builtin_invalid_scale) in CheckBuiltinGatherScatterScale() 407 bool SemaX86::CheckBuiltinTileArgumentsRange(CallExpr *TheCall, in CheckBuiltinTileArgumentsRange() argument 410 if (SemaRef.BuiltinConstantArgRange(TheCall, ArgNum, TileRegLow, in CheckBuiltinTileArgumentsRange() [all …]
|
H A D | SemaMIPS.cpp | 26 CallExpr *TheCall) { in CheckMipsBuiltinFunctionCall() argument 27 return CheckMipsBuiltinCpu(TI, BuiltinID, TheCall) || in CheckMipsBuiltinFunctionCall() 28 CheckMipsBuiltinArgument(BuiltinID, TheCall); in CheckMipsBuiltinFunctionCall() 32 CallExpr *TheCall) { in CheckMipsBuiltinCpu() argument 37 return Diag(TheCall->getBeginLoc(), diag::err_mips_builtin_requires_dsp); in CheckMipsBuiltinCpu() 43 return Diag(TheCall->getBeginLoc(), in CheckMipsBuiltinCpu() 50 return Diag(TheCall->getBeginLoc(), diag::err_mips_builtin_requires_msa); in CheckMipsBuiltinCpu() 65 bool SemaMIPS::CheckMipsBuiltinArgument(unsigned BuiltinID, CallExpr *TheCall) { in CheckMipsBuiltinArgument() argument 236 return SemaRef.BuiltinConstantArgRange(TheCall, i, l, u); in CheckMipsBuiltinArgument() 238 return SemaRef.BuiltinConstantArgRange(TheCall, i, l, u) || in CheckMipsBuiltinArgument() [all …]
|
H A D | SemaBPF.cpp | 112 CallExpr *TheCall) { in CheckBPFBuiltinFunctionCall() argument 119 if (SemaRef.checkArgCount(TheCall, 2)) in CheckBPFBuiltinFunctionCall() 123 Expr *Arg = TheCall->getArg(1); in CheckBPFBuiltinFunctionCall() 140 Arg = TheCall->getArg(0); in CheckBPFBuiltinFunctionCall() 169 TheCall->setType(Context.UnsignedIntTy); in CheckBPFBuiltinFunctionCall() 171 TheCall->setType(Context.UnsignedLongTy); in CheckBPFBuiltinFunctionCall()
|
H A D | SemaSystemZ.cpp | 25 CallExpr *TheCall) { in CheckSystemZBuiltinFunctionCall() argument 27 Expr *Arg = TheCall->getArg(0); in CheckSystemZBuiltinFunctionCall() 59 return SemaRef.BuiltinConstantArgRange(TheCall, 1, 0, 15) || in CheckSystemZBuiltinFunctionCall() 60 SemaRef.BuiltinConstantArgRange(TheCall, 2, 0, 15); in CheckSystemZBuiltinFunctionCall() 91 return SemaRef.BuiltinConstantArgRange(TheCall, i, l, u); in CheckSystemZBuiltinFunctionCall()
|
H A D | SemaHexagon.cpp | 25 CallExpr *TheCall) { in CheckHexagonBuiltinArgument() argument 273 Error |= SemaRef.BuiltinConstantArgRange(TheCall, A.OpNum, Min, Max); in CheckHexagonBuiltinArgument() 278 Error |= SemaRef.BuiltinConstantArgRange(TheCall, A.OpNum, Min, Max); in CheckHexagonBuiltinArgument() 279 Error |= SemaRef.BuiltinConstantArgMultiple(TheCall, A.OpNum, M); in CheckHexagonBuiltinArgument() 286 CallExpr *TheCall) { in CheckHexagonBuiltinFunctionCall() argument 287 return CheckHexagonBuiltinArgument(BuiltinID, TheCall); in CheckHexagonBuiltinFunctionCall()
|
H A D | SemaNVPTX.cpp | 23 CallExpr *TheCall) { in CheckNVPTXBuiltinFunctionCall() argument 29 return SemaRef.checkArgCountAtMost(TheCall, 3); in CheckNVPTXBuiltinFunctionCall()
|
H A D | SemaAMDGPU.cpp | 26 CallExpr *TheCall) { in CheckAMDGCNBuiltinFunctionCall() argument 33 Expr *ArgExpr = TheCall->getArg(SizeIdx); in CheckAMDGCNBuiltinFunctionCall() 70 ExprResult Arg = TheCall->getArg(OrderIndex); in CheckAMDGCNBuiltinFunctionCall() 100 Arg = TheCall->getArg(ScopeIndex); in CheckAMDGCNBuiltinFunctionCall()
|
/freebsd/contrib/llvm-project/clang/include/clang/Sema/ |
H A D | SemaARM.h | 40 bool CheckARMBuiltinExclusiveCall(unsigned BuiltinID, CallExpr *TheCall, 43 CallExpr *TheCall); 44 bool CheckMVEBuiltinFunctionCall(unsigned BuiltinID, CallExpr *TheCall); 45 bool CheckSVEBuiltinFunctionCall(unsigned BuiltinID, CallExpr *TheCall); 47 ParseSVEImmChecks(CallExpr *TheCall, 49 bool CheckSMEBuiltinFunctionCall(unsigned BuiltinID, CallExpr *TheCall); 51 CallExpr *TheCall); 55 CallExpr *TheCall); 58 CallExpr *TheCall); 59 bool BuiltinARMSpecialReg(unsigned BuiltinID, CallExpr *TheCall, int ArgNum, [all …]
|
H A D | SemaWasm.h | 30 CallExpr *TheCall); 32 bool BuiltinWasmRefNullExtern(CallExpr *TheCall); 33 bool BuiltinWasmRefNullFunc(CallExpr *TheCall); 34 bool BuiltinWasmTableGet(CallExpr *TheCall); 35 bool BuiltinWasmTableSet(CallExpr *TheCall); 36 bool BuiltinWasmTableSize(CallExpr *TheCall); 37 bool BuiltinWasmTableGrow(CallExpr *TheCall); 38 bool BuiltinWasmTableFill(CallExpr *TheCall); 39 bool BuiltinWasmTableCopy(CallExpr *TheCall);
|
H A D | SemaX86.h | 29 bool CheckBuiltinRoundingOrSAE(unsigned BuiltinID, CallExpr *TheCall); 30 bool CheckBuiltinGatherScatterScale(unsigned BuiltinID, CallExpr *TheCall); 31 bool CheckBuiltinTileArguments(unsigned BuiltinID, CallExpr *TheCall); 32 bool CheckBuiltinTileArgumentsRange(CallExpr *TheCall, ArrayRef<int> ArgNums); 33 bool CheckBuiltinTileDuplicate(CallExpr *TheCall, ArrayRef<int> ArgNums); 34 bool CheckBuiltinTileRangeAndDuplicate(CallExpr *TheCall, 37 CallExpr *TheCall);
|
H A D | SemaMIPS.h | 29 CallExpr *TheCall); 31 CallExpr *TheCall); 32 bool CheckMipsBuiltinArgument(unsigned BuiltinID, CallExpr *TheCall);
|
H A D | SemaPPC.h | 28 CallExpr *TheCall); 42 bool BuiltinPPCMMACall(CallExpr *TheCall, unsigned BuiltinID, 54 bool BuiltinVSX(CallExpr *TheCall);
|
H A D | SemaOpenCL.h | 95 bool checkBuiltinEnqueueKernel(CallExpr *TheCall); 100 bool checkBuiltinKernelWorkGroupSize(CallExpr *TheCall); 102 bool checkBuiltinNDRangeAndBlock(CallExpr *TheCall);
|
H A D | SemaHexagon.h | 24 bool CheckHexagonBuiltinFunctionCall(unsigned BuiltinID, CallExpr *TheCall); 25 bool CheckHexagonBuiltinArgument(unsigned BuiltinID, CallExpr *TheCall);
|
H A D | SemaRISCV.h | 33 bool CheckLMUL(CallExpr *TheCall, unsigned ArgNum); 35 CallExpr *TheCall);
|
H A D | SemaSystemZ.h | 24 bool CheckSystemZBuiltinFunctionCall(unsigned BuiltinID, CallExpr *TheCall);
|
/freebsd/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/ |
H A D | MallocOverflowSecurityChecker.cpp | 53 const CallExpr *TheCall, ASTContext &Context) const; 69 const CallExpr *TheCall, ASTContext &Context) const { in CheckMallocArgument() argument 76 const Expr *e = TheCall->getArg(0); in CheckMallocArgument() 120 MallocOverflowCheck(TheCall, mulop, e, maxVal)); in CheckMallocArgument() 309 if (const CallExpr *TheCall = dyn_cast<CallExpr>(CS->getStmt())) { in checkASTCodeBody() local 311 const FunctionDecl *FD = TheCall->getDirectCallee(); in checkASTCodeBody() 323 if (TheCall->getNumArgs() == 1) in checkASTCodeBody() 324 CheckMallocArgument(PossibleMallocOverflows, TheCall, in checkASTCodeBody()
|