Lines Matching refs:OutputExpr
291 Expr *OutputExpr = Exprs[i]; in ActOnGCCAsmStmt() local
294 if (CheckNakedParmReference(OutputExpr, *this)) in ActOnGCCAsmStmt()
299 checkExprMemoryConstraintCompat(*this, OutputExpr, Info, false)) in ActOnGCCAsmStmt()
304 if (OutputExpr->getType()->isBitIntType()) in ActOnGCCAsmStmt()
306 Diag(OutputExpr->getBeginLoc(), diag::err_asm_invalid_type) in ActOnGCCAsmStmt()
307 << OutputExpr->getType() << 0 /*Input*/ in ActOnGCCAsmStmt()
308 << OutputExpr->getSourceRange()); in ActOnGCCAsmStmt()
313 if (OutputExpr->isTypeDependent()) in ActOnGCCAsmStmt()
317 OutputExpr->isModifiableLvalue(Context, /*Loc=*/nullptr); in ActOnGCCAsmStmt()
326 const Expr *LVal = OutputExpr->IgnoreParenNoopCasts(Context); in ActOnGCCAsmStmt()
327 emitAndFixInvalidAsmCastLValue(LVal, OutputExpr, *this); in ActOnGCCAsmStmt()
333 if (RequireCompleteType(OutputExpr->getBeginLoc(), Exprs[i]->getType(), in ActOnGCCAsmStmt()
338 return StmtError(Diag(OutputExpr->getBeginLoc(), in ActOnGCCAsmStmt()
340 << OutputExpr->getSourceRange()); in ActOnGCCAsmStmt()
343 unsigned Size = Context.getTypeSize(OutputExpr->getType()); in ActOnGCCAsmStmt()
346 targetDiag(OutputExpr->getBeginLoc(), diag::err_asm_invalid_output_size) in ActOnGCCAsmStmt()
599 Expr *OutputExpr = Exprs[TiedTo]; in ActOnGCCAsmStmt() local
615 if (OutputExpr->isTypeDependent() || InputExpr->isTypeDependent()) in ActOnGCCAsmStmt()
619 QualType OutTy = OutputExpr->getType(); in ActOnGCCAsmStmt()
683 targetDiag(OutputExpr->getExprLoc(), diag::err_store_value_to_reg); in ActOnGCCAsmStmt()
706 << InTy << OutTy << OutputExpr->getSourceRange() in ActOnGCCAsmStmt()