Lines Matching defs:InputExpr
381 Expr *InputExpr = Exprs[i];
383 if (InputExpr->getType()->isMemberPointerType())
384 return StmtError(Diag(InputExpr->getBeginLoc(),
386 << InputExpr->getSourceRange());
389 if (CheckNakedParmReference(InputExpr, *this))
394 checkExprMemoryConstraintCompat(*this, InputExpr, Info, true))
399 if (CheckAsmLValue(InputExpr, *this))
400 return StmtError(Diag(InputExpr->getBeginLoc(),
403 << InputExpr->getSourceRange());
409 InputExpr = Exprs[i] = Result.get();
412 if (!InputExpr->isValueDependent()) {
414 if (InputExpr->EvaluateAsRValue(EVResult, Context, true)) {
418 if (EVResult.Val.toIntegralConstant(IntResult, InputExpr->getType(),
422 Diag(InputExpr->getBeginLoc(),
425 << InputExpr->getSourceRange());
432 if (InputExpr->getType()->isVoidType()) {
434 Diag(InputExpr->getBeginLoc(), diag::err_asm_invalid_type_in_input)
435 << InputExpr->getType() << Info.getConstraintStr()
436 << InputExpr->getSourceRange());
440 if (InputExpr->getType()->isBitIntType())
442 Diag(InputExpr->getBeginLoc(), diag::err_asm_invalid_type)
443 << InputExpr->getType() << 1 /*Output*/
444 << InputExpr->getSourceRange());
453 if (RequireCompleteType(InputExpr->getBeginLoc(), Exprs[i]->getType(),
460 return targetDiag(InputExpr->getBeginLoc(),
600 Expr *InputExpr = Exprs[InputOpNo];
615 if (OutputExpr->isTypeDependent() || InputExpr->isTypeDependent())
618 QualType InTy = InputExpr->getType();
696 InputExpr->isEvaluatable(Context)) {
699 InputExpr = ImpCastExprToType(InputExpr, OutTy, castKind).get();
700 Exprs[InputOpNo] = InputExpr;
701 NS->setInputExpr(i, InputExpr);
705 targetDiag(InputExpr->getBeginLoc(), diag::err_asm_tying_incompatible_types)
707 << InputExpr->getSourceRange();