No "Statement has no effect" warnings on statements with errors.

This commit is contained in:
acqn
2020-08-03 01:15:57 +08:00
committed by Oliver Schmidt
parent 7e68a24625
commit 11a5f0edf1

View File

@@ -581,6 +581,7 @@ int Statement (int* PendingToken)
ExprDesc Expr; ExprDesc Expr;
int GotBreak; int GotBreak;
CodeMark Start, End; CodeMark Start, End;
unsigned PrevErrorCount = ErrorCount;
/* Assume no pending token */ /* Assume no pending token */
if (PendingToken) { if (PendingToken) {
@@ -681,7 +682,8 @@ int Statement (int* PendingToken)
GetCodePos (&End); GetCodePos (&End);
if (CodeRangeIsEmpty (&Start, &End) && if (CodeRangeIsEmpty (&Start, &End) &&
!IsTypeVoid (Expr.Type) && !IsTypeVoid (Expr.Type) &&
IS_Get (&WarnNoEffect)) { IS_Get (&WarnNoEffect) &&
PrevErrorCount == ErrorCount) {
Warning ("Statement has no effect"); Warning ("Statement has no effect");
} }
CheckSemi (PendingToken); CheckSemi (PendingToken);