Move SourceRange protocol from Expr->Stmt.
Converted many of the statements over. Still a hanful left...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@41663 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/Sema/SemaStmt.cpp b/Sema/SemaStmt.cpp
index bec7f89..1c26202 100644
--- a/Sema/SemaStmt.cpp
+++ b/Sema/SemaStmt.cpp
@@ -61,7 +61,6 @@
Diag(D->getLocation(), diag::ext_mixed_decls_code);
}
}
-
// Warn about unused expressions in statements.
for (unsigned i = 0; i != NumElts; ++i) {
Expr *E = dyn_cast<Expr>(Elts[i]);
@@ -88,7 +87,7 @@
Diag(E->getExprLoc(), diag::warn_unused_expr, E->getSourceRange());
}
- return new CompoundStmt(Elts, NumElts);
+ return new CompoundStmt(Elts, NumElts, L, R);
}
Action::StmtResult
@@ -119,7 +118,7 @@
return SubStmt;
}
- CaseStmt *CS = new CaseStmt(LHSVal, RHSVal, SubStmt);
+ CaseStmt *CS = new CaseStmt(LHSVal, RHSVal, SubStmt, CaseLoc);
SwitchStack.back()->addSwitchCase(CS);
return CS;
}
@@ -182,7 +181,7 @@
return Diag(IfLoc, diag::err_typecheck_statement_requires_scalar,
condType.getAsString(), condExpr->getSourceRange());
- return new IfStmt(condExpr, (Stmt*)ThenVal, (Stmt*)ElseVal);
+ return new IfStmt(IfLoc, condExpr, (Stmt*)ThenVal, (Stmt*)ElseVal);
}
Action::StmtResult
@@ -445,7 +444,7 @@
return Diag(WhileLoc, diag::err_typecheck_statement_requires_scalar,
condType.getAsString(), condExpr->getSourceRange());
- return new WhileStmt(condExpr, (Stmt*)Body);
+ return new WhileStmt(condExpr, (Stmt*)Body, WhileLoc);
}
Action::StmtResult
@@ -461,7 +460,7 @@
return Diag(DoLoc, diag::err_typecheck_statement_requires_scalar,
condType.getAsString(), condExpr->getSourceRange());
- return new DoStmt((Stmt*)Body, condExpr);
+ return new DoStmt((Stmt*)Body, condExpr, DoLoc);
}
Action::StmtResult
@@ -493,7 +492,7 @@
return Diag(ForLoc, diag::err_typecheck_statement_requires_scalar,
SecondType.getAsString(), Second->getSourceRange());
}
- return new ForStmt(First, Second, Third, Body);
+ return new ForStmt(First, Second, Third, Body, ForLoc);
}