Lines Matching defs:TheCall

98                                           CallExpr *TheCall) {
104 return Diag(TheCall->getBeginLoc(), diag::err_64_bit_builtin_32_bit_tgt)
105 << TheCall->getSourceRange();
112 return SemaRef.BuiltinConstantArgRange(TheCall, 1, 0, 1) ||
113 SemaRef.BuiltinConstantArgRange(TheCall, 2, 0, 15);
115 return SemaRef.BuiltinConstantArgRange(TheCall, 0, 0, 3);
118 return SemaRef.BuiltinConstantArgRange(TheCall, 0, 0, 1);
120 return SemaRef.BuiltinConstantArgRange(TheCall, 0, 0, 7);
123 return SemaRef.BuiltinConstantArgRange(TheCall, 0, 0, 31);
126 return SemaRef.BuiltinConstantArgRange(TheCall, 0, 0, 31) ||
127 SemaRef.BuiltinConstantArgRange(TheCall, 2, 0, 31);
132 if (SemaRef.BuiltinConstantArgRange(TheCall, 1, 0, 1))
137 return Diag(TheCall->getBeginLoc(), diag::err_ppc_builtin_requires_abi)
144 return SemaRef.BuiltinConstantArgRange(TheCall, 2, 0, 3);
147 return BuiltinVSX(TheCall);
149 return SemaRef.BuiltinConstantArgRange(TheCall, 1, 0, 1);
151 return SemaRef.BuiltinConstantArgRange(TheCall, 1, 2, 7);
153 return SemaRef.BuiltinConstantArgRange(TheCall, 3, 0, 255);
155 return SemaRef.BuiltinConstantArgRange(TheCall, 2, 0, 7);
157 return SemaRef.BuiltinConstantArgRange(TheCall, 2, 0, 7);
159 return SemaRef.BuiltinConstantArgRange(TheCall, 3, 0, 7);
162 return SemaRef.BuiltinConstantArgRange(TheCall, 2, 1, 31);
164 return SemaRef.BuiltinConstantArgRange(TheCall, 0, 0, 1);
168 return SemaRef.ValueIsRunOfOnes(TheCall, 2);
170 return SemaRef.BuiltinConstantArgRange(TheCall, 2, 0, 31) ||
171 SemaRef.ValueIsRunOfOnes(TheCall, 3);
173 return SemaRef.BuiltinConstantArgRange(TheCall, 2, 0, 63) ||
174 SemaRef.ValueIsRunOfOnes(TheCall, 3);
176 if (SemaRef.BuiltinConstantArgRange(TheCall, 2, 0, 3))
180 TheCall->getArg(2)->getIntegerConstantExpr(Context)->getSExtValue();
182 Diag(TheCall->getBeginLoc(), diag::warn_argument_undefined_behaviour)
188 return SemaRef.BuiltinConstantArgRange(TheCall, 0, 0, 31);
190 return SemaRef.BuiltinConstantArgRange(TheCall, 0, 0, 255);
192 return SemaRef.BuiltinConstantArgRange(TheCall, 0, 0, 7) ||
193 SemaRef.BuiltinConstantArgRange(TheCall, 1, 0, 15);
195 return SemaRef.BuiltinConstantArgPower2(TheCall, 0);
197 return SemaRef.ValueIsRunOfOnes(TheCall, 2);
200 return SemaRef.BuiltinConstantArgRange(TheCall, 1, 1, 16);
205 return SemaRef.BuiltinConstantArgRange(TheCall, 1, 0, 1);
210 return SemaRef.BuiltinConstantArgRange(TheCall, 1, 0, 3);
214 QualType ArgType = TheCall->getArg(0)->getType();
218 return Diag(TheCall->getBeginLoc(),
220 return SemaRef.BuiltinConstantArgRange(TheCall, 1, 0, 127);
231 return Diag(TheCall->getBeginLoc(), diag::err_target_unsupported_type)
242 for (unsigned I = 0, E = TheCall->getNumArgs(); I < E; ++I)
243 if (TheCall->getArg(I)->getType() != ArgType)
244 return Diag(TheCall->getBeginLoc(),
246 << TheCall->getArg(I)->getType() << ArgType << 1 << 0 << 0;
251 return BuiltinPPCMMACall(TheCall, BuiltinID, Types);
334 bool SemaPPC::BuiltinPPCMMACall(CallExpr *TheCall, unsigned BuiltinID,
345 // builtin. So we first read that type and change the type of TheCall.
347 TheCall->setType(type);
352 if (ArgNum >= TheCall->getNumArgs()) {
357 Expr *Arg = TheCall->getArg(ArgNum);
380 SemaRef.BuiltinConstantArgRange(TheCall, ArgNum, 0, Mask, true))
388 // number of arguments in TheCall and if it is not the case, to display a
394 if (SemaRef.checkArgCount(TheCall, ArgNum))
400 bool SemaPPC::BuiltinVSX(CallExpr *TheCall) {
402 if (SemaRef.checkArgCount(TheCall, ExpectedNumArgs))
406 if (!TheCall->getArg(2)->isIntegerConstantExpr(getASTContext()))
407 return Diag(TheCall->getBeginLoc(),
409 << 3 /* argument index */ << TheCall->getDirectCallee()
410 << SourceRange(TheCall->getArg(2)->getBeginLoc(),
411 TheCall->getArg(2)->getEndLoc());
413 QualType Arg1Ty = TheCall->getArg(0)->getType();
414 QualType Arg2Ty = TheCall->getArg(1)->getType();
417 SourceLocation BuiltinLoc = TheCall->getBeginLoc();
421 << TheCall->getDirectCallee() << /*isMorethantwoArgs*/ false
422 << SourceRange(TheCall->getArg(0)->getBeginLoc(),
423 TheCall->getArg(1)->getEndLoc());
429 << TheCall->getDirectCallee() << /*isMorethantwoArgs*/ false
430 << SourceRange(TheCall->getArg(0)->getBeginLoc(),
431 TheCall->getArg(1)->getEndLoc());
437 TheCall->setType(Arg1Ty);