Lines Matching refs:VarExpr
1158 ExprResult SemaOpenACC::CheckReductionVar(Expr *VarExpr) { in CheckReductionVar() argument
1159 VarExpr = VarExpr->IgnoreParenCasts(); in CheckReductionVar()
1165 if (isa<ArraySectionExpr>(VarExpr)) { in CheckReductionVar()
1166 Expr *ASExpr = VarExpr; in CheckReductionVar()
1171 Diag(VarExpr->getExprLoc(), diag::err_acc_reduction_type) in CheckReductionVar()
1175 } else if (auto *RD = VarExpr->getType()->getAsRecordDecl()) { in CheckReductionVar()
1177 Diag(VarExpr->getExprLoc(), diag::err_acc_reduction_composite_type) in CheckReductionVar()
1178 << /*not class or struct*/ 0 << VarExpr->getType(); in CheckReductionVar()
1183 Diag(VarExpr->getExprLoc(), diag::err_acc_reduction_composite_type) in CheckReductionVar()
1184 << /*incomplete*/ 1 << VarExpr->getType(); in CheckReductionVar()
1189 Diag(VarExpr->getExprLoc(), diag::err_acc_reduction_composite_type) in CheckReductionVar()
1190 << /*aggregate*/ 2 << VarExpr->getType(); in CheckReductionVar()
1196 Diag(VarExpr->getExprLoc(), in CheckReductionVar()
1202 } else if (!TypeIsValid(VarExpr->getType())) { in CheckReductionVar()
1203 Diag(VarExpr->getExprLoc(), diag::err_acc_reduction_type) in CheckReductionVar()
1204 << VarExpr->getType() << /*Sub array base type*/ 0; in CheckReductionVar()
1208 return VarExpr; in CheckReductionVar()
1332 Expr *VarExpr) { in CheckVarIsPointerType() argument
1338 if (!VarExpr || VarExpr->containsErrors()) in CheckVarIsPointerType()
1341 if (isa<ArraySectionExpr>(VarExpr->IgnoreParenImpCasts()) || in CheckVarIsPointerType()
1342 VarExpr->hasPlaceholderType(BuiltinType::ArraySection)) { in CheckVarIsPointerType()
1343 Diag(VarExpr->getExprLoc(), diag::err_array_section_use) << /*OpenACC=*/0; in CheckVarIsPointerType()
1344 Diag(VarExpr->getExprLoc(), diag::note_acc_expected_pointer_var); in CheckVarIsPointerType()
1348 QualType Ty = VarExpr->getType(); in CheckVarIsPointerType()
1356 return Diag(VarExpr->getExprLoc(), diag::err_acc_var_not_pointer_type) in CheckVarIsPointerType()
1361 ExprResult SemaOpenACC::ActOnVar(OpenACCClauseKind CK, Expr *VarExpr) { in ActOnVar() argument
1362 Expr *CurVarExpr = VarExpr->IgnoreParenImpCasts(); in ActOnVar()
1378 return VarExpr; in ActOnVar()
1388 return VarExpr; in ActOnVar()
1394 return VarExpr; in ActOnVar()
1401 return VarExpr; in ActOnVar()
1408 Diag(VarExpr->getExprLoc(), diag::err_acc_not_a_var_ref) in ActOnVar()