Lines Matching defs:ErrorInfo

11594   bool checkStmt(Stmt *S, ErrorInfoTy &ErrorInfo);
11622 bool checkCondUpdateStmt(IfStmt *S, ErrorInfoTy &ErrorInfo);
11625 bool checkCondExprStmt(Stmt *S, ErrorInfoTy &ErrorInfo);
11628 bool checkType(ErrorInfoTy &ErrorInfo) const;
11630 static bool CheckValue(const Expr *E, ErrorInfoTy &ErrorInfo,
11636 ErrorInfo.Error = ErrorTy::XNotLValue;
11637 ErrorInfo.ErrorLoc = ErrorInfo.NoteLoc = E->getExprLoc();
11638 ErrorInfo.ErrorRange = ErrorInfo.NoteRange = E->getSourceRange();
11644 ErrorInfo.Error = ErrorTy::NotScalar;
11645 ErrorInfo.ErrorLoc = ErrorInfo.NoteLoc = E->getExprLoc();
11646 ErrorInfo.ErrorRange = ErrorInfo.NoteRange = E->getSourceRange();
11650 ErrorInfo.Error = ErrorTy::NotInteger;
11651 ErrorInfo.ErrorLoc = ErrorInfo.NoteLoc = E->getExprLoc();
11652 ErrorInfo.ErrorRange = ErrorInfo.NoteRange = E->getSourceRange();
11661 ErrorInfoTy &ErrorInfo) {
11665 ErrorInfo.Error = ErrorTy::NoStmt;
11666 ErrorInfo.ErrorLoc = ErrorInfo.NoteLoc = CS->getBeginLoc();
11667 ErrorInfo.ErrorRange = ErrorInfo.NoteRange = CS->getSourceRange();
11671 ErrorInfo.Error = ErrorTy::MoreThanOneStmt;
11672 ErrorInfo.ErrorLoc = ErrorInfo.NoteLoc = CS->getBeginLoc();
11673 ErrorInfo.ErrorRange = ErrorInfo.NoteRange = S->getSourceRange();
11681 ErrorInfo.Error = ErrorTy::NotAnAssignment;
11682 ErrorInfo.ErrorLoc = ErrorInfo.NoteLoc = Then->getBeginLoc();
11683 ErrorInfo.ErrorRange = ErrorInfo.NoteRange = Then->getSourceRange();
11687 ErrorInfo.Error = ErrorTy::NotAnAssignment;
11688 ErrorInfo.ErrorLoc = BO->getExprLoc();
11689 ErrorInfo.NoteLoc = BO->getOperatorLoc();
11690 ErrorInfo.ErrorRange = ErrorInfo.NoteRange = BO->getSourceRange();
11698 ErrorInfo.Error = ErrorTy::NotABinaryOp;
11699 ErrorInfo.ErrorLoc = ErrorInfo.NoteLoc = S->getCond()->getExprLoc();
11700 ErrorInfo.ErrorRange = ErrorInfo.NoteRange = S->getCond()->getSourceRange();
11713 ErrorInfo.Error = ErrorTy::InvalidComparison;
11714 ErrorInfo.ErrorLoc = ErrorInfo.NoteLoc = Cond->getExprLoc();
11715 ErrorInfo.ErrorRange = ErrorInfo.NoteRange = Cond->getSourceRange();
11731 ErrorInfo.Error = ErrorTy::InvalidComparison;
11732 ErrorInfo.ErrorLoc = ErrorInfo.NoteLoc = Cond->getExprLoc();
11733 ErrorInfo.ErrorRange = ErrorInfo.NoteRange = Cond->getSourceRange();
11739 ErrorInfo.Error = ErrorTy::InvalidBinaryOp;
11740 ErrorInfo.ErrorLoc = ErrorInfo.NoteLoc = Cond->getExprLoc();
11741 ErrorInfo.ErrorRange = ErrorInfo.NoteRange = Cond->getSourceRange();
11746 ErrorInfo.Error = ErrorTy::UnexpectedElse;
11747 ErrorInfo.ErrorLoc = ErrorInfo.NoteLoc = S->getElse()->getBeginLoc();
11748 ErrorInfo.ErrorRange = ErrorInfo.NoteRange = S->getElse()->getSourceRange();
11756 ErrorInfoTy &ErrorInfo) {
11759 ErrorInfo.Error = ErrorTy::NotAnAssignment;
11760 ErrorInfo.ErrorLoc = ErrorInfo.NoteLoc = S->getBeginLoc();
11761 ErrorInfo.ErrorRange = ErrorInfo.NoteRange = S->getSourceRange();
11765 ErrorInfo.Error = ErrorTy::NotAnAssignment;
11766 ErrorInfo.ErrorLoc = BO->getExprLoc();
11767 ErrorInfo.NoteLoc = BO->getOperatorLoc();
11768 ErrorInfo.ErrorRange = ErrorInfo.NoteRange = BO->getSourceRange();
11776 ErrorInfo.Error = ErrorTy::NotCondOp;
11777 ErrorInfo.ErrorLoc = ErrorInfo.NoteLoc = BO->getRHS()->getExprLoc();
11778 ErrorInfo.ErrorRange = ErrorInfo.NoteRange = BO->getRHS()->getSourceRange();
11783 ErrorInfo.Error = ErrorTy::WrongFalseExpr;
11784 ErrorInfo.ErrorLoc = ErrorInfo.NoteLoc = CO->getFalseExpr()->getExprLoc();
11785 ErrorInfo.ErrorRange = ErrorInfo.NoteRange =
11792 ErrorInfo.Error = ErrorTy::NotABinaryOp;
11793 ErrorInfo.ErrorLoc = ErrorInfo.NoteLoc = CO->getCond()->getExprLoc();
11794 ErrorInfo.ErrorRange = ErrorInfo.NoteRange =
11808 ErrorInfo.Error = ErrorTy::InvalidComparison;
11809 ErrorInfo.ErrorLoc = ErrorInfo.NoteLoc = Cond->getExprLoc();
11810 ErrorInfo.ErrorRange = ErrorInfo.NoteRange = Cond->getSourceRange();
11826 ErrorInfo.Error = ErrorTy::InvalidComparison;
11827 ErrorInfo.ErrorLoc = ErrorInfo.NoteLoc = Cond->getExprLoc();
11828 ErrorInfo.ErrorRange = ErrorInfo.NoteRange = Cond->getSourceRange();
11834 ErrorInfo.Error = ErrorTy::InvalidBinaryOp;
11835 ErrorInfo.ErrorLoc = ErrorInfo.NoteLoc = Cond->getExprLoc();
11836 ErrorInfo.ErrorRange = ErrorInfo.NoteRange = Cond->getSourceRange();
11843 bool OpenMPAtomicCompareChecker::checkType(ErrorInfoTy &ErrorInfo) const {
11847 if (!CheckValue(X, ErrorInfo, true))
11850 if (!CheckValue(E, ErrorInfo, false))
11853 if (D && !CheckValue(D, ErrorInfo, false))
11860 Stmt *S, OpenMPAtomicCompareChecker::ErrorInfoTy &ErrorInfo) {
11864 ErrorInfo.Error = ErrorTy::NoStmt;
11865 ErrorInfo.ErrorLoc = ErrorInfo.NoteLoc = CS->getBeginLoc();
11866 ErrorInfo.ErrorRange = ErrorInfo.NoteRange = CS->getSourceRange();
11871 ErrorInfo.Error = ErrorTy::MoreThanOneStmt;
11872 ErrorInfo.ErrorLoc = ErrorInfo.NoteLoc = CS->getBeginLoc();
11873 ErrorInfo.ErrorRange = ErrorInfo.NoteRange = CS->getSourceRange();
11887 Res = checkCondUpdateStmt(IS, ErrorInfo);
11893 Res = checkCondExprStmt(S, ErrorInfo);
11899 return checkType(ErrorInfo);
11913 bool checkStmt(Stmt *S, ErrorInfoTy &ErrorInfo);
11916 bool checkType(ErrorInfoTy &ErrorInfo);
11928 bool checkForm3(IfStmt *S, ErrorInfoTy &ErrorInfo);
11932 bool checkForm45(Stmt *S, ErrorInfoTy &ErrorInfo);
11944 bool OpenMPAtomicCompareCaptureChecker::checkType(ErrorInfoTy &ErrorInfo) {
11945 if (!OpenMPAtomicCompareChecker::checkType(ErrorInfo))
11948 if (V && !CheckValue(V, ErrorInfo, true))
11951 if (R && !CheckValue(R, ErrorInfo, true, true))
11958 ErrorInfoTy &ErrorInfo) {
11964 ErrorInfo.Error = ErrorTy::NoStmt;
11965 ErrorInfo.ErrorLoc = ErrorInfo.NoteLoc = CS->getBeginLoc();
11966 ErrorInfo.ErrorRange = ErrorInfo.NoteRange = CS->getSourceRange();
11970 ErrorInfo.Error = ErrorTy::MoreThanOneStmt;
11971 ErrorInfo.ErrorLoc = ErrorInfo.NoteLoc = CS->getBeginLoc();
11972 ErrorInfo.ErrorRange = ErrorInfo.NoteRange = CS->getSourceRange();
11980 ErrorInfo.Error = ErrorTy::NotAnAssignment;
11981 ErrorInfo.ErrorLoc = ErrorInfo.NoteLoc = Then->getBeginLoc();
11982 ErrorInfo.ErrorRange = ErrorInfo.NoteRange = Then->getSourceRange();
11986 ErrorInfo.Error = ErrorTy::NotAnAssignment;
11987 ErrorInfo.ErrorLoc = BO->getExprLoc();
11988 ErrorInfo.NoteLoc = BO->getOperatorLoc();
11989 ErrorInfo.ErrorRange = ErrorInfo.NoteRange = BO->getSourceRange();
11998 ErrorInfo.Error = ErrorTy::NotABinaryOp;
11999 ErrorInfo.ErrorLoc = ErrorInfo.NoteLoc = S->getCond()->getExprLoc();
12000 ErrorInfo.ErrorRange = ErrorInfo.NoteRange = S->getCond()->getSourceRange();
12004 ErrorInfo.Error = ErrorTy::NotEQ;
12005 ErrorInfo.ErrorLoc = ErrorInfo.NoteLoc = Cond->getExprLoc();
12006 ErrorInfo.ErrorRange = ErrorInfo.NoteRange = Cond->getSourceRange();
12015 ErrorInfo.Error = ErrorTy::InvalidComparison;
12016 ErrorInfo.ErrorLoc = ErrorInfo.NoteLoc = Cond->getExprLoc();
12017 ErrorInfo.ErrorRange = ErrorInfo.NoteRange = Cond->getSourceRange();
12024 ErrorInfo.Error = ErrorTy::NoElse;
12025 ErrorInfo.ErrorLoc = ErrorInfo.NoteLoc = S->getBeginLoc();
12026 ErrorInfo.ErrorRange = ErrorInfo.NoteRange = S->getSourceRange();
12033 ErrorInfo.Error = ErrorTy::NoStmt;
12034 ErrorInfo.ErrorLoc = ErrorInfo.NoteLoc = CS->getBeginLoc();
12035 ErrorInfo.ErrorRange = ErrorInfo.NoteRange = CS->getSourceRange();
12039 ErrorInfo.Error = ErrorTy::MoreThanOneStmt;
12040 ErrorInfo.ErrorLoc = ErrorInfo.NoteLoc = CS->getBeginLoc();
12041 ErrorInfo.ErrorRange = ErrorInfo.NoteRange = S->getSourceRange();
12049 ErrorInfo.Error = ErrorTy::NotAnAssignment;
12050 ErrorInfo.ErrorLoc = ErrorInfo.NoteLoc = Else->getBeginLoc();
12051 ErrorInfo.ErrorRange = ErrorInfo.NoteRange = Else->getSourceRange();
12055 ErrorInfo.Error = ErrorTy::NotAnAssignment;
12056 ErrorInfo.ErrorLoc = ElseBO->getExprLoc();
12057 ErrorInfo.NoteLoc = ElseBO->getOperatorLoc();
12058 ErrorInfo.ErrorRange = ErrorInfo.NoteRange = ElseBO->getSourceRange();
12063 ErrorInfo.Error = ErrorTy::InvalidAssignment;
12064 ErrorInfo.ErrorLoc = ErrorInfo.NoteLoc = ElseBO->getRHS()->getExprLoc();
12065 ErrorInfo.ErrorRange = ErrorInfo.NoteRange =
12072 return checkType(ErrorInfo);
12076 ErrorInfoTy &ErrorInfo) {
12086 ErrorInfo.Error = ErrorTy::InvalidCondition;
12087 ErrorInfo.ErrorLoc = ErrorInfo.NoteLoc = S2->getCond()->getExprLoc();
12088 ErrorInfo.ErrorRange = ErrorInfo.NoteRange = S1->getLHS()->getSourceRange();
12097 ErrorInfo.Error = ErrorTy::NoStmt;
12098 ErrorInfo.ErrorLoc = ErrorInfo.NoteLoc = ThenCS->getBeginLoc();
12099 ErrorInfo.ErrorRange = ErrorInfo.NoteRange = ThenCS->getSourceRange();
12103 ErrorInfo.Error = ErrorTy::MoreThanOneStmt;
12104 ErrorInfo.ErrorLoc = ErrorInfo.NoteLoc = ThenCS->getBeginLoc();
12105 ErrorInfo.ErrorRange = ErrorInfo.NoteRange = ThenCS->getSourceRange();
12113 ErrorInfo.Error = ErrorTy::NotAnAssignment;
12114 ErrorInfo.ErrorLoc = ErrorInfo.NoteLoc = S2->getBeginLoc();
12115 ErrorInfo.ErrorRange = ErrorInfo.NoteRange = S2->getSourceRange();
12119 ErrorInfo.Error = ErrorTy::NotAnAssignment;
12120 ErrorInfo.ErrorLoc = ThenBO->getExprLoc();
12121 ErrorInfo.NoteLoc = ThenBO->getOperatorLoc();
12122 ErrorInfo.ErrorRange = ErrorInfo.NoteRange = ThenBO->getSourceRange();
12131 ErrorInfo.Error = ErrorTy::NotEQ;
12132 ErrorInfo.ErrorLoc = BO->getExprLoc();
12133 ErrorInfo.NoteLoc = BO->getOperatorLoc();
12134 ErrorInfo.ErrorRange = ErrorInfo.NoteRange = BO->getSourceRange();
12145 ErrorInfo.Error = ErrorTy::InvalidComparison;
12146 ErrorInfo.ErrorLoc = ErrorInfo.NoteLoc = BO->getExprLoc();
12147 ErrorInfo.ErrorRange = ErrorInfo.NoteRange = BO->getSourceRange();
12157 ErrorInfo.Error = ErrorTy::NoStmt;
12158 ErrorInfo.ErrorLoc = ErrorInfo.NoteLoc = ElseCS->getBeginLoc();
12159 ErrorInfo.ErrorRange = ErrorInfo.NoteRange = ElseCS->getSourceRange();
12163 ErrorInfo.Error = ErrorTy::MoreThanOneStmt;
12164 ErrorInfo.ErrorLoc = ErrorInfo.NoteLoc = ElseCS->getBeginLoc();
12165 ErrorInfo.ErrorRange = ErrorInfo.NoteRange = ElseCS->getSourceRange();
12173 ErrorInfo.Error = ErrorTy::NotAnAssignment;
12174 ErrorInfo.ErrorLoc = ErrorInfo.NoteLoc = Else->getBeginLoc();
12175 ErrorInfo.ErrorRange = ErrorInfo.NoteRange = Else->getSourceRange();
12179 ErrorInfo.Error = ErrorTy::NotAnAssignment;
12180 ErrorInfo.ErrorLoc = ElseBO->getExprLoc();
12181 ErrorInfo.NoteLoc = ElseBO->getOperatorLoc();
12182 ErrorInfo.ErrorRange = ErrorInfo.NoteRange = ElseBO->getSourceRange();
12186 ErrorInfo.Error = ErrorTy::InvalidAssignment;
12187 ErrorInfo.ErrorLoc = ElseBO->getRHS()->getExprLoc();
12188 ErrorInfo.NoteLoc = X->getExprLoc();
12189 ErrorInfo.ErrorRange = ElseBO->getRHS()->getSourceRange();
12190 ErrorInfo.NoteRange = X->getSourceRange();
12197 return checkType(ErrorInfo);
12201 ErrorInfoTy &ErrorInfo) {
12204 return checkForm3(IS, ErrorInfo);
12208 ErrorInfo.Error = ErrorTy::NotCompoundStmt;
12209 ErrorInfo.ErrorLoc = ErrorInfo.NoteLoc = S->getBeginLoc();
12210 ErrorInfo.ErrorRange = ErrorInfo.NoteRange = S->getSourceRange();
12214 ErrorInfo.Error = ErrorTy::NoStmt;
12215 ErrorInfo.ErrorLoc = ErrorInfo.NoteLoc = CS->getBeginLoc();
12216 ErrorInfo.ErrorRange = ErrorInfo.NoteRange = CS->getSourceRange();
12224 ErrorInfo.Error = ErrorTy::NotIfStmt;
12225 ErrorInfo.ErrorLoc = ErrorInfo.NoteLoc = CS->body_front()->getBeginLoc();
12226 ErrorInfo.ErrorRange = ErrorInfo.NoteRange =
12231 return checkForm3(IS, ErrorInfo);
12250 return checkForm45(CS, ErrorInfo);
12271 auto CheckCondUpdateStmt = [this, &ErrorInfo](Stmt *CUS) {
12274 ErrorInfo.Error = ErrorTy::NotIfStmt;
12275 ErrorInfo.ErrorLoc = ErrorInfo.NoteLoc = CUS->getBeginLoc();
12276 ErrorInfo.ErrorRange = ErrorInfo.NoteRange = CUS->getSourceRange();
12280 return checkCondUpdateStmt(IS, ErrorInfo);
12284 auto CheckUpdateStmt = [this, &ErrorInfo](Stmt *US) {
12287 ErrorInfo.Error = ErrorTy::NotAnAssignment;
12288 ErrorInfo.ErrorLoc = ErrorInfo.NoteLoc = US->getBeginLoc();
12289 ErrorInfo.ErrorRange = ErrorInfo.NoteRange = US->getSourceRange();
12293 ErrorInfo.Error = ErrorTy::NotAnAssignment;
12294 ErrorInfo.ErrorLoc = BO->getExprLoc();
12295 ErrorInfo.NoteLoc = BO->getOperatorLoc();
12296 ErrorInfo.ErrorRange = ErrorInfo.NoteRange = BO->getSourceRange();
12300 ErrorInfo.Error = ErrorTy::InvalidAssignment;
12301 ErrorInfo.ErrorLoc = BO->getRHS()->getExprLoc();
12302 ErrorInfo.NoteLoc = this->X->getExprLoc();
12303 ErrorInfo.ErrorRange = BO->getRHS()->getSourceRange();
12304 ErrorInfo.NoteRange = this->X->getSourceRange();
12315 if (CondExprStmt && !checkCondExprStmt(CondExprStmt, ErrorInfo))
12320 ErrorInfo.Error = ErrorTy::MoreThanTwoStmts;
12321 ErrorInfo.ErrorLoc = ErrorInfo.NoteLoc = CS->getBeginLoc();
12322 ErrorInfo.ErrorRange = ErrorInfo.NoteRange = CS->getSourceRange();
12326 return checkType(ErrorInfo);
12841 OpenMPAtomicCompareCaptureChecker::ErrorInfoTy ErrorInfo;
12843 if (!Checker.checkStmt(Body, ErrorInfo)) {
12844 Diag(ErrorInfo.ErrorLoc, diag::err_omp_atomic_compare_capture)
12845 << ErrorInfo.ErrorRange;
12846 Diag(ErrorInfo.NoteLoc, diag::note_omp_atomic_compare)
12847 << ErrorInfo.Error << ErrorInfo.NoteRange;
12861 OpenMPAtomicCompareChecker::ErrorInfoTy ErrorInfo;
12863 if (!Checker.checkStmt(Body, ErrorInfo)) {
12864 Diag(ErrorInfo.ErrorLoc, diag::err_omp_atomic_compare)
12865 << ErrorInfo.ErrorRange;
12866 Diag(ErrorInfo.NoteLoc, diag::note_omp_atomic_compare)
12867 << ErrorInfo.Error << ErrorInfo.NoteRange;
12885 ErrorInfo.Error = Checker.ErrorTy::NotAnAssignment;
12886 ErrorInfo.ErrorLoc = Cond->getExprLoc();
12887 ErrorInfo.NoteLoc = Cond->getOperatorLoc();
12888 ErrorInfo.ErrorRange = ErrorInfo.NoteRange = Cond->getSourceRange();
12890 Diag(ErrorInfo.ErrorLoc, diag::err_omp_atomic_weak_no_equality)
12891 << ErrorInfo.ErrorRange;