Lines Matching refs:InputExpr
378 Expr *InputExpr = Exprs[i]; in ActOnGCCAsmStmt() local
381 if (CheckNakedParmReference(InputExpr, *this)) in ActOnGCCAsmStmt()
386 checkExprMemoryConstraintCompat(*this, InputExpr, Info, true)) in ActOnGCCAsmStmt()
391 if (CheckAsmLValue(InputExpr, *this)) in ActOnGCCAsmStmt()
392 return StmtError(Diag(InputExpr->getBeginLoc(), in ActOnGCCAsmStmt()
395 << InputExpr->getSourceRange()); in ActOnGCCAsmStmt()
401 InputExpr = Exprs[i] = Result.get(); in ActOnGCCAsmStmt()
404 if (!InputExpr->isValueDependent()) { in ActOnGCCAsmStmt()
406 if (InputExpr->EvaluateAsRValue(EVResult, Context, true)) { in ActOnGCCAsmStmt()
410 if (EVResult.Val.toIntegralConstant(IntResult, InputExpr->getType(), in ActOnGCCAsmStmt()
414 Diag(InputExpr->getBeginLoc(), in ActOnGCCAsmStmt()
417 << InputExpr->getSourceRange()); in ActOnGCCAsmStmt()
424 if (InputExpr->getType()->isVoidType()) { in ActOnGCCAsmStmt()
426 Diag(InputExpr->getBeginLoc(), diag::err_asm_invalid_type_in_input) in ActOnGCCAsmStmt()
427 << InputExpr->getType() << Info.getConstraintStr() in ActOnGCCAsmStmt()
428 << InputExpr->getSourceRange()); in ActOnGCCAsmStmt()
432 if (InputExpr->getType()->isBitIntType()) in ActOnGCCAsmStmt()
434 Diag(InputExpr->getBeginLoc(), diag::err_asm_invalid_type) in ActOnGCCAsmStmt()
435 << InputExpr->getType() << 1 /*Output*/ in ActOnGCCAsmStmt()
436 << InputExpr->getSourceRange()); in ActOnGCCAsmStmt()
445 if (RequireCompleteType(InputExpr->getBeginLoc(), Exprs[i]->getType(), in ActOnGCCAsmStmt()
452 return targetDiag(InputExpr->getBeginLoc(), in ActOnGCCAsmStmt()
592 Expr *InputExpr = Exprs[InputOpNo]; in ActOnGCCAsmStmt() local
607 if (OutputExpr->isTypeDependent() || InputExpr->isTypeDependent()) in ActOnGCCAsmStmt()
610 QualType InTy = InputExpr->getType(); in ActOnGCCAsmStmt()
688 InputExpr->isEvaluatable(Context)) { in ActOnGCCAsmStmt()
691 InputExpr = ImpCastExprToType(InputExpr, OutTy, castKind).get(); in ActOnGCCAsmStmt()
692 Exprs[InputOpNo] = InputExpr; in ActOnGCCAsmStmt()
693 NS->setInputExpr(i, InputExpr); in ActOnGCCAsmStmt()
697 targetDiag(InputExpr->getBeginLoc(), diag::err_asm_tying_incompatible_types) in ActOnGCCAsmStmt()
699 << InputExpr->getSourceRange(); in ActOnGCCAsmStmt()